commit c9927c2bf4f45bb85e8b502ab3fb79ad6483c244 Author: Linus Torvalds Date: Tue Oct 23 20:50:57 2007 -0700 Linux 2.6.24-rc1 The patch is big. Really big. You just won't believe how vastly hugely mindbogglingly big it is. I mean you may think it's a long way down the road to the chemist, but that's just peanuts to how big the patch from 2.6.23 is. But it's all good. Signed-off-by: Linus Torvalds commit f0c15f48bb4a68d5f74855720ae5efc56dec6a3b Author: Greg Ungerer Date: Wed Oct 24 12:03:52 2007 +1000 add port definition for mcf UART driver Add a port type definition for the Freescale UART driver ports (mcf.c). Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit ee5a2402a1572fcaf6b674d0892cd03fdcbc70a9 Author: Greg Ungerer Date: Wed Oct 24 12:04:13 2007 +1000 m68knommu: remove unused machdep variable definitions Remove old definitions of the timer function pointers. Add definitions of the common hardware timer functions. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit ee8c8ada2912641a906c978b9d635a7335c094b0 Author: Greg Ungerer Date: Wed Oct 24 12:04:08 2007 +1000 m68knommu: define DMA channels for ColdFire 532x Create definition for DMA channels on the ColdFire 532x family. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 99dc736fb3c7462597adaf72cd801b52c6c4ced1 Author: Greg Ungerer Date: Wed Oct 24 12:03:56 2007 +1000 m68knommu: add platform struct for ColdFire UART driver Add platform support structure for use with new ColdFire UART driver. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit f386c3ccf65c24e5b0711f6ec63872775555a6d3 Author: Greg Ungerer Date: Wed Oct 24 12:03:46 2007 +1000 m68knommu: mark mem init functions as __init Mark the m68knommu memory init functions as __init. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 1d2842e05a63cbca10a301632598a5193ad8980b Author: Greg Ungerer Date: Wed Oct 24 12:03:41 2007 +1000 m68knommu: mark setup_arch() as __init Mark the m68knommu setup_arch() function as __init. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 65fde4c6dfd27665b13336d7dfc47daa7fa960cb Author: Greg Ungerer Date: Wed Oct 24 12:03:32 2007 +1000 m68knommu: cleanup 68VZ328 init code Removed header includes not needed. Remove use of old m68knommu timer function pointers. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit f1353707b79cb863a7f081c77067db6280e8ce64 Author: Greg Ungerer Date: Wed Oct 24 12:03:28 2007 +1000 m68knommu: cleanup 68EZ328 init code Clean up 68EZ328 timer support code. Removed header includes not needed. Remove use of old m68knommu timer function pointers. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 7e6a3d402c97c95ca1f8dc84ad5b69f3118cd2b5 Author: Greg Ungerer Date: Wed Oct 24 12:03:25 2007 +1000 m68knommu: cleanup 68360 startup code Clean up 68360 timer support code. Removed header includes not needed. Remove use of old m68knommu timer function pointers. Use common function naming for 68328 timer functions. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 846757162d3f92629b3ab6189366cd8febbb4995 Author: Greg Ungerer Date: Wed Oct 24 12:03:20 2007 +1000 m68knommu: cleanup 68328 timer code Use common function naming for 68328 timer functions to make them consistent with the various other hardware m68knommu timers. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 0e298ebec4ddc84741340fb085887ad8732f727b Author: Greg Ungerer Date: Wed Oct 24 12:03:16 2007 +1000 m68knommu: cleanup 68328 init code Clean up 68328 timer support code. Removed header includes not needed. Remove use of old m68knommu timer function pointers. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 33d56bc4bf3efc0ecb07c95003cb7869f79f3999 Author: Greg Ungerer Date: Wed Oct 24 12:03:10 2007 +1000 m68knommu: remove unused variables in setup.c Remove unused variables from setup.c code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit e0f13920d6a082d85e21a1b4c02907446198fc36 Author: Jeff Garzik Date: Tue Oct 23 18:36:43 2007 -0400 ni5010: kill unused variable Signed-off-by: Jeff Garzik commit 0e6f7329d594174f177e5990d24e141954101a1c Author: Jeff Garzik Date: Tue Oct 23 18:36:42 2007 -0400 eexpress: fix !SMP unused-var warning Signed-off-by: Jeff Garzik commit 3bdf590eac36ac5930deb9552febee3ff18cd2d1 Author: Jeff Garzik Date: Tue Oct 23 18:36:44 2007 -0400 cgroup: kill unused variable Signed-off-by: Jeff Garzik commit 3a9e3a51dd47bd9e2fd6bcf3c893eb5729c6f1ee Author: Tejun Heo Date: Tue Oct 23 15:27:31 2007 +0900 jmicron: update quirk for JMB361/3/5/6 Set bits 0, 4, 5 and 7 of PCI configuration register 0x40 in the quirk. This has the following effects and is recommended by the vendor. * Force enable of IDE channels (used to be left alone as BIOS configured) * Change initial phase behavior of PIO cycle such that the host pulls down the bus instead of tristating it. Vendor recommends this setting. The above settings are better for the current generation of controllers and needed for the upcoming next generation. Tested on JMB363. Signed-off-by: Tejun Heo Cc: Ethan Hsiao Signed-off-by: Jeff Garzik commit 0c173174d0e8267b1100442f4df119ab6d52821c Author: Tejun Heo Date: Tue Oct 23 19:07:49 2007 +0900 libata: add HTS542525K9SA00 to NCQ blacklist Another one doing spurious NCQ completions. Blacklist it. Signed-off-by: Tejun Heo Cc: Luca Tettamanti Signed-off-by: Jeff Garzik commit 150981b0306fc5773b929e31ab5b0590c87cc77c Author: Alan Cox Date: Tue Oct 23 16:50:02 2007 +0100 libata-core: auditting chk_status v check_status Did a complete audit of these and found we have another error case. ata_bus_softreset calls ata_check_status which means that it tries to do an ioread8 on the port blindly and check versus 0xFF for an error. It should of course be using the ap->ops method for this via chk_status, and this bug causes a wrog status call on the NS87415 at least. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 2dcb407e61458ded17503d6bd12b8c064965368b Author: Jeff Garzik Date: Fri Oct 19 06:42:56 2007 -0400 [libata] checkpatch-inspired cleanups Tackle the relatively sane complaints of checkpatch --file. The vast majority is indentation and whitespace changes, the rest are * #include fixes * printk KERN_xxx prefix addition * BSS/initializer cleanups Signed-off-by: Jeff Garzik commit 2c800093c7375e358f28eeb132512eb57b6389e3 Author: Jeff Garzik Date: Tue Oct 23 20:56:59 2007 -0400 Remove Andrew Morton from list of net driver maintainers. He now rules the world, not just this tiny tract of land. Signed-off-by: Jeff Garzik Acked-by: Andrew Morton commit d0e81b7e2246a41d068ecaf15aac9de570816d63 Author: Jay Vosburgh Date: Wed Oct 17 17:37:51 2007 -0700 bonding: Acquire correct locks in alb for promisc change Update ALB mode monitor to hold correct locks (RTNL and nothing else) when calling dev_set_promiscuity. Signed-off-by: Andy Gospodarek Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 6603a6f25e4bca922a7dfbf0bf03072d98850176 Author: Jay Vosburgh Date: Wed Oct 17 17:37:50 2007 -0700 bonding: Convert more locks to _bh, acquire rtnl, for new locking Convert more lock acquisitions to _bh flavor to avoid deadlock with workqueue activity and add acquisition of RTNL in appropriate places. Affects ALB mode, as well as core bonding functions and sysfs. Signed-off-by: Andy Gospodarek Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 059fe7a578fba5bbb0fdc0365bfcf6218fa25eb0 Author: Jay Vosburgh Date: Wed Oct 17 17:37:49 2007 -0700 bonding: Convert locks to _bh, rework alb locking for new locking Convert locking-related activity to new & improved system. Convert some lock acquisitions to _bh and rework parts of ALB mode, both to avoid deadlocks with workqueue activity. Signed-off-by: Andy Gospodarek Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 0b0eef66419e9abe6fd62bc958ab7cd0a18f858e Author: Jay Vosburgh Date: Wed Oct 17 17:37:48 2007 -0700 bonding: Convert miimon to new locking Convert mii (link state) monitor to acquire correct locks for failover events. In particular, failovers generally require RTNL at a low level (when manipulating device MAC addresses, for example) and no other locks. The high level monitor is responsible for acquiring a known set of locks, RTNL, the bond->lock for read and the slave_lock for write, and the low level failover processing can then release appropriate locks as needed. This patch provides the high level portion. As it is undesirable to acquire RTNL for every monitor pass (which may occur as often as every 10 ms), the miimon has been converted to do conditional locking. A first pass inspects all slaves to determine if any action is required, and if so, a second pass (after acquring RTNL) is done to perform any actions (doing a complete rescan, as the situation may have changed when all locks were released). Signed-off-by: Andy Gospodarek Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit cf5f9044934658dd3ffc628a60cd37c70f8168b1 Author: Jay Vosburgh Date: Wed Oct 17 17:37:47 2007 -0700 bonding: Convert balance-rr transmit to new locking Change locking in balance-rr transmit processing to use a free running counter to determine which slave to transmit on. Instead, a free-running counter is maintained, and modulo arithmetic used to select a slave for transmit. This removes lock operations from the TX path, and eliminates a deadlock introduced by the conversion to work queues. Signed-off-by: Andy Gospodarek Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 1b76b31693d4a6088dec104ff6a6ead54081a3c2 Author: Jay Vosburgh Date: Wed Oct 17 17:37:45 2007 -0700 Convert bonding timers to workqueues Convert bonding timers to workqueues. This converts the various monitor functions to run in periodic work queues instead of timers. This patch introduces the framework and convers the calls, but does not resolve various locking issues, and does not stand alone. Signed-off-by: Andy Gospodarek Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 15df5806c6fc94e607632bba70328194905e988f Author: Jeff Garzik Date: Tue Oct 23 20:22:12 2007 -0400 Update MAINTAINERS to reflect my (jgarzik's) current efforts. Remove net driver entries (they fall under the more general 'net driver maintainer') umbrella. Remove entries for older drivers that either no longer exist, are about to be removed, or I no longer care about. Signed-off-by: Jeff Garzik commit de0523863e167ec29cbd247bd004cdcb607e330e Author: Olof Johansson Date: Sat Oct 20 14:10:03 2007 -0500 pasemi_mac: fix typo Add missing &: drivers/net/pasemi_mac.c: In function 'pasemi_mac_clean_rx': drivers/net/pasemi_mac.c:553: warning: passing argument 1 of 'prefetch' makes pointer from integer without a cast Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 79d1050813d4950335f1097a971836ed08be53b0 Author: Maciej W. Rozycki Date: Mon Oct 22 18:13:24 2007 +0100 defxx.c: dfx_bus_init() is __devexit not __devinit The dfx_bus_uninit() call is called from dfx_unregister() which is __devexit and which is ultimately the ->remove call for the device. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit b9192ad93033e98bf50d9ee8489b24c2d9936f8c Author: Ursula Braun Date: Mon Oct 22 16:16:15 2007 +0200 s390 MAINTAINERS adding Frank Blaschka to s390 networking maintainers Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit f1ecfd5d3b69d98b814435758c485e6fd0e112de Author: Ursula Braun Date: Mon Oct 22 16:16:14 2007 +0200 remove header_ops bug in qeth driver Remove qeth bug caused by commit: [NET]: Move hardware header operations out of netdevice. This is the second part of the qeth header_ops patch, since first patch sent 10/19 has been insufficient. Nevertheless first patch is still valid and should be kept. Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit b877fe288a325b9711d83628eb54e1deb63f962e Author: Stephen Hemminger Date: Mon Oct 22 13:39:09 2007 -0700 sky2: crash on remove Fix off-by one in remove logic that just got introduced. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f5e42fbab6c6ca39a33410a0ed0037589908c264 Author: Ralf Baechle Date: Tue Oct 23 00:35:26 2007 +0100 MIPSnet: Delete all the useless debugging printks. Plus minor formatting fixes. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit 6cd043d99dcf5d252fcc682958541f449113f7b3 Author: Matteo Croce Date: Tue Oct 23 19:12:22 2007 +0200 AR7 ethernet: small post-merge cleanups and fixes Signed-off-by: Matteo Croce Signed-off-by: Eugene Konev Signed-off-by: Felix Fietkau Signed-off-by: Jeff Garzik commit 7c2399756ab8ccb2c57da4630b4aa4a1d61b3846 Author: Jeff Garzik Date: Fri Oct 19 03:12:20 2007 -0400 [SPARC, XEN, NET/CXGB3] use irq_handler_t where appropriate Rather than hand-rolling our own prototype, make the code more future-proof by using the standard irq_handler_t typedef. Signed-off-by: Jeff Garzik commit f07ef395ad4cd050e695edfec217ceb2158220a3 Author: Jeff Garzik Date: Tue Oct 23 19:12:11 2007 -0400 drivers/char/riscom8: clean up irq handling Make irq handling more efficient, by passing board pointer via request_irq() to our irq handler's dev_id argument. This eliminates a table lookup upon each interrupt, and eliminates an associated global variable (the table). Signed-off-by: Jeff Garzik commit 080eb42f31a8a6dde1568f906692d9914cdfbfe8 Author: Jeff Garzik Date: Fri Oct 19 19:31:27 2007 -0400 isdn/sc: irq handler clean * pass card number to irq handler * use card number in irq handler to avoid looping through each adapter Signed-off-by: Jeff Garzik commit 246f93f5cc0d4116cadf33ad1c8ae7ac08e9b1c7 Author: Jeff Garzik Date: Fri Oct 19 19:30:28 2007 -0400 isdn/act2000: fix major bug. clean irq handler. * invert sense of request_irq() test. otherwise we will always fail, when IRQ is available. * no need to use 'irq' function arg, its stored in a data struct already Signed-off-by: Jeff Garzik commit d12341f9f2b7cc38c699c2af3a9f17eb39b64b17 Author: Jeff Garzik Date: Fri Oct 19 15:45:35 2007 -0400 char/pcmcia/synclink_cs: trim trailing whitespace Signed-off-by: Jeff Garzik commit 6bd3bd6794d4139aa1b5193a82e3adfcb488c392 Author: Jeff Garzik Date: Fri Oct 19 15:38:40 2007 -0400 drivers/char/ip2: separate polling and irq-driven work entry points Polling currently calls the irq handler, which loops through all the boards, calling the work function for all polling boards with work. irq handling loops through all the boards, finding the specific board that applies to us, and calling the work just for that one board. The two logics are sufficiently different to warrant different functions, rather than being slack and calling the same function in two different ways. This serves to make the interrupt handler a -lot- more efficient. Signed-off-by: Jeff Garzik commit f3518e4ee70916e6bd43c8082e02f0dd1e19d7af Author: Jeff Garzik Date: Fri Oct 19 15:24:59 2007 -0400 drivers/char/ip2: split out irq core logic into separate function No changes besides code movement and glue. Signed-off-by: Jeff Garzik commit 1daec86ad11383845274e032d1b90620258dc87d Author: Jeff Garzik Date: Fri Oct 19 03:14:03 2007 -0400 [NETDRVR] lib82596, netxen: delete pointless tests from irq handler Remove always-false tests in irq handler. Also a few other minor cleanups. Signed-off-by: Jeff Garzik commit 06efcad0d43a5491602f7d7bfc1ce997cdb0d062 Author: Jeff Garzik Date: Fri Oct 19 03:10:11 2007 -0400 Eliminate pointless casts from void* in a few driver irq handlers. Signed-off-by: Jeff Garzik commit 5712cb3d81566893c3b14e24075cf48ec5c35d00 Author: Jeff Garzik Date: Fri Oct 19 02:54:26 2007 -0400 [PARPORT] Remove unused 'irq' argument from parport irq functions None of the drivers with a struct pardevice's ->irq_func() hook ever used the 'irq' argument passed to it, so remove it. Signed-off-by: Jeff Garzik commit f230d1010ad0dcd71d9ca8ea6864afac49c5aa9b Author: Jeff Garzik Date: Fri Oct 19 01:56:02 2007 -0400 [PARPORT] Kill useful 'irq' arg from parport_{generic_irq,ieee1284_interrupt} parport_ieee1284_interrupt() was not using its first arg at all. Delete. parport_generic_irq()'s second arg makes its first arg completely redundant. Delete, and use port->irq in the one place where we actually need it. Also, s/__inline__/inline/ to make the code look nicer. Signed-off-by: Jeff Garzik commit 3f2e40df0e1d7694224c3083b0bebd129039a40a Author: Jeff Garzik Date: Fri Oct 19 01:42:14 2007 -0400 [PARPORT] Consolidate code copies into a single generic irq handler Several arches used the exact same code for their parport irq handling. Make that code generic, in parport_irq_handler(). Also, s/__inline__/inline/ in include/linux/parport.h. Signed-off-by: Jeff Garzik commit 432409eebcdec38ff6fa949f097b5438d588faa5 Author: Neil Brown Date: Tue Oct 23 17:09:13 2007 -0400 NFS: Fix for bug in handling of errors for O_DIRECT writes Commit eda3cef8dd2b83875affe82595db9d0c278879b2 ("NFS: Fix error handling in nfs_direct_write_result()") ensured that if a WRITE returns an error, then data->res.verf->committed is not tested (as it is not initialised). Then commit 60fa3f769f7651a60125a0f44e3ffe3246d7cf39 ("NFS: Fix two bugs in the O_DIRECT write code") inadvertently reverted this while fixing other problems. So move the test so that we never examine ->committed in an error case, and fix a speeling error while we are there. Cc: Chuck Lever Signed-off-by: Neil Brown Acked-by: Chuck Lever Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit 1b82ba6e47c13ee369a4808f72d003499f8c7920 Author: Carlos Corbacho Date: Fri Oct 19 19:34:15 2007 +0100 x86: Add HPET force support for MCP55 (nForce 5) chipsets Add support to force_hpet for all known MCP55 (nForce 5) chipset LPC bridges. These are the untested nForce 5 chips (taken from Mikko's original patch, and checked against pci.ids). Signed-off-by: Carlos Corbacho Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar arch/x86/kernel/quirks.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit d79a5f80dc1153d3f637dfcf3808066414fbb51a Author: Carlos Corbacho Date: Fri Oct 19 18:51:27 2007 +0100 x86: Force enable HPET for CK804 (nForce 4) chipsets This patch adds a quirk from LinuxBIOS to force enable HPET on the nVidia CK804 (nForce 4) chipset. This quirk can very likely support more than just nForce 4 (LinuxBIOS use the same code for nForce 5), and possibly nForce 3, but I don't have those chipsets, so cannot add and test them. Tested on an Abit KN9 (CK804). Signed-off-by: Carlos Corbacho Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Documentation/kernel-parameters.txt | 3 +- arch/x86/kernel/quirks.c | 37 +++++++++++++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 2 deletions(-) commit fa76dab935b856871024530ec818bc0a8f88a016 Author: H. Peter Anvin Date: Tue Oct 23 22:37:25 2007 +0200 x86: clean up setup.h and the boot code Make usable by the boot code. Clean up vestiges of the old command-line protocol from setup.h and head_32.S (it is still supported from the boot loader point of view, since it is converted to the new command-line protocol by the boot code.) Signed-off-by: H. Peter Anvin Signed-off-by: Thomas Gleixner commit 0de80bcc2baed116a569c38cbc38c5dcb945d14d Author: Rafael J. Wysocki Date: Tue Oct 23 22:37:24 2007 +0200 x86: Save registers in saved_context during suspend and hibernation During hibernation and suspend on x86_64 save CPU registers in the saved_context structure rather than in a handful of separate variables. Signed-off-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ef685298b4b3dead1efa1d47cd27ced0f2673254 Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge setup_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 33185c504f8e521b398536b5a8d415779a24593c Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge signal_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 23e5305d93801fca4ff2ff4b94bdf49e24c96a5e Author: Brian Gerst Date: Sat Oct 20 13:41:41 2007 -0400 x86: merge required-features.h Signed-off-by: Brian Gerst commit 77129c5e3ddba94b6ab7223504b39956f653f376 Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge sigcontext_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit be7baf80a699644850ff27c2105c171177ece4ea Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge msr_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 297a99e1a377f68e5c5bfef8eeafbd115f9fc2fa Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge mttr_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d5f1354183573af3f908c71c5323ae800dd1e591 Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge statfs_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 79c74977045a3f1f5eeb45241198fa3d6970c85f Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge stat_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 079091a450ed5a0001c2ee9dadd8ddaceddb91b5 Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge shmbuf_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8fc37f2c474b8ea61186fd77193324845432447b Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge ptrace_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5ca3b0f1958a9f96b7d596e54145722e8d4631b9 Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge msgbuf_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2439a791977a85bea2a11736c8c7ea2e25c49597 Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: merge elf_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit acbbbe9f5ab52da90a8edec02ec973e7f44dae81 Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: merge byteorder_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d88203d1ab225f208c3f70cf21b025f427245c79 Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: whitespace cleanup of mce_64.c Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 01e11182e73eb36af1cc7f3b023d25aa62fd3a8d Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: consolidate the cpu/ related code usage The x86_64 arch/x86/kernel/Makefile uses references into arch/x86/kernel/cpu/... to use code from there. Unifiy it with the nicely structured i386 way and reuse the existing subdirectory make rules. Also move the machine check related source into ...kernel/cpu/mcheck, where the other machine check related code is. No code change. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3bc258ad87e5b0bbbca247b24ce8fac380c7d86b Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: prepare consolidation of cpu/ related code usage Move mce.c to mce_32.c to allow the later move of the x86_64 mce.c from arch/x86/kernel/ to ...kernel/cpu/mcheck No code change. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 34d19e29c9402b6149c128517f73e7773d5838bf Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: prepare consolidation of cpu/ related Makefiles Prepare the makefiles in x86/kernel/cpu and x86/kernel/cpu/mcheck to be used by the x86_64 build as well. No code change. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5e4181b31366ea13b7b81ce3b0041f5710cc8b65 Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: Unify arch/x86/kernel/acpi Makefiles Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9b58aebc73095c045826d891f8e8de6d5bd48c12 Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: merge arch/x86/crypto Makefiles Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit bec2c48c2045ca467d07bba54783318b8672bda7 Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: Add BITS to allow simple Makefile sharing Preperatory patch to simplify the sharing of Makefiles in arch/x86. Linus came up with this during a discussion about the ugliness of ifeq($CONFIG_X86_32),y) and obj-$(CONFIG_X86_32) in the shared Makefiles. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 428c5a2339f6d59e3b2d59e9b878b95e6f7a09d7 Author: Chris Snook Date: Sat Oct 20 07:51:29 2007 -0400 x86: unify div64{,_32,_64}.h Unify x86 div64.h headers. Signed-off-by: Chris Snook Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 01005e74e55f3336fa0d4111f4f0aab0a0e57c70 Author: Chris Snook Date: Sat Oct 20 06:37:01 2007 -0400 x86: unify a.out{,_32,_64}.h Unify x86 a.out_32.h and a.out_64.h [ tglx: Kbuild fixup ] Signed-off-by: Chris Snook Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 62a31a03b3d2a9d20e7a073e2cd9b27bfb7d6a3f Author: Hiroshi Shimamoto Date: Fri Oct 19 18:24:20 2007 -0700 x86: unify crash_32/64.c Most of contents in crash are same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 92f98b19bcce8b56ec6fc067702e211c36f19e88 Author: Hiroshi Shimamoto Date: Fri Oct 19 18:23:02 2007 -0700 x86: add safe_smp_processor_id for x86_64 Preperatory patch to allow crash_32/64.c merging Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9b7711f0839d12edac3abfc2f3e4c5bdc660878b Author: Hiroshi Shimamoto Date: Fri Oct 19 18:21:11 2007 -0700 x86: add lapic_shutdown for x86_64 Preperatory patch to allow crash_32/64.c merging Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 703530238b580d69d4a112d3ab3d58c0eb1e7246 Author: Chris Snook Date: Sat Oct 20 02:56:59 2007 -0400 x86: merge mmu{,_32,_64}.h Merge mmu_32.h and mmu_64.h into mmu.h. Signed-off-by: Chris Snook Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4d022adab4511892226f1eae00a44502bf685ae5 Author: Alejandro Martinez Ruiz Date: Wed Oct 17 14:38:58 2007 +0200 x86: ARRAY_SIZE cleanup Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Thomas Gleixner commit 8c660065383976f09fbdae86c33448c8da643d4e Author: Dave Johnson Date: Tue Oct 23 22:37:22 2007 +0200 x86: fix more TSC clock source calibration errors The previous patch wasn't correctly handling the 'count' variable. If a CPU gave bad results on the 1st or 2nd run but good results on the 3rd, it wouldn't do the correct thing. No idea if any such CPU exists, but the patch below handles that case by discarding the bad runs. If a bad result (too quick, or too slow) occurs on any of the 3 runs it will be discarded. Also updated some comments to explain what's going on. Signed-off-by: Dave Johnson Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit edaf420fdc122e7a42326fe39274c8b8c9b19d41 Author: Dave Johnson Date: Tue Oct 23 22:37:22 2007 +0200 x86: fix TSC clock source calibration error I ran into this problem on a system that was unable to obtain NTP sync because the clock was running very slow (over 10000ppm slow). ntpd had declared all of its peers 'reject' with 'peer_dist' reason. On investigation, the tsc_khz variable was significantly incorrect causing xtime to run slow. After a reboot tsc_khz was correct so I did a reboot test to see how often the problem occurred: Test was done on a 2000 Mhz Xeon system. Of 689 reboots, 8 of them had unacceptable tsc_khz values (>500ppm): range of tsc_khz # of boots % of boots ---------------- ---------- ---------- < 1999750 0 0.000% 1999750 - 1999800 21 3.048% 1999800 - 1999850 166 24.128% 1999850 - 1999900 241 35.029% 1999900 - 1999950 211 30.669% 1999950 - 2000000 42 6.105% 2000000 - 2000000 0 0.000% 2000050 - 2000100 0 0.000% [...] 2000100 - 2015000 1 0.145% << BAD 2015000 - 2030000 6 0.872% << BAD 2030000 - 2045000 1 0.145% << BAD 2045000 < 0 0.000% The worst boot was 2032.577 Mhz, over 1.5% off! It appears that on rare occasions, mach_countup() is taking longer to complete than necessary. I suspect that this is caused by the CPU taking a periodic SMI interrupt right at the end of the 30ms calibration loop. This would cause the loop to delay while the SMI BIOS hander runs. The resulting TSC value is beyond what it actually should be resulting in a higher tsc_khz. The below patch makes native_calculate_cpu_khz() take the best (shortest duration, lowest khz) run of it's 3 calibration loops. If a SMI goes off causing a bad result (long duration, higher khz) it will be discarded. With the patch applied, 300 boots of the same system produce good results: range of tsc_khz # of boots % of boots ---------------- ---------- ---------- < 1999750 0 0.000% 1999750 - 1999800 30 10.000% 1999800 - 1999850 166 55.333% 1999850 - 1999900 89 29.667% 1999900 - 1999950 15 5.000% 1999950 < 0 0.000% Problem was found and tested against 2.6.18. Patch is against 2.6.22. Signed-off-by: Dave Johnson Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 418ccbe37f70f5021c4cd1cdcb0ce7f98d05f2dd Author: Nick Piggin Date: Fri Oct 19 07:13:02 2007 +0200 x86: lock bitops I missed an obvious one! x86 CPUs are defined not to reorder stores past earlier loads, so there is no hardware memory barrier required to implement a release-consistent store (all stores are, by definition). So ditch the generic lock bitops, and implement optimised versions for x86, which removes the mfence from __clear_bit_unlock (which is already a useful primitive for SLUB). Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ea5806559f92a3e7439bc7a4f2c0d04692e68931 Author: Adrian Bunk Date: Mon Oct 22 04:48:08 2007 +0200 x86: add instrumentation menu It seems commit 09cadedbdc01f1a4bea1f427d4fb4642eaa19da9 was incomplete due to a clash with the x86 architecture merge. Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 06063e26bc3ab62aa7aca874c6ce9e7638673838 Author: WANG Cong Date: Sat Oct 6 11:17:13 2007 +0800 [WATCHDOG] Documentation/watchdog/src/watchdog-simple.c: improve this code Make some improvements for Documentation/watchdog/src/watchdog-simple.c. Signed-off-by: WANG Cong Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit c283cf2c09ca1b7f1e7677bde384a8f92b1b7584 Author: Matteo Croce Date: Thu Sep 20 18:06:41 2007 +0200 [WATCHDOG] AR7: watchdog timer Driver for the watchdog timer. Still doesn't reboots the machine on some boards, but we have improved and cleaned it Signed-off-by: Matteo Croce Signed-off-by: Nicolas Thill Signed-off-by: Enrik Berkhan Signed-off-by: Christer Weinigel Signed-off-by: Wim Van Sebroeck commit 01ed08c14de6933e9f29ba3359a46598dae6f5b7 Author: Veljkovic Srdjan Date: Wed Sep 12 15:22:26 2007 +0200 [WATCHDOG] Linux kernel IPC SBC Watchdog Timer driver ICP's Wafer 5823 SBC has, as far as I can tell, the same WDT as many, if not all ICP's SBC's (that do have a WDT). I have tested it with several boards, including Rocky 4783, Rocky 3703 and Rocky 3782. I propose a rename of the Wafer 5823 watchdog timer driver to something like "IPC (SBC) Watchdog Timer", to reflect that it works with other IPC boards (maybe even all of them). Signed-off-by: Veljkovic Srdjan Signed-off-by: Wim Van Sebroeck commit af2709fd0d127cd590e7a77ab50b23cdb9f6f48f Author: Andrew Vasquez Date: Fri Oct 19 15:59:20 2007 -0700 [SCSI] qla2xxx: Update version number to 8.02.00-k5. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 8b7afc2a90d93d87d53732a9281c22facebe8d62 Author: Andrew Vasquez Date: Fri Oct 19 15:59:19 2007 -0700 [SCSI] qla2xxx: Correct display of ISP serial-number. The original serial-number calculations based on WWPN no longer apply to newer ISPs (ISP24xx and ISP25xx). These newer board's serial number reside in the VPD. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6acf8190025e9c4ea513d4084ff089d476112816 Author: Andrew Vasquez Date: Fri Oct 19 15:59:18 2007 -0700 [SCSI] qla2xxx: Correct residual-count handling discrepancies during UNDERRUN handling. For recent ISPs, software during CS_UNDERRUN handling must determine if the two residuals, firmware-calculated and FCP_RSP, are different to recognize if a frame has been dropped. Update the driver to catch this condition, and clear the SS_RESIDUAL_UNDER and lscsi_status bits. This logic is consistent with what earlier firmwares did by explicitly cracking open the FCP_RSP statuses and clearing SS_RESIDUAL_UNDER. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 285d0321d15cf3130b3347a207ceae652ccc95b5 Author: Andrew Vasquez Date: Fri Oct 19 15:59:17 2007 -0700 [SCSI] qla2xxx: Make driver (mostly) legacy I/O port free. Recent ISPs need only the single MMIO BAR to manipulate HW registers. Unfortunately, ISP21xx, ISP22xx, ISP23xx, and ISP63xx type cards still require the I/O mapped region to manipulate the FLASH via the two HW flash-registers (flash_address and flash_data). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 94d6a2b32864421467d48f9a3a1c7b1da1e1dadf Author: Andrew Vasquez Date: Fri Oct 19 15:59:16 2007 -0700 [SCSI] qla2xxx: Fix issue where final flash-segment updates were falling into the slow-path write handler. Original implementation would not use the burst-write mechanisms for requests equal to OPTROM_BURST_DWORDS transfer dwords. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 2c96d8d0c17978bbf5eb82314d488f46d4a51280 Author: Andrew Vasquez Date: Fri Oct 19 15:59:15 2007 -0700 [SCSI] qla2xxx: Handle unaligned sector writes during NVRAM/VPD updates. Since both NVRAM and VPD regions of the flash reside on unaligned sector boundaries, during update, the driver must perform a read-modify-write operation to the composite NVRAM/VPD region. This affects ISP25xx type boards only. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit a3a63d55a4eec418d845a91222ac53443f62717b Author: Andrew Vasquez Date: Fri Oct 19 15:59:14 2007 -0700 [SCSI] qla2xxx: Defer explicit interrupt-polling processing to init-time scenarios. As the intermixing may cause issues where HCCR bits could be cleared inappropriately during MSI/MSI-X interrupt handling. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6557f3a06a5eb73b34d01b23523a513f2c52cadb Author: Andrew Vasquez Date: Fri Oct 19 15:59:13 2007 -0700 [SCSI] qla2xxx: Resync with latest HBA SSID specification -- 2.2u. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 194b2d0e9216dbd3a57fda31440611d515f1dfa2 Author: Dale Farnsworth Date: Sat Oct 20 12:16:27 2007 -0700 mv643xx_eth: Hook up mv643xx_get_sset_count Commit b9f2c044 replaced mv643xx_get_stats_count() with mv643xx_get_sset_count(), but forgot to hook it up. drivers/net/mv643xx_eth.c:2678: warning: mv643xx_get_sset_count defined but not used Signed-off-by: Dale Farnsworth commit aac6a5a34050a97016290f341e8de0a09f3a8f8c Author: Matthew Wilcox Date: Fri Oct 5 15:55:14 2007 -0400 [SCSI] sym53c8xx: Remove sym_xpt_async_sent_bdr This function just printed a message to the user; move the print to its only caller, and turn it into an starget_printk. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 5111eefa17615bdf17ca00ec2cdca16302c7697e Author: Matthew Wilcox Date: Fri Oct 5 15:55:13 2007 -0400 [SCSI] sym53c8xx: Remove pci_dev pointer from sym_shcb This structure is accessed by the device; the fewer Linux things in it, the better. Using the pci_dev pointer from the hostdata requires a lot of changes: - Pass Scsi_Host to a lot of routines which currently take a sym_hcb. - Set the Scsi_Host as the pci drvdata (instead of the sym_hcb) Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 99c9e0a1d6cfe1ba1169a7a81435ee85bc00e4a1 Author: Matthew Wilcox Date: Fri Oct 5 15:55:12 2007 -0400 [SCSI] sym53c8xx: Make interrupt handler capable of returning IRQ_NONE Make sym_interrupt return an irqreturn_t instead of void, and take a Scsi_Host instead of a sym_hcb. Pass the Scsi_Host to the interrupt handler instead of the sym_hcb. Rename the host_data to sym_data. Keep a pci_dev pointer in the sym_data. Rename the Scsi_Host from instance to shost. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 8022fbdacb0e9193a5dfb666479d1fc2ca63ecf1 Author: Matthew Wilcox Date: Fri Oct 5 15:55:11 2007 -0400 [SCSI] sym53c8xx: Get rid of IRQ_FMT and IRQ_PRM These macros aren't needed any more. They used to be used for SPARC. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 3fb364e089e05c35ead55a08d56d3004193681f6 Author: Matthew Wilcox Date: Fri Oct 5 15:55:10 2007 -0400 [SCSI] sym53c8xx: Use scmd_printk where appropriate If we have a scsi_cmnd, it gives the user more information than the sym_name, and maybe the target. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 4d85b471593d03e141f9160a58574b9204363267 Author: Matthew Wilcox Date: Fri Oct 5 15:55:09 2007 -0400 [SCSI] sym53c8xx: Simplify DAC DMA handling By introducing the use_dac(), set_dac() and DMA_DAC_MASK macros, we can eliminate a lot of ifdefs from the code. We now rely on the compiler to optimise away a few things that we'd formerly relied on the preprocessor to do. This makes sym_setup_bus_dma_mask() small enough to inline into its only caller. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit a44131b35ec1a46ed75014d818cb9d5706117b49 Author: Matthew Wilcox Date: Fri Oct 5 15:55:08 2007 -0400 [SCSI] sym53c8xx: Remove tag_ctrl module parameter With sysfs making these options tunable at runtime, there's no justification for keeping this horrendously complex specification string around. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 8637baa3609afff9fe4c65ad4c64d72484c699fc Author: Matthew Wilcox Date: Fri Oct 5 15:55:07 2007 -0400 [SCSI] sym53c8xx: Remove io_ws, mmio_ws and ram_ws elements These struct elements record info that is never needed Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit e58bc06ed071e43bef4e2f94340853761a4bf034 Author: Matthew Wilcox Date: Fri Oct 5 15:55:06 2007 -0400 [SCSI] sym53c8xx: Remove ->device_id Following the same path as ->revision_id, remove ->device_id Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit bd678450bfbd4bb6543a7138d9ee3418c2a11e7c Author: Matthew Wilcox Date: Fri Oct 5 15:55:05 2007 -0400 [SCSI] sym53c8xx: Use pdev->revision Auke missed the sym2 driver in his initial sweep. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit d68cd75992f95d6977956fb227f02e6d532f3d26 Author: Linas Vepstas Date: Fri Oct 5 15:55:04 2007 -0400 [SCSI] sym53c8xx: PCI Error Recovery support This patch adds the PCI error recovery callbacks to the Symbios SCSI device driver. It includes support for First Failure Data Capture. Signed-off-by: Linas Vepstas Assorted changes to initial patches, including returning IRQ_NONE from the interrupt handler if the device is offline and re-using the eh_done completion in the scsi error handler. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 2ba65367720d871f9d955ca3ef96358999182765 Author: Matthew Wilcox Date: Fri Oct 5 15:55:03 2007 -0400 [SCSI] sym53c8xx: Stop overriding scsi_done Instead of telling the reset routine that the command completed from sym_eh_done, do it from sym_xpt_done. The 'to_do' element of the ucmd is redundant -- it serves only to tell whether eh_done is valid or not, and we can tell this by checking to see if it's NULL. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 6c9746b363b8191587191518a65d5de93df80a92 Author: Matthew Wilcox Date: Fri Oct 5 15:55:02 2007 -0400 [SCSI] sym53c8xx: Don't disable interrupts in the interrupt handler Interrupts can't be re-entered, so it's sufficient to call spin_lock, not spin_lock_irqsave(). Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 71c222dc45ddf01b0dabb8a4d3e232e13e1452b5 Author: Matthew Wilcox Date: Fri Oct 5 15:55:01 2007 -0400 [SCSI] sym53c8xx: Remove unnecessary check in queuecommand The midlayer won't scan the host ID, so we don't need to check. This is the only caller of sym_xpt_done2, so remove that too. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 39c05d1e3c85c725e140ded1281bbb2303dfe5d3 Author: Matthew Wilcox Date: Fri Oct 5 15:55:00 2007 -0400 [SCSI] sym53c8xx: Remove data_mapping and data_mapped Before all commands used sg, data_mapping and data_mapped were used to distinguish whether the command had used map_single or map_sg. Now all commands are sg, so we can delete data_mapping, data_mapped and the wrapper functions __unmap_scsi_data, __map_scsi_sg_data, unmap_scsi_data and map_scsi_sg_data. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit f363abff55cad0e9c6e73c4eedae13d9ee794880 Author: Matthew Wilcox Date: Fri Oct 5 15:54:59 2007 -0400 [SCSI] sym53c8xx: Use pci_dev irq number Don't cache a private copy of the interrupt number Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 34996acc5571e64be7f3dba3adced1f7221a8d07 Author: Kai Makisara Date: Fri Oct 5 15:54:58 2007 -0400 [SCSI] sym53c8xx: Work around 53c896 erratum Prevent DMA transfers from crossing the 16MB limit for early 53c896 chips. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 117636092a87a28a013a4acb5de5492645ed620f Author: Ralf Baechle Date: Tue Oct 23 20:42:11 2007 +0200 [PATCH] Fix breakage after SG cleanups Commits 58b053e4ce9d2fc3023645c1b96e537c72aa8d9a ("Update arch/ to use sg helpers") 45711f1af6eff1a6d010703b4862e0d2b9afd056 ("[SG] Update drivers to use sg helpers") fa05f1286be25a8ce915c5dd492aea61126b3f33 ("Update net/ to use sg helpers") converted many files to use the scatter gather helpers without ensuring that the necessary headerfile is included. This happened to work for ia64, powerpc, sparc64 and x86 because they happened to drag in that file via their . On most of the others this probably broke. Instead of increasing the header file spider web I choose to include directly into the affectes files. Signed-off-by: Ralf Baechle Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 22150c4f0f02619c256f35db2f1ec912549b4ca5 Author: Latchesar Ionkov Date: Tue Oct 23 13:48:33 2007 -0500 9p: v9fs_vfs_rename incorrect clunk order In v9fs_vfs_rename function labels don't match the fids that are clunked. The correct clunk order is clunking newdirfid first and then olddirfid next. Signed-off-by: Latchesar Ionkov Signed-off-by: Eric Van Hensbergen commit 0a976297e1f57a6d156d3f8ed7f10c64beb031a4 Author: Adrian Bunk Date: Tue Oct 23 13:48:50 2007 -0500 9p: fix memleak in fs/9p/v9fs.c This patch fixes a memory leak introduced by commit ba17674fe02909fef049fd4b620a2805bdb8c693. Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Eric Van Hensbergen commit b530cc794024be227876a089e66fb17b7b512763 Author: Eric Van Hensbergen Date: Tue Oct 23 13:47:31 2007 -0500 9p: add virtio transport This adds a transport to 9p for communicating between guests and a host using a virtio based transport. Signed-off-by: Eric Van Hensbergen commit 891039a9c2ddf73754ad84cdc9d030f1c6431858 Author: Emil Medve Date: Tue Oct 23 20:38:41 2007 +0200 xtensa: fix sg->page fallout Signed-off-by: Emil Medve Signed-off-by: Jens Axboe commit 4e0177647a3686f3658c26d52a60d0f1231c2127 Author: Emil Medve Date: Tue Oct 23 20:37:24 2007 +0200 mmc: fix sg->page fallout Signed-off-by: Emil Medve Signed-off-by: Jens Axboe commit de26103de56a0c482ad21296eae9b06deefc8e62 Author: Jens Axboe Date: Tue Oct 23 20:35:58 2007 +0200 [SG] Add debug check for page alignment Suggested by Boaz Harrosh Signed-off-by: Jens Axboe commit 20d2d3afa87781fe2674ce17bfb16af08a436e81 Author: Johannes Dickgreber Date: Thu Sep 20 01:07:50 2007 +0200 [SCSI] qla1280: eliminate wasted space in request and response ring i think there is wasted space in allocated pages for request and response rings. The allocations are made with REQUEST_ENTRY_CNT + 1 and RESPONSE_ENTRY_CNT + 1, but they are set with 256 and 16. So we got more pages, which we dont use very much so eliminate them. Signed-off-by: Johannes Dickgreber Acked-by: Jes Sorensen Signed-off-by: James Bottomley commit a98ce5c6feead6bfedefabd46cb3d7f5be148d9a Author: Herbert Xu Date: Tue Oct 23 11:26:25 2007 +0800 Fix synchronize_irq races with IRQ handler As it is some callers of synchronize_irq rely on memory barriers to provide synchronisation against the IRQ handlers. For example, the tg3 driver does tp->irq_sync = 1; smp_mb(); synchronize_irq(); and then in the IRQ handler: if (!tp->irq_sync) netif_rx_schedule(dev, &tp->napi); Unfortunately memory barriers only work well when they come in pairs. Because we don't actually have memory barriers on the IRQ path, the memory barrier before the synchronize_irq() doesn't actually protect us. In particular, synchronize_irq() may return followed by the result of netif_rx_schedule being made visible. This patch (mostly written by Linus) fixes this by using spin locks instead of memory barries on the synchronize_irq() path. Signed-off-by: Herbert Xu Acked-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit 2f2c2679893c963bd90c5e1c0669b97fd87d1c4a Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: cleanup m68knommu timer code Reduce the function pointer mess of the m68knommu timer code by calling directly to the local hardware's timer setup, and expose the local common timer interrupt handler to the lower level hardware timer. Ultimately this will save definitions of all these functions across all the platform code to setup the function pointers (which for any given m68knommu CPU family member can be only one set of hardware timer functions). Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 49aa49bfd40d718095669c1c70c9d167b814e29b Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: new style ColdFire UART driver A new style serial driver for the Freescale ColdFire UART to replace the old style one currently in the tree (drivers/serial/mcfserial.c). Currently this UART is only found in the ColdFire CPU family of parts (thus I prefixed this patch [M68KNOMMU]). This has been around for a long while now, tested on all available platforms. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit c48f484b9b7c8444247706b3ad9050245b8062f9 Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: fix make archclean Remove build reference to arch/m68knommu/boot directory, it doesn't exist. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 293dba4b4acdfed75f92600792b5a00a942edc60 Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: remove use of undefined symbols in setup.c Remove use of undefined symbols CONFIG_TELOS, CONFIG_M68EZ328ADS and CONFIG_ALMA_ANS. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit be6cb66da76fe089a4032a85c3825223a2216beb Author: Philippe De Muyter Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: improve mii_do_cmd code in FEC driver Improve the readability of mii_do_cmd(). Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit dbf18c8f62cd87473d6db8c16afe4207bc370d3e Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: fix syscall restart handling Fix system call restart handling. We can call directly to the restart handler, no need to back track through trap that isn't even implemented on m68knommu. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit ada8d218cc951c424e677845a44f72b4ab55a7a7 Author: Wilson Callan Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: add make support for Savant/Rosie1 board Add make support for the Savant/Rosie1 board. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 775ecf871413e72a07c26af7154ca67728e17798 Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: no separate stack region to report at startup There is no separate stack region addresses to print at startup time, so remove it from the debug listing Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit c1057c6500b6c5508c095f0022402cb63b747d5d Author: Wilson Callan Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: add config support for Savant/Rosie1 board Add configure support for the Savant/Rosie1 board. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit a65c1ec666f2557f3486dbe729411dfc0f6d888f Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: updated defconfig Updated defconfig with new options for m68knommu. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit f186c9ad181ab9ba35e28cc9bbaafe226dbaec8c Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: local module/elf definitions Up to now m68knommu has been using the asm-m68k/module.h instead of defining its own. There are recent changes there that we don't need (fixups specifically). We don't need much support here so it makes sense to have an m68knommu specific one now. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit fa2eae93a591b392d1056f95024516cede916ad4 Author: Matt Waddel Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: define __clear_user macro Define __clear_user macro, consistent with other architectures. fs/signalfd.c won't compile without it. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 151941a800fd9598d38f8b5a73de0471afe66507 Author: Matt Waddel Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: fix syscall tracing Fix the system call code for handling syscall tracing, so strace and gdbserver work properly. This fix originally developed by Philippe De Muyter and Stuart Hughes. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit f909b1ef8ce3e93d1cf66f33313d8ed11102e87f Author: Philippe De Muyter Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: improve code formating FEC driver Indent all the `else' the same way. Remove some unecesary white space. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 7fa57a0cd98bdd163eeb5f15cbe234c3a0cf68a1 Author: Jiri Slaby Date: Mon Oct 22 20:45:13 2007 -0700 Char: cyclades, fix potential NULL dereference ztxdone is jumped to even if tty is NULL and tty_wakeup placed after this label doesn't expect NULLed parameter, so this will cause an oops in some situations (why they scheduled a wakeup there before remove bottom half processing patch?). wakeup only in the case when we have non-null tty struct. Spotted by Adrian Bunk. Signed-off-by: Jiri Slaby Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ddd439ef987c9f0209e6ce824b67518f2afe67b Author: Hugh Dickins Date: Mon Oct 22 20:45:12 2007 -0700 fix mprotect vma_wants_writenotify prot Fix mprotect bug in recent commit 3ed75eb8f1cd89565966599c4f77d2edb086d5b0 (setup vma->vm_page_prot by vm_get_page_prot()): the vma_wants_writenotify case was setting the same prot as when not. Nothing wrong with the use of protection_map[] in mmap_region(), but use vm_get_page_prot() there too in the same ~VM_SHARED way. Signed-off-by: Hugh Dickins Cc: Coly Li Cc: Tony Luck Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ae3f847e49e3787eca91bced31f8fd328d50496 Author: Dan Williams Date: Mon Oct 22 20:45:11 2007 -0700 md: raid5: fix clearing of biofill operations ops_complete_biofill() runs outside of spin_lock(&sh->lock) and clears the 'pending' and 'ack' bits. Since the test_and_ack_op() macro only checks against 'complete' it can get an inconsistent snapshot of pending work. Move the clearing of these bits to handle_stripe5(), under the lock. Signed-off-by: Dan Williams Tested-by: Joel Bertrand Signed-off-by: Neil Brown Cc: Stable Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85bfb4da8cad483a4e550ec89060d05a4daf895b Author: NeilBrown Date: Mon Oct 22 20:45:11 2007 -0700 md: fix an unsigned compare to allow creation of bitmaps with v1.0 metadata As page->index is unsigned, this all becomes an unsigned comparison, which almost always returns an error. Signed-off-by: Neil Brown Cc: Stable Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1f395f1c76b115c9691e1546942651fedb08c37 Author: Dale Farnsworth Date: Sat Oct 20 08:44:17 2007 -0700 mv643xx_eth: Remove obsolete checksum offload comment We fixed checksum offload a while back. Remove the note that it doesn't work. Signed-off-by: Dale Farnsworth commit fbd6a754f72a0a06e67544745b82c1d99b4c237d Author: Lennert Buytenhek Date: Fri Oct 19 16:03:46 2007 +0200 mv643xx_eth: Merge drivers/net/mv643xx_eth.h into mv643xx_eth.c Since drivers/net/mv643xx_eth.c is the only user of drivers/net/mv643xx_eth.h, there's not much use in having the header file as a separate file, so merge the header into the driver. Signed-off-by: Lennert Buytenhek Signed-off-by: Dale Farnsworth commit b45d9147f1582333e180e1023624c003874b7312 Author: Lennert Buytenhek Date: Fri Oct 19 04:11:47 2007 +0200 mv643xx_eth: Remove unused register defines Most of the register defines in drivers/net/mv643xx_eth.h aren't used at all. Nuke them -- we can always re-add them if/when we need them, and meanwhile, they unnecessarily clutter up the header file. Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit 5688fe87a458a73d5066eee3d5c9891459ba70bf Author: Lennert Buytenhek Date: Fri Oct 19 04:11:38 2007 +0200 mv643xx_eth: Clean up mv643xx_eth.h Apply the following cleanups to drivers/net/mv643xx_eth.h: * Change "#define" to "#define". * Fix comment block style. * Wrap lines to fit in 80 columns. * Change "foo<<1" to "foo << 1". * Align addresses in the same column. * Parenthesize macro arguments. * Replace "(1<<24) | (1<<23) | (1<<22)" type constructs with "(7 << 22)". Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit e4d00fa9bfed733051652a32686b9911e8549ac8 Author: Lennert Buytenhek Date: Fri Oct 19 04:11:28 2007 +0200 mv643xx_eth: Remove MV643XX_ETH_ register prefix Now that all register address and bit defines are in private namespace (drivers/net/mv643xx_eth.h), we can safely remove the MV643XX_ETH_ prefix to conserve horizontal space. Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit f9fbbc18dfcdc6156306f475de8b0bb96f97cd0d Author: Lennert Buytenhek Date: Fri Oct 19 04:11:17 2007 +0200 mv643xx_eth: Remove SHARED_REGS register address bias Start counting mv643xx_eth register addresses from zero, instead of from 0x2000 (MV643XX_ETH_SHARED_REGS.) Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit 9c1bbdfe6f70eb9132829caa9341a0294c2aee5d Author: Lennert Buytenhek Date: Fri Oct 19 04:11:03 2007 +0200 mv643xx_eth: Enable use on Orion platforms Allow Orion ARM platforms to use the mv643xx_eth driver. Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit 9f316841440c4c7e59227d0a3fe00a31ead1c436 Author: Lennert Buytenhek Date: Fri Oct 19 04:10:28 2007 +0200 mv643xx_eth: Disable RX/TX byte swapping on little-endian systems On little-endian systems, configure the SDMA unit with MV643XX_ETH_BLM_RX_NO_SWAP and MV643XX_ETH_BLM_TX_NO_SWAP. Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit e2734d6c61e0fd2b0f3aeac01e8dcd36c99b1a13 Author: Lennert Buytenhek Date: Fri Oct 19 04:10:10 2007 +0200 mv643xx_eth: Move ethernet register definitions into private header Move the mv643xx's ethernet-related register definitions from include/linux/mv643xx.h into drivers/net/mv643xx_eth.h, since they aren't of any use outside the ethernet driver. Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit c4a6a2ab5e99980b10d1eef761cd95f2a19ba46d Author: Lennert Buytenhek Date: Fri Oct 19 04:09:53 2007 +0200 mv643xx_eth: Split off mv643xx_eth platform device data The mv643xx ethernet silicon block is also found in a couple of other Marvell chips. As a first step towards splitting off the mv643xx_eth bits from the rest of the mv643xx bits, this patch splits the mv643xx ethernet platform device data struct in linux/mv643xx.h off into linux/mv643xx_eth.h, and includes the latter from the former. Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit 5a37cf19efcceae14c2078449e35b9f4eb3e63e4 Author: Alexey Korolev Date: Mon Oct 22 17:55:20 2007 +0100 [MTD] [NOR] Fix deadlock in Intel chip driver caused by get_chip recursion This patch solves kernel deadlock issue seen on JFFF2 simultaneous operations. Detailed investigation of the issue showed that the kernel deadlock is caused by tons of recursive get_chip calls. Signed-off-by: Alexey Korolev Acked-by: Nicolas Pitre Signed-off-by: David Woodhouse commit cb92ae81509eb5ddaea53884b60437502c837405 Author: FUJITA Tomonori Date: Tue Oct 23 12:58:39 2007 +0200 sparc64: zero out dma_length zero out dma_length in the entry immediately following the last mapped entry for unmap_sg. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 83fcaf70403ce04c693b52e62c794834b9a86089 Author: Jens Axboe Date: Tue Oct 23 12:54:14 2007 +0200 fvr32: fixup dma-mapping for new sg layout Signed-off-by: Jens Axboe commit 71df50a4e4ca9934bbf520c87612d711278f38af Author: Jens Axboe Date: Tue Oct 23 12:52:48 2007 +0200 sh/sh64: fixup dma-mapping for new sg layout Signed-off-by: Jens Axboe commit ebc3bbcfcf0a7fed2ac82f1a849a5f92cf4c217f Author: Christian Borntraeger Date: Tue Oct 23 12:46:32 2007 +0200 Fix sctp compile sctp fails to compile with net/sctp/sm_make_chunk.c: In function 'sctp_pack_cookie': net/sctp/sm_make_chunk.c:1516: error: implicit declaration of function 'sg_init_table' net/sctp/sm_make_chunk.c:1517: error: implicit declaration of function 'sg_set_page' use the proper include file. SCTP maintainers Vlad Yasevich and Sridhar Samudrala are CCed. Signed-off-by: Christian Borntraeger Signed-off-by: Jens Axboe commit 75d35c93cf8b938f28f06ceb8ffa2606d6e57d3b Author: Jens Axboe Date: Tue Oct 23 12:41:57 2007 +0200 m68knommu: remove sg_address() I would have replaced it with sg_virt(), but it doesn't appear to be used at all. Signed-off-by: Jens Axboe commit d09d276ebf62afdaed5f7bab6e7e340ffbde4dd1 Author: Jens Axboe Date: Tue Oct 23 12:39:41 2007 +0200 frv: update comment in scatterlist to reflect new setup Signed-off-by: Jens Axboe commit 26da10784866974d3e87ba998c66458c305777ca Author: Jens Axboe Date: Tue Oct 23 12:42:44 2007 +0200 blackfin: remove sg_address() I would have replaced it with sg_virt(), but it doesn't appear to be used at all. Signed-off-by: Jens Axboe commit dee9ba828fb5e72bef17450168774fb360dce983 Author: Jens Axboe Date: Tue Oct 23 12:37:59 2007 +0200 arm: sg fallout Signed-off-by: Jens Axboe commit 4fcc47a053adc786cc1ab84f3b8909eeb5c37963 Author: Jens Axboe Date: Tue Oct 23 12:32:34 2007 +0200 mips: sg_page() fallout Signed-off-by: Jens Axboe commit 944bda26fbfb3c30533b95ee4aaff72778008f78 Author: Jens Axboe Date: Tue Oct 23 12:31:05 2007 +0200 alpha: sg_virt() fallout Signed-off-by: Jens Axboe commit 2298a1dd819213802b8a7f955f9b382f5e92127a Author: Alejandro Martinez Ruiz Date: Mon Oct 22 21:18:24 2007 +0200 [AVR32] ARRAY_SIZE() cleanup Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Haavard Skinnemoen commit eaf5f925a31973e2fdc50c785665b90ff444eceb Author: Haavard Skinnemoen Date: Mon Oct 22 18:32:14 2007 +0200 [AVR32] Implement at32_add_device_cf() Implement at32_add_device_cf() which will add a platform_device for the at32_cf driver (not merged yet). Separate out most of the at32_add_device_ide() code and use it to implement at32_add_device_cf() as well. This changes the API in the following ways: * The board code must initialize data->cs to the chipselect ID to use before calling any of these functions. * The board code must use GPIO_PIN_NONE to indicate unused CF pins. Signed-off-by: Haavard Skinnemoen commit 2042c1c4e7a5e3b69ff3c3c5db6bf6416abd8b24 Author: Haavard Skinnemoen Date: Mon Oct 22 17:42:35 2007 +0200 [AVR32] Implement more at32_add_device_foo() functions Implement functions for adding platform devices for TWI, MCI, AC97C and ABDAC. They may need to be modified to cope with platform data, etc. when the corresponding drivers are ready to be merged, but such changes are much less likely to conflict than adding support for a whole new type of device. Signed-off-by: Haavard Skinnemoen commit 86298962c06c2584a8c4df5fb92a70179ca7e4f5 Author: Haavard Skinnemoen Date: Mon Oct 22 15:51:04 2007 +0200 [AVR32] Fix a couple of sparse warnings Signed-off-by: Haavard Skinnemoen commit 1c2f173796e4d692b71d1305adb833a104713cd8 Author: Hans-Christian Egtvedt Date: Mon Jul 16 16:13:33 2007 +0200 [AVR32] Wire up AT73C213 sound driver on ATSTK1000 board Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 48021bd93ca339fcafe9b043d05f5d3a58be7c0a Author: Kristoffer Nyborg Gregertsen Date: Thu Aug 16 13:45:00 2007 +0200 [AVR32] Platform code for pata_at32 This patch adds platform code for PATA devices on the AP7000. [hskinnemoen@atmel.com: board code left out for now since stk1000 doesn't support IDE out of the box] Signed-off-by: Kristoffer Nyborg Gregertsen Signed-off-by: Haavard Skinnemoen commit 12d4d40e6fd583d32daeac0bc42123b23b7c40b7 Author: FUJITA Tomonori Date: Tue Oct 23 09:32:25 2007 +0200 intel-iommu: fix sg_page() Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit b61e8f4844fd0767b656bd1f983933cc3d0102f3 Author: FUJITA Tomonori Date: Tue Oct 23 09:30:28 2007 +0200 parisc: fix sg_page() fallout arch/parisc/kernel/pci-dma.c: In function 'pa11_dma_map_sg': arch/parisc/kernel/pci-dma.c:487: error: 'struct scatterlist' has no member named 'page' arch/parisc/kernel/pci-dma.c: In function 'pa11_dma_unmap_sg': arch/parisc/kernel/pci-dma.c:508: error: 'struct scatterlist' has no member named 'page' arch/parisc/kernel/pci-dma.c:508: error: 'struct scatterlist' has no member named 'page' arch/parisc/kernel/pci-dma.c: In function 'pa11_dma_sync_sg_for_cpu': arch/parisc/kernel/pci-dma.c:535: error: 'struct scatterlist' has no member named 'page' arch/parisc/kernel/pci-dma.c:535: error: 'struct scatterlist' has no member named 'page' arch/parisc/kernel/pci-dma.c: In function 'pa11_dma_sync_sg_for_device': arch/parisc/kernel/pci-dma.c:545: error: 'struct scatterlist' has no member named 'page' arch/parisc/kernel/pci-dma.c:545: error: 'struct scatterlist' has no member named 'page' Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit dc81785dd620c770cf929ff25bb4720e91c23f7a Author: FUJITA Tomonori Date: Tue Oct 23 09:29:58 2007 +0200 ide: build fix git-drivers/ide/ide-probe.c: In function 'hwif_init': drivers/ide/ide-probe.c:1327: error: implicit declaration of function 'sg_init_table' Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit b3b724f48c0c0ade1d5120744cc5c9a3e5193d08 Author: Heiko Carstens Date: Tue Oct 23 09:28:34 2007 +0200 net: fix xfrm build - missing scatterlist.h include net/xfrm/xfrm_algo.c: In function 'skb_icv_walk': net/xfrm/xfrm_algo.c:555: error: implicit declaration of function 'sg_set_page' make[2]: *** [net/xfrm/xfrm_algo.o] Error 1 Cc: David Miller Signed-off-by: Heiko Carstens Signed-off-by: Jens Axboe commit 7aeacf982203fb4dea2f3434eefdc268cfd5d6d9 Author: Jens Axboe Date: Tue Oct 23 09:49:25 2007 +0200 [BLOCK] blk_rq_map_sg: force clear termination bit Since blk_rq_map_sg() sets the termination bit at the end of the sg table, we could see it prematurely on the next mapping unless we force drivers to do a full sg_init_table() prior to each mapping. So force clear the termination bit to avoid having to put that clear in the driver for every mapping. Signed-off-by: Jens Axboe commit ad0d4083e65d9f223275adbfb9a7927e2120dc6c Author: Jens Axboe Date: Tue Oct 23 09:27:05 2007 +0200 [BLOCK] Don't clear sg_dma_len/addr() in blk_rq_map_sg() It's not a proper lvalue on all archs. Signed-off-by: Jens Axboe commit 73fc4f0d2ce4a92c36b00649c58e0a068a6cdfa4 Author: Jens Axboe Date: Tue Oct 23 09:17:53 2007 +0200 s390 zfcp: sg fixups Based on initial patch from Heiko Carstens Signed-off-by: Jens Axboe commit 5edadbd0ae35d2daabaf6b44f2c58d67d4021ed2 Author: Olof Johansson Date: Tue Oct 23 09:13:14 2007 +0200 powerpc: Fix fallout from sg_page() changes Fix fallout from 18dabf473e15850c0dbc8ff13ac1e2806d542c15: In file included from include/linux/dma-mapping.h:52, from drivers/base/dma-mapping.c:10: include/asm/dma-mapping.h: In function 'dma_map_sg': include/asm/dma-mapping.h:288: error: 'struct scatterlist' has no member named 'page' include/asm/dma-mapping.h:288: error: 'struct scatterlist' has no member named 'page' include/asm/dma-mapping.h:288: error: 'struct scatterlist' has no member named 'page' include/asm/dma-mapping.h:289: error: 'struct scatterlist' has no member named 'page' include/asm/dma-mapping.h:290: error: 'struct scatterlist' has no member named 'page' include/asm/dma-mapping.h: In function 'dma_sync_sg_for_cpu': include/asm/dma-mapping.h:331: error: 'struct scatterlist' has no member named 'page' drivers/scsi/ps3rom.c: In function 'fetch_to_dev_buffer': drivers/scsi/ps3rom.c:150: error: 'struct scatterlist' has no member named 'page' Signed-off-by: Olof Johansson Signed-off-by: Jens Axboe commit c8ac5a7309c5060e27caf69403072f54e008ee54 Author: Olof Johansson Date: Tue Oct 23 09:12:52 2007 +0200 IB/ehca: Fix sg_page() fallout More fallout from sg_page changes: drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 'ehca_set_pagebuf_user1': drivers/infiniband/hw/ehca/ehca_mrmw.c:1779: error: 'struct scatterlist' has no member named 'page' drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 'ehca_check_kpages_per_ate': drivers/infiniband/hw/ehca/ehca_mrmw.c:1835: error: 'struct scatterlist' has no member named 'page' drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 'ehca_set_pagebuf_user2': drivers/infiniband/hw/ehca/ehca_mrmw.c:1870: error: 'struct scatterlist' has no member named 'page' Signed-off-by: Olof Johansson Signed-off-by: Jens Axboe commit 9f2326be52f4fa83d20a75998cd3c87b300588c4 Author: FUJITA Tomonori Date: Tue Oct 23 09:11:41 2007 +0200 arm: build fix arch/arm/common/dmabounce.c: In function 'dma_map_sg': arch/arm/common/dmabounce.c:445: error: implicit declaration of function 'sg_page' Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 9efbf95f6204da0112371f41e63c7330f94e1042 Author: Jaroslav Kysela Date: Tue Oct 23 08:09:20 2007 +0200 [ALSA] version 1.0.15 Signed-off-by: Jaroslav Kysela commit 41923e441305728ba3640e773e55d16e4769145c Author: Takashi Iwai Date: Mon Oct 22 17:20:10 2007 +0200 [ALSA] hda-codec - Fix possible array overflow dac_nids arrays in each codec support code may have up to 5 items when assigned from the auto-configurator. Some codec codes have less numbers than the possible max. This patch defines the constant and fixes the array definitions. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7507e8da2f21476007501f04d8bce2b7d0cb3971 Author: Borislav Petkov Date: Mon Oct 22 17:11:09 2007 +0200 [ALSA] sound/core/control.c: hard-irq-safe -> hard-irq-unsafe lock warning The lock grabbed in snd_ctl_empty_read_queue() is hardirq-unsafe but we hold an hardirq-safe one already, so make the &ctl->read_lock also hard-irq-safe. Signed-off-by: Borislav Petkov Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 31127f2eb945f092010a457c65260b0e19471cc5 Author: Dawid Wrobel Date: Mon Oct 22 11:57:17 2007 +0200 [ALSA] usb-audio: Another USB mic quirk for Logitech Communicator webcam The patch adds the USB microphone quirk for Logitech Communicator (046d:08f5 Logitech, Inc.) webcam. Signed-off-by: Dawid Wrobel Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 35a1e0cce647737b88dac7ca526fc525d92b3fff Author: Takashi Iwai Date: Fri Oct 19 08:13:40 2007 +0200 [ALSA] hda-codec - Fix build without CONFIG_SND_HDA_GENERIC Fixed the build error from patch_sigmatel.c when built without CONFIG_SND_HDA_GENERIC by defining a dummy function to return error. Also, clean up hda_codec.c by removing unneeded ifdefs (the compiler will optimize out). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c8229c38c61b1acab1f3fc28275690da71907248 Author: Takashi Iwai Date: Fri Oct 19 08:06:21 2007 +0200 [ALSA] hda-codec - Fix Conexant 5045 volumes Fixed the init verbs and added the missing volume controls so that the driver works again with Conexant 5045 codec chip. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9a2a763e08889318d7ace9f59d7963661a46d393 Author: Takashi Iwai Date: Thu Oct 18 17:33:27 2007 +0200 [ALSA] hda-codec - Fix conflict of Master volume in STAC92xx codec The addition of volume knob as Master volume resulted in conflict with the existing one by stac92xx_auto_create_hp_ctls(). This patch fixes the conflict, and still keeps the Master control for codecs without volume knob as much as possible. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8e84c6413a2bec1c3e67bb38d42422f9f3262c10 Author: Trent Piepho Date: Thu Oct 18 10:48:43 2007 +0200 [ALSA] snd-bt87x: Make the load_all option work correctly If the load_all option was turned on all cards would be treated as unknown, even those which are in the database. Of course, if the card is in the database there is no reason to use the load_all option. It's there to force loading when the card isn't in the database. But there are out of date wikis that say to do this and some distros might turn this option on by default. So, we keep the load_all option from turning known cards into unknown cards. Signed-off-by: Trent Piepho Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 44e0b6821d7eacb4f93d2c131d436f96e500aa08 Author: Adrian McMenamin Date: Thu Oct 18 10:46:59 2007 +0200 [ALSA] protect Dreamcast PCM driver (AICA) from G2 bus effects The G2 bus on the SEGA Dreamcast connects both the maple peripheral bus and the AICA sound memory. DMA requests on one can cause the other to timeout on memory operations. This patch prevents maple interrupts from causing hiccoughs in the AICA sound (maple bus code will land in 2.6.24). There are other cleanups for this (AICA) code - but this is in effect a regression fix rather than a cleanup. Signed-off-by: Adrian McMenamin Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e5ab3a7c00e682e0e24677203856769df1b9b0cb Author: Takashi Iwai Date: Wed Oct 17 10:35:58 2007 +0200 [ALSA] bt87x - Fix section mismatch const and __devinit aren't a good pair, resulting in a section mismatch error. Let's remove const as a temporary solution. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 53eb1b85402f108d5151338cff4430f30fd9727f Author: Takashi Iwai Date: Wed Oct 17 10:09:32 2007 +0200 [ALSA] hda-codec - Fix AD1986A Lenovo auto-mute The jack detection bit on AD1986A Lenovo N100 seems inverse from the standard definition. Now fixed the detection properly. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9823adf632c57e9728d651707abd324eb4454eb9 Author: Krzysztof Helt Date: Tue Oct 16 14:54:58 2007 +0200 [ALSA] This simplifies and fixes waiting loops of the mce_down() function after Trent Piepho's patch for AD1848. It also makes busy_wait() function call not atomic. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 43d33b21a03d3abcc8cbdeb4d52bc4568f822c5e Author: Rusty Russell Date: Mon Oct 22 11:29:57 2007 +1000 Use "struct boot_params" in example launcher Now that the "struct boot_params" is userspace accessible, we don't need magic numbers. Signed-off-by: Rusty Russell commit 5bbf89fc260830f3f58b331d946a16b39ad1ca2d Author: Rusty Russell Date: Mon Oct 22 11:29:56 2007 +1000 Loading bzImage directly. Now arch/i386/boot/compressed/head.S understands the hardware_platform field, we can directly execute bzImages. No more horrific unpacking code. Signed-off-by: Rusty Russell commit 814a0e5cdfbd384f4bf7a8443f9c3b885f413d58 Author: Rusty Russell Date: Mon Oct 22 11:29:44 2007 +1000 Revert lguest magic and use hook in head.S Version 2.07 of the boot protocol uses 0x23C for the hardware_subarch field, that for lguest is "1". This allows us to use the standard boot entry point rather than the "GenuineLguest" string hack. The standard entry point also clears the BSS and copies the boot parameters and commandline for us, saving more code. Signed-off-by: Rusty Russell commit 1f5a29022ac66bc90cbe2a2162f56e9cd7b393ef Author: Chris Malley Date: Mon Oct 22 11:27:54 2007 +1000 Update lguest documentation to reflect the new virtual block device name. Signed-off-by: Chris Malley Signed-off-by: Rusty Russell commit 2d37f94a28170ca656438758fca577acb49a7932 Author: Rusty Russell Date: Mon Oct 22 11:24:24 2007 +1000 generalize lgread_u32/lgwrite_u32. Jes complains that page table code still uses lgread_u32 even though it now uses general kernel pte types. The best thing to do is to generalize lgread_u32 and lgwrite_u32. This means we lose the efficiency of getuser(). We could potentially regain it if we used __copy_from_user instead of copy_from_user, but I'm not certain that our range check is equivalent to access_ok() on all platforms. Signed-off-by: Rusty Russell Acked-by: Jes Sorensen commit 56ae43dfe233323683248a5c553bad7160db2fa5 Author: Rusty Russell Date: Mon Oct 22 11:24:23 2007 +1000 Example launcher handle guests not being ready for input We currently discard console and network input when the guest has no input buffers. This patch changes that, so that we simply stop listening to that fd until the guest refills its input buffers. This is particularly important because hvc_console without interrupts does backoff polling and so often lose characters if we discard. Signed-off-by: Rusty Russell commit 17cbca2ba3de990258943d9e5a1788430ca3ad0d Author: Rusty Russell Date: Mon Oct 22 11:24:22 2007 +1000 Update example launcher for virtio Implements virtio-based console, network and block servers. The block server uses a thread so it's async, which is an improvement over the old synchronous implementation (but a little more complex). Signed-off-by: Rusty Russell commit 19f1537b7b8a9a82665db3ad8210a9d954d13acd Author: Rusty Russell Date: Mon Oct 22 11:24:21 2007 +1000 Lguest support for Virtio This makes lguest able to use the virtio devices. We change the device descriptor page from a simple array to a variable length "type, config_len, status, config data..." format, and implement virtio_config_ops to read from that config data. We use the virtio ring implementation for an efficient Guest <-> Host virtqueue mechanism, and the new LHCALL_NOTIFY hypercall to kick the host when it changes. We also use LHCALL_NOTIFY on kernel addresses for very very early console output. We could have another hypercall, but this hack works quite well. Signed-off-by: Rusty Russell commit 15045275c32bf6d15d32c2eca8157be9c0ba6e45 Author: Rusty Russell Date: Mon Oct 22 11:24:10 2007 +1000 Remove old lguest I/O infrrasructure. This patch gets rid of the old lguest host I/O infrastructure and replaces it with a single hypercall "LHCALL_NOTIFY" which takes an address. The main change is the removal of io.c: that mainly did inter-guest I/O, which virtio doesn't yet support. Signed-off-by: Rusty Russell commit 0ca49ca946409f87a8cd0b14d5acb6dea58de6f3 Author: Rusty Russell Date: Mon Oct 22 11:20:02 2007 +1000 Remove old lguest bus and drivers. This gets rid of the lguest bus, drivers and DMA mechanism, to make way for a generic virtio mechanism. Signed-off-by: Rusty Russell commit 0a8a69dd77ddbd4513b21363021ecde7e1025502 Author: Rusty Russell Date: Mon Oct 22 11:03:40 2007 +1000 Virtio helper routines for a descriptor ringbuffer implementation These helper routines supply most of the virtqueue_ops for hypervisors which want to use a ring for virtio. Unlike the previous lguest implementation: 1) The rings are variable sized (2^n-1 elements). 2) They have an unfortunate limit of 65535 bytes per sg element. 3) The page numbers are always 64 bit (PAE anyone?) 4) They no longer place used[] on a separate page, just a separate cacheline. 5) We do a modulo on a variable. We could be tricky if we cared. 6) Interrupts and notifies are suppressed using flags within the rings. Users need only get the ring pages and provide a notify hook (KVM wants the guest to allocate the rings, lguest does it sanely). Signed-off-by: Rusty Russell Cc: Dor Laor commit b01d9f2863349b0e041b90c3c86a998ee0fed2b0 Author: Rusty Russell Date: Mon Oct 22 11:03:39 2007 +1000 Module autoprobing support for virtio drivers. This adds the logic to convert the virtio ids into module aliases, and includes a modalias entry in sysfs and the env var to make probing work. Signed-off-by: Rusty Russell commit 31610434bc3523c0b01a10917a1185096a03c4c8 Author: Rusty Russell Date: Mon Oct 22 11:03:39 2007 +1000 Virtio console driver This is an hvc-based virtio console driver. It's suboptimal becuase hvc expects to have raw access to interrupts and virtio doesn't assume that, so it currently polls. There are two solutions: expose hvc's "kick" interface, or wean off hvc. Signed-off-by: Rusty Russell commit e467cde238184d1b0923db2cd61ae1c5a6dc15aa Author: Rusty Russell Date: Mon Oct 22 11:03:38 2007 +1000 Block driver using virtio. The block driver uses scatter-gather lists with sg[0] being the request information (struct virtio_blk_outhdr) with the type, sector and inbuf id. The next N sg entries are the bio itself, then the last sg is the status byte. Whether the N entries are in or out depends on whether it's a read or a write. We accept the normal (SCSI) ioctls: they get handed through to the other side which can then handle it or reply that it's unsupported. It's not clear that this actually works in general, since I don't know if blk_pc_request() requests have an accurate rq_data_dir(). Although we try to reply -ENOTTY on unsupported commands, ioctl(fd, CDROMEJECT) returns success to userspace. This needs a separate patch. Signed-off-by: Rusty Russell Cc: Jens Axboe commit 296f96fcfc160e29c01819c0c7b20c2dc8320edd Author: Rusty Russell Date: Mon Oct 22 11:03:37 2007 +1000 Net driver using virtio The network driver uses two virtqueues: one for input packets and one for output packets. This has nice locking properties (ie. we don't do any for recv vs send). TODO: 1) Big packets. 2) Multi-client devices (maybe separate driver?). 3) Resolve freeing of old xmit skbs (Christian Borntraeger) Signed-off-by: Rusty Russell Cc: Christian Borntraeger Cc: Herbert Xu Cc: netdev@vger.kernel.org commit ec3d41c4db4c21164332826ea8d812f94f2f6886 Author: Rusty Russell Date: Mon Oct 22 11:03:36 2007 +1000 Virtio interface This attempts to implement a "virtual I/O" layer which should allow common drivers to be efficiently used across most virtual I/O mechanisms. It will no-doubt need further enhancement. The virtio drivers add buffers to virtio queues; as the buffers are consumed the driver "interrupt" callbacks are invoked. There is also a generic implementation of config space which drivers can query to get setup information from the host. Signed-off-by: Rusty Russell Cc: Dor Laor Cc: Arnd Bergmann commit 47436aa4ad054c1c7c8231618e86ebd9305308dc Author: Rusty Russell Date: Mon Oct 22 11:03:36 2007 +1000 Boot with virtual == physical to get closer to native Linux. 1) This allows us to get alot closer to booting bzImages. 2) It means we don't have to know page_offset. 3) The Guest needs to modify the boot pagetables to create the PAGE_OFFSET mapping before jumping to C code. 4) guest_pa() walks the page tables rather than using page_offset. 5) We don't use page_offset to figure out whether to emulate: it was always kinda quesationable, and won't work for instructions done before remapping (bzImage unpacking in particular). 6) We still want the kernel address for tlb flushing: have the initial hypercall give us that, too. Signed-off-by: Rusty Russell commit c18acd73ffc209def08003a1927473096f66c5ad Author: Rusty Russell Date: Mon Oct 22 11:03:35 2007 +1000 Allow guest to specify syscall vector to use. (Based on Ron Minnich's LGUEST_PLAN9_SYSCALL patch). This patch allows Guests to specify what system call vector they want, and we try to reserve it. We only allow one non-Linux system call vector, to try to avoid DoS on the Host. Signed-off-by: Rusty Russell commit ee3db0f2b6053b65f3b70253f5f810d9a3d67b28 Author: Rusty Russell Date: Mon Oct 22 11:03:34 2007 +1000 Rename "cr3" to "gpgdir" to avoid x86-specific naming. Signed-off-by: Rusty Russell commit df29f43e650df29456804dabdb2611de914e7c0f Author: Matias Zabaljauregui Date: Mon Oct 22 11:03:33 2007 +1000 Pagetables to use normal kernel types This is my first step in the migration of page_tables.c to the kernel types and functions/macros (2.6.23-rc3). Seems to be working OK. Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit 47aee45ae3c708ab678e09abfba0efaf6ca0e87a Author: Jes Sorensen Date: Mon Oct 22 11:03:33 2007 +1000 lguest.h declares a struct timespec, make it include linux/time.h Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell commit d612cde060a005c1effb13d0f665448a04ce5f67 Author: Jes Sorensen Date: Mon Oct 22 11:03:32 2007 +1000 Move register setup into i386_core.c Move setup_regs() to lguest_arch_setup_regs() in i386_core.c given that this is very architecture specific. Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell commit 511801dc31c095b2bfe3bf5c6a370dbe9b042a70 Author: Jes Sorensen Date: Mon Oct 22 11:03:31 2007 +1000 Change example launcher to use unsigned long not u32 Apply Clue 2x4 to lguest userland<->kernel handling code and the lguest launcher. Pointers are not to be passed in u32's! Basic rule of thumb: Anything passing u32's back and forth should be passing unsigned longs to be portable to 64 bit archs. For those who forgotten already, I repeat: NO POINTERS IN u32! Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell commit b410e7b1499c49513cab18275db8a8ab549d9e09 Author: Jes Sorensen Date: Mon Oct 22 11:03:31 2007 +1000 Make hypercalls arch-independent. Clean up the hypercall code to make the code in hypercalls.c architecture independent. First process the common hypercalls and then call lguest_arch_do_hcall() if the call hasn't been handled. Rename struct hcall_ring to hcall_args. This patch requires the previous patch which reorganize the layout of struct lguest_regs on i386 so they match the layout of struct hcall_args. Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell commit cc6d4fbcef328acdc9fa7023e69f39f753f72fe1 Author: Rusty Russell Date: Mon Oct 22 11:03:30 2007 +1000 Introduce "hcall" pointer to indicate pending hypercall. Currently we look at the "trapnum" to see if the Guest wants a hypercall. But once the hypercall is done we have to reset trapnum to a bogus value, otherwise if we exit to userspace and return, we'd run the same hypercall twice (that was a nasty bug to find!). This has two main effects: 1) When Jes's patch changes the hypercall args to be a generic "struct hcall_args" we simply change the type of "lg->hcall". It's set by arch code, so if it has to copy args or something it can do so, and point "hcall" into lg->arch somewhere. 2) Async hypercalls only get run when an actual hypercall is pending. This simplfies the code a little and is a more logical semantic. Signed-off-by: Rusty Russell commit 4614a3a3b638dfd7a67d0237944f6a76331af61d Author: Jes Sorensen Date: Mon Oct 22 11:03:29 2007 +1000 Reorder guest saved regs to match hyperall order Move eax next to ebx/ecx/edx in struct lguest_regs on i386, so they will be located together and allow it to map directly to a struct hcall_ring entry (which will be renamed struct hcall_args as in a subsequent patch). This is in preparation for making the code hcall code architecture independent. Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell commit 625efab1cd3d4da4634dfe26df6b4005385397e2 Author: Jes Sorensen Date: Mon Oct 22 11:03:28 2007 +1000 Move i386 part of core.c to x86/core.c. Separate i386 architecture specific from core.c and move it to x86/core.c and add x86/lguest.h header file to match. Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell commit 56adbe9ddc935600c64635d6a55c260a63c67e4a Author: Rusty Russell Date: Mon Oct 22 11:03:28 2007 +1000 Make shadow IDT a complete IDT with 256 entries. This simplifies the code a little, in preparation for allowing alternate system call vectors in guests (Plan 9 uses 0x40). Signed-off-by: Rusty Russell commit 48245cc0708d49d1d0566b9fa617ad6c5f4c6934 Author: Rusty Russell Date: Mon Oct 22 11:03:27 2007 +1000 Remove fixed limit on number of guests, and lguests array. Back when we had all the Guest state in the switcher, we had a fixed array of them. This is no longer necessary. If we switch the network code to using random_ether_addr (46 bits is enough to avoid clashes), we can get rid of the concept of "guest id" altogether. Signed-off-by: Rusty Russell commit 3c6b5bfa3cf3b4057788e08482a468cc3bc00780 Author: Rusty Russell Date: Mon Oct 22 11:03:26 2007 +1000 Introduce guest mem offset, static link example launcher In order to avoid problematic special linking of the Launcher, we give the Host an offset: this means we can use any memory region in the Launcher as Guest memory rather than insisting on mmap() at 0. The result is quite pleasing: a number of casts are replaced with simple additions. Signed-off-by: Rusty Russell commit 6649bb7af6a819b675bfcf22ab704737e905645a Author: Ronald G. Minnich Date: Tue Aug 28 14:35:59 2007 -0700 Accept elf files that are valid but have sections that can not be mmap'ed for some reason. Plan9 kernel binaries don't neatly align their ELF sections to our page boundaries. Signed-off-by: Ronald G. Minnich Signed-off-by: Rusty Russell commit 1f4e1de4f23e158abf976a76e1d0fce6e39b532a Author: Rusty Russell Date: Mon Oct 22 11:03:25 2007 +1000 Rename switcher.S to x86/switcher_32.S lguest uses a "switcher" shim mapped high to bounce between host and guest. As lguest becomes less i386-centric, we separate this code into a subdir. Signed-off-by: Rusty Russell commit 34b8867a034364ca33d0adb3a1c5b9982903c719 Author: Rusty Russell Date: Mon Oct 22 11:01:54 2007 +1000 Move lguest guest support to arch/x86. Lguest has two sides: host support (to launch guests) and guest support (replacement boot path and paravirt_ops). This moves the guest side to arch/x86/lguest where it's closer to related code. Signed-off-by: Rusty Russell Cc: Andi Kleen commit c37ae93d597fc63bae979db76b527dcc7740dc9d Author: Jes Sorensen Date: Mon Oct 22 10:56:26 2007 +1000 Move lguest hcalls to arch-specific header Move architecture specific portion of lg_hcall code to asm-i386/lg_hcall.h and have it included from linux/lguest.h. [Changed to asm-i386/lguest_hcall.h so documentation finds it -RR] Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell Cc: Jes Sorensen commit 05aa026a62d0fe0b4664a01d1537984b12567e7c Author: Tony Breeds Date: Mon Oct 22 10:56:25 2007 +1000 Clocksource is continuous regardless of the state of the host's TSC. Currently lguest will spend a lot of of time waking up the host, as it cannot go tickless (if the [host] TSC has been marked unstable). On my laptop I was getting ~40% of wakeups from lguest. With this patch applied, my laptop is much happier! Signed-off-by: Tony Breeds Signed-off-by: Rusty Russell commit ebac52524df31e7c2fe13ca5bd3438907842f763 Author: Rusty Russell Date: Mon Oct 22 10:56:24 2007 +1000 lguest_devices belongs in lguest_bus.c: it's not i386-specific. Signed-off-by: Rusty Russell commit b45d8cb054d7677d75176ae22a584fd84e4650e9 Author: Rusty Russell Date: Mon Oct 22 10:56:24 2007 +1000 Make lguest_launcher.h types userspace-friendly lguest_launcher.h uses "u32" not "__u32", which sets a bad example. Fix that, and include . This means we need to use -I on the Launcher build line so types.h is found. Signed-off-by: Rusty Russell commit 9653c4aff94e43de5f4ef918d47e00018beb4105 Author: Rusty Russell Date: Mon Oct 22 10:56:23 2007 +1000 lguest.txt update o Describe the new split configurations o Highlight code documentation in drivers/lguest/README o Point out necessity of having a getty on /dev/hvc0 o Remove gratuitous "m" in example o Don't discuss I/O model here, stick to user documentation. Signed-off-by: Rusty Russell commit 141341cdae5f1745e3903a6b9732672230b1dd64 Author: Rusty Russell Date: Mon Oct 22 10:56:22 2007 +1000 Lguest currently depends on 32-bit x86, not just x86. Signed-off-by: Rusty Russell commit 891ff65ff50bb6affdaebb2cda3a4c58a6442b4d Author: Jes Sorensen Date: Mon Oct 22 10:56:22 2007 +1000 Use copy_to_user() not put_user for struct timespec Use copy_to_user() when copying a struct timespec to the guest - put_user() cannot handle two long's in one go on a 64bit arch. Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell Cc: Jes Sorensen Cc: Al Viro commit babed5c00225f109d6ebea368ad2deea2abcce32 Author: Glauber de Oliveira Costa Date: Mon Oct 22 10:56:21 2007 +1000 turn err into errx in lguest call sites These two callsites should really be errx instead of err, since there is no errno associated with them in the moment they are issued. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell Cc: Glauber de Oliveira Costa commit 25e82eba3a351cc3b263cae765a8786c827e42af Author: Rusty Russell Date: Tue Oct 23 15:19:49 2007 +1000 Remove binfmts.h include from lg.h It wasn't needed since a very early prototype of lguest. Signed-off-by: Rusty Russell commit ee8e7cfe9d330d6f1ce0b9b1620d6df5d9cf6b70 Author: Rusty Russell Date: Mon Oct 22 10:56:19 2007 +1000 Make asm-x86/bootparam.h includable from userspace. To actually write a bootloader (or, say, the lguest launcher) currently requires duplication of these structures. Making them includable from userspace is much nicer. We merge the common userspace-required definitions of e820_32/64.h into e820.h for export. Signed-off-by: Rusty Russell commit 9525ca0286afd54a5cd69d9ded741b4df8d0c554 Author: Rusty Russell Date: Mon Oct 22 10:55:43 2007 +1000 Consolidate host virtualization support under Virtualization menu Move lguest under the virtualization menu. Signed-off-by: Rusty Russell Cc: Avi Kivity commit d3d1c4bdf16bd154d9f27f34fca28edca90465eb Author: Rusty Russell Date: Mon Oct 22 10:55:21 2007 +1000 Normalize config options for guest support 1) Group all the "guest OS" support options together, under a PARAVIRT_GUEST menu. 2) Make those options select CONFIG_PARAVIRT, as suggested by Andi. 3) Make kconfig help titles consistent. Signed-off-by: Rusty Russell Cc: Andi Kleen Cc: Zach Amsden Cc: Jeremy Fitzhardinge Cc: Chris Wright commit dba5baf32887f58414ed7183a95309686894eab2 Author: Marcelo Tosatti Date: Mon Sep 10 18:46:01 2007 -0400 [POWERPC] Add Vitaly Bordug as PPC8xx maintainer Vitaly has been doing most of the 8xx maintenance work. Signed-off-by: Marcelo Tosatti Signed-off-by: Paul Mackerras commit 0895e91d60ef9bdef426d1ce14bb94bd5875870d Author: Randy Dunlap Date: Sun Oct 21 21:00:10 2007 -0700 procfs: fix kernel-doc param warnings Fix mnt_flush_task() misplaced kernel-doc. Fix typos in some of the doc text. Warning(linux-2.6.23-git17//fs/proc/base.c:2280): No description found for parameter 'mnt' Warning(linux-2.6.23-git17//fs/proc/base.c:2280): No description found for parameter 'pid' Warning(linux-2.6.23-git17//fs/proc/base.c:2280): No description found for parameter 'tgid' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 481968f44e81aac3b1b4863baf2c497ec46388f6 Author: Randy Dunlap Date: Sun Oct 21 20:59:53 2007 -0700 auditsc: fix kernel-doc param warnings Fix kernel-doc for auditsc parameter changes. Warning(linux-2.6.23-git17//kernel/auditsc.c:1623): No description found for parameter 'dentry' Warning(linux-2.6.23-git17//kernel/auditsc.c:1666): No description found for parameter 'dentry' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit e95d9c6b046f665da551a51b4071902336a6118c Author: David Miller Date: Mon Oct 22 02:09:00 2007 -0700 Expand hwif->host_flags so that it fits new flags. Commit 238e4f142c33bb34440cc64029dde7b9fbc4e65f ("ide: add IDE_HFLAG_NO_LBA48 and IDE_HFLAG_NO_LBA48_DMA host flags") caused a regression because the host_flags in struct hwif_s wasn't expanded to cope with the fact that the host flags no longer fit in 16 bits. Signed-off-by: David S. Miller [ I hate having to add good commit descriptions. - Linus ] Signed-off-by: Linus Torvalds commit 3650b0a304663d98a63c68f9020eb1ded477989e Author: Grant Likely Date: Mon Oct 22 16:38:32 2007 -0600 ppc: fix AT_VECTOR_SIZE on arch/ppc Commit 4f9a58d75bfe82ab2b8ba5b8506dfb190a267834 ("increase AT_VECTOR_SIZE to terminate saved_auxv properly") changes the size of AT_VECTOR_SIZE from hard coded '44' to a calculation based on the value of AT_VECTOR_SIZE_ARCH and AT_VECTOR_SIZE_BASE. The change works for arch/powerpc, but it breaks arch/ppc because the needed AT_VECTOR_SIZE_ARCH is not present in include/asm-ppc/system.h and a default value of 0 is used instead. This results in AT_VECTOR_SIZE being too small and it causes a kernel crash on loading init. Signed-off-by: Grant Likely Signed-off-by: Linus Torvalds commit 5081dba6588a0c228821ede4635441f7758eb757 Author: Eric W. Biederman Date: Mon Oct 22 12:55:36 2007 -0600 Fix appletalk sysctl entry name Gabriel C reported that modprobing appletalk on current git gives a warning in dmesg : "sysctl table check failed: /net/appletalk .3.7 procname does not match binary path procname" Oops. My apologies it appears I made a mistake when creating my table to check up on sysctl values. Signed-off-by: "Eric W. Biederman" Tested-by: Gabriel C Signed-off-by: Linus Torvalds commit 29f139ce27c7e64a3e8575afa8deb46cde09db0a Author: Alejandro Martinez Ruiz Date: Mon Oct 22 17:24:19 2007 -0700 [SPARC64]: ARRAY_SIZE() cleanup Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: David S. Miller commit 8a53514043e380aa573baa805298a7727c993985 Author: Eric Paris Date: Mon Oct 22 16:10:31 2007 -0400 SELinux: always check SIGCHLD in selinux_task_wait When checking if we can wait on a child we were looking at p->exit_signal and trying to make the decision based on if the signal would eventually be allowed. One big flaw is that p->exit_signal is -1 for NPTL threads and so aignal_to_av was not actually checking SIGCHLD which is what would have been sent. Even is exit_signal was set to something strange it wouldn't change the fact that the child was there and needed to be waited on. This patch just assumes wait is based on SIGCHLD. Specific permission checks are made when the child actually attempts to send a signal. This resolves the problem of things like using GDB on confined domains such as in RH BZ 232371. The confined domain did not have permission to send a generic signal (exit_signal == -1) back to the unconfined GDB. With this patch the GDB wait works and since the actual signal sent is allowed everything functions as it should. Signed-off-by: Eric Paris Signed-off-by: James Morris commit dab969c00b8bee17a47057bbb91cd0a348cf6f76 Author: Atsushi Nemoto Date: Tue Oct 23 01:14:06 2007 +0900 [MIPS] time: Make c0_compare_int_usable more bullet proof Use write_c0_compare(read_c0_count()) to clear interrupt. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 17f690be454de447d8ddc586fa418ebfdb200966 Author: Ralf Baechle Date: Mon Oct 22 19:10:57 2007 +0100 [MIPS] Kbuild: Use the new cc-cross-prefix feature. Signed-off-by: Ralf Baechle commit 9490094b141003d692320113a662224a9fa2ef42 Author: Ralf Baechle Date: Mon Oct 22 15:17:39 2007 +0100 [MIPS] Fix include wrapper symbol to something sane. And why are there i8253.h and 8253pit.h ... Signed-off-by: Ralf Baechle commit fa33a54646fa305a7cf5a2872da062f20ac94b6f Author: Ralf Baechle Date: Mon Oct 22 15:13:22 2007 +0100 [MIPS] Malta: Delete dead code. Signed-off-by: Ralf Baechle commit 1097c6ac33defae6cf501b7919c23faf240601f0 Author: Yoichi Yuasa Date: Mon Oct 22 19:43:15 2007 +0900 [MIPS] time: Add GT641xx timer0 clockevent driver And make use of it for Cobalt. A few others such as the Malta could make use of it as well. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit d04533650f64fe3367e180f3e488d92205152cd3 Author: Ralf Baechle Date: Mon Oct 22 10:38:44 2007 +0100 [MIPS] time: SMP-proofing of Sibyte clockevent/clocksource code. The BCM148 has 4 cores but there are also just 4 generic timers available so use the ZBbus cycle counter instead of it. In addition the ZBbus counter also offers a much higher resolution and 64-bit counting so I'm considering a later complete conversion to it once I figure out if all members of the Sibyte SOC family support it - the docs seem to agree but the headers files seem to disagree ... Signed-off-by: Ralf Baechle commit 06d428d719dece96c01532b62df4140f4e69a308 Author: Ralf Baechle Date: Mon Oct 22 10:34:13 2007 +0100 [MIPS] time: SMP/NUMA-proofing of IP27 HUB RT timer code. Signed-off-by: Ralf Baechle commit 508a775a3c9c6c3f952338f6722ea8bc92899962 Author: Atsushi Nemoto Date: Sat Oct 20 00:28:33 2007 +0900 [MIPS] time: Fix calculation in clockevent_set_clock() Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit d6ec084200c37683278c821338f74ddf21ab80f5 Author: Jens Axboe Date: Mon Oct 22 20:01:06 2007 +0200 Add CONFIG_DEBUG_SG sg validation Add a Kconfig entry which will toggle some sanity checks on the sg entry and tables. Signed-off-by: Jens Axboe commit 18dabf473e15850c0dbc8ff13ac1e2806d542c15 Author: Jens Axboe Date: Mon Oct 22 19:57:20 2007 +0200 Change table chaining layout Change the page member of the scatterlist structure to be an unsigned long, and encode more stuff in the lower bits: - Bits 0 and 1 zero: this is a normal sg entry. Next sg entry is located at sg + 1. - Bit 0 set: this is a chain entry, the next real entry is at ->page_link with the two low bits masked off. - Bit 1 set: this is the final entry in the sg entry. sg_next() will return NULL when passed such an entry. It's thus important that sg table users use the proper accessors to get and set the page member. Signed-off-by: Jens Axboe commit 58b053e4ce9d2fc3023645c1b96e537c72aa8d9a Author: Jens Axboe Date: Mon Oct 22 20:02:46 2007 +0200 Update arch/ to use sg helpers Signed-off-by: Jens Axboe commit f9527f121bd42c5d300815fbf12216bc1a63f60f Author: Jens Axboe Date: Mon Oct 22 19:44:53 2007 +0200 Update swiotlb to use sg helpers Signed-off-by: Jens Axboe commit fa05f1286be25a8ce915c5dd492aea61126b3f33 Author: Jens Axboe Date: Mon Oct 22 19:44:26 2007 +0200 Update net/ to use sg helpers Signed-off-by: Jens Axboe commit 60c74f81933635bb4ccb4ee6f31909c51f5cd230 Author: Jens Axboe Date: Mon Oct 22 19:43:30 2007 +0200 Update fs/ to use sg helpers Signed-off-by: Jens Axboe commit 45711f1af6eff1a6d010703b4862e0d2b9afd056 Author: Jens Axboe Date: Mon Oct 22 21:19:53 2007 +0200 [SG] Update drivers to use sg helpers Signed-off-by: Jens Axboe commit 631bcfbbc5be0d778a2513988a56e5bd53bfb495 Author: Geert Uytterhoeven Date: Sun Oct 21 19:55:00 2007 +0200 kbuild: cc-cross-prefix spelling Spelling fixes for cc-cross-prefix documentation Signed-off-by: Geert Uytterhoeven Signed-off-by: Sam Ravnborg commit d8d2e78a061e1ace98544b100b7837c620fbb950 Author: Sam Ravnborg Date: Mon Oct 22 11:30:45 2007 +0200 kbuild: allow depmod in cross builds again depmod from module-init-tools 3.3-pre2 are reported to work fine in cross build. depmod from module-init-tools 3.1-pre5 are known to SEGV Do not workaround older module-init-tools bugs here. The right fix is for users to upgrade module-init-tools. Signed-off-by: Sam Ravnborg Cc: Geert Uytterhoeven commit ab19f8794a66910ef9b33041ccfa05b6b12ab6c9 Author: Sam Ravnborg Date: Mon Oct 22 11:23:07 2007 +0200 kbuild: fix modules_install after a 'make vmlinux' make vmlinux would delete the content of $(MODVERDIR) equals .tmp_versions. This caused a subsequent make modules_install to fail. Fix it so we clean the directory only for the modules build - but we still unconditionally create it so we can do: make dir/file.ko without a preceeding make modules. Reported by David Miller Signed-off-by: Sam Ravnborg Cc: David Miller commit 4b6d51ec62d9c57432430528d6293605794a9f1b Author: Stefan Richter Date: Sun Oct 21 11:20:07 2007 +0200 firewire: fw-ohci: shut up a superfluous compiler warning New warning since commit ab88ca488b8af66c3defa165874e81e695319a19, "firewire: fw-ohci: missing dma_unmap_single": drivers/firewire/fw-ohci.c: In function 'at_context_transmit': drivers/firewire/fw-ohci.c:609: warning: 'payload_bus' may be used uninitialized in this function Access to payload_bus is conditional on packet->payload_length > 0, and that won't change while in at_context_queue_packet. Signed-off-by: Stefan Richter commit c74e92c209cf30ae6003e042e7c017eb6c370b64 Author: Stefan Richter Date: Sun Oct 21 10:43:11 2007 +0200 firewire: fw-ohci: log a note about unsupported features because there seems to be more time needed to implement this. Also, change related error return values to more appropriate ones. Signed-off-by: Stefan Richter commit 78c2f0b8c285c5305b3e67b0595200541e15eb43 Author: Jens Axboe Date: Mon Oct 22 19:40:16 2007 +0200 [SG] Update crypto/ to sg helpers Signed-off-by: Jens Axboe commit 9b61764bcb4360e04386f0415a01da8271631004 Author: Jens Axboe Date: Mon Oct 22 19:39:33 2007 +0200 [SG] Update block layer to use sg helpers Signed-off-by: Jens Axboe commit 49d3bd7e2b990e717aa66e229410b8f5096c4956 Author: Laurent Vivier Date: Mon Oct 22 16:33:07 2007 +0200 KVM: Use new smp_call_function_mask() in kvm_flush_remote_tlbs() In kvm_flush_remote_tlbs(), replace a loop using smp_call_function_single() by a single call to smp_call_function_mask() (which is new for x86_64). Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit e38f981758118d829cd40cfe9c09e3fa81e422aa Author: Christoph Hellwig Date: Sun Oct 21 16:42:19 2007 -0700 exportfs: update documentation Update documentation to the current state of affairs. Remove duplicated method descruptions in exportfs.h and point to Documentation/filesystems/ Exporting instead. Add a little file header comment in expfs.c describing what's going on and mentioning Neils and my copyright [1]. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Cc: Dave Kleikamp Cc: Anton Altaparmakov Cc: David Chinner Cc: Timothy Shimmin Cc: OGAWA Hirofumi Cc: Hugh Dickins Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Cc: Steven Whitehouse Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39655164405940d4818224a085e35420e2f97aed Author: Christoph Hellwig Date: Sun Oct 21 16:42:17 2007 -0700 exportfs: make struct export_operations const Now that nfsd has stopped writing to the find_exported_dentry member we an mark the export_operations const Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Cc: Dave Kleikamp Cc: Anton Altaparmakov Cc: David Chinner Cc: Timothy Shimmin Cc: OGAWA Hirofumi Cc: Hugh Dickins Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Cc: Steven Whitehouse Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfaea787c05822acbb4d8963baee5edd1cc0258f Author: Christoph Hellwig Date: Sun Oct 21 16:42:16 2007 -0700 exportfs: remove old methods Now that all filesystems are converted remove support for the old methods. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Cc: Dave Kleikamp Cc: Anton Altaparmakov Cc: David Chinner Cc: Timothy Shimmin Cc: OGAWA Hirofumi Cc: Hugh Dickins Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Cc: Steven Whitehouse Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 644f9ab3b0aa386820ce709de747d46b4cece16f Author: Christoph Hellwig Date: Sun Oct 21 16:42:15 2007 -0700 ocfs2: new export ops OCFS2 has it's own 64bit-firendly filehandle format so we can't use the generic helpers here. I'll add a struct for the types later. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34c0d154243dd913c5690ae6ceb9557017429b9c Author: Christoph Hellwig Date: Sun Oct 21 16:42:14 2007 -0700 gfs2: new export ops Convert gfs2 to the new ops. Uses a similar structure to the generic helpers, but gfs2 has it's own file handle formats. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be55caf177e14bc54d1498d599a78849b0b230bb Author: Christoph Hellwig Date: Sun Oct 21 16:42:13 2007 -0700 reiserfs: new export ops Another nice little cleanup by using the new methods. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 480b116c98344ca246f50aade6eb7aca98151a2f Author: Christoph Hellwig Date: Sun Oct 21 16:42:13 2007 -0700 shmem: new export ops I'm not sure what people were thinking when adding support to export tmpfs, but here's the conversion anyway: Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 905251a02eeccc59f8e1d743679b8edadc5f738b Author: Christoph Hellwig Date: Sun Oct 21 16:42:12 2007 -0700 isofs: new export ops Nice little cleanup by consolidating things a little and using a structure for the special file handle format. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1305edad01d7327393ccecff8b9e976dd35bc55d Author: Christoph Hellwig Date: Sun Oct 21 16:42:11 2007 -0700 fat: new export ops Very little changes here, fat had a mostly no op decode_fh before and does not store any parent information. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c38344fe9e73c99d546cc15a2bb97c7a09942aad Author: Christoph Hellwig Date: Sun Oct 21 16:42:11 2007 -0700 xfs: new export ops This one is a lot more complicated than the previous ones. XFS already had a very clever scheme for supporting 64bit inode numbers in filehandles, and I've reworked this to be some kind of a prototype for the generic 64bit inode filehandle support. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: David Chinner Cc: Timothy Shimmin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a35132068a91907c29328abc3156d31e50673412 Author: Christoph Hellwig Date: Sun Oct 21 16:42:10 2007 -0700 ntfs: new export ops Trivial switch over to the new generic helpers. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d425de704334dc2bad64ca6ea2ac20ef33c9e754 Author: Christoph Hellwig Date: Sun Oct 21 16:42:09 2007 -0700 jfs: new export ops Trivial switch over to the new generic helpers. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Dave Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05da08048226cefd2ecc5fe925002d3cf849c7dd Author: Christoph Hellwig Date: Sun Oct 21 16:42:09 2007 -0700 efs: new export ops Trivial switch over to the new generic helpers. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b961ac05a1624ac2883ec31a3601de7eb30ebdd Author: Christoph Hellwig Date: Sun Oct 21 16:42:08 2007 -0700 ext4: new export ops Trivial switch over to the new generic helpers. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74af0baad4fd44cc4412cc210d6d9b6fdf7be8da Author: Christoph Hellwig Date: Sun Oct 21 16:42:07 2007 -0700 ext3: new export ops Trivial switch over to the new generic helpers. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e4c68e30352bc0018999c3e631e4363ce428424 Author: Christoph Hellwig Date: Sun Oct 21 16:42:07 2007 -0700 ext2: new export ops Trivial switch over to the new generic helpers. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2596110a3994593f6aa3e2bb76345ad4791b1a14 Author: Christoph Hellwig Date: Sun Oct 21 16:42:05 2007 -0700 exportfs: add new methods Add the guts for the new filesystem API to exportfs. There's now a fh_to_dentry method that returns a dentry for the object looked for given a filehandle fragment, and a fh_to_parent operation that returns the dentry for the encoded parent directory in case the file handle contains it. There are default implementations for these methods that only take a callback for an nfs-enhanced iget variant and implement the rest of the semantics. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Cc: Dave Kleikamp Cc: Anton Altaparmakov Cc: David Chinner Cc: Timothy Shimmin Cc: OGAWA Hirofumi Cc: Hugh Dickins Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Cc: Steven Whitehouse Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e91ea2bb0b6a3ddf6d4faeb54a9c20d4e20bc42 Author: Christoph Hellwig Date: Sun Oct 21 16:42:03 2007 -0700 exportfs: add fid type This patchset is a medium scale rewrite of the export operations interface. The goal is to make the interface less complex, and easier to understand from the filesystem side, aswell as preparing generic support for exporting of 64bit inode numbers. This touches all nfs exporting filesystems, and I've done testing on all of the filesystems I have here locally (xfs, ext2, ext3, reiserfs, jfs) This patch: Add a structured fid type so that we don't have to pass an array of u32 values around everywhere. It's a union of possible layouts. As a start there's only the u32 array and the traditional 32bit inode format, but there will be more in one of my next patchset when I start to document the various filehandle formats we have in lowlevel filesystems better. Also add an enum that gives the various filehandle types human- readable names. Note: Some people might think the struct containing an anonymous union is ugly, but I didn't want to pass around a raw union type. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Cc: Dave Kleikamp Cc: Anton Altaparmakov Cc: David Chinner Cc: Timothy Shimmin Cc: OGAWA Hirofumi Cc: Hugh Dickins Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Cc: Steven Whitehouse Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00bf4098beb15ca174b54f3af1f1e1908d7d18a3 Author: Bernhard Walle Date: Sun Oct 21 16:42:01 2007 -0700 kexec: add BSS to resource tree Add the BSS to the resource tree just as kernel text and kernel data are in the resource tree. The main reason behind this is to avoid crashkernel reservation in that area. While it's not strictly necessary to have the BSS in the resource tree (the actual collision detection is done in the reserve_bootmem() function before), the usage of the BSS resource should be presented to the user in /proc/iomem just as Kernel data and Kernel code. Note: The patch currently is only implemented for x86 and ia64 (because efi_initialize_iomem_resources() has the same signature on i386 and ia64). [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Bernhard Walle Cc: "Eric W. Biederman" Cc: Vivek Goyal Cc: Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c03ab37cbe1db0ec9186d8de04dd3801c0af0fba Author: FUJITA Tomonori Date: Sun Oct 21 16:42:00 2007 -0700 intel-iommu sg chaining support x86_64 defines ARCH_HAS_SG_CHAIN. So if IOMMU implementations don't support sg chaining, we will get data corruption. Signed-off-by: FUJITA Tomonori Acked-by: Anil S Keshavamurthy Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 358dd8ac53a3bdafe62e3319e30627f3fef3a7b0 Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:59 2007 -0700 intel-iommu: fix for IOMMU early crash pci_dev's->sysdata is highly overloaded and currently IOMMU is broken due to IOMMU code depending on this field. This patch introduces new field in pci_dev's dev.archdata struct to hold IOMMU specific per device IOMMU private data. Signed-off-by: Anil S Keshavamurthy Acked-by: Benjamin Herrenschmidt Cc: Greg KH Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f76aec76ec7f68829a66624d11a50ed6cb404185 Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:58 2007 -0700 intel-iommu: optimize sg map/unmap calls This patch adds PageSelectiveInvalidation support replacing existing DomainSelectiveInvalidation for intel_{map/unmap}_sg() calls and also enables to mapping one big contiguous DMA virtual address which is mapped to discontiguous physical address for SG map/unmap calls. "Doamin selective invalidations" wipes out the IOMMU address translation cache based on domain ID where as "Page selective invalidations" wipes out the IOMMU address translation cache for that address mask range which is more cache friendly when compared to Domain selective invalidations. Here is how it is done. 1) changes to iova.c alloc_iova() now takes a bool size_aligned argument, which when when set, returns the io virtual address that is naturally aligned to 2 ^ x, where x is the order of the size requested. Returning this io vitual address which is naturally aligned helps iommu to do the "page selective invalidations" which is IOMMU cache friendly over "domain selective invalidations". 2) Changes to driver/pci/intel-iommu.c Clean up intel_{map/unmap}_{single/sg} () calls so that s/g map/unamp calls is no more dependent on intel_{map/unmap}_single() intel_map_sg() now computes the total DMA virtual address required and allocates the size aligned total DMA virtual address and maps the discontiguous physical address to the allocated contiguous DMA virtual address. In the intel_unmap_sg() case since the DMA virtual address is contiguous and size_aligned, PageSelectiveInvalidation is used replacing earlier DomainSelectiveInvalidations. Signed-off-by: Anil S Keshavamurthy Cc: Greg KH Cc: Ashok Raj Cc: Suresh B Cc: Andi Kleen Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49a0429e53f29109cbf1eadd89497286ba81f1ae Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:57 2007 -0700 Intel IOMMU: Iommu floppy workaround This config option (DMAR_FLPY_WA) sets up 1:1 mapping for the floppy device so that the floppy device which does not use DMA api's will continue to work. Once the floppy driver starts using DMA api's this config option can be turn off or this patch can be yanked out of kernel at that time. [akpm@linux-foundation.org: cleanups, rename things, build fix] [jengelh@computergmbh.de: Kconfig fixes] Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e820482cd2621dba60e403af1c54502daa54b220 Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:55 2007 -0700 Intel IOMMU: Iommu Gfx workaround When we fix all the opensource gfx drivers to use the DMA api's, at that time we can yank this config options out. [jengelh@computergmbh.de: Kconfig fixes] Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3460a6d9cef9ac2aa997da7eff7ff1c8291b361c Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:54 2007 -0700 Intel IOMMU: DMAR fault handling support MSI interrupt handler registrations and fault handling support for Intel-IOMMU hadrware. This patch enables the MSI interrupts for the DMA remapping units and in the interrupt handler read the fault cause and outputs the same on to the console. Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d3b03ce7bff9d39ebaee1bb8de1968c4434b883 Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:53 2007 -0700 Intel IOMMU: Intel iommu cmdline option - forcedac Introduce intel_iommu=forcedac commandline option. This option is helpful to verify the pci device capability of handling physical dma'able address greater than 4G. Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb3fa7cb51a2a35cd95eb92e65d8039c779468a5 Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:52 2007 -0700 Intel IOMMU: Avoid memory allocation failures in dma map api calls Intel IOMMU driver needs memory during DMA map calls to setup its internal page tables and for other data structures. As we all know that these DMA map calls are mostly called in the interrupt context or with the spinlock held by the upper level drivers(network/storage drivers), so in order to avoid any memory allocation failure due to low memory issues, this patch makes memory allocation by temporarily setting PF_MEMALLOC flags for the current task before making memory allocation calls. We evaluated mempools as a backup when kmem_cache_alloc() fails and found that mempools are really not useful here because 1) We don't know for sure how much to reserve in advance 2) And mempools are not useful for GFP_ATOMIC case (as we call memory alloc functions with GFP_ATOMIC) (akpm: point 2 is wrong...) With PF_MEMALLOC flag set in the current->flags, the VM subsystem avoids any watermark checks before allocating memory thus guarantee'ing the memory till the last free page. Further, looking at the code in mm/page_alloc.c in __alloc_pages() function, looks like this flag is useful only in the non-interrupt context. If we are in the interrupt context and memory allocation in IOMMU driver fails for some reason, then the DMA map api's will return failure and it is up to the higher level drivers to retry. Suppose, if upper level driver programs the controller with the buggy DMA virtual address, the IOMMU will block that DMA transaction when that happens thus preventing any corruption to main memory. So far in our test scenario, we were unable to create any memory allocation failure inside dma map api calls. Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba39592764ed20cee09aae5352e603a27bf56b0d Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:49 2007 -0700 Intel IOMMU: Intel IOMMU driver Actual intel IOMMU driver. Hardware spec can be found at: http://www.intel.com/technology/virtualization This driver sets X86_64 'dma_ops', so hook into standard DMA APIs. In this way, PCI driver will get virtual DMA address. This change is transparent to PCI drivers. [akpm@linux-foundation.org: remove unneeded cast] [akpm@linux-foundation.org: build fix] [bunk@stusta.de: fix duplicate CONFIG_DMAR Makefile line] Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8de50eb6b085572ea773f26e066835ea3d3028b Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:48 2007 -0700 Intel IOMMU: IOVA allocation and management routines This code implements a generic IOVA allocation and management. As per Dave's suggestion we are now allocating IO virtual address from Higher DMA limit address rather than lower end address and this eliminated the need to preserve the IO virtual address for multiple devices sharing the same domain virtual address. Also this code uses red black trees to store the allocated and reserved iova nodes. This showed a good performance improvements over previous linear linked list. [akpm@linux-foundation.org: remove inlines] [akpm@linux-foundation.org: coding style fixes] Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9c55b3ba8c3552d22155951e661767b3d424053 Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:47 2007 -0700 Intel IOMMU: clflush_cache_range now takes size param Introduce the size param for clflush_cache_range(). Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 994a65e25df85abc465cfee495557200e8205f9e Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:46 2007 -0700 Intel IOMMU: PCI generic helper function When devices are under a p2p bridge, upstream transactions get replaced by the device id of the bridge as it owns the PCIE transaction. Hence its necessary to setup translations on behalf of the bridge as well. Due to this limitation all devices under a p2p share the same domain in a DMAR. We just cache the type of device, if its a native PCIe device or not for later use. [akpm@linux-foundation.org: BUG_ON -> WARN_ON+recover] Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10e5247f40f3bf7508a0ed2848c9cae37bddf4bc Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:41 2007 -0700 Intel IOMMU: DMAR detection and parsing logic This patch supports the upcomming Intel IOMMU hardware a.k.a. Intel(R) Virtualization Technology for Directed I/O Architecture and the hardware spec for the same can be found here http://www.intel.com/technology/virtualization/index.htm FAQ! (questions from akpm, answers from ak) > So... what's all this code for? > > I assume that the intent here is to speed things up under Xen, etc? Yes in some cases, but not this code. That would be the Xen version of this code that could potentially assign whole devices to guests. I expect this to be only useful in some special cases though because most hardware is not virtualizable and you typically want an own instance for each guest. Ok at some point KVM might implement this too; i likely would use this code for this. > Do we > have any benchmark results to help us to decide whether a merge would be > justified? The main advantage for doing it in the normal kernel is not performance, but more safety. Broken devices won't be able to corrupt memory by doing random DMA. Unfortunately that doesn't work for graphics yet, for that need user space interfaces for the X server are needed. There are some potential performance benefits too: - When you have a device that cannot address the complete address range an IOMMU can remap its memory instead of bounce buffering. Remapping is likely cheaper than copying. - The IOMMU can merge sg lists into a single virtual block. This could potentially speed up SG IO when the device is slow walking SG lists. [I long ago benchmarked 5% on some block benchmark with an old MPT Fusion; but it probably depends a lot on the HBA] And you get better driver debugging because unexpected memory accesses from the devices will cause a trappable event. > > Does it slow anything down? It adds more overhead to each IO so yes. This patch: Add support for early detection and parsing of DMAR's (DMA Remapping) reported to OS via ACPI tables. DMA remapping(DMAR) devices support enables independent address translations for Direct Memory Access(DMA) from Devices. These DMA remapping devices are reported via ACPI tables and includes pci device scope covered by these DMA remapping device. For detailed info on the specification of "Intel(R) Virtualization Technology for Directed I/O Architecture" please see http://www.intel.com/technology/virtualization/index.htm Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89910cccb8fec0c1140d33a743e72a712efd4f05 Author: Jan Kara Date: Sun Oct 21 16:41:40 2007 -0700 ext2: avoid rec_len overflow with 64KB block size With 64KB blocksize, a directory entry can have size 64KB which does not fit into 16 bits we have for entry length. So we store 0xffff instead and convert the value when read from / written to disk. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 321bcf92163038e2b96fd3bf9bc29f755c81d9ef Author: J. Bruce Fields Date: Sun Oct 21 16:41:38 2007 -0700 dcache: don't expose uninitialized memory in /proc//fd/ Well, it's not especially important that target->d_iname get the contents of dentry->d_iname, but it's important that it get initialized with *something*, otherwise we're just exposing some random piece of memory to anyone who reads the link at /proc//fd/ for the deleted file, when it's still held open by someone. I've run a test program that copies a short (<36 character) name ontop of a long (>=36 character) name and see that the first time I run it, without this patch, I get unpredicatable results out of /proc//fd/. Signed-off-by: J. Bruce Fields Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b68680e4731abbd78863063aaa0dca2a6d8cc723 Author: Serge E. Hallyn Date: Sun Oct 21 16:41:38 2007 -0700 capabilities: clean up file capability reading Simplify the vfs_cap_data structure. Also fix get_file_caps which was declaring __le32 v1caps[XATTR_CAPS_SZ] on the stack, but XATTR_CAPS_SZ is already * sizeof(__le32). [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Serge E. Hallyn Cc: Andrew Morgan Cc: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9049e234401e1fad8459d69a952b174d76c399d Author: Yasunori Goto Date: Sun Oct 21 16:41:37 2007 -0700 memory hotplug: make kmem_cache_node for SLUB on memory online avoid panic Fix a panic due to access NULL pointer of kmem_cache_node at discard_slab() after memory online. When memory online is called, kmem_cache_nodes are created for all SLUBs for new node whose memory are available. slab_mem_going_online_callback() is called to make kmem_cache_node() in callback of memory online event. If it (or other callbacks) fails, then slab_mem_offline_callback() is called for rollback. In memory offline, slab_mem_going_offline_callback() is called to shrink all slub cache, then slab_mem_offline_callback() is called later. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: locking fix] [akpm@linux-foundation.org: build fix] Signed-off-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b78d335ac15b10bbcb0397c635d7f0d569b0270 Author: Yasunori Goto Date: Sun Oct 21 16:41:36 2007 -0700 memory hotplug: rearrange memory hotplug notifier Current memory notifier has some defects yet. (Fortunately, nothing uses it.) This patch is to fix and rearrange for them. - Add information of start_pfn, nr_pages, and node id if node status is changes from/to memoryless node for callback functions. Callbacks can't do anything without those information. - Add notification going-online status. It is necessary for creating per node structure before the node's pages are available. - Move GOING_OFFLINE status notification after page isolation. It is good place for return memory like cache for callback, because returned page is not used again. - Make CANCEL events for rollingback when error occurs. - Delete MEM_MAPPING_INVALID notification. It will be not used. - Fix compile error of (un)register_memory_notifier(). Signed-off-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10020ca246c55744dad815ad4f15e1f488ca55a8 Author: Yasunori Goto Date: Sun Oct 21 16:41:36 2007 -0700 memory hotplug: document the memory hotplug notifier Add description about event notification callback routine to the document Signed-off-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a24e785111a32ccb7cebafd24b1b1cb474ea8e5d Author: Rusty Russell Date: Sun Oct 21 16:41:35 2007 -0700 i386: paravirt boot sequence This patch uses the updated boot protocol to do paravirtualized boot. If the boot version is >= 2.07, then it will do two things: 1. Check the bootparams loadflags to see if we should reload the segment registers and clear interrupts. This is appropriate for normal native boot and some paravirtualized environments, but inapproprate for others. 2. Check the hardware architecture, and dispatch to the appropriate kernel entrypoint. If the bootloader doesn't set this, then we simply do the normal boot sequence. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Rusty Russell Acked-by: H. Peter Anvin Cc: "Eric W. Biederman" Cc: Vivek Goyal Cc: James Bottomley Cc: Zachary Amsden Cc: Andi Kleen Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 214541d1f30429922727040db3e2e4932ff24f46 Author: Rusty Russell Date: Sun Oct 21 16:41:34 2007 -0700 add WEAK() for creating weak asm labels Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Rusty Russell Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5371ac566b6794f2125393b6850909de9e16f58 Author: Rusty Russell Date: Sun Oct 21 16:41:33 2007 -0700 update boot spec to 2.07 Updates for version 2.07 of the boot protocol. This includes: load_flags.KEEP_SEGMENTS- flag to request/inhibit segment reloads hardware_subarch - what subarchitecture we're booting under hardware_subarch_data - per-architecture data The intention of these changes is to make booting a paravirtualized kernel work via the normal Linux boot protocol. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Rusty Russell Acked-by: H. Peter Anvin Cc: "Eric W. Biederman" Cc: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82f66fbef58de4ad7519708d0b9e685e20fa4e8a Author: Jens Axboe Date: Mon Oct 22 17:07:37 2007 +0200 [SG] Add helpers for manipulating SG entries We can then transition drivers without changing the generated code. Signed-off-by: Jens Axboe commit f40aa808bad19a079a0e122e326d6970df141afb Author: Matthias Schwarzott Date: Thu Oct 18 14:58:11 2007 -0300 V4L/DVB (6382): saa7134: fix NULL dereference at suspend time for cards without IR receiver Calling saa7134_ir_stop at suspend is no good idea for saa7134 cards without remote control. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 6b1ec9da152c03106aa92fa045f5cf9b7912597c Author: Ian Armstrong Date: Wed Oct 17 15:09:56 2007 -0300 V4L/DVB (6380): ivtvfb: Removal of the 'osd_compat' module option Due to changes in the core ivtv driver as of release 1.0, the osd_compat module option has been rendered obsolete. This patch removes the option and all code associated with it. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0938e3194ae53d0b22f4031cfe4738e62308c7ce Author: Pedro Date: Wed Oct 17 17:58:40 2007 -0300 V4L/DVB (6379): patch which improves GotView Saa7135 remote control improve GoTView PCI7135 remote control working under linux. Acked-by: Hermann Pitton Acked-by: Nickolay V. Shmyrev Signed-off-by: Eugene M. Roginskii Signed-off-by: Mauro Carvalho Chehab commit 11a5a10e0adec22e535dd1e76e5c8a1b265692f0 Author: Mauro Carvalho Chehab Date: Wed Oct 17 15:32:36 2007 -0200 V4L/DVB (6378b): Updates info about the removal of V4L1 at feature-removal-schedule.txt Signed-off-by: Mauro Carvalho Chehab commit 148af72009f0ad4b9af5fb3b0f518ac2d33986e1 Author: Mauro Carvalho Chehab Date: Wed Oct 17 15:11:23 2007 -0200 V4L/DVB (6378a): Removal of VIDIOC_[G|S]_MPEGCOMP from feature-removal-schedule.txt Signed-off-by: Mauro Carvalho Chehab commit 74c78a26645a0ddc1d3b2fc8a523e560785aca27 Author: Patrick Boettcher Date: Thu Oct 11 14:06:37 2007 -0300 V4L/DVB (6378): DiB0700-device: Using 1.10 firmware As for most of the users the 1.10 firmware is an improvement we should use this firmware always now. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 9a607f01b044dd83aa6daf6edad1e98cfc8c33ba Author: Mike Isely Date: Sun Oct 14 18:18:12 2007 -0300 V4L/DVB (6357): pvrusb2: Improve encoder chip health tracking This is a minor change to help with tracking the viability of the encoder chip within the PVR USB2 device. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit a39a8ed7beaafe02ce154dfd227f7d734a9f34dc Author: Marco Schluessler Date: Tue Oct 16 08:25:42 2007 -0300 V4L/DVB (6356): "while (!ca->wakeup)" breaks the CAM initialisation Signed-off-by: Marco Schluessler Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 415a1975923722f729211a9efca550c60c519bf3 Author: Trent Piepho Date: Mon Oct 15 20:39:25 2007 -0300 V4L/DVB (6352): ir-kbd-i2c: Missing break statement Someone added a new case without adding a break to the one before it. Thanks to Margus for spotting this. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit e7222ca9b4e6c6cdabedd8d33da59263ace85a02 Author: Florin Malita Date: Mon Oct 15 12:59:18 2007 -0300 V4L/DVB (6350): V4L: possible leak in em28xx_init_isoc Coverity (CID 1929) spotted the following: if a transfer buffer allocation fails, the last allocated urb is leaked (it hasn't been stored in dev->urb[] yet so em28xx_uninit_isoc misses it). The patch also includes a small typo fix. Signed-off-by: Florin Malita Signed-off-by: Mauro Carvalho Chehab commit 2f7362ef9bc9c41436c7f44212a2dcf12dddffbf Author: Hans Verkuil Date: Sun Oct 14 17:27:56 2007 -0300 V4L/DVB (6348): ivtv: undo video mute when closing the radio Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 254d6eb1159f7398273fe35e7499f905a903f38d Author: Hans Verkuil Date: Sun Oct 14 17:19:37 2007 -0300 V4L/DVB (6347): ivtv: fix video mute when radio is used When the radio is active the video should be muted when a capture starts. However, this was done at the wrong time and the mute settings were overwritten when cx2341x_update was called. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 195b1252517d504391d29f71b789d4c1c9f605e0 Author: Ian Armstrong Date: Sun Oct 14 13:12:28 2007 -0300 V4L/DVB (6346): ivtvfb: YUV output size fix when ivtvfb is not loaded If the ivtvfb module isn't loaded, the valid YUV output area should be set to full-screen. This patch fixes the case where the valid output area was not reset when the output broadcast format was changed from NTSC to PAL. This resulted in output being limited to the top 480 lines of the display. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0bfeb04a9f3ad9ad8c9bbba062231ff1a76e4465 Author: Ian Armstrong Date: Sun Oct 14 13:08:02 2007 -0300 V4L/DVB (6345): ivtvfb: YUV handling of an image which is not visible in the display area When the ivtvfb module is loaded, the YUV output is relative to the framebuffer output. When a virtual screen size is used, the output area for the YUV may actually be off screen. To prevent the hardware from crashing, the current driver will ignore an off-screen position and leave the output visible at the last on-screen position. This may not be desirable, so this patch will switch off the YUV output should the image move off-screen, and re-enable it should the image move on-screen again. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d343d7f9792ac1790757cb35a419b8b0b5210917 Author: Hans Verkuil Date: Sun Oct 14 11:17:14 2007 -0300 V4L/DVB (6343): ivtvfb: check return value of unregister_framebuffer Prevent unloading the framebuffer if it is still in use. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 18e16f9c954c6a931ee97584014c826255e0bdaa Author: Hans Verkuil Date: Sat Oct 13 05:54:48 2007 -0300 V4L/DVB (6342): ivtv: fix circular locking (bug 9037) If you try to access the video device from within an udev rule, then you get into a circular locking situation. Changed the driver to postpone the registration of the devices until everything else has been fully initialized, so that the newly created device can be used immediately. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 34ca7d3791c6a467ff6810a149bdf78be086c23a Author: Hans Verkuil Date: Fri Oct 12 12:39:36 2007 -0300 V4L/DVB (6341): ivtv: fix resizing MPEG1 streams Resizing an MPEG 1 stream would cut off the right half of the image due to a missing divide by 2 in VIDIOC_S_FMT. Also did some minor cleanup in this part of the code. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6659e3ed559db2e730947268f9d57869b7a9016c Author: Ian Armstrong Date: Fri Oct 12 08:15:41 2007 -0300 V4L/DVB (6340): ivtvfb: screen mode change sometimes goes wrong This patch partially reverts a previous change that caused the CX2341X_OSD_SET_PIXEL_FORMAT firmware calls to be skipped when the pixel format of the framebuffer wasn't altered by FBIOPUT_VSCREENINFO. Unfortunately, another firmware call on the PVR350 sometimes scrambles the display when trying to adjust the framebuffer settings. This patch re-enables the CX2341X_OSD_SET_PIXEL_FORMAT calls to try and prevent this from occurring. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4339ab93657cce9ca0e4678053ddcb68149d48fd Author: Hans Verkuil Date: Fri Oct 12 06:20:09 2007 -0300 V4L/DVB (6339): ivtv: set the video color to black instead of green when capturing from the radio Thanks-to: Martin Dauskardt Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit af3420b4495914a1a889ae7de0220c793461ba1f Author: Hans Verkuil Date: Fri Oct 12 06:18:30 2007 -0300 V4L/DVB (6338): ivtv: fix incorrect EBUSY return Trying to open the radio when a capture is in progress will make it impossible to open the radio again since the radio stream wasn't released. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a04036a3129e09a9b9097de2b1f77dd82a6e9ac3 Author: Trent Piepho Date: Fri Oct 5 11:28:09 2007 -0300 V4L/DVB (6336): cx8802: Plug memory leak when unregistering a driver When a cx8802 sub-driver was unregistered, the struct cx8802_driver, which was kmalloc()ed by cx8802_register_driver(), was deleted from the list of drivers, but never freed. Signed-off-by: Trent Piepho Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 89a47942f0facc4664d982005ac03d8dcb9635c1 Author: Trent Piepho Date: Sun Oct 14 02:52:17 2007 -0300 V4L/DVB (6335): cx8802: Replace list_for_each+list_entry with list_for_each_entry Less code and more efficient. Got ride of a variable that counted the number of devices in cx8802_unregister_driver() but was never used. Looked leftover from a cut&paste. Signed-off-by: Trent Piepho Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 081c2fc8b9cdd13a2436e8510889293874a33340 Author: Trent Piepho Date: Sun Oct 14 02:52:17 2007 -0300 V4L/DVB (6334): cx88: Change (struct cx8802_dev)->drvlist to a list_head and fix bugs It was a struct cx8802_driver for no apparent reason. Nothing uses a cx8802_driver in the cx8802_dev struct. The only field that was used was devlist, a list_head. The code in cx8802_remove() that removed any loaded sub-drivers was broken. It would delete the current list entry, but didn't use list_for_each_safe. It also called list_del() on the list _head_ inside the list_for_each loop? It would crash if it was run, which I don't think can ever happen. Since the cx8802 sub-drivers use the cx8802 driver, they have to be unloaded first. So there isn't any way for a sub-driver to still be loaded when cx8802_remove() is called... Except maybe with PCI hot-plug, if one removes the PCI card while the drivers are loaded? So I left some code in to handle that if it's actually possible. It will remove the sub-drivers from the device cx8802_remove() was called on, and only that device. If one has two DVB cards and unplugs one, there is no reason to unload the DVB drivers for both cards. I have no way to test this, but it can't be worse than what was there before. cx8802_get_driver() is passed a cx8802_dev pointer and looks for the requested driver on that device. It first loops over the cx8802 device list looking for the device it was passed, which is pointless. It doesn't need to find the device pointer in the list, as it already has the pointer. The list_head in the cx8802_driver struct, which joins all the _drivers_ attached to a device, was named devlist. Changed that to drvlist, since the devlist is used for a list of _devices_ in other cx8802 structs. Signed-off-by: Trent Piepho Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f0ad90975bc9ff6cd7361b452b31dab7a90084fc Author: Trent Piepho Date: Sun Oct 14 02:52:16 2007 -0300 V4L/DVB (6333): cx88: Change void* card_priv to struct vp3054_i2c_state card_priv was only used to store a pointer to the vp3054 state struct. There's no need to use a void * since it doesn't have multiple types. Make the field conditional on VP3045 support. It was already conditional on DVB support, but it's only used if VP3045 support is on, so that makes for a better option to check. Signed-off-by: Trent Piepho Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7717cbedd90381f4e60b1e230dfdfd7565c7efda Author: Trent Piepho Date: Sun Oct 14 02:52:16 2007 -0300 V4L/DVB (6332): cx88: Only include the blackbird fields if blackbird is selected Add some ifdefs around fields only used for blackbird support, similar to the way the dvb fields are only included with dvb support. Signed-off-by: Trent Piepho Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ea63d0b11ebb296b3daca4fcb74931604ee3ce78 Author: Maxim Levitsky Date: Sat Oct 13 05:35:33 2007 -0300 V4L/DVB (6330): V4L: saa7134: Fix interaction between tvaudio thread and the freezer make tvaudio thread freezeable, and add proper support for that Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit c458473ebf31755373ca2f8063c9ec9744205924 Author: Maxim Levitsky Date: Fri Oct 12 00:57:15 2007 -0300 V4L/DVB (6329): Additional Fixes for saa7134 suspend/resume Fixes few more problems I found in my saa7134 resume code: * Race between IRQ handler and .suspend()/.resume() functions * Removes timeout timers on active buffers - those buffers will be recaptured after resume * Adds suspend/resume for IR code - probably necessary if using polling mode * Adds #ifdef CONFIG_PM overs suspend code * Runs a quirk in set_tvnorm in suspend/resume too * Rearranges the order of calls in saa7134_resume to be exactly as in saa7134_initdev thus the card is initialized in exactly the same way * Since DMA audio capture suspend/resume isn't yet supported, avoid re-enabling it on resume for now Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit 7e7f05ca156d34b80e53105e4ef9bc1497a68439 Author: Adrian Bunk Date: Sun Oct 14 14:51:37 2007 -0300 V4L/DVB (6328): ivtv: fix NULL dereference We shouldn't dereference "itv" when we know it's NULL... Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1419683d85367df90079fb5535865ac0841ebbea Author: Michael Krufky Date: Sun Oct 14 18:11:53 2007 -0300 V4L/DVB (6326): tuner-core.c: fe_has_signal() can return uninitialized value Initialize strength to zero. Thanks to Adrian Bunk, who spotted this with the Coverity checker. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fcf94c89af8acccb14ce37b1c9e8dd6bd32a999d Author: Florin Malita Date: Sat Oct 13 11:49:52 2007 -0300 V4L/DVB (6325): Double-free in cx23885_initdev Both cx23885_initdev and cx23885_dev_setup free the device in their error path so a failure in the latter causes a double-free. Since cx23885_dev_setup is only called from cx23885_initdev, it should be safe to remove its deallocation and leave the cleanup up to the allocating function. Coverity CID 1922. Signed-off-by: Florin Malita CC: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit a13625c518ca6fd3ff7cb3b66d8023f843a745a3 Author: Pekka Enberg Date: Sat Oct 13 05:54:54 2007 -0300 V4L/DVB (6324): fix videobuf_cgmbuf export As videobuf_cgmbuf is defined only if CONFIG_VIDEO_V4L1_COMPAT is enabled, move the EXPORT_SYMBOL_GPL declaration inside the #ifdef block. Fixes compilation for x86_64 defconfig. Signed-off-by: Pekka Enberg Signed-off-by: Mauro Carvalho Chehab commit 475d5263114d55eb9024e6ab4b6ea74e28386970 Author: Jiri Slaby Date: Mon Oct 15 13:07:30 2007 -0300 V4L/DVB (6323): V4L: cinergyT2, remove bad usage of ERESTARTSYS cinergyT2, remove bad usage of ERESTARTSYS test of cinergyt2->disconnect_pending doesn't ensure pending signal and so ERESTARTSYS would reach userspace, which is not permitted. Change it to EAGAIN. Signed-off-by: Jiri Slaby Signed-off-by: Mauro Carvalho Chehab commit 3bcc95760c9ee7adb8509173b78914339baa7f4f Author: Hans Verkuil Date: Thu Oct 11 06:38:18 2007 -0300 V4L/DVB (6321): Remove obsolete VIDIOC_S/G_MPEGCOMP ioctls Remove the obsolete VIDIOC_G_MPEGCOMP and VIDIOC_S_MPEGCOMP ioctls from the V4L2 API as per the removal schedule (October 2007). Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 22c4a4e98ece0eaff13b3d0ac73c5283013eb6b1 Author: Mauro Carvalho Chehab Date: Mon Oct 15 12:09:17 2007 -0300 V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field struct video_device used to define a .hardware field. While initialized on severl drivers, this field is never used inside V4L. However, drivers using it need to include the old V4L1 header. This seems to cause compilation troubles with some random configs. Better just to remove it from all drivers. Signed-off-by: Mauro Carvalho Chehab commit 786e9d4c3fdc3c913f1a735bcb979bfd62b275be Author: Pekka Seppänen Date: Mon Oct 15 10:16:21 2007 -0300 V4L/DVB (6319): radio-gemtek: fix 'VID_HARDWARE_GEMTEK' undeclared Remove obsolete V4L v1 reference. Thanks to Ingo Molnar for pointing this issue. Signed-off-by: Pekka Seppänen Signed-off-by: Mauro Carvalho Chehab commit bbaccc04459d5cedb342228084223143fbc285e5 Author: Trent Piepho Date: Thu Sep 6 23:02:25 2007 -0300 V4L/DVB (6187): cx88-alsa: Add TLV support Lets mixer apps display a dB range for the volume control. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 54ac005adcda1a9e4566df6fa87acd4a1c135b80 Author: Trent Piepho Date: Thu Sep 6 23:02:23 2007 -0300 V4L/DVB (6185): cx88-alsa: Add mute controls, change control names Add two mute controls. One mutes everything, the other just mutes the analog pass-through output. Rename the existing volume control. The controls are now: Playback Volume Playback Switch Capture Switch These names might seem odd, but I believe they are more correct. The previous "Capture Volume" control didn't actually effect the volume of the captured audio. Instead it controls the volume of the analog pass-thought output. It appears that pass-through controls like this are usually considered to be in the playback direction, not capture. For example, "CAPTURE feedback Playback Volume" is the name used for a control that appears to have the same effect in the ca0106 driver. We only have one volume control, so we can omit the "CAPTURE feedback" part. If someone where to add PCM playback support to the driver, then this would be the volume control. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 190a1d722a59725706daf832bc8a511ed62f249d Author: Martin Schwidefsky Date: Mon Oct 22 12:52:48 2007 +0200 [S390] 4level-fixup cleanup Get independent from asm-generic/4level-fixup.h Signed-off-by: Martin Schwidefsky commit 3610cce87af0693603db171d5b6f6735f5e3dc5b Author: Martin Schwidefsky Date: Mon Oct 22 12:52:47 2007 +0200 [S390] Cleanup page table definitions. - De-confuse the defines for the address-space-control-elements and the segment/region table entries. - Create out of line functions for page table allocation / freeing. - Simplify get_shadow_xxx functions. Signed-off-by: Martin Schwidefsky commit e4aa402e7a3b6b87d8df6243a37171cdcd2f01c2 Author: Martin Schwidefsky Date: Mon Oct 22 12:52:46 2007 +0200 [S390] Introduce follow_table in uaccess_pt.c Define and use follow_table inline in uaccess_pt.c to simplify the code. Signed-off-by: Martin Schwidefsky commit 6f3fa3f0eb8fe4675f8543dd4be3365577e1d487 Author: Martin Schwidefsky Date: Mon Oct 22 12:52:45 2007 +0200 [S390] Remove unused user_seg from thread structure. Signed-off-by: Martin Schwidefsky commit ba8a9229ab9e80278c28ad68b15053f65b2b0a7c Author: Martin Schwidefsky Date: Mon Oct 22 12:52:44 2007 +0200 [S390] tlb flush fix. The current tlb flushing code for page table entries violates the s390 architecture in a small detail. The relevant section from the principles of operation (SA22-7832-02 page 3-47): "A valid table entry must not be changed while it is attached to any CPU and may be used for translation by that CPU except to (1) invalidate the entry by using INVALIDATE PAGE TABLE ENTRY or INVALIDATE DAT TABLE ENTRY, (2) alter bits 56-63 of a page-table entry, or (3) make a change by means of a COMPARE AND SWAP AND PURGE instruction that purges the TLB." That means if one thread of a multithreaded applciation uses a vma while another thread does an unmap on it, the page table entries of that vma needs to get removed with IPTE, IDTE or CSP. In some strange and rare situations a cpu could check-stop (die) because a entry has been pushed out of the TLB that is still needed to complete a (milli-coded) instruction. I've never seen it happen with the current code on any of the supported machines, so right now this is a theoretical problem. But I want to fix it nevertheless, to avoid headaches in the futures. To get this implemented correctly without changing common code the primitives ptep_get_and_clear, ptep_get_and_clear_full and ptep_set_wrprotect need to use the IPTE instruction to invalidate the pte before the new pte value gets stored. If IPTE is always used for the three primitives three important operations will have a performace hit: fork, mprotect and exit_mmap. Time for some workarounds: * 1: ptep_get_and_clear_full is used in unmap_vmas to remove page tables entries in a batched tlb gather operation. If the mmu_gather context passed to unmap_vmas has been started with full_mm_flush==1 or if only one cpu is online or if the only user of a mm_struct is the current process then the fullmm indication in the mmu_gather context is set to one. All TLBs for mm_struct are flushed by the tlb_gather_mmu call. No new TLBs can be created while the unmap is in progress. In this case ptep_get_and_clear_full clears the ptes with a simple store. * 2: ptep_get_and_clear is used in change_protection to clear the ptes from the page tables before they are reentered with the new access flags. At the end of the update flush_tlb_range clears the remaining TLBs. In general the ptep_get_and_clear has to issue IPTE for each pte and flush_tlb_range is a nop. But if there is only one user of the mm_struct then ptep_get_and_clear uses simple stores to do the update and flush_tlb_range will flush the TLBs. * 3: Similar to 2, ptep_set_wrprotect is used in copy_page_range for a fork to make all ptes of a cow mapping read-only. At the end of of copy_page_range dup_mmap will flush the TLBs with a call to flush_tlb_mm. Check for mm->mm_users and if there is only one user avoid using IPTE in ptep_set_wrprotect and let flush_tlb_mm clear the TLBs. Overall for single threaded programs the tlb flush code now performs better, for multi threaded programs it is slightly worse. In particular exit_mmap() now does a single IDTE for the mm and then just frees every page cache reference and every page table page directly without a delay over the mmu_gather structure. Signed-off-by: Martin Schwidefsky commit e3d3683d1402c1737687cb698451d545f57c32a7 Author: Michael Holzheu Date: Mon Oct 22 12:52:43 2007 +0200 [S390] kernel: Fix dump on panic for DASDs under LPAR. Currently the ccw method is used to ipl the DASD dump record under LPAR. This mechanism is not reliable, which can cause dump failures. This fix now uses the diag 308 ipl method for all machines, which have diag308 subcode 5 and 4 support. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 7f021ce1957504cacc78896de857b90293badabc Author: Cornelia Huck Date: Mon Oct 22 12:52:42 2007 +0200 [S390] struct class_device -> struct device conversion. Convert struct class_device users under drivers/s390/char to use struct device. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 5bf04b2062c5b441d7154216694fea7dc2a6a7f3 Author: Cornelia Huck Date: Mon Oct 22 12:52:41 2007 +0200 [S390] cio: Fix incomplete commit for uevent suppression. Commit fa1a8c23eb7d3ded8a3c6d0e653339a2bc7fca9e intended to introduce uevent suppression for subchannels, but half of it was lost somewhere. Now, we end up with two uevents for every registered subchannel :( So we should better add the missing part from http://marc.info/?l=linux-kernel&m=117515953113974&w=2. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 054696077a6c4f9e306321d45b5762d6ea7940e1 Author: Cornelia Huck Date: Mon Oct 22 12:52:40 2007 +0200 [S390] cio: Use to_channelpath() for device to channel path conversion. We already have a macro for that, so let's use it consistently... Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit fae8b22d3e3e3a3d317a7746493997af02a3f35c Author: Heiko Carstens Date: Mon Oct 22 12:52:39 2007 +0200 [S390] Add per-cpu idle time / idle count sysfs attributes. Add two new sysfs entries per cpu: idle_count and idle_time. idle_count contains the number of times a cpu went into idle state. idle_time contains the time a cpu spent in idle state in microseconds. This can be used e.g. by powertop to tell how often idle state is entered and left. # cat /sys/devices/system/cpu/cpu0/idle_count 504 # cat /sys/devices/system/cpu/cpu0/idle_time 469734037 us Cc: Arjan van de Ven Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 32346f47dd46bed291464e194a6c47da6fdd1bc3 Author: Martin Schwidefsky Date: Mon Oct 22 12:52:38 2007 +0200 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit 83d87d167367ae2cc2c6810399aefac33a2ced41 Author: Laurent Vivier Date: Thu Oct 18 15:19:01 2007 +0200 sched: don't clear PF_VCPU in scheduler KVM clears it by itself now, and for s390 this is plain wrong. Signed-off-by: Laurent Vivier Acked-by: Ingo Molnar Signed-off-by: Avi Kivity commit 9da8f4e83a824dabf3fb7ad0890549257ae614a0 Author: Kevin Pedretti Date: Sun Oct 21 08:55:50 2007 +0200 KVM: Improve local apic timer wraparound handling Better handle wrap-around cases when reading the APIC CCR (current count register). Also, if ICR is 0, CCR should also be 0... previously reading CCR before setting ICR would result in a large kinda-random number. Signed-off-by: Kevin Pedretti Signed-off-by: Avi Kivity commit b33ac88b4c23330043acad930517282eb486db1d Author: Kevin Pedretti Date: Sun Oct 21 08:54:53 2007 +0200 KVM: Fix local apic timer divide by zero kvm_lapic_reset() was initializing apic->timer.divide_count to 0, which could potentially lead to a divide by zero error in apic_get_tmcct(). Any guest that reads the APIC's CCR (current count) register before setting DCR (divide configuration) would trigger a divide by zero exception in the host kernel, leading to a host-OS crash. This patch results in apic->timer.divide_count being initialized to 2 at reset, eliminating the bug (DCR=0 at reset, meaning divide by 2). Signed-off-by: Kevin Pedretti Signed-off-by: Avi Kivity commit 0552f73b9a81d39d50b71a5c06cf36efff80b6fd Author: Laurent Vivier Date: Thu Oct 18 15:19:01 2007 +0200 KVM: Move kvm_guest_exit() after local_irq_enable() We need to make sure that the timer interrupt happens before we clear PF_VCPU, so the accounting code actually sees guest mode. http://lkml.org/lkml/2007/10/15/114 Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 4e62417bf317504c0b85e0d7abd236f334f54eaf Author: Aurelien Jarno Date: Wed Oct 17 19:30:41 2007 +0200 KVM: x86 emulator: fix access registers for instructions with ModR/M byte and Mod = 3 The patch belows changes the access type to register from memory for instructions that are declared as SrcMem or DstMem, but have a ModR/M byte with Mod = 3. It fixes (at least) the lmsw and smsw instructions on an AMD64 CPU, which are needed for FreeBSD. Signed-off-by: Aurelien Jarno Signed-off-by: Avi Kivity commit 78f7826868da8e27d097802139a3fec39f47f3b8 Author: Avi Kivity Date: Tue Oct 16 19:06:15 2007 +0200 KVM: VMX: Force vm86 mode if setting flags during real mode When resetting from userspace, we need to handle the flags being cleared even after we are in real mode. Signed-off-by: Avi Kivity commit a012e65aee48379a7a87eadafa74f878b61522b9 Author: Sheng Yang Date: Mon Oct 15 14:24:20 2007 +0800 KVM: x86 emulator: implement 'movnti mem, reg' Implement emulation of instruction: movnti m32/m64, r32/r64 opcode: 0x0f 0xc3 Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 8668a3c468ed55d19514117a5a959d91d3d03823 Author: Eddie Dong Date: Wed Oct 10 14:26:45 2007 +0800 KVM: VMX: Reset mmu context when entering real mode Resetting an SMP guest will force AP enter real mode (RESET) with paging enabled in protected mode. While current enter_rmode() can only handle mode switch from nonpaging mode to real mode which leads to SMP reboot failure. Fix by reloading the mmu context on entering real mode. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 1b6269db3f83396c2fd2c8d0f3e0f37ac0e6ba05 Author: Avi Kivity Date: Tue Oct 9 12:12:19 2007 +0200 KVM: VMX: Handle NMIs before enabling interrupts and preemption This makes sure we handle NMI on the current cpu, and that we don't service maskable interrupts before non-maskable ones. Signed-off-by: Avi Kivity commit 7f2145ad6f3e7060147a2a4c4db35c641ff61b5c Author: Izik Eidus Date: Sun Sep 23 12:30:19 2007 +0200 KVM: MMU: Set shadow pte atomically in mmu_pte_write_zap_pte() Setting shadow page table entry should be set atomicly using set_shadow_pte(). Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit ae6200baea4175cac684ea76f78082b31afbdefa Author: Laurent Vivier Date: Thu Sep 20 11:17:24 2007 +0200 KVM: x86 emulator: fix repne/repnz decoding The repnz/repne instructions must set rep_prefix to 1 like rep/repe/repz. This patch correct the disk probe problem met with OpenBSD. This issue appears with commit e70669abd4e60dfea3ac1639848e20e2b8dd1255 because before it, the decoding was done internally to kvm and after it is done by x86_emulate.c (which doesn't do it correctly). Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 1a52e051368a0e29b26e8790bacd8d1d759e3287 Author: Nitin A Kamble Date: Tue Sep 18 16:34:25 2007 -0700 KVM: x86 emulator: fix merge screwup due to emulator split This code has gone to wrong place in the file. Moving it back to right location. Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit ea2c47b42f12dadbad9d879fb6df102b9003ab82 Author: Masahide NAKAMURA Date: Mon Oct 22 02:30:15 2007 -0700 [IPSEC] IPV6: Fix to add tunnel mode SA correctly. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit e3fa259bcbbca25c8e8275c8dcedcf484854465b Author: Pavel Emelyanov Date: Sun Oct 21 17:02:30 2007 -0700 [NET]: Cut off the queue_mapping field from sk_buff Just hide it behind the #ifdef, because nobody wants it now. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 668f895a85b0c3a62a690425145f13dabebebd7a Author: Pavel Emelyanov Date: Sun Oct 21 17:01:56 2007 -0700 [NET]: Hide the queue_mapping field inside netif_subqueue_stopped Many places get the queue_mapping field from skb to pass it to the netif_subqueue_stopped() which will be 0 in any case. Make the helper that works with sk_buff Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4e3ab47a547616e583c7a5458beced6aa34c8ef3 Author: Pavel Emelyanov Date: Sun Oct 21 17:01:29 2007 -0700 [NET]: Make and use skb_get_queue_mapping Make the helper for getting the field, symmetrical to the "set" one. Return 0 if CONFIG_NETDEVICES_MULTIQUEUE=n Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit dfa4091129019959f4608756f76dc687495287ad Author: Pavel Emelyanov Date: Sun Oct 21 16:57:55 2007 -0700 [NET]: Use the skb_set_queue_mapping where appropriate There's already such a helper to initialize this field. Use it. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7131c6c73656b92aea806c6e688e97aa49ff911e Author: Jean Delvare Date: Sun Oct 21 16:45:03 2007 -0700 [INET]: Use MODULE_ALIAS_NET_PF_PROTO_TYPE where possible. Now that we have this new macro, use it where possible. Signed-off-by: Jean Delvare Signed-off-by: David S. Miller commit 305e1e96911417d8cda2699f6a20a6f434616a8c Author: Jean Delvare Date: Sun Oct 21 16:44:04 2007 -0700 [INET]: Let inet_diag and friends autoload By adding module aliases to inet_diag, tcp_diag and dccp_diag, we let them load automatically as needed. This makes tools like "ss" run faster. Signed-off-by: Jean Delvare Signed-off-by: David S. Miller commit 81429973cfff7745792c877dd083eec29724ec97 Author: Olof Johansson Date: Sun Oct 21 16:32:58 2007 -0700 [NIU]: Cleanup PAGE_SIZE checks a bit I get the following warning from a powerpc allyesconfig of current mainline: drivers/net/niu.c: In function 'niu_size_rbr': drivers/net/niu.c:3113: warning: large integer implicitly truncated to unsigned type PAGE_SIZE in this case is 64KB, so I don't quite get why gcc can't tell that the line in question will never be reached. I suggest the following instead, but I can unfortunately not do anything but build test it. Also, the driver does some other checks to make sure that PAGE_SIZE is a power of two (BUILD_BUG_ON() in niu_init()), doesn't seem like that could ever be untrue? Or are there really archs with non-power-of-two PAGE_SIZE? Signed-off-by: Olof Johansson Signed-off-by: David S. Miller commit deea84b0ae3d26b41502ae0a39fe7fe134e703d0 Author: Herbert Xu Date: Sun Oct 21 16:27:46 2007 -0700 [NET]: Fix SKB_WITH_OVERHEAD calculation The calculation in SKB_WITH_OVERHEAD is incorrect in that it can cause an overflow across a page boundary which is what it's meant to prevent. In particular, the header length (X) should not be lumped together with skb_shared_info. The latter needs to be aligned properly while the header has no choice but to sit in front of wherever the payload is. Therefore the correct calculation is to take away the aligned size of skb_shared_info, and then subtract the header length. The resulting quantity L satisfies the following inequality: SKB_DATA_ALIGN(L + X) + sizeof(struct skb_shared_info) <= PAGE_SIZE This is the quantity used by alloc_skb to do the actual allocation. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bfb85c9f753a7172bd962e8717118191dfd612cc Author: Randy Dunlap Date: Sun Oct 21 16:24:27 2007 -0700 [ATM]: Fix clip module reload crash. net/atm/clip.c crashes the kernel if it (module) is loaded, removed, and then loaded again. Its exit call to neigh_table_clear() should destroy the cache after freeing it. Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 33b0c4fe6d0dd19fc7c9b801855f55c5260f2858 Author: Matt Carlson Date: Sun Oct 21 16:22:38 2007 -0700 [TG3]: Update version to 3.85 This patch updates the version number to 3.85. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 8a6eac90e21633e054e17d21454a2c26824aeb18 Author: Matt Carlson Date: Sun Oct 21 16:17:55 2007 -0700 [TG3]: PCI command adjustment This patch changes the way the driver works with the PCI command register. It adjusts the access size from dwords to words. This patch is done both as a PCI configuration space cleanup and as preparatory work for PCI error recovery. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9c8a620e7f85fff050a54697da44bbd1a66e8e0b Author: Matt Carlson Date: Sun Oct 21 16:16:08 2007 -0700 [TG3]: Add management FW version to ethtool report This patch appends the management firmware version to the bootcode firmware string reported through ethtool. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6c7af27c8a2e8b85cb235a2409d3b2093b18f77d Author: Matt Carlson Date: Sun Oct 21 16:12:02 2007 -0700 [TG3]: Add 5723 support This patch adds support for upcoming 5723 devices. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a524eccc7307b1d6e79f03fed79f9f34c016ce56 Author: Marcel Holtmann Date: Sat Oct 20 21:37:20 2007 +0200 [Bluetooth] Convert RFCOMM to use kthread API This patch does the full kthread conversion for the RFCOMM protocol. It makes the code slightly simpler and more maintainable. Based on a patch from Christoph Hellwig Signed-off-by: Marcel Holtmann commit 2cb3377a295aade1f2e192d4bea948b2196fb162 Author: Marcel Holtmann Date: Sat Oct 20 15:28:08 2007 +0200 [Bluetooth] Add constant for Bluetooth socket options level Assign the next free socket options level to be used by the Bluetooth protocol and address family. Signed-off-by: Marcel Holtmann commit b6a0dc822497e1c0b9e8c4add270cc27fce48454 Author: Marcel Holtmann Date: Sat Oct 20 14:55:10 2007 +0200 [Bluetooth] Add support for handling simple eSCO links With the Bluetooth 1.2 specification the Extended SCO feature for better audio connections was introduced. So far the Bluetooth core wasn't able to handle any eSCO connections correctly. This patch adds simple eSCO support while keeping backward compatibility with older devices. Signed-off-by: Marcel Holtmann commit dae6a0f6636d05bcb28ece1f3630b23ed2d66e18 Author: Marcel Holtmann Date: Sat Oct 20 14:52:38 2007 +0200 [Bluetooth] Add address and channel attribute to RFCOMM TTY device Export the remote device address and channel of RFCOMM TTY device via sysfs attributes. This allows udev to create better naming rules for configured RFCOMM devices. Signed-off-by: Marcel Holtmann commit 6792b5ec8d9e723e4689fd5b16cfa52603985f43 Author: Dave Young Date: Sat Oct 20 14:15:39 2007 +0200 [Bluetooth] Fix wrong argument in debug code of HIDP In the debug code of the hidp_queue_report function, the device variable does not exist, replace it with session->hid. Signed-off-by: Dave Young Signed-off-by: Marcel Holtmann commit 5e23b923da03de7e41f00f5664ae22c4f7dcd2a3 Author: Marcel Holtmann Date: Sat Oct 20 14:12:34 2007 +0200 [Bluetooth] Add generic driver for Bluetooth USB devices This patch adds a new generic driver for Bluetooth USB devices. This driver is still experimental at this point, but it is cleaner and easier to maintain than the current Bluetooth USB driver. It is a much better starting point for power management improvements. Signed-off-by: Marcel Holtmann commit ddbaf13e3609442b64abb931ac21527772d87980 Author: Marcel Holtmann Date: Sat Oct 20 14:02:04 2007 +0200 [Bluetooth] Add generic driver for Bluetooth SDIO devices This patch adds a generic driver for Bluetooth SDIO devices. It supports Type-A and Type-B devices. Signed-off-by: David Vrabel Signed-off-by: Marcel Holtmann commit ac019360fe311dd6aa11b358a02eb3a61675882e Author: Jeff Garzik Date: Sat Oct 20 13:45:57 2007 +0200 [Bluetooth] Eliminate checks for impossible conditions in IRQ handler Our info structure and info->hdev is always passed to the IRQ handler, so we don't have to worry about these checks in every interrupt. Leave a BUG_ON() just to help unwary programmers, but these could probably be removed as well. Signed-off-by: Jeff Garzik Signed-off-by: Marcel Holtmann commit 166d2f6a4332aad53cb0750a296f76c06102552d Author: Ohad Ben-Cohen Date: Sat Oct 20 13:42:36 2007 +0200 [Bluetooth] Add UART driver for Texas Instruments' BRF63xx chips Add support for Texas Instruments' HCI Low Level (HCILL) Bluetooth protocol, which is a power management extension to H4. The HCILL is widely used by TI's BRF63xx Bluetooth chips. Signed-off-by: Ohad Ben-Cohen Signed-off-by: Marcel Holtmann commit e24b21ec85afda6f51b6bc403e971ff2aa7eacee Author: Marcel Holtmann Date: Sat Oct 20 13:41:33 2007 +0200 [Bluetooth] Change BPA 100/105 driver to use USB anchors With the new support for USB anchors the driver can become more simpler and also cleaner. This patch switches to the usage of USB anchors for all URBs. Signed-off-by: Marcel Holtmann commit 6464f35f3771f69cd8d107fff166dc29ab392f97 Author: Marcel Holtmann Date: Sat Oct 20 13:39:51 2007 +0200 [Bluetooth] Fall back to L2CAP in basic mode In case the remote entity tries to negogiate retransmission or flow control mode, reject it and fall back to basic mode. Signed-off-by: Marcel Holtmann commit f0709e03ac3552b1b048ee171cb96ecaacc6813c Author: Marcel Holtmann Date: Sat Oct 20 13:38:51 2007 +0200 [Bluetooth] Advertise L2CAP features mask support Indicate the support for the L2CAP features mask value when the remote entity tries to negotiate Bluetooth 1.2 specific features. Signed-off-by: Marcel Holtmann commit 4e8402a3f884427f9233ba436459c158d1f2e114 Author: Marcel Holtmann Date: Sat Oct 20 13:37:56 2007 +0200 [Bluetooth] Retrieve L2CAP features mask on connection setup The Bluetooth 1.2 specification introduced a specific features mask value to interoperate with newer versions of the specification. So far this piece of information was never needed, but future extensions will rely on it. This patch adds a generic way to retrieve this information only once per connection setup. Signed-off-by: Marcel Holtmann commit 861d6882b3dfe1710b35dbddf1b395b962061413 Author: Marcel Holtmann Date: Sat Oct 20 13:37:06 2007 +0200 [Bluetooth] Remove global conf_mtu variable from L2CAP After the change to the L2CAP configuration parameter handling the global conf_mtu variable is no longer needed and so remove it. Signed-off-by: Marcel Holtmann commit 876d9484edf77d228adb42aecd4debd58d7739d6 Author: Marcel Holtmann Date: Sat Oct 20 13:35:42 2007 +0200 [Bluetooth] Finish L2CAP configuration only with acceptable settings The parameters of the L2CAP output configuration might not be accepted after the first configuration round. So only indicate a finished output configuration when acceptable settings are provided. Signed-off-by: Marcel Holtmann commit a9de9248064bfc8eb0a183a6a951a4e7b5ca10a4 Author: Marcel Holtmann Date: Sat Oct 20 13:33:56 2007 +0200 [Bluetooth] Switch from OGF+OCF to using only opcodes The Bluetooth HCI commands are divided into logical OGF groups for easier identification of their purposes. While this still makes sense for the written specification, its makes the code only more complex and harder to read. So instead of using separate OGF and OCF values to identify the commands, use a common 16-bit opcode that combines both values. As a side effect this also reduces the complexity of OGF and OCF calculations during command header parsing. Signed-off-by: Marcel Holtmann commit 1d3e07f7d0f97321121849fc064fb293b83db9ef Author: Sam Ravnborg Date: Mon Oct 22 02:32:10 2007 -0700 [SPARC64]: small Makefile cleanups A few trivial Makefile cleanups - dependencipes in head.o was all wrong - deleted - CMODEL_CFLAG was not used anywhere - NEW_GCC was then not used outside sparc64/Makefe - do not export it - FIXME seems not appropriate - all other put oprofile in drivers-y too - No reason to do -I. (and it still builds) Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 2a754b51aacb122cec25c849e3cf7f5503cc3ec6 Author: Nick Piggin Date: Fri Oct 19 17:16:53 2007 +1000 [JFFS2] Fix return value from jffs2_write_end() jffs2_write_end() is sometimes passing back a "written" length greater than the length we passed into it, leading to a BUG at mm/filemap.c:1749 when used with unionfs. It happens because we actually write more than was requested, to reduce log fragmentation. These "longer" writes are fine, but they shouldn't get propagated back to the vm/vfs. Signed-off-by: Nick Piggin Signed-off-by: David Woodhouse commit 8d57d3ad0c4641bc6b720160215c907a3d1004a0 Author: David S. Miller Date: Mon Oct 22 02:16:45 2007 -0700 [SPARC64]: Stop using __do_IRQ(). Invoke the desc->handle_irq directly in the top-level dispatch, just like other sophisticated ports. This will allow us to decrease the cost of the MSI queue dispatch. Signed-off-by: David S. Miller commit c21f900cb8817009930e672d22a5b91e5b706351 Author: Kyungmin Park Date: Mon Oct 22 11:01:52 2007 +0900 [MTD] [OneNAND] Fix wrong free the static address in onenand_sim Reported-by: Randy Dunlap Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit 46249ea60fbb61a72ee6929b831b1f3e6865f024 Author: Anton Ekblad Date: Mon Oct 22 00:59:59 2007 -0400 Input: appletouch - apply idle reset logic to all touchpads Not only Geyser 3 but also Geyser 1 need to be reset after they become idle to stop them from needlessly waking up the kernel. Do idle reset on all touchpads, regardless of their version - if we see 10 empty packets the touchpad needs to be reset; good touchpads should not send empty packets anyway. Signed-off-by: Dmitry Torokhov commit 14e4020630b364cc564172a476cd6a6ac4bc7393 Author: Jerrold Jones Date: Mon Oct 22 00:59:47 2007 -0400 Input: usbtouchscreen - add support for GoTop tablet devices Add support for GoTop Super_Q2/GogoPen/PenPower tablets to usbtouchscreen. Protocol discovery was done by Yick Yan Lam. Signed-off-by: Daniel Ritz Signed-off-by: Dmitry Torokhov commit 858711c55f757872b11574599bfa836df8ab34c9 Author: Michael Hennerich Date: Mon Oct 22 00:59:38 2007 -0400 Input: bf54x-keys - return real error when request_irq() fails Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Dmitry Torokhov commit 553a05b8821f5a6bc633e97187933e2157b2d291 Author: Márton Németh Date: Mon Oct 22 00:56:52 2007 -0400 Input: i8042 - export i8042_command() Export the i8042_command() function which manages the mutual exclusion with the help of the i8042_lock spinlock. This allows to access i8042 safely from other parts of the kernel. Signed-off-by: Márton Németh Signed-off-by: Dmitry Torokhov commit 3d0a721f04fe9321ca360fbab144ea10682d458a Author: David S. Miller Date: Sun Oct 21 19:58:24 2007 -0700 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 38f668e8f78c6699c705f7a1f4866ed03a93e4cf Author: Bryan Wu Date: Mon Oct 22 10:46:21 2007 +0800 Blackfin arch: use KBUILD_CFLAGS and KBUILD_AFLAGS in Makefile Signed-off-by: Bryan Wu commit da27abb79970e80904818e3866703ed02953a174 Author: Mike Frysinger Date: Mon Oct 22 10:55:35 2007 +0800 Blackfin arch: Javier Herrer writes: fix building when icache and dcache is disabled Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 77109cc2823f025ccd66ebd9b88fbab90437b2d8 Author: Jack Morgenstein Date: Sun Oct 21 12:03:01 2007 +0200 mlx4_core: Increase command timeout for INIT_HCA to 10 seconds The current INIT_HCA firmware command timeout is sufficient for the default number of resources (QPs, CQs, etc) being allocated, but if the HCA profile is modified to increase the amount of resources, then a spurious timeout is detected and HCA initialization fails. Increase the timeout for the INIT_HCA command to 10 seconds, which also brings it into line with all the other command timeouts. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 9dda78b711ca4d507251a7e896b2f41ec019fc58 Author: Marian Balakowicz Date: Fri Oct 19 04:44:39 2007 +1000 [POWERPC] Enable restart support for lite5200 board Use the watchdog timer to implement board restart support. Signed-off-by: Marian Balakowicz Signed-off-by: Grant Likely commit 86b92cdda9e997dd305851cb16292c67076d58cb Author: Marian Balakowicz Date: Fri Oct 19 04:44:33 2007 +1000 [POWERPC] Add restart support for mpc52xx based platforms Add common helper routines: mpc52xx_map_wdt() and mpc52xx_restart(). Signed-off-by: Marian Balakowicz Signed-off-by: Sascha Hauer Signed-off-by: Grant Likely commit d24bc314c964e900ddf30efa1ef44565cf0cf44c Author: Marian Balakowicz Date: Fri Oct 19 04:44:24 2007 +1000 [POWERPC] Update device tree binding for mpc5200 gpt Add 'fsl,' prefix to 'compatible' property for gpt nodes. Add 'fsl,' prefix to empty, GPT0 specific 'has-wdt' property. The fsl, prefix is being added to better match the convention of prefixing manufacturer specific properties and values with the vendors name. Signed-off-by: Marian Balakowicz Signed-off-by: Grant Likely commit c5c01c9700e59a5b20d7bdd15808d33ab9d9e877 Author: Marian Balakowicz Date: Fri Oct 19 04:44:14 2007 +1000 [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions Add helper routine mpc52xx_find_and_map_path(). Extract common code to mpc52xx_map_node() and refactor mpc52xx_find_and_map(). Signed-off-by: Jan Wrobel Signed-off-by: Grant Likely commit 55b70a0300b873c0ec7ea6e33752af56f41250ce Author: Trond Myklebust Date: Sun Oct 21 12:02:22 2007 -0400 NFS: Fix a typo in nfs_call_unlink() Signed-off-by: Trond Myklebust commit bad2a524113075d1e0665f1e111283ab25135ade Author: Trond Myklebust Date: Sat Oct 20 13:07:21 2007 -0400 NFSv2: Ensure that the directory metadata gets revalidated on file create Signed-off-by: Trond Myklebust commit c052a22e808fc1f9b78b9a2fe7065f2026815128 Author: Grant Likely Date: Sun Oct 21 10:52:02 2007 -0600 [POWERPC] bestcomm: Restrict bus prefetch bugfix to original mpc5200 silicon. Only the MPC5200 needs this bug fix. MPC5200B is okay. Signed-off-by: Grant Likely commit fc2adcfd37f6f1c32d246b5b43f83e38233358ae Author: Hannes Reinecke Date: Fri Oct 19 10:32:34 2007 +0200 [SCSI] aic7xxx: Fix firmware build If a prefix is selected for flex, we should be using it everywhere. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 64624d4f46d5e439906bcd3a99a688c833506124 Author: Hannes Reinecke Date: Fri Oct 19 10:32:29 2007 +0200 [SCSI] aic7xxx: Update Maintainer information Might as well take the blame officially. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit b5720729f58a4a05b0e2c8c61ac3ed3a3e9f94e5 Author: Hannes Reinecke Date: Fri Oct 19 10:32:21 2007 +0200 [SCSI] aic7xxx: Add suspend/resume support The aic7xxx driver already contains fragments for suspend/resume support. So we only need to update them to the current interface and have full PCI suspend/resume. Signed-off-by: Hannes Reinecke Tested-by: Jens Axboe Signed-off-by: James Bottomley commit efdc31319d43050a5742fb690b1a4beb68092a94 Author: Nick Piggin Date: Sun Oct 21 06:57:41 2007 +0200 nobh: nobh_write_end fix This path mustn't have been tested :( I did attempt to exercise it by injecting failures here, but I suspect PageMappedToDisk may have been getting in the way. Will need more of a look, although I think nobh mode is OK for an -rc1 (it shouldn't eat anyone's data). Commit 03158cd7eb3374843de68421142ca5900df845d9 ("fs: restore nobh") introcduced a NULL deref. Spotted by the Coverity checker. Signed-off-by: Nick Piggin Cc: Badari Pulavarty Cc: Andrew Morton Signed-off-by: Linus Torvalds commit eb7a1698d24783dd215cb86a12cadebe9b4e7046 Author: Johannes Dickgreber Date: Wed Oct 3 13:22:19 2007 +0200 [SCSI] qla1280: uses wrong failure path after failed pci_set_dma_mask A failure here wouldn't currently free the irq; go to the irq free path instead. Signed-off-by: Johannes Dickgreber Acked-by: Jes Sorensen Signed-off-by: James Bottomley commit d4b1d27368314ac79ae28082a0eb17b4c526bd14 Author: Bryan Wu Date: Sun Oct 21 17:03:55 2007 +0800 Blackfin arch: update boards files Signed-off-by: Bryan Wu commit 452af71f36685c932a5cce540a48c1818df6533f Author: Bryan Wu Date: Mon Oct 22 00:02:14 2007 +0800 Blackfin arch: dma add some API and cleanup bf54x DMA definition Signed-off-by: Bryan Wu commit 780431e397c82df7e20ee17536b97a08f97ef8ba Author: Mike Frysinger Date: Sun Oct 21 23:37:54 2007 +0800 Blackfin arch: cleanup and promote the general purpose timers api to a core blackfin component Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 29cae113720c1520cdcc8b536cf56efcba5d63e0 Author: Mike Frysinger Date: Mon Oct 22 00:45:55 2007 +0800 Blackfin arch: add a cheesy install target Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2f6cf7bfc64c44d760d53caf4b547e7729392e78 Author: Mike Frysinger Date: Sun Oct 21 22:59:49 2007 +0800 Blackfin arch: add functions for converting between sclks and usecs Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b0a68dc07ec395d44849ce98eb417713ca333410 Author: Mike Frysinger Date: Sun Oct 21 22:57:36 2007 +0800 Blackfin arch: add assembly function for doing 64bit unsigned division Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 1c668d82465cd5c17030c0f69561841374380ac8 Author: Mike Frysinger Date: Sun Oct 21 22:55:18 2007 +0800 Blackfin arch: -mno-fdpic works now that -mno-fdpic works, force it on so that we can use any blackfin toolchain to build up the kernel and kernel modules wrap -mno-fdpic in $(call cc-option,-mno-fdpic) so that older toolchains will still work Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 066954a3891d32198edad3b319792d8db6a6a575 Author: Mike Frysinger Date: Sun Oct 21 22:36:06 2007 +0800 Blackfin arch: use "char bfin_board_name[]" rather than "char *bfin_board_name" per discussion on lkml as the former uses less storage Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c1e7399da76646f34c3857147cca649cd58745af Author: Bernd Schmidt Date: Sun Oct 21 22:32:27 2007 +0800 Blackfin arch: Fixing Bug: balance calls to get_task_mm with corresponding mmput calls We must balance calls to get_task_mm with corresponding mmput calls, otherwise refcounting is screwed up and mms don't get freed when their task exits. Signed-off-by: Bryan Wu commit eaa854902aaeeade4a28cc8987de2b2ce182003b Author: Mike Frysinger Date: Sun Oct 21 22:30:01 2007 +0800 Blackfin serial driver Kconfig: depend on DMA not being enabled rather than a specific DMA size Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 1e5b24431b58d821502bb56e67af3e74854feaf2 Author: Bryan Wu Date: Sun Oct 21 16:58:49 2007 +0800 Blackfin arch: Fix bug: missing CHIPID register field definition of BF54x Signed-off-by: Bryan Wu commit 73b0c0b0c1fa06acc3a02a58f301b0db0818d3d0 Author: Robin Getz Date: Sun Oct 21 17:03:31 2007 +0800 Blackfin arch: Fix up /proc/cpuinfo so it is like everyone else Fix up /proc/cpuinfo so it is like everyone else, and gets parsed by various applications properly. Still needs some tweaking on parts without full L1 sram, like 532, 531, so it doesn't print out L1 bank info that doesn't exist. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 4fb4524162daf8a0aa42cf150512fe24b6ae20cf Author: Michael Hennerich Date: Sun Oct 21 16:53:53 2007 +0800 Blackfin arch: Optimization - no need to make additional math here Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit a99bbccd8738c0d8df270391284db2fae28d8a82 Author: Mike Frysinger Date: Mon Oct 22 00:19:31 2007 +0800 Blackfin arch: force irq_flags into the .data section force irq_flags into the .data section by initializing it to the hardware masks that cannot be disabled. this way if we use irq enable/disable functions before the .bss has been zeroed out (as does our l1 relocate/dma functions), we dont hit a problem where bss contains bogus crap. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 876a6682aac9b22cf24e0a3a7fea648fd64e112b Author: Mike Frysinger Date: Mon Oct 22 00:19:08 2007 +0800 Blackfin arch BF548 defconfig: enable watchdog by default Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 590031450a52c373bf72f5fb156fbcc0c78c6f2c Author: Michael Hennerich Date: Sun Oct 21 16:54:27 2007 +0800 Blackfin arch: add new processor ADSP-BF52x arch/mach support Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 74c3cbe33bc077ac1159cadfea608b501e100344 Author: Al Viro Date: Sun Jul 22 08:04:18 2007 -0400 [PATCH] audit: watching subtrees New kind of audit rule predicates: "object is visible in given subtree". The part that can be sanely implemented, that is. Limitations: * if you have hardlink from outside of tree, you'd better watch it too (or just watch the object itself, obviously) * if you mount something under a watched tree, tell audit that new chunk should be added to watched subtrees * if you umount something in a watched tree and it's still mounted elsewhere, you will get matches on events happening there. New command tells audit to recalculate the trees, trimming such sources of false positives. Note that it's _not_ about path - if something mounted in several places (multiple mount, bindings, different namespaces, etc.), the match does _not_ depend on which one we are using for access. Signed-off-by: Al Viro commit 455434d450a358ac5bcf3fc58f8913d13c544622 Author: Al Viro Date: Thu Jun 7 12:22:59 2007 -0400 [PATCH] new helper - inotify_evict_watch() Kicks the watch out without dropping it. Called under ->inotify_mutex Signed-off-by: Al Viro commit b9efe8a234ad874a049460417c54680338f96360 Author: Al Viro Date: Thu Jun 7 12:21:44 2007 -0400 [PATCH] new helper - inotify_clone_watch() Signed-off-by: Al Viro commit 8aec08094570562bc305df33b088926d983c3540 Author: Al Viro Date: Thu Jun 7 12:20:32 2007 -0400 [PATCH] new helpers - collect_mounts() and release_collected_mounts() Get a snapshot of a subtree, creating private clones of vfsmounts for all its components and release such snapshot resp. Signed-off-by: Al Viro commit 5a190ae69766da9a34bf31200c5cea4c0667cf94 Author: Al Viro Date: Thu Jun 7 12:19:32 2007 -0400 [PATCH] pass dentry to audit_inode()/audit_inode_child() makes caller simpler *and* allows to scan ancestors Signed-off-by: Al Viro commit 6ce59b460201c2281c2b6b3ead0b67ab21726268 Author: Ingo Molnar Date: Sat Oct 20 02:36:26 2007 +0200 New maintainers for the x86 (32-bit and 64-bit) architecture Add new maintainers for the x86 (32-bit and 64-bit) architecture. Signed-off-by: Ingo Molnar Acked-by: Thomas Gleixner Acked-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit b9a5ce3cae2f6d04c521204004a36be46656ec7b Author: Takashi Ohmasa Date: Fri Oct 19 13:59:15 2007 +0100 [ARM] 4630/1: Fix the vector stride of the double vector instruction. The vector stride of the double-precision vector instructions must be changed to 1-2 from even 2-4, because the double registers numbering has been changed to 0-15 from even 0-30 by 1356c1948da967bc1d4c663762bfe21dfcec4b2f commit. Signed-off-by: Takashi Ohmasa Signed-off-by: Russell King commit 67f18f34583c9dda0dbcd4088df9070926f7e611 Author: Takashi Ohmasa Date: Fri Oct 19 13:58:51 2007 +0100 [ARM] 4629/1: Fix VFP emulation code to clear all exception flags of FPEXC All exception flags of the FPEXC register must be cleared before returning from exception code to user code, including FP2V and OFC. Signed-off-by: Takashi Ohmasa Signed-off-by: Russell King commit 0825c672599bedbb423ef26f3cdd0c5a014da149 Author: Aleksey Makarov Date: Thu Oct 18 07:38:14 2007 +0100 [ARM] 4613/1: pxa300: MFP typo fix This fixes a typo in MFP address map. Signed-off-by: Aleksey Makarov Acked-by: Eric Miao Signed-off-by: Russell King commit 8add24413dff675855bcef8806175d11631917d0 Author: Al Viro Date: Sat Oct 20 21:47:53 2007 +0100 vfc_dev conversion to mutex: fallout Commit 7b96dc023a1b487bce59256fde14b8bb28b45aea ("[SPARC] Videopix Frame Grabber: Convert device_lock_sem to mutex") missed one place. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit e91a810e884850781a1cada2ea81b8016881d244 Author: Al Viro Date: Sat Oct 20 21:45:33 2007 +0100 oom_kill bug Wrong order of arguments Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit eb684507159de2162cd6fc62f2b3a671afd5a61d Author: Jörn Engel Date: Sat Oct 20 23:16:32 2007 +0200 [MTD] [NAND] Replace -1 with -EBADMSG in nand error correction code Magic numerical values are just bad style. Particularly so when undocumented. Signed-off-by: Jörn Engel Signed-off-by: David Woodhouse commit 1dd7fdb163645f453f5ae55686511b6fcc2314cd Author: Jörn Engel Date: Sat Oct 20 23:14:42 2007 +0200 [RSLIB] BUG() when passing illegal parameters to decode_rs8() or decode_rs16() Returning -ERANGE should never happen. Signed-off-by: Jörn Engel Signed-off-by: David Woodhouse commit c32b8dcc45c823cf30dcdf0fc37ee2f6b78f38cb Author: Matt Reimer Date: Wed Oct 17 14:33:23 2007 -0700 [MTD] [NAND] treat any negative return value from correct() as an error Treat any negative return value from a NAND driver's correct() function as a failure, rather than just -1. Signed-off-by: Matt Reimer Signed-off-by: David Woodhouse commit 7210c678202bb3107085bffeb63f66a9b8ba1c85 Author: Kyle McMartin Date: Sat Oct 20 13:23:00 2007 -0700 [PARISC] fix uninitialized variable warning in asm/rtc.h get_rtc_time, in the case that PDC returns that the battery is bad, returns an unmodified rtc_time arg to the caller, which then uses uninitialized values. Fix this by memset-ing the arg with zeroes, so it will at least be cleared if we return failure. Spotted by John David Anglin. Signed-off-by: Kyle McMartin commit 562d139cc587fc7f7fb8e07aad13cdd2a412c9a7 Author: Kyle McMartin Date: Sat Oct 20 13:18:56 2007 -0700 [PARISC] Port checkstack.pl to parisc Signed-off-by: Kyle McMartin commit 437374e9a95062fe310b901e48585691edaf5dd0 Author: Milton Miller Date: Sat Oct 20 03:58:03 2007 -0500 kbuild: restore arch/{ppc/xtensa}/boot cflags Commit 9a39e273d4df0560c724c5fe71f6314a0583ca2b removed the boot directory addition to CFLAGS that was being used by the subdirectory builds. For the other files, that patch set EXTRA_CFLAGS, but Makefile.build explicitly sets that to empty as it is explicitly for a single directory only. Append to KBUILD_CFLAGS instead. Signed-off-by: Milton Miller Signed-off-by: Sam Ravnborg commit a54bb701c248d65f761d366f94f2809abdc39f04 Author: Randy Dunlap Date: Sat Oct 20 11:18:47 2007 -0700 kconfig: set title bar in xconfig Put kernel version info on title bar in xconfig (qconf) instead of defaulting to "qconf". Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 0b463ff139d8f911f90c1d33a53aba094ed45907 Author: David Brownell Date: Fri Oct 19 21:42:24 2007 -0700 kbuild: fix toplevel Makefile/depmod This removes a syntax error (seen building on Ubuntu Feisty). Signed-off-by: David Brownell Signed-off-by: Sam Ravnborg commit f67d4033c143d74fff3a9aff03772d912b1ec317 Author: Kyle McMartin Date: Sat Oct 20 09:31:33 2007 -0700 [PARISC] Make palo target work when $obj != $src Stumbled upon when I was testing it out and using make O=... to build. Signed-off-by: Kyle McMartin commit 39e73fc10e916db93c8a2c622f0315d296e66cf4 Author: Artem Bityutskiy Date: Wed Sep 19 17:56:47 2007 +0300 [MTD] [NAND] nandsim: bugfix in initialization NAND of > 32MiB in size use 4 bytes in address cycle, not 3. Reported-by: bhsong Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 42265940ed911c355140aa41ca4c2d94d7c5f5d8 Author: Dave Jones Date: Wed Oct 17 23:33:12 2007 +0200 [MTD] Fix typo in Alauda config option help text. Signed-off-by: Dave Jones Signed-off-by: Joern Engel Signed-off-by: David Woodhouse commit b773bb2e702f6ac96223018d621ea9ed0d4f23ff Author: Matt Reimer Date: Thu Oct 18 17:43:07 2007 -0700 [MTD] [NAND] add s3c2440-specific read_buf/write_buf Add read_buf/write_buf for s3c2440, which can read/write 32 bits at a time rather than just 8. In my testing on an s3c2440a running at 400 MHz with a 100 MHz HCLK, read performance improves by 36% (from 5.19 MB/s to 7.07 MB/s). Signed-off-by: Matt Reimer Acked-by: Ben Dooks Signed-off-by: David Woodhouse commit 19e75ea72b21136805218a2f55177e99100d62e5 Author: Randy Dunlap Date: Thu Oct 18 12:23:10 2007 -0700 [MTD] [OneNAND] onenand-sim: fix kernel-doc and typos Correct kernel-doc notation and descriptions. Correct other typos. Signed-off-by: Randy Dunlap Signed-off-by: David Woodhouse commit cfc8dc6f6f69ede939e09c2af06a01adee577285 Author: KaiGai Kohei Date: Fri Sep 14 15:16:35 2007 +0900 [JFFS2] Tidy up fix for ACL/permissions problem. [In commit 9ed437c50d89eabae763dd422579f73fdebf288d we fixed a problem with standard permissions on newly-created inodes, when POSIX ACLs are enabled. This cleans it up...] The attached patch separate jffs2_init_acl() into two parts. The one is jffs2_init_acl_pre() called from jffs2_new_inode(). It compute ACL oriented inode->i_mode bits, and allocate in-memory ACL objects associated with the new inode just before when inode meta infomation is written to the medium. The other is jffs2_init_acl_post() called from jffs2_symlink(), jffs2_mkdir(), jffs2_mknod() and jffs2_do_create(). It actually writes in-memory ACL objects into the medium next to the success of writing meta-information. In the current implementation, we have to write a same inode meta infomation twice when inode->i_mode is updated by the default ACL. However, we can avoid the behavior by putting an updated i_mode before it is written at first, as jffs2_init_acl_pre() doing. Signed-off-by: KaiGai Kohei Signed-off-by: David Woodhouse commit 7425ada2d07b0bdc082f34069eadbbe5a8e465d2 Author: Kyle McMartin Date: Fri Oct 19 21:41:33 2007 -0700 [PARISC] Zap unused variable warnings in pci.c 'bus' was basically useless and 'hba' is only applicable on 64bit. Sigh, there's got to be a cleaner way to do this... Signed-off-by: Kyle McMartin commit 1b524963fd2d7fb20ea68df497151aa9d17fbca4 Author: Michael S. Tsirkin Date: Thu Aug 16 15:36:16 2007 +0300 IPoIB/cm: Use common CQ for CM send completions Use the same CQ for CM send completions as for all other IPoIB completions. This means all completions are processed via the same NAPI polling routine. This should help reduce the number of interrupts for bi-directional traffic (such as TCP) and fixes "driver is hogging interrupts" errors reported for IPoIB send side, e.g. To do this, keep a per-interface counter of outstanding send WRs, and stop the interface when this counter reaches the send queue size to avoid CQ overruns. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit e8b8c977734193adedf2b0f607d6252c78e86394 Author: Linus Torvalds Date: Fri Oct 19 21:25:45 2007 -0700 Revert "kconfig: tristate choices with mixed tristate and boolean values" This reverts commit a5bf3d891a6a0fb5aa122792d965e3774108b923. David Brownell notes that this causes a regression visible in the drivers/usb/gadget Kconfig file: "That Kconfig hasn't changed (other than adding new drivers), and it's worked that way for several years now ... so the issue seems to be changes in menuconfig/kconfig/etc semantics. The issue is that when USB_GADGET=m, it's no longer possible to configure peripheral controller drivers as modules ... the controller drivers can now only be configured for static linkage. It should be making a choice of one of the controller drivers which could work on the target system, and allow that driver to be linked either as a module (ok iff USB_GADGET=m) or statically." Reverting this commit resolves the problem, and also fixes a second problem that David noticed: various dependent options couldn't be enabled. Tested-and-reported-by: David Brownell Cc: Randy Dunlap Cc: Jan Beulich , Cc: Andrew Morton , Cc: Sam Ravnborg , Cc: Roman Zippel Signed-off-by: Linus Torvalds commit 9430d374bd4b099734a63c3699a128fe58e0bed3 Author: Kyle McMartin Date: Fri Oct 19 21:08:20 2007 -0700 [PARISC] Fix tests in palo target Signed-off-by: Kyle McMartin commit cbfb50e6e2e9c580848c0f51d37c24cdfb1cb704 Author: Roland Dreier Date: Fri Oct 19 20:01:43 2007 -0700 IB/uverbs: Fix checking of userspace object ownership Commit 9ead190b ("IB/uverbs: Don't serialize with ib_uverbs_idr_mutex") rewrote how userspace objects are looked up in the uverbs module's idrs, and introduced a severe bug in the process: there is no checking that an operation is being performed by the right process any more. Fix this by adding the missing check of uobj->context in __idr_get_uobj(). Apparently everyone is being very careful to only touch their own objects, because this bug was introduced in June 2006 in 2.6.18, and has gone undetected until now. Cc: stable Signed-off-by: Roland Dreier commit c9b2ca735a7685fa8aafd17b3cf3f9f20449d10b Author: Olof Johansson Date: Fri Oct 19 21:04:20 2007 -0500 Fix build break in tsi108.c Fix build break: drivers/net/tsi108_eth.c: In function 'tsi108_init_one': drivers/net/tsi108_eth.c:1633: error: expected ')' before 'dev' drivers/net/tsi108_eth.c:1633: warning: too few arguments for format make[2]: *** [drivers/net/tsi108_eth.o] Error 1 Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 224426f168aa4af3dcb628e6edaa824d32d60e6f Author: Ursula Braun Date: Thu Jan 1 01:00:01 1970 +0100 qeth: remove header_ops bug Remove qeth bug caused by commit: [NET]: Move hardware header operations out of netdevice. Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit e0d5dab24deac859b1b2326c4ad0745572d16d10 Author: Randy Dunlap Date: Thu Oct 18 21:53:50 2007 -0700 ir-functions.c:(.text+0xbce18): undefined reference to `input_event' [bugme-daemon@bugzilla.kernel.org wrote:] From: Randy Dunlap Drivers that use lro functions should depend on INET, otherwise they may not link correctly. Let's not select INET. Select should be used only for library-like code, not to enable subsystems. ERROR: "lro_flush_all" [drivers/net/myri10ge/myri10ge.ko] undefined! ERROR: "lro_receive_frags" [drivers/net/myri10ge/myri10ge.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit bf45abeb1d917e92775b4523ba0ddcfd331464b4 Author: Randy Dunlap Date: Thu Oct 18 17:16:20 2007 -0700 NAPI: kconfig prompt and deleted doc file - make the kconfig NAPI option prompt consistent across all net drivers (other than EXPERIMENTAL; can it now be removed also, or is the new napi_struct implementation now EXPERIMENTAL ?) - remove comment about the now-deleted NAPI_HOWTO.txt file - clean up typos in Tulip NAPI & Interrupt Mitigation Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit 5a46236d20faf1ec3712afb28203f7a1adb5d39d Author: Randy Dunlap Date: Thu Oct 18 12:20:21 2007 -0700 phy/bitbang: missing MODULE_LICENSE Missing MODULE_LICENSE(), loading this module taints the kernel. Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit 418d6f871b7bab19e9f12a6c0e4713a15d6bae10 Author: Mike Rapoport Date: Thu Oct 18 09:23:11 2007 +0200 DM9000 initialization fix DM9000 driver returns success even if it is failed to detect the chip. Below patch fixes it. Signed-off-by: Mike Rapoport drivers/net/dm9000.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Signed-off-by: Jeff Garzik commit b35e7041186a9ace341665d404274d58a32b6e2c Author: Linus Torvalds Date: Fri Oct 19 19:59:18 2007 -0700 Avoid compile error in fs/nfs/unlink.c Erez Zadok reports that certain configurations fail to build due to schedule() TASK_[UN]INTERRUPTIBLE not being declared. Add proper include files to fix. Cc: Erez Zadok Cc: Trond Myklebust Signed-off-by: Linus Torvalds commit 96af154710d44b574515431a0bb014888398a741 Author: Jeff Garzik Date: Fri Oct 19 22:56:44 2007 -0400 [libata] sata_sis: use correct S/G table size sata_sis has the same restrictions as other SFF controllers, and so must use LIBATA_MAX_PRD to denote that SCSI may only fill ATA_MAX_PRD/2 entries, due to our need to handle IOMMU merging. Signed-off-by: Jeff Garzik commit 80f6fd3828b74ca123083e4fdc28cbe9d865fd64 Author: Bartlomiej Zolnierkiewicz Date: Wed Oct 17 01:23:43 2007 +0200 pata_cs5536: MWDMA fix * Fix out-of-bound array access for MWDMA modes. * Bump driver version. Cc: "Martin K. Petersen" Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit aaa092a114696f4425cd57c4d7fa05110007e247 Author: Tejun Heo Date: Thu Oct 18 11:53:39 2007 +0900 sata_sis: fix SCR read breakage SCR read for controllers which uses PCI configuration space for SCR access got broken while adding @val argument to SCR accessors. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5c1ad8b30587694590691d6a83b1e7adaa7ca6d0 Author: Randy Dunlap Date: Thu Oct 18 14:12:26 2007 -0700 libata: fix kernel-doc param name Fix libata kernel-doc parameter name. Warning(linux-2.6.23-git13//drivers/ata/libata-core.c:1415): No description found for parameter 'sgl' Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit e9a404580ccaeb31dd2a976f9929c4f9eb6f3540 Author: Olof Johansson Date: Fri Oct 19 20:41:49 2007 -0500 nfs: Fix build break with CONFIG_NFS_V4=n Signed-off-by: Olof Johansson Cc: Trond Myklebust Signed-off-by: Linus Torvalds commit 8e8a1407ac23b43cec0412338c1b4f5e1c664550 Author: Jason Uhlenkott Date: Sat Oct 20 03:16:18 2007 +0200 fix do_sys_open() prototype Fix an argument name in do_sys_open()'s prototype. Signed-off-by: Jason Uhlenkott Signed-off-by: Adrian Bunk commit 3932bf60590064dbd1d5bc6f19faf4469e964082 Author: Chris Malley Date: Sat Oct 20 03:14:32 2007 +0200 sysfs: trivial: fix sysfs_create_file kerneldoc spelling mistake Spelling error in sysfs_create_file kerneldoc. Signed-off-by: Chris Malley Signed-off-by: Adrian Bunk commit 80abe55b53028bd082bdc69c497fe734e6057538 Author: James Bowes Date: Sat Oct 20 03:13:09 2007 +0200 Documentation: Fix typo in SubmitChecklist. Signed-off-by: James Bowes Signed-off-by: Adrian Bunk commit 405bbe9fa345050f46c411d77727f381d74a2ba8 Author: Rolf Eike Beer Date: Sat Oct 20 03:10:57 2007 +0200 Typo: depricated -> deprecated Typo: depricated -> deprecated Signed-off-by: Rolf Eike Beer Signed-off-by: Adrian Bunk commit c0fe2e6964bea897d059fd1680a53cf131546f20 Author: Dave Jones Date: Sat Oct 20 03:08:22 2007 +0200 Add missing profile=kvm option to Documentation/kernel-parameters.txt Whilst looking up what profile=sleep did, I noticed that we missed adding docs for the most recent addition to the profiler. Signed-off-by: Dave Jones Acked-by: Ingo Molnar Signed-off-by: Adrian Bunk commit 828d055fd00fe5cd2186fbb599c6f64e53c6706d Author: Masatake YAMATO Date: Sat Oct 20 03:06:37 2007 +0200 fix typo about TBI in e1000 comment Signed-off-by: Masatake YAMATO Signed-off-by: Adrian Bunk commit c1cb8e48bddd9e16ef488ea5d50885908c5a4081 Author: Eric W. Biederman Date: Fri Oct 19 18:23:25 2007 -0600 sysctl: Don't compile sysctl_check when !CONFIG_SYSCTL Weird I thought I had written the makefile so this would be handled. Oh well this should fix it. Sorry about that. Signed-off-by: Eric W. Biederman Acked-and-tested-by: Randy Dunlap Signed-off-by: Linus Torvalds commit b68f2c3a984edb2beb9013bc773d51ac5c56c407 Author: Leonardo Chiquitto Date: Sat Oct 20 03:03:38 2007 +0200 proc.txt: Add /proc/stat field This patch updates the "cat /proc/stat" output found in Documentation/filesystems/proc.txt. Signed-off-by: Adrian Bunk commit 80fd662683be5dc2a3b41b27e30942d5fd7b5d5c Author: Milan Broz Date: Sat Oct 20 01:14:21 2007 +0100 dm crypt: tidy pending Add crypt prefix to dec_pending to avoid confusing it in backtraces with the dm core function of the same name. No functional change here. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit b15546f942c09fe55ad55af31841eecacbf4ffd1 Author: Mike Anderson Date: Fri Oct 19 22:48:02 2007 +0100 dm mpath: send uevents This patch adds calls to dm_path_event for a failed path and a reinstated path. Signed-off-by: Mike Anderson Signed-off-by: Alasdair G Kergon commit 7a8c3d3b92883798e4ead21dd48c16db0ec0ff6f Author: Mike Anderson Date: Fri Oct 19 22:48:01 2007 +0100 dm: uevent generate events This patch adds support for the dm_path_event dm_send_event functions which create and send udev events. Signed-off-by: Mike Anderson Signed-off-by: Alasdair G Kergon commit 51e5b2bd34ded40ef48cade8a6a8f1baa0b4275e Author: Mike Anderson Date: Fri Oct 19 22:48:00 2007 +0100 dm: add uevent to core This patch adds a uevent skeleton to device-mapper. Signed-off-by: Mike Anderson Signed-off-by: Alasdair G Kergon commit 96a1f7dba6e464155c0d1dc69c6c2efa96b644ac Author: Mike Anderson Date: Fri Oct 19 22:47:59 2007 +0100 dm: export name and uuid This patch adds a function to obtain a copy of a mapped device's name and uuid. Signed-off-by: Mike Anderson Signed-off-by: Alasdair G Kergon commit aa5617c55357d86c9082ba1d66fa9795370c9954 Author: Jonathan Brassow Date: Fri Oct 19 22:47:58 2007 +0100 dm raid1: add mirror_set to struct mirror Store a pointer to the owning mirror_set structure within each mirror structure for a subsequent patch to use. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 6b3df0d7a5e85ad2afd3eecc50e2dee59e876ae8 Author: Jonathan Brassow Date: Fri Oct 19 22:47:57 2007 +0100 dm log: split suspend There are now two phases to a suspend in device-mapper - presuspend and postsuspend. This patch removes the single 'suspend' in the logging API and replaces it with 'presuspend' and 'postsuspend' functions to align it better with core device-mapper. A subsequent patch will make use of 'presuspend'. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit fe97e2aa0502922488ad62303a19a20c8044ae18 Author: Dave Wysochanski Date: Fri Oct 19 22:47:55 2007 +0100 dm mpath: hp retry if not ready This patch adds retries to the hp hardware handler, and utilizes the MP_RETRY flag of dm-multipath. For now in the hp handler, if we get a pg_init completed with a check condition we just assume we can retry the pg_init command. We make this assumption because of incomplete data on specific check condition code of the HP hardware, and because testing has shown the HP path initialization command to be idempotent. The number of times we retry is settable via the "pg_init_retries" multipath map feature. Signed-off-by: Dave Wysochanski Acked-by: Chandra Seetharaman Signed-off-by: Alasdair G Kergon commit 16ebbf358477b762115fec2f85d9b9496a5cae76 Author: Dave Wysochanski Date: Fri Oct 19 22:47:54 2007 +0100 dm mpath: add hp handler This patch adds the most basic dm-multipath hardware support for the HP active/passive arrays. Signed-off-by: Dave Wysochanski Signed-off-by: Mike Christie Acked-by: Chandra Seetharaman Signed-off-by: Alasdair G Kergon commit c9e45581ad530cc1ca4b5d4add44a5b625234ada Author: Dave Wysochanski Date: Fri Oct 19 22:47:53 2007 +0100 dm mpath: add retry pg init This patch allows a failed path group initialisation command to be retried. It adds a generic MP_RETRY flag and a "pg_init_retries" feature to device-mapper multipath which limits the number of retries. 1. A hw handler sends a path initialization command to the storage and the command completes with an error code indicating the command should be retried. 2. The hardware handler calls dm_pg_init_complete() with MP_RETRY set in err_flags to ask the dm multipath core to retry. 3. If the retry limit has not been exceeded, pg_init() is retried. Otherwise fail_path() is called. If you are using the userspace multipath-tools or device-mapper-multipath package, you can set pg_init_retries in the 'device' section of your /etc/multipath.conf file. For example: features "2 pg_init_retries 7" The number of PG retries attempted is reported in the 'dmsetup status' output. Signed-off-by: Dave Wysochanski Acked-by: Mike Christie Acked-by: Chandra Seetharaman Signed-off-by: Alasdair G Kergon commit 636d5786c45414fd8e48f2a2325be072274fdba4 Author: Milan Broz Date: Fri Oct 19 22:47:52 2007 +0100 dm crypt: tidy labels Replace numbers with names in labels in error paths, to avoid confusion when new one get added between existing ones. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit d469f84197a6415248ae4c5bd4f012cb609044fa Author: Milan Broz Date: Fri Oct 19 22:42:37 2007 +0100 dm crypt: tidy whitespace Clean up, convert some spaces to tabs. No functional change here. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit cabf08e4d3d1181d7c408edae97fb4d1c31518af Author: Milan Broz Date: Fri Oct 19 22:38:58 2007 +0100 dm crypt: add post processing queue Add post-processing queue (per crypt device) for read operations. Current implementation uses only one queue for all operations and this can lead to starvation caused by many requests waiting for memory allocation. But the needed memory-releasing operation is queued after these requests (in the same queue). Signed-off-by: Milan Broz Signed-off-by: Herbert Xu Signed-off-by: Alasdair G Kergon commit 9934a8bea2fc67e6f07d74304eca2a91d251bfe8 Author: Milan Broz Date: Fri Oct 19 22:38:57 2007 +0100 dm crypt: use per device singlethread workqueues Use a separate single-threaded workqueue for each crypt device instead of one global workqueue. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit d336416ff1e6f7715f6dcb3b4e3e60626e406dd0 Author: Alasdair G Kergon Date: Fri Oct 19 22:38:56 2007 +0100 dm mpath: emc fix an error message Correct an error message, reported by Michael Wood . Signed-off-by: Alasdair G Kergon commit 051814c69fac92f1964739c0cf08b5e3b1156b04 Author: Alasdair G Kergon Date: Fri Oct 19 22:38:55 2007 +0100 dm: bio_list macro renaming Remove BIO_LIST and DEFINE_BIO_LIST macros that gain us nothing since contents are initialised to NULL. Cc: Jan Engelhardt Signed-off-by: Alasdair G Kergon commit bb56acf840600421e68f49bb037d1c659fcb37f8 Author: Jesper Juhl Date: Fri Oct 19 22:38:54 2007 +0100 dm io:ctl remove vmalloc void cast In drivers/md/dm-ioctl.c::copy_params() there's a call to vmalloc() where we currently cast the return value, but that's pretty pointless given that vmalloc() returns "void *". Signed-off-by: Jesper Juhl Signed-off-by: Alasdair G Kergon commit 9e4e5f87ebcadb7ad9aca640bbe1038e1545e9f8 Author: Milan Broz Date: Fri Oct 19 22:38:53 2007 +0100 dm: tidy bio_io_error usage Use bio_io_error() in only two places and tidy the code, preparing for later patches. There is no functional change in this patch. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit def5b5b26e6d97820465fadcb7d1cb73cc4daf33 Author: Matthias Kaehlcke Date: Fri Oct 19 22:38:52 2007 +0100 kcopyd use mutex instead of semaphore Kcopyd uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore, Signed-off-by: Matthias Kaehlcke Cc: Neil Brown Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton commit 094262db9e4c615e0db7a7b924d244b7a6c186b0 Author: Dmitry Monakhov Date: Fri Oct 19 22:38:51 2007 +0100 dm: use kzalloc Convert kmalloc() + memset() to kzalloc(). Signed-off-by: Dmitry Monakhov Signed-off-by: Alasdair G Kergon commit 6f3c3f0afa50782dc1742c968646c491657d255a Author: vignesh babu Date: Fri Oct 19 22:38:44 2007 +0100 dm: use is_power_of_2 Replacing n & (n - 1) for power of 2 check by is_power_of_2(n) Signed-off-by: vignesh babu Signed-off-by: Alasdair G Kergon commit ae9da83f6d800fe1f3b23bfbc8f7222ad1c5bb74 Author: Jun'ichi Nomura Date: Fri Oct 19 22:38:43 2007 +0100 dm: fix thaw_bdev This patch fixes a bd_mount_sem counter corruption bug in device-mapper. thaw_bdev() should be called only when freeze_bdev() was called for the device. Otherwise, thaw_bdev() will up bd_mount_sem and corrupt the semaphore counter. struct block_device with the corrupted semaphore may remain in slab cache and be reused later. Attached patch will fix it by calling unlock_fs() instead. unlock_fs() will determine whether it should call thaw_bdev() by checking the device is frozen or not. Easy reproducer is: #!/bin/sh while [ 1 ]; do dmsetup --notable create a dmsetup --nolockfs suspend a dmsetup remove a done It's not easy to see the effect of corrupted semaphore. So I have tested with putting printk below in bdev_alloc_inode(): if (atomic_read(&ei->bdev.bd_mount_sem.count) != 1) printk(KERN_DEBUG "Incorrect semaphore count = %d (%p)\n", atomic_read(&ei->bdev.bd_mount_sem.count), &ei->bdev); Without the patch, I saw something like: Incorrect semaphore count = 17 (f2ab91c0) With the patch, the message didn't appear. The bug was introduced in 2.6.16 with this bug fix: commit d9dde59ba03095e526640988c0fedd75e93bc8b7 Date: Fri Feb 24 13:04:24 2006 -0800 [PATCH] dm: missing bdput/thaw_bdev at removal Need to unfreeze and release bdev otherwise the bdev inode with inconsistent state is reused later and cause problem. and backported to 2.6.15.5. It occurs only in free_dev(), which is called only when the dm device is removed. The buggy code is executed only if md->suspended_bdev is non-NULL and that can happen only when the device was suspended without noflush. Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: stable@kernel.org commit 79662d1ea37392651f2cff08626cab6a40ba3adc Author: Milan Broz Date: Fri Oct 19 22:38:42 2007 +0100 dm delay: fix status Fix missing space in dm-delay target status output if separate read and write delay are configured. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 2e64a0f92830791f160274c46aef3678fabcf044 Author: Dmitry Monakhov Date: Fri Oct 19 22:38:41 2007 +0100 dm delay: fix ctr error paths Add missing 'dm_put_device' to dm-delay target constructor. Signed-off-by: Dmitry Monakhov Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit a72cf737e09da409e047863e38410930dae5fe05 Author: Dmitry Monakhov Date: Fri Oct 19 22:38:39 2007 +0100 dm raid1: fix leakage Add missing 'dm_io_client_destroy' to alloc_context error path. Reorganize mirror constructor error path in order to prevent workqueue leakage. Signed-off-by: Dmitry Monakhov Signed-off-by: Alasdair G Kergon commit 815f9e32709b014a459919176a4f0feebd42731e Author: Dmitry Monakhov Date: Fri Oct 19 22:38:38 2007 +0100 dm crypt: missing kfree in ctr error path Insert missing kfree() in crypt_iv_essiv_ctr() error path. Signed-off-by: Dmitry Monakhov Signed-off-by: Alasdair G Kergon commit 55b42c5ae9c048de25233434afc7b71b01bee9e6 Author: Dmitry Monakhov Date: Fri Oct 19 22:38:37 2007 +0100 dm crypt: drop device ref in ctr error path Add a missing 'dm_put_device' in an error path in crypt target constructor. Signed-off-by: Dmitry Monakhov Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 027d50f92ea26fd065aeb141ebfcbbbe010825e3 Author: Milan Broz Date: Fri Oct 19 22:38:36 2007 +0100 dm io:ctl use constant struct size Make size of dm_ioctl struct always 312 bytes on all supported architectures. This change retains compatibility with already-compiled code because it uses an embedded offset to locate the payload that follows the structure. On 64-bit architectures there is no change at all; on 32-bit we are increasing the size of dm-ioctl from 308 to 312 bytes. Currently with 32-bit userspace / 64-bit kernel on x86_64 some ioctls (including rename, message) are incorrectly rejected by the comparison against 'param + 1'. This breaks userspace lvrename and multipath 'fail_if_no_path' changes, for example. (BTW Device-mapper uses its own versioning and ignores the ioctl size bits. Only the generic ioctl compat code on mixed arches checks them, and that will continue to accept both sizes for now, but we intend to list 308 as deprecated and eventually remove it.) Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Cc: Guido Guenther Cc: Kevin Corry Cc: stable@kernel.org commit c7ac86de6a1bcb1b59c83e19b0d0d64a59604ade Author: Bryn M. Reeves Date: Fri Oct 19 22:29:32 2007 +0100 dm mpath: rdac fix init race Re-order the initialisation of dm-rdac to avoid registering the hw handler before the workqueue has been initialised. Closes a race that would potentially give an oops. Signed-off-by: Bryn M. Reeves Signed-off-by: Alasdair G Kergon commit ad3d0a3827a3ce45ee4141de81be7375157b42de Author: Philipp Marek Date: Sat Oct 20 02:46:58 2007 +0200 small documentation fixes Signed-off-by: Adrian Bunk commit 2de206d8f09c8b01d3721f860c28258838953a18 Author: Jesper Juhl Date: Sat Oct 20 02:44:34 2007 +0200 Fix compiler warning in smount example program from sharedsubtree.txt If one compiles the example smount program, found in Documentation/sharedsubtree.txt, with -Wall then there's a small compiler warning rearing its ugly head : smount.c: In function 'main': smount.c:45: warning: implicit declaration of function 'strcmp' Easily fixed by just including string.h Signed-off-by: Jesper Juhl Signed-off-by: Adrian Bunk commit f8c34f9816d9dd9d09ed9a78332fbe698e8fc765 Author: Shaun Zinck Date: Sat Oct 20 02:39:43 2007 +0200 docs/sysfs: add missing word to sysfs attribute explanation Add the obvious missing word. Signed-off-by: Shaun Zinck Signed-off-by: Adrian Bunk commit 7356337bd2d4416bcaa0158520542dfbd154949c Author: Shaun Zinck Date: Sat Oct 20 02:38:36 2007 +0200 documentation/ext3: grammar fixes Fix some grammar in the explanation of the Journal Block Device layer. Signed-off-by: Shaun Zinck Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 59dd24d32cb379d8c2b9028dcea4ec951633eaf4 Author: Shaun Zinck Date: Sat Oct 20 02:37:21 2007 +0200 Documentation/java.txt: typo and grammar fixes This fixes a typo and rearranges the sentence to make more sense. Signed-off-by: Shaun Zinck Signed-off-by: Adrian Bunk commit bc5b1d55cc653622e612ddc015435c5471810a3c Author: Shaun Zinck Date: Sat Oct 20 02:35:36 2007 +0200 Documentation/filesystems/vfs.txt: typo fix Signed-off-by: Shaun Zinck Signed-off-by: Adrian Bunk commit b2fff3f1b52989dae8dfc76d0a093967c3b75d06 Author: Stefan Richter Date: Sat Oct 20 02:30:47 2007 +0200 include/asm-*/system.h: remove unused set_rmb(), set_wmb() macros These don't appear anywhere else in the kernel anymore. Signed-off-by: Stefan Richter Acked-by: Paul Mundt Acked-by: Greg Ungerer Signed-off-by: Adrian Bunk commit df7c487250b17aa0caeee7d85f120330f1d31355 Author: Fengguang Wu Date: Sat Oct 20 02:26:04 2007 +0200 trivial copy_data_pages() tidy up Change the loop style of copy_data_pages() to remove a duplicate condition. Signed-off-by: Fengguang Wu Acked-by: Rafael J. Wysocki Signed-off-by: Adrian Bunk commit 963151297328eea39933bda23959ce5319e99fb7 Author: Josh Triplett Date: Sat Oct 20 02:23:49 2007 +0200 Fix typo in arch/x86/kernel/tsc_32.c Signed-off-by: Josh Triplett Signed-off-by: Adrian Bunk commit 582fe6fb10b2b437613d38ab97ac08d6f082b650 Author: Cal Peake Date: Sat Oct 20 02:19:33 2007 +0200 file link fix for Pegasus USB net driver help Update the file link in the Pegasus USB network driver's help text. Signed-off-by: Cal Peake Signed-off-by: Adrian Bunk commit d489202ea2d5460a0fe638854eb3d3e63aa902fb Author: Denis Cheng Date: Sat Oct 20 02:18:21 2007 +0200 remove unused return within void return function Signed-off-by: Denis Cheng Signed-off-by: Adrian Bunk commit e9534b3fd7843d1bd5a7a1fe2474a09f72d41ab8 Author: Gabriel Craciunescu Date: Sat Oct 20 02:13:26 2007 +0200 Typo fixes retrun -> return Typo fixes retrun -> return Signed-off-by: Gabriel Craciunescu Signed-off-by: Adrian Bunk commit 88a9b03775cbd5124c91f350b89c0dfb9d6550eb Author: Dave Young Date: Sat Oct 20 02:04:48 2007 +0200 x86 hpet.h: remove broken links Signed-off-by: Dave Young Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 507a6a8c9bd5ba6edfdbcf4a4fd03ec0fe6ac26a Author: Li Yang Date: Sat Oct 20 02:02:12 2007 +0200 Update 2.4 maintainer in document Update the maintainer of 2.4 kernel in Documentations/SubmittingPatches. Signed-off-by: Li Yang Signed-off-by: Adrian Bunk commit 6506f2aa6670da9970ca13daccd466ad7ce2cd29 Author: Uwe Kleine-König Date: Sat Oct 20 01:56:53 2007 +0200 fix comment: unlock_hrtimer_base is the counterpart of lock_hrtimer_base Signed-off-by: Uwe Kleine-König Signed-off-by: Adrian Bunk commit 4a739d55c21298639df2ddeab332b8afef125ebc Author: Uwe Kleine-König Date: Sat Oct 20 01:55:58 2007 +0200 fix typo "sort" -> "short" Signed-off-by: Uwe Kleine-König Signed-off-by: Adrian Bunk commit dbe7f76dd6e7ed4991870f0c779d758b605d9787 Author: Uwe Kleine-König Date: Sat Oct 20 01:55:04 2007 +0200 fix typo "insted" -> "instead" Signed-off-by: Uwe Kleine-König Signed-off-by: Adrian Bunk commit 94547426db2f4f2aad2f640ca074ccb1c6f7e660 Author: Eric Dumazet Date: Sat Oct 20 01:47:49 2007 +0200 Documentation/filesystems/files.txt: remove rcuref_inc_lf() reverences rcuref_inc_lf() is not used anymore. Replace it by atomic_inc_not_zero() Signed-off-by: Eric Dumazet Signed-off-by: Adrian Bunk commit 6888c1ecd63a3e5e206048602b3f59b58f4ffd8f Author: Michael Neuling Date: Sat Oct 20 01:41:05 2007 +0200 kernel/sched.c: remove bogus comment from account_user_time hardirq_offset is no longer needed. Signed-off-by: Michael Neuling Signed-off-by: Adrian Bunk commit 01dd2fbf0da4019c380b6ca22a074538fb31db5a Author: Matt LaPlante Date: Sat Oct 20 01:34:40 2007 +0200 typo fixes Most of these fixes were already submitted for old kernel versions, and were approved, but for some reason they never made it into the releases. Because this is a consolidation of a couple old missed patches, it touches both Kconfigs and documentation texts. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 0f035b8e8491f4ff87f6eec3e3f754d36b39d7a2 Author: Simon Arlott Date: Sat Oct 20 01:30:25 2007 +0200 spelling fixes: Documentation/ Spelling fixes in Documentation/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 5895df967dac8b12c8ed254f5cc4d46f50e88876 Author: Simon Arlott Date: Sat Oct 20 01:29:18 2007 +0200 spelling fixes: lib/ Spelling fix in lib/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 211fee8a82893062f45a7f2e4e50b245bc577c0c Author: Simon Arlott Date: Sat Oct 20 01:28:29 2007 +0200 spelling fixes: init/ Spelling fix in init/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 183ff22bb6bd8188c904ebfb479656ae52230b72 Author: Simon Arlott Date: Sat Oct 20 01:27:18 2007 +0200 spelling fixes: mm/ Spelling fixes in mm/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 676b1855de0a18100b3c340084eb8ef72bde4fb1 Author: Simon Arlott Date: Sat Oct 20 01:25:36 2007 +0200 spelling fixes: arch/x86_64/ Spelling fixes in arch/x86_64/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 5b20311eeae7c5e7d9484cd0878ac756a20a78e4 Author: Simon Arlott Date: Sat Oct 20 01:24:05 2007 +0200 spelling fixes: arch/v850/ Spelling fixes in arch/v850/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit b60745b960dc8313400899fcda310ba51604ffb8 Author: Simon Arlott Date: Sat Oct 20 01:23:03 2007 +0200 spelling fixes: arch/um/ Spelling fixes in arch/um/. Signed-off-by: Simon Arlott Acked-by: Jeff Dike Signed-off-by: Adrian Bunk commit 0c79cf6af16c4a4c9ef539b52387de07f5ed62f5 Author: Simon Arlott Date: Sat Oct 20 01:20:32 2007 +0200 spelling fixes: arch/m68k/ Spelling fixes in arch/m68k/. Signed-off-by: Simon Arlott Acked-by: Geert Uytterhoeven Signed-off-by: Adrian Bunk commit 5aa8b6c1a6136f9b8d91419d93e9e37ccc2e30c0 Author: Simon Arlott Date: Sat Oct 20 01:14:39 2007 +0200 spelling fixes: arch/m32r/ Spelling fixes in arch/m32r/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 27b46d7661dc720224813eb4f452e424f1bf3a9a Author: Simon Arlott Date: Sat Oct 20 01:13:56 2007 +0200 spelling fixes: arch/i386/ Spelling fixes in arch/i386/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 5e71c6051585da46b898b21bd8e5b6df2795f03f Author: Simon Arlott Date: Sat Oct 20 01:10:46 2007 +0200 spelling fixes: arch/h8300/ Spelling fixes in arch/h8300/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 761a7e3544b8192c662d8b67913a353f6a014c08 Author: Simon Arlott Date: Sat Oct 20 01:09:42 2007 +0200 spelling fixes: arch/frv/ Spelling fixes in arch/frv/. Signed-off-by: Simon Arlott Acked-By: David Howells Signed-off-by: Adrian Bunk commit 49b4ff3304b52b18c490fc4deb400b61bb7ed142 Author: Simon Arlott Date: Sat Oct 20 01:08:50 2007 +0200 spelling fixes: arch/cris/ Spelling fixes in arch/cris/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit c3a2ddee16e67c86f3b469ccdd396cda034756a9 Author: Simon Arlott Date: Sat Oct 20 01:04:37 2007 +0200 spelling fixes: arch/alpha/ Spelling fixes in arch/alpha/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 24b7ce985aaa0adc922d0cbd3d53a186c33d7b33 Author: Adrian Bunk Date: Sat Oct 20 01:02:48 2007 +0200 pata_cmd64x.c typo fix Spotted by David Miller . Signed-off-by: Adrian Bunk commit d96267ae4640e3c9b7b32e83dc716824489b7d5c Author: Adrian Bunk Date: Sat Oct 20 01:01:08 2007 +0200 remove duplicate MMAPPER Kconfig option This option is already in arch/um/Kconfig.char Signed-off-by: Adrian Bunk Acked-by: Jeff Dike commit 6da34bae29f51c35b300d89c1bbfe96cdf44d4d5 Author: Serge Hallyn Date: Sat Oct 20 00:53:30 2007 +0200 fix up security_socket_getpeersec_* documentation Update the security_socket_peersec documentation in include/linux/security.h. security_socket_peersec has been split into two functions - _stream and _dgram, with new capabilities. Signed-off-by: Serge Hallyn Signed-off-by: Adrian Bunk commit 118e78d1cd7023c3b155f861072ba10df0265fda Author: Johann Deneux Date: Sat Oct 20 00:47:32 2007 +0200 changed email Changed email address of Johann Deneux (myself) Also removed CVS tags in comments (no longer using cvs) Signed-off-by: Johann Deneux Signed-off-by: Adrian Bunk commit 568e0c1119d7ff33fbcddc0dec9e2c799a53352d Author: Julio M. Merino Vidal Date: Sat Oct 20 00:36:33 2007 +0200 powerpc: Remove obsolete prototype The include/asm-powerpc/paca.h file has a prototype for a function that does not exist any more; its name is setup_boot_paca. This function was removed in commit 4ba99b97dadd35b9ce1438b2bc7c992a4a14a8b1, so its prototype should have been removed at that time too. Signed-off-by: Julio M. Merino Vidal Signed-off-by: Adrian Bunk commit 276d789e1794560d7ce53a7f2687415e2a80bb8a Author: Robert P. J. Day Date: Sat Oct 20 00:32:38 2007 +0200 ide: remove inclusion of non-existent io_trace.h Signed-off-by: Robert P. J. Day Cc: gadio@netvision.net.il Signed-off-by: Bartlomiej Zolnierkiewicz commit 43e7c0c4bfdf750d956b4b5a617395d859f20353 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:37 2007 +0200 ide-disk: add get_smart_data() helper Merge get_smart_values() and get_smart_thresholds() into get_smart_data() helper. Signed-off-by: Bartlomiej Zolnierkiewicz commit 892470b26c3f24c0955bd1bd120a5397b8caeb53 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:37 2007 +0200 ide: fix ->data_phase in taskfile_load_raw() It should be TASKFILE_NO_DATA, not TASKFILE_IN. Luckily ATM ->data_phase is unused if ->command_type == IDE_DRIVE_TASK_NO_DATA but this may change in the future. Signed-off-by: Bartlomiej Zolnierkiewicz commit eda5b359dc8372424eed94f5a3e27c2deb4e76cf Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:37 2007 +0200 ide: check drive->using_dma in flagged_taskfile() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit dd35b7bb86c1ae6adddf68db71481144941246d1 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:37 2007 +0200 ide: check ->dma_setup() return value in flagged_taskfile() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d3bad45f0232e273cce9237d66c98aafe12c0b0e Author: Alan Cox Date: Sat Oct 20 00:32:37 2007 +0200 dtc2278: note on docs Signed-off-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit c196567a81af6988d1a71b43dd21c47e1ff46f6e Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:37 2007 +0200 qd65xx: remove pointless qd_{read,write}_reg() (take 2) These functions are atomic so locking is pointless (noticed by Sergei). v2: We can now just use local_irq_save/restore() in qd_testreg() (noticed by Jeff). Cc: Sergei Shtylyov Acked-by: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit a02bfd3ce9342453441202028df44dc58f90e225 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:37 2007 +0200 ide: PCI BMDMA initialization fixes (take 2) * Set hwif->dma_base only if allocation of extra ports succeeds. While at it: * Move setting of hwif->dma_{base,master} from ide_{mapped_mmio,iomio}_dma() to ide_setup_dma(). * Rename 'dma_base' argument to 'base' in ide_setup_dma() (to make the code obey 80-columns limit and increase its readability). * Remove stale ide_setup_dma() comment. v2: * Change to allocate hwif->dmatable_cpu before reserving I/O ports missed teardown code (spotted by Sergei). On the second thought this change is actually unnecessary so revert it in v2. * Make ide_release_dma_engine() void and remove needless comment. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 52c8136137bc98103249fa195aaacaf84a970d51 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:36 2007 +0200 ide: remove stale comments from ide-taskfile.c Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8a455134091a2ed8012365fcdf5692b80c9bb192 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:36 2007 +0200 ide: remove dead code from ide_driveid_update() * Remove dead code from ide_driveid_update(). While at it: * Remove useless comment. * s/HWIF(drive)/drive->hwif/ Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bbc615b16d64643a3d22ab4890fde1a685e86d83 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:36 2007 +0200 ide: use __ide_end_request() in ide_end_dequeued_request() * Remove dead code for handling IDE TCQ from ide_end_dequeued_request(). * Add 'dequeue' parameter to __ide_end_request(). * Use __ide_end_request() in ide_end_dequeued_request(). Signed-off-by: Bartlomiej Zolnierkiewicz commit bde07e5eab1351109007bf375349f295977e7f53 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:36 2007 +0200 ide: enhance ide_setup_pci_noise() * Print PCI device Vendor ID, Device ID and revision in ide_setup_pci_noise(). * Remove no longer needed PCI device revision printing from ide_setup_pci_controller(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ae6855c0d544739c833c42f4529465cc515d9a3e Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:36 2007 +0200 cs5530: remove needless ide_lock taking Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d393aa0326436efd3cb800916b08cdac4dd1091a Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:36 2007 +0200 ide: take ide_lock for prefetch disable/enable in do_special() Take ide_lock for prefetch disable/enable in do_special(), then cleanup cmd640 and ht6560b host drivers. Signed-off-by: Bartlomiej Zolnierkiewicz commit 69e88d2a754fcaf7ef8ca465586b811cf40dc479 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:35 2007 +0200 ht6560b: fix deadlock on error handling Stop abusing ide_lock lock (switch to a private locking). Fixes same issue as fixed by Alan Cox in atiixp host driver with commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627. ht6560b is a bit special cause we still need to leave ide_lock for ->set_pio_mode with 'pio' argument == 8/9 (prefetch disable/enable). Signed-off-by: Bartlomiej Zolnierkiewicz commit 5bbcf9242d4d15027cbee9618fca4b88b7327c28 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:35 2007 +0200 cmd640: fix deadlock on error handling Stop abusing ide_lock lock (switch to a private locking). Fixes same issue as fixed by Alan Cox in atiixp host driver with commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627. cmd640 is a bit special cause we still need to leave ide_lock for ->set_pio_mode with 'pio' argument == 8/9 (prefetch disable/enable). Signed-off-by: Bartlomiej Zolnierkiewicz commit a482958bf60c434dc12ea0491938c8853d9774fb Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:35 2007 +0200 slc90e66: fix deadlock on error handling * Stop abusing ide_lock lock (switch to a private locking). Fixes same issue as fixed by Alan Cox in atiixp host driver with commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627. * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e65dde715c4241d6b17d86fa4ada2f78668274d9 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:35 2007 +0200 opti621: fix deadlock on error handling * Stop abusing ide_lock lock (switch to a private locking). Fixes same issue as fixed by Alan Cox in atiixp host driver with commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627. * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit f949820de30b6fd0eb958f7eea87dac190de1cec Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:35 2007 +0200 qd65xx: fix deadlock on error handling Stop abusing ide_lock lock (switch to a private locking). Fixes same issue as fixed by Alan Cox in atiixp host driver with commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627. Cc: Sergei Shtylyov Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit a34a8751f312bd4674d48d63556efa8f0e3a1021 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:35 2007 +0200 dtc2278: fix deadlock on error handling Stop abusing ide_lock lock (switch to a private locking). Fixes same issue as fixed by Alan Cox in atiixp host driver with commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2047e15be4247efd430d067aae5bd24c11d99999 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:35 2007 +0200 ali14xx: fix deadlock on error handling Stop abusing ide_lock lock by switching to a private locking. Fixes same issue as fixed by Alan Cox in atiixp host driver with commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8562043606430185cad26d085d46adcc7ad67fd1 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:34 2007 +0200 ide: constify struct ide_port_info Signed-off-by: Bartlomiej Zolnierkiewicz commit 039788e1532368eeca1071a873c14e03920cdf38 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:34 2007 +0200 ide: replace ide_pci_device_t by struct ide_port_info * Rename struct ide_pci_device_s to struct ide_port_info. * Remove ide_pci_device_t typedef. While at it: * Fix __ide_pci_register_driver() comment. * Fix aec62xx_init_one() comment. * Remove unused 'cds' field from ide_hwgroup_t. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6157332edabdf77ccae2a033b53bbc9ae1d70ede Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:33 2007 +0200 via82cxxx: keep local ide_pci_device_t copy * Keep local ide_pci_device_t copy in via_init_one(). * Adjust ide_pci_device_t copy according to id->driver_data in via_init_one() and remove no longer needed second via82cxxx_chipsets[] entry. * via82cxxx_chipsets[] -> via82cxxx_chipset. * Remove IDE_HFLAGS_VIA define. * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit 691da768a36584bd93ccaca248b261588c44f2da Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:33 2007 +0200 dtc2278: set ->pio_mask also for the second port Signed-off-by: Bartlomiej Zolnierkiewicz commit a05e2faa0e2c0157bcdace5d966ceebd37c10da4 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:33 2007 +0200 au1xxx-ide: set ->autotune and ->no_io_32bit also for the slave device Signed-off-by: Bartlomiej Zolnierkiewicz commit 9239b333939dd1e5b1a9f033a1c136273d58efe8 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:33 2007 +0200 ide: remove write-only hwif->hw Signed-off-by: Bartlomiej Zolnierkiewicz commit 18e181fe13b7340194d09e6dd7f571a5f96f0367 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:32 2007 +0200 ide: add hwif->ack_intr hook * Add hwif->ack_intr hook and use it instead of hwif->hw.ack_intr. * Add missing brackets to cris-v32 and powerpc ide_ack_intr() macros. Cc: Roman Zippel Cc: Geert Uytterhoeven Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 86f3a492bb09eee5745b93af35f2212179c251fd Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:32 2007 +0200 icside: use ec->dma directly * hwif->hwif_data contains pointer to struct expansion_card so use ec->dma directly instead of caching it in hwif->hw.dma. * Remove no longer needed hw_regs_t.dma and NO_DMA define. Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 8f173b5bf460a85791c131e774dc992f8cd578c1 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:32 2007 +0200 ide: fix ide_register_hw() to check hwif->io_ports[] hwif->hw.io_ports[] and hwif->io_ports[] should be the same but "4drives" support and scc_pata host driver set only hwif->io_ports[]. To compensate for this check hwif->io_ports[] instead of hwif->hw.io_ports[] in ide_register_hw() (instead of fixing "4drives" and scc_pata because hwif->hw is to be removed). Signed-off-by: Bartlomiej Zolnierkiewicz commit 847ddd2bbe15c6e452606503b5d073826aaaddb7 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:32 2007 +0200 ide: add CONFIG_IDE_ARCH_OBSOLETE_INIT Add CONFIG_IDE_ARCH_OBSOLETE_INIT to drivers/ide/Kconfig and use it instead of defining IDE_ARCH_OBSOLETE_INIT in . Signed-off-by: Bartlomiej Zolnierkiewicz commit f9b93097375761930c52b3a20acd374a8d012fbc Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:31 2007 +0200 ide: remove redundant comments from ide.h There is better documentation for these functions in drivers/ide/. Signed-off-by: Bartlomiej Zolnierkiewicz commit baa8f3e94bc7a7ba3650d80b67d54c3e08365dee Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:31 2007 +0200 ide: add ide_find_port() helper * Add ide_find_port() helper. * Convert icside, rapide and ide_platform host drivers to use it. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8447d9d52adbe4c653482bd0d5ccb9b5d26f9c9d Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:31 2007 +0200 ide: add ide_device_add() * Add ide_device_add() helper and convert host drivers to use it instead of open-coded variants. * Make ide_pci_setup_ports() and do_ide_setup_pci_device() take 'u8 *idx' argument instead of 'ata_index_t *index'. * Remove no longer needed ata_index_t. * Unexport probe_hwif_init() and make it static. * Unexport ide_proc_register_port(). There should be no functionality changes caused by this patch (sgiioc4.c: ide_proc_register_port() requires hwif->present to be set and it won't be set if probe_hwif_init() fails). Signed-off-by: Bartlomiej Zolnierkiewicz commit fd9bb53942a7ca3398a63f2c238afd8fbed3ec0e Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:31 2007 +0200 ide: add ->fixup method to ide_hwif_t * Add ->fixup method to ide_hwif_t. * Set hwif->fixup in ide_pci_setup_ports() to d->fixup. * Use hwif->fixup in probe_hwif(). * Use probe_hwif_init() instead of probe_hwif_init_with_fixup() in ide_setup_pci_device(). * Add 'fixup' argument to ide_register_hw() and use it to set hwif->fixup, update all ide_register_hw() users accordingly. * Convert ide-cs/delkin_cb host drivers to use ide_register_hw(). * Restore hwif->fixup in ide_hwif_restore(). * Remove ide_register_hw_with_fixup(), probe_hwif_init_with_fixup() and 'fixup' argument from probe_hwif(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 438c470261036db25bfae15235ba99812e3dc763 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:31 2007 +0200 siimage: separate PATA and SATA methods * Split off sil_sata_udma_filter() from sil_udma_filter() and rename sil_udma_filter() to sil_pata_udma_filter(). * Rename siimage_busproc() to sil_sata_busproc(). * Rename siimage_reset_poll() to sil_sata_reset_poll() and in init_hwif_siimage() set ->reset_poll method only for SATA controllers. * Rename siimage_pre_reset() to sil_sata_pre_reset(), in init_hwif_siimage() set ->pre_reset method only for SATA controllers and remove redundant is_sata() call. * Add CONFIG_BLK_DEV_IDE_SATA #ifdef/#endif to pdev_is_sata() so compiler will know to throw out unused SATA code for CONFIG_BLK_DEV_IDE_SATA=n case (830 bytes saved on x86-32). * Bump driver version. Some minor cleanups while at it: * Convert sil_{pata,sata}_udma_filter() to use ATA_UDMA* defines. * In siimage_mmio_ide_dma_test_irq() move 'base' variable under 'if (SATA_ERROR_REG)' block. * Simplify sil_sata_reset_poll() a bit. * Cache is_sata() result in init_hwif_siimage() Signed-off-by: Bartlomiej Zolnierkiewicz commit b1e03865434ef559222b69ba36ebe4fd9437aa86 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:31 2007 +0200 aec62xx: remove aec62xx_dma_lost_irq() * Remove aec62xx_dma_lost_irq() (generic ide_dma_lost_irq() will be used now). * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 283283070f2607ed759563613c044f96f1546834 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:30 2007 +0200 alim15x3: use ->host_flags and ->udma_mask fields from ide_pci_device_t * Make a local copy of ali15x3_chipset in alim15x3_init_one() and set ->host_flags / ->udma_mask according to the controller capabilities. * Cleanup init_hwif_common_ali15x3(). * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit cad221aa82c6f434c1d78bee1d485b5b69c626f8 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:30 2007 +0200 alim15x3: fix CD_ROM DMA and PIO FIFO settings setup * Setup CD_ROM DMA and PIO FIFO settings in init_chipset_ali15x3() instead of ata66_ali15x3(). The latter is called from init_hwif_common_ali15x3() only if DMA base exists (which insists m5529_revision > 0x20). This changes makes CD_ROM DMA / PIO FIFO bits being set only once and also when "idex=ata66" kernel parameter is used. * While at it move also chip_is_1543c_e setup from ata66_ali15x3() to init_chipset_ali15x3() and check if isa_dev exists before accessing it. * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit caea7602f309cbd55ba609800fd3c3e5d19ab684 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:30 2007 +0200 ide: add IDE_HFLAG_{IO_32BIT,UNMASK_IRQS} host flags Add IDE_HFLAG_{IO_32BIT,UNMASK_IRQS} host flag to tell ide_pci_setup_ports() to set drive->{io_32bit,unmask} for both drives on the interface. Convert amd74xx, sl82c105 and via82cxxx host drivers to use these new host flags. While at it: * Add IDE_HFLAGS_AMD define (amd74xx host driver). * Add IDE_HFLAGS_VIA define (via82cxxx host driver). Signed-off-by: Bartlomiej Zolnierkiewicz commit 272a370900e5d2ae84662338397bb7b2375ff5cf Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:30 2007 +0200 ide: add IDE_HFLAG_RQSIZE_256 host flag Add IDE_HFLAG_RQSIZE_256 host flag to tell ide_pci_setup_ports() to set hwif->rqsize to 256 sectors. Convert pdc202xx_old host driver to use it. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8acf28c090f0e5e049f56b27bdd7cf1fb40c6b98 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:30 2007 +0200 ide: add IDE_HFLAG_FORCE_LEGACY_IRQS host flag Add IDE_HFLAG_FORCE_LEGACY_IRQS host flag to tell ide_pci_setup_ports() to always set hwif->irq to legacy IRQ 14/15 and convert generic IDE PCI and via82cxxx host drivers to use it. While at it: * Add IDE_HFLAGS_UMC define (generic IDE PCI host driver). * Remove no longer needed init_hwif_generic() (generic IDE PCI host driver). * Set d->udma_mask instead of hwif->ultra_mask (via82cxxx host driver). Signed-off-by: Bartlomiej Zolnierkiewicz commit 528a572daea90aa41db92683e5a8756acef514c4 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:30 2007 +0200 ide: add ->chipset field to ide_pci_device_t Add ->chipset field to ide_pci_device_t and use it in ide_hwif_configure() to set hwif->chipset. Convert cmd64x, cy82c693, rz1000 and trm290 host drivers to use this new ability. While at it define hwif_chipset_t as u8 to save some space in hw_regs_t, ide_hwif_t and ide_pci_device_t instances. Signed-off-by: Bartlomiej Zolnierkiewicz commit 44a59ad59f4285ce91e61f05e65a3e8fd0943c85 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:29 2007 +0200 ide: remove unused ->next field from ide_pci_device_t Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9601a607cceb3632cde6c66fe28a3673dcd20be5 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:29 2007 +0200 ide: add hwif_register_devices() helper Add hwif_register_devices() helper to fix code duplication between probe_hwif_init_with_fixup() and ideprobe_init(). Also remove stale comment while at it. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b515da89c6f4d3c3c2a19358ce0304046c043ea1 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:29 2007 +0200 serverworks: remove dead code from svwks_set_dma_mode() Signed-off-by: Bartlomiej Zolnierkiewicz commit 746f312a5606bbfc616a16f830705ec8cb54ab9a Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:29 2007 +0200 rz1000: set serialized flag only if mate interface exists Setting hwif->serialized makes sense only if the mate interface exists. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit cf6e854efb3682322351a21e64058ffc13250914 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:29 2007 +0200 ide: fix disabled ports reporting for PCI controllers Report all disabled ports in ide_pci_setup_ports() (prevents the bogus warning when ide_hwif_configure()->ide_match_hwif() fails to find free ide_hwifs[] slots). Signed-off-by: Bartlomiej Zolnierkiewicz commit e9a0765eac3c8df7094fd49f94ae83d80cbe4128 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:29 2007 +0200 cmd64x: always set hwif->chipset for CMD646 hwif->chipset should be set to ide_cmd646 also when DMA base is invalid. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3dfd6433ff4d037262a4b8bede022e1d4bac06e3 Author: Adrian Bunk Date: Sat Oct 20 00:32:29 2007 +0200 ide/pci/sis5513.c: add missing "else" This patch adds a missing "else" that was missing in commit c77a89cd98d99819f23a4a08e5e17ee1f13f6e4d. Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Cc: Sergei Shtylyov , Signed-off-by: Bartlomiej Zolnierkiewicz commit 9aa5e993fa0f1a8c2c900bdfb80697d77b6dc223 Author: Daniel Roesen Date: Sat Oct 20 00:30:06 2007 +0200 trivial comment wording/typo fix regarding taint flags Signed-off-by: Daniel Roesen Signed-off-by: Adrian Bunk commit 5a56db1c0fe196eea896078338fbf9258ab8365b Author: Robert P. J. Day Date: Sat Oct 20 00:25:12 2007 +0200 LIB: Replace inappropriate include of Replace an irrelevant include of bug.h with the more appropriate includes of slab.h and module.h. it's not as if the original inclusion is an error, it's simply not related to the contents of that source file, while the other two are. compile-tested on i386. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 5c5f4fee64adec284fbdc0196675a345e84ab638 Author: Robert P. J. Day Date: Sat Oct 20 00:26:06 2007 +0200 H8300: Typo: "buildin" -> "builtin" Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 698524d78debfb0334fbf5f527c6f809088376d1 Author: Robert P. J. Day Date: Sat Oct 20 00:22:16 2007 +0200 Documentation: Remove unreferenced "blkmtd_*" parms Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 0a8141e2ebd95592db80667effc322304d3f3740 Author: Robert P. J. Day Date: Sat Oct 20 00:20:15 2007 +0200 XTENSA: Emphasize that the "eth" boot-time parm takes a value Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 4aad794a8a4233059334937fea541167a97b395b Author: Robert P. J. Day Date: Sat Oct 20 00:19:06 2007 +0200 BOOT: Show that no_ipi_broadcast() takes a parameter. a rather obvious fix given the opening of the function: ... static __init int no_ipi_broadcast(char *str) { get_option(&str, &no_broadcast); ... Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 343b9019808eb4df2a1b4429a8b95d21bf45a9e9 Author: Robert P. J. Day Date: Sat Oct 20 00:15:26 2007 +0200 Documentation: Add nested versions of mutex locks to docs Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit cfd348fd6e2a5dcba68f4195ca642602d3a33cc3 Author: Robert P. J. Day Date: Sat Oct 20 00:12:55 2007 +0200 Documentation: Remove reference to non-existent "unwind_debug" kernel parm Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 646b1c9dad52f3ab17e4e44b2bb7f24aad956db6 Author: Robert P. J. Day Date: Sat Oct 20 00:11:36 2007 +0200 Documentation: Fix erroneous "dmascc=" documentation Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 30afddadac9b3423912e7729b5dec17d638e415f Author: Robert P. J. Day Date: Sat Oct 20 00:03:32 2007 +0200 Documentation: Remove references to dead "eda" and "edb" kernel parms Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 23d028f69ab73957c0d40ae3e1a2654c985a95d6 Author: Robert P. J. Day Date: Sat Oct 20 00:01:12 2007 +0200 Documentation: Remove references to dead "cyclades=" boot option Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 02a72fd6757c955ea8fe81e6ec3ab07a2a9e6ba5 Author: Robert P. J. Day Date: Fri Oct 19 23:47:50 2007 +0200 Documentation: Remove reference to non-existent "applicom" kernel parm Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit ac0bf14df705f5fa93a06a62e51e632b4394ee41 Author: Robert P. J. Day Date: Fri Oct 19 23:33:35 2007 +0200 Documentation: Remove references to dead "noasync" kernel parm Signed-off-by: Robert P. J. Day Acked-by: Geert Uytterhoeven Signed-off-by: Adrian Bunk commit 634fe2fdbf2ea7066fbb13373cf3d0e02d47fbae Author: Robert P. J. Day Date: Fri Oct 19 23:32:16 2007 +0200 Documentation: Remove reference to dead "lasi" kernel parm Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit cd1c34f21f5bd1035aec3d082bbb0583b994a2b5 Author: Robert P. J. Day Date: Fri Oct 19 23:28:40 2007 +0200 Documentation: Delete final reference to "sg_def_reserved_size" kernel parm given the following: $ grep -rw sg_def_reserved_size * Documentation/kernel-parameters.txt: sg_def_reserved_size= [SCSI] $ that kernel parameter looks exceedingly dead. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit bd9fcb44a7edf69c6f3f045cba0db106c194fcc1 Author: Robert P. J. Day Date: Fri Oct 19 23:27:18 2007 +0200 Documentation: Remove remaining useless reference to acpi_fake_ecdt >From commit cd8c93a4e04dce8f00d1ef3a476aac8bd65ae40b: "Similar functionality was turned on by acpi_fake_ecdt=1 command line before. Now it is on all the time." Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit c03983ac9b268d4bbb8c2600baba5798aefa9d5d Author: Jean Delvare Date: Fri Oct 19 23:22:55 2007 +0200 Spelling fix: explicitly From: Jean Delvare Signed-off-by: Jean Delvare Signed-off-by: Adrian Bunk commit db955170d40601d9925f01712782fbe3ce362b7e Author: Marcin Garski Date: Fri Oct 19 23:22:11 2007 +0200 more UTF-8 conversions Signed-off-by: Adrian Bunk commit 96de0e252cedffad61b3cb5e05662c591898e69a Author: Jan Engelhardt Date: Fri Oct 19 23:21:04 2007 +0200 Convert files to UTF-8 and some cleanups * Convert files to UTF-8. * Also correct some people's names (one example is Eißfeldt, which was found in a source file. Given that the author used an ß at all in a source file indicates that the real name has in fact a 'ß' and not an 'ss', which is commonly used as a substitute for 'ß' when limited to 7bit.) * Correct town names (Goettingen -> Göttingen) * Update Eberhard Mönkeberg's address (http://lkml.org/lkml/2007/1/8/313) Signed-off-by: Jan Engelhardt Signed-off-by: Adrian Bunk commit 603c83da19cf42d0f94022ac2fa389a431e32b84 Author: Trond Myklebust Date: Thu Oct 18 19:59:20 2007 -0400 NFSv4: Fix an rpc_cred reference leakage in fs/nfs/delegation.c Signed-off-by: Trond Myklebust commit a49c3c7736a2e77931dabc5bc4a83fb4b2da013e Author: Trond Myklebust Date: Thu Oct 18 18:03:27 2007 -0400 NFSv4: Ensure that we wait for the CLOSE request to complete Otherwise, we do end up breaking close-to-open semantics. We also end up breaking some of the silly-rename tests in Connectathon on some setups. Please refer to the bug-report at http://bugzilla.linux-nfs.org/show_bug.cgi?id=150 Signed-off-by: Trond Myklebust commit 565277f63c616e11c37309a1e98c052d18ebbb55 Author: Trond Myklebust Date: Mon Oct 15 18:17:53 2007 -0400 NFS: Fix a race in sillyrename lookup() and sillyrename() can race one another because the sillyrename() completion cannot take the parent directory's inode->i_mutex since the latter may be held by whoever is calling dput(). We therefore have little option but to add extra locking to ensure that nfs_lookup() and nfs_atomic_open() do not race with the sillyrename completion. If somebody has looked up the sillyrenamed file in the meantime, we just transfer the sillydelete information to the new dentry. Please refer to the bug-report at http://bugzilla.linux-nfs.org/show_bug.cgi?id=150 Signed-off-by: Trond Myklebust commit 61e930a904966cc37e0a3404276f0b73037e57ca Author: Trond Myklebust Date: Thu Oct 18 17:08:05 2007 -0400 NFS: Fix a writeback race... This patch fixes a regression that was introduced by commit 44dd151d5c21234cc534c47d7382f5c28c3143cd We cannot zero the user page in nfs_mark_uptodate() any more, since a) We'd be modifying the page without holding the page lock b) We can race with other updates of the page, most notably because of the call to nfs_wb_page() in nfs_writepage_setup(). Instead, we do the zeroing in nfs_update_request() if we see that we're creating a request that might potentially be marked as up to date. Thanks to Olivier Paquet for reporting the bug and providing a test-case. Signed-off-by: Trond Myklebust commit 739253765ed55742431866b19330fa0e1012c417 Author: Josh Boyer Date: Sat Oct 20 00:53:12 2007 +1000 [POWERPC] 4xx: Enable EMAC on Bamboo board Fix some device tree omissions that prevented the new EMAC driver from setting up ethernet on the Bamboo board correctly and update the Bamboo defconfig. Signed-off-by: Josh Boyer commit b3af7a55da9925b73136d5358573e8962dfd35a0 Author: Josh Boyer Date: Sat Oct 20 00:53:11 2007 +1000 [POWERPC] 4xx: Enable EMAC for PPC405 Walnut board This patch enables the ibm_newemac driver for the Walnut board. It fixes the device tree for the walnut board to order the MAL interrupts correctly and adds the local-mac-address property to the EMAC node. The bootwrapper is also updated to extract the MAC address from the OpenBIOS offset where it is stored. Signed-off-by: Josh Boyer commit 094624fa66758e9f555587c29b23cf5bc67c10fd Author: Josh Boyer Date: Sat Oct 20 00:53:10 2007 +1000 [POWERPC] 4xx: Fix timebase clock selection on Walnut The current bootwrapper fails to set the timebase clock to the CPU clock which causes the time to increment incorrectly. This fixes it by using the correct #define for the CPC0_CR1 register. Signed-off-by: Josh Boyer commit 16fdad334c5ba055b8eb79a97da561fbdfacd15e Author: Josh Boyer Date: Sat Oct 20 00:53:09 2007 +1000 [POWERPC] 4xx: Enable EMAC on the PPC 440GP Ebony board Update the Ebony defconfig to enable the ibm_newemac driver. Signed-off-by: Josh Boyer commit 1d5499b5ac6515991a5149f934cb6f0ead653dbc Author: Valentine Barshak Date: Thu Oct 18 22:55:13 2007 +1000 [POWERPC] 4xx: Split early debug output and early boot console for 44x Currently there's no way to enable early boot console on PowerPC 44x not specifying uart's physical address in kernel config, which is used for very early debug messages. This patch splits very early debug output (which needs uart physical address in kernel config) and early boot console (which searches for uarts in the device tree using find_legacy_serial_ports). We enable early boot console for all 44x processors, while (dangerous) early debug is user-selectable. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit b7c1dfba0c458114692cb5948d0405c64b40a25b Author: Valentine Barshak Date: Tue Oct 16 03:58:37 2007 +1000 [POWERPC] 4xx: Enable NEW EMAC support for Sequoia 440EPx. This patch enables NEW EMAC support for PowerPC 440EPx Sequoia board. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 1f69dcfdaef84614b3ac7ac113d1b9a286afb9a0 Author: Valentine Barshak Date: Tue Oct 2 00:12:09 2007 +1000 [POWERPC] 4xx: Add RGMII support for Sequoia 440EPx This adds RGMII support to Sequoia DTS and sets correct phy-mode for EMACs. According to Sequoia datasheet, both ethernet ports are connected to RGMII interface, while ZMII is used only for MDIO. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 3f5b98a2a0cba3351f96fcaa6d79aa1a0d93ee78 Author: Robert P. J. Day Date: Fri Oct 19 23:15:26 2007 +0200 Documentation: Delete dead OSS-related kernel parameter. Since the OSS-related "sb" kernel parameter doesn't seem to be supported, drop its reference from the kernel-parameters.txt file. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 9f5e0bffe59a27767e40753c8effd2357d5f68d3 Author: Robert P. J. Day Date: Fri Oct 19 23:14:24 2007 +0200 Documentation: Drop reference to dead "eicon" kernel paramter. Signed-off-by: Robert P. J. Day Acked-by: Armin Schindler Signed-off-by: Adrian Bunk commit d8af7c6ab0bc4e2404f290801982b40223a97408 Author: Robert P. J. Day Date: Fri Oct 19 23:13:32 2007 +0200 Drop the superfluous test for an old version of gcc. The header file already enforces a suitably recent version of gcc, so there's no point checking for that again. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit b7076156af7a87799c0e425db5aec8378be1c3ea Author: Robert P. J. Day Date: Fri Oct 19 23:12:43 2007 +0200 Remove long-dead commented-out MODULE_PARM reference. Remove the useless comment referring to the obsolete MODULE_PARM macro. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 8518609deeacebafd71855f87cc411adb0c3be4e Author: Robert P. J. Day Date: Fri Oct 19 23:11:38 2007 +0200 Explain clearly why kmalloc() can't use __GFP_HIGHMEM. Fix the wishy-washy comment to clearly explain why kmalloc() can't use the __GFP_HIGHMEM zone modifier. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 3a4fa0a25da81600ea0bcd75692ae8ca6050d165 Author: Robert P. J. Day Date: Fri Oct 19 23:10:43 2007 +0200 Fix misspellings of "system", "controller", "interrupt" and "necessary". Fix the various misspellings of "system", controller", "interrupt" and "[un]necessary". Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 18735dd8d2d37031b97f9e9e106acbaed01eb896 Author: John Anthony Kazos Jr Date: Fri Oct 19 23:07:36 2007 +0200 crypto: convert crypto.h to UTF-8 Convert the encoding of from ISO-8859-1 to UTF-8. Signed-off-by: John Anthony Kazos Jr. Signed-off-by: Adrian Bunk commit 991d17403c24421614ca74d2a1cae8878f3097c9 Author: John Anthony Kazos Jr Date: Fri Oct 19 23:06:17 2007 +0200 crypto: convert "crypto" subdirectory to UTF-8 Convert the subdirectory "crypto" to UTF-8. The files changed are and . Signed-off-by: John Anthony Kazos Jr. Signed-off-by: Adrian Bunk commit 2e977c85d78e2ae846d313d0c139d0efbc0c1207 Author: Patrick Ringl Date: Fri Oct 19 23:05:02 2007 +0200 fix typos in drivers/block/Kconfig Signed-off-by: Adrian Bunk commit 7bb9d092de0b21f8f3f0a20dc2ec84395549fb62 Author: Sam Ravnborg Date: Fri Oct 19 22:20:02 2007 +0200 kbuild: fix first module build When building a specific module before doing a total kernel build it failed because $(MORVERDIR) were missing. Creating the MODVERDIR explicit (independent of KBUILD_MODULES) fixed this. As a side-effect the MODVERDIR will be created also for a non-module build - but no harm done by that. Signed-off-by: Sam Ravnborg commit 6e66b9005dfc9e0bc6785d734745a4bf8f85f16b Author: Randy Dunlap Date: Fri Oct 19 10:53:48 2007 -0700 kconfig: update kconfig-language text Add kconfig-language docs for mainmenu, def_bool, and def_tristate. Remove "requires" as a synonym of "depends on" since it was removed from the parser in commit 247537b9a270b52cc0375adcb0fb2605a160cba5. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 910b40468a9ce3f2f5d48c5d260329c27d45adb5 Author: Sam Ravnborg Date: Fri Oct 19 21:46:01 2007 +0200 kbuild: introduce cc-cross-prefix cc-cross-prefix is useful for the architecture that like to provide a default CROSS_COMPILE value, but may have several to select between. Sample usage: ifneq ($(SUBARCH),$(ARCH)) ifeq ($(CROSS_COMPILE),) CROSS_COMPILE := $(call cc-cross-prefix, m68k-linux-gnu- m68k-linux-) endif endif Actual usage by the different archs will taken care of later. Signed-off-by: Sam Ravnborg commit 1b3e4c706c19dec10b11dac1b23071e3e4b262ad Author: Stephen Rothwell Date: Thu Oct 18 23:41:11 2007 -0700 NULL terminate the pci_device_ids in pasemi_edac Fixes: drivers/edac/pasemi_edac: struct pci_device_id is 32 bytes. The last of 1 is: 0x00 0x00 0x19 0x59 0x00 0x00 0xa0 0x0a 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 FATAL: drivers/edac/pasemi_edac: struct pci_device_id is not terminated with a NULL entry! Signed-off-by: Stephen Rothwell Cc: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a39bc51691a0c8880b7d10fa7c2f034f3ba9a037 Author: Alexey Dobriyan Date: Thu Oct 18 23:41:10 2007 -0700 Uninline fork.c/exit.c Save ~650 bytes here. add/remove: 4/0 grow/shrink: 0/7 up/down: 430/-1088 (-658) function old new delta __copy_fs_struct - 202 +202 __put_fs_struct - 112 +112 __exit_fs - 58 +58 __exit_files - 58 +58 exit_files 58 2 -56 put_fs_struct 112 5 -107 exit_fs 161 2 -159 sys_unshare 774 590 -184 copy_process 4031 3840 -191 do_exit 1791 1597 -194 copy_fs_struct 202 5 -197 No difference in lmbench lat_proc tests on 2-way Opteron 246. Smaaaal degradation on UP P4 (within errors). [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alexey Dobriyan Cc: Arjan van de Ven Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a24efe62dd165be7d03431cf936ae17d345fed69 Author: Mariusz Kozlowski Date: Thu Oct 18 23:41:09 2007 -0700 kernel/fork.c: remove unneeded variable initialization in copy_process() This initialization of is not needed so just remove it. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26e3d11dd32da3768d64639899ccdb8a2649116f Author: Mathieu Desnoyers Date: Thu Oct 18 23:41:08 2007 -0700 Linux Kernel Markers - Documentation Here is some documentation explaining what is/how to use the Linux Kernel Markers. Signed-off-by: Mathieu Desnoyers Acked-by: "Frank Ch. Eigler" Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31155bc03e35a8d2b2551bc2eea3da5791e1b776 Author: Mathieu Desnoyers Date: Thu Oct 18 23:41:08 2007 -0700 Linux Kernel Markers - Samples Module example showing how to use the Linux Kernel Markers. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 267c4025f2e198a4e551556a6db31a554ca51814 Author: Mathieu Desnoyers Date: Thu Oct 18 23:41:07 2007 -0700 markers: Add samples subdir Begin infrastructure for kernel code samples in the samples/ directory. Add its Kconfig and Kbuild files. Source its Kconfig file in all arch/ Kconfigs. Signed-off-by: Randy Dunlap Signed-off-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8256e47cdc8923e9959eb1d7f95d80da538add80 Author: Mathieu Desnoyers Date: Thu Oct 18 23:41:06 2007 -0700 Linux Kernel Markers The marker activation functions sits in kernel/marker.c. A hash table is used to keep track of the registered probes and armed markers, so the markers within a newly loaded module that should be active can be activated at module load time. marker_query has been removed. marker_get_first, marker_get_next and marker_release should be used as iterators on the markers. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Mathieu Desnoyers Acked-by: "Frank Ch. Eigler" Cc: Christoph Hellwig Cc: Rusty Russell Cc: Mike Mason Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09cadedbdc01f1a4bea1f427d4fb4642eaa19da9 Author: Mathieu Desnoyers Date: Thu Oct 18 23:41:05 2007 -0700 Combine instrumentation menus in kernel/Kconfig.instrumentation Quoting Randy: "It seems sad that this patch sources Kconfig.marker, a 7-line file, 20-something times. Yes, you (we) don't want to put those 7 lines into 20-something different files, so sourcing is the right thing. However, what you did for avr32 seems more on the right track to me: make _one_ Instrumentation support menu that includes PROFILING, OPROFILE, KPROBES, and MARKERS and then use (source) that in all of the arches." Signed-off-by: Mathieu Desnoyers Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c3f0b8e07de78a86f2dce911f5e245845ce40a8 Author: Mathieu Desnoyers Date: Thu Oct 18 23:41:04 2007 -0700 Change struct marker users Prior to use struct marker in the linux kernel markers, we need to clean two drivers which use this structure name. Change bonding driver types : - struct marker to struct bond_marker. - marker_t to bond_marker_t. - marker_header to bond_marker_header. - marker_header_t to bond_marker_header_t. Change qla4xxx struct marker_entry usage : - Change struct marker_entry for struct qla4_marker_entry. Signed-off-by: Mathieu Desnoyers Cc: Chad Tindel Cc: Jay Vosburgh Cc: David Somayajulu Cc: James Bottomley Cc: Ravi Anand Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68318b8e0b61f98f0be833cc862ab6dee69348b4 Author: Srivatsa Vaddagiri Date: Thu Oct 18 23:41:03 2007 -0700 Hook up group scheduler with control groups Enable "cgroup" (formerly containers) based fair group scheduling. This will let administrator create arbitrary groups of tasks (using "cgroup" pseudo filesystem) and control their cpu bandwidth usage. [akpm@linux-foundation.org: fix cpp condition] Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Dhaval Giani Cc: Randy Dunlap Cc: Balbir Singh Cc: Paul Menage Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb391599f2eaf22197e3e914187c957ef7eeb4c5 Author: Bernhard Walle Date: Thu Oct 18 23:41:02 2007 -0700 Add documentation for extended crashkernel syntax This adds the documentation for the extended crashkernel syntax into Documentation/kdump/kdump.txt. Signed-off-by: Bernhard Walle Cc: Andi Kleen Cc: "Luck, Tony" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: Vivek Goyal Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d7712a385d5b0a6f921dbd9b66ad3aaed387b5e Author: Bernhard Walle Date: Thu Oct 18 23:41:02 2007 -0700 Use extended crashkernel command line on sh This patch removes the crashkernel parsing from arch/sh/kernel/machine_kexec.c and calls the generic function, introduced in the generic patch, in setup_bootmem_allocator(). This is necessary because the amount of System RAM must be known in this function now because of the new syntax. Signed-off-by: Bernhard Walle Acked-by: Paul Mundt Cc: Vivek Goyal Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edd8ce67436851a62f99f1d9707b40ea6a8e5323 Author: Bernhard Walle Date: Thu Oct 18 23:41:01 2007 -0700 Use extended crashkernel command line on ppc64 This patch adapts the ppc64 code to use the generic parse_crashkernel() function introduced in the generic patch of that series. Signed-off-by: Bernhard Walle Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Vivek Goyal Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb3808532eeb1719667356157fac9222ccb2c4ff Author: Bernhard Walle Date: Thu Oct 18 23:41:00 2007 -0700 Use extended crashkernel command line on ia64 This patch adapts IA64 to use the generic parse_crashkernel() function instead of its own parsing for the crashkernel command line. Because the total amount of System RAM must be known when calling this function, efi_memmap_init() is modified to return its accumulated total_memory variable. Also, the crashkernel handling is moved in an own function in arch/ia64/kernel/setup.c to make the code more readable. [kamalesh@linux.vnet.ibm.com: build fix] Signed-off-by: Bernhard Walle Cc: "Luck, Tony" Cc: Vivek Goyal Cc: "Eric W. Biederman" Signed-off-by: Kamalesh Babulal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c3391f9f749023a49c64d607da4fb49263690eb Author: Bernhard Walle Date: Thu Oct 18 23:40:59 2007 -0700 Use extended crashkernel command line on x86_64 This patch removes the crashkernel parsing from arch/x86_64/kernel/machine_kexec.c and calls the generic function, introduced in the last patch, in setup_bootmem_allocator(). This is necessary because the amount of System RAM must be known in this function now because of the new syntax. Signed-off-by: Bernhard Walle Cc: Andi Kleen Cc: Vivek Goyal Cc: "Eric W. Biederman" Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d62cc47163ba2acad6a3c7edec7d522b9e89f0d2 Author: Bernhard Walle Date: Thu Oct 18 23:40:59 2007 -0700 Use extended crashkernel command line on i386 This patch removes the crashkernel parsing from arch/i386/kernel/machine_kexec.c and calls the generic function, introduced in the last patch, in setup_bootmem_allocator(). This is necessary because the amount of System RAM must be known in this function now because of the new syntax. Signed-off-by: Bernhard Walle Cc: Andi Kleen Cc: Vivek Goyal Cc: "Eric W. Biederman" Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cba63c3089fe57bfafff56239a67ac26bfe027a0 Author: Bernhard Walle Date: Thu Oct 18 23:40:58 2007 -0700 Extended crashkernel command line This patch adds a extended crashkernel syntax that makes the value of reserved system RAM dependent on the system RAM itself: crashkernel=:[,:,...][@offset] range=start-[end] For example: crashkernel=512M-2G:64M,2G-:128M The motivation comes from distributors that configure their crashkernel command line automatically with some configuration tool (YaST, you know ;)). Of course that tool knows the value of System RAM, but if the user removes RAM, then the system becomes unbootable or at least unusable and error handling is very difficult. This series implements this change for i386, x86_64, ia64, ppc64 and sh. That should be all platforms that support kdump in current mainline. I tested all platforms except sh due to the lack of a sh processor. This patch: This is the generic part of the patch. It adds a parse_crashkernel() function in kernel/kexec.c that is called by the architecture specific code that actually reserves the memory. That function takes the whole command line and looks itself for "crashkernel=" in it. If there are multiple occurrences, then the last one is taken. The advantage is that if you have a bootloader like lilo or elilo which allows you to append a command line parameter but not to remove one (like in GRUB), then you can add another crashkernel value for testing at the boot command line and this one overwrites the command line in the configuration then. Signed-off-by: Bernhard Walle Cc: Andi Kleen Cc: "Luck, Tony" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: Vivek Goyal Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 283bb7fada7e33a759d8fc9bd7a44532e4ad420e Author: Pierre Peiffer Date: Thu Oct 18 23:40:57 2007 -0700 IPC: fix error case when idr-cache is empty in ipcget() With the use of idr to store the ipc, the case where the idr cache is empty, when idr_get_new is called (this may happen even if we call idr_pre_get() before), is not well handled: it lets semget()/shmget()/msgget() return ENOSPC when this cache is empty, what 1. does not reflect the facts and 2. does not conform to the man(s). This patch fixes this by retrying the whole process of allocation in this case. Signed-off-by: Pierre Peiffer Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ac88a41ff747b8c2f290f86b5243b2f8fce2cc0 Author: Kirill Korotaev Date: Thu Oct 18 23:40:56 2007 -0700 virtualization of sysv msg queues is incomplete Virtualization of sysv msg queues is incomplete: msg_hdrs and msg_bytes variables visible from userspace are global. Let's make them per-namespace. Signed-off-by: Alexey Kuznetsov Signed-off-by: Kirill Korotaev Cc: Pierre Peiffer Cc: Nadia Derbey Cc: Serge Hallyn Acked-by: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c530c6ac7eb1d4ae1ff6b382d9211be446ee82c6 Author: Pierre Peiffer Date: Thu Oct 18 23:40:55 2007 -0700 IPC: cleanup some code and wrong comments about semundo list managment Some comments about sem_undo_list seem wrong. About the comment above unlock_semundo: "... If task2 now exits before task1 releases the lock (by calling unlock_semundo()), then task1 will never call spin_unlock(). ..." This is just wrong, I see no reason for which task1 will not call spin_unlock... The rest of this comment is also wrong... Unless I miss something (of course). Finally, (un)lock_semundo functions are useless, so remove them for simplification. (this avoids an useless if statement) Signed-off-by: Pierre Peiffer Cc: Nadia Derbey Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b531f213661657d6e1c55cf5c97f649d630c227 Author: Nadia Derbey Date: Thu Oct 18 23:40:55 2007 -0700 ipc: remove unneeded parameters Remvoe the unneeded parameters from ipc_checkid() and ipc_buildid() interfaces. Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e148c79938aa39035669c1cfa3ff60722134535 Author: Nadia Derbey Date: Thu Oct 18 23:40:54 2007 -0700 fix idr_find() locking This is a patch that fixes the way idr_find() used to be called in ipc_lock(): in all the paths that don't imply an update of the ipcs idr, it was called without the idr tree being locked. The changes are: . in ipc_ids, the mutex has been changed into a reader/writer semaphore. . ipc_lock() now takes the mutex as a reader during the idr_find(). . a new routine ipc_lock_down() has been defined: it doesn't take the mutex, assuming that it is being held by the caller. This is the routine that is now called in all the update paths. Signed-off-by: Nadia Derbey Acked-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4566f04854d78acfc74b9acb029744acde9d033 Author: Nadia Derbey Date: Thu Oct 18 23:40:53 2007 -0700 ipc: fix wrong comments This patch fixes the wrong / obsolete comments in the ipc code. Also adds a missing lock around ipc_get_maxid() in shm_get_stat(). Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28028313134e9f11e49f74a4beaa47c91e5ebf06 Author: Nadia Derbey Date: Thu Oct 18 23:40:52 2007 -0700 ipc: inline ipc_buildid() This is a trivial patch that changes the ipc_buildid() routine into a static inline. Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce621f5ba52f30dd59aef4fb50276faee04ef9cf Author: Nadia Derbey Date: Thu Oct 18 23:40:52 2007 -0700 ipc: introduce the ipcid_to_idx macro This is a trivial patch that changes all the (id % SEQ_MULTIPLIER) into a call to the ipcid_to_idx(id) macro. Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03f02c7657f7948ab980280c54c9366f962b1474 Author: Nadia Derbey Date: Thu Oct 18 23:40:51 2007 -0700 Storing ipcs into IDRs This patch converts casts of struct kern_ipc_perm to . struct msg_queue . struct sem_array . struct shmid_kernel into the equivalent container_of() macro. It improves code maintenance because the code need not change if kern_ipc_perm is no longer at the beginning of the containing struct. Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 023a53557ea0e987b002e9a844242ef0b0aa1eb3 Author: Nadia Derbey Date: Thu Oct 18 23:40:51 2007 -0700 ipc: integrate ipc_checkid() into ipc_lock() This patch introduces a new ipc_lock_check() routine interface: . each time ipc_checkid() is called, this is done after calling ipc_lock(). ipc_checkid() is now called from inside ipc_lock_check(). [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: fix RCU locking] Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 637c36634029e4e7c81112796dafc32d56355b4a Author: Nadia Derbey Date: Thu Oct 18 23:40:50 2007 -0700 ipc: remove the ipc_get() routine This is a trivial patch that removes the ipc_get() routine: it is replaced by a call to idr_find(). Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7748dbfaa010b12d5fb9ddf80199534c565c6bce Author: Nadia Derbey Date: Thu Oct 18 23:40:49 2007 -0700 ipc: unify the syscalls code This patch introduces a change into the sys_msgget(), sys_semget() and sys_shmget() routines: they now share a common code, which is better for maintainability. Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ca7e564e049d8b350ec9d958ff25eaa24226352 Author: Nadia Derbey Date: Thu Oct 18 23:40:48 2007 -0700 ipc: store ipcs into IDRs This patch introduces ipcs storage into IDRs. The main changes are: . This ipc_ids structure is changed: the entries array is changed into a root idr structure. . The grow_ary() routine is removed: it is not needed anymore when adding an ipc structure, since we are now using the IDR facility. . The ipc_rmid() routine interface is changed: . there is no need for this routine to return the pointer passed in as argument: it is now declared as a void . since the id is now part of the kern_ipc_perm structure, no need to have it as an argument to the routine Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2b20b11547cefc89d6c81937e81afaf3c62808b Author: Gautham R Shenoy Date: Thu Oct 18 23:40:47 2007 -0700 Add irq protection in the percpu-counters cpu-hotplug-callback path Some of the per-cpu counters and thus their locks are accessed from IRQ contexts. This can cause a deadlock if it interrupts a cpu-offline thread which is transferring a dead-cpu's counts to the global counter. Add appropriate IRQ protection in the cpu-hotplug callback path. Signed-off-by: Gautham R Shenoy Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73e753a50dcac7d6d4fa8b9552203ef544a70d77 Author: KAMEZAWA Hiroyuki Date: Thu Oct 18 23:40:47 2007 -0700 CPU HOTPLUG: avoid hotadd when proper possible_map isn't specified cpu-hot-add should be fail if cpu is not set in cpu_possible_map. If go ahead, the system will panic soon. Especially, arch which requires additional_cpus= parameter should handle this. Tested on ia64. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 470fd646444c65a5d062a371f5ec8dcedee61239 Author: Cliff Wickman Date: Thu Oct 18 23:40:46 2007 -0700 hotplug cpu: migrate a task within its cpuset When a cpu is disabled, move_task_off_dead_cpu() is called for tasks that have been running on that cpu. Currently, such a task is migrated: 1) to any cpu on the same node as the disabled cpu, which is both online and among that task's cpus_allowed 2) to any cpu which is both online and among that task's cpus_allowed It is typical of a multithreaded application running on a large NUMA system to have its tasks confined to a cpuset so as to cluster them near the memory that they share. Furthermore, it is typical to explicitly place such a task on a specific cpu in that cpuset. And in that case the task's cpus_allowed includes only a single cpu. This patch would insert a preference to migrate such a task to some cpu within its cpuset (and set its cpus_allowed to its entire cpuset). With this patch, migrate the task to: 1) to any cpu on the same node as the disabled cpu, which is both online and among that task's cpus_allowed 2) to any online cpu within the task's cpuset 3) to any cpu which is both online and among that task's cpus_allowed In order to do this, move_task_off_dead_cpu() must make a call to cpuset_cpus_allowed_locked(), a new subset of cpuset_cpus_allowed(), that will not block. (name change - per Oleg's suggestion) Calls are made to cpuset_lock() and cpuset_unlock() in migration_call() to set the cpuset mutex during the whole migrate_live_tasks() and migrate_dead_tasks() procedure. [akpm@linux-foundation.org: build fix] [pj@sgi.com: Fix indentation and spacing] Signed-off-by: Cliff Wickman Cc: Oleg Nesterov Cc: Christoph Lameter Cc: Paul Jackson Cc: Ingo Molnar Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd89aabc6761de1c35b154fe6f914a445d301510 Author: Paul Menage Date: Thu Oct 18 23:40:44 2007 -0700 Control groups: Replace "cont" with "cgrp" and other misc renaming Replace "cont" with "cgrp" and other misc renaming This patch finishes some of the names that got missed in the great "task containers" -> "control groups" rename. Primarily it renames the local variable "cont" to "cgrp" in a number of places, and renames the CONT_* enum members to CGRP_*. This patch is not intended to have any effect on the generated code; the output of "objdump -d kernel/cgroup.o" is unchanged. Signed-off-by: Paul Menage Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69cccb887a35f3761b7ea62cdd2bee602868c735 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:44 2007 -0700 Use task_pid_nr() instead of pid_nr(task_pid()) There are two places that do so - the cgroups subsystem and the autofs code. Signed-off-by: Pavel Emelyanov Cc: Ian Kent Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6651fd561bc6fbc688542e9a5bf070c6485eebe8 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:43 2007 -0700 Use task_pid_nr() in ip_vs_sync.c The sync_master_pid and sync_backup_pid are set in set_sync_pid() and are used later for set/not-set checks and in printk. So it is safe to use the global pid value in this case. Signed-off-by: Pavel Emelyanov Acked-by: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 457c25107b83bc6456b3a18a25511418dc25da69 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:43 2007 -0700 Remove unused variables from fs/proc/base.c When removing the explicit task_struct->pid usage I found that proc_readfd_common() and proc_pident_readdir() get this field, but do not use it at all. So this cleanup is a cheap help with the task_struct->pid isolation. Signed-off-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19c5870c0eefd27c6d09d867465e0571262e05d0 Author: Alexey Dobriyan Date: Thu Oct 18 23:40:41 2007 -0700 Use helpers to obtain task pid in printks (arch code) One of the easiest things to isolate is the pid printed in kernel log. There was a patch, that made this for arch-independent code, this one makes so for arch/xxx files. It took some time to cross-compile it, but hopefully these are all the printks in arch code. Signed-off-by: Alexey Dobriyan Signed-off-by: Pavel Emelyanov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed Author: Pavel Emelyanov Date: Thu Oct 18 23:40:40 2007 -0700 Use helpers to obtain task pid in printks The task_struct->pid member is going to be deprecated, so start using the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in the kernel. The first thing to start with is the pid, printed to dmesg - in this case we may safely use task_pid_nr(). Besides, printks produce more (much more) than a half of all the explicit pid usage. [akpm@linux-foundation.org: git-drm went and changed lots of stuff] Signed-off-by: Pavel Emelyanov Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a2e70572e94e21e7ec4186702d045415422bda0 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:39 2007 -0700 Isolate the explicit usage of signal->pgrp The pgrp field is not used widely around the kernel so it is now marked as deprecated with appropriate comment. The initialization of INIT_SIGNALS is trimmed because a) they are set to 0 automatically; b) gcc cannot properly initialize two anonymous (the second one is the one with the session) unions. In this particular case to make it compile we'd have to add some field initialized right before the .pgrp. This is the same patch as the 1ec320afdc9552c92191d5f89fcd1ebe588334ca one (from Cedric), but for the pgrp field. Some progress report: We have to deprecate the pid, tgid, session and pgrp fields on struct task_struct and struct signal_struct. The session and pgrp are already deprecated. The tgid value is close to being such - the worst known usage in in fs/locks.c and audit code. The pid field deprecation is mainly blocked by numerous printk-s around the kernel that print the tsk->pid to log. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Cedric Le Goater Cc: Serge Hallyn Cc: "Eric W. Biederman" Cc: Herbert Poetzl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 270f722d4d5f94b02fd48eed47e57917ab00a858 Author: Eugene Teo Date: Thu Oct 18 23:40:38 2007 -0700 Fix tsk->exit_state usage tsk->exit_state can only be 0, EXIT_ZOMBIE, or EXIT_DEAD. A non-zero test is the same as tsk->exit_state & (EXIT_ZOMBIE | EXIT_DEAD), so just testing tsk->exit_state is sufficient. Signed-off-by: Eugene Teo Cc: Roland McGrath Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d85f50d5e1aa99ab082035f94265847521819e58 Author: Neil Horman Date: Thu Oct 18 23:40:37 2007 -0700 proc: export a processes resource limits via /proc/pid Currently, there exists no method for a process to query the resource limits of another process. They can be inferred via some mechanisms but they cannot be explicitly determined. Given that this information can be usefull to know during the debugging of an application, I've written this patch which exports all of a processes limits via /proc//limits. Signed-off-by: Neil Horman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14ed9d23aa9acd79210a92ac561a728b42a8e281 Author: Jiri Slaby Date: Thu Oct 18 23:40:37 2007 -0700 remove BITS_TO_TYPE macro remove BITS_TO_TYPE macro I realized, that it is actually the same as DIV_ROUND_UP, use it instead. [akpm@linux-foundation.org: build fix] Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1cafc30f43696e8b1b6f7ef4fed354cb3e3af2e6 Author: Jiri Slaby Date: Thu Oct 18 23:40:36 2007 -0700 FlashPoint, use BIT instead of BITW FlashPoint, use BIT instead of BITW BITW was an ushort variant of BIT, use BIT instead Signed-off-by: Jiri Slaby Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93043ece030af58529e3e1367502461d265ab4e2 Author: Jiri Slaby Date: Thu Oct 18 23:40:35 2007 -0700 define global BIT macro define global BIT macro move all local BIT defines to the new globally define macro. Signed-off-by: Jiri Slaby Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Dmitry Torokhov Cc: Jeff Garzik Cc: James Bottomley Cc: "Antonino A. Daplas" Cc: Russell King Acked-by: Ralf Baechle Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b19ada2ed3c1eccb9fe94d74b05e1428224663d Author: Jiri Slaby Date: Thu Oct 18 23:40:32 2007 -0700 get rid of input BIT* duplicate defines get rid of input BIT* duplicate defines use newly global defined macros for input layer. Also remove includes of input.h from non-input sources only for BIT macro definiton. Define the macro temporarily in local manner, all those local definitons will be removed further in this patchset (to not break bisecting). BIT macro will be globally defined (1< Cc: Acked-by: Jiri Kosina Cc: Acked-by: Marcel Holtmann Cc: Acked-by: Mauro Carvalho Chehab Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d05be13bcc6ec615fb2e9556a9b85d52800669b6 Author: Jiri Slaby Date: Thu Oct 18 23:40:31 2007 -0700 define first set of BIT* macros define first set of BIT* macros - move BITOP_MASK and BITOP_WORD from asm-generic/bitops/atomic.h to include/linux/bitops.h and rename it to BIT_MASK and BIT_WORD - move BITS_TO_LONGS and BITS_PER_BYTE to bitops.h too and allow easily define another BITS_TO_something (e.g. in event.c) by BITS_TO_TYPE macro Remaining (and common) BIT macro will be defined after all occurences and conflicts will be sorted out in the patches. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5159f40742508e03aed4273a9b3ef06f4e71929f Author: Jiri Slaby Date: Thu Oct 18 23:40:31 2007 -0700 amba-pl011, rename BIT macro amba-pl011, rename BIT macro Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7b5a1282c37e1acf6c10391664ef9d6ad58e933 Author: Jiri Slaby Date: Thu Oct 18 23:40:29 2007 -0700 s2io, rename BIT macro s2io, rename BIT macro BIT macro will be global definiton of (1< Cc: Ramkrishna Vepa Cc: Rastapur Santosh Cc: Sivakumar Subramani Cc: Sreenivasa Honnur Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed11399da5ac7a07dc470d9dee9a7846917ec4aa Author: Jiri Slaby Date: Thu Oct 18 23:40:28 2007 -0700 i2c-pxa, rename BIT macro to PXA_BIT i2c-pxa, rename BIT macro to PXA_BIT BIT macro will be global definiton of (1 << x) Signed-off-by: Jiri Slaby Cc: Nicolas Pitre Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 532237eff1f271302ed923af6d811a699d582bbc Author: Krzysztof Helt Date: Thu Oct 18 23:40:28 2007 -0700 cyber2000fb: checkpatch fixes This patch fixes errors and warnings pointed out by the checkpatch.pl script. Antonino Daplas replaced BIT with ENCODE_BIT. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87d0613103aa279f8a39a497af09edbb068ef285 Author: Jiri Slaby Date: Thu Oct 18 23:40:27 2007 -0700 cyber2000fb, rename BIT macro cyber2000fb, rename BIT macro BIT will be global macro for (1 << x) Signed-off-by: Jiri Slaby Cc: Russell King Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0624517d809b1cf53c977335c9bda4c216cbddee Author: Jiri Slaby Date: Thu Oct 18 23:40:26 2007 -0700 forbid asm/bitops.h direct inclusion forbid asm/bitops.h direct inclusion Because of compile errors that may occur after bit changes if asm/bitops.h is included directly without e.g. linux/kernel.h which includes linux/bitops.h, forbid direct inclusion of asm/bitops.h. Thanks to Adrian Bunk. Signed-off-by: Jiri Slaby Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1977f032722c27ee3730284582fd3991ad9ac81b Author: Jiri Slaby Date: Thu Oct 18 23:40:25 2007 -0700 remove asm/bitops.h includes remove asm/bitops.h includes including asm/bitops directly may cause compile errors. don't include it and include linux/bitops instead. next patch will deny including asm header directly. Cc: Adrian Bunk Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1276b103c20603835d9b903cae099125e8c2c5a3 Author: Jiri Slaby Date: Thu Oct 18 23:40:25 2007 -0700 fs/select, remove unused macros fs/select, remove unused macros this is due to preparation for global BIT macro Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc552f77157d1bae79d0d3a5541da9579c39cb70 Author: Jiri Slaby Date: Thu Oct 18 23:40:24 2007 -0700 Misc: phantom, improved data passing This new version guarantees amb_bit switch in small enough intervals, so that the device won't stop working in the middle of a movement anymore. However it preserves old (openhaptics) functionality. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2afe3317099afe0843e3cece6be60664e6033ea Author: Jiri Slaby Date: Thu Oct 18 23:40:24 2007 -0700 Misc: phantom, add comment about openhaptics Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aee8447cb5d497cc90ebe171bf70d9e68787e988 Author: Jiri Slaby Date: Thu Oct 18 23:40:23 2007 -0700 Misc: phantom, synchronize_irq() on suspend Wait after disabling device's interrupt until the handler finishes its work if still in progress. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8707d8b8c0cbdf4441507f8dded194167da896c7 Author: Paul Menage Date: Thu Oct 18 23:40:22 2007 -0700 Fix cpusets update_cpumask Cause writes to cpuset "cpus" file to update cpus_allowed for member tasks: - collect batches of tasks under tasklist_lock and then call set_cpus_allowed() on them outside the lock (since this can sleep). - add a simple generic priority heap type to allow efficient collection of batches of tasks to be processed without duplicating or missing any tasks in subsequent batches. - make "cpus" file update a no-op if the mask hasn't changed - fix race between update_cpumask() and sched_setaffinity() by making sched_setaffinity() post-check that it's not running on any cpus outside cpuset_cpus_allowed(). [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Paul Menage Cc: Paul Jackson Cc: David Rientjes Cc: Nick Piggin Cc: Peter Zijlstra Cc: Balbir Singh Cc: Cedric Le Goater Cc: "Eric W. Biederman" Cc: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 020958b6272882c1a8bfbe5f3e0927f3845c2698 Author: Paul Jackson Date: Thu Oct 18 23:40:21 2007 -0700 cpusets: decrustify cpuset mask update code Decrustify the kernel/cpuset.c 'cpus' and 'mems' updating code. Other than subtle improvements in the consistency of identifying white space at the beginning and end of passed in masks, this doesn't make any visible difference in behaviour. But it's one or two hundred kernel text bytes smaller, and easier to understand. [akpm@linux-foundation.org: coding-style fix] Signed-off-by: Paul Jackson Reviewed-by: Paul Menage Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 029190c515f15f512ac85de8fc686d4dbd0ae731 Author: Paul Jackson Date: Thu Oct 18 23:40:20 2007 -0700 cpuset sched_load_balance flag Add a new per-cpuset flag called 'sched_load_balance'. When enabled in a cpuset (the default value) it tells the kernel scheduler that the scheduler should provide the normal load balancing on the CPUs in that cpuset, sometimes moving tasks from one CPU to a second CPU if the second CPU is less loaded and if that task is allowed to run there. When disabled (write "0" to the file) then it tells the kernel scheduler that load balancing is not required for the CPUs in that cpuset. Now even if this flag is disabled for some cpuset, the kernel may still have to load balance some or all the CPUs in that cpuset, if some overlapping cpuset has its sched_load_balance flag enabled. If there are some CPUs that are not in any cpuset whose sched_load_balance flag is enabled, the kernel scheduler will not load balance tasks to those CPUs. Moreover the kernel will partition the 'sched domains' (non-overlapping sets of CPUs over which load balancing is attempted) into the finest granularity partition that it can find, while still keeping any two CPUs that are in the same shed_load_balance enabled cpuset in the same element of the partition. This serves two purposes: 1) It provides a mechanism for real time isolation of some CPUs, and 2) it can be used to improve performance on systems with many CPUs by supporting configurations in which load balancing is not done across all CPUs at once, but rather only done in several smaller disjoint sets of CPUs. This mechanism replaces the earlier overloading of the per-cpuset flag 'cpu_exclusive', which overloading was removed in an earlier patch: cpuset-remove-sched-domain-hooks-from-cpusets See further the Documentation and comments in the code itself. [akpm@linux-foundation.org: don't be weird] Signed-off-by: Paul Jackson Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f2a3a46fcafa7a12d61454f67f932dfe7d84c60 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:19 2007 -0700 Uninline the task_xid_nr_ns() calls Since these are expanded into call to pid_nr_ns() anyway, it's OK to move the whole routine out-of-line. This is a cheap way to save ~100 bytes from vmlinux. Together with the previous two patches, it saves half-a-kilo from the vmlinux. Un-inline other (currently inlined) functions must be done with additional performance testing. Signed-off-by: Pavel Emelyanov Cc: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8990571eb573032c1192440febb17132074c5575 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:19 2007 -0700 Uninline find_pid etc set of functions The find_pid/_vpid/_pid_ns functions are used to find the struct pid by its id, depending on whic id - global or virtual - is used. The find_vpid() is a macro that pushes the current->nsproxy->pid_ns on the stack to call another function - find_pid_ns(). It turned out, that this dereference together with the push itself cause the kernel text size to grow too much. Move all these out-of-line. Together with the previous patch this saves a bit less that 400 bytes from .text section. Signed-off-by: Pavel Emelyanov Cc: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bac0abd6174e427404dd197cdbefece31e97329b Author: Pavel Emelyanov Date: Thu Oct 18 23:40:18 2007 -0700 Isolate some explicit usage of task->tgid With pid namespaces this field is now dangerous to use explicitly, so hide it behind the helpers. Also the pid and pgrp fields o task_struct and signal_struct are to be deprecated. Unfortunately this patch cannot be sent right now as this leads to tons of warnings, so start isolating them, and deprecate later. Actually the p->tgid == pid has to be changed to has_group_leader_pid(), but Oleg pointed out that in case of posix cpu timers this is the same, and thread_group_leader() is more preferable. Signed-off-by: Pavel Emelyanov Acked-by: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19b9b9b54e5f115907efd56be2c3799775a46561 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:17 2007 -0700 pid namespaces: remove the struct pid unneeded fields Since we've switched from using pid->nr to pid->upids->nr some fields on struct pid are no longer needed Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 228ebcbe634a30aec35132ea4375721bcc41bec0 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:16 2007 -0700 Uninline find_task_by_xxx set of functions The find_task_by_something is a set of macros are used to find task by pid depending on what kind of pid is proposed - global or virtual one. All of them are wrappers above the most generic one - find_task_by_pid_type_ns() - and just substitute some args for it. It turned out, that dereferencing the current->nsproxy->pid_ns construction and pushing one more argument on the stack inline cause kernel text size to grow. This patch moves all this stuff out-of-line into kernel/pid.c. Together with the next patch it saves a bit less than 400 bytes from the .text section. Signed-off-by: Pavel Emelyanov Cc: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Paul Menage Cc: "Eric W. Biederman" Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b488893a390edfe027bae7a46e9af8083e740668 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:14 2007 -0700 pid namespaces: changes to show virtual ids to user This is the largest patch in the set. Make all (I hope) the places where the pid is shown to or get from user operate on the virtual pids. The idea is: - all in-kernel data structures must store either struct pid itself or the pid's global nr, obtained with pid_nr() call; - when seeking the task from kernel code with the stored id one should use find_task_by_pid() call that works with global pids; - when showing pid's numerical value to the user the virtual one should be used, but however when one shows task's pid outside this task's namespace the global one is to be used; - when getting the pid from userspace one need to consider this as the virtual one and use appropriate task/pid-searching functions. [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: nuther build fix] [akpm@linux-foundation.org: yet nuther build fix] [akpm@linux-foundation.org: remove unneeded casts] Signed-off-by: Pavel Emelyanov Signed-off-by: Alexey Dobriyan Cc: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eb07c8c8adb6f0572baba844ba2d9e501654316 Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:40:13 2007 -0700 pid namespaces: destroy pid namespace on init's death Terminate all processes in a namespace when the reaper of the namespace is exiting. We do this by walking the pidmap of the namespace and sending SIGKILL to all processes. Signed-off-by: Sukadev Bhattiprolu Acked-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0fbc26a6cfab9f377e82e28225f2c0c6b4661e5c Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:40:13 2007 -0700 pid namespaces: allow signalling cgroup-init Only the global-init process must be special - any other cgroup-init process must be killable to prevent run-away processes in the system. TODO: Ideally we should allow killing the cgroup-init only from parent cgroup and prevent it being killed from within the cgroup. But that is a more complex change and will be addressed by a follow-on patch. For now allow the cgroup-init to be terminated by any process with sufficient privileges. Signed-off-by: Sukadev Bhattiprolu Acked-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9c5d92211883e9ae22394d1f157ab0d3a7ec895 Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:40:12 2007 -0700 pid namespaces: create a slab-cache for 'struct pid_namespace' This will help fixing memory leaks due to bad reference counting. Signed-off-by: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f4e643353aea52d80f33960bd88954a7c074f0f Author: Pavel Emelyanov Date: Thu Oct 18 23:40:11 2007 -0700 pid namespaces: initialize the namespace's proc_mnt The namespace's proc_mnt must be kern_mount-ed to make this pointer always valid, independently of whether the user space mounted the proc or not. This solves raced in proc_flush_task, etc. with the proc_mnt switching from NULL to not-NULL. The initialization is done after the init's pid is created and hashed to make proc_get_sb() finr it and get for root inode. Sice the namespace holds the vfsmnt, vfsmnt holds the superblock and the superblock holds the namespace we must explicitly break this circle to destroy all the stuff. This is done after the init of the namespace dies. Running a few steps forward - when init exits it will kill all its children, so no proc_mnt will be needed after its death. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 130f77ecb2e7d5ac3e53e620f55e374f4a406b20 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:11 2007 -0700 pid namespaces: make proc_flush_task() actually from entries from multiple namespaces This means that proc_flush_task_mnt() is to be called for many proc mounts and with different ids, depending on the namespace this pid is to be flushed from. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30e49c263e36341b60b735cbef5ca37912549264 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:10 2007 -0700 pid namespaces: allow cloning of new namespace When clone() is invoked with CLONE_NEWPID, create a new pid namespace and then create a new struct pid for the new process. Allocate pid_t's for the new process in the new pid namespace and all ancestor pid namespaces. Make the newly cloned process the session and process group leader. Since the active pid namespace is special and expected to be the first entry in pid->upid_list, preserve the order of pid namespaces. The size of 'struct pid' is dependent on the the number of pid namespaces the process exists in, so we use multiple pid-caches'. Only one pid cache is created during system startup and this used by processes that exist only in init_pid_ns. When a process clones its pid namespace, we create additional pid caches as necessary and use the pid cache to allocate 'struct pids' for that depth. Note, that with this patch the newly created namespace won't work, since the rest of the kernel still uses global pids, but this is to be fixed soon. Init pid namespace still works. [oleg@tv-sign.ru: merge fix] Signed-off-by: Pavel Emelyanov Signed-off-by: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b461cc03828c743aed6b3855b9ab0d39a9d54ec5 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:09 2007 -0700 pid namespaces: miscellaneous preparations for pid namespaces * remove pid.h from pid_namespaces.h; * rework is_(cgroup|global)_init; * optimize (get|put)_pid_ns for init_pid_ns; * declare task_child_reaper to return actual reaper. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07543f5c75cee744b791cf7716c69571486fe753 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:08 2007 -0700 pid namespaces: make proc have multiple superblocks - one for each namespace Each pid namespace have to be visible through its own proc mount. Thus we need to have per-namespace proc trees with their own superblocks. We cannot easily show different pid namespace via one global proc tree, since each pid refers to different tasks in different namespaces. E.g. pid 1 refers to the init task in the initial namespace and to some other task when seeing from another namespace. Moreover - pid, exisintg in one namespace may not exist in the other. This approach has one move advantage is that the tasks from the init namespace can see what tasks live in another namespace by reading entries from another proc tree. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 425fb2b4bf5dde24be4a82e9a2c344bb49ac92e4 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:07 2007 -0700 pid namespaces: move alloc_pid() lower in copy_process() When we create new namespace we will need to allocate the struct pid, that will have one extra struct upid in array, comparing to the parent. Thus we need to know the new namespace (if any) in alloc_pid() to init this struct upid properly, so move the alloc_pid() call lower in copy_process(). Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 198fe21b0a17fe9c68cb519ecc566534b04f122b Author: Pavel Emelyanov Date: Thu Oct 18 23:40:06 2007 -0700 pid namespaces: helpers to find the task by its numerical ids When searching the task by numerical id on may need to find it using global pid (as it is done now in kernel) or by its virtual id, e.g. when sending a signal to a task from one namespace the sender will specify the task's virtual id and we should find the task by this value. [akpm@linux-foundation.org: fix gfs2 linkage] Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7af5729474b5b8ad385adadab78d6e723e7655a3 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:06 2007 -0700 pid namespaces: helpers to obtain pid numbers When showing pid to user or getting the pid numerical id for in-kernel use the value of this id may differ depending on the namespace. This set of helpers is used to get the global pid nr, the virtual (i.e. seen by task in its namespace) nr and the nr as it is seen from the specified namespace. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ef047aaaeb811247a5639c92e2f2ae1221a28dd Author: Pavel Emelyanov Date: Thu Oct 18 23:40:05 2007 -0700 pid namespaces: make alloc_pid(), free_pid() and put_pid() work with struct upid Each struct upid element of struct pid has to be initialized properly, i.e. its nr mst be allocated from appropriate pidmap and ns set to appropriate namespace. When allocating a new pid, we need to know the namespace this pid will live in, so the additional argument is added to alloc_pid(). On the other hand, the rest of the kernel still uses the pid->nr and pid->pid_chain fields, so these ones are still initialized, but this will be removed soon. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit faacbfd3a6808bf87d8f353b42eceeaba2c78a47 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:04 2007 -0700 pid namespaces: add support for pid namespaces hierarchy Each namespace has a parent and is characterized by its "level". Level is the number of the namespace generation. E.g. init namespace has level 0, after cloning new one it will have level 1, the next one - 2 and so on and so forth. This level is not explicitly limited. True hierarchy must have some way to find each namespace's children, but it is not used in the patches, so this ability is not added (yet). Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c3f2ead5a3dff9069a45560ba4d007c8ae2e2ee Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:40:03 2007 -0700 pid namespaces: introduce struct upid Since task will be visible from different pid namespaces each of them have to be addressed by multiple pids. struct upid is to store the information about which id refers to which namespace. The constuciton looks like this. Each struct pid carried the reference counter and the list of tasks attached to this pid. At its end it has a variable length array of struct upid-s. Each struct upid has a numerical id (pid itself), pointer to the namespace, this ID is valid in and is hashed into a pid_hash for searching the pids. The nr and pid_chain fields are kept in struct pid for a while to make kernel still work (no patch initialize the upids yet), but it will be removed at the end of this series when we switch to upids completely. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60347f6716aa49831ac311e04d77ccdc50dc024a Author: Pavel Emelyanov Date: Thu Oct 18 23:40:03 2007 -0700 pid namespaces: prepare proc_flust_task() to flush entries from multiple proc trees The first part is trivial - we just make the proc_flush_task() to operate on arbitrary vfsmount with arbitrary ids and pass the pid and global proc_mnt to it. The other change is more tricky: I moved the proc_flush_task() call in release_task() higher to address the following problem. When flushing task from many proc trees we need to know the set of ids (not just one pid) to find the dentries' names to flush. Thus we need to pass the task's pid to proc_flush_task() as struct pid is the only object that can provide all the pid numbers. But after __exit_signal() task has detached all his pids and this information is lost. This creates a tiny gap for proc_pid_lookup() to bring some dentries back to tree and keep them in hash (since pids are still alive before __exit_signal()) till the next shrink, but since proc_flush_task() does not provide a 100% guarantee that the dentries will be flushed, this is OK to do so. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bf9725c29f2589237dd696d06a204230add0ba3 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:02 2007 -0700 pid namespaces: introduce MS_KERNMOUNT flag This flag tells the .get_sb callback that this is a kern_mount() call so that it can trust *data pointer to be valid in-kernel one. If this flag is passed from the user process, it is cleared since the *data pointer is not a valid kernel object. Running a few steps forward - this will be needed for proc to create the superblock and store a valid pid namespace on it during the namespace creation. The reason, why the namespace cannot live without proc mount is described in the appropriate patch. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e4a707269a409950c3f315010c20f9719c594e2 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:01 2007 -0700 pid namespaces: move exit_task_namespaces() Make task release its namespaces after it has reparented all his children to child_reaper, but before it notifies its parent about its death. The reason to release namespaces after reparenting is that when task exits it may send a signal to its parent (SIGCHLD), but if the parent has already exited its namespaces there will be no way to decide what pid to dever to him - parent can be from different namespace. The reason to release namespace before notifying the parent it that when task sends a SIGCHLD to parent it can call wait() on this taks and release it. But releasing the mnt namespace implies dropping of all the mounts in the mnt namespace and NFS expects the task to have valid sighand pointer. Thanks to Oleg for pointing out some races that can apear and helping with patches and fixes. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 762a24beed3f3ab93224bd447710e6c36fcf1968 Author: Oleg Nesterov Date: Thu Oct 18 23:40:00 2007 -0700 pid namespaces: rework forget_original_parent() A pid namespace is a "view" of a particular set of tasks on the system. They work in a similar way to filesystem namespaces. A file (or a process) can be accessed in multiple namespaces, but it may have a different name in each. In a filesystem, this name might be /etc/passwd in one namespace, but /chroot/etc/passwd in another. For processes, a process may have pid 1234 in one namespace, but be pid 1 in another. This allows new pid namespaces to have basically arbitrary pids, and not have to worry about what pids exist in other namespaces. This is essential for checkpoint/restart where a restarted process's pid might collide with an existing process on the system's pid. In this particular implementation, pid namespaces have a parent-child relationship, just like processes. A process in a pid namespace may see all of the processes in the same namespace, as well as all of the processes in all of the namespaces which are children of its namespace. Processes may not, however, see others which are in their parent's namespace, but not in their own. The same goes for sibling namespaces. The know issue to be solved in the nearest future is signal handling in the namespace boundary. That is, currently the namespace's init is treated like an ordinary task that can be killed from within an namespace. Ideally, the signal handling by the namespace's init should have two sides: when signaling the init from its namespace, the init should look like a real init task, i.e. receive only those signals, that is explicitly wants to; when signaling the init from one of the parent namespaces, init should look like an ordinary task, i.e. receive any signal, only taking the general permissions into account. The pid namespace was developed by Pavel Emlyanov and Sukadev Bhattiprolu and we eventually came to almost the same implementation, which differed in some details. This set is based on Pavel's patches, but it includes comments and patches that from Sukadev. Many thanks to Oleg, who reviewed the patches, pointed out many BUGs and made valuable advises on how to make this set cleaner. This patch: We have to call exit_task_namespaces() only after the exiting task has reparented all his children and is sure that no other threads will reparent theirs for it. Why this is needed is explained in appropriate patch. This one only reworks the forget_original_parent() so that after calling this a task cannot be/become parent of any other task. We check PF_EXITING instead of ->exit_state while choosing the new parent. Note that tasklits_lock acts as a barrier, everyone who takes tasklist after us (when forget_original_parent() drops it) must see PF_EXITING. The other changes are just cleanups. They just move some code from exit_notify to forget_original_parent(). It is a bit silly to declare ptrace_dead in exit_notify(), take tasklist, pass ptrace_dead to forget_original_parent(), unlock-lock-unlock tasklist, and then use ptrace_dead. Signed-off-by: Oleg Nesterov Signed-off-by: Pavel Emelyanov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4c5e41f3f1b0c19448fcf2d259bdab1ede75e2e Author: Daniel Walker Date: Thu Oct 18 23:39:59 2007 -0700 whitespace fixes: task exit handling Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b1915a989ea4d426d0fd98974ab80f30ef1d779 Author: Matthias Kaehlcke Date: Thu Oct 18 23:39:58 2007 -0700 mm/oom_kill.c: Use list_for_each_entry instead of list_for_each mm/oom_kill.c: Convert list_for_each to list_for_each_entry in oom_kill_process() Signed-off-by: Matthias Kaehlcke Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e1975868ac9d41211fcaa6f2c5e44c4e7ff9e5b Author: Matthias Kaehlcke Date: Thu Oct 18 23:39:58 2007 -0700 kernel/time/clocksource.c: Use list_for_each_entry instead of list_for_each kernel/time/clocksource.c: Convert list_for_each to list_for_each_entry in clocksource_resume(), sysfs_override_clocksource() and show_available_clocksources() Signed-off-by: Matthias Kaehlcke Acked-by: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03ff17979c58a0b63b0fe30a373f41b719731bd2 Author: Matthias Kaehlcke Date: Thu Oct 18 23:39:57 2007 -0700 kernel/exit.c: Use list_for_each_entry(_safe) instead of list_for_each(_safe) kernel/exit.c: Convert list_for_each(_safe) to list_for_each_entry(_safe) in forget_original_parent(), exit_notify() and do_wait() Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d473012710b815741043942bc41945d444abab40 Author: Matthias Kaehlcke Date: Thu Oct 18 23:39:57 2007 -0700 fs/super.c: use list_for_each_entry() instead of list_for_each() fs/super.c: use list_for_each_entry() instead of list_for_each() in sget() [akpm@linux-foundation.org: clean up some crap while we're there] Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b70c394099851c1398e9fd0fd64cf13ef2d093a1 Author: Matthias Kaehlcke Date: Thu Oct 18 23:39:56 2007 -0700 fs/eventpoll.c: use list_for_each_entry() instead of list_for_each() fs/eventpoll.c: use list_for_each_entry() instead of list_for_each() in ep_poll_safewake() Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfdaf9e5f95993264b5aee7cbb9dd16977bc11ed Author: Matthias Kaehlcke Date: Thu Oct 18 23:39:56 2007 -0700 fs/file_table.c: use list_for_each_entry() instead of list_for_each() fs/file_table.c: use list_for_each_entry() instead of list_for_each() in fs_may_remount_ro() Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e6045f134784f4b158b3c0f7a282b04bd816887 Author: Johannes Berg Date: Thu Oct 18 23:39:55 2007 -0700 workqueue: debug flushing deadlocks with lockdep In the following scenario: code path 1: my_function() -> lock(L1); ...; flush_workqueue(); ... code path 2: run_workqueue() -> my_work() -> ...; lock(L1); ... you can get a deadlock when my_work() is queued or running but my_function() has acquired L1 already. This patch adds a pseudo-lock to each workqueue to make lockdep warn about this scenario. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Johannes Berg Acked-by: Oleg Nesterov Acked-by: Ingo Molnar Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf7b708c8d1d7a27736771bcf4c457b332b0f818 Author: Pavel Emelyanov Date: Thu Oct 18 23:39:54 2007 -0700 Make access to task's nsproxy lighter When someone wants to deal with some other taks's namespaces it has to lock the task and then to get the desired namespace if the one exists. This is slow on read-only paths and may be impossible in some cases. E.g. Oleg recently noticed a race between unshare() and the (sent for review in cgroups) pid namespaces - when the task notifies the parent it has to know the parent's namespace, but taking the task_lock() is impossible there - the code is under write locked tasklist lock. On the other hand switching the namespace on task (daemonize) and releasing the namespace (after the last task exit) is rather rare operation and we can sacrifice its speed to solve the issues above. The access to other task namespaces is proposed to be performed like this: rcu_read_lock(); nsproxy = task_nsproxy(tsk); if (nsproxy != NULL) { / * * work with the namespaces here * e.g. get the reference on one of them * / } / * * NULL task_nsproxy() means that this task is * almost dead (zombie) * / rcu_read_unlock(); This patch has passed the review by Eric and Oleg :) and, of course, tested. [clg@fr.ibm.com: fix unshare()] [ebiederm@xmission.com: Update get_net_ns_by_pid] Signed-off-by: Pavel Emelyanov Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Cc: Paul E. McKenney Cc: Serge Hallyn Signed-off-by: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6f5e06378970a2687332c2d54046245fcff1e7e Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:39:53 2007 -0700 pid namespaces: move alloc_pid() to copy_process() Move alloc_pid() into copy_process(). This will keep all pid and pid namespace code together and simplify error handling when we support multiple pid namespaces. Signed-off-by: Sukadev Bhattiprolu Cc: Pavel Emelianov Cc: Eric W. Biederman Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Herbert Poetzel Cc: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b460cbc581a53cc088ceba80608021dd49c63c43 Author: Serge E. Hallyn Date: Thu Oct 18 23:39:52 2007 -0700 pid namespaces: define is_global_init() and is_container_init() is_init() is an ambiguous name for the pid==1 check. Split it into is_global_init() and is_container_init(). A cgroup init has it's tsk->pid == 1. A global init also has it's tsk->pid == 1 and it's active pid namespace is the init_pid_ns. But rather than check the active pid namespace, compare the task structure with 'init_pid_ns.child_reaper', which is initialized during boot to the /sbin/init process and never changes. Changelog: 2.6.22-rc4-mm2-pidns1: - Use 'init_pid_ns.child_reaper' to determine if a given task is the global init (/sbin/init) process. This would improve performance and remove dependence on the task_pid(). 2.6.21-mm2-pidns2: - [Sukadev Bhattiprolu] Changed is_container_init() calls in {powerpc, ppc,avr32}/traps.c for the _exception() call to is_global_init(). This way, we kill only the cgroup if the cgroup's init has a bug rather than force a kernel panic. [akpm@linux-foundation.org: fix comment] [sukadev@us.ibm.com: Use is_global_init() in arch/m32r/mm/fault.c] [bunk@stusta.de: kernel/pid.c: remove unused exports] [sukadev@us.ibm.com: Fix capability.c to work with threaded init] Signed-off-by: Serge E. Hallyn Signed-off-by: Sukadev Bhattiprolu Acked-by: Pavel Emelianov Cc: Eric W. Biederman Cc: Cedric Le Goater Cc: Dave Hansen Cc: Herbert Poetzel Cc: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3743ca05ff464b8a9e345c08a6c9ce30485f9805 Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:39:51 2007 -0700 pid namespaces: use task_pid() to find leader's pid Use task_pid() to get leader's 'struct pid' and avoid the find_pid(). Signed-off-by: Sukadev Bhattiprolu Acked-by: Pavel Emelianov Cc: Eric W. Biederman Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Herbert Poetzel Cc: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88f21d818255bc61c002478d21caf52f8a9b8def Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:39:50 2007 -0700 pid namespaces: rename child_reaper() function Rename the child_reaper() function to task_child_reaper() to be similar to other task_* functions and to distinguish the function from 'struct pid_namspace.child_reaper'. Signed-off-by: Sukadev Bhattiprolu Cc: Pavel Emelianov Cc: Eric W. Biederman Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Herbert Poetzel Cc: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2894d650cd9715d00ca196c711265819ef6ebd2d Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:39:49 2007 -0700 pid namespaces: define and use task_active_pid_ns() wrapper With multiple pid namespaces, a process is known by some pid_t in every ancestor pid namespace. Every time the process forks, the child process also gets a pid_t in every ancestor pid namespace. While a process is visible in >=1 pid namespaces, it can see pid_t's in only one pid namespace. We call this pid namespace it's "active pid namespace", and it is always the youngest pid namespace in which the process is known. This patch defines and uses a wrapper to find the active pid namespace of a process. The implementation of the wrapper will be changed in when support for multiple pid namespaces are added. Changelog: 2.6.22-rc4-mm2-pidns1: - [Pavel Emelianov, Alexey Dobriyan] Back out the change to use task_active_pid_ns() in child_reaper() since task->nsproxy can be NULL during task exit (so child_reaper() continues to use init_pid_ns). to implement child_reaper() since init_pid_ns.child_reaper to implement child_reaper() since tsk->nsproxy can be NULL during exit. 2.6.21-rc6-mm1: - Rename task_pid_ns() to task_active_pid_ns() to reflect that a process can have multiple pid namespaces. Signed-off-by: Sukadev Bhattiprolu Acked-by: Pavel Emelianov Cc: Eric W. Biederman Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Herbert Poetzel Cc: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit baf8f0f82dd79e374bf6fa9e996393df2bae3c21 Author: Pavel Emelianov Date: Thu Oct 18 23:39:48 2007 -0700 pid namespaces: dynamic kmem cache allocator for pid namespaces Add kmem_cache to pid_namespace to allocate pids from. Since both implementations expand the struct pid to carry more numerical values each namespace should have separate cache to store pids of different sizes. Each kmem cache is name "pid_", where is the number of numerical ids on the pid. Different namespaces with same level of nesting will have same caches. This patch has two FIXMEs that are to be fixed after we reach the consensus about the struct pid itself. The first one is that the namespace to free the pid from in free_pid() must be taken from pid. Now the init_pid_ns is used. The second FIXME is about the cache allocation. When we do know how long the object will be then we'll have to calculate this size in create_pid_cachep. Right now the sizeof(struct pid) value is used. [akpm@linux-foundation.org: coding-style repair] Signed-off-by: Pavel Emelianov Acked-by: Cedric Le Goater Acked-by: Sukadev Bhattiprolu Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a05f7b15deb2903d9f0b5df33ddd4d186d5ecac1 Author: Pavel Emelianov Date: Thu Oct 18 23:39:47 2007 -0700 pid namespaces: make get_pid_ns() return the namespace itself Make get_pid_ns() return the namespace itself to look like the other getters and make the code using it look nicer. Signed-off-by: Pavel Emelianov Acked-by: Cedric Le Goater Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a47afb0f9d794d525a372c8d69902147cc88222a Author: Pavel Emelianov Date: Thu Oct 18 23:39:46 2007 -0700 pid namespaces: round up the API The set of functions process_session, task_session, process_group and task_pgrp is confusing, as the names can be mixed with each other when looking at the code for a long time. The proposals are to * equip the functions that return the integer with _nr suffix to represent that fact, * and to make all functions work with task (not process) by making the common prefix of the same name. For monotony the routines signal_session() and set_signal_session() are replaced with task_session_nr() and set_task_session(), especially since they are only used with the explicit task->signal dereference. Signed-off-by: Pavel Emelianov Acked-by: Serge E. Hallyn Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Cedric Le Goater Cc: Herbert Poetzl Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 858d72ead4864da0fb0b89b919524125ce998e27 Author: Serge E. Hallyn Date: Thu Oct 18 23:39:45 2007 -0700 cgroups: implement namespace tracking subsystem When a task enters a new namespace via a clone() or unshare(), a new cgroup is created and the task moves into it. This version names cgroups which are automatically created using cgroup_clone() as "node_" where pid is the pid of the unsharing or cloned process. (Thanks Pavel for the idea) This is safe because if the process unshares again, it will create /cgroups/(...)/node_/node_ The only possibilities (AFAICT) for a -EEXIST on unshare are 1. pid wraparound 2. a process fails an unshare, then tries again. Case 1 is unlikely enough that I ignore it (at least for now). In case 2, the node_ will be empty and can be rmdir'ed to make the subsequent unshare() succeed. Changelog: Name cloned cgroups as "node_". [clg@fr.ibm.com: fix order of cgroup subsystems in init/Kconfig] Signed-off-by: Serge E. Hallyn Cc: Paul Menage Signed-off-by: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 846c7bb055747989891f5cd2bb6e8d56243ba1e7 Author: Balbir Singh Date: Thu Oct 18 23:39:44 2007 -0700 Add cgroupstats This patch is inspired by the discussion at http://lkml.org/lkml/2007/4/11/187 and implements per cgroup statistics as suggested by Andrew Morton in http://lkml.org/lkml/2007/4/11/263. The patch is on top of 2.6.21-mm1 with Paul's cgroups v9 patches (forward ported) This patch implements per cgroup statistics infrastructure and re-uses code from the taskstats interface. A new set of cgroup operations are registered with commands and attributes. It should be very easy to *extend* per cgroup statistics, by adding members to the cgroupstats structure. The current model for cgroupstats is a pull, a push model (to post statistics on interesting events), should be very easy to add. Currently user space requests for statistics by passing the cgroup file descriptor. Statistics about the state of all the tasks in the cgroup is returned to user space. TODO's/NOTE: This patch provides an infrastructure for implementing cgroup statistics. Based on the needs of each controller, we can incrementally add more statistics, event based support for notification of statistics, accumulation of taskstats into cgroup statistics in the future. Sample output # ./cgroupstats -C /cgroup/a sleeping 2, blocked 0, running 1, stopped 0, uninterruptible 0 # ./cgroupstats -C /cgroup/ sleeping 154, blocked 0, running 0, stopped 0, uninterruptible 0 If the approach looks good, I'll enhance and post the user space utility for the same Feedback, comments, test results are always welcome! [akpm@linux-foundation.org: build fix] Signed-off-by: Balbir Singh Cc: Paul Menage Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2e2c7fa1cb2cf2b114a6c9bc132b6601db5a7c8 Author: Paul Jackson Date: Thu Oct 18 23:39:43 2007 -0700 task cgroups: enable cgroups by default in some configs In pre-cgroup cpusets, a few config files enabled cpusets by default. Signed-off-by: Paul Jackson Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 006cb99200a38a8e3b0cbc1be48035a08921e601 Author: Paul Menage Date: Thu Oct 18 23:39:43 2007 -0700 Task Control Groups: simple task cgroup debug info subsystem This example subsystem exports debugging information as an aid to diagnosing refcount leaks, etc, in the cgroup framework. Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62d0df64065e7c135d0002f069444fbdfc64768f Author: Paul Menage Date: Thu Oct 18 23:39:42 2007 -0700 Task Control Groups: example CPU accounting subsystem This example demonstrates how to use the generic cgroup subsystem for a simple resource tracker that counts, for the processes in a cgroup, the total CPU time used and the %CPU used in the last complete 10 second interval. Portions contributed by Balbir Singh Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8793d854edbc2774943a4b0de3304dc73991159a Author: Paul Menage Date: Thu Oct 18 23:39:39 2007 -0700 Task Control Groups: make cpusets a client of cgroups Remove the filesystem support logic from the cpusets system and makes cpusets a cgroup subsystem The "cpuset" filesystem becomes a dummy filesystem; attempts to mount it get passed through to the cgroup filesystem with the appropriate options to emulate the old cpuset filesystem behaviour. Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81a6a5cdd2c5cd70874b88afe524ab09e9e869af Author: Paul Menage Date: Thu Oct 18 23:39:38 2007 -0700 Task Control Groups: automatic userspace notification of idle cgroups Add the following files to the cgroup filesystem: notify_on_release - configures/reports whether the cgroup subsystem should attempt to run a release script when this cgroup becomes unused release_agent - configures/reports the release agent to be used for this hierarchy (top level in each hierarchy only) releasable - reports whether this cgroup would have been auto-released if notify_on_release was true and a release agent was configured (mainly useful for debugging) To avoid locking issues, invoking the userspace release agent is done via a workqueue task; cgroups that need to have their release agents invoked by the workqueue task are linked on to a list. [pj@sgi.com: Need to include kmod.h] Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 817929ec274bcfe771586d338bb31d1659615686 Author: Paul Menage Date: Thu Oct 18 23:39:36 2007 -0700 Task Control Groups: shared cgroup subsystem group arrays Replace the struct css_set embedded in task_struct with a pointer; all tasks that have the same set of memberships across all hierarchies will share a css_set object, and will be linked via their css_sets field to the "tasks" list_head in the css_set. Assuming that many tasks share the same cgroup assignments, this reduces overall space usage and keeps the size of the task_struct down (three pointers added to task_struct compared to a non-cgroups kernel, no matter how many subsystems are registered). [akpm@linux-foundation.org: fix a printk] [akpm@linux-foundation.org: build fix] Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a424316ca154317367c7ddf89997d1c80e4a8051 Author: Paul Menage Date: Thu Oct 18 23:39:35 2007 -0700 Task Control Groups: add procfs interface Add: /proc/cgroups - general system info /proc/*/cgroup - per-task cgroup membership info [a.p.zijlstra@chello.nl: cgroups: bdi init hooks] Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 697f41610863c9264a7ae26dac9a387c9dda8c84 Author: Paul Menage Date: Thu Oct 18 23:39:34 2007 -0700 Task Control Groups: add cgroup_clone() interface Add support for cgroup_clone(), a way to create new cgroups intended to be used for systems such as namespace unsharing. A new subsystem callback, post_clone(), is added to allow subsystems to automatically configure cloned cgroups. Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4f48b6363c81ca743ef46943ef23fd72e60f679 Author: Paul Menage Date: Thu Oct 18 23:39:33 2007 -0700 Task Control Groups: add fork()/exit() hooks This adds the necessary hooks to the fork() and exit() paths to ensure that new children inherit their parent's cgroup assignments, and that exiting processes release reference counts on their cgroups. Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 355e0c48b757b7fcc79ccb98fda8105ed37a1598 Author: Paul Menage Date: Thu Oct 18 23:39:33 2007 -0700 Add cgroup write_uint() helper method Add write_uint() helper method for cgroup subsystems This helper is analagous to the read_uint() helper method for reporting u64 values to userspace. It's designed to reduce the amount of boilerplate requierd for creating new cgroup subsystems. Signed-off-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbcb81d09104f0d440974b994c1fc508ccbe9503 Author: Paul Menage Date: Thu Oct 18 23:39:32 2007 -0700 Task Control Groups: add tasks file interface Add the per-directory "tasks" file for cgroupfs mounts; this allows the user to determine which tasks are members of a cgroup by reading a cgroup's "tasks", and to move a task into a cgroup by writing its pid to its "tasks". Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddbcc7e8e50aefe467c01cac3dec71f118cd8ac2 Author: Paul Menage Date: Thu Oct 18 23:39:30 2007 -0700 Task Control Groups: basic task cgroup framework Generic Process Control Groups -------------------------- There have recently been various proposals floating around for resource management/accounting and other task grouping subsystems in the kernel, including ResGroups, User BeanCounters, NSProxy cgroups, and others. These all need the basic abstraction of being able to group together multiple processes in an aggregate, in order to track/limit the resources permitted to those processes, or control other behaviour of the processes, and all implement this grouping in different ways. This patchset provides a framework for tracking and grouping processes into arbitrary "cgroups" and assigning arbitrary state to those groupings, in order to control the behaviour of the cgroup as an aggregate. The intention is that the various resource management and virtualization/cgroup efforts can also become task cgroup clients, with the result that: - the userspace APIs are (somewhat) normalised - it's easier to test e.g. the ResGroups CPU controller in conjunction with the BeanCounters memory controller, or use either of them as the resource-control portion of a virtual server system. - the additional kernel footprint of any of the competing resource management systems is substantially reduced, since it doesn't need to provide process grouping/containment, hence improving their chances of getting into the kernel This patch: Add the main task cgroups framework - the cgroup filesystem, and the basic structures for tracking membership and associating subsystem state objects to tasks. Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55a230aae650157720becc09cadb7d10efbf5013 Author: Paul Jackson Date: Thu Oct 18 23:39:28 2007 -0700 cpuset: zero malloc - revert the old cpuset fix The cpuset code to present a list of tasks using a cpuset to user space could write to an array that it had kmalloc'd, after a kmalloc request of zero size. The problem was that the code didn't check for writes past the allocated end of the array until -after- the first write. This is a race condition that is likely rare -- it would only show up if a cpuset went from being empty to having a task in it, during the brief time between the allocation and the first write. Prior to roughly 2.6.22 kernels, this was also a benign problem, because a zero kmalloc returned a few usable bytes anyway, and no harm was done with the bogus write. With the 2.6.22 kernel changes to make issue a warning if code tries to write to the location returned from a zero size allocation, this problem is no longer benign. This cpuset code would occassionally trigger that warning. The fix is trivial -- check before storing into the array, not after, whether the array is big enough to hold the store. Cc: "Eric W. Biederman" Cc: "Serge E. Hallyn" Cc: Balbir Singh Cc: Dave Hansen Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Paul Menage Cc: Srivatsa Vaddagiri Cc: Christoph Lameter Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f731f7d83d6c6a3eeb32cce79bfcddbf7fac8cc Author: Randy Dunlap Date: Thu Oct 18 23:39:28 2007 -0700 kernel-api docbook: fix content problems Fix kernel-api docbook contents problems. docproc: linux-2.6.23-git13/include/asm-x86/unaligned_32.h: No such file or directory Warning(linux-2.6.23-git13//include/linux/list.h:482): bad line: of list entry Warning(linux-2.6.23-git13//mm/filemap.c:864): No description found for parameter 'ra' Warning(linux-2.6.23-git13//block/ll_rw_blk.c:3760): No description found for parameter 'req' Warning(linux-2.6.23-git13//include/linux/input.h:1077): No description found for parameter 'private' Warning(linux-2.6.23-git13//include/linux/input.h:1077): No description found for parameter 'cdev' Signed-off-by: Randy Dunlap Cc: Jens Axboe Cc: WU Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb680c1be62e9898fc2ca2a89d9fdba7c84a5c81 Author: Jeff Mahoney Date: Thu Oct 18 23:39:27 2007 -0700 reiserfs: ignore on disk s_bmap_nr value Implement support for file systems larger than 8 TiB. The reiserfs superblock contains a 16 bit value for counting the number of bitmap blocks. The rest of the disk format supports file systems up to 2^32 blocks, but the bitmap block limitation artificially limits this to 8 TiB with a 4KiB block size. Rather than trust the superblock's 16-bit bitmap block count, we calculate it dynamically based on the number of blocks in the file system. When an incorrect value is observed in the superblock, it is zeroed out, ensuring that older kernels will not be able to mount the file system. Userspace support has already been implemented and shipped in reiserfsprogs 3.6.20. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d20851d3757ba5bece263a4c8c5a2bd4983cb5d Author: Jeff Mahoney Date: Thu Oct 18 23:39:26 2007 -0700 reiserfs: remove first_zero_hint The first_zero_hint metadata caching was never actually used, and it's of dubious optimization quality. This patch removes it. It doesn't actually shrink the size of the reiserfs_bitmap_info struct, since that doesn't work with block sizes larger than 8K. There was a big fixme in there, and with all the work lately in allowing block size > page size, I might as well kill the fixme as well. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ee1667042c350003b9d3f35e5666cc8c43ce8aa Author: Jeff Mahoney Date: Thu Oct 18 23:39:25 2007 -0700 reiserfs: fix usage of signed ints for block numbers Do a quick signedness check for block numbers. There are a number of places where signed integers are used for block numbers, which limits the usable file system size to 8 TiB. The disk format, excepting a problem which will be fixed in the following patch, supports file systems up to 16 TiB in size. This patch cleans up those sites so that we can enable the full usable size. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c57c2c8d3862c8d5b908669654f6565da74ec19 Author: Jeff Mahoney Date: Thu Oct 18 23:39:25 2007 -0700 reiserfs: fix memset byte count during resize Correct the memset in reiserfs_resize to clear the memory allocated for the new bitmap info structs. Previously, it would clear the memory used by the old size. Depending on the contents of memory, this could cause incorrect caching behavior for bitmap blocks in the newly allocated area. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4c3d19d0c10701459f16c022ea23eff5e127747 Author: Jeff Mahoney Date: Thu Oct 18 23:39:24 2007 -0700 reiserfs: use is_reusable to catch corruption Build in is_reusable() unconditionally and use it to catch corruption before it reaches the block freeing paths. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e186e454e871678c01b7eec4da5865111076095 Author: Jeff Mahoney Date: Thu Oct 18 23:39:24 2007 -0700 reiserfs: dont use BUG when panicking Change reiserfs_panic() to use panic() initially instead of BUG(). Using BUG() ignores the configurable panic behavior, so systems that should be failing and rebooting are left hanging. This causes problems in active/standby HA scenarios. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7598392894f6455cf2114f29a98a0289df788056 Author: Jeff Mahoney Date: Thu Oct 18 23:39:23 2007 -0700 reiserfs: fix up lockdep warnings Add I_MUTEX_XATTR annotations to the inode locking in the reiserfs xattr code. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ad163ae0df8a3adab6d521475142392e3efb7a6 Author: Jose R. Santos Date: Thu Oct 18 23:39:23 2007 -0700 JBD: Fix JBD warnings when compiling with CONFIG_JBD_DEBUG Note from Mingming's JBD2 fix: Noticed all warnings are occurs when the debug level is 0. Then found the "jbd2: Move jbd2-debug file to debugfs" patch http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0f49d5d019afa4e94253bfc92f0daca3badb990b changed the jbd2_journal_enable_debug from int type to u8, makes the jbd_debug comparision is always true when the debugging level is 0. Thus the compile warning occurs. Thought about changing the jbd2_journal_enable_debug data type back to int, but can't, because the jbd2-debug is moved to debug fs, where calling debugfs_create_u8() to create the debugfs entry needs the value to be u8 type. Even if we changed the data type back to int, the code is still buggy, kernel should not print jbd2 debug message if the jbd2_journal_enable_debug is set to 0. But this is not the case. The fix is change the level of debugging to 1. The same should fixed in ext3/JBD, but currently ext3 jbd-debug via /proc fs is broken, so we probably should fix it all together. Signed-off-by: Jose R. Santos Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a266e75cf5a1efd20d084408a1b7f1a185496dd Author: Jan Kara Date: Thu Oct 18 23:39:22 2007 -0700 jbd: fix commit code to properly abort journal We should really call journal_abort() and not __journal_abort_hard() in case of errors. The latter call does not record the error in the journal superblock and thus filesystem won't be marked as with errors later (and user could happily mount it without any warning). Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2a9159cdd8b334a0dfaf69d8b07cd57b5272baa Author: Jose R. Santos Date: Thu Oct 18 23:39:22 2007 -0700 jbd: config_jbd_debug cannot create /proc entry The jbd-debug file used to be located in /proc/sys/fs/jbd-debug, but create_proc_entry() does not do lookups on file names that are more that one directory deep. This causes the entry creation to fail and hence, no proc file is created. Instead of fixing this on procfs might as well move the jbd2-debug file to debugfs which would be the preferred location for this kind of tunable. The new location is now /sys/kernel/debug/jbd/jbd-debug. [akpm@linux-foundation.org: zillions of cleanups] Signed-off-by: Jose R. Santos Acked-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c099244485ff8bb93c2cd41304a445adc7f54e6 Author: Chris Snook Date: Thu Oct 18 23:39:21 2007 -0700 jbd: remove printk() from J_ASSERT macros Remove printk from J_ASSERT to preserve registers during BUG. Signed-off-by: Chris Snook Cc: "Stephen C. Tweedie" Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c3478a523a48470eb11a23f01249250684677d9 Author: Mingming Cao Date: Thu Oct 18 23:39:20 2007 -0700 JBD/ext3 cleanups: convert to kzalloc Convert kmalloc to kzalloc() and get rid of the memset(). Signed-off-by: Mingming Cao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 345225c8e4a4adad9eb261db26aebcd3b87055ad Author: Fernando Luis Vázquez Cao Date: Thu Oct 18 23:39:20 2007 -0700 isdn/sc: remove unused REQUEST_IRQ and unnecessary header file REQUEST_IRQ is never used, so delete it. In the process get rid of the macro FREE_IRQ which makes the code unnecessarily difficult to read. Signed-off-by: Fernando Luis Vázquez Cao Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit feea6d4d1247aa10648dcd9a328ea210a6321def Author: Karsten Keil Date: Thu Oct 18 23:39:19 2007 -0700 isdn: fix random hard freeze with AVM T1 cards This fixes the hard freeze debugged for AVM C4 cards for the AVM T1 cards. Signed-off-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e9c7813723c925623f2e21a93e2d5dc05ea8d12 Author: Karsten Keil Date: Thu Oct 18 23:39:19 2007 -0700 isdn: fix random hard freeze with AVM cards using b1dma This fixes the hard freeze debugded for AVM C4 cards using the b1dma interface. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eac141deb4f0136059372923ac3f0eab0bef5bce Author: Karsten Keil Date: Thu Oct 18 23:39:18 2007 -0700 isdn: fix random hard freeze with AVM c4 card part 2 One call was missing in the previous patch. Signed-off-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 477116e69dc48aaa70cca47668cd4aa82f39e05c Author: Joern Engel Date: Thu Oct 18 23:39:18 2007 -0700 fix a trivial typo in scripts/checkstack.pl Trivial change in a comment. Signed-off-by: Joern Engel Signed-off-by: Andre Haupt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b293d758470e971253eec42b817bc9ef1213b228 Author: Samuel Thibault Date: Thu Oct 18 23:39:17 2007 -0700 Console events and accessibility Some external modules like Speakup need to monitor console output. This adds a VT notifier that such modules can use to get console output events: allocation, deallocation, writes, other updates (cursor position, switch, etc.) [akpm@linux-foundation.org: fix headers_check] Signed-off-by: Samuel Thibault Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe9d4f576324999ac521c931f3b3eee0c8e45544 Author: Alexey Dobriyan Date: Thu Oct 18 23:39:16 2007 -0700 Add kernel/notifier.c There is separate notifier header, but no separate notifier .c file. Extract notifier code out of kernel/sys.c which will remain for misc syscalls I hope. Merge kernel/die_notifier.c into kernel/notifier.c. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ed75eb8f1cd89565966599c4f77d2edb086d5b0 Author: Coly Li Date: Thu Oct 18 23:39:15 2007 -0700 setup vma->vm_page_prot by vm_get_page_prot() This patch uses vm_get_page_prot() to setup vma->vm_page_prot. Though inside vm_get_page_prot() the protection flags is AND with (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED), it does not hurt correct code. Signed-off-by: Coly Li Cc: Hugh Dickins Cc: Tony Luck Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c7037db50ebecf3d5cfbf7082daa5d97d900fef Author: Benjamin Herrenschmidt Date: Thu Oct 18 23:39:14 2007 -0700 remove unused flush_tlb_pgtables Nobody uses flush_tlb_pgtables anymore, this patch removes all remaining traces of it from all archs. Signed-off-by: Benjamin Herrenschmidt Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22124c9999f00340b062fff740db30187bf18454 Author: Fernando Luis Vázquez Cao Date: Thu Oct 18 23:39:14 2007 -0700 kmap leak fix for x86_32 kdump copy_oldmem_page should not return leaving a page frame from the previous kernel mapped. Signed-off-by: Fernando Luis Vázquez Cao Acked-by: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3305a6bc2c4dbd8f7fde1b9941ccb260bc6355c2 Author: Geert Uytterhoeven Date: Thu Oct 18 23:39:13 2007 -0700 ps3av: remove unused fields in ps3av_monitor_quirks Remove the `clear_50' and `clear_vesa' fields of struct ps3av_monitor_quirk, as they're currently unused. We can always re-add them when we really need them. Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41ab4396e19fba338baf28044d3e48385744b930 Author: Samuel Thibault Date: Thu Oct 18 23:39:12 2007 -0700 Console keyboard events and accessibility Some blind people use a kernel engine called Speakup which uses hardware synthesis to speak what gets displayed on the screen. They use the PC keyboard to control this engine (start/stop, accelerate, ...) and also need to get keyboard feedback (to make sure to know what they are typing, the caps lock status, etc.) Up to now, the way it was done was very ugly. Below is a patch to add a notifier list for permitting a far better implementation, see ChangeLog above for details. You may wonder why this can't be done at the input layer. The problem is that what people want to monitor is the console keyboard, i.e. all input keyboards that got attached to the console, and with the currently active keymap (i.e. keysyms, not only keycodes). This adds a keyboard notifier that such modules can use to get the keyboard events and possibly eat them, at several stages: - keycodes: even before translation into keysym. - unbound keycodes: when no keysym is bound. - unicode: when the keycode would get translated into a unicode character. - keysym: when the keycode would get translated into a keysym. - post_keysym: after the keysym got interpreted, so as to see the result (caps lock, etc.) This also provides access to k_handler so as to permit simulation of keypresses. [akpm@linux-foundation.org: various fixes] Signed-off-by: Samuel Thibault Cc: Jiri Kosina Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c18479fe017b9d3b65b7682f2b9e711389441186 Author: Miklos Szeredi Date: Thu Oct 18 23:39:11 2007 -0700 put declaration of put_filesystem() in fs.h Declarations go into headers. Signed-off-by: Miklos Szeredi Cc: Ram Pai Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50899561aa15b9227009ae40e58852c32fc81944 Author: Andrew Morton Date: Thu Oct 18 23:39:10 2007 -0700 advansys: depends on VIRT_TO_BUS Fix powerpc allmodconfig build: advansys requires virt_to_bus() but powerpc doesn't implement it. Cc: James Bottomley Cc: Paul Mackerras Acked-by: Matthew Wilcox Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9e26291be31cb494c1845e356daba84b39ab059 Author: Christian Borntraeger Date: Fri Oct 19 20:52:40 2007 +0200 sched: fix guest time accounting going faster than user time accounting cputime_add already adds, dont do it twice. Signed-off-by: Christian Borntraeger Signed-off-by: Ingo Molnar commit 92cb7612aee39642d109b8d935ad265e602c0563 Author: Mike Travis Date: Fri Oct 19 20:35:04 2007 +0200 x86: convert cpuinfo_x86 array to a per_cpu array cpu_data is currently an array defined using NR_CPUS. This means that we overallocate since we will rarely really use maximum configured cpus. When NR_CPU count is raised to 4096 the size of cpu_data becomes 3,145,728 bytes. These changes were adopted from the sparc64 (and ia64) code. An additional field was added to cpuinfo_x86 to be a non-ambiguous cpu index. This corresponds to the index into a cpumask_t as well as the per_cpu index. It's used in various places like show_cpuinfo(). cpu_data is defined to be the boot_cpu_data structure for the NON-SMP case. Signed-off-by: Mike Travis Acked-by: Christoph Lameter Cc: Andi Kleen Cc: James Bottomley Cc: Dmitry Torokhov Cc: "Antonino A. Daplas" Cc: Mark M. Hoffman Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f1df280f53d7c3ce8613a3b25d1efe009b9860dd Author: Jan Blunck Date: Fri Oct 19 20:35:04 2007 +0200 x86: introduce frame_pointer() and stack_pointer() This patch defines frame_pointer() and stack_pointer() similar to the already defined instruction_pointer(). Thus the oprofile code can be written in a more readable fashion. [ tglx: arch/x86 adaptation ] Signed-off-by: Jan Blunck Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ab483570a13be2a34c0502b166df8f8b26802103 Author: Andi Kleen Date: Fri Oct 19 20:35:04 2007 +0200 x86 & generic: change to __builtin_prefetch() gcc 3.2+ supports __builtin_prefetch, so it's possible to use it on all architectures. Change the generic fallback in linux/prefetch.h to use it instead of noping it out. gcc should do the right thing when the architecture doesn't support prefetching Undefine the x86-64 inline assembler version and use the fallback. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 124d395fd05efb65d00ca23c7bcc86c272bd8813 Author: Stephane Eranian Date: Fri Oct 19 20:35:04 2007 +0200 i386: do not BUG_ON() when MSR is unknown Here is a small patch to change the behavior of the PMU msr allocator to avoid BUG_ON() when the MSR is unknwon. Instead, it now returns ok, which means "I do not manage". The current allocator is not yet managing the full set of PMU registers (e.g., GLOBAL_* on Core 2). [watchdog] do not BUG_ON() in the MSR allocator if MSR is unknown, return ok instead Signed-off-by: Stephane Eranian Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 71b31233a215be27e2efbcc0e739cbebb0bde078 Author: Mike Travis Date: Fri Oct 19 20:35:03 2007 +0200 x86: acpi use cpu_physical_id This is from an earlier message from Christoph Lameter: processor_core.c currently tries to determine the apicid by special casing for IA64 and x86. The desired information is readily available via cpu_physical_id() on IA64, i386 and x86_64. Signed-off-by: Christoph Lameter Additionally, boot_cpu_id needed to be exported to fix compile errors in dma code when !CONFIG_SMP. Signed-off-by: Mike Travis Cc: Andi Kleen Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: Len Brown Signed-off-by: Andrew Morton commit b6278470b7cdbf2bf6ba7345130d83924451a51a Author: Mike Travis Date: Fri Oct 19 20:35:03 2007 +0200 x86: convert cpu_llc_id to be a per cpu variable Convert cpu_llc_id from a static array sized by NR_CPUS to a per_cpu variable. This saves sizeof(cpu_llc_id) * NR unused cpus. Access is mostly from startup and CPU HOTPLUG functions. Note there's an additional change of the type of cpu_llc_id from int to u8 for ARCH i386 to correspond with the same type in ARCH x86_64. Signed-off-by: Mike Travis Cc: Andi Kleen Cc: Christoph Lameter Cc: "Siddha, Suresh B" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 71fff5e6ca1b738ac4742580e4c0ff79d906f6c8 Author: Mike Travis Date: Fri Oct 19 20:35:03 2007 +0200 x86: convert cpu_to_apicid to be a per cpu variable This patch converts the x86_cpu_to_apicid array to be a per cpu variable. This saves sizeof(apicid) * NR unused cpus. Access is mostly from startup and CPU HOTPLUG functions. MP_processor_info() is one of the functions that require access to the x86_cpu_to_apicid array before the per_cpu data area is setup. For this case, a pointer to the __initdata array is initialized in setup_arch() and removed in smp_prepare_cpus() after the per_cpu data area is initialized. A second change is included to change the initial array value of ARCH i386 from 0xff to BAD_APICID to be consistent with ARCH x86_64. Signed-off-by: Mike Travis Cc: Andi Kleen Cc: Christoph Lameter Cc: "Siddha, Suresh B" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dbeb2be21d678c49a8d8bbf774903df15dd55474 Author: Rusty Russell Date: Fri Oct 19 20:35:03 2007 +0200 i386: introduce "used_vectors" bitmap which can be used to reserve vectors. This simplifies the io_apic.c __assign_irq_vector() logic and removes the explicit SYSCALL_VECTOR check, and also allows for vectors to be reserved by other mechanisms (ie. lguest). [ tglx: arch/x86 adaptation ] Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 39743c9ef717fd4f2b5583f010115c5f2482b8ae Author: Andi Kleen Date: Fri Oct 19 20:35:03 2007 +0200 x86: use raw locks during oopses Don't want any lockdep or other fragile machinery to run during oopses. Use raw spinlocks directly for oops locking. Also disables irq flag tracing there. [ tglx: arch/x86 adaptation ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b1992df3f070475b243b12ca1241a5938ef5f9bc Author: Jan Beulich Date: Fri Oct 19 20:35:03 2007 +0200 x86: honor _PAGE_PSE bit on page walks [ tglx: arch/x86 adaptation ] Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1f503e7743df91eb6f63af27c310c557edfc3307 Author: Akinobu Mita Date: Fri Oct 19 20:35:03 2007 +0200 i386: do cpuid_device_create() in CPU_UP_PREPARE instead of CPU_ONLINE. Do cpuid_device_create() in CPU_UP_PREPARE instead of CPU_ONLINE. [ tglx: arch/x86 adaptation ] Cc: "H. Peter Anvin" Signed-off-by: Akinobu Mita Signed-off-by: Andi Kleen Cc: Gautham R Shenoy Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 66d16ed45d19600abd72dbd55bd2018437b24b73 Author: Laurent Vivier Date: Fri Oct 19 20:35:03 2007 +0200 x86: implement missing x86_64 function smp_call_function_mask() This patch defines the missing function smp_call_function_mask() for x86_64, this is more or less a cut&paste of i386 function. It removes also some duplicate code. This function is needed by KVM to execute a function on some CPUs. AK: Fixed description AK: Moved WARN_ON(irqs_disabled) one level up to not warn in the panic case. [ tglx: arch/x86 adaptation ] Signed-off-by: Laurent Vivier Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9d1c6e7c86ddc366d67f0c5fa77be9b93710037a Author: Glauber de Oliveira Costa Date: Fri Oct 19 20:35:03 2007 +0200 x86: use descriptor's functions instead of inline assembly This patch provides a new set of functions for managing the descriptor tables that can be used instead of putting the raw assembly in .c files. Remodeling of store_tr() suggested by Frederik Deweerdt. [ tglx: arch/x86 adaptation ] Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9d975ebda56699c1b8480e9736caf33a61ccb810 Author: Pavel Emelyanov Date: Fri Oct 19 20:35:03 2007 +0200 i386: consolidate show_regs and show_registers for i386 Both functions printk the same information, except for CRx and debug registers in the show_registers() one and a bit different manner. So move the common code into one place. This is already done for x86_64, so I think it's worth having the same on i386. This saves 100 bytes of .rodata section :) ... but only 8 from .text :( [ tglx: arch/x86 adaptation ] Signed-off-by: Pavel Emelyanov Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 574a60421c8ea5383a54ebee1f37fa871d00e1b9 Author: Jan Blunck Date: Fri Oct 19 20:35:03 2007 +0200 i386: make callgraph use dump_trace() on i386/x86_64 This patch improves oprofile callgraphs for i386/x86_64. The old backtracing code was unable to produce kernel backtraces if the kernel wasn't compiled with framepointers. The code now uses dump_trace(). [ tglx: arch/x86 adaptation ] Signed-off-by: Jan Blunck Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 948062683004d13ca21c8c05ac052d387978a449 Author: Andi Kleen Date: Fri Oct 19 20:35:03 2007 +0200 x86: enable iommu_merge by default [ tglx: arch/x86 adaptation ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4f8a6b1ab222d08931a36d6770a60cff405968bd Author: Stephane Eranian Date: Fri Oct 19 20:35:03 2007 +0200 i386: i386 add AMD64 Barcelona PMU MSR definitions to msr.h [i386] add AMD Barcelona PMU MSR definitions AK: Not used right now, but will presumably at some point. [ tglx: arch/x86 adaptation ] Signed-off-by: Stephane Eranian Signed-off-by: Robert Richter Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 54ef34009a69f95c25685247e73673dfeb435c71 Author: Andi Kleen Date: Fri Oct 19 20:35:03 2007 +0200 x86: Unify i386 and x86-64 early quirks They were already very similar; just use the same file now. [ tglx: arch/x86 adaptation ] Cc: lenb@kernel.org Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 158ad3260ba3b006e3c6dfad05298e9d7889c5b1 Author: Udo A. Steinberg Date: Fri Oct 19 20:35:02 2007 +0200 x86: enable HPET on ICH3 and ICH4 ICH3 and ICH4 have undocumented HPET capabilities. This patch enables HPET for platforms based around these ICHs. Tested on various ICH3 and ICH4 platforms. Because HPET is not officially documented for ICH3/4 and may not have been validated by chipset folks, we're on thin ice here. I'd recommend testing this patch in -hrt or -mm for a while and wait for success/failure reports before feeding it upstream. tglx: depends on the force_hpet command line option ! Signed-off-by: Udo A. Steinberg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b196884e2f5d45fb505b46011e41ca95e0859e34 Author: Udo A. Steinberg Date: Fri Oct 19 20:35:02 2007 +0200 x86: force enable HPET on VT8235/8237 chipsets This patch adds quirks to force enable HPET on Via VT8235 and VT8237 chipsets. The datasheet for 8237 documents HPET functionality (although wrongly) whereas HPET is undocumented for 8235. Tested on A7V880 (8237) and K7VT4A+ (8235) boards. tglx: depends on the force_hept commandline option Signed-off-by: Udo A. Steinberg Cc: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b17530bda22e7ffbf08f7a8a50743256b1672f6a Author: Thomas Gleixner Date: Fri Oct 19 20:35:02 2007 +0200 x86: add force_hpet boot option add force_hpet boot option. (this will be useful to make the forced-enable quirks depend on.) Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 764922376ca39085e217656af6784a3377d98566 Author: Thomas Gleixner Date: Fri Oct 19 20:35:02 2007 +0200 x86: quirk.c trivial coding style and white space cleanup Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b3f5dde15ebe984e178d4660b6354285931b20ff Author: Andi Kleen Date: Fri Oct 19 20:35:02 2007 +0200 x86: don't zero pad addresses in segfault message don't zero pad addresses in segfault message. Matches the other trap messages. This leaves some more space for the new file name. [ mingo: arch/x86 adaptation ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 95d1b8f98138b1300bfecd8fbf3a93e10e74dc5f Author: Roland McGrath Date: Fri Oct 19 20:35:02 2007 +0200 x86: Use linux/elfcore-compat.h This makes x86-64's ia32 code use the new linux/elfcore-compat.h, reducing some hand-copied duplication. Signed-off-by: Roland McGrath Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Andi Kleen Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7778887880d278c23dc0975210df0381c878ae1e Author: Hiroshi Shimamoto Date: Fri Oct 19 20:35:02 2007 +0200 x86: merge init_task_32/64.c Merge init_task_32/64.c. Move 64bit per cpu data orig_ist to setup64.c. [ mingo: fixed checkpatch trivialities. ] Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit af93ebc0b3ed8cdf93a6ed4bc1fab548f8059d0a Author: Andi Kleen Date: Fri Oct 19 20:35:02 2007 +0200 x86: remove page_fault_trace Old debugging code that is not really needed anymore. If someone wants it it would be better replaced with a systemtap script or kprobe. This avoids a potential cache miss during page fault processing. [ mingo: arch/x86 adaptation ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 096708dcf71de6ab5f839ae68ee42275673dc178 Author: Adrian Knoth Date: Thu Oct 18 16:58:58 2007 +0200 Kconfig: Missing line breaks in arch/x86_64/Kconfig The helptext for IA32_EMULATION in arch/x86_64/Kconfig is wider than 80 chars, thus failing to be displayed in 80x24 screens. This patch re-breaks lines. Signed-off-by: Adrian Knoth commit 06b4f2a51c02ad6190b569b67ac493659d9df68c Author: Thomas Gleixner Date: Fri Oct 19 20:35:02 2007 +0200 x86: move cpufreq Kconfigs to the same directory Move the 64bit Kconfig file to arch/x86/kernel/cpu/cpufreq, so we can unify them. Signed-off-by: Thomas Gleixner commit 0387f4511e05a5cba8570e47cd1c7b7cc7875787 Author: Andres Salomon Date: Thu Oct 18 15:26:51 2007 -0400 GEODE: use symbolic constant in cs5536 reboot fixup Simple cosmetic update for the cs5536 reboot fixup; define the MSR that's used for rebooting in geode.h, and use the define. Signed-off-by: Andres Salomon Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 54ffaa45c5f572ff6c344ca583137d0edf2d78cc Author: Ingo Molnar Date: Fri Oct 19 20:35:02 2007 +0200 x86: fix CONFIG_NUMA and nosmp | maxcpus=0/1 crash x86 NUMA kernels crash in the scheduler setup code if "nosmp" or "maxcpus=0" is passed on the boot command line: | Brought up 1 CPUs | BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000 | printing eip: c011f0b5 *pde = 00000000 | Oops: 0000 [#1] SMP | | Pid: 1, comm: swapper Not tainted (2.6.23 #67) | EIP: 0060:[] EFLAGS: 00010246 CPU: 0 | EIP is at sd_degenerate+0x35/0x40 the reason is sloppy spaghetti code in smpboot_32.c that resulted in a missing map_cpu_to_logical_apicid() call - which also had the side-effect of setting up the cpu_2_node[] entry for the lone CPU. That resulted in node_to_cpumask(0) resulting in 00000000 - confusing the sched-domains setup code. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3ceba7815cfc0b5d4c2bef5bb58e0c766da63549 Author: Sam Ravnborg Date: Fri Oct 19 20:35:02 2007 +0200 x86: use relative symlink for bzImage Use relative symlinks so we can refer bzImage from different tree structures aka via NFS. Moved the creation of directory + symlink after a successful build of the boot parts. Signed-off-by: Sam Ravnborg Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 957ff882f9db86e017f730e77322ec5193178e5e Author: Siddha, Suresh B Date: Fri Oct 19 20:35:02 2007 +0200 x86, vsyscall: fix the oops crash with __pa_vsymbol() Appended patch fixes an oops while changing the vsyscall sysctl. I am sure no one tested this code before integrating into mainline :( BTW, using ioremap() in vsyscall_sysctl_change() to get the virtual address of a kernel symbol sounds like an over kill.. I wonder if we can define a simple __va_vsymbol() which will return directly the kernel direct mapping. comments in the code which says gcc has trouble with __va(__pa()) sounds bogus to me. __pa() on a vsyscall address will not work anyhow :( And also, the whole nop out syscall in vsyscall page infrastructure (vsyscall_sysctl_change()) is added to make some attacks difficult, and yet I don't see this nop out being done by default. This area requires more cleanups? Fix an oops with __pa_vsymbol(). VSYSCALL_FIRST_PAGE is a fixmap index. We want the starting virtual address of the vsyscall page and not the index. [ mingo: arch/x86 adaptation ] Reported-by: Yanmin Zhang Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f322727b92957ccd4b0366dbd42908613222033a Author: Thomas Gleixner Date: Fri Oct 19 20:35:02 2007 +0200 x86: update .gitignore entries vdso / vsycall create .so.dbg files now. Add *.so.dbg to the main .ignore file Exclude the compile time created boot directory in arch/x86_64 as well Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6f75aaa72af19d3e4d144e13d59e71f51686b77f Author: Ralf Baechle Date: Fri Oct 19 18:13:33 2007 +0100 [MIPS] Delete totally outdated Documentation/mips/time.README Signed-off-by: Ralf Baechle commit 1d9ef3ecd7fa2ca28064f03614f37409100c0527 Author: Atsushi Nemoto Date: Sat Oct 20 01:26:25 2007 +0900 [MIPS] Kill duplicated setup_irq() for cp0 timer Also many plat_timer_setup() can be killed too. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit d527eef5b7f151320921f0ff7a88297cefc5be72 Author: Ralf Baechle Date: Fri Oct 19 08:22:38 2007 +0100 [MIPS] Sibyte: Finish conversion to modern time APIs. Signed-off-by: Ralf Baechle commit 93c846f9047f392fc2335668a5234edfbddb7cdc Author: Ralf Baechle Date: Fri Oct 19 08:13:08 2007 +0100 [MIPS] time: Helpers to compute clocksource/event shift and mult values. Signed-off-by: Ralf Baechle commit f887b93e17448552eb6761d21277c33177bb904b Author: Ralf Baechle Date: Fri Oct 19 07:55:48 2007 +0100 [MIPS] SMTC: Build fix. Signed-off-by: Ralf Baechle commit 9c9ad7917bf22350c59e6568d6d570f9be102d00 Author: Ralf Baechle Date: Fri Oct 19 07:55:18 2007 +0100 [MIPS] time: Delete dead code. Signed-off-by: Ralf Baechle commit 723ee050aa2dd4aa483bdb30413dcd7d48829783 Author: Ralf Baechle Date: Thu Oct 18 22:57:12 2007 +0100 [MIPS] MIPSsim: Strip defconfig file to the bones. MIPSsim simulates only a barebone system, no point in a fancy kernel. Signed-off-by: Ralf Baechle commit 9a24d04a3c26c223f22493492c5c9085b8773d4a Author: Ingo Molnar Date: Fri Oct 19 12:19:26 2007 +0200 x86: fix global_flush_tlb() bug While we were reviewing pageattr_32/64.c for unification, Thomas Gleixner noticed the following serious SMP bug in global_flush_tlb(): down_read(&init_mm.mmap_sem); list_replace_init(&deferred_pages, &l); up_read(&init_mm.mmap_sem); this is SMP-unsafe because list_replace_init() done on two CPUs in parallel can corrupt the list. This bug has been introduced about a year ago in the 64-bit tree: commit ea7322decb974a4a3e804f96a0201e893ff88ce3 Author: Andi Kleen Date: Thu Dec 7 02:14:05 2006 +0100 [PATCH] x86-64: Speed and clean up cache flushing in change_page_attr down_read(&init_mm.mmap_sem); - dpage = xchg(&deferred_pages, NULL); + list_replace_init(&deferred_pages, &l); up_read(&init_mm.mmap_sem); the xchg() based version was SMP-safe, but list_replace_init() is not. So this "cleanup" introduced a nasty bug. why this bug never become prominent is a mystery - it can probably be explained with the (still) relative obscurity of the x86_64 architecture. the safe fix for now is to write-lock init_mm.mmap_sem. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c6143911a7e0f8abef0319c801eb36718f57dfde Author: Christoph Hellwig Date: Fri Sep 14 15:22:37 2007 +1000 [XFS] cleanup fid types mess Currently XFs has three different fid types: struct fid, struct xfs_fid and struct xfs_fid2 with hte latter two beeing identicaly and the first one beeing the same size but an unstructured array with the same size. This patch consolidates all this to alway uuse struct xfs_fid. This patch is required for an upcoming patch series from me that revamps the nfs exporting code and introduces a Linux-wide struct fid. SGI-PV: 970336 SGI-Modid: xfs-linux-melb:xfs-kern:29651a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit c8fcfac5a257f8a04f7ba3d397dedccffef19be2 Author: Christoph Hellwig Date: Fri Oct 19 16:57:01 2007 +1000 [XFS] fixups after behavior removal merge into mainline git Fixup for lack of dmapi support and no quota module support. SGI-PV: 969985 Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit ce0e32e65f70337e0732c97499b643205fa8ea31 Author: Herbert Xu Date: Thu Oct 18 22:37:58 2007 -0700 [NET]: Fix possible dev_deactivate race condition The function dev_deactivate is supposed to only return when all outstanding transmissions have completed. Unfortunately it is possible for store operations in the driver's transmit function to only become visible after dev_deactivate returns. This patch fixes this by taking the queue lock after we see the end of the queue run. This ensures that all effects of any previous transmit calls are visible. If however we detect that there is another queue run occuring, then we'll warn about it because this should never happen as we have pointed dev->qdisc to noop_qdisc within the same queue lock earlier in the functino. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a25de534f89c515c82d3553c42d3bb02c2d1a7da Author: Anton Arapov Date: Thu Oct 18 22:00:17 2007 -0700 [INET]: Justification for local port range robustness. There is a justifying patch for Stephen's patches. Stephen's patches disallows using a port range of one single port and brakes the meaning of the 'remaining' variable, in some places it has different meaning. My patch gives back the sense of 'remaining' variable. It should mean how many ports are remaining and nothing else. Also my patch allows using a single port. I sure we must be able to use mentioned port range, this does not restricted by documentation and does not brake current behavior. usefull links: Patches posted by Stephen Hemminger http://marc.info/?l=linux-netdev&m=119206106218187&w=2 http://marc.info/?l=linux-netdev&m=119206109918235&w=2 Andrew Morton's comment http://marc.info/?l=linux-kernel&m=119248225007737&w=2 1. Allows using a port range of one single port. 2. Gives back sense of 'remaining' variable. Signed-off-by: Anton Arapov Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit be702d5e38e2e7e554604b223794f87c12fa6811 Author: Patrick McHardy Date: Thu Oct 18 21:58:19 2007 -0700 [PACKET]: Kill unused pg_vec_endpage() function The conversion to vm_insert_page() left this unused function behind, remove it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 85ef3e5cad3dfc6bf84bf2487e9f26a01983c196 Author: Randy Dunlap Date: Thu Oct 18 21:56:38 2007 -0700 [NET]: QoS/Sched as menuconfig Convert "QoS and/or fair queueing" to menuconfig. This makes it easy for someone to disable all sub-options with one config symbol. Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 9b013e05e0289c190a53d78ca029e2f21c0e4485 Author: Olof Johansson Date: Thu Oct 18 21:48:39 2007 -0700 [NET]: Fix bug in sk_filter race cures. Looks like this might be causing problems, at least for me on ppc. This happened during a normal boot, right around first interface config/dhcp run.. cpu 0x0: Vector: 300 (Data Access) at [c00000000147b820] pc: c000000000435e5c: .sk_filter_delayed_uncharge+0x1c/0x60 lr: c0000000004360d0: .sk_attach_filter+0x170/0x180 sp: c00000000147baa0 msr: 9000000000009032 dar: 4 dsisr: 40000000 current = 0xc000000004780fa0 paca = 0xc000000000650480 pid = 1295, comm = dhclient3 0:mon> t [c00000000147bb20] c0000000004360d0 .sk_attach_filter+0x170/0x180 [c00000000147bbd0] c000000000418988 .sock_setsockopt+0x788/0x7f0 [c00000000147bcb0] c000000000438a74 .compat_sys_setsockopt+0x4e4/0x5a0 [c00000000147bd90] c00000000043955c .compat_sys_socketcall+0x25c/0x2b0 [c00000000147be30] c000000000007508 syscall_exit+0x0/0x40 --- Exception: c01 (System Call) at 000000000ff618d8 SP (fffdf040) is in userspace 0:mon> I.e. null pointer deref at sk_filter_delayed_uncharge+0x1c: 0:mon> di $.sk_filter_delayed_uncharge c000000000435e40 7c0802a6 mflr r0 c000000000435e44 fbc1fff0 std r30,-16(r1) c000000000435e48 7c8b2378 mr r11,r4 c000000000435e4c ebc2cdd0 ld r30,-12848(r2) c000000000435e50 f8010010 std r0,16(r1) c000000000435e54 f821ff81 stdu r1,-128(r1) c000000000435e58 380300a4 addi r0,r3,164 c000000000435e5c 81240004 lwz r9,4(r4) That's the deref of fp: static void sk_filter_delayed_uncharge(struct sock *sk, struct sk_filter *fp) { unsigned int size = sk_filter_len(fp); ... That is called from sk_attach_filter(): ... rcu_read_lock_bh(); old_fp = rcu_dereference(sk->sk_filter); rcu_assign_pointer(sk->sk_filter, fp); rcu_read_unlock_bh(); sk_filter_delayed_uncharge(sk, old_fp); return 0; ... So, looks like rcu_dereference() returned NULL. I don't know the filter code at all, but it seems like it might be a valid case? sk_detach_filter() seems to handle a NULL sk_filter, at least. So, this needs review by someone who knows the filter, but it fixes the problem for me: Signed-off-by: Olof Johansson Signed-off-by: David S. Miller commit 85ad93ad56f4baf52e7c40f2e01c4df8e14d4c9c Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:12 2007 +0200 ide: set drive->autotune in ide_pci_setup_ports() Majority of host drivers using IDE PCI layer set drive->autotune, the only exceptions are: generic.c ns87415.c rz1000.c trm290.c * no ->set_pio_mode method it821x.c: * if memory allocation fails drive->autotune won't be set (but there also won't be ->set_pio_mode method in such case) piix.c: * MPIIX controller (no ->init_hwif method so also no ->set_pio_mode method) However if there is no ->set_pio_mode method there are no changes in behavior w.r.t. PIO tuning so always set drive->autotune in ide_pci_setup_ports(). Signed-off-by: Bartlomiej Zolnierkiewicz commit d7c526f7db816af57b38e81169d18b27c3efe85c Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:11 2007 +0200 triflex: always tune PIO Signed-off-by: Bartlomiej Zolnierkiewicz commit 912fb29a36a7269ac1c4a4df45bc0ac1d2637972 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:11 2007 +0200 opti621: always tune PIO Signed-off-by: Bartlomiej Zolnierkiewicz commit af1b3d5c5120c4f042445def79e3586741f0e95a Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:11 2007 +0200 cy82c693: always tune PIO Signed-off-by: Bartlomiej Zolnierkiewicz commit f0bb945c9dd5d4b7061c86b2b0511854a67457b5 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:11 2007 +0200 cs5520: always tune PIO Since cs5520 uses VDMA best PIO mode was tuned anyway by ide_dma_check() but only if DMA was successfully initialized. Signed-off-by: Bartlomiej Zolnierkiewicz commit 93c680798531503ad1a4f1d6ad22e3785e8c4c75 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:11 2007 +0200 alim15x3: always tune PIO Signed-off-by: Bartlomiej Zolnierkiewicz commit 3985ee3b4c5f9e1d73623b92715375b089c54353 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:11 2007 +0200 ide: add IDE_HFLAG_LEGACY_IRQS host flag Add IDE_HFLAG_LEGACY_IRQS host flag to tell ide_pci_setup_ports() to set hwif->irq to legacy IRQ 14/15 (iff hwif->irq is not already set) and convert atiixp, piix, serverworks, sis5513 and slc90e66 host drivers to use it. While at it: * In piix.c add IDE_HFLAGS_PIIX define and don't use ->init_hwif for MPIIX. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1c51361a9867021dd7444b56d87834003d4ca67d Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:10 2007 +0200 ide: add IDE_HFLAG_SERIALIZE host flag Add IDE_HFLAG_SERIALIZE host flag to tell ide_pci_setup_ports() to set hwif/mate->serialized and convert aec62xx, cs5530 and sc1200 host drivers to use it. Signed-off-by: Bartlomiej Zolnierkiewicz commit ed67b92385a5afddc98d5ff0894b2854c4a54dac Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:10 2007 +0200 ide: add IDE_HFLAG_ERROR_STOPS_FIFO host flag Add IDE_HFLAG_ERROR_STOPS_FIFO host flag and use it instead of hwif->err_stops_fifo. As a side-effect this change fixes hwif->err_stops_fifo not being restored by ide_hwif_restore(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 40d2dd7ef3df468814a34cd3d31486408e604468 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:10 2007 +0200 piix: add DECLARE_ICH_DEV() macro Add DECLARE_ICH_DEV() macro. While at it: * Add init_hwif_ich() (->init_hwif method) for ICH controllers. * Rename init_chipset_piix() to init_chipset_ich() and use it only for ICH controllers. * Remove no longer needed piix_is_ichx() helper. Signed-off-by: Bartlomiej Zolnierkiewicz commit 5ef8cb5d9262678d3020a9395afb96592bffe069 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:10 2007 +0200 pdc202xx_old: add DECLARE_PDC2026X_DEV() macro Signed-off-by: Bartlomiej Zolnierkiewicz commit 05d7e6cbcd19a7a0c3ffe06913c3864fd99816cd Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:10 2007 +0200 pdc202xx_new: add DECLARE_PDCNEW_DEV() macro Signed-off-by: Bartlomiej Zolnierkiewicz commit 6a7f62af60fe903e74a8f8d530c2d5bfea1121bb Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:10 2007 +0200 aec62xx: no need to disable UDMA in ->init_hwif method for ATP850UF * No need to disable UDMA in ->init_hwif method for ATP850UF (and since we now always tune PIO it will be disabled by ->set_pio_mode calls anyway). * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 942278ef6424c5d661ad0a8202ef60dc0f268a95 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:09 2007 +0200 ide: remove .init_setup from ide_pci_device_t Now that all users were fixed we can safely remove it. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7ed5829758d8d6c5486ec54fb4414b7683541fad Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:09 2007 +0200 serverworks: remove ->init_setup Merge init_setup_{svwks,csb6}() into svwks_init_one(). While at it: * Remove redundant dev->device checks. * Operate on a local copy of serverworks_chipsets[] entry. * Use pci_resource_start(). Signed-off-by: Bartlomiej Zolnierkiewicz commit aaf707f061d5d87c9f671caa2904cd41c1c1a99e Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:09 2007 +0200 scc_pata: remove ->init_setup Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 97f84baa030c9e2d235e26e4a96fe7e294049cb0 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:09 2007 +0200 pdc202xx_old: remove ->init_setup * Split off pdc202ata4_fixup_irq() helper from init_setup_pdc202ata4(). * Merge init_setup_{pdc202ata4,pdc20265,pdc202xx}() into pdc202xx_init_one(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 099b1f42ab631f88a0321ae5468809fe907eb4d5 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:09 2007 +0200 pdc202xx_new: remove ->init_setup * Split off pdc20270_get_dev2() helper from init_setup_pdc20270(). * Merge init_setup_{pdcnew,pdc20270,pdc20276}() into pdc202new_init_one(). While at it: * Change KERN_ level of interrupt fixup message from KERN_WARNING to KERN_INFO. Signed-off-by: Bartlomiej Zolnierkiewicz commit fbf47840fe679bf370d07267df6f851b4f53e78d Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:09 2007 +0200 hpt366: remove ->init_setup * Split off hpt{374,371,366}_init() helper from init_setup_hpt{374,371,366}(). * Merge init_setup_{374,372n,371,372a,302,366}() into hpt366_init_one(). While at it: * Use "HPT36x" name for HPT366/HPT368 chipsets. * Add .chip_name to struct hpt_info and use it to set set d->name. * Convert .max_ultra in struct hpt_info to .udma_mask and use it to set d->udma_mask. * Fix hpt302 to use HPT302_ALLOW_ATA133_6 define. * Change HPT366/HPT374 interrupt fixup message from KERN_WARNING to KERN_INFO. * Use the second hpt366_chipsets[] entry for HPT37x chipsets using HPT36x PCI device ID and fix .enablebits/.host_flags for HPT36x hpt366_chipsets[] entry. * Bump driver version. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bfd314a304faec58a13febec5dea37b4eab1adc0 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:09 2007 +0200 cmd64x: remove ->init_setup Merge init_setup_{cmd64x,cmd646}() into cmd64x_init_one(). Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit df95f5ab5834a543ddef0e85785e17347cf4c89d Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:08 2007 +0200 aec62xx: remove ->init_setup Merge init_setup_{aec62xx,aec6x80}() into aec62xx_init_one(). While at it: * Use id->driver_data instead of dev->device. * Use ATA_UDMA6 define. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 31e8a465a265886a207427e5652aafb9a591c3fa Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:08 2007 +0200 ide: use I/O ops directly part #2 (take 2) v2: - bump host driver versions (as suggested by Sergei) - use I/O ops directly in drivers/ide/setup-pci.c Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit fc212bb1fb538f9453d9ea2cca09749e602055a6 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:08 2007 +0200 ide: use pci_dev->revision Some places were using PCI_CLASS_REVISION instead of PCI_REVISION_ID so they were not converted by commit 44c10138fd4bbc4b6d6bff0873c24902f2a9da65. Cc: Auke Kok Cc: Greg Kroah-Hartman Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1afa65549266a2094d985508a88ab41d9c40ab44 Author: Auke Kok Date: Fri Oct 19 00:30:08 2007 +0200 cmd64x: Use dev->revision Signed-off-by: Auke Kok Cc: Greg Kroah-Hartman Signed-off-by: Bartlomiej Zolnierkiewicz commit a84f3eeddfe367cbb5bf794eb482e3d466f098df Author: Auke Kok Date: Fri Oct 19 00:30:07 2007 +0200 amd74xx: Omit PCI_REVISION_ID read Signed-off-by: Auke Kok Cc: Greg Kroah-Hartman Signed-off-by: Bartlomiej Zolnierkiewicz commit 5f8b6c34854a966fe5eb7241fde0419d47d5d408 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:07 2007 +0200 ide: add ->mwdma_mask and ->swdma_mask to ide_pci_device_t (take 2) * Add ->mwdma_mask and ->swdma_mask to ide_pci_device_t. * Set ide_hwif_t DMA masks using DMA masks from ide_pci_device_t in setup-pci.c::ide_pci_setup_ports() (iff DMA base is valid and ->init_hwif method may still override them). * Convert IDE PCI host drivers to use ide_pci_device_t DMA masks. While at it: * Use ATA_{UDMA,MWDMA,SWDMA}* defines. * hpt34x.c: add separate ide_pci_device_t instances for HPT343 and HPT345. * serverworks.c: fix DMA masks being set before checking DMA base. v2: * Add missing masks to DECLARE_GENERIC_PCI_DEV() macro. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9adf768a398745c539623210502b521e671c59d7 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:07 2007 +0200 pdc202xx_old: remove broken SWDMA support Documentation doesn't mention SWDMA and moreover all timings used for SWDMA modes were over-clocked when compared to ATA spec. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 238e4f142c33bb34440cc64029dde7b9fbc4e65f Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:07 2007 +0200 ide: add IDE_HFLAG_NO_LBA48 and IDE_HFLAG_NO_LBA48_DMA host flags Add IDE_HFLAG_NO_LBA48[_DMA] host flags, use it instead of hwif->no_lba48[_dma] and then remove no longer needed hwif->no_lba48[_dma]. As a side-effect this change fixes hwif->no_lba48_dma not being restored by ide_hwif_restore(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9ffcf364f9d0aca3ea79e9987c368eb75925460e Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:07 2007 +0200 ide: remove ->init_setup_dma from ide_pci_device_t (take 2) * Make ide_pci_device_t.host_flags u32 and add IDE_HFLAG_CS5520 host flag. * Pass ide_pci_device_t *d to setup-pci.c::ide_get_or_set_dma_base() and use d->name instead of hwif->cds->name. * Set IDE_HFLAG_CS5520 host flag in cs5520 host driver and use it in ide_get_or_set_dma_base() to find out which PCI BAR to use, remove no longer needed cs5520.c::cs5520_init_setup_dma() and ide_pci_device_t.init_setup_dma. This fixes PCI bus-mastering not being checked for CS5510/CS5520 hosts. v2: * It is wrong to check simplex bits on CS5510/CS5520 as v1 did. (Noticed by Alan). Cc: Alan Cox Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 47b687882c02f802dd5bbe1227effe006820246e Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:06 2007 +0200 ide: add IDE_HFLAG_NO_{DMA,AUTODMA} host flags Add IDE_HFLAG_NO_{DMA,AUTODMA} host flags. Convert all host drivers using ide_pci_device_t to use these flags instead of d->autodma and then remove no longer needed d->autodma. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7cab14a79973893392111b8f887856a54621f759 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:06 2007 +0200 ide: add IDE_HFLAG_BOOTABLE host flag Add IDE_HFLAG_BOOTABLE host flag and IDE_HFLAG_OFF_BOARD define. Convert all host drivers using ide_pci_device_t to use IDE_HFLAG_{BOOTABLE,OFF_BOARD} instead of d->bootable and then remove no longer needed d->bootable. Signed-off-by: Bartlomiej Zolnierkiewicz commit 33c1002ed912ac9dacedd5d5b166da3b72d18460 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:06 2007 +0200 ide: add IDE_HFLAG_NO_ATAPI_DMA host flag Add IDE_HFLAG_NO_ATAPI_DMA host flag and set it in host drivers which don't support ATAPI DMA. Then remove no longer needed hwif->atapi_dma. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1c3dd326ad790934fd88ec086e75a9d61ddaef8a Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:06 2007 +0200 ide: add DECLARE_GENERIC_PCI_DEV() macro to generic IDE PCI host driver * Add DECLARE_GENERIC_PCI_DEV() macro to generic IDE PCI host driver and use it to cleanup generic_chipsets[]. * Remove dead/obsolete code while at it. Signed-off-by: Bartlomiej Zolnierkiewicz commit af4c90f4c2338247d0ae94d4d77cb20cb5b593c7 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:05 2007 +0200 siimage: bump driver version Signed-off-by: Bartlomiej Zolnierkiewicz commit 15d8061bf02aa299b2447f7a22fd18b4a503ea9d Author: Benjamin Herrenschmidt Date: Fri Oct 19 00:30:05 2007 +0200 ide: Fix cs5535 driver accessing beyond array boundary The cs5535 uses an incorrect construct to access the other drive of a pair, causing it to access beyond an array boundary on the secondary interface. This fixes it by using the new ide_get_paired_drive() helper instead. Bart: patch description fixes Signed-off-by: Benjamin Herrenschmidt Cc: Andrew Morton Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a87a87ccdc541e0a0cc8c7d01a365be8d9153a7b Author: Benjamin Herrenschmidt Date: Fri Oct 19 00:30:05 2007 +0200 ide: Fix siimage driver accessing beyond array boundary The siimage uses an incorrect construct to access the other drive of a pair, causing it to access beyond an array boundary on the secondary interface. This fixes it by using the new ide_get_paired_drive() helper instead. Bart: patch description fixes Signed-off-by: Benjamin Herrenschmidt Cc: Andrew Morton Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1b678347121001c3c230c6eccfdf9f65c3ec1a4e Author: Benjamin Herrenschmidt Date: Fri Oct 19 00:30:05 2007 +0200 ide: Add ide_get_paired_drive() helper This adds a helper to get to the "other" drive on a pair connected to a given hwif. Signed-off-by: Benjamin Herrenschmidt Cc: Andrew Morton Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 27db71a2f1399f00c2a00a908def75e72b59f475 Author: Kyle McMartin Date: Thu Oct 18 15:12:42 2007 -0700 [PARISC] Fix palo target Hunk missing from previous commit, oops. Signed-off-by: Kyle McMartin commit 5feb4f39aa2c50a9fe72925c2489c4c7fedb8dfa Author: Kyle McMartin Date: Thu Oct 18 15:09:59 2007 -0700 [PARISC] Restore palo target Turns out, people were still using it, and it accidently works. Signed-off-by: Kyle McMartin commit 53253383fde9e41bc07ad4d99f1c8b537fef71d6 Author: Linus Torvalds Date: Thu Oct 18 14:47:32 2007 -0700 Include in mm/filemap.c It gets it indirectly from blkdev.h when CONFIG_BLOCK is enabled, but it needs it unconditionally for the definition of mapping_cap_writeback_dirty. Noticed and bisected down to 4af3c9cc4fad54c3627e9afebf905aafde5690ed ("Drop some headers from mm.h") by Avuton Olrich. Cc: Avuton Olrich Cc: Alexey Dobriyan Cc: Andrew Morton Signed-off-by: Linus Torvalds commit a761ac579b89bc1f00212a42401398108deba65c Author: Steve French Date: Thu Oct 18 21:45:27 2007 +0000 [CIFS] log better errors on failed mounts Also returns more accurate errors to mount for the cases of account expired and password expired Acked-by: Jeff Layton Signed-off-by: Steve French commit 952184304fbf030f0133d8b66a91b2847dce729e Author: Shannon Nelson Date: Thu Oct 18 03:07:15 2007 -0700 I/OAT: Add completion callback for async_tx interface use The async_tx interface includes a completion callback. This adds support for using that callback, including using interrupts on completion. [akpm@linux-foundation.org: various fixes] Signed-off-by: Shannon Nelson Cc: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f2b291f56d08e001454d16d3c92e175434898b3 Author: Shannon Nelson Date: Thu Oct 18 03:07:14 2007 -0700 I/OAT: Tighten descriptor setup performance The change to the async_tx interface cost this driver some performance by spreading the descriptor setup across several functions, including multiple passes over the new descriptor chain. Here we bring the work back into one primary function and only do one pass. [akpm@linux-foundation.org: cleanups, uninline] Signed-off-by: Shannon Nelson Cc: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5149fd010f404889b7d8f79159057791fbb817b1 Author: Shannon Nelson Date: Thu Oct 18 03:07:13 2007 -0700 I/OAT: clean up error handling and some print messages Make better use of dev_err(), and catch an error where the transaction creation might fail. Signed-off-by: Shannon Nelson Cc: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfe2299e7b35a0adfc87f04d3e725ccc508d7626 Author: Shannon Nelson Date: Thu Oct 18 03:07:13 2007 -0700 I/OAT: clean up of dca provider start and stop Don't start ioat_dca if ioat_dma didn't start, and then stop ioat_dca before stopping ioat_dma. Since the ioat_dma side does the pci device work, This takes care of ioat_dca trying to use a bad device reference. Signed-off-by: Shannon Nelson Cc: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7df7cf0676060d778486359676734447347e1caf Author: Shannon Nelson Date: Thu Oct 18 03:07:12 2007 -0700 I/OAT: cleanup pci issues Reorder the pci release actions Letting go of the resources in the right order helps get rid of occasional kernel complaints. Fix the pci_driver object name [Randy Dunlap] Rename the struct pci_driver data so that false section mismatch warnings won't be produced. Cc: Randy Dunlap Signed-off-by: Shannon Nelson Cc: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8c98618f4bb8161cc0c14e110b07ba37249332b Author: Corey Minyard Date: Thu Oct 18 03:07:11 2007 -0700 IPMI: add 0.9 support Add support for IPMI 0.9 systems to the IPMI driver. Just handle a shorter get device ID command with less information. Signed-off-by: Corey Minyard Cc: Stian Jordet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac0191517c3b5f2cf68ab36756d64ef035c4a770 Author: Corey Minyard Date: Thu Oct 18 03:07:11 2007 -0700 IPMI: fix hotmod remove lock The removal of proc entries was done holding a lock, which is no longer allowed. There is no need for the lock, only a mutex is required, so switch over to a mutex. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 612b5a8d3a57d07698ceec0e307a84f38b241fe2 Author: Corey Minyard Date: Thu Oct 18 03:07:10 2007 -0700 IPMI: new NMI handling Convert over to the new NMI handling for getting IPMI watchdog timeouts via an NMI. This add config options to know if there is the ability to receive NMIs and if it has an NMI post processing call. Then it modifies the IPMI watchdog to take advantage of this so that it can know if an NMI comes in. It also adds testing that the IPMI NMI watchdog works. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fcfa4724116589d6a5fac92af410b6f12d41b5bb Author: Corey Minyard Date: Thu Oct 18 03:07:09 2007 -0700 IPMI: add polled interface Currently the IPMI watchdog timer sets the watchdog timeout on a panic, but it doesn't actually poll the interface to make sure the message goes out. Add an interface for polling the IPMI driver, and add code to the IPMI watchdog timer to poll the interface when the timer is set from a panic. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 650dd0c7faf8126aaa261833dc9171a070deeaf3 Author: Corey Minyard Date: Thu Oct 18 03:07:09 2007 -0700 IPMI: documentation fixes Clean up IPMI documentation to remove references to high-res timers and add info about the polling thread. Also fix an doc error for a parameter. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8fbcd3b9da5830fded133dbeb7066b1b92ee736 Author: Corey Minyard Date: Thu Oct 18 03:07:08 2007 -0700 IPMI: remove bogus semaphore from watchdog Lockdep was giving an error when loading the IPMI watchdog module. It turns out that if you try to claim a lock in a parameter handling routine, lockdep won't see that lock as "static" yet because the module is not yet on the module list, so it will complain. However, the semaphore in question is completely unnecessary. So just remove it. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c45adc39156dfb0a296df218d62ba8b68cadf12e Author: Corey Minyard Date: Thu Oct 18 03:07:08 2007 -0700 IPMI: don't init irq until ready Patrick found a race at startup. Interrupts were being enabled for the IPMI interface before the driver was really ready to handle them. This could result in an oops if something was pending on the interface at startup and interrupt were already enabled (technically shouldn't happen, but need to cover for this in real life). So move the IRQ setup to the code that starts the actual IPMI processing. Signed-off-by: Corey Minyard Cc: Patrick Schoeller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8c44319c691dfb4a0b039b095204c040df9b01a Author: Ralf Baechle Date: Thu Oct 18 03:07:07 2007 -0700 Replace __attribute_pure__ with __pure To be consistent with the use of attributes in the rest of the kernel replace all use of __attribute_pure__ with __pure and delete the definition of __attribute_pure__. Signed-off-by: Ralf Baechle Cc: Russell King Acked-by: Mauro Carvalho Chehab Cc: Bryan Wu Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c80544dc0b87bb65038355e7aafdc30be16b26ab Author: Stephen Hemminger Date: Thu Oct 18 03:07:05 2007 -0700 sparse pointer use of zero as null Get rid of sparse related warnings from places that use integer as NULL pointer. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Stephen Hemminger Cc: Andi Kleen Cc: Jeff Garzik Cc: Matt Mackall Cc: Ian Kent Cc: Arnd Bergmann Cc: Davide Libenzi Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e9663ee452ffce0d429656ebbcfe69417a30e92 Author: Miklos Szeredi Date: Thu Oct 18 03:07:05 2007 -0700 fuse: add blksize field to fuse_attr There are cases when the filesystem will be passed the buffer from a single read or write call, namely: 1) in 'direct-io' mode (not O_DIRECT), read/write requests don't go through the page cache, but go directly to the userspace fs 2) currently buffered writes are done with single page requests, but if Nick's ->perform_write() patch goes it, it will be possible to do larger write requests. But only if the original write() was also bigger than a page. In these cases the filesystem might want to give a hint to the app about the optimal I/O size. Allow the userspace filesystem to supply a blksize value to be returned by stat() and friends. If the field is zero, it defaults to the old PAGE_CACHE_SIZE value. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f33321141b273d60cbb3a8f56a5489baad82ba5e Author: Miklos Szeredi Date: Thu Oct 18 03:07:04 2007 -0700 fuse: add support for mandatory locking For mandatory locking the userspace filesystem needs to know the lock ownership for read, write and truncate operations. This patch adds the necessary fields to the protocol. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b25e82e5673c750116e8b01a4fc7d09be7809f8c Author: Miklos Szeredi Date: Thu Oct 18 03:07:03 2007 -0700 fuse: add helper for asynchronous writes This patch adds a new helper function fuse_write_fill() which makes it possible to send WRITE requests asynchronously. A new flag for WRITE requests is also added which indicates that this a write from the page cache, and not a "normal" file write. This patch is in preparation for writable mmap support. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93a8c3cd9e9834dc5f5c373336f3a0065521152d Author: Miklos Szeredi Date: Thu Oct 18 03:07:03 2007 -0700 fuse: add list of writable files to fuse_inode Each WRITE request must carry a valid file descriptor. When a page is written back from a memory mapping, the file through which the page was dirtied is not available, so a new mechananism is needed to find a suitable file in ->writepage(s). A list of fuse_files is added to fuse_inode. The file is removed from the list in fuse_release(). This patch is in preparation for writable mmap support. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9ff4f87056cd31a8232b88d013dc6c9ad719c18 Author: Miklos Szeredi Date: Thu Oct 18 03:07:02 2007 -0700 fuse: support BSD locking semantics It is trivial to add support for flock(2) semantics to the existing protocol, by setting the lock owner field to the file pointer, and passing a new FUSE_LK_FLOCK flag with the locking request. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ff958edbf39c014eb06b65ad25b736be08c4e63 Author: Miklos Szeredi Date: Thu Oct 18 03:07:02 2007 -0700 fuse: add atomic open+truncate support This patch allows fuse filesystems to implement open(..., O_TRUNC) as a single request, instead of separate truncate and open requests. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17637cbaba592076c221dc045ca78422b4af6290 Author: Miklos Szeredi Date: Thu Oct 18 03:07:01 2007 -0700 fuse: improve utimes support Add two new flags for setattr: FATTR_ATIME_NOW and FATTR_MTIME_NOW. These mean, that atime or mtime should be changed to the current time. Also it is now possible to update atime or mtime individually, not just together. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d139d7ffd0c1e81e2a809909b4f8b121a0dc119a Author: Miklos Szeredi Date: Thu Oct 18 03:07:00 2007 -0700 VFS: allow filesystems to implement atomic open+truncate Add a new attribute flag ATTR_OPEN, with the meaning: "truncation was initiated by open() due to the O_TRUNC flag". This way filesystems wanting to implement truncation within their ->open() method can ignore such truncate requests. This is a quick & dirty hack, but it comes for free. Signed-off-by: Miklos Szeredi Cc: Christoph Hellwig Cc: Al Viro Cc: Andreas Dilger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49d4914fd7c10ae846d0f30d5f6f4732cc68499c Author: Miklos Szeredi Date: Thu Oct 18 03:07:00 2007 -0700 fuse: clean up open file passing in setattr Clean up supplying open file to the setattr operation. In addition to being a cleanup it prepares for the changes in the way the open file is passed to the setattr method. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c79e322f63592c00b25b17af6a1782fad6c6fe6e Author: Miklos Szeredi Date: Thu Oct 18 03:06:59 2007 -0700 fuse: add file handle to getattr operation Add necessary protocol changes for supplying a file handle with the getattr operation. Step the API version to 7.9. This patch doesn't actually supply the file handle, because that needs some kind of VFS support, which we haven't yet been able to agree upon. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1fb69e7817296da8a6824804bb206ca1e7f31425 Author: Miklos Szeredi Date: Thu Oct 18 03:06:58 2007 -0700 fuse: fix race between getattr and write Getattr and lookup operations can be running in parallel to attribute changing operations, such as write and setattr. This means, that if for example getattr was slower than a write, the cached size attribute could be set to a stale value. To prevent this race, introduce a per-filesystem attribute version counter. This counter is incremented whenever cached attributes are modified, and the incremented value stored in the inode. Before storing new attributes in the cache, getattr and lookup check, using the version number, whether the attributes have been modified during the request's lifetime. If so, the returned attributes are not cached, because they might be stale. Thanks to Jakub Bogusz for the bug report and test program. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Miklos Szeredi Cc: Jakub Bogusz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e57ac68378a287d6336d187b26971f35f7ee7251 Author: Miklos Szeredi Date: Thu Oct 18 03:06:58 2007 -0700 fuse: fix allowing operations The following operation didn't check if sending the request was allowed: setattr listxattr statfs Some other operations don't explicitly do the check, but VFS calls ->permission() which checks this. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42a2b6ad71b011144d21d88a124140bb2bf1023f Author: Eric Sandeen Date: Thu Oct 18 03:06:57 2007 -0700 ext3: fix setup_new_group_blocks locking setup_new_group_blocks() manipulates the group descriptor block bh under the block_bitmap bh's lock. It shouldn't matter since nobody but resize should be touching these blocks, but it's worth fixing up. Signed-off-by: Eric Sandeen C: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f0a89ebe1ccf7c280534f69577cdd182941eb6a Author: Takashi Sato Date: Thu Oct 18 03:06:56 2007 -0700 ext3: support large blocksize up to PAGESIZE This patch set supports large block size(>4k, <=64k) in ext3 just enlarging the block size limit. But it is NOT possible to have 64kB blocksize on ext3 without some changes to the directory handling code. The reason is that an empty 64kB directory block would have a rec_len == (__u16)2^16 == 0, and this would cause an error to be hit in the filesystem. The proposed solution is treat 64k rec_len with a an impossible value like rec_len = 0xffff to handle this. The Patch-set consists of the following 2 patches. [1/2] ext3: enlarge blocksize - Allow blocksize up to pagesize [2/2] ext3: fix rec_len overflow - prevent rec_len from overflow with 64KB blocksize Now on 64k page ppc64 box runs with this patch set we could create a 64k block size ext3, and able to handle empty directory block. Signed-off-by: Takashi Sato Signed-off-by: Mingming Cao Cc: Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4176ed593866b5e4bcf86896e0734315ad46661b Author: Andi Drebes Date: Thu Oct 18 03:06:55 2007 -0700 fs/cramfs/inode.c: replace hardcoded value with preprocessor constant Remove the hardcoded value 256 in fs/cramfs/inode.c and replaces it with CRAMFS_MAXPATHLEN. Tested on an i386 box. Signed-off-by: Andi Drebes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bbfb0776615b3cb84ccfec8f5d6214938143b2a Author: Andi Drebes Date: Thu Oct 18 03:06:54 2007 -0700 fs/cramfs/inode.c: remove unused variable Remove a variable that is never read. Signed-off-by: Andi Drebes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8dc93cbe91324b922395919cd5df4cca2fe55f6 Author: Nick Piggin Date: Thu Oct 18 03:06:54 2007 -0700 bit_spin_lock: use lock bitops Convert bit_spin_lock to new locking bitops. Slub can use the non-atomic store version to clear (Christoph?) Signed-off-by: Nick Piggin Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66ffb04ca5ec43ca763e8a9802ca3244f5519ae1 Author: Nick Piggin Date: Thu Oct 18 03:06:53 2007 -0700 powerpc: lock bitops Add non-trivial lock bitops implementation for powerpc. Signed-off-by: Nick Piggin Acked-by: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 728697cd6b3c8c12d0ad5ebdce5616ef5d25bf18 Author: Nick Piggin Date: Thu Oct 18 03:06:53 2007 -0700 mips: lock bitops mips can avoid one mb when acquiring a lock with test_and_set_bit_lock. Signed-off-by: Nick Piggin Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8f30ae54714abf494d79826d90b5e4844fbf355 Author: Nick Piggin Date: Thu Oct 18 03:06:52 2007 -0700 mips: fix bitops Documentation/atomic_ops.txt defines these primitives must contain a memory barrier both before and after their memory operation. This is consistent with the atomic ops implementation on mips. Signed-off-by: Nick Piggin Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87371e4fa4901d84ce83356b909b83f31f40758f Author: Nick Piggin Date: Thu Oct 18 03:06:52 2007 -0700 ia64: lock bitops Convert ia64 to new bitops. Signed-off-by: Nick Piggin Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44086d5286c57c86622dee37684decf32355aa7c Author: Nick Piggin Date: Thu Oct 18 03:06:51 2007 -0700 alpha: lock bitops Alpha can avoid one mb when acquiring a lock with test_and_set_bit_lock. [bunk@kernel.org: alpha bitops.h must #include ] Signed-off-by: Nick Piggin Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c29ca5b8d13287ed67d2863f4c5f7bfc1a15279 Author: Nick Piggin Date: Thu Oct 18 03:06:50 2007 -0700 alpha: fix bitops Documentation/atomic_ops.txt defines these primitives must contain a memory barrier both before and after their memory operation. This is consistent with the atomic ops implementation on alpha. Signed-off-by: Nick Piggin Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26333576fd0d0b52f6e4025c5aded97e188bdd44 Author: Nick Piggin Date: Thu Oct 18 03:06:39 2007 -0700 bitops: introduce lock ops Introduce test_and_set_bit_lock / clear_bit_unlock bitops with lock semantics. Convert all architectures to use the generic implementation. Signed-off-by: Nick Piggin Acked-By: David Howells Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Russell King Cc: Haavard Skinnemoen Cc: Bryan Wu Cc: Mikael Starvik Cc: David Howells Cc: Yoshinori Sato Cc: "Luck, Tony" Cc: Hirokazu Takata Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Greg Ungerer Cc: Ralf Baechle Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Paul Mundt Cc: Kazumoto Kojima Cc: Richard Curnow Cc: William Lee Irwin III Cc: "David S. Miller" Cc: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Cc: Miles Bader Cc: Andi Kleen Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38048983e14c0fb6324175fbaf2be1baa842f5ee Author: Satyam Sharma Date: Thu Oct 18 03:06:38 2007 -0700 x86 msr driver: Misc cpuinit annotations msr_class_cpu_callback() can be marked __cpuinit, being the notifier callback for a __cpuinitdata notifier_block. So can be marked msr_device_create() too, called only from the newly-__cpuinit msr_class_cpu_callback() or from __init-marked msr_init(). Signed-off-by: Satyam Sharma Cc: Andi Kleen Acked-by: H. Peter Anvin Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 761bb431908e84d1793c5eb6c2ae2cc4926bed3e Author: Satyam Sharma Date: Thu Oct 18 03:06:38 2007 -0700 Redefine {un}register_hotcpu_notifier() !HOTPLUG_CPU stubs The return of the present "do {} while" based stub definition of register_hotcpu_notifier() cannot be checked. This makes the stub asymmetric w.r.t. the real HOTPLUG_CPU=y implementation that is int-returning. So let us redefine this to be consistent with the full version. Also do the same for unregister_hotcpu_notifier(). We cannot define these as static inline functions due to an existing GCC bug (#33172). So define as macros that return appropriately instead (int '0' for the register_hotcpu_notifier case and void for unregister_hotcpu_notifier). Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4603ac180a824197c2262747948d0179eb076e9c Author: Michael Neuling Date: Thu Oct 18 03:06:37 2007 -0700 powerpc: add scaled time accounting This adds POWERPC specific hooks for scaled time accounting. POWER6 includes a SPURR register. The SPURR is based off the PURR register but is scaled based on CPU frequency and issue rates. This gives a more accurate account of the instructions used per task. The PURR and timebase will be constant relative to the wall clock, irrespective of the CPU frequency. This implementation reads the SPURR register in account_system_vtime which is only call called on context witch and hard and soft irq entry and exit. The percentage of user and system time is then estimated using the ratio of these accounted by the PURR. If the SPURR is not present, the PURR read. An earlier implementation of this patch read the SPURR whenever the PURR was read, which included the system call entry and exit path. Unfortunately this showed a performance regression on lmbench runs, so was re-implemented. I've included the lmbench results here when run bare metal on POWER6. 1st column is the unpatch results. 2nd column is the results using the below patch and the 3rd is the % diff of these results from the base. 4th and 5th columns are the results and % differnce from the base using the older patch (SPURR read in syscall entry/exit path). Base Scaled-Acct SPURR-in-syscall Result Result % diff Result % diff Simple syscall: 0.3086 0.3086 0.0000 0.3452 11.8600 Simple read: 0.4591 0.4671 1.7425 0.5044 9.86713 Simple write: 0.4364 0.4366 0.0458 0.4731 8.40971 Simple stat: 2.0055 2.0295 1.1967 2.0669 3.06158 Simple fstat: 0.5962 0.5876 -1.442 0.6368 6.80979 Simple open/close: 3.1283 3.1009 -0.875 3.2088 2.57328 Select on 10 fd's: 0.8554 0.8457 -1.133 0.8667 1.32101 Select on 100 fd's: 3.5292 3.6329 2.9383 3.6664 3.88756 Select on 250 fd's: 7.9097 8.1881 3.5197 8.2242 3.97613 Select on 500 fd's: 15.2659 15.836 3.7357 15.873 3.97814 Select on 10 tcp fd's: 0.9576 0.9416 -1.670 0.9752 1.83792 Select on 100 tcp fd's: 7.248 7.2254 -0.311 7.2685 0.28283 Select on 250 tcp fd's: 17.7742 17.707 -0.375 17.749 -0.1406 Select on 500 tcp fd's: 35.4258 35.25 -0.496 35.286 -0.3929 Signal handler installation: 0.6131 0.6075 -0.913 0.647 5.52927 Signal handler overhead: 2.0919 2.1078 0.7600 2.1831 4.35967 Protection fault: 0.7345 0.7478 1.8107 0.8031 9.33968 Pipe latency: 33.006 16.398 -50.31 33.475 1.42368 AF_UNIX sock stream latency: 14.5093 30.910 113.03 30.715 111.692 Process fork+exit: 219.8 222.8 1.3648 229.37 4.35623 Process fork+execve: 876.14 873.28 -0.32 868.66 -0.8533 Process fork+/bin/sh -c: 2830 2876.5 1.6431 2958 4.52296 File /var/tmp/XXX write bw: 1193497 1195536 0.1708 118657 -0.5799 Pagefaults on /var/tmp/XXX: 3.1272 3.2117 2.7020 3.2521 3.99398 Also, kernel compile times show no difference with this patch applied. [pbadari@us.ibm.com: Avoid unnecessary PURR reading] Signed-off-by: Michael Neuling Cc: Balbir Singh Cc: Jay Lan Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f494f8fcb18e962839a82d542fbe6bed9cf5be07 Author: Michael Neuling Date: Thu Oct 18 03:06:35 2007 -0700 add-scaled-time-to-taskstats-based-process-accounting fix This moves the new items to the end of the taskstats struct as requested by Balbir and yourself. Cc: Balbir Singh Cc: Jay Lan Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c66f08be7e3ad0a28bcd9a0aef766fdf08ea0ec6 Author: Michael Neuling Date: Thu Oct 18 03:06:34 2007 -0700 Add scaled time to taskstats based process accounting This adds items to the taststats struct to account for user and system time based on scaling the CPU frequency and instruction issue rates. Adds account_(user|system)_time_scaled callbacks which architectures can use to account for time using this mechanism. Signed-off-by: Michael Neuling Cc: Balbir Singh Cc: Jay Lan Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 898eb71cb17644964c5895fb190e79e3d0c49679 Author: Joe Perches Date: Thu Oct 18 03:06:30 2007 -0700 Add missing newlines to some uses of dev_ messages Found these while looking at printk uses. Add missing newlines to dev_ uses Add missing KERN_ prefixes to multiline dev_s Fixed a wierd->weird spelling typo Added a newline to a printk Signed-off-by: Joe Perches Cc: "Luck, Tony" Cc: Jens Axboe Cc: Mark M. Hoffman Cc: Roland Dreier Cc: Tilman Schmidt Cc: David Woodhouse Cc: Jeff Garzik Cc: Stephen Hemminger Cc: Greg KH Cc: Jeremy Fitzhardinge Cc: Geert Uytterhoeven Cc: Alessandro Zummo Cc: David Brownell Cc: James Smart Cc: Andrew Vasquez Cc: "Antonino A. Daplas" Cc: Evgeniy Polyakov Cc: Russell King Cc: Jaroslav Kysela Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c0286b199c3eb2caa973525dfc8a7ed67090ec0 Author: Jiri Slaby Date: Thu Oct 18 03:06:29 2007 -0700 Char: rocket, fix signed/unsigned warning Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4384a3fae10c1badb859d2c98a6d2944b14609f6 Author: Jiri Slaby Date: Thu Oct 18 03:06:28 2007 -0700 Char: rocket, remove potential leak in module_init if (controller && !request_region) then we leaked a tty driver struct, fix it by adding function deinit tail with goto-ing into it (and from other fail paths too) Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57fedc7ae5f712c9c24f5baf30a0fbf38c1bda20 Author: Jiri Slaby Date: Thu Oct 18 03:06:28 2007 -0700 Char: rocket, remove pci_read_config_dword(CLASS_REVISION) We may use pdev->revision instead of reading pci config space directly, so remove pci_read_config_dword invoking. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c148b9d555decb77bba08fbcf2493ed427918c4e Author: Jiri Slaby Date: Thu Oct 18 03:06:27 2007 -0700 Char: rocket, don't re-set statics to 0 Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac6aec2f5683588361ab408cb3346b08c66bdfbe Author: Jiri Slaby Date: Thu Oct 18 03:06:26 2007 -0700 Char: rocket, fix dynamic_dev tty - register_device unconditionally (non-pci dependent) to have also isa devices in /dev - unregister devices on module removal - don't set TTY_DRIVER_DYNAMIC_DEV twice (removed the one dependent on some macro) Signed-off-by: Jiri Slaby Cc: Ferenc Wagner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cf5a8c5729116d0d60815393ec9f1c0f0bc2df7 Author: Jiri Slaby Date: Thu Oct 18 03:06:25 2007 -0700 Char: rocket, switch sleep_on to completion rocket, switch sleep_on to completion - sleep_on is deprecated and racy, use completion instead - also check retval of interruptible function and return ERESTARTSYS eventually Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95e0791480af8347460d0cbe34a46eca7e77d0d0 Author: Jiri Slaby Date: Thu Oct 18 03:06:25 2007 -0700 Char: moxa, remove sleep_on interruptible_sleep_on is deprecated, use completion instead Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f56b658b4e5c4486641ce62f331150954c4de37 Author: Jiri Slaby Date: Thu Oct 18 03:06:24 2007 -0700 Char: moxa, function names cleanup prepend moxa_ to all moxa functions which laxes this Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7aeb95daf37dbd72f63cdd52d86a8b5d89e59394 Author: Jiri Slaby Date: Thu Oct 18 03:06:24 2007 -0700 Char: moxa, cleanup prints - use dev_* where pdev is available (probe function) - add some printks on fail paths - add KERN_ macros otherwise - remove useless verbose variable - wrap lines to 80 cols at most Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d941ea7d496db914205c3872942fd1ff0e7dccef Author: Jesper Juhl Date: Thu Oct 18 03:06:23 2007 -0700 Cyclades: Avoid label defined but not used warning CC drivers/char/cyclades.o drivers/char/cyclades.c: In function 'cy_init': drivers/char/cyclades.c:5488: warning: label 'err_unr' defined but not used Signed-off-by: Jesper Juhl Acked-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65f76a82ec7a0374fad85211535330e203740475 Author: Jiri Slaby Date: Thu Oct 18 03:06:22 2007 -0700 Char: cyclades, fix some -W warnings Most of them are signedness, the rest unused function parameters. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c0a387c1f9e48e480579d3b4e0f9c1a36c77751 Author: Jiri Slaby Date: Thu Oct 18 03:06:22 2007 -0700 Char: cyclades, move spin_lock to one place Lock whole processing in isr, avoid error-prone locking/unlocking in rx/tx esp. On fail paths (there was a bug in the past yet). Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce97a09767b59dcde3715ba4a9eebc71b0ce71b2 Author: Jiri Slaby Date: Thu Oct 18 03:06:21 2007 -0700 Char: cyclades, make the isr code readable Due to large indent the code was wrapped and unreadable. Create 3 function instead of one and reorder the code, so it is readable now. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebafeeff0fea029099e9952f233e0794106897a6 Author: Jiri Slaby Date: Thu Oct 18 03:06:20 2007 -0700 Char: cyclades, remove bottom half processing The work done in bottom half doesn't cost much cpu time (e.g. tty_hangup itself schedules its own bottom half), it's possible to do the work in isr directly and save hence some .text. Signed-off-by: Jiri Slaby Cc: Alan Cox Cc: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c43422053bea7a5ce09f18d0c50a606fe1a549f4 Author: Jiri Slaby Date: Thu Oct 18 03:06:19 2007 -0700 Char: moxa, fix and optimise empty timer moxa, fix and optimise empty timer don't wait and delete empty timer in empty timer function. Also fire next empty timer at rounded jiffies to save power. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc37449f7959aeedc2d38b183468ae73c9166fb6 Author: Adrian Bunk Date: Thu Oct 18 03:06:12 2007 -0700 The next round of scheduled OSS code removal This patch contains the next round of scheduled OSS code removal. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b4db0c2f25925fcfc17fa7233b7b90dc023d207 Author: Daniel Walker Date: Thu Oct 18 03:06:11 2007 -0700 whitespace fixes: system timers Signed-off-by: Daniel Walker Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0719e3702e3ad81c51aec993a641a7d84d3ac618 Author: Daniel Walker Date: Thu Oct 18 03:06:11 2007 -0700 whitespace fixes: interval timers Signed-off-by: Daniel Walker Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62769dce8616f4066a1349f798bdd4ef5dd8feca Author: Daniel Walker Date: Thu Oct 18 03:06:10 2007 -0700 whitespace fixes: execution domains Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5600b892789c21749898e1ef815a2b9b152f51e0 Author: Daniel Walker Date: Thu Oct 18 03:06:10 2007 -0700 whitespace fixes: system auditing Just removing white space at the end of lines. Signed-off-by: Daniel Walker Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd3a8492baecde685a7568f9785651e9b11747f5 Author: Daniel Walker Date: Thu Oct 18 03:06:09 2007 -0700 whitespace fixes: compat syscalls Signed-off-by: Daniel Walker Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f8dbe9c9ccd847b07a374f92f3c71251e5789cf Author: Daniel Walker Date: Thu Oct 18 03:06:09 2007 -0700 whitespace fixes: syscall auditing Signed-off-by: Daniel Walker Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 314f70fd967064c7fa0734908f5feae6ac2831a9 Author: Daniel Walker Date: Thu Oct 18 03:06:08 2007 -0700 whitespace fixes: capability syscalls Large chunks of 5 spaces instead of tabs. Signed-off-by: Daniel Walker Cc: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c277e63fbe53697eab7595e86b297c643e2ea723 Author: Daniel Walker Date: Thu Oct 18 03:06:08 2007 -0700 whitespace fixes: panic handling Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22a8bdeb535d75d586d247ffaa51742556ebfee8 Author: Daniel Walker Date: Thu Oct 18 03:06:07 2007 -0700 whitespace fixes: module loading Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23ff4440243fe3fa42515d18aa213be14bb706ee Author: Daniel Walker Date: Thu Oct 18 03:06:07 2007 -0700 whitespace fixes: fork Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 902749cdbd3da8199e57d082f36a6de60591aeb6 Author: Daniel Walker Date: Thu Oct 18 03:06:06 2007 -0700 whitespace fixes: DMA channel allocator Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ce34218a8b63594c8958b5a4ef8cce24d511e1b Author: Daniel Walker Date: Thu Oct 18 03:06:06 2007 -0700 whitespace fixes: audit filtering Signed-off-by: Daniel Walker Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bfbc608ba05951678eedc246c9baf62367764a0 Author: Daniel Walker Date: Thu Oct 18 03:06:05 2007 -0700 whitespace fixes: relayfs Signed-off-by: Daniel Walker Cc: Tom Zanussi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dedf8b79ec06e91fa87f6cba99e6e61b4140ceca Author: Daniel Walker Date: Thu Oct 18 03:06:04 2007 -0700 whitespace fixes: cpuset Signed-off-by: Daniel Walker Cc: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ae965cd647d84ab787225fe908cb5bbbc499605 Author: Daniel Walker Date: Thu Oct 18 03:06:04 2007 -0700 whitespace fixes: process accounting Lots of converting spaces to tabs. Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fa6c3b1d1780450a2f051937b3c6258eb1a8d5f Author: Daniel Walker Date: Thu Oct 18 03:06:03 2007 -0700 whitespace fixes: time syscalls Signed-off-by: Daniel Walker Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8cc55493557f2259ac56ba0ac7f6804804f79a5 Author: Jesper Juhl Date: Thu Oct 18 03:06:03 2007 -0700 mxser: fix compiler warning when building without CONFIG_PCI drivers/char/mxser.c:386: warning: 'mxser_get_PCI_conf' declared 'static' but never defined when building without CONFIG_PCI. [jesper.juhl@gmail.com: Fix warning: 'CheckIsMoxaMust' defined but not used] Signed-off-by: Jesper Juhl Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0678c5b679db7abe8b8d658127e0fed4ceece41c Author: Alan Cox Date: Thu Oct 18 03:06:02 2007 -0700 mxser: remove commented crap This is years dead code and it keeps turning up in confusing ways when grepping for stuff. Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 009ae1dbd57569418ab4f7ae7c8864efa3ac7e4a Author: Jiri Slaby Date: Thu Oct 18 03:06:02 2007 -0700 Char: mxser_new, remove useless comments in mxser_cards mxser_new, remove useless comments in mxser_cards It was rest from times, where info about the card was separated (name, ports number and flags). Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 931ecbbe9d63ce671c60354907c2051bf48e1287 Author: Jiri Slaby Date: Thu Oct 18 03:06:01 2007 -0700 Char: mxser_new, move to PCI_VDEVICE mxser_new, move to PCI_VDEVICE Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8cce2e5c81b5868cd7178f41c992459e87db8e3 Author: Jiri Slaby Date: Thu Oct 18 03:06:01 2007 -0700 Char: mxser_new, upgrade to 1.10 mxser_new, upgrade to 1.10 This adds support for new (5 cards) hardware. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72c2d5823fc7be799a12184974c3bdc57acea3c4 Author: Andrew Morgan Date: Thu Oct 18 03:05:59 2007 -0700 V3 file capabilities: alter behavior of cap_setpcap The non-filesystem capability meaning of CAP_SETPCAP is that a process, p1, can change the capabilities of another process, p2. This is not the meaning that was intended for this capability at all, and this implementation came about purely because, without filesystem capabilities, there was no way to use capabilities without one process bestowing them on another. Since we now have a filesystem support for capabilities we can fix the implementation of CAP_SETPCAP. The most significant thing about this change is that, with it in effect, no process can set the capabilities of another process. The capabilities of a program are set via the capability convolution rules: pI(post-exec) = pI(pre-exec) pP(post-exec) = (X(aka cap_bset) & fP) | (pI(post-exec) & fI) pE(post-exec) = fE ? pP(post-exec) : 0 at exec() time. As such, the only influence the pre-exec() program can have on the post-exec() program's capabilities are through the pI capability set. The correct implementation for CAP_SETPCAP (and that enabled by this patch) is that it can be used to add extra pI capabilities to the current process - to be picked up by subsequent exec()s when the above convolution rules are applied. Here is how it works: Let's say we have a process, p. It has capability sets, pE, pP and pI. Generally, p, can change the value of its own pI to pI' where (pI' & ~pI) & ~pP = 0. That is, the only new things in pI' that were not present in pI need to be present in pP. The role of CAP_SETPCAP is basically to permit changes to pI beyond the above: if (pE & CAP_SETPCAP) { pI' = anything; /* ie., even (pI' & ~pI) & ~pP != 0 */ } This capability is useful for things like login, which (say, via pam_cap) might want to raise certain inheritable capabilities for use by the children of the logged-in user's shell, but those capabilities are not useful to or needed by the login program itself. One such use might be to limit who can run ping. You set the capabilities of the 'ping' program to be "= cap_net_raw+i", and then only shells that have (pI & CAP_NET_RAW) will be able to run it. Without CAP_SETPCAP implemented as described above, login(pam_cap) would have to also have (pP & CAP_NET_RAW) in order to raise this capability and pass it on through the inheritable set. Signed-off-by: Andrew Morgan Signed-off-by: Serge E. Hallyn Cc: Stephen Smalley Cc: James Morris Cc: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7058cb02ddab4bce70a46e519804fccb7ac0a060 Author: Eric W. Biederman Date: Thu Oct 18 03:05:58 2007 -0700 sysctl: deprecate sys_sysctl in a user space visible fashion. After adding checking to register_sysctl_table and finding a whole new set of bugs. Missed by countless code reviews and testers I have finally lost patience with the binary sysctl interface. The binary sysctl interface has been sort of deprecated for years and finding a user space program that uses the syscall is more difficult then finding a needle in a haystack. Problems continue to crop up, with the in kernel implementation. So since supporting something that no one uses is silly, deprecate sys_sysctl with a sufficient grace period and notice that the handful of user space applications that care can be fixed or replaced. The /proc/sys sysctl interface that people use will continue to be supported indefinitely. This patch moves the tested warning about sysctls from the path where sys_sysctl to a separate path called from both implementations of sys_sysctl, and it adds a proper entry into Documentation/feature-removal-schedule. Allowing us to revisit this in a couple years time and actually kill sys_sysctl. [lethal@linux-sh.org: sysctl: Fix syscall disabled build] Signed-off-by: Eric W. Biederman Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ada720d89d678eb5a09d3048a5e9a35c526800c Author: Eric W. Biederman Date: Thu Oct 18 03:05:57 2007 -0700 sysctl: for irda update sysctl_checks list of binary paths It turns out that the net/irda code didn't register any of it's binary paths in the global sysctl.h header file so I missed them completely when making an authoritative list of binary sysctl paths in the kernel. So add them to the list of valid binary sysctl paths. Signed-off-by: Eric W. Biederman Acked-by: Samuel Ortiz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49ffcf8f99e8d33ec8afb450956804af518fd788 Author: Eric W. Biederman Date: Thu Oct 18 03:05:57 2007 -0700 sysctl: update sysctl_check_table Well it turns out after I dug into the problems a little more I was returning a few false positives so this patch updates my logic to remove them. - Don't complain about 0 ctl_names in sysctl_check_binary_path It is valid for someone to remove the sysctl binary interface and still keep the same sysctl proc interface. - Count ctl_names and procnames as matching if they both don't exist. - Only warn about missing min&max when the generic functions care. Signed-off-by: Eric W. Biederman Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc6cd25b738c2369d7ed3a6ef2ca248b51fcd2d4 Author: Eric W. Biederman Date: Thu Oct 18 03:05:54 2007 -0700 sysctl: Error on bad sysctl tables After going through the kernels sysctl tables several times it has become clear that code review and testing is just not effective in prevent problematic sysctl tables from being used in the stable kernel. I certainly can't seem to fix the problems as fast as they are introduced. Therefore this patch adds sysctl_check_table which is called when a sysctl table is registered and checks to see if we have a problematic sysctl table. The biggest part of the code is the table of valid binary sysctl entries, but since we have frozen our set of binary sysctls this table should not need to change, and it makes it much easier to detect when someone unintentionally adds a new binary sysctl value. As best as I can determine all of the several hundred errors spewed on boot up now are legitimate. [bunk@kernel.org: kernel/sysctl_check.c must #include ] Signed-off-by: Eric W. Biederman Cc: Alexey Dobriyan Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f429cd37a21b8efc825bdbb22db7f033564cbc98 Author: Eric W. Biederman Date: Thu Oct 18 03:05:33 2007 -0700 sysctl: properly register the irda binary sysctl numbers Grumble. These numbers should have been in sysctl.h from the beginning if we ever expected anyone to use them. Oh well put them there now so we can find them and make maintenance easier. Signed-off-by: Eric W. Biederman Acked-by: Samuel Ortiz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c65f92398ec4ebfcaef91309bf055028a9899d6f Author: Eric W. Biederman Date: Thu Oct 18 03:05:32 2007 -0700 sysctl: remove the cad_pid binary sysctl path It looks like we inadvertently killed the cad_pid binary sysctl support when cap_pid was changed to be a struct pid. Since no one has complained just remove the binary path. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 064b5bba0cc495201729285c6a6ce205df0a386a Author: Eric W. Biederman Date: Thu Oct 18 03:05:32 2007 -0700 sysctl: remove broken netfilter binary sysctls No one has bothered to set strategy routine for the the netfilter sysctls that return jiffies to be sysctl_jiffies. So it appears the sys_sysctl path is unused and untested, so this patch removes the binary sysctl numbers. Which fixes the netfilter oops in 2.6.23-rc2-mm2 for me. Signed-off-by: Eric W. Biederman Cc: Patrick McHardy Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35834ca1e4bda56d252aa2024a283d631f0e5ac6 Author: Eric W. Biederman Date: Thu Oct 18 03:05:31 2007 -0700 sysctl: simplify the pty sysctl logic Instead of having a bunch of ifdefs in sysctl.c move all of the pty sysctl logic into drivers/char/pty.c As well as cleaning up the logic this prevents sysctl_check_table from complaining that the root table has a NULL data pointer on something with generic methods. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25398a158d86b993fa5bf36f5a6752134b584d60 Author: Eric W. Biederman Date: Thu Oct 18 03:05:30 2007 -0700 sysctl: parport remove binary paths The sysctl binary paths don't look as if they even code work, .data is not filled in, and all of the proc_handlers look at extra1 and there is not strategy routine. So just kill the binary paths. In addition this patch removes the setting of extra1 on directories. It doesn't look like the parport code ever examines it, and it's bad sysctl form. [bunk@kernel.org: remove parport_device_num()] Signed-off-by: Eric W. Biederman Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d135a4a8c77f248afd908bc3cf5bd833062589d Author: Eric W. Biederman Date: Thu Oct 18 03:05:29 2007 -0700 sysctl: remove the binary interface for aio-nr, aio-max-nr, acpi_video_flags aio-nr, aio-max-nr, acpi_video_flags are unsigned long values which sysctl does not handle properly with a 64bit kernel and a 32bit user space. Since no one is likely to be using the binary sysctl values and the ascii interface still works, this patch just removes support for the binary sysctl interface from the kernel. Signed-off-by: Eric W. Biederman Cc: Alexey Dobriyan Cc: Benjamin LaHaise Cc: Zach Brown Cc: Badari Pulavarty Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49641b58a7bb90e18b0b55e1af3e9039b24fba61 Author: Eric W. Biederman Date: Thu Oct 18 03:05:29 2007 -0700 sysctl: ipv4 remove binary sysctl paths where they are broken Currently tcp_available_congestion_control does not even attempt being read from sys_sysctl, and ipfrag_max_dist while it works allows setting of invalid values using sys_sysctl. So just kill the binary sys_sysctl support for these sysctls. If the support is not important enough to test and get right it probably isn't important enough to keep. Signed-off-by: Eric W. Biederman Cc: Alexey Dobriyan Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06489b4eec832227b6f30b4b43ab26a2c50d9225 Author: Eric W. Biederman Date: Thu Oct 18 03:05:28 2007 -0700 sysctl: remove broken cdrom binary sysctls The binary interface for the cdrom sysctls can't possilby work. So remove the binary sysctls and update the test for finding out which sysctl table entry we are dealy with to use the procname and not the ctl_name (which I am removing). Signed-off-by: Eric W. Biederman Cc: Alexey Dobriyan Cc: Jens Axboe Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 282a821f18fe848db860e911fa5e1f6a3603dd80 Author: Eric W. Biederman Date: Thu Oct 18 03:05:27 2007 -0700 sysctl: x86_64 remove unnecessary binary paths Signed-off-by: Eric W. Biederman Cc: Alexey Dobriyan Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit baa3a2a0d24ebcf1c451bec8e5bee3d3467f4cbb Author: Eric W. Biederman Date: Thu Oct 18 03:05:27 2007 -0700 sysctl: remove broken sunrpc debug binary sysctls This is debug code so no need to support binary sysctl, and the binary sysctls as they were written were not consistent with what showed up in /proc so remove the binary sysctl support. Signed-off-by: Eric W. Biederman Cc: Alexey Dobriyan Cc: "David S. Miller" Cc: Trond Myklebust Cc: Neil Brown Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 428b367bff28bd9d41543eb0324197d09c7d6beb Author: Eric W. Biederman Date: Thu Oct 18 03:05:26 2007 -0700 sysctl: ipv6 route flushing (kill binary path) We don't preoperly support the sysctl binary path for flushing the ipv6 routes. So remove support for a binary path. Signed-off-by: Eric W. Biederman Cc: Alexey Dobriyan Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d12af679bcf8995a237560bdf7a4d734f8df5dbb Author: Eric W. Biederman Date: Thu Oct 18 03:05:25 2007 -0700 sysctl: fix neighbour table sysctls. - In ipv6 ndisc_ifinfo_syctl_change so it doesn't depend on binary sysctl names for a function that works with proc. - In neighbour.c reorder the table to put the possibly unused entries at the end so we can remove them by terminating the table early. - In neighbour.c kill the entries with questionable binary sysctl handling behavior. - In neighbour.c if we don't have a strategy routine remove the binary path. So we don't the default sysctl strategy routine on data that is not ready for it. Signed-off-by: Eric W. Biederman Cc: Alexey Dobriyan Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5ead5cefc1129d5f001728004ed0f38d5875c02 Author: Eric W. Biederman Date: Thu Oct 18 03:05:24 2007 -0700 sysctl: remove binary sysctl support where it clearly doesn't work These functions are all wrapper functions for the proc interface that are needed for them to work correctly. Signed-off-by: Eric W. Biederman Cc: Alexey Dobriyan Acked-by: Andrew Morgan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97aeacf49239d7f829b8cbfaca05530c97ccb903 Author: Eric W. Biederman Date: Thu Oct 18 03:05:24 2007 -0700 sysctl mqueue: remove the binary sysctl numbers Because of a conflict with FS_INODE_NR none of the binary sysctl numbers use by mqueue, were available to user space. So just remove them. Signed-off-by: Eric W. Biederman Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49a0c45833c9aa9852ba02c9df0f18029509d0a9 Author: Eric W. Biederman Date: Thu Oct 18 03:05:23 2007 -0700 sysctl: Factor out sysctl_data. There as been no easy way to wrap the default sysctl strategy routine except for returning 0. Which is not always what we want. The few instances I have seen that want different behaviour have written their own version of sysctl_data. While not too hard it is unnecessary code and has the potential for extra bugs. So to make these situations easier and make that part of sysctl more symetric I have factord sysctl_data out of do_sysctl_strategy and exported as a function everyone can use. Further having sysctl_data be an explicit function makes checking for badly formed sysctl tables much easier. Signed-off-by: Eric W. Biederman Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8217f076b73441dd3869c0c880df000655084cc Author: Eric W. Biederman Date: Thu Oct 18 03:05:22 2007 -0700 sysctl core: Stop using the unnecessary ctl_table typedef In sysctl.h the typedef struct ctl_table ctl_table violates coding style isn't needed and is a bit of a nuisance because it makes it harder to recognize ctl_table is a type name. So this patch removes it from the generic sysctl code. Hopefully I will have enough energy to send the rest of my patches will follow and to remove it from the rest of the kernel. Signed-off-by: Eric W. Biederman Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d32c4f2626acc385d5187bd5c0c24f442328dc60 Author: Jeff Layton Date: Thu Oct 18 03:05:22 2007 -0700 CIFS: ignore mode change if it's just for clearing setuid/setgid bits If the ATTR_KILL_S*ID bits are set then any mode change is only for clearing the setuid/setgid bits. For CIFS, skip the mode change and let the server handle it. Signed-off-by: Jeff Layton Cc: Steven French Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 188b95dd8ecb02dd6c6e5534cddc5a89aa4e2852 Author: Jeff Layton Date: Thu Oct 18 03:05:21 2007 -0700 NFS: if ATTR_KILL_S*ID bits are set, then skip mode change If the ATTR_KILL_S*ID bits are set then any mode change is only for clearing the setuid/setgid bits. For NFS, skip the mode change and let the server handle it. Signed-off-by: Jeff Layton Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6de0ec00ba8db84d7c452e65e502989455ecb6ea Author: Jeff Layton Date: Thu Oct 18 03:05:20 2007 -0700 VFS: make notify_change pass ATTR_KILL_S*ID to setattr operations When an unprivileged process attempts to modify a file that has the setuid or setgid bits set, the VFS will attempt to clear these bits. The VFS will set the ATTR_KILL_SUID or ATTR_KILL_SGID bits in the ia_valid mask, and then call notify_change to clear these bits and set the mode accordingly. With a networked filesystem (NFS and CIFS in particular but likely others), the client machine or process may not have credentials that allow for setting the mode. In some situations, this can lead to file corruption, an operation failing outright because the setattr fails, or to races that lead to a mode change being reverted. In this situation, we'd like to just leave the handling of this to the server and ignore these bits. The problem is that by the time the setattr op is called, the VFS has already reinterpreted the ATTR_KILL_* bits into a mode change. The setattr operation has no way to know its intent. The following patch fixes this by making notify_change no longer clear the ATTR_KILL_SUID and ATTR_KILL_SGID bits in the ia_valid before handing it off to the setattr inode op. setattr can then check for the presence of these bits, and if they're set it can assume that the mode change was only for the purposes of clearing these bits. This means that we now have an implicit assumption that notify_change is never called with ATTR_MODE and either ATTR_KILL_S*ID bit set. Nothing currently enforces that, so this patch also adds a BUG() if that occurs. Signed-off-by: Jeff Layton Cc: Michael Halcrow Cc: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Cc: Josef 'Jeff' Sipek Cc: Trond Myklebust Cc: Steven French Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdd6fe6e2f7eb8e940854317613885c33b1fe584 Author: Jeff Layton Date: Thu Oct 18 03:05:19 2007 -0700 reiserfs: turn of ATTR_KILL_S*ID at beginning of reiserfs_setattr reiserfs_setattr can call notify_change recursively using the same iattr struct. This could cause it to trip the BUG() in notify_change. Fix reiserfs to clear those bits near the beginning of the function. Signed-off-by: Jeff Layton Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a0ce7d99a4d19788e017f3138bc59b9962057ae Author: Jeff Layton Date: Thu Oct 18 03:05:19 2007 -0700 knfsd: only set ATTR_KILL_S*ID if ATTR_MODE isn't being explicitly set It's theoretically possible for a single SETATTR call to come in that sets the mode and the uid/gid. In that case, don't set the ATTR_KILL_S*ID bits since that would trip the BUG() in notify_change. Just fix up the mode to have the same effect. Signed-off-by: Jeff Layton Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ac564ecabc777636cf4eb88840802d7dc57d286 Author: Jeff Layton Date: Thu Oct 18 03:05:17 2007 -0700 ecryptfs: allow lower fs to interpret ATTR_KILL_S*ID Make sure ecryptfs doesn't trip the BUG() in notify_change. This also allows the lower filesystem to interpret ATTR_KILL_S*ID in its own way. Signed-off-by: Jeff Layton Cc: Michael Halcrow Cc: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Cc: Josef 'Jeff' Sipek Cc: Trond Myklebust Cc: Steven French Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef1d7151d2901295278d5aada39c547ed8601419 Author: Akinobu Mita Date: Thu Oct 18 03:05:16 2007 -0700 cpu hotplug: intel_cacheinfo: fix cpu hotplug error handling - Fix resource leakage in error case within detect_cache_attributes() - Don't register hotcpu notifier when cache_add_dev() returns error - Introduce cache_dev_map cpumask to track whether cache interface for CPU is successfully added by cache_add_dev() or not. cache_add_dev() may fail with out of memory error. In order to avoid cache_remove_dev() with that uninitialized cache interface when CPU_DEAD event is delivered we need to have the cache_dev_map cpumask. (We cannot change cache_add_dev() from CPU_ONLINE event handler to CPU_UP_PREPARE event handler. Because cache_add_dev() needs to do cpuid and store the results with its CPU online.) [nix.or.die@googlemail.com: fix a section mismatch warning] Cc: Ashok Raj Signed-off-by: Akinobu Mita Cc: Gautham R Shenoy Cc: Oleg Nesterov Cc: Andi Kleen Cc: Jan Beulich Signed-off-by: Gabriel Craciunescu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d435d862baca3e25e5eec236762a43251b1e7ffc Author: Akinobu Mita Date: Thu Oct 18 03:05:15 2007 -0700 cpu hotplug: mce: fix cpu hotplug error handling - Clear kobject in percpu device_mce before calling sysdev_register() with Because mce_create_device() may fail and it leaves kobject filled with junk. It will be the problem when mce_create_device() will be called next time. - Fix error handling in mce_create_device() Error handling should not do sysdev_remove_file() with not yet added attributes. - Don't register hotcpu notifier when mce_create_device() returns error - Do mce_create_device() in CPU_UP_PREPARE instead of CPU_ONLINE Cc: Andi Kleen Signed-off-by: Akinobu Mita Cc: Gautham R Shenoy Cc: Oleg Nesterov Cc: Andi Kleen Cc: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 881a841f4ae268207c29721532406ad061e41857 Author: Akinobu Mita Date: Thu Oct 18 03:05:14 2007 -0700 cpu hotplug: msr: fix cpu hotplug error handling Do msr_device_create() in CPU_UP_PREPARE instead of CPU_ONLINE. Cc: "H. Peter Anvin" Signed-off-by: Akinobu Mita Cc: Gautham R Shenoy Cc: Oleg Nesterov Cc: Andi Kleen Cc: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7e38a9c27ced4020d64749400cece4fbad4679e Author: Akinobu Mita Date: Thu Oct 18 03:05:13 2007 -0700 cpu hotplug: thermal_throttle: fix cpu hotplug error handling Do thermal_throttle_add_dev() in CPU_UP_PREPARE instead of CPU_ONLINE. Cc: Dmitriy Zavin Signed-off-by: Akinobu Mita Cc: Gautham R Shenoy Cc: Oleg Nesterov Cc: Andi Kleen Cc: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9780e3e968537db0ac8d5b4857bb38bc40217c01 Author: Akinobu Mita Date: Thu Oct 18 03:05:12 2007 -0700 cpu hotplug: topology: remove topology_dev_map By previous cpu hotplug notifier change, we don't need to track topology_dev existence for each cpu by topology_dev_map. Acked-by: Greg Kroah-Hartman Signed-off-by: Akinobu Mita Cc: Gautham R Shenoy Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0d8cdb652d35af9319a9e0fb7134de2a276c636 Author: Akinobu Mita Date: Thu Oct 18 03:05:12 2007 -0700 cpu hotplug: cpu: deliver CPU_UP_CANCELED only to NOTIFY_OKed callbacks with CPU_UP_PREPARE The functions in a CPU notifier chain is called with CPU_UP_PREPARE event before making the CPU online. If one of the callback returns NOTIFY_BAD, it stops to deliver CPU_UP_PREPARE event, and CPU online operation is canceled. Then CPU_UP_CANCELED event is delivered to the functions in a CPU notifier chain again. This CPU_UP_CANCELED event is delivered to the functions which have been called with CPU_UP_PREPARE, not delivered to the functions which haven't been called with CPU_UP_PREPARE. The problem that makes existing cpu hotplug error handlings complex is that the CPU_UP_CANCELED event is delivered to the function that has returned NOTIFY_BAD, too. Usually we don't expect to call destructor function against the object that has failed to initialize. It is like: err = register_something(); if (err) { unregister_something(); return err; } So it is natural to deliver CPU_UP_CANCELED event only to the functions that have returned NOTIFY_OK with CPU_UP_PREPARE event and not to call the function that have returned NOTIFY_BAD. This is what this patch is doing. Otherwise, every cpu hotplug notifiler has to track whether notifiler event is failed or not for each cpu. (drivers/base/topology.c is doing this with topology_dev_map) Similary this patch makes same thing with CPU_DOWN_PREPARE and CPU_DOWN_FAILED evnets. Acked-by: Rusty Russell Signed-off-by: Akinobu Mita Cc: Gautham R Shenoy Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12d00f6a121877235a5cacc56386936dd9bb81af Author: Akinobu Mita Date: Thu Oct 18 03:05:11 2007 -0700 cpu hotplug: slab: fix memory leak in cpu hotplug error path This patch fixes memory leak in error path. In reality, we don't need to call cpuup_canceled(cpu) for now. But upcoming cpu hotplug error handling change needs this. Cc: Christoph Lameter Cc: Gautham R Shenoy Acked-by: Pekka Enberg Signed-off-by: Akinobu Mita Cc: Gautham R Shenoy Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fbf1e473bd0ecc080a4c37bb89848b16c59ac18b Author: Akinobu Mita Date: Thu Oct 18 03:05:09 2007 -0700 cpu hotplug: slab: cleanup cpuup_callback() cpuup_callback() is too long. This patch factors out CPU_UP_CANCELLED and CPU_UP_PREPARE handlings from cpuup_callback(). Cc: Christoph Lameter Cc: Pekka Enberg Signed-off-by: Akinobu Mita Cc: Gautham R Shenoy Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c72ffaab9851e3ee380c77169c0cfcba6b58d4c Author: Andy Whitcroft Date: Thu Oct 18 03:05:08 2007 -0700 update checkpatch.pl to version 0.11 This version brings a more cautious checkpatch.pl by default. The more subjective checks are only applied with the --strict option. It also brings the usual slew of corrections for false positives. Of note: - new tree detection, the source tree will be found via the executable - a major revamp of the unary detection to make it more parser like - a new summary at the bottom of the report - --strict option for subjective checks - --file to enable checking on complete files - support for use in emacs "compile" window Andy Whitcroft (27): Version: 0.11 fix up cat_vet for the case where there are no control characters any cast to a pointer introduces a type cpp unary operator detection needs to float attributes are also valid in type definitions sizeof may be a bareword and makes its argument unary unary checks for #ifdef et al need to find end of line add new --file mode to handle raw source files add --strict/--subjective which enables the subjective tests add some additional standard type suffixes cpp #elif is also a unary prefix case is not a function name widen asm volatile exceptions __kprobes is a type attribute typeof is a unary operator function open parenthesis checks should check all occurances expand sizeof() binary exceptions linux/irq.h should not be recommended work harder to find the kernel root and add --root= fix --emacs mode line numbers and string concatenation warnings add a summary to the bottom of the main report loosen assignment in if checks update operator spacing to maintain tabs in output revamp unary detection corruption/line wrapped patches need only reporting once revamp s/u/be/le 8/16/32/64 bit types handle missing ,1 in uni-diff header Mike D. Day (2): Adds support to checkpatch.pl for running in the emacs compile window. checkpatch: Fix line number reporting Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit faf8c714f4508207a9c81cc94dafc76ed6680b44 Author: Dave Young Date: Thu Oct 18 03:05:07 2007 -0700 param_sysfs_builtin memchr argument fix If memchr argument is longer than strlen(kp->name), there will be some weird result. It will casuse duplicate filenames in sysfs for the "nousb". kernel warning messages are as bellow: sysfs: duplicate filename 'usbcore' can not be created WARNING: at fs/sysfs/dir.c:416 sysfs_add_one() [] sysfs_add_one+0xa0/0xe0 [] create_dir+0x48/0xb0 [] sysfs_create_dir+0x29/0x50 [] create_dir+0x1b/0x50 [] kobject_add+0x46/0x150 [] kobject_init+0x3a/0x80 [] kernel_param_sysfs_setup+0x50/0xb0 [] param_sysfs_builtin+0xee/0x130 [] param_sysfs_init+0x23/0x60 [] __next_cpu+0x12/0x20 [] kernel_init+0x0/0xb0 [] kernel_init+0x0/0xb0 [] do_initcalls+0x46/0x1e0 [] create_proc_entry+0x52/0x90 [] register_irq_proc+0x9c/0xc0 [] proc_mkdir_mode+0x34/0x50 [] kernel_init+0x0/0xb0 [] kernel_init+0x62/0xb0 [] kernel_thread_helper+0x7/0x14 ======================= kobject_add failed for usbcore with -EEXIST, don't try to register things with the same name in the same directory. [] kobject_add+0xf6/0x150 [] kernel_param_sysfs_setup+0x50/0xb0 [] param_sysfs_builtin+0xee/0x130 [] param_sysfs_init+0x23/0x60 [] __next_cpu+0x12/0x20 [] kernel_init+0x0/0xb0 [] kernel_init+0x0/0xb0 [] do_initcalls+0x46/0x1e0 [] create_proc_entry+0x52/0x90 [] register_irq_proc+0x9c/0xc0 [] proc_mkdir_mode+0x34/0x50 [] kernel_init+0x0/0xb0 [] kernel_init+0x62/0xb0 [] kernel_thread_helper+0x7/0x14 ======================= Module 'usbcore' failed to be added to sysfs, error number -17 The system will be unstable now. Signed-off-by: Dave Young Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f286c33f1e838d631f4a3260b33efce4bc5973c Author: Andrew Morton Date: Thu Oct 18 03:05:07 2007 -0700 stop using DMA_xxBIT_MASK Now that we have DMA_BIT_MASK(), these macros are pointless. Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34c6538413e5648b63cb785add509f500b3a7b11 Author: Borislav Petkov Date: Thu Oct 18 03:05:06 2007 -0700 unify DMA_..BIT_MASK definitions: v3.1 Remove redundant DMA_..BIT_MASK definitions across two drivers. The computation of the majority of the bitmasks is done by the compiler. The initial split of the patch touching each a different file got removed due to possible git bisect breakage. Signed-off-by: Borislav Petkov Cc: Jeremy Fitzhardinge Cc: Muli Ben-Yehuda Cc: Jeff Garzik Cc: James Bottomley Reviewed-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c6221483169ddd4c04797cd7296ed4fe52fcdd7 Author: Tony Breeds Date: Thu Oct 18 03:04:57 2007 -0700 Fix discrepancy between VDSO based gettimeofday() and sys_gettimeofday(). On platforms that copy sys_tz into the vdso (currently only x86_64, soon to include powerpc), it is possible for the vdso to get out of sync if a user calls (admittedly unusual) settimeofday(NULL, ptr). This patch adds a hook for architectures that set CONFIG_GENERIC_TIME_VSYSCALL to ensure when sys_tz is updated they can also updatee their copy in the vdso. Signed-off-by: Tony Breeds Cc: Andi Kleen Cc: Tony Luck Acked-by: John Stultz Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6212e3a388fdda3f19fa660ef5a30edf54d1dcfd Author: Alexey Dobriyan Date: Thu Oct 18 03:04:56 2007 -0700 Remove struct task_struct::io_wait Hell knows what happened in commit 63b05203af57e7de4f3bb63b8b81d43bc196d32b during 2.6.9 development. Commit introduced io_wait field which remained write-only than and still remains write-only. Also garbage collect macros which "use" io_wait. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cd9a0058dd35268b24fa16795a92c800f4086d4 Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:56 2007 -0700 Hibernation: Enter platform hibernation state in a consistent way Make hibernation_platform_enter() execute the enter-a-sleep-state sequence instead of the mixed shutdown-with-entering-S4 thing. Replace the shutting down of devices done by kernel_shutdown_prepare(), before entering the ACPI S4 sleep state, with suspending them and the shutting down of sysdevs with calling device_power_down(PMSG_SUSPEND) (just like before entering S1 or S3, but the target state is now S4).  Also, disable the nonboot CPUs before entering the sleep state (S4), which generally always is a good idea. This is known to fix the "double disk spin down during hibernation" on some machines, eg. HPC nx6325 (ref. http://lkml.org/lkml/2007/8/7/316 and the following thread).  Moreover, it has been reported to make /sys/class/rtc/rtc0/wakealarm work correctly with hibernation for some users. It also generally causes the hibernation state (ACPI S4) to be entered faster. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7e0831d385d620a58d95b25e4afa9b643f9a411 Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:55 2007 -0700 Hibernation: Check if ACPI is enabled during restore in the right place The following scenario leads to total confusion of the platform firmware on some boxes (eg. HPC nx6325): * Hibernate with ACPI enabled * Resume passing "acpi=off" to the boot kernel To prevent this from happening it's necessary to check if ACPI is enabled (and enable it if that's not the case) _right_ _after_ control has been transfered from the boot kernel to the image kernel, before device_power_up() is called (ie. with interrupts disabled).  Enabling ACPI after calling device_power_up() turns out to be insufficient. For this reason, introduce new hibernation callback ->leave() that will be executed before device_power_up() by the restored image kernel.  To make it work, it also is necessary to move swsusp_suspend() from swsusp.c to disk.c (it's name is changed to "create_image", which is more up to the point). Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efa4d2fb047b25a6be67fe92178a2a78da6b3f6a Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:54 2007 -0700 Hibernation: Use temporary page tables for kernel text mapping on x86_64 Use temporary page tables for the kernel text mapping during hibernation restore on x86_64. Without the patch, the original boot kernel's page tables that represent the kernel text mapping are used while the core of the image kernel is being restored. However, in principle, if the boot kernel is not identical to the image kernel, the location of these page tables in the image kernel need not be the same, so we should create a safe copy of the kernel text mapping prior to restoring the core of the image kernel. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c30bb68c26ad7e9277f2d1dfed8347f329e1cf27 Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:54 2007 -0700 Hibernation: Pass CR3 in the image header on x86_64 Since we already pass the address of restore_registers() in the image header, we can also pass the value of the CR3 register from before the hibernation in the same way. This will allow us to avoid using init_level4_pgt page tables during the restore. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d158cbdf39ffaec9dd5299fdfdfdd2c7897a71dc Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:53 2007 -0700 Hibernation: Arbitrary boot kernel support on x86_64 Make it possible to restore a hibernation image on x86_64 with the help of a kernel different from the one in the image. The idea is to split the core restoration code into two separate parts and to place each of them in a different page.  The first part belongs to the boot kernel and is executed as the last step of the image kernel's memory restoration procedure.  Before being executed, it is relocated to a safe page that won't be overwritten while copying the image kernel pages. The final operation performed by it is a jump to the second part of the core restoration code that belongs to the image kernel and has just been restored. This code makes the CPU switch to the image kernel's page tables and restores the state of general purpose registers (including the stack pointer) from before the hibernation. The main issue with this idea is that in order to jump to the second part of the core restoration code the boot kernel needs to know its address.  However, this address may be passed to it in the image header.  Namely, the part of the image header previously used for checking if the version of the image kernel is correct can be replaced with some architecture specific data that will allow the boot kernel to jump to the right address within the image kernel.  These data should also be used for checking if the image kernel is compatible with the boot kernel (as far as the memory restroration procedure is concerned). It can be done, for example, with the help of a "magic" value that has to be equal in both kernels, so that they can be regarded as compatible. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d307c4a8e826c44f9633bd3f7e60d0491e7d885a Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:52 2007 -0700 Hibernation: Arbitrary boot kernel support - generic code Add the bits needed for supporting arbitrary boot kernels to the common hibernation code. To support arbitrary boot kernels, make it possible to replace the 'struct new_utsname' and the kernel version in the hibernation image header by some architecture specific data that will be used to verify if the image is valid and to restore the image. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50a1efe14fd56a273cdbe53bf1c7fc12099d2e1a Author: Pavel Machek Date: Thu Oct 18 03:04:51 2007 -0700 s2ram: kill old debugging junk This removes old debugging stuff, that should be no longer neccessary. It accessed VGA hardware (which may not be ready at this point), and used LEDs at port 80 for debugging. Signed-off-by: Pavel Machek Acked-by: Rafael J. Wysocki Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f4ce8c32f2dc2bc2411cafe39976fc5c0adfabf Author: Andres Salomon Date: Thu Oct 18 03:04:50 2007 -0700 serial: turn serial console suspend a boot rather than compile time option Currently, there's a CONFIG_DISABLE_CONSOLE_SUSPEND that allows one to stop the serial console from being suspended when the rest of the machine goes to sleep. This is incredibly useful for debugging power management-related things; however, having it as a compile-time option has proved to be incredibly inconvenient for us (OLPC). There are plenty of times that we want serial console to not suspend, but for the most part we'd like serial console to be suspended. This drops CONFIG_DISABLE_CONSOLE_SUSPEND, and replaces it with a kernel boot parameter (no_console_suspend). By default, the serial console will be suspended along with the rest of the system; by passing 'no_console_suspend' to the kernel during boot, serial console will remain alive during suspend. For now, this is pretty serial console specific; further fixes could be applied to make this work for things like netconsole. Signed-off-by: Andres Salomon Acked-by: "Rafael J. Wysocki" Acked-by: Pavel Machek Cc: Nigel Cunningham Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 438e2ce68dfd4af4cfcec2f873564fb921db4bb5 Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:49 2007 -0700 freezer: measure freezing time Measure the time of the freezing of tasks, even if it doesn't fail. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b842ee578eeb2c10303725e28edca130ede0397c Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:48 2007 -0700 freezer: be more verbose Increase the freezer's verbosity a bit, so that it's easier to read problem reports related to it. Signed-off-by: Rafael J. Wysocki Acked-by: Nigel Cunningham Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f059bca1c57f665211dc23de1fb31c1849b65c7b Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:48 2007 -0700 pm_trace displays the wrong time from the RTC The way in which read_magic_time() displays the date read from the RTC is apparently confusing to the users (cf. https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=250238). Make it print dates in the standard way. Signed-off-by: Rafael J. Wysocki Acked-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3d42d75270e9c259b75f814ccad2a88ab310665 Author: Adrian Bunk Date: Thu Oct 18 03:04:47 2007 -0700 unexport pm_power_off_prepare This patch removes the unused EXPORT_SYMBOL(pm_power_off_prepare). Signed-off-by: Adrian Bunk Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5d8c5976d6adeddb8208c240460411e2198b393 Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:46 2007 -0700 freezer: do not send signals to kernel threads The freezer should not send signals to kernel threads, since that may lead to subtle problems. In particular, commit b74d0deb968e1f85942f17080eace015ce3c332c has changed recalc_sigpending_tsk() so that it doesn't clear TIF_SIGPENDING. For this reason, if the freezer continues to send fake signals to kernel threads and the freezing of kernel threads fails, some of them may be running with TIF_SIGPENDING set forever. Accordingly, recalc_sigpending_tsk() shouldn't set the task's TIF_SIGPENDING flag if TIF_FREEZE is set. Signed-off-by: Rafael J. Wysocki Cc: Nigel Cunningham Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e42837bcd35b75bb59ae5d3e62f87be1aeeb05c3 Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:45 2007 -0700 freezer: introduce freezer-friendly waiting macros Introduce freezer-friendly wrappers around wait_event_interruptible() and wait_event_interruptible_timeout(), originally defined in , to be used in freezable kernel threads. Make some of the freezable kernel threads use them. This is necessary for the freezer to stop sending signals to kernel threads, which is implemented in the next patch. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e1318956ce6bf149af5c5e98499b5cd99f99c89 Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:45 2007 -0700 freezer: prevent new tasks from inheriting TIF_FREEZE set Tasks should go to the refrigerator only if explicitly requested to do that by the freezer and not as a result of inheriting the TIF_FREEZE flag set from the parent. Make it happen. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Acked-by: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 232b14328050a4639130b0dec185f43968e72035 Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:44 2007 -0700 freezer: do not sync filesystems from freeze_processes The syncing of filesystems from within the freezer is generally not needed. Also, if there's an ext3 filesystem loopback-mounted from a FUSE one, the syncing results in writes to it and deadlocks. Similarly, it will deadlock if FUSE implements sync. Change freeze_processes() so that it doesn't execute sys_sync() and make the suspend and hibernation code path sync filesystems independently of the freezer. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2776365370b579afc36cff14dc70a567b66f0378 Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:43 2007 -0700 freezer: document relationship with memory shrinking One important reason to freeze tasks, which is that we don't want them to allocate memory after freeing it for the hibernation image, has not been documented. Fix it. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Acked-by: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3dac3b304bdfbb06e92b0d4bba9ecab006795e6 Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:43 2007 -0700 PM: Rename hibernation_ops to platform_hibernation_ops Rename 'struct hibernation_ops' to 'struct platform_hibernation_ops' in analogy with 'struct platform_suspend_ops'. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Len Brown Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74f270af0c1ed5b9d4413784256959dcfe3593ce Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:42 2007 -0700 PM: Rework struct hibernation_ops During hibernation we also need to tell the ACPI core that we're going to put the system into the S4 sleep state. For this reason, an additional method in 'struct hibernation_ops' is needed, playing the role of set_target() in 'struct platform_suspend_operations'. Moreover, the role of the .prepare() method is now different, so it's better to introduce another method, that in general may be different from .prepare(), that will be used to prepare the platform for creating the hibernation image (.prepare() is used anyway to notify the platform that we're going to enter the low power state after the image has been saved). Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f242d9196fd1ef4e6bf0e50d2e7f32866fb145c2 Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:41 2007 -0700 PM: Make suspend_ops static The variable suspend_ops representing the set of global platform-specific suspend-related operations, used by the PM core, need not be exported outside of kernel/power/main.c .  Make it static. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6c5eb9541f2197a3ffab90b1c7a3250a9b51bf6 Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:41 2007 -0700 PM: Rework struct platform_suspend_ops There is no reason why the .prepare() and .finish() methods in 'struct platform_suspend_ops' should take any arguments, since architectures don't use these methods' argument in any practically meaningful way (ie. either the target system sleep state is conveyed to the platform by .set_target(), or there is only one suspend state supported and it is indicated to the PM core by .valid(), or .prepare() and .finish() aren't defined at all).  There also is no reason why .finish() should return any result. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Len Brown Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26398a70ea35f153feb799fa850c71685667712b Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:40 2007 -0700 PM: Rename struct pm_ops and related things The name of 'struct pm_ops' suggests that it is related to the power management in general, but in fact it is only related to suspend.  Moreover, its name should indicate what this structure is used for, so it seems reasonable to change it to 'struct platform_suspend_ops'.  In that case, the name of the global variable of this type used by the PM core and the names of related functions should be changed accordingly. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Len Brown Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95d9ffbe01fb21d524c86bf77871255066bc6e55 Author: Rafael J. Wysocki Date: Thu Oct 18 03:04:39 2007 -0700 PM: Move definition of struct pm_ops to suspend.h Move the definition of 'struct pm_ops' and related functions from to . There are, at least, the following reasons to do that: * 'struct pm_ops' is specifically related to suspend and not to the power management in general. * As long as 'struct pm_ops' is defined in , any modification of it causes the entire kernel to be recompiled, which is unnecessary and annoying. * Some suspend-related features are already defined in , so it is logical to move the definition of 'struct pm_ops' into there. * 'struct hibernation_ops', being the hibernation-related counterpart of 'struct pm_ops', is defined in . Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Len Brown Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a065c86e1bfcdd36709025d018965afea3f3a2b6 Author: Adrian Bunk Date: Thu Oct 18 03:04:37 2007 -0700 make kernel/power/main.c:suspend_enter() static suspend_enter() can now become static. Signed-off-by: Adrian Bunk Cc: "Rafael J. Wysocki" Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41702d9a4fffa9e25b2ad9d4af09b3013fa155e1 Author: Ralf Baechle Date: Thu Oct 18 03:04:37 2007 -0700 logo.c: get rid of mips_machgroup This has not been any serious user of this ill conceived thing since the original invention in like '95 so I recently deleted this from everywhere except the last instance in logo.c. This patch removes the last two instances in logo.c. They conditions were not useful anyway as when compiled in they would always evaluate as true. Last not least this is necessary to get the SGI IP22 and DECstation kernels to compile again. Signed-off-by: Ralf Baechle Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c40eea98cd723ac8942ed2db39c30182c0c928c7 Author: Geert Uytterhoeven Date: Thu Oct 18 03:04:36 2007 -0700 fb modedb: Refactor confusing mode_option assignment Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75e8b71d559632dd70c9799ea8b5c133a2ddcea9 Author: Maciej W. Rozycki Date: Thu Oct 18 03:04:35 2007 -0700 tty_ioctl: fix the baud_table check in encode_baud_rate The tty_termios_encode_baud_rate() function as defined by tty_ioctl.c has a problem with the baud_table within. The comparison operators are reversed and as a result this table's entries never match and BOTHER is always used. Signed-off-by: Maciej W. Rozycki Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77bf2bab91e4e7df361963451c7b9a803516438c Author: Jan Engelhardt Date: Thu Oct 18 03:04:34 2007 -0700 Remove CONFIG_VT_UNICODE Since default_utf8 is already a sysfs attribute, having an extra CONFIG_VT_UNICODE compile-time option is redundant, since sysfs attributes can be set at boot and run time. Also let Linux VCs default to UTF-8 (as per the discussion at http://lkml.org/lkml/2007/9/6/99). Signed-off-by: Jan Engelhardt Cc: Bill Nottingham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7c698f755c843dec5c54bf89893c320b8fbdfce Author: Signed-off-by@vergenet.net":Simon Date: Thu Oct 18 03:04:33 2007 -0700 Kexec: Update URL in MAINTAINERS file I'm not sure that the new URL satifies the requirement of status/info, but it does at least as good a job as the old URL, and contains current releases of kexec-tools, rather than somewhat ancient versions. Signed-off-by: Simon Horman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ccfd63367c1a6aaf8b33943f18856dde85f2f0b Author: Karsten Keil Date: Thu Oct 18 03:04:32 2007 -0700 i4l: Fix random hard freeze with AVM c4 card The patch - Includes the call to capilib_data_b3_req in the spinlock. This routine in turn calls the offending mq_enqueue routine that triggered the freeze if not locked. This should also fix other indicators of incosistent capilib_msgidqueue list, that trigger messages like: Oct 5 03:05:57 BERL0 kernel: kcapi: msgid 3019 ncci 0x30301 not on queue that we saw several times a day (usually several in a row). - Fixes all occurrences of c4_dispatch_tx to be called with active spinlock, there were some instances where no lock was active. Mostly these are in very infrequently called routines, so the additional performance penalty is minimal. Signed-off-by: Karsten Keil Signed-off-by: Rainer Brestan Signed-off-by: Ralf Schlatterbeck Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9713d9e650045f7f2afd81d58a068827be306993 Author: Karsten Keil Date: Thu Oct 18 03:04:31 2007 -0700 i4l: fix random freezes with AVM B1 drivers This fix the same issue which was debbuged for the C4 controller for the B1 versions. The capilib_ function modify or traverse a linked list without locking. This patch extends the existing locking to the calls of these function to prevent access to a list which is in the middle of a modification. Signed-off-by: Karsten Keil C: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c42ea3f93b5684cf60ba0ac6810ad1f865954b0 Author: Ralf Baechle Date: Thu Oct 18 03:04:30 2007 -0700 au1100fb: fix modpost warnings MODPOST vmlinux.o WARNING: vmlinux.o(.text+0x170be8): Section mismatch: reference to .init.data:au1100fb_fix (between 'au1100fb_drv_probe' and 'read_null') WARNING: vmlinux.o(.text+0x170dc4): Section mismatch: reference to .init.data:au1100fb_var (between 'au1100fb_drv_probe' and 'read_null') WARNING: vmlinux.o(.text+0x170dd0): Section mismatch: reference to .init.data:au1100fb_fix (between 'au1100fb_drv_probe' and 'read_null') WARNING: vmlinux.o(.text+0x170de0): Section mismatch: reference to .init.data:au1100fb_var (between 'au1100fb_drv_probe' and 'read_null') WARNING: vmlinux.o(.text+0x170e70): Section mismatch: reference to .init.data:au1100fb_var (between 'au1100fb_drv_probe' and 'read_null') Signed-off-by: Ralf Baechle Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53da05632b96440b07615458e57d096a89cc466c Author: Ralf Baechle Date: Thu Oct 18 03:04:29 2007 -0700 netport_con.c: fix build errors and warnings Fix build broken by accaa24c492f1aa3b9c37226d868dc59c3007531: CC drivers/video/console/newport_con.o drivers/video/console/newport_con.c: In function 'newport_show_logo': drivers/video/console/newport_con.c:111: error: assignment of read-only location drivers/video/console/newport_con.c:111: warning: assignment makes integer from pointer without a cast drivers/video/console/newport_con.c:112: error: assignment of read-only location drivers/video/console/newport_con.c:112: warning: assignment makes integer from pointer without a cast Signed-off-by: Ralf Baechle Cc: "Randy.Dunlap" Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50a8ec31c3a00594ceb7c5f1dcf2ecdaf6a5b847 Author: Sam Ravnborg Date: Thu Oct 18 21:24:21 2007 +0200 kbuild: disable depmod in cross-compile kernel build When building embedded systems in a cross-compile environment and populating a target's file system image, we don't want to run the depmod on the host as we may be building for a completely different architecture. Since there's no such thing as a cross-depmod, we just disable running depmod in the cross-compile case and we just run depmod on the target at bootup. Inspired by patches from Christian, Armin and Deepak. This solves: http://bugzilla.kernel.org/show_bug.cgi?id=3881 Signed-off-by: Sam Ravnborg Cc: Christian Bjølevik Cc: Deepak Saxena and Cc: Armin Kuster , commit 991b7d6e6ffe9373dca7269a5d0213c1545dee1f Author: Kyle McMartin Date: Thu Oct 18 13:54:51 2007 -0700 [PARISC] Attempt to clean up parisc/Makefile Signed-off-by: Kyle McMartin commit c70878b4e0b6cf8d2f1e46319e48e821ef4a8aba Author: Anton Blanchard Date: Mon Oct 15 16:13:56 2007 -0500 hrtimer: hook compat_sys_nanosleep up to high res timer code Now we have high res timers on ppc64 I thought Id test them. It turns out compat_sys_nanosleep hasnt been converted to the hrtimer code and so is limited to HZ resolution. The follow patch converts compat_sys_nanosleep to use high res timers. Signed-off-by: Anton Blanchard Signed-off-by: Thomas Gleixner commit 04c227140fed77587432667a574b14736a06dd7f Author: Anton Blanchard Date: Mon Oct 15 16:06:04 2007 -0500 hrtimer: Rework hrtimer_nanosleep to make sys_compat_nanosleep easier Pull the copy_to_user out of hrtimer_nanosleep and into the callers (common_nsleep, sys_nanosleep) in preparation for converting compat_sys_nanosleep to use hrtimers. Signed-off-by: Anton Blanchard Acked-by: Arnd Bergmann Signed-off-by: Thomas Gleixner commit 3be6cbd73f74b4a3da82cc7d6e1688a4ae595fc7 Author: Jeff Garzik Date: Thu Oct 18 16:21:18 2007 -0400 [libata] kill ata_sg_is_last() Short term, this works around a bug introduced by early sg-chaining work. Long term, removing this function eliminates a branch from a hot path loop in each scatter/gather table build. Also, as this code demonstrates, we don't need to _track_ the end of the s/g list, as long as we mark it in some way. And doing so programatically is nice. So its a useful cleanup, regardless of its short term effects. Based conceptually on a quick patch by Jens Axboe. Signed-off-by: Jeff Garzik commit 1f06862e11f23ebc99438c592be9c92560d78548 Author: Ivo van Doorn Date: Sat Oct 13 16:27:13 2007 +0200 [PATCH] rt2x00: Add new rt73usb USB ID Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit db15178755f823d1fa8c242210cf04c26fca1483 Author: Mattias Nissler Date: Sat Oct 13 16:26:52 2007 +0200 [PATCH] rt2x00: Fix residual check in PLCP calculations. Because rt2x00 implements the residual calculation different from what the legacy code does (i.e. scaled values), we need to adjust the residual check. Again, we are only mimicking the behaviour of the ralink driver without actually knowing what we do :-( Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c7c466763d70059ead7ed990e2e9766a0caf9509 Author: Tomas Winkler Date: Thu Oct 18 02:04:15 2007 +0200 [PATCH] iwlwifi: Fix rate setting in probe request for HW sacn This patch fixes setting of rates in probe request used in HW scan. The bug was reported by Helmut Schaa Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 023384faf6a6cb44b5d4a265a7c58279ff810de1 Author: Michael Buesch Date: Wed Oct 17 20:09:02 2007 +0200 [PATCH] b43: Make b43_stop() static This fixes a sparse warning. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 923403b8074a6db4207b404934d5c821d73c199f Author: WANG Cong Date: Tue Oct 16 14:29:38 2007 -0700 [PATCH] drivers/net/wireless/b43/main.c: fix an uninitialized variable Fix an uninitialized variable in drivers/net/wireless/b43/main.c::b43_start(). Cc: Adrian Bunk Signed-off-by: WANG Cong Cc: Michael Buesch Cc: Larry Finger Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 4457e1a497736328f01704ff416bc2355c12b975 Author: Ron Rindjunsky Date: Mon Oct 15 14:40:56 2007 +0200 [PATCH] iwlwifi: set correct base rate for A band in rs_dbgfs_set_mcs This patch fixes base rate needed for fixed rate operation in A band Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit e0579d576cb894a4cf3c5af04fbf38e8c1281738 Author: Marc Pignat Date: Mon Oct 15 08:51:52 2007 +0200 [PATCH] zd1211rw, fix oops when ejecting install media The disconnect function can dereference the net_device structure when it is never allocated. This is the case when ejecting the device installer. Signed-off-by: Marc Pignat Acked-by: Daniel Drake Signed-off-by: John W. Linville commit 208eec88639a61002bb140dc5c64984684c2705d Author: Larry Finger Date: Sun Oct 14 16:04:30 2007 -0500 [PATCH] b43legacy: Fix potential return of uninitialized variable Using the Coverity checker, Adrian Bunk found that routine b43legacy_start could return an unitialized variable. This patch fixes the problem. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c899a575fa9cc802a4a77f6c5078b14fc1d12487 Author: Adrian Bunk Date: Sun Oct 14 19:51:15 2007 +0200 [PATCH] iwl4965-base.c: fix off-by-one errors This patch fixes two off-by-one errors resulting in array overflows spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit ba8007ceb076f336a453a049cc5353eaa01d7136 Author: Michael Wu Date: Sat Oct 13 20:35:05 2007 -0400 [PATCH] p54: Make filter configuration atomic p54_set_filter is now called from configure_filter, which is not allowed to sleep. The filter configuration packet allocation should be atomic now. Thanks to Dmitry Torokhov for reporting this bug. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 4771afb56930d6b03a04fa231f06ae29c3a496de Author: Michael Wu Date: Fri Oct 12 16:45:12 2007 -0400 [PATCH] rtl8187: remove NICMAC setting in configure_filters callback NICMAC should always be set. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 90ba931fa1d3410c87d93ef774624d12533f37c3 Author: Holger Schurig Date: Thu Oct 11 12:17:41 2007 +0200 [PATCH] janitorial: fix all double includes in drivers/net/wireless This patch removes all double includes of the same file. This makes scripts/checkincludes.pl happy. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 98798f4875b7149db4eb7d0a126fc6dcd9637821 Author: Michael Wu Date: Wed Oct 10 17:28:59 2007 -0400 [PATCH] rtl8187: Fix more frag bit checking, rts duration calc The wrong pointer is passed to ieee80211_get_morefrag. Fix this. While we're at it, reorder things so they look better and the rts duration calculation is done with the right length. Thanks to Christoph Hellwig for finding the ieee80211_get_morefrag issue. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit d20c678a450a25c1c12925f60c1b4cc040acc17d Author: Dan Williams Date: Wed Oct 10 12:28:07 2007 -0400 [PATCH] ipw2100: send WEXT scan events ipw2100 wasn't sending WEXT scan events at all on scan completion. And like ipw2200, the driver aggressively auto-scans, requiring non-user-requested scan events to be batched together and sent at specific intervals instead of many times per seconds. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 9611f61eb5baf22b6b6ed46c2c196c10e1fade6a Author: Matthew Wilcox Date: Sun Oct 14 10:13:31 2007 -0400 [PARISC] Fix infinite loop in /proc/iomem pcibios_link_hba_resources() could corrupt the resource tree by inserting resources in the wrong place. Fix this by calling pci_claim_resource() for PCI-PCI bridges. Delete pcibios_link_hba_resources as we shouldn't need it any more. Also get rid of lba_claim_dev_resources() and just call pci_claim_resource() directly. Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin commit 480b9434c542ddf2833aaed3dabba71bc0b787b5 Author: Ken Chen Date: Thu Oct 18 21:32:56 2007 +0200 sched: reduce schedstat variable overhead a bit schedstat is useful in investigating CPU scheduler behavior. Ideally, I think it is beneficial to have it on all the time. However, the cost of turning it on in production system is quite high, largely due to number of events it collects and also due to its large memory footprint. Most of the fields probably don't need to be full 64-bit on 64-bit arch. Rolling over 4 billion events will most like take a long time and user space tool can be made to accommodate that. I'm proposing kernel to cut back most of variable width on 64-bit system. (note, the following patch doesn't affect 32-bit system). Signed-off-by: Ken Chen Signed-off-by: Ingo Molnar commit cc4ea79588e688ea9b1161650979a194dd709169 Author: Ingo Molnar Date: Thu Oct 18 21:32:56 2007 +0200 sched: add KERN_CONT annotation printk: add the KERN_CONT annotation (which is empty string but via which checkpatch.pl can notice that the lacking KERN_ level is fine). Signed-off-by: Ingo Molnar commit d80164916221216dedbd5d0e8423daca9e7682ea Author: Ingo Molnar Date: Thu Oct 18 21:32:55 2007 +0200 sched: cleanup, make struct rq comments more consistent cleanup, make struct rq comments more consistent. found via scripts/checkpatch.pl. Signed-off-by: Ingo Molnar commit 8401f77505d00b779e3d2d74180cb465de1c2e2b Author: Ingo Molnar Date: Thu Oct 18 21:32:55 2007 +0200 sched: cleanup, fix spacing cleanup: fix sysctl_sched_features initialization spacing, and fix sd_alloc_ctl_cpu_table() prototype spacing. found via scripts/checkpatch.pl. Signed-off-by: Ingo Molnar commit 51e97990234ed195a05b424bf04c387f5ae5e5cf Author: Andi Kleen Date: Thu Oct 18 21:32:55 2007 +0200 sched: fix return value of wait_for_completion_interruptible() The recent wait_for_completion() cleanups: commit 8cbbe86dfcfd68ad69916164bdc838d9e09adca8 Author: Andi Kleen Date: Mon Oct 15 17:00:14 2007 +0200 sched: cleanup: refactor common code of sleep_on / wait_for_completion Refactor common code of sleep_on / wait_for_completion broke the return value of wait_for_completion_interruptible(). Previously it returned 0 on success, now -1. Fix that. Problem found by Geert Uytterhoeven. [ mingo: fixed whitespace damage ] Reported-by: Geert Uytterhoeven Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar commit 7da97ec96a0934319c7fbedd3d38baf533e20640 Author: Francois Romieu Date: Thu Oct 18 15:20:43 2007 +0200 r8169: more phy init for the 8168 Realtek's r8168 driver version 8.003.00 adds new init sequences (they do not appear in version 8.002.00). Signed-off-by: Francois Romieu Cc: Edward Hsu commit a3f8067186c8d8459a20644b690f3a02131a3e37 Author: Francois Romieu Date: Thu Oct 18 14:35:11 2007 +0200 r8169: update the phy init for the 8168C The values have been updated between version 8.002.00 and version 8.003.00 of Realtek's r8168 driver. This modification syncs the 8168C with version 8.003.00. Signed-off-by: Francois Romieu Cc: Edward Hsu commit a441d7b6bf3386c5b384685151a1cea921658819 Author: Francois Romieu Date: Fri Aug 17 18:26:35 2007 +0200 r8169: phy init cleanup Consistent use of hexadecimal. No change of behavior otherwise. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 867763c113494106574a64dc81175d66741a01cb Author: Francois Romieu Date: Fri Aug 17 18:21:58 2007 +0200 r8169: phy init for the 8168 The values have been extracted from Realtek's r8168 driver version 8.002.00. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 5615d9f1b9f5221d5b69dfa3722c16918c896cdd Author: Francois Romieu Date: Fri Aug 17 17:50:46 2007 +0200 r8169: make room for more phy init changes The code is reworked to easily add phy-dependant init changes. No change of behavior should be noticed. Signed-off-by: Francois Romieu Cc: Edward Hsu commit e179bb7b437f4bd726e9ea9b08aff2fa4a530c1a Author: Francois Romieu Date: Fri Aug 17 15:05:21 2007 +0200 r8169: remove dead wood Signed-off-by: Francois Romieu Cc: Edward Hsu commit e3cf0cc09141ddef9d75a984c0d286040f1f2743 Author: Francois Romieu Date: Fri Aug 17 14:55:46 2007 +0200 r8169: add MAC identifiers The identifiers have been extracted from Realtek's drivers: - version 8.002.00 of the r8168 driver - version 6.002.00 of the r8169 driver - version 1.002.00 of the r8101 driver 1. RTL_GIGA_MAC_VER_17 (8168Bf) is isolated from RTL_GIGA_MAC_VER_12 (8168Be) Both are still handled the same in rtl8169_set_speed_xmii and in rtl_set_rx_mode to avoid changes of behavior in this patch. 2. RTL_GIGA_MAC_VER_16 (8101Ec) is isolated from RTL_GIGA_MAC_VER_13 (8101Eb) Same thing as above with relation to rtl8169_set_speed_xmii, rtl_set_rx_mode and rtl_hw_start_8101. 3. The remaining new identifiers should not hurt. Signed-off-by: Francois Romieu Cc: Edward Hsu commit bc1660b57021b91f4adcb8fd06fe7bbecade3a8b Author: Francois Romieu Date: Fri Oct 12 23:58:09 2007 +0200 r8169: use the existing symbolic name of vendor PCI ID 0x1259 Signed-off-by: Francois Romieu Cc: Edward Hsu commit cebf8cc79ec776a2f35b5912cf4eb41439a2cfda Author: Francois Romieu Date: Thu Oct 18 12:06:54 2007 +0200 r8169: remove private net_device_stats structure Use net_device_stats in the net_device structure. Signed-off-by: Francois Romieu Cc: Edward Hsu commit fbac58fcde6bbbd33c45870eb16f17795660093a Author: Francois Romieu Date: Thu Oct 4 22:51:38 2007 +0200 r8169: MSI support It is currently limited to the tested 0x8136 and 0x8168. 8169sb/8110sb ought to handle it as well where they support MSI. Signed-off-by: Francois Romieu Cc: Edward Hsu Tester-Cc: Rolf Eike Beer commit f23e7fdad166a4968f1f7f56964b75acfdcf57a4 Author: Francois Romieu Date: Thu Oct 4 22:36:14 2007 +0200 r8169: convert bitfield to plain enum mask Signed-off-by: Francois Romieu Cc: Edward Hsu commit 53edbecd589520833a89b57af1ee636fdc7544a5 Author: Joe Perches Date: Thu Oct 18 21:15:01 2007 +0200 r8169: KERN_XXX vs PFX (trivial) Wrong ordering in printk. Signed-off-by: Joe Perches Signed-off-by: Francois Romieu Cc: Edward Hsu commit 06fa73589f79e58e52e6a0329594fb42f8c6d277 Author: Joe Perches Date: Thu Oct 18 21:15:00 2007 +0200 r8169: add KERN_DEBUG to dprintk (trivial) - prefix dprintk with KERN_DEBUG - fix a bug with existing use of dprintk (PFX KERN_INFO PFX) Signed-off-by: Joe Perches Signed-off-by: Francois Romieu Cc: Edward Hsu commit 3ba72b25211217de195e3f528dd36132b38a205b Author: John W. Linville Date: Wed Oct 17 17:07:12 2007 -0400 [PATCH] zd1201: avoid null ptr access of skb->dev skb->dev is not set until eth_type_trans is called... Signed-off-by: John W. Linville commit 67a4cce4a89718d252b61aaf58882c69c0e2f6e3 Author: John W. Linville Date: Fri Oct 12 16:40:37 2007 -0400 [PATCH] mac80211: make ieee802_11_parse_elems return void Some APs send management frames with junk padding after the last IE. We already account for a similar problem with some Apple Airport devices, but at least one device is known to send more than a single extra byte. The device in question is the Draytek Vigor2900: http://www.draytek.com.au/products/Vigor2900.php The junk in question looks like an IE that runs off the end of the frame. This cause us to return ParseFailed. Since the frame in question is an association response, this causes us to fail to associate with this AP. The return code from ieee802_11_parse_elems is superfluous. All callers still check for the presence of the specific IEs that interest them anyway. So, remove the return code so the parse never "fails". Acked-by: Michael Wu Signed-off-by: John W. Linville commit 42f77542f4a1c104bb6fbba2e18e04e84415a96b Author: Ralf Baechle Date: Thu Oct 18 17:48:11 2007 +0100 [MIPS] time: Move R4000 clockevent device code to separate configurable file Signed-off-by: Ralf Baechle commit 2cfa7660dbf94a61b9d43edaa84be454f9dc25fc Author: Ralf Baechle Date: Thu Oct 18 16:00:19 2007 +0100 [MIPS] time: Delete dead cycles_per_jiffy, mips_timer_ack and null_timer_ack cycles_per_jiffy was only ever getting assigned and the function pointer not being called anymore and mips_timer_ack had gotten similarly stale. I leave the remaining assignments unfixed as a lighthouse pointing platform maintainers to what needs a rewrite. These changes make null_timer_ack() unreferenced, so delete that too. Signed-off-by: Ralf Baechle commit 76d3a7a54cbd40c979d9914f53066ff67f8463f5 Author: Ralf Baechle Date: Thu Oct 18 14:00:16 2007 +0100 [MIPS] IP32: Retire use of plat_timer_setup. Signed-off-by: Ralf Baechle commit 89742e5376adee9f26756f5d2573ae2b18fb2a96 Author: Ralf Baechle Date: Thu Oct 18 13:51:15 2007 +0100 [MIPS] Jazz: Retire use of plat_timer_setup. Signed-off-by: Ralf Baechle commit e887b24592c5ddf46d37e592b2ee6bd2188257e1 Author: Ralf Baechle Date: Thu Oct 18 13:34:12 2007 +0100 [MIPS] IP27: Convert to clock_event_device. This separates the tick timer stuff from the generic MIPS time.c. Signed-off-by: Ralf Baechle commit 832348ff0bf1538e026ff862f91ab6db06e73499 Author: Ralf Baechle Date: Thu Oct 18 01:10:12 2007 +0100 [MIPS] JMR3927: Convert to clock_event_device. This separate the tick timer stuff from the generic MIPS time.c. Signed-off-by: Ralf Baechle commit 15ad838d281b3681d96e37cba8a628177da8f4ff Author: Thomas Bogendoerfer Date: Thu Sep 13 20:23:48 2007 +0200 [MIPS] Always do the ARC64_TWIDDLE_PC thing. Always jump to the place where the kernel is linked to. This helps where the bootloaders/proms ignores the start address inside the ELF header. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 839041329fd3410e07d614f81e75bb43367d8f89 Author: Jack Morgenstein Date: Thu Oct 18 17:36:43 2007 +0200 IB/mlx4: Sanity check userspace send queue sizes Add sanity checks to send queue sizes passed in from userspace. The minimum sq stride value below is taken from the MT25408 PRM (section 11.10, Table 306, log_sq_stride definition). Without this check, userspace can submit arbitrarily large/small values for the number of WQEs and the stride, which can crash the kernel. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 6f67a00498abf8f0b29c2cecfce188c70be309d0 Author: bugme-daemon@bugzilla.kernel.org Date: Wed Aug 29 07:57:41 2007 -0700 kbuild: make deb-pkg - add 'Provides:' line http://bugzilla.kernel.org/show_bug.cgi?id=8941 Current Debian's kernel-modules depend on matching linux-image-$version, though Linux's make deb-pkg build a .deb that 'Provides: kernel-image-$version' only. The following patch adds the Debian-compliant 'Provides', leaving the default one; hopely this will make way all happy. Signed-off-by: paolo Signed-off-by: Sam Ravnborg commit 05dd7ed2c7e22d0fc3027fc27a072664bbdf8274 Author: Adrian Bunk Date: Thu Oct 18 12:51:05 2007 +0200 [SCSI] gdth: __init fixes This patch fixes the following build warnings: WARNING: vmlinux.o(.text+0xbcffdb): Section mismatch: reference to .init.text.20:gdth_search_drives (between 'gdth_pci_probe_one' and 'gdth_start_timeout') WARNING: vmlinux.o(.text+0xbd0102): Section mismatch: reference to .init.text.20:gdth_enable_int (between 'gdth_pci_probe_one' and 'gdth_start_timeout') Signed-off-by: Adrian Bunk Signed-off-by: James Bottomley commit 4135f9d28af912d541c0c32f1bc2ee6da23306eb Author: Adrian Bunk Date: Thu Oct 18 12:52:07 2007 +0200 [SCSI] aic7xxx_old: fix accidental logic reversal Commit bbfbbbc1182f8b44c8cc4c99f4a3f3a512149022 accidentally reversed the logic of this NULL check. Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: James Bottomley commit 52f095ee88d8851866bc7694ab991ca5abf21d5e Author: Pavel Emelyanov Date: Thu Oct 18 05:38:48 2007 -0700 [IPV6]: Fix again the fl6_sock_lookup() fixed locking YOSHIFUJI fairly pointed out, that the users increment should be done under the ip6_sk_fl_lock not to give IPV6_FL_A_PUT a chance to put this count to zero and release the flowlabel. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e9e40e143cf3eecc76b98f3e89db9d234e14b2be Author: Rob Landley Date: Mon Oct 15 19:23:12 2007 -0500 kconfig: comment typo in scripts/kconfig/Makefile. Typo in comment in scripts/kconfig/Makefile. Signed-off-by: Rob Landley Signed-off-by: Sam Ravnborg commit 875baf3cbc0f11009ef5ca33c78210d265c8d779 Author: Andrew Morton Date: Tue Oct 16 14:28:20 2007 -0700 [SCSI] qla2xxx: printk fixes drivers/scsi/qla2xxx/qla_sup.c: In function 'qla24xx_write_flash_data': drivers/scsi/qla2xxx/qla_sup.c:655: warning: format '%llx' expects type 'long long unsigned int', but argument 6 has type 'dma_addr_t' drivers/scsi/qla2xxx/qla_sup.c: In function 'qla25xx_read_optrom_data': drivers/scsi/qla2xxx/qla_sup.c:1853: warning: format '%llx' expects type 'long long unsigned int', but argument 6 has type 'dma_addr_t' Signed-off-by: Andrew Morton Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit ff86ba59fbf6f0fd56b367b99b66dc8fb8ad61e7 Author: Adrian Bunk Date: Thu Oct 18 12:52:37 2007 +0200 [SCSI] lpfc: lpfc_debugfs.c: fix typo This patch fixes a typo introduced by commit bbfbbbc1182f8b44c8cc4c99f4a3f3a512149022. It wasn't a compile error since CONFIG_LPFC_DEBUG_FS is not (yet?) available as an option. Signed-off-by: Adrian Bunk Signed-off-by: James Bottomley commit bc34b841556aad437baf4199744e55500bfa2088 Author: Jozsef Kadlecsik Date: Thu Oct 18 05:20:12 2007 -0700 [NETFILTER]: nf_conntrack_tcp: fix connection reopening fix If one side aborts an established connection, the entry still lingers for 10s in conntrack for the late packets. Allow to open up the connection again for the party which sent the RST packet. Signed-off-by: Jozsef Kadlecsik Tested-by: Krzysztof Piotr Oledzki Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 78c2e50253569e62caa4a61fc1cc5a0158edec43 Author: Pavel Emelyanov Date: Thu Oct 18 05:18:56 2007 -0700 [IPV6]: Fix race in ipv6_flowlabel_opt() when inserting two labels In the IPV6_FL_A_GET case the hash is checked for flowlabels with the given label. If it is not found, the lock, protecting the hash, is dropped to be re-get for writing. After this a newly allocated entry is inserted, but no checks are performed to catch a classical SMP race, when the conflicting label may be inserted on another cpu. Use the (currently unused) return value from fl_intern() to return the conflicting entry (if found) and re-check, whether we can reuse it (IPV6_FL_F_EXCL) or return -EEXISTS. Also add the comment, about why not re-lookup the current sock for conflicting flowlabel entry. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit bd0bf57700cb0eaa92f3d2ee040a69743cdd99d0 Author: Pavel Emelyanov Date: Thu Oct 18 05:15:57 2007 -0700 [IPV6]: Lost locking in fl6_sock_lookup This routine scans the ipv6_fl_list whose update is protected with the socket lock and the ip6_sk_fl_lock. Since the socket lock is not taken in the lookup, use the other one. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 04028045a12ba941c579d0f3238489333ac18ea4 Author: Pavel Emelyanov Date: Thu Oct 18 05:14:58 2007 -0700 [IPV6]: Lost locking when inserting a flowlabel in ipv6_fl_list The new flowlabels should be inserted into the sock list under the ip6_sk_fl_lock. This was lost in one place. This list is naturally protected with the socket lock, but the fl6_sock_lookup() is called without it, so another protection is required. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 009e8c965fd72a78636b9a96c7015109c5c70176 Author: Li Zefan Date: Thu Oct 18 05:12:21 2007 -0700 [NETFILTER]: xt_sctp: fix mistake to pass a pointer where array is required Macros like SCTP_CHUNKMAP_XXX(chukmap) require chukmap to be an array, but match_packet() passes a pointer to these macros. Also remove the ELEMCOUNT macro and fix a bug in SCTP_CHUNKMAP_COPY. Signed-off-by: Li Zefan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1b83336bb9fa4f110b5b0a4378a82cd5f0fd0ac8 Author: Patrick McHardy Date: Thu Oct 18 05:09:28 2007 -0700 [NET]: Fix OOPS due to missing check in dev_parse_header(). [ This is kernel bugzilla 9174 "linux-2.6.23-git11 kernel panic" ] The device in question is an IPv6-over-IPv4 tunnel, which doesn't have any header_ops, so the crash happens in dev_parse_header when dereferencing them. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit df2e014bfbbf26d160e1bf47b05fc05c96205e2b Author: Ilpo Järvinen Date: Thu Oct 18 05:07:57 2007 -0700 [TCP]: Remove lost_retrans zero seqno special cases Both high-sack detection and new lowest seq variables have unnecessary zero special case which are now removed by setting safe initial seqnos. This also fixes problem which caused zero received_upto being passed to tcp_mark_lost_retrans which confused after relations within the marker loop causing incorrect TCPCB_SACKED_RETRANS clearing. The problem was noticed because of a performance report from TAKANO Ryousei . Signed-off-by: Ilpo Järvinen Acked-by: Ryousei Takano Signed-off-by: David S. Miller commit bb13be5145e18cfb3a2f9cc6091aa048d032a3cd Author: Rob Landley Date: Tue Oct 9 01:25:18 2007 -0500 kbuild: stop docproc segfaulting when SRCTREE isn't set. Prevent docproc from segfaulting when SRCTREE isn't set. Signed-off-by: Rob Landley Acked-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 4b21960f90d4d011e49e386d0525b1e89f320658 Author: Trent Piepho Date: Thu Oct 11 16:40:10 2007 -0700 kbuild: modpost problem when symbols move from one module to another When part of build an external module tree, modpost first reads in the kernel's and then the external tree's Module.symvers files. From these files it establishes a symbol => module mapping. When it later reads in each module built and processes the symbols it finds, it discovers the symbol=>module mapping from Module.symvers and leaves it as it is. The problem comes with a module has been re-named or a symbol has moved from one module to another, since the Module.symvers file was generated. modpost does not update the symbol=>module mapping when it finds the new location of the symbol when scanning the newly built modules. This results in the module containing incorrect dependency information and the new Module.symvers file written by modpost will also contain the incorrect mappings, perpetuating the problem to the next build, and so on. When building the out of kernel development tree for kernel subsystem, like v4l-dvb or ALSA, deleting the external Module.symvers file before building (which the kernel build system doesn't do and shouldn't be necessary anyway), won't fix the problem. modpost still reads the kernel's Module.symvers, and since we a building a kernel subsystem, it will define the same symbols as the external modules. Signed-off-by: Trent Piepho Signed-off-by: Sam Ravnborg commit 37ab7a269637086d56940c31968f3fb3389b6d68 Author: Yinghai Lu Date: Wed Oct 17 16:43:39 2007 -0700 kbuild: cscope - filter out .tmp_* in find_sources remove .tmp_kallsyms*.S in cscope.files Signed-off-by: Yinghai Lu Signed-off-by: Sam Ravnborg commit 347d12d727d214f517921d579e1eded2dc082a10 Author: Sam Ravnborg Date: Thu Oct 18 13:23:33 2007 +0200 kbuild: mailing list has moved The old list at sourceforge had a few issues: - it was subscriber-only - it were relying on moderation And I could see several mails did not get to the list lately so I decided this was a good time for a new list. I already requested marc.info to archieve the new list - and I dunno where else the old list was archieved but we ought to update. I have no access to the list of subscribers on the old list so people will have to subscribe manually. How to subscribe: send a mail to: majordomo@vger.kernel.org containing following text: subscribe linux-kbuild See also http://vger.kernel.org/vger-lists.html Signed-off-by: Sam Ravnborg commit b7e04f8c61a46d742de23af5d7ca2b41b33e40ac Author: Wim Van Sebroeck Date: Fri Aug 17 08:38:02 2007 +0000 mv watchdog tree under drivers move watchdog tree from drivers/char/watchdog to drivers/watchdog. Signed-off-by: Wim Van Sebroeck commit 26f0324922e50e0ef7677aaf96287b862c2fec61 Author: Kyle McMartin Date: Thu Oct 18 00:04:06 2007 -0700 [PARISC] Quiet sysfs_create_link __must_check warnings in pdc_stable Failing to create the links doesn't seem like a fatal error in these paths. WARN_ON seems better than nothing though. Signed-off-by: Kyle McMartin commit 19c4d5664aaf9419dfe6b24990a93305fded6403 Author: Kyle McMartin Date: Thu Oct 18 00:04:03 2007 -0700 [PARISC] Squelch pci_enable_device __must_check warning in superio If we have a SuckyIO, and pci_enable_device fails, we'll be in a world of hurt anyways, so we might as well BUG_ON. Signed-off-by: Kyle McMartin commit 6cc4525d29e22ab831387b6fac371e0118693a25 Author: Kyle McMartin Date: Thu Oct 18 00:04:56 2007 -0700 [PARISC] Kill off broken irqstack code It's been unfinished and broken long enough, and I have some ideas on how to do it more cleanly. Signed-off-by: Kyle McMartin commit 873d50e2e56741406ff9d68c275f0c560e896a80 Author: Kyle McMartin Date: Thu Oct 18 00:04:53 2007 -0700 [PARISC] Remove hardcoded uses of PAGE_SIZE Signed-off-by: Kyle McMartin commit 6ebeafff6452d89b294ba9b7402529b981b9624c Author: Kyle McMartin Date: Thu Oct 18 00:04:50 2007 -0700 [PARISC] Clean up pointless ASM_PAGE_SIZE_DIV use Signed-off-by: Kyle McMartin commit 80af0876991093e9a607968cddbd64f1fbe613e7 Author: Kyle McMartin Date: Thu Oct 18 00:04:43 2007 -0700 [PARISC] Kill off the last vestiges of ASM_PAGE_SIZE Sam's previous patch missed a few uses of ASM_PAGE_SIZE. Signed-off-by: Kyle McMartin commit 1c593571093ae0f259d3bd7a66988a7a8eb5c7bc Author: Sam Ravnborg Date: Thu Oct 18 00:04:34 2007 -0700 [PARISC] Kill off ASM_PAGE_SIZE use We have the macro _AC() generally available now so the calculation of PAGE_SIZE can be made assembler compatible. Introduce use of _AC() and kill all users of ASM_PAGE_SIZE. Signed-off-by: Sam Ravnborg Signed-off-by: Kyle McMartin commit be1b3d8cb141c0705d61af2e2372d72ff16c7d04 Author: Sam Ravnborg Date: Thu Oct 18 00:04:25 2007 -0700 [PARISC] Beautify parisc vmlinux.lds.S Introduce a consistent layout of vmlinux. The same layout has been introduced for most architectures. And the same time move a few label definitions inside the curly brackets so they are assigned the correct starting address. Before a ld inserted alignment would have casued the label to pint before the actual start of the section. Signed-off-by: Sam Ravnborg Signed-off-by: Kyle McMartin commit e9a03990d90ac5006f37f3ff7a6b87966d208697 Author: Kyle McMartin Date: Thu Oct 18 00:04:00 2007 -0700 [PARISC] Clean up a resource_size_t warning in sba_iommu Signed-off-by: Kyle McMartin commit 7819994312fd4c3c04456abb6a64c810ecde3db4 Author: Kyle McMartin Date: Thu Oct 18 00:03:56 2007 -0700 [PARISC] Kill incorrect cast warning in unwinder Signed-off-by: Kyle McMartin commit f16484f0e3035ced5ba12363f3acf6564b3f8053 Author: Kyle McMartin Date: Thu Oct 18 00:03:53 2007 -0700 [PARISC] Kill zone_to_nid printk warning zone_to_nid returns int, always. Signed-off-by: Kyle McMartin commit f8b9e5945738d25c04d6735c2a070f574d2b34c5 Author: Kyle McMartin Date: Thu Oct 18 00:03:50 2007 -0700 [PARISC] Unbreak processor_probe when we have more than NR_CPUS If we already have NR_CPUS worth of cpus online, we obviously shouldn't be trying to bring up more... Fixes a particularly vexing issue I had when running another machines kernel on my rp3440. Signed-off-by: Kyle McMartin commit 730e844d57693f464c7f9954a0f7102414164c3f Author: Kyle McMartin Date: Thu Oct 18 00:03:45 2007 -0700 [PARISC] Kill pointless variable use in time.c Clean up a pointless use of a variable in update_cr16_clocksource. It just looks silly. Signed-off-by: Kyle McMartin commit efb80e7e097d0888e59fbbe4ded2ac5a256f556d Author: Kyle McMartin Date: Thu Oct 18 00:06:26 2007 -0700 [PARISC] import necessary bits of libgcc.a Currently we're hacking libs-y to include libgcc.a, but this has unforeseen consequences since the userspace libgcc is linked with fpregs enabled. We need the kernel to stop using fpregs in an uncontrolled manner to implement lazy fpu state saves. Signed-off-by: Kyle McMartin commit 6f7d998e94ec7b7f08bd0c72fc05343435d7fa93 Author: Christoph Lameter Date: Tue Oct 16 14:24:58 2007 -0700 [PARISC] Use page allocator instead of slab allocator in pci-dma.c Slab pages obtained via kmalloc are not cacheline aligned. Nor is it advisable to perform VM operations designed for page allocator pages on memory obtained via kmalloc. So replace the page sized allocations in kernel/pci-dma.c with page allocator pages. Signed-off-by: Christoph Lameter Cc: Hugh Dickins Cc: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Kyle McMartin commit f13cec8447f18cca3a0feb4b83b7ba6fae9e59ae Author: Adrian Bunk Date: Tue Oct 16 14:24:59 2007 -0700 [PARISC] parisc: "extern inline" -> "static inline" "extern inline" will have different semantics with gcc 4.3, and "static inline" is correct here. Signed-off-by: Adrian Bunk Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Kyle McMartin commit 0ed5462927211286502576142bd322d850b49a86 Author: Kyle McMartin Date: Thu Oct 18 00:06:18 2007 -0700 [PARISC] Update defconfigs Signed-off-by: Kyle McMartin commit 218c998caa4ec76a9da15f3946dbb2cc22564114 Author: Kyle McMartin Date: Thu Oct 18 00:03:34 2007 -0700 [PARISC] Clean up asm-parisc/pdc.h If we're going to export the header, at least let's organize it sensibly and not have a mishmash of userspace, assembly, and kernel visible defines. Signed-off-by: Kyle McMartin commit c75ac712df81bf0b9a561bd89f74282650440035 Author: Jeff Bailey Date: Fri Sep 28 14:22:19 2007 -0400 [PARISC] Export pdc.h for palo Signed-off-by: Jeff Bailey Signed-off-by: Kyle McMartin commit 2cfc5be7df26b6fbe9a293e2abf388a6e5b9a39e Author: Kyle McMartin Date: Fri Sep 28 13:25:59 2007 -0400 [PARISC] Wire up sys_fallocate (and compat_sys_fallocate) Signed-off-by: Kyle McMartin commit fc333b2df388d6e8791b3ee59c0679e4a131555a Author: Sam Ravnborg Date: Wed Oct 17 23:30:14 2007 +0200 kbuild: check asm symlink when building a kernel We often hit the situation where the asm symlink in include/ points to the wrong architecture. In 9 out of 10 cases thats because we forgot to set ARCH but sometimes we just reused the same tree for another ARCH. For the merged x86 tree we need to create a new symlink but this is not obvious. So with the following patch we check if the symlink points to the correct architecture and error out if this is not the case. Signed-off-by: Sam Ravnborg commit bfaae0f04c68bafc12ec50c6922d71a90deea3e2 Author: Jeff Garzik Date: Wed Oct 17 23:26:43 2007 -0700 [NET]: fix carrier-on bug? While looking at a net driver with the following construct, if (!netif_carrier_ok(dev)) netif_carrier_on(dev); it stuck me that the netif_carrier_ok() check was redundant, since netif_carrier_on() checks bit __LINK_STATE_NOCARRIER anyway. This is the same reason why netif_queue_stopped() need not be called prior to netif_wake_queue(). This is true, but there is however an unwanted side effect from assuming that netif_carrier_on() can be called multiple times: it touches the watchdog, regardless of pre-existing carrier state. The fix: move watchdog-up inside the bit-cleared code path. Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit fd312561adcc90e924f35d3032d5493aeb4c3017 Author: Roland Dreier Date: Wed Oct 17 21:54:44 2007 -0700 IPoIB: Rewrite "if (!likely(...))" as "if (unlikely(!(...)))" It's too hard to figure out what "!likely(...)" really means, and who knows how compilers interpret the hint. Signed-off-by: Roland Dreier commit 8da9ee9c1ec9036d8fad82f6ddbc4d15143cc6ca Author: Joachim Fenkes Date: Tue Oct 16 17:31:59 2007 +0200 IB/ehca: Enable large page MRs by default Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit abc39d3672d8af4bf6c943faf85fa8877caccf7e Author: Joachim Fenkes Date: Tue Oct 16 17:31:14 2007 +0200 IB/ehca: Change meaning of hca_cap_mr_pgsize ehca_shca.hca_cap_mr_pgsize now contains all supported page sizes ORed together. This makes some checks easier to code and understand, plus we can return this value verbatim in query_hca(), fixing a problem with SRP (reported by Anton Blanchard -- thanks!). Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 8c08d50d4fc52a9367c356ebbeb194c30fbc7ac8 Author: Joachim Fenkes Date: Tue Oct 16 17:26:54 2007 +0200 IB/ehca: Fix ehca_encode_hwpage_size() and alloc_fmr() Simplify ehca_encode_hwpage_size(), fixing an infinite loop for pgsize == 0 in the process. Fix the bug in alloc_fmr() that triggered the loop. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 9511724da9c090da5a6dcf6c557b1cedc4f5cfd7 Author: Joachim Fenkes Date: Tue Oct 16 17:25:50 2007 +0200 IB/ehca: Fix masking error in {,re}reg_phys_mr() Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit c0c84d566ddc8dbdd3ceab23865a688c36217338 Author: Joachim Fenkes Date: Tue Oct 16 17:24:07 2007 +0200 IB/ehca: Supply QP token for SRQ base QPs Because hardware reports the SRQ token in RWQEs of SRQ base QPs, supply the base QP token as SRQ token, so we can properly find the SRQ base QP. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 45542479fb261342d5244869cf3ca4636b7ffd43 Author: David Howells Date: Wed Oct 17 21:37:22 2007 -0700 [NET]: Fix uninitialised variable in ip_frag_reasm() Fix uninitialised variable in ip_frag_reasm(). err should be set to -ENOMEM if the initial call of skb_clone() fails. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 13996378e6585fb25e582afe7489bf52dde78deb Author: Herbert Xu Date: Wed Oct 17 21:35:51 2007 -0700 [IPSEC]: Rename mode to outer_mode and add inner_mode This patch adds a new field to xfrm states called inner_mode. The existing mode object is renamed to outer_mode. This is the first part of an attempt to fix inter-family transforms. As it is we always use the outer family when determining which mode to use. As a result we may end up shoving IPv4 packets into netfilter6 and vice versa. What we really want is to use the inner family for the first part of outbound processing and the outer family for the second part. For inbound processing we'd use the opposite pairing. I've also added a check to prevent silly combinations such as transport mode with inter-family transforms. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ca68145f16359f71cd62b2671aa3e8c58f45ef19 Author: Herbert Xu Date: Wed Oct 17 21:35:15 2007 -0700 [IPSEC]: Disallow combinations of RO and AH/ESP/IPCOMP Combining RO and AH/ESP/IPCOMP does not make sense. So this patch adds a check in the state initialisation function to prevent this. This allows us to safely remove the mode input function of RO since it can never be called anymore. Indeed, if somehow it does get called we'll know about it through an OOPS instead of it slipping past silently. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ed3e37ddb0b422120d3d2d5da718c44c40af30ba Author: Herbert Xu Date: Wed Oct 17 21:34:46 2007 -0700 [IPSEC]: Use the top IPv4 route's peer instead of the bottom For IPv4 we were using the bottom route's peer instead of the top one. This is wrong because the peer is only used by TCP to keep track of information about the TCP destination address which certainly does not live in the bottom route. This patch fixes that which allows us to get rid of the family check since the bottom route could be IPv6 while the top one must always be IPv4. I've also changed the other fields which are IPv4-specific to get the info from the top route instead of potentially bogus data from the bottom route. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 17c2a42a24e1e8dd6aa7cea4f84e034ab1bfff31 Author: Herbert Xu Date: Wed Oct 17 21:33:12 2007 -0700 [IPSEC]: Store afinfo pointer in xfrm_mode It is convenient to have a pointer from xfrm_state to address-specific functions such as the output function for a family. Currently the address-specific policy code calls out to the xfrm state code to get those pointers when we could get it in an easier way via the state itself. This patch adds an xfrm_state_afinfo to xfrm_mode (since they're address-specific) and changes the policy code to use it. I've also added an owner field to do reference counting on the module providing the afinfo even though it isn't strictly necessary today since IPv6 can't be unloaded yet. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1bfcb10f670f5ff5e1d9f53e59680573524cb142 Author: Herbert Xu Date: Wed Oct 17 21:31:50 2007 -0700 [IPSEC]: Add missing BEET checks Currently BEET mode does not reinject the packet back into the stack like tunnel mode does. Since BEET should behave just like tunnel mode this is incorrect. This patch fixes this by introducing a flags field to xfrm_mode that tells the IPsec code whether it should terminate and reinject the packet back into the stack. It then sets the flag for BEET and tunnel mode. I've also added a number of missing BEET checks elsewhere where we check whether a given mode is a tunnel or not. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit aa5d62cc8777f733f8b59b5586c0a1989813189e Author: Herbert Xu Date: Wed Oct 17 21:31:12 2007 -0700 [IPSEC]: Move type and mode map into xfrm_state.c The type and mode maps are only used by SAs, not policies. So it makes sense to move them from xfrm_policy.c into xfrm_state.c. This also allows us to mark xfrm_get_type/xfrm_put_type/xfrm_get_mode/xfrm_put_mode as static. The only other change I've made in the move is to get rid of the casts on the request_module call for types. They're unnecessary because C will promote them to ints anyway. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 440725000cba0b1a68ca2df20124be3a5b7f7702 Author: Herbert Xu Date: Wed Oct 17 21:30:34 2007 -0700 [IPSEC]: Fix length check in xfrm_parse_spi Currently xfrm_parse_spi requires there to be 16 bytes for AH and ESP. In contrived cases there may not actually be 16 bytes there since the respective header sizes are less than that (8 and 12 currently). This patch changes the test to use the actual header length instead of 16. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7aa68cb90638ccc36559a936814e4c089892b3d9 Author: Herbert Xu Date: Wed Oct 17 21:30:07 2007 -0700 [IPSEC]: Move ip_summed zapping out of xfrm6_rcv_spi Not every transform needs to zap ip_summed. For example, a pure tunnel mode encapsulation does not affect the hardware checksum at all. In fact, every algorithm (that needs this) other than AH6 already does its own ip_summed zapping. This patch moves the zapping into AH6 which is in line with what IPv4 does. Possible future optimisation: Checksum the data as we copy them in IPComp. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 33b5ecb8f64706d1ed472dcb44162ab3a7345724 Author: Herbert Xu Date: Wed Oct 17 21:29:25 2007 -0700 [IPSEC]: Get nexthdr from caller in xfrm6_rcv_spi Currently xfrm6_rcv_spi gets the nexthdr value itself from the packet. This means that we need to fix up the value in case we have a 4-on-6 tunnel. Moving this logic into the caller simplifies things and allows us to merge the code with IPv4. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c4541b41c0e4b75b11125fed16db642fc03cb31c Author: Herbert Xu Date: Wed Oct 17 21:28:53 2007 -0700 [IPSEC]: Move tunnel parsing for IPv4 out of xfrm4_input This patch moves the tunnel parsing for IPv4 out of xfrm4_input and into xfrm4_tunnel. This change is in line with what IPv6 does and will allow us to merge the two input functions. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 04663d0b8b3c8ce3804106279420cfe5bdfcce3c Author: Herbert Xu Date: Wed Oct 17 21:28:06 2007 -0700 [IPSEC]: Fix pure tunnel modes involving IPv6 I noticed that my recent patch broke 6-on-4 pure IPsec tunnels (the ones that are only used for incompressible IPsec packets). Subsequent reviews show that I broke 6-on-6 pure tunnels more than three years ago and nobody ever noticed. I suppose every must be testing 6-on-6 IPComp with large pings which are very compressible :) This patch fixes both cases. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit aaf70ec7fde2321281b2a49c7c9f881c90d0d208 Author: Pavel Emelyanov Date: Wed Oct 17 21:25:32 2007 -0700 [IPV6]: Cleanup snmp6_alloc_dev() This functions is never called with NULL or not setup argument, so the checks inside are redundant. Also, the return value is always -ENOMEM, so no need in additional variable for this. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 16910b9829797cda4032fbc84e5292ac7b4474f7 Author: Pavel Emelyanov Date: Wed Oct 17 21:23:43 2007 -0700 [IPV6]: Fix return type for snmp6_free_dev() This call is essentially void. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 47e958eac280c263397582d5581e868c3227a1bd Author: Pavel Emelyanov Date: Wed Oct 17 21:22:42 2007 -0700 [NET]: Fix the race between sk_filter_(de|at)tach and sk_clone() The proposed fix is to delay the reference counter decrement until the quiescent state pass. This will give sk_clone() a chance to get the reference on the cloned filter. Regular sk_filter_uncharge can happen from the sk_free() only and there's no need in delaying the put - the socket is dead anyway and is to be release itself. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit d3904b739928edd83d117f1eb5bfa69f18d6f046 Author: Pavel Emelyanov Date: Wed Oct 17 21:22:17 2007 -0700 [NET]: Cleanup the error path in sk_attach_filter The sk_filter_uncharge is called for error handling and for releasing the former filter, but this will have to be done in a bit different manner, so cleanup the error path a bit. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 309dd5fc872448e35634d510049642312ebc170d Author: Pavel Emelyanov Date: Wed Oct 17 21:21:51 2007 -0700 [NET]: Move the filter releasing into a separate call This is done merely as a preparation for the fix. The sk_filter_uncharge() unaccounts the filter memory and calls the sk_filter_release(), which in turn decrements the refcount anf frees the filter. The latter function will be required separately. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 55b333253d5bcafbe187b50474e40789301c53c6 Author: Pavel Emelyanov Date: Wed Oct 17 21:21:26 2007 -0700 [NET]: Introduce the sk_detach_filter() call Filter is attached in a separate function, so do the same for filter detaching. This also removes one variable sock_setsockopt(). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 5c45708352a040f19caceb683c78bc86aad466f6 Author: Stephen Rothwell Date: Wed Oct 17 21:17:42 2007 -0700 [SPARC/64]: Consolidate of_register_driver Also of_unregister_driver. These will be shortly also used by the PowerPC code. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit d114f399b4da6fa7f9da3bbf1fb841370c11e788 Author: John W. Linville Date: Wed Oct 17 21:16:16 2007 -0700 [MAC80211]: only honor IW_SCAN_THIS_ESSID in STA, IBSS, and AP modes The previous IW_SCAN_THIS_ESSID patch left a hole allowing scan requests on interfaces in inappropriate modes. Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit abb63d6c3d3d0e4d93b63589135962091154be9b Author: Steve French Date: Thu Oct 18 02:58:40 2007 +0000 [CIFS] Return better error when server requires signing but client forbids Signed-off-by: Steve French commit c95477090a2ace6d241c184adc3fbfcab9c61ceb Author: Pavel Emelyanov Date: Wed Oct 17 19:48:26 2007 -0700 [INET]: Consolidate frag queues freeing Since we now allocate the queues in inet_fragment.c, we can safely free it in the same place. The ->destructor callback thus becomes optional for inet_frags. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 48d60056387c37a17a46feda48613587a90535e5 Author: Pavel Emelyanov Date: Wed Oct 17 19:47:56 2007 -0700 [INET]: Remove no longer needed ->equal callback Since this callback is used to check for conflicts in hashtable when inserting a newly created frag queue, we can do the same by checking for matching the queue with the argument, used to create one. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit abd6523d15f40bfee14652619a31a7f65f77f581 Author: Pavel Emelyanov Date: Wed Oct 17 19:47:21 2007 -0700 [INET]: Consolidate xxx_find() in fragment management Here we need another callback ->match to check whether the entry found in hash matches the key passed. The key used is the same as the creation argument for inet_frag_create. Yet again, this ->match is the same for netfilter and ipv6. Running a frew steps forward - this callback will later replace the ->equal one. Since the inet_frag_find() uses the already consolidated inet_frag_create() remove the xxx_frag_create from protocol codes. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit c6fda282294da882f8d8cc4c513940277dd380f5 Author: Pavel Emelyanov Date: Wed Oct 17 19:46:47 2007 -0700 [INET]: Consolidate xxx_frag_create() This one uses the xxx_frag_intern() and xxx_frag_alloc() routines, which are already consolidated, so remove them from protocol code (as promised). The ->constructor callback is used to init the rest of the frag queue and it is the same for netfilter and ipv6. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e521db9d790aaa60ae8920e21cb7faedc280fc36 Author: Pavel Emelyanov Date: Wed Oct 17 19:45:23 2007 -0700 [INET]: Consolidate xxx_frag_alloc() Just perform the kzalloc() allocation and setup common fields in the inet_frag_queue(). Then return the result to the caller to initialize the rest. The inet_frag_alloc() may return NULL, so check the return value before doing the container_of(). This looks ugly, but the xxx_frag_alloc() will be removed soon. The xxx_expire() timer callbacks are patches, because the argument is now the inet_frag_queue, not the protocol specific queue. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 2588fe1d782f1686847493ad643157d5d10bf602 Author: Pavel Emelyanov Date: Wed Oct 17 19:44:34 2007 -0700 [INET]: Consolidate xxx_frag_intern This routine checks for the existence of a given entry in the hash table and inserts the new one if needed. The ->equal callback is used to compare two frag_queue-s together, but this one is temporary and will be removed later. The netfilter code and the ipv6 one use the same routine to compare frags. The inet_frag_intern() always returns non-NULL pointer, so convert the inet_frag_queue into protocol specific one (with the container_of) without any checks. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit fd9e63544cac30a34c951f0ec958038f0529e244 Author: Pavel Emelyanov Date: Wed Oct 17 19:43:37 2007 -0700 [INET]: Omit double hash calculations in xxx_frag_intern Since the hash value is already calculated in xxx_find, we can simply use it later. This is already done in netfilter code, so make the same in ipv4 and ipv6. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7b96dc023a1b487bce59256fde14b8bb28b45aea Author: Matthias Kaehlcke Date: Wed Oct 17 19:40:31 2007 -0700 [SPARC] Videopix Frame Grabber: Convert device_lock_sem to mutex Videopix Frame Grabber: Convert the semaphore device_lock_sem to the mutex API Signed-off-by: Matthias Kaehlcke Signed-off-by: David S. Miller commit be07664599fa94d0b85c3e0f525aee2432d15fbf Author: Stephen Hemminger Date: Wed Oct 17 19:39:22 2007 -0700 [BR2684]: get rid of broken header code. Recent header_ops change would break the following dead code in br2684. Maintaining conditonal code in mainline is wrong. "Do, or do not. There is no 'try.'" Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6050afbbb01d1f5a867f7839be6460bac801f5bc Author: David Miller Date: Wed Oct 17 19:38:10 2007 -0700 [SPARC]: Support for new termios. [akpm@linux-foundation.org: coding-style tweaks] Signed-off-by: David Miller Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit be8ad5a409ecdbc80d4087eb76746ba15c3a92e2 Author: Jeff Dike Date: Wed Oct 17 19:35:04 2007 -0700 [UMP]: header_ops conversion needed for non-ethernet drivers UML's two non-ethernet drivers need some header_ops conversion. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit c310f099be953a20b5fabed341ad085f444cf2bd Author: Ryan Reading Date: Wed Oct 17 19:34:11 2007 -0700 [IRDA]: IrCOMM discovery indication simplification From: Ryan Reading Every IrCOMM socket is registered with the discovery subsystem, so we don't need to loop over all of them for every discovery event. We just need to do it for the registered IrCOMM socket. Signed-off-by: Samuel Ortiz Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit bd5435e76a226b7151ae5aaee2cd366ab003dd2e Author: Ingo Molnar Date: Wed Oct 17 19:33:06 2007 -0700 [DCCP]: fix link error with !CONFIG_SYSCTL Do not define the sysctl_dccp_sync_ratelimit sysctl variable in the CONFIG_SYSCTL dependent sysctl.c module - move it to input.c instead. This fixes the following build bug: net/built-in.o: In function `dccp_check_seqno': input.c:(.text+0xbd859): undefined reference to `sysctl_dccp_sync_ratelimit' distcc[29953] ERROR: compile (null) on localhost failed make: *** [vmlinux] Error 1 Found via 'make randconfig' build testing. Signed-off-by: Ingo Molnar Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit dc8a82ad285dcd2831feb2fd8f7b41ce1f82e243 Author: Pavel Emelyanov Date: Wed Oct 17 19:30:40 2007 -0700 [IPV6]: Fix memory leak in cleanup_ipv6_mibs() The icmpv6msg mib statistics is not freed. This is almost not critical for current kernel, since ipv6 module is unloadable, but this can happen on load error and will happen every time we stop the network namespace (when we have one, of course). Signed-off-by: Pavel Emelyanov Acked-by: David L Stevens Signed-off-by: David S. Miller commit 0c2bef49764d0a5a404ae0bd65217f7dadbd1821 Author: Michael Chan Date: Wed Oct 17 19:26:28 2007 -0700 [BNX2]: Update version to 1.6.8. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 239cd34327d12e84f5528caa7b11c9e651372c39 Author: Michael Chan Date: Wed Oct 17 19:26:15 2007 -0700 [BNX2]: Fix Serdes WoL bug. The bug is in the code in bnx2_set_power_state() that assumes copper devices when setting up WoL. This is no longer true after adding WoL support for Serdes devices. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 8499fb594ad34ccde38058d7c3ae8093058b346a Author: Michael Chan Date: Wed Oct 17 19:25:27 2007 -0700 [BNX2]: Update 5709 firmware to 3.7.1. This firmware update fixes a problem running with IPMI management firmware. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit e9e42faf47255274a1ed0b9bf1c46118023ec5fa Author: Alan Cox Date: Mon Oct 15 20:51:32 2007 +0100 [SCSI] initio: Fix merge fallout Fix IRQ reporting - just assign the ->pci_dev pointer earlier and use the pci_dev irq field rather than keeping a private one Init the spinlock as it works better on SMP that way Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit 0fec02c93f60fb44ba3a24a0d3e4a52521d34d3f Author: HighPoint Linux Team Date: Mon Oct 15 14:42:52 2007 +0800 [SCSI] hptiop: avoid buffer overflow when returning sense data The newer firmware may return more than 96 bytes of sense data when it does autosense. Truncate this to the size of the SCSI layer sense buffer to avoid an overrun. Signed-off-by: HighPoint Linux Team Signed-off-by: James Bottomley commit 7a39ac3f25bef018862a991d754aff681c019127 Author: James Bottomley Date: Tue Sep 25 22:45:53 2007 -0500 [SCSI] make supported_mode default to initiator. if shost->supported mode is zero (i.e. MODE_UNKNOWN) show it as initiator (it's obviously an unconverted driver that won't do target). Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 645a0c6c48e0122f4212e3957e73bddc18788d99 Author: James Bottomley Date: Mon Oct 15 21:07:17 2007 -0400 [SCSI] include linux/scatterlist.h in scsi_eh.h Spotted by Paul Jackson The error handler rework moved the scatterlist into a globally exposed structure in scsi_eh.h; unfortunately, the scatterlist include needs to move from scsi_error.c to scsi_eh.h to allow this to compile universally. Acked-by: Paul Jackson Signed-off-by: James Bottomley commit 1ecd3902c6e16c2445165b872c49e73770b72da7 Author: Matthew Wilcox Date: Mon Oct 15 23:05:07 2007 -0600 [SCSI] fc4: remove this and all associated drivers This code has been slowly rotting for about eight years. It's currently impeding a few SCSI cleanups, and nobody seems to have hardware to test it any more. I talked to Dave Miller about it, and he agrees we can delete it. If anyone wants a software FC stack in future, they can retrieve this driver from git. Signed-off-by: Matthew Wilcox Acked-by: David S. Miller Signed-off-by: James Bottomley commit 858c9c406688bc7244986b5836265071edfd1d3f Author: Sonic Zhang Date: Tue Oct 16 16:43:27 2007 +0800 Update libata driver for bf548 atapi controller against the 2.6.24 tree. Changes: 1. Remove irq_ack() and port_disable() methods 2. Acocomodate for the libata-link patches 3. Change Kconfig ATAPI mode option into a module param. 4. Add supported WMDMA mode. Signed-off-by: Sonic Zhang Signed-off-by: Jeff Garzik commit 01839f6ddef011878e905d72786d95cee21ca039 Author: Alan Cox Date: Mon Oct 15 19:25:29 2007 +0100 libata-sff: Correct use of check_status() ata_check_status() does an SFF compliant check ata_chk_status() does a generic call to ap->ops->check_status (usually ata_check_status) libata-sff uses the wrong one. Hardly suprising given the naming here, which ought to get fixed to ata_sff_check_status() perhaps ? Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit faf0b2e5afe7dae072d2715763c7f992b612b628 Author: Li Yang Date: Tue Oct 16 20:58:38 2007 +0800 drivers/ata: add support to Freescale 3.0Gbps SATA Controller This patch adds support for Freescale 3.0Gbps SATA Controller supporting Native Command Queueing(NCQ), device hotplug, and ATAPI. This controller can be found on MPC8315 and MPC8378. Signed-off-by: Ashish Kalra Signed-off-by: Li Yang Signed-off-by: Jeff Garzik commit 8e2840e06d7da7ae17b1fbc416155a40b22e00ad Author: Tejun Heo Date: Wed Oct 17 15:24:16 2007 +0900 pata_acpi: fix build breakage if !CONFIG_PM There are configurations where CONFIG_ACPI but !CONFIG_PM. In this case, pata_acpi can be selected but won't build. Fix it. Reported by Avuton Olrich. Signed-off-by: Tejun Heo Cc: Avuton Olrich Signed-off-by: Jeff Garzik commit 4f1e5ba0977570b7a198bb3ac110ccc5f532821b Author: Don Fry Date: Wed Oct 17 17:06:19 2007 -0700 pcnet32: remove private net_device_stats structure Remove the statistics from the private structure. Use the net_device_stats in netn_device structure. Following Jeff Garzik's massive cleanup Sep 01. pcnet32 was not "low-hanging fruit". Tested x86_64. Signed-off-by: Don Fry Signed-off-by: Jeff Garzik commit 0280f9f90b4c53e23f8ca98e581eb02f1a598a1a Author: Badari Pulavarty Date: Wed Oct 17 16:15:56 2007 -0700 vortex_up should initialize "err" Simple compile warning fix. (against 2.6.23-git12) Thanks, Badari vortex_up() should initialize 'err' for a successful return. drivers/net/3c59x.c: In function `vortex_up': drivers/net/3c59x.c:1494: warning: `err' might be used uninitialized in this function Signed-off-by: Badari Pulavarty Signed-off-by: Jeff Garzik commit 6ad6c75626cf8b69cd28ae0a81227503a7c3966e Author: Don Fry Date: Wed Oct 17 16:10:10 2007 -0700 pcnet32: remove compile warnings in non-napi mode Remove compile warning when in non-napi mode. Signed-off-by: Don Fry Signed-off-by: Jeff Garzik commit feff348fc0fe06870a8ec05e78af8ed5cc4c2bdf Author: Don Fry Date: Wed Oct 17 15:59:22 2007 -0700 pcnet32: fix non-napi packet reception Recent changes to the driver for the new napi API broke the reception of packets when in non-napi mode. The initialization of napi.weight was removed for the non-napi case leaving the value zero. Tested NAPI and non-NAPI on x86_64. Signed-off-by: Don Fry Signed-off-by: Jeff Garzik commit e30d42273bfa907dc06920c53fa3f303783e1e97 Author: Benjamin Herrenschmidt Date: Thu Oct 18 09:14:03 2007 +1000 fix EMAC driver for proper napi_synchronize API The EMAC driver "fix" was merged by mistake before the dust had settled on the new napi synchronize interface (and before it got merged). The final version of that function is spelled without underscores. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit 6de16237c78a9df6c7cb2d1b3bbd788322ecb344 Author: Stephen Hemminger Date: Wed Oct 17 13:26:42 2007 -0700 sky2: shutdown cleanup Solve issues with dual port devices due to shared NAPI. * shutting down one device shouldn't kill other one. * suspend shouldn't hang. Also fix potential race between restart and shutdown. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit c264c3dee9f20bad1f42ef5821300791291d0f77 Author: Stephen Hemminger Date: Wed Oct 17 13:26:41 2007 -0700 napi_synchronize: waiting for NAPI Some drivers with shared NAPI need a synchronization barrier. Also suggested by Benjamin Herrenschmidt for EMAC. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit a7475906bc496456ded9e4b062f94067fb93057a Author: Manfred Spraul Date: Wed Oct 17 21:52:33 2007 +0200 forcedeth msi bugfix pci_enable_msi() replaces the INTx irq number in pci_dev->irq with the new MSI irq number. The forcedeth driver did not update the copy in netdevice->irq and parts of the driver used the stale copy. See bugzilla.kernel.org, bug 9047. The patch - updates netdevice->irq - replaces all accesses to netdevice->irq with pci_dev->irq. The patch is against 2.6.23.1. IMHO suitable for both 2.6.23 and 2.6.24 Signed-Off-By: Manfred Spraul Signed-off-by: Jeff Garzik commit db0e8e3f71dbd9a67e44eaa01d10e468d11fa73e Author: Anton Vorontsov Date: Wed Oct 17 23:57:46 2007 +0400 gianfar: fix obviously wrong #ifdef CONFIG_GFAR_NAPI placement Erroneous #ifdef introduced by 293c8513398657f6263fcdb03c87f2760cf61be4 causing NAPI-less ethernet malfunctioning. Signed-off-by: Anton Vorontsov Signed-off-by: Vitaly Bordug Signed-off-by: Jeff Garzik commit f860f49ee2e59d1a665416c9155cad7661ee0552 Author: Scott Wood Date: Wed Oct 17 12:42:43 2007 -0500 fs_enet: Update for API changes This driver was recently broken by several changes for which this driver was not (or was improperly) updated: 1. SET_MODULE_OWNER() was removed. 2. netif_napi_add() was only being called when building with the old CPM binding. 3. The received/budget test was backwards. 4. to_net_dev() was wrong -- the device struct embedded in the net_device struct is not the same as the of_platform device in the private struct. 5. napi_disable/napi_enable was being called even when napi was not being used. These changes have been fixed, and napi is now on by default. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 6880e7cb35bfde5c8ef65cc846e0df54808f982f Author: Sebastian Siewior Date: Wed Oct 17 10:52:22 2007 +0200 gianfar: remove orphan struct. struct net_device_stats is no longer used in driver's private struct but in struct net_device. Cc: Li Yang Signed-off-by: Sebastian Siewior Signed-off-by: Jeff Garzik commit c1b7151a5ef4f35fb116d1a2689c5280938b0e8d Author: Ingo Molnar Date: Wed Oct 17 12:18:23 2007 +0200 forcedeth: fix rx-work condition in nv_rx_process_optimized() too The merge of my previous fix to forcedeth.c, bcb5febb248f7cc1e4a39ff61507f6343ba1c594, lost an important hunk. We need to fix nv_rx_process_optimized() too, as it contains duplicate logic. Signed-off-by: Ingo Molnar Signed-off-by: Jeff Garzik commit 4209ab098c61b1a9684bb4d3fc287352fc2438c3 Author: David S. Miller Date: Mon Oct 15 20:45:32 2007 -0700 [SPARC64]: Check of_get_property() return in pci_determine_mem_io_space(). If the PCI controller lacks the 'ranges' property nothing is going to work. Noticed by Al Viro. Signed-off-by: David S. Miller commit 719023fb90009855c4515a16349fc6d0a2f93a74 Author: David S. Miller Date: Mon Oct 15 16:43:19 2007 -0700 [SPARC64]: Fix boot failures due to bootmem. Do not use *alloc_bootmem_low*(), because ARCH_LOW_ADDRESS_LIMIT is 4GB and this results in boot failures if all of the physical memory in the machine is above 4GB. Signed-off-by: David S. Miller commit 24f287e412ae90de8d281543c8b1043b6ed6c019 Author: David S. Miller Date: Mon Oct 15 16:41:44 2007 -0700 [SPARC64]: Implement atomic backoff. When the cpu count is high and contention hits an atomic object, the processors can synchronize such that some cpus continually get knocked out and cannot complete the atomic update. So implement an exponential backoff when SMP. Signed-off-by: David S. Miller commit d628ddb62d3050e8e474aa3566bc6bafbe4b9c26 Author: Steve French Date: Wed Oct 17 23:06:07 2007 +0000 [CIFS] fix typo Signed-off-by: Steve French commit a750e77c21d75abd26fbbde2e104fd406566b6e5 Author: Steve French Date: Wed Oct 17 22:50:39 2007 +0000 [CIFS] acl support part 4 Signed-off-by: Steve French commit 149041070deb2e83cd36dc60bc72975b3cbf5bbe Author: Eric Sandeen Date: Tue Oct 16 18:38:25 2007 -0400 ext4: lighten up resize transaction requirements When resizing online, setup_new_group_blocks attempts to reserve a potentially very large transaction, depending on the current filesystem geometry. For some journal sizes, there may not be enough room for this transaction, and the online resize will fail. The patch below resizes & restarts the transaction as necessary while setting up the new group, and should work with even the smallest journal. Tested with something like: [root@newbox ~]# dd if=/dev/zero of=fsfile bs=1024 count=32768 [root@newbox ~]# mkfs.ext3 -b 1024 fsfile 16384 [root@newbox ~]# mount -o loop fsfile mnt/ [root@newbox ~]# resize2fs /dev/loop0 resize2fs 1.40.2 (12-Jul-2007) Filesystem at /dev/loop0 is mounted on /root/mnt; on-line resizing required old desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/loop0 to 32768 (1k) blocks. resize2fs: No space left on device While trying to add group #2 [root@newbox ~]# dmesg | tail -n 1 JBD: resize2fs wants too many credits (258 > 256) [root@newbox ~]# With the below change, it works. Signed-off-by: Eric Sandeen Signed-off-by: Mingming Cao Acked-by: Andreas Dilger commit 5b615287b37c32dc0c9dbeab13b19ac87828a5f7 Author: Eric Sandeen Date: Tue Oct 16 18:38:25 2007 -0400 ext4: fix setup_new_group_blocks locking setup_new_group_blocks() manipulates the group descriptor block bh under the block_bitmap bh's lock. It shouldn't matter since nobody but resize should be touching these blocks, but it's worth fixing up. Signed-off-by: Eric Sandeen Signed-off-by: Mingming Cao commit ac39849ddc19c0bbb39068497139ac45bccd4321 Author: Aneesh Kumar K.V Date: Tue Oct 16 18:38:25 2007 -0400 ext4: sparse fixes Signed-off-by: Aneesh Kumar K.V commit d8dd0b45438d62fc4a93d8e3cee9985710d01e40 Author: Aneesh Kumar K.V Date: Tue Oct 16 18:38:25 2007 -0400 ext4: Convert ext4_extent_idx.ei_leaf to ext4_extent_idx.ei_leaf_lo Convert ext4_extent_idx.ei_leaf ext4_extent_idx.ei_leaf_lo This helps in finding BUGs due to direct partial access of these split 48 bit values. Signed-off-by: Aneesh Kumar K.V commit b377611d11aba5251264b487dd4485ddb80260f1 Author: Aneesh Kumar K.V Date: Tue Oct 16 18:38:25 2007 -0400 ext4: Convert ext4_extent.ee_start to ext4_extent.ee_start_lo Convert ext4_extent.ee_start to ext4_extent.ee_start_lo This helps in finding BUGs due to direct partial access of these split 48 bit values Also fix direct partial access in ext4 code Signed-off-by: Aneesh Kumar K.V commit 308ba3ece7db82e8b8d32d6962e4d12e09c5aa41 Author: Aneesh Kumar K.V Date: Tue Oct 16 18:38:25 2007 -0400 ext4: Convert s_r_blocks_count and s_free_blocks_count Convert s_r_blocks_count and s_free_blocks_count to s_r_blocks_count_lo and s_free_blocks_count_lo This helps in finding BUGs due to direct partial access of these split 64 bit values Also fix direct partial access in ext4 code Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 6bc9feff14a2524c4bb2bac533dfd874b1533e20 Author: Aneesh Kumar K.V Date: Tue Oct 16 18:38:25 2007 -0400 ext4: Convert s_blocks_count to s_blocks_count_lo Convert s_blocks_count to s_blocks_count_lo This helps in finding BUGs due to direct partial access of these split 64 bit values Also fix direct partial access in ext4 code Signed-off-by: Aneesh Kumar K.V commit 5272f8372786a181313c00c7a67304ac6def2e34 Author: Aneesh Kumar K.V Date: Tue Oct 16 18:38:25 2007 -0400 ext4: Convert bg_inode_bitmap and bg_inode_table Convert bg_inode_bitmap and bg_inode_table to bg_inode_bitmap_lo and bg_inode_table_lo. This helps in finding BUGs due to direct partial access of these split 64 bit values Also fix one direct partial access Signed-off-by: Aneesh Kumar K.V commit 3a14589cceea4c5d2d4de0369ee10b0fb627b107 Author: Aneesh Kumar K.V Date: Tue Oct 16 18:38:25 2007 -0400 ext4: Convert bg_block_bitmap to bg_block_bitmap_lo Convert bg_block_bitmap to bg_block_bitmap_lo This helps in catching some BUGS due to direct partial access of these split fields. Signed-off-by: Aneesh Kumar K.V commit ce421581794f6593830b056969ad7536ab929b2f Author: Jose R. Santos Date: Tue Oct 16 18:38:25 2007 -0400 ext4: FLEX_BG Kernel support v2. This feature relaxes check restrictions on where each block groups meta data is located within the storage media. This allows for the allocation of bitmaps or inode tables outside the block group boundaries in cases where bad blocks forces us to look for new blocks which the owning block group can not satisfy. This will also allow for new meta-data allocation schemes to improve performance and scalability. Signed-off-by: Jose R. Santos Cc: Signed-off-by: Andrew Morton commit c1bddad9491b3941f7ae27eeee1e4f4822fb3169 Author: Aneesh Kumar K.V Date: Tue Oct 16 18:38:25 2007 -0400 ext4: Fix sparse warnings Signed-off-by: Aneesh Kumar K.V Signed-off-by: Andrew Morton commit 717d50e4971b81b96c0199c91cdf0039a8cb181a Author: Andreas Dilger Date: Tue Oct 16 18:38:25 2007 -0400 Ext4: Uninitialized Block Groups In pass1 of e2fsck, every inode table in the fileystem is scanned and checked, regardless of whether it is in use. This is this the most time consuming part of the filesystem check. The unintialized block group feature can greatly reduce e2fsck time by eliminating checking of uninitialized inodes. With this feature, there is a a high water mark of used inodes for each block group. Block and inode bitmaps can be uninitialized on disk via a flag in the group descriptor to avoid reading or scanning them at e2fsck time. A checksum of each group descriptor is used to ensure that corruption in the group descriptor's bit flags does not cause incorrect operation. The feature is enabled through a mkfs option mke2fs /dev/ -O uninit_groups A patch adding support for uninitialized block groups to e2fsprogs tools has been posted to the linux-ext4 mailing list. The patches have been stress tested with fsstress and fsx. In performance tests testing e2fsck time, we have seen that e2fsck time on ext3 grows linearly with the total number of inodes in the filesytem. In ext4 with the uninitialized block groups feature, the e2fsck time is constant, based solely on the number of used inodes rather than the total inode count. Since typical ext4 filesystems only use 1-10% of their inodes, this feature can greatly reduce e2fsck time for users. With performance improvement of 2-20 times, depending on how full the filesystem is. The attached graph shows the major improvements in e2fsck times in filesystems with a large total inode count, but few inodes in use. In each group descriptor if we have EXT4_BG_INODE_UNINIT set in bg_flags: Inode table is not initialized/used in this group. So we can skip the consistency check during fsck. EXT4_BG_BLOCK_UNINIT set in bg_flags: No block in the group is used. So we can skip the block bitmap verification for this group. We also add two new fields to group descriptor as a part of uninitialized group patch. __le16 bg_itable_unused; /* Unused inodes count */ __le16 bg_checksum; /* crc16(sb_uuid+group+desc) */ bg_itable_unused: If we have EXT4_BG_INODE_UNINIT not set in bg_flags then bg_itable_unused will give the offset within the inode table till the inodes are used. This can be used by fsck to skip list of inodes that are marked unused. bg_checksum: Now that we depend on bg_flags and bg_itable_unused to determine the block and inode usage, we need to make sure group descriptor is not corrupt. We add checksum to group descriptor to detect corruption. If the descriptor is found to be corrupt, we mark all the blocks and inodes in the group used. Signed-off-by: Avantika Mathur Signed-off-by: Andreas Dilger Signed-off-by: Mingming Cao Signed-off-by: Aneesh Kumar K.V commit 4074fe3736b1a43431dff870bf9055ac5dcf3f03 Author: Eric Sandeen Date: Tue Oct 16 18:38:25 2007 -0400 ext4: remove #ifdef CONFIG_EXT4_INDEX CONFIG_EXT4_INDEX is not an exposed config option in the kernel, and it is unconditionally defined in ext4_fs.h. tune2fs is already able to turn off dir indexing, so at this point it's just cluttering up the code. Remove it. Signed-off-by: Eric Sandeen Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" Signed-off-by: Andrew Morton commit f077d0d7ea5d65d01f2ce2e7131e964c13a32433 Author: Coly Li Date: Tue Oct 16 18:38:25 2007 -0400 ext4: Remove (partial, never completed) fragment support Fragment support in ext2/3/4 was never implemented, and it probably will never be implemented. So remove it from ext4. Signed-off-by: Coly Li Acked-by: Andreas Dilger Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 6f38c74f5a01c7bccf58f9d7ee47ea24fb45752f Author: Jose R. Santos Date: Tue Oct 16 18:38:25 2007 -0400 JBD2: debug code cleanup. Mostly stolen from akpm's JBD cleanup patch. - use `#ifdef foo' instead of `#if defined(foo)' - Make journal_enable_debug __read_mostly just for the heck of it - Make jbd_debugfs_dir and jbd_debug static - debugfs_remove(NULL) is legal: remove unneeded tests - remove unnecessary empty loops Signed-off-by: Jose R. Santos Cc: Signed-off-by: Andrew Morton commit a7fa2baf8e2a6c0eb0a21f75e919c226179e8ff4 Author: Jan Kara Date: Tue Oct 16 18:38:25 2007 -0400 jbd2: fix commit code to properly abort journal We should really call journal_abort() and not __journal_abort_hard() in case of errors. The latter call does not record the error in the journal superblock and thus filesystem won't be marked as with errors later (and user could happily mount it without any warning). Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton commit cd02ff0b14b7e27cbdfd7ff2814b08199a2b7168 Author: Mingming Cao Date: Tue Oct 16 18:38:25 2007 -0400 jbd2: JBD_XXX to JBD2_XXX naming cleanup change JBD_XXX macros to JBD2_XXX in JBD2/Ext4 Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit d802ffa8850f2a80d141457d7221809182ed8c9f Author: Mingming Cao Date: Tue Oct 16 18:38:25 2007 -0400 JBD2/Ext4: Convert kmalloc to kzalloc in jbd2/ext4 Convert kmalloc to kzalloc() and get rid of the memset(). Signed-off-by: Mingming Cao commit 2d917969bc8dbde45900f5cbc2558e2cf1f8ec32 Author: Mingming Cao Date: Tue Oct 16 18:38:25 2007 -0400 JBD2: replace jbd_kmalloc with kmalloc directly. This patch cleans up jbd_kmalloc and replace it with kmalloc directly Signed-off-by: Mingming Cao commit a5005da204289ce01ca37be59e902100ef247a4d Author: Mingming Cao Date: Tue Oct 16 18:38:25 2007 -0400 JBD: replace jbd_kmalloc with kmalloc directly This patch cleans up jbd_kmalloc and replace it with kmalloc directly Signed-off-by: Mingming Cao commit af1e76d6b3f37cb89d9192eaf83588adaf4728eb Author: Mingming Cao Date: Tue Oct 16 18:38:25 2007 -0400 JBD2: jbd2 slab allocation cleanups JBD2: Replace slab allocations with page allocations JBD2 allocate memory for committed_data and frozen_data from slab. However JBD2 should not pass slab pages down to the block layer. Use page allocator pages instead. This will also prepare JBD for the large blocksize patchset. Signed-off-by: Christoph Lameter Signed-off-by: Mingming Cao commit c089d490dfbf53bc0893dc9ef57cf3ee6448314d Author: Mingming Cao Date: Tue Oct 16 18:38:25 2007 -0400 JBD: JBD slab allocation cleanups JBD: Replace slab allocations with page allocations JBD allocate memory for committed_data and frozen_data from slab. However JBD should not pass slab pages down to the block layer. Use page allocator pages instead. This will also prepare JBD for the large blocksize patchset. Signed-off-by: Christoph Lameter Signed-off-by: Mingming Cao commit d5d18501090179d557a4ca976d1c30bfaf5de091 Author: Steve French Date: Wed Oct 17 21:31:52 2007 +0000 [CIFS] Fix minor problems noticed by scan Coverity scan pointed out some minor possible errors. Signed-off-by: Steve French commit 7259888e84d5b6680c9d1f933654f4bdeed61700 Author: Andrew Morton Date: Wed Oct 17 14:28:38 2007 -0700 [IA64] fix non-numa build arch/ia64/kernel/machine_kexec.c: In function `arch_crash_save_vmcoreinfo': arch/ia64/kernel/machine_kexec.c:131: error: `pgdat_list' undeclared (first use in this function) arch/ia64/kernel/machine_kexec.c:131: error: (Each undeclared identifier is reported only once arch/ia64/kernel/machine_kexec.c:131: error: for each function it appears in.) arch/ia64/kernel/machine_kexec.c:134: error: `node_memblk' undeclared (first use in this function) arch/ia64/kernel/machine_kexec.c:135: error: `NR_NODE_MEMBLKS' undeclared (first use in this function) arch/ia64/kernel/machine_kexec.c:136: error: invalid application of `sizeof' to incomplete type `node_memblk_s' arch/ia64/kernel/machine_kexec.c:137: error: dereferencing pointer to incomplete type arch/ia64/kernel/machine_kexec.c:138: error: dereferencing pointer to incomplete type make[1]: *** [arch/ia64/kernel/machine_kexec.o] Error 1 Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 727c26ed78b8f2b07452cf8bc9a07ff3f302ab48 Author: Pierre Ossman Date: Wed Oct 17 22:24:24 2007 +0200 net: libertas sdio driver Add driver for Marvell's Libertas 8385 and 8686 wifi chips. Signed-off-by: Pierre Ossman Acked-by: Dan Williams commit 88e4d250234fc9e64d6ce51df95efdcf8334fd95 Author: Sam Ravnborg Date: Wed Oct 17 22:06:30 2007 +0200 x86: delete vsyscall files during make clean make clean failed to delete a few files in x86/kernel. This is because kbuild does not see the correct/full kernel/Makefile. As a workaround until the Makefiles are merged specify the files to be deleted in the common Makefile. Reported by Mike Galbraith Signed-off-by: Sam Ravnborg Cc: Mike Galbraith Signed-off-by: Thomas Gleixner commit f8bea58b6a6e825662dbd8d408568883cfddef0e Author: Yinghai Lu Date: Tue Oct 16 00:28:06 2007 -0700 kbuild: fix typo SRCARCH in find_sources otherwise get the two copy file list in SRCARCH for cscope: C symbol: start_kernel File Function Line 0 proto.h 11 extern void start_kernel(void ); 1 start_kernel.h 10 extern asmlinkage void __init start_kernel(void ); 2 head32.c i386_start_kernel 37 start_kernel(); 3 head32.c i386_start_kernel 37 start_kernel(); 4 head64.c x86_64_start_kernel 85 start_kernel(); 5 head64.c x86_64_start_kernel 85 start_kernel(); 6 head_32.S options 199 cmpb $0,%cl #the first CPU calls start_kernel 7 head_32.S options 199 cmpb $0,%cl #the first CPU calls start_kernel 8 enlighten.c xen_start_kernel 1145 start_kernel(); 9 enlighten.c xen_start_kernel 1145 start_kernel(); a lguest.c lguest_init 1095 start_kernel(); b main.c start_kernel 513 asmlinkage void __init start_kernel(void ) after the patch: C symbol: start_kernel File Function Line 0 proto.h 11 extern void start_kernel(void ); 1 start_kernel.h 10 extern asmlinkage void __init start_kernel(void ); 2 head32.c i386_start_kernel 37 start_kernel(); 3 head64.c x86_64_start_kernel 85 start_kernel(); 4 head_32.S options 199 cmpb $0,%cl #the first CPU calls start_kernel 5 enlighten.c xen_start_kernel 1145 start_kernel(); 6 lguest.c lguest_init 1095 start_kernel(); 7 main.c start_kernel 513 asmlinkage void __init start_kernel(void ) Signed-off-by: Yinghai Lu Signed-off-by: Thomas Gleixner commit 982c37cfb6e61c0e64634abc2e305d757c1405b2 Author: Eric Van Hensbergen Date: Wed Oct 17 14:35:15 2007 -0500 9p: remove sysctl A sysctl method was added to enable and disable debugging levels. After further review, it was decided that there are better approaches to doing this and the sysctl methodology isn't really desirable. This patch removes the sysctl code from 9p. Signed-off-by: Eric Van Hensbergen commit 9e3866b54867c401da8d9a665d228cf0977ab5be Author: Andrew Victor Date: Wed Oct 17 11:53:40 2007 +0200 mmc: at91_mci: cleanup: use MCI_ERRORS A small MMC driver cleanup. Use the defined AT91_MCI_ERRORS in at91_mci_completed_command() instead of specifying all the error bits individually. Signed-off-by: Andrew Victor Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 00cedfa67b3ab1588e2665eabd9843a3d8dd1dfc Author: Florin Malita Date: Sat Oct 13 12:27:20 2007 -0400 mmc: possible leak in mmc_read_ext_csd The exception path associated with an invalid ext_csd_struct returns without freeing ext_csd. Coverity CID 1909. Signed-off-by: Florin Malita Signed-off-by: Pierre Ossman commit fb0466c3ae7f1c73f70072af8fd27ac166908a2f Author: Eric Van Hensbergen Date: Wed Oct 17 14:31:07 2007 -0500 9p: fix bad kconfig cross-dependency This patch moves transport dynamic registration and matching to the net module to prevent a bad Kconfig dependency between the net and fs 9p modules. Signed-off-by: Eric Van Hensbergen commit 50fd8010673b770f6489c9ee96680c204aefa84a Author: Eric Van Hensbergen Date: Wed Oct 17 14:31:07 2007 -0500 9p: soften invalidation in loose_mode Loose mode in 9p utilizes the page cache without respecting coherency with the server. Any writes previously invaldiated the entire mapping for a file. This patch softens the behavior to only invalidate the region of the actual write. Signed-off-by: Eric Van Hensbergen commit ba17674fe02909fef049fd4b620a2805bdb8c693 Author: Latchesar Ionkov Date: Wed Oct 17 14:31:07 2007 -0500 9p: attach-per-user The 9P2000 protocol requires the authentication and permission checks to be done in the file server. For that reason every user that accesses the file server tree has to authenticate and attach to the server separately. Multiple users can share the same connection to the server. Currently v9fs does a single attach and executes all I/O operations as a single user. This makes using v9fs in multiuser environment unsafe as it depends on the client doing the permission checking. This patch improves the 9P2000 support by allowing every user to attach separately. The patch defines three modes of access (new mount option 'access'): - attach-per-user (access=user) (default mode for 9P2000.u) If a user tries to access a file served by v9fs for the first time, v9fs sends an attach command to the server (Tattach) specifying the user. If the attach succeeds, the user can access the v9fs tree. As there is no uname->uid (string->integer) mapping yet, this mode works only with the 9P2000.u dialect. - allow only one user to access the tree (access=) Only the user with uid can access the v9fs tree. Other users that attempt to access it will get EPERM error. - do all operations as a single user (access=any) (default for 9P2000) V9fs does a single attach and all operations are done as a single user. If this mode is selected, the v9fs behavior is identical with the current one. Signed-off-by: Latchesar Ionkov Signed-off-by: Eric Van Hensbergen commit bd32b82df9876af439f1760a599c0e2da9198bda Author: Latchesar Ionkov Date: Wed Oct 17 14:31:07 2007 -0500 9p: rename uid and gid parameters Change the names of 'uid' and 'gid' parameters to the more appropriate 'dfltuid' and 'dfltgid'. This also sets the default uid/gid to -2 (aka nfsnobody) Signed-off-by: Latchesar Ionkov Signed-off-by: Eric Van Hensbergen commit 2405669b253670467c5c4b4effd160881bf4fbb7 Author: Latchesar Ionkov Date: Wed Oct 17 14:31:07 2007 -0500 9p: define session flags Create more general flags field in the v9fs_session_info struct and move the 'extended' flag as a bit in the flags. Signed-off-by: Latchesar Ionkov Signed-off-by: Eric Van Hensbergen commit a80d923e1321a7ed69a0918de37e39871bb536a0 Author: Eric Van Hensbergen Date: Wed Oct 17 14:31:07 2007 -0500 9p: Make transports dynamic This patch abstracts out the interfaces to underlying transports so that new transports can be added as modules. This should also allow kernel configuration of transports without ifdef-hell. Signed-off-by: Eric Van Hensbergen commit b381a14288e6e06084206601ee252f8c357e796f Author: Sam Ravnborg Date: Wed Oct 17 21:16:33 2007 +0200 x86: fix kernel rebuild due to vsyscall fallout Fix rebuild of kernel when there is no changes. This happened for i386. Using make V=2 hinted that the output files were not assigned to targets - fixed by this patch. Reported by: Boaz Harrosh Signed-off-by: Sam Ravnborg Signed-off-by: Thomas Gleixner commit 9e447a7f1fd997bcb9266899e777c37469245365 Author: Denis V. Lunev Date: Tue Oct 16 11:22:21 2007 +0400 .gitignore update for x86 arch This patch: - makes .gitignore files visible to git - makes arch/x86/kernel/vsyscall_32.lds and arch/i386/boot invisible Signed-off-by: Denis V. Lunev Signed-off-by: Thomas Gleixner commit 21ebddd3efd3aff961153f1bac4793218dfaea9c Author: Thomas Gleixner Date: Wed Oct 17 20:35:37 2007 +0200 x86: unify include/asm/debugreg_32/64.h Almost identical except for the extra DR_LEN_8 and the different DR_CONTROL_RESERVED defines. Signed-off-by: Thomas Gleixner Conflicts: include/asm-x86/Kbuild commit 3f0bde835364fd503ac836ebb7d6cac7352a1f30 Author: Thomas Gleixner Date: Mon Oct 15 23:28:21 2007 +0200 x86: unify include/asm/unwind_32/64.h 32bit has an extra UNW_FP define, which does not hurt. Signed-off-by: Thomas Gleixner commit 9d256ff51c174d8b157d99db038a1045f37a17c8 Author: Thomas Gleixner Date: Wed Oct 17 20:32:07 2007 +0200 x86: unify include/asm/types_32/64.h Mostly the same. Make the few exceptions conditional. Signed-off-by: Thomas Gleixner Conflicts: include/asm-x86/types_32.h commit 01749f6d6d0aa677081d13a2685bad028b778c22 Author: Thomas Gleixner Date: Mon Oct 15 23:28:21 2007 +0200 x86: unify include/asm/tlb_32/64.h Same file, except for whitespace, comment formatting. Signed-off-by: Thomas Gleixner commit f16ee288545be36cdcc404e9b7c505eb0fe2633c Author: Thomas Gleixner Date: Mon Oct 15 23:28:21 2007 +0200 x86: unify include/asm/siginfo_32/64.h Same file, except for the 64bit PREAMBLE_SIZE define. Signed-off-by: Thomas Gleixner commit 68fdc55c48fd2e8f4938a1e815216c25baf8a17e Author: Thomas Gleixner Date: Wed Oct 17 17:19:30 2007 +0200 x86: unify include/asm/bug_32/64.h Same file, except for whitespace, comment formatting and the .long/.quad delta which can be solved by a define. Signed-off-by: Thomas Gleixner commit 5c8eec501968cf9b608bba22748d7ca1a91dadf1 Author: Thomas Gleixner Date: Mon Oct 15 23:28:21 2007 +0200 x86: unify include/asm/mman_32/64.h Same file, except for the extra 64bit MAP_32BIT define, which does not hurt for 32 bit compiles. Signed-off-by: Thomas Gleixner commit c4ac82a8818c6decd0fa57cdb55d4225f43d923a Author: Thomas Gleixner Date: Mon Oct 15 23:28:20 2007 +0200 x86: unify include/asm/agp_32/64.h The 32bit D(n) debug addon can be made exclusive for 32 bit compiles. Otherwise all the same. Signed-off-by: Thomas Gleixner commit 35cc46119d256364f179d7b3554f06ba468af3f7 Author: Thomas Gleixner Date: Mon Oct 15 23:28:20 2007 +0200 x86: unify include/asm/kdebug_32/64.h The 64 bit variant has additional function prototypes which do no harm for 32 bit. Signed-off-by: Thomas Gleixner commit 612d26a72a3fad16a0a5e37f7b1652a0ea965fc0 Author: Thomas Gleixner Date: Mon Oct 15 23:28:20 2007 +0200 x86: unify include/asm/ioctls_32/64.h Same file, except for whitespace and comment formatting. Signed-off-by: Thomas Gleixner commit b515e4767ffd07d1b14f4dc4f328d75f765215ab Author: Thomas Gleixner Date: Wed Oct 17 20:24:56 2007 +0200 x86: unify include/asm/floppy_32/64.h Same file, except for whitespace, comment formatting and: 32-bit: if((unsigned int) addr >= (unsigned int) high_memory) 64-bit: if((unsigned long) addr >= (unsigned long) high_memory) where the latter can be used safely for both. Signed-off-by: Thomas Gleixner Conflicts: include/asm-x86/floppy_32.h include/asm-x86/floppy_64.h commit 2dc27f01ec3990d79fc97386459191fc3da2b02f Author: Thomas Gleixner Date: Mon Oct 15 23:28:20 2007 +0200 x86: apply missing DMA/OOM prevention to floppy_32.h commit 554d284ba90bc2306c31e5363789f05c320969c3 added _GPF_NORETRY to floppy_64.h to prevent OOM killer on floppy DMA allocations. Apply the same to the 32 bit variant. Found during the attempt to unify the _32/_64 variants. Seperate commit to document the resulting code change. Signed-off-by: Thomas Gleixner commit 106619c440a7cd5a100eaba38665231ab8c762b8 Author: Thomas Gleixner Date: Mon Oct 15 23:28:20 2007 +0200 x86: unify include/asm/cache_32/64.h Same file, except for whitespace, comment formatting and the two variants of fb_is_primary_device() Signed-off-by: Thomas Gleixner commit 1f7afb08a595292d946a5f1fd4929c81db7042d2 Author: Thomas Gleixner Date: Mon Oct 15 23:28:20 2007 +0200 x86: unify include/asm/cache_32/64.h Same file, except for whitespace, comment formatting and: 32-bit: unsigned long *virt_addr = va; 64-bit: unsigned int *virt_addr = va; Both can be safely replaced by: u32 i, *virt_addr = va; Signed-off-by: Thomas Gleixner commit 327c21bc3d347d545d227103d7cc58039ab8a0be Author: Thomas Gleixner Date: Mon Oct 15 23:28:20 2007 +0200 x86: unify include/asm/dmi_32/64.h Unification, so we have these things in one file. Signed-off-by: Thomas Gleixner commit f1ea05466a13c4fbae852f2ce87aada594f3134f Author: Thomas Gleixner Date: Mon Oct 15 23:28:20 2007 +0200 x86: unify include/asm/delay_32/64.h Same file, except for whitespace, comment formatting and the extra function prototype usc_tsc_delay() in _32. Signed-off-by: Thomas Gleixner commit 9bfa23df5632775bcb70b87975743046a71f7a3b Author: Thomas Gleixner Date: Mon Oct 15 23:28:20 2007 +0200 x86: unify include/asm/cache_32/64.h Same file, except for whitespace, comment formatting and the extra defines in _64, which are conditional on VSMP anyway. Signed-off-by: Thomas Gleixner commit b2bba72c10cdd907f73c57c8bdeb3354f8c233c6 Author: Thomas Gleixner Date: Mon Oct 15 23:28:20 2007 +0200 x86: unify include/asm/cacheflush_32/64.h Same file, except for whitespace, comment formatting and the extra DEBUG_PAGE_ALLOC function in _32. Signed-off-by: Thomas Gleixner commit 0b4dc7c3524c59fae4c369ee5de274275b95d053 Author: Thomas Gleixner Date: Mon Oct 15 23:28:19 2007 +0200 x86: unify include/asm/auxvec_32/64.h Same file, except for whitespace, comment formatting and the AT_SYSINFO define for 32bit Signed-off-by: Thomas Gleixner commit 17d36707dd9c5c3c4ef09a278ee7444cfc60481e Author: Thomas Gleixner Date: Mon Oct 15 23:28:19 2007 +0200 x86: unify include/asm/agp_32/64.h Same file, except for whitespace, comment formatting and the usage of wbinvd() instead of asm volatile("wbinvd":::"memory"), which is the same. Signed-off-by: Thomas Gleixner commit 003a46cfff308ee0d879dfa89b9a7c65b2a481bf Author: Thomas Gleixner Date: Mon Oct 15 13:57:47 2007 +0200 x86: unify some more trivial include/asm-x86/ 32/64 variants Scripted unification. Signed-off-by: Thomas Gleixner commit 217d115cd5d7d2bef7db7839b93ce5dc2867c392 Author: Roland Dreier Date: Mon Oct 15 13:57:46 2007 +0200 x86: merge some trivially mergeable headers Merge errno.h, resource.h, rtc.h, sections.h, serial.h and sockios.h, where i386 and x86_64 have no or only trivial comment/include guard differences. Build tested on both 32-bit and 64-bit, and booted on 64-bit. [tglx: fixup Kbuild as well] Signed-off-by: Roland Dreier Signed-off-by: Thomas Gleixner commit 020bd9f1c766ca743556461a70a5b5d559b7e60c Author: Brian Gerst Date: Mon Oct 15 13:57:46 2007 +0200 x86: trivial header merges Merge 32/64-bit headers that simply redirect to asm-generic [tglx: fixup Kbuild as well] Signed-off-by: Brian Gerst Signed-off-by: Thomas Gleixner commit c65916fe3586521932fbd1b734f39744657f2f0d Author: Roland McGrath Date: Wed Oct 17 18:04:41 2007 +0200 x86: vdso linker script cleanup I can't see the reason ". = VDSO_PRELINK + 0x900;" was ever there in the linker script for the x86_64 vDSO. I can't find anything that depends on this magic offset, or that should care at all about the particular location of of the .data section (all from vvar.c) in the vDSO image. If it is really desireable to place .data at 0x900, then it should be after all the other sections so they fill in the space up to 0x900. This removes the 0x900 magic and cleans up the output sections generally in the vDSO linker script. This saves a few hundred bytes in the size of the vDSO file, bringing it back well under 4kb total so that its vma only needs one page. Signed-off-by: Roland McGrath Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit de8aacbe6a3f3dd7104da09a5535232cd385fdd6 Author: Luiz Fernando N. Capitulino Date: Wed Oct 17 18:04:41 2007 +0200 x86: convert mm_context_t semaphore to a mutex convert mm_context_t semaphore to a mutex. Signed-off-by: Luiz Fernando N. Capitulino Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 32c464f5d9701db45bc1673288594e664065388e Author: Jan Beulich Date: Wed Oct 17 18:04:41 2007 +0200 x86: multi-byte single instruction NOPs Add support for and use the multi-byte NOPs recently documented to be available on all PentiumPro and later processors. This patch only applies cleanly on top of the "x86: misc. constifications" patch sent earlier. [ tglx: arch/x86 adaptation ] Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner arch/x86/kernel/alternative.c | 23 ++++++++++++++++++++++- include/asm-x86/processor_32.h | 22 ++++++++++++++++++++++ include/asm-x86/processor_64.h | 22 ++++++++++++++++++++++ 3 files changed, 66 insertions(+), 1 deletion(-) commit c861eff88c92d98ee661cf0d2fa978611edeaceb Author: Andi Kleen Date: Wed Oct 17 18:04:41 2007 +0200 x86: remove duplicated vsyscall nsec update Spotted by Chuck Ebbert [ tglx: arch/x86 adaptation ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b93b6ca3bf822a24e1535ee7c773740628bca1e6 Author: Ingo Molnar Date: Wed Oct 17 18:04:41 2007 +0200 i386: remove unnecessary code Oleg Nesterov pointed out that the set_fs() calls in setup_frame() and setup_rt_frame() were superfluous. [ tglx: arch/x86 adaptation ] Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Cc: Oleg Nesterov Cc: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit c7537ab234bc629e0a3b0d725dd08e6f24768037 Author: Luiz Fernando N. Capitulino Date: Wed Oct 17 18:04:41 2007 +0200 x86: convert mm_context_t semaphore to a mutex [ tglx: arch/x86 adaptation ] Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 99741faa34b342e6a0b327efb6c28c1a693b7307 Author: Andi Kleen Date: Wed Oct 17 18:04:41 2007 +0200 x86: Use string instruction memcpy on AMD Fam11h [ tglx: arch/x86 adaptation ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 20d225b991c88d9f46f6169be3cfc113ea2bf82d Author: Yinghai Lu Date: Wed Oct 17 18:04:41 2007 +0200 x86: make io_apic not connected pin print complete Normally we will have two segment not connected pin pin0, and pin after 15... So we need to print out "not connected\n" for previous segment, before printing out connected pins info... Signed-off-by: Yinghai Lu Cc: Andi Kleen Signed-off-by: Andrew Morton commit 382f64ab8f178fe6ca5e7beafa7f03132724bbfb Author: Ingo Molnar Date: Wed Oct 17 18:04:41 2007 +0200 i386: print better early fault info improve early fault output. old format: Int 14: CR2 010001e3 err 00000002 EIP c011f2f9 CS 00000060 flags 00010046 Stack: c073695e c0791c10 00000000 ffffffff 00000000 01000000 00001000 c0791c10 new format: BUG: Int 14: CR2 010001e3 EDI c1000000 ESI c0693c10 EBP c0637f9c ESP c0637f08 EBX 00000000 EDX 0000000e ECX 00000000 EAX 010001e3 err 00000002 EIP c0123119 CS 00000060 flg 00010046 Stack: c064d589 c0693000 00000000 c0637f60 00c001e3 01000000 00038000 00000163 00000000 00000163 00000000 ffffffff 00038000 00000000 00000000 00001000 00001000 00000000 c0637f88 c06509be c0a2ae60 00001000 00001000 00000000 Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 072f5d82b58cba760191393a6a99fd1123c76e67 Author: Jan Beulich Date: Wed Oct 17 18:04:40 2007 +0200 x86: also show non-zero IRQ counts for vectors that currently don't have a handler It doesn't seem to make sense to hide these, even if their counts can't change at the point in time they're being displayed. [ tglx: arch/x86 adaptation ] Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 38e760a1335ffaca5a08624a9aed6fe2055c2c98 Author: Joe Korty Date: Wed Oct 17 18:04:40 2007 +0200 x86: expand /proc/interrupts to include missing vectors, v2 Add missing IRQs and IRQ descriptions to /proc/interrupts. /proc/interrupts is most useful when it displays every IRQ vector in use by the system, not just those somebody thought would be interesting. This patch inserts the following vector displays to the i386 and x86_64 platforms, as appropriate: rescheduling interrupts TLB flush interrupts function call interrupts thermal event interrupts threshold interrupts spurious interrupts A threshold interrupt occurs when ECC memory correction is occuring at too high a frequency. Thresholds are used by the ECC hardware as occasional ECC failures are part of normal operation, but long sequences of ECC failures usually indicate a memory chip that is about to fail. Thermal event interrupts occur when a temperature threshold has been exceeded for some CPU chip. IIRC, a thermal interrupt is also generated when the temperature drops back to a normal level. A spurious interrupt is an interrupt that was raised then lowered by the device before it could be fully processed by the APIC. Hence the apic sees the interrupt but does not know what device it came from. For this case the APIC hardware will assume a vector of 0xff. Rescheduling, call, and TLB flush interrupts are sent from one CPU to another per the needs of the OS. Typically, their statistics would be used to discover if an interrupt flood of the given type has been occuring. AK: merged v2 and v4 which had some more tweaks AK: replace Local interrupts with Local timer interrupts AK: Fixed description of interrupt types. [ tglx: arch/x86 adaptation ] [ mingo: small cleanup ] Signed-off-by: Joe Korty Signed-off-by: Andi Kleen Cc: Tim Hockin Cc: Andi Kleen Cc: Ingo Molnar Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9aa8d7195acb18fc436847f6c66a97f8359ad54d Author: Pavel Emelyanov Date: Wed Oct 17 18:04:40 2007 +0200 i386: clean up oops/bug reports Typically the oops first lines look like this: BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000 printing eip: c049dfbd *pde = 00000000 Oops: 0002 [#1] PREEMPT SMP ... Such output is gained with some ugly if (!nl) printk("\n"); code and besides being a waste of lines, this is also annoying to read. The following output looks better (and it is how it looks on x86_64): BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000 printing eip: c049dfbd *pde = 00000000 Oops: 0002 [#1] PREEMPT SMP ... [ tglx: arch/x86 adaptation ] Signed-off-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c1e3619edd2b3e17450d745e27e335490cafd78d Author: Thomas Gleixner Date: Wed Oct 17 18:04:40 2007 +0200 x86: print info about late C1E detection on 32bit as well Some BIOSes set the C1E flag only on the second core. Print a warning so the Firmware Toolkit can check for it. mingo: fix C1E build bug on 32-bit Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c789c037e9d0d93d6081e796ab70b488b2ff69f2 Author: Satyam Sharma Date: Wed Oct 17 18:04:40 2007 +0200 x86: call cache_add_dev() from cache_sysfs_init() explicitly Call cache_add_dev() from cache_sysfs_init() explicitly, instead of referencing the CPU notifier callback directly from generic startup code. Looks cleaner (to me at least) this way, and also makes it possible to use other tricks to replace __cpuinit{data} annotations, as recently discussed on this list. Signed-off-by: Satyam Sharma Cc: Andi Kleen Cc: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0b4b5dde45a9416bf57c1e2e5ccf748e538368aa Author: Thomas Gleixner Date: Wed Oct 17 18:04:40 2007 +0200 x86: fix dmi const-ify fallout The dmi const-ification missed acer_cpu_freq_pst. Fix it. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f6a2e7f2012eeced1dbf093bb98a1c38fee91f78 Author: Thomas Gleixner Date: Wed Oct 17 18:04:40 2007 +0200 x86: unify include/asm/ldt_32/64.h The additional struct member of user_desc can be made conditional for 64 bit compiles. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 686d8c63d530a5cfdbab2523825e37b904be56f9 Author: Thomas Gleixner Date: Wed Oct 17 18:04:40 2007 +0200 x86: unify include/asm/ptrace-abi_32/64.h Aside of the register defines the content can be shared. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e2f430291fe23a4f78da078142e8fe9e94e9e043 Author: Thomas Gleixner Date: Wed Oct 17 18:04:40 2007 +0200 x86: unify include/asm/mce_32/64.h Merge the files together. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 06f99ac87ef3f1f706cd1eb794b16dfbfe60ee29 Author: Roland McGrath Date: Wed Oct 17 18:04:40 2007 +0200 x86: vdso put vars in rodata This adds a const to the definitions vvar.c makes, so that the vdso_* variables go into .rodata instead of .data. This is essentially a cosmetic change, just giving the section headers in the vDSO file more pleasing flags. These variables are read-only from the perspective of the vDSO itself and user mode, even though the contents of the DSO image were adjusted at boot. Signed-off-by: Roland McGrath Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bc3c6058bc8f9845ae73f6dc727570778f103858 Author: Muli Ben-Yehuda Date: Wed Oct 17 18:04:39 2007 +0200 x86: calgary get rid of translate_phb Now that we check for translation enabled/disabled based on the presence of the IOMMU translation table, we can get rid of translate_phb. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3c215b6680b347593705e010688e80400d772763 Author: Andrew Morton Date: Wed Oct 17 18:04:39 2007 +0200 x86: asm-i386/io.h fix constness - Fix this: include/asm/io.h: In function `memcpy_fromio': include/asm/io.h:208: warning: passing argument 2 of `__memcpy' discards qualifiers from pointer target type - Clean up code a bit Reported-by: Uwe Bugla Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 95c1e9aefa5d3a2dd61304797cad96e8fdcd95ce Author: Adrian Bunk Date: Wed Oct 17 18:04:39 2007 +0200 x86: visws extern inline to static inline "extern inline" will have different semantics with gcc 4.3. Signed-off-by: Adrian Bunk Acked-by: Andrey Panin Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 98c9e27a56a2d9f9148992b0b9a9a36760ea4eb9 Author: Mike Travis Date: Wed Oct 17 18:04:39 2007 +0200 x86: fix cpu_to_node references In x86_64 and i386 architectures most arrays that are sized using NR_CPUS lay in local memory on node 0. Not only will most (99%?) of the systems not use all the slots in these arrays, particularly when NR_CPUS is increased to accommodate future very high cpu count systems, but a number of cache lines are passed unnecessarily on the system bus when these arrays are referenced by cpus on other nodes. Typically, the values in these arrays are referenced by the cpu accessing it's own values, though when passing IPI interrupts, the cpu does access the data relevant to the targeted cpu/node. Of course, if the referencing cpu is not on node 0, then the reference will still require cross node exchanges of cache lines. A common use of this is for an interrupt service routine to pass the interrupt to other cpus local to that node. Ideally, all the elements in these arrays should be moved to the per_cpu data area. In some cases (such as x86_cpu_to_apicid) the array is referenced before the per_cpu data areas are setup. In this case, a static array is declared in the __initdata area and initialized by the booting cpu (BSP). The values are then moved to the per_cpu area after it is initialized and the original static array is freed with the rest of the __initdata. This patch: Fix four instances where cpu_to_node is referenced by array instead of via the cpu_to_node macro. This is preparation to moving it to the per_cpu data area. Signed-off-by: Mike Travis Cc: Andi Kleen Cc: Christoph Lameter Cc: "Siddha, Suresh B" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6b556ffc4b8fc71445156bcdd02a16a364a36356 Author: Thomas Gleixner Date: Wed Oct 17 18:04:39 2007 +0200 x86: cleanup 64bit unistd.h sys_iopl is long gone and there is no reason to declare sys_rt_sigaction here. Remove it all together and fix the whitespace mess as well. It's worth the trouble: 25897 -> 21337 bytes, the win is larger than the memory of my first computer :) Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d9a629430368549b2e46d79076a6174a1e3a2645 Author: Stefan Richter Date: Wed Oct 17 18:04:39 2007 +0200 x86: configure HPET_EMULATE_RTC automatically It needs to be automatic. The HPET legacy interrupt mode disconnects the RTC interrupt and connects the interrupt of the second HPET channel. [ tglx: arch/x86 adaptation and comment fixup] Signed-off-by: Stefan Richter Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d1e084746b0e5806e6345ab31c5b370f8dee2b23 Author: Jan Beulich Date: Wed Oct 17 18:04:39 2007 +0200 i386: constify wd_ops .. as they're, with a single exception, never written to. [ tglx: arch/x86 adaptation ] Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 909dd324fb57ad690c38c4e3d52337defa099ce8 Author: Andi Kleen Date: Wed Oct 17 18:04:38 2007 +0200 x86: clean up mce= argument parsing slightly Move the = into the __setup line. Document the option in kernel-parameters.txt by adding a pointer to the x86-64 specific documentation. [ tglx: arch/x86 adaptation ] Pointed out by Robert Day Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ffecad95eed621a82e8131b929cfcc3bb2a10d46 Author: Satyam Sharma Date: Wed Oct 17 18:04:38 2007 +0200 i386: fix argument signedness warnings These build warnings: In file included from include/asm/thread_info.h:16, from include/linux/thread_info.h:21, from include/linux/preempt.h:9, from include/linux/spinlock.h:49, from include/linux/vmalloc.h:4, from arch/i386/boot/compressed/misc.c:14: include/asm/processor.h: In function cpuid_count include/asm/processor.h:615: warning: pointer targets in passing argument 1 of native_cpuid differ in signedness include/asm/processor.h:615: warning: pointer targets in passing argument 2 of native_cpuid differ in signedness include/asm/processor.h:615: warning: pointer targets in passing argument 3 of native_cpuid differ in signedness include/asm/processor.h:615: warning: pointer targets in passing argument 4 of native_cpuid differ in signedness come because the arguments have been specified as pointers to (signed) int types, not unsigned. So let's specify those as unsigned. Do some codingstyle here and there while at it. [ tglx: arch/x86 adaptation ] Signed-off-by: Satyam Sharma Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7e02cb941ddc129158c276648c10a69dca7d36d3 Author: Adrian Bunk Date: Wed Oct 17 18:04:38 2007 +0200 x86: rename .i assembler includes to .h .i is an ending used for preprocessed stuff. This patch therefore renames assembler include files to .h and guards the contents with an #ifdef __ASSEMBLY__. [ tglx: arch/x86 adaptation ] Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3f4ed1511dc8c71073bb7d220ee62eedd8e8aeec Author: Steven Rostedt Date: Wed Oct 17 18:04:38 2007 +0200 x86: Add parenthesis to IRQ vector macros It is not good taste to have macros with additions that do not have parenthesises around them. This patch parethesizes the IRQ vector macros for x86_64 arch. Note, this caused me a bit of heart-ache debugging lguest64. [ tglx: arch/x86 adaptation ] Signed-off-by: Steven Rostedt Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d2ccc3fdde1a860b970109ad78865b7e44d3fc0c Author: Chuck Lever Date: Wed Oct 17 18:04:38 2007 +0200 x86: Eliminate result signage problem in asm-x86_64/bitops.h The return type of __scanbit() doesn't match the return type of find_{first,next}_bit(). Thus when you construct something like this: boolean ? __scanbit() : find_first_bit() you get an unsigned long result if "boolean" is true, and a signed long result if "boolean" is false. In file included from /home/cel/src/linux/include/linux/mmzone.h:15, from /home/cel/src/linux/include/linux/gfp.h:4, from /home/cel/src/linux/include/linux/slab.h:14, from /home/cel/src/linux/include/linux/percpu.h:5, from /home/cel/src/linux/include/linux/rcupdate.h:41, from /home/cel/src/linux/include/linux/dcache.h:10, from /home/cel/src/linux/include/linux/fs.h:275, from /home/cel/src/linux/fs/nfs/sysctl.c:9: /home/cel/src/linux/include/linux/nodemask.h: In function ‘__first_node’: /home/cel/src/linux/include/linux/nodemask.h:229: warning: signed and unsigned type in conditional expression /home/cel/src/linux/include/linux/nodemask.h: In function ‘__next_node’: /home/cel/src/linux/include/linux/nodemask.h:235: warning: signed and unsigned type in conditional expression /home/cel/src/linux/include/linux/nodemask.h: In function ‘__first_unset_node’: /home/cel/src/linux/include/linux/nodemask.h:253: warning: signed and unsigned type in conditional expression [ tglx: arch/x86 adaptation ] Signed-off-by: Chuck Lever Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 92b2dc79c3bb3f08afae6c0feaeea593b9c83a76 Author: Glauber de Oliveira Costa Date: Wed Oct 17 18:04:38 2007 +0200 x86: remove STR() macros This patch removes the __STR() and STR() macros from x86_64 header files. They seem to be legacy, and has no more users. Even if there were users, they should use __stringify() instead. In fact, there were one third place in which this macro was defined (ia32_binfmt.c), and used just below. In this file, usage was properly converted to __stringify() [ tglx: arch/x86 adaptation ] Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9efa98159c8b4fd7373d03af9fc06d43f47de0f5 Author: Mike Travis Date: Wed Oct 17 18:04:38 2007 +0200 x86: remove x86_cpu_to_log_apicid Remove the x86_cpu_to_log_apicid array. It is set in arch/x86_64/kernel/genapic_flat.c:flat_init_apic_ldr() and arch/x86_64/kernel/smpboot.c:do_boot_cpu() but it is never referenced. [ tglx: arch/x86 adaptation ] Signed-off-by: Mike Travis Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 61d08a9ea3d5fd680213aa7a15fcda69ce11987d Author: Andi Kleen Date: Wed Oct 17 18:04:38 2007 +0200 i386: Remove strrchr assembler implementation The constraints in the inline assembler implementation of i386 strrchr() were incorrect and break the build with recent gcc 4.3. Since there are only very few callers of strrchr() and none of them are performance relevant just remove the assembler implementation and use the C fallback instead. [ tglx: arch/x86 adaptation ] Cc: rguenther@suse.de Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 883001f98290ca40b32e2c1872f22600f8dfc968 Author: Chris Snook Date: Wed Oct 17 18:04:38 2007 +0200 x86: make atomic64_t work like atomic_t The volatile keyword has already been removed from the declaration of atomic_t on x86_64. For consistency, remove it from atomic64_t as well. [ tglx: arch/x86 adaptation ] Signed-off-by: Chris Snook Signed-off-by: Andi Kleen CC: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5f1f935ca4e385444c07164cf43dfdfe5eeee006 Author: Avi Kivity Date: Wed Oct 17 18:04:38 2007 +0200 i386: simplify smp_call_function_single() call sequence in msr-on-cpu smp_call_function_single() now knows how to call the function on the current cpu. [ tglx: arch/x86 adaptation ] Cc: H. Peter Anvin Signed-off-by: Avi Kivity Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4a40cb1ec68d021125e37a69a0be79dc16dd41b1 Author: Avi Kivity Date: Wed Oct 17 18:04:38 2007 +0200 i386: simplify smp_call_function_single() call sequence in cpuid smp_call_function_single() now knows how to call the function on the current cpu. [ tglx: arch/x86 adaptation ] Cc: H. Peter Anvin Signed-off-by: Avi Kivity Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cddf7ff766ee53e24ff37f55a897efc90cb3526e Author: Mariusz Kozlowski Date: Wed Oct 17 18:04:38 2007 +0200 x86: kmalloc + memset conversion to kzalloc arch/x86_64/kernel/io_apic.c | 56080 -> 56038 (-42 bytes) also eliminate unnecessary local variable assignment. [ tglx: arch/x86 adaptation ] Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a850cef77f148c2e305022a1ed86ca6cff5ee300 Author: Adrian Bunk Date: Wed Oct 17 18:04:38 2007 +0200 i386: no need to make enable_cpu_hotplug a variable As long as there's no write access to this variable there's no reason to let gcc check it at runtime. [ tglx: arch/x86 adaptation ] Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fb7ae26df0b1218b39049b659064d57b58616c94 Author: Adrian Bunk Date: Wed Oct 17 18:04:37 2007 +0200 i386: es7000 minor cleanups This patch contains the following cleanups: - make some needlessly global functions static - #if 0 the unused es7000_stop_cpu() AK: actually removed es7000_stop_cpu AK: fixed a non ISO prototype too [ tglx: arch/x86 adaptation ] Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c8f2518e390638abc8255616a40b4a28caa66a95 Author: akpm@linux-foundation.org Date: Wed Oct 17 18:04:37 2007 +0200 i386: Remove local CPU logic in MTRR call to smp_call_function_single smp_call_function_single handles the call to local CPU case correctly now, no need to handle this in the caller. [ tglx: arch/x86 adaptation ] Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6619a8fb594486363783cc4a8372e4d4ee4b913e Author: H. Peter Anvin Date: Wed Oct 17 18:04:37 2007 +0200 x86: Create clflush() inline, remove hardcoded wbinvd Create an inline function for clflush(), with the proper arguments, and use it instead of hard-coding the instruction. This also removes one instance of hard-coded wbinvd, based on a patch by Bauder de Oliveira Costa. [ tglx: arch/x86 adaptation ] Cc: Andi Kleen Cc: Glauber de Oliveira Costa Signed-off-by: H. Peter Anvin Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9689ba8ad0dc27c0a2ce40eb4c0f8fb66551119c Author: Jan Beulich Date: Wed Oct 17 18:04:37 2007 +0200 x86: constify stacktrace_ops .. as they're never written to. [ tglx: arch/x86 adaptation ] Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ff7f36497e77a8d60f09065fc8b606a543214c3f Author: Andi Kleen Date: Wed Oct 17 18:04:37 2007 +0200 x86: Some cleanups for pci gart code - Mark function static - Clarify license [ tglx: arch/x86 adaptation ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 121d7bf5a246d282ba91234d03a4edf9ccc9c940 Author: Jan Beulich Date: Wed Oct 17 18:04:37 2007 +0200 x86: misc. constifications Miscellaneous x86 stuff that can live in .rodata. [ tglx: arch/x86 adaptation ] Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit df5ddf620e101f6c7f968c71b327ded16a90ca03 Author: Thomas Gleixner Date: Wed Oct 17 18:04:36 2007 +0200 x86: more struct irqaction initializer cleanups more struct irqaction initializer cleanups. Signed-off-by: Thomas Gleixner Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 6a61f6a55708f5e50c4d78934199e7e9257e6aa2 Author: Thomas Gleixner Date: Wed Oct 17 18:04:36 2007 +0200 x86: clean up struct irqaction initializers clean up struct irqaction initializers to C99. Signed-off-by: Thomas Gleixner Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 6d43be8ea8c92a41557dacde94ae73565cbc01f0 Author: Thomas Gleixner Date: Wed Oct 17 18:04:36 2007 +0200 x86: remove reminder of i386 irqstat per cpu conversion The i386 irqstat per cpu conversion left an bogus export of the old irqstat array in the header file. Remove it. [ tglx: arch/x86 adaptation ] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e295f75410eb19d2a9733508f7f5c093767592cd Author: Andi Kleen Date: Wed Oct 17 18:04:36 2007 +0200 x86_64: Remove serialize_cpu() inline - It was redundant with sync_core() - It was unused - It was broken: no input arguments to cpuid; could fault randomly depending on eax contents. Now it's gone. [ tglx: arch/x86 adaptation ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1e32b073f372f0fe903c4474fbd47c2ac61428c8 Author: Satyam Sharma Date: Wed Oct 17 18:04:36 2007 +0200 i386: misc cpuinit annotations cpuid_class_cpu_callback() is callback function of a CPU hotplug notifier_block (that is already marked as __cpuinitdata). Therefore it can safely be marked as __cpuinit. cpuid_device_create() is only referenced from other functions that are __cpuinit or __init. So it can also be safely marked __cpuinit. [ tglx: arch/x86 adaptation ] Signed-off-by: Satyam Sharma Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 761c4bf821b67334e2391ef968396069b91801b7 Author: Satyam Sharma Date: Wed Oct 17 18:04:36 2007 +0200 i386: Misc cpuinit annotations msr_class_cpu_callback() can be marked __cpuinit, being the notifier callback for a __cpuinitdata notifier_block. So can be marked msr_device_create() too, called only from the newly-__cpuinit msr_class_cpu_callback() or from __init-marked msr_init(). [ tglx: arch/x86 adaptation ] Signed-off-by: Satyam Sharma Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 75e3808b67f88cdd8c531dda3e00deb3623a3dac Author: Oliver Pinter Date: Wed Oct 17 18:04:36 2007 +0200 x86: add cpu codenames for Kconfig.cpu add cpu core name for arch/i386/Kconfig.cpu:Pentium 4 sections help add Pentium D for arch/i386/Kconfig.cpu add Pentium D for arch/x86_64/Kconfig AK: Clarified some of the descriptions [ tglx: arch/x86 adaptation ] Signed-off-by: Oliver Pinter Signed-off-by: Andi Kleen Acked-by: Sam Ravnborg Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fb893e99080f1a01397fcf8afc480163826b23d4 Author: Jesper Juhl Date: Wed Oct 17 18:04:36 2007 +0200 i386: Clean up duplicate includes in arch/i386/xen/ This patch cleans up duplicate includes in arch/i386/xen/ [ tglx: arch/x86 adaptation ] Signed-off-by: Jesper Juhl Signed-off-by: Andi Kleen Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 59659f14b6e49b13eb4af870801af1511e33fafb Author: Adrian Bunk Date: Wed Oct 17 18:04:36 2007 +0200 i386: make some variables static This patch makes some needlessly global variables static. [ tglx: arch/x86 adaptation ] Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6704ab1cd42269e536a6735db740e57e2c04c3b4 Author: Mike Frysinger Date: Wed Oct 17 18:04:36 2007 +0200 x86: hide cond_syscall behind __KERNEL__ This brings x86_64 into line with all other architectures by only defining cond_syscall() when __KERNEL__ is defined. [ tglx: arch/x86 adaptation ] Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 96d5535870e6a272dcadc300eb9af6ff6c33f6a9 Author: Adrian Bunk Date: Wed Oct 17 18:04:36 2007 +0200 i386: make struct apic_probe static This patch makes the needlessly global struct apic_probe static. [ tglx: arch/x86 adaptation ] Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 83e83d546cb1b6e3c566c97de97bd2397e22ab6c Author: Yoann Padioleau Date: Wed Oct 17 18:04:35 2007 +0200 x86: 0 -> NULL, for arch/x86_64 When comparing a pointer, it's clearer to compare it to NULL than to 0. [ tglx: arch/x86 adaptation ] Signed-off-by: Yoann Padioleau Signed-off-by: Andi Kleen Cc: ak@suse.de Cc: discuss@x86-64.org Cc: akpm@linux-foundation.org Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 17d1486a69657a3de1482d1bd4882c3ce1d9cf1e Author: Jesper Juhl Date: Wed Oct 17 18:04:35 2007 +0200 i386: Clean up duplicate includes in arch/i386/kernel/ This patch cleans up duplicate includes in arch/i386/kernel/ [ tglx: arch/x86 adaptation ] Signed-off-by: Jesper Juhl Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 231b64bfee050b3b3fd91c629b653fecdfe7b7bf Author: Andi Kleen Date: Wed Oct 17 18:04:35 2007 +0200 x86: remove rogue default m in drivers/video/Kconfig Remove rogue default m in drivers/video/Kconfig default m is near always wrong, like here. For some reason ACPI likes to reintroduce these and I like to immediately squash them again before they pollute too many .configs. Cc: len.brown@intel.com Cc: luming.yu@gmail.com Acked-by: Len Brown Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7b38493501b76e56f481925ed74ee5ca0f4c6183 Author: Satyam Sharma Date: Wed Oct 17 18:04:35 2007 +0200 x86: intel_cacheinfo misc section annotation fixes cache_shared_cpu_map_setup() and cache_remove_shared_cpu_map() are functions called from another function that is __cpuinit. But the !CONFIG_SMP empty-body stubs of these functions are unconditionally marked __init, which is actively wrong, and will lead to oops. But we never saw this oops, because they always managed to get inlined in their callsites, by virtue of being empty-body stubs! They should still be __cpuinit, of course. assocs[], levels[] and types[] are only referenced from function that is __cpuinit. So these are candidates for being marked __cpuinitdata. [akpm@linux-foundation.org: build fix] Signed-off-by: Satyam Sharma Cc: Andi Kleen Cc: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f6855f7fb2e22c5675d292dd445ee3c1fc09ac18 Author: Yinghai Lu Date: Wed Oct 17 18:04:35 2007 +0200 x86: use dev_to_node() to get node for device in dma_alloc_pages() use dev_to_node() to get node for device in dma_alloc_pages(). Signed-off-by: Yinghai Lu Acked-by: Christoph Lameter Cc: Christoph Lameter Cc: Andy Whitcroft Cc: Jeff Garzik Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8f8ae1a7d4e7e2628cd875d0811ca5cbff012bc2 Author: Michal Schmidt Date: Wed Oct 17 18:04:35 2007 +0200 x86: pci use pci=bfsort for HP DL385 G2 and DL585 G2 HP ProLiant systems DL385 G2 and DL585 G2 need pci=bfsort to enumerate PCI devices in the expected order. Matt sayeth: biosdevname is a userspace app I wrote to help solve this so we don't need to patch the kernel for future systems. It's not integrated into any distributions properly yet, but is included in openSUSE 10.3 and Fedora 8 for people who want to download and install it there. It acts as a udev helper. For the time being, patching the kernel is necessary. I really hope biosdevname eliminates that need in future distributions. http://linux.dell.com/biosdevname/ Signed-off-by: Michal Schmidt Cc: Cc: Matt Domsch Cc: Andy Gospodarek Cc: Greg KH Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d588ba8c09aa2516a06512d8ba065a05f9620ee0 Author: Muli Ben-Yehuda Date: Wed Oct 17 18:04:35 2007 +0200 x86: Calgary: fix disable busnum for CalIOC2 The old check we used based on dev->bus->number is wrong for devices on CalIOC2. Instead look whether we have an IOMMU table for that bus - if not, translation is disabled. Thanks to Murillo Fernandes Bernardes for spotting, suggesting a fix and testing. Signed-off-by: Muli Ben-Yehuda Acked-by: Murillo Fernandes Bernardes Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 84e0fdb1754d066dd0a8b257de7299f392d1e727 Author: Huang, Ying Date: Wed Oct 17 18:04:35 2007 +0200 x86: NX bit handling in change_page_attr() This patch fixes a bug of change_page_attr/change_page_attr_addr on Intel x86_64 CPUs. After changing page attribute to be executable with these functions, the page remains un-executable on Intel x86_64 CPU. Because on Intel x86_64 CPU, only if the "NX" bits of all four level page tables are cleared, the corresponding page is executable (refer to section 4.13.2 of Intel 64 and IA-32 Architectures Software Developer's Manual). So, the bug is fixed through clearing the "NX" bit of PMD when splitting the huge PMD. Signed-off-by: Huang Ying Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 87cde760abfa019b5e368186f893cf673d227632 Author: James Bottomley Date: Wed Oct 17 18:04:35 2007 +0200 x86: voyager don't try to support uniprocessor builds A while ago Randy Dunlap and Adrian Bunk suggested we simply prevent UP voyager building. I resisted this on the grounds that the nagging was the only thing that was going to cause me to look at this. However, now I think we should probably take this course. Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 27eb0b288fb3b46350f3e6c2fad0b36937a4cc85 Author: Prarit Bhargava Date: Wed Oct 17 18:04:34 2007 +0200 x86: stop nmi softlockup warnings in show_mem() When dumping memory via sysrq-m it is possible to take a bogus NMI watchdog or softlockup watchdog because the dump can take a long time on big memory systems. Occasionally tickle the watchdog when doing the dump. Signed-off-by: Prarit Bhargava Cc: Andi Kleen Signed-off-by: Andrew Morton commit 509a80c49c512ac88bd67b981145f925a306111b Author: Ingo Molnar Date: Wed Oct 17 18:04:34 2007 +0200 x86: fix CONFIG_PAGEALLOC related boot hangs/OOMs if CONFIG_PAGEALLOC is enabled then X86_FEATURE_PSE is disabled and all the kernel physical RAM pagetables are set up as 4K pages. This is needed so that CONFIG_PAGEALLOC can do finegrained mapping and unmapping of pages. as a side-effect though, the total size of memory allocated as kernel pagetables increases significantly. All these pagetables are allocated via alloc_bootmem_low_pages(), straight out of the lowmem DMA pool. If the system has enough RAM and a large kernel image then almost all of the 16 MB lowmem DMA pool is allocated to the image and to pagetables - leaving no space for __GFP_DMA allocations. this results in drivers failing and the bootup hanging: swapper invoked oom-killer: gfp_mask=0x80d1, order=0, oomkilladj=0 [<4015059f>] out_of_memory+0x17f/0x1c0 [<40151f3c>] __alloc_pages+0x37c/0x3a0 [<40168cd7>] slob_new_page+0x37/0x50 [<40168dff>] slob_alloc+0x10f/0x190 [<40169010>] __kmalloc_node+0x80/0x90 [<405a17e3>] scsi_host_alloc+0x33/0x2c0 [<405a1a82>] scsi_register+0x12/0x60 [<40d5889e>] aha1542_detect+0x9e/0x940 [<405c5ba5>] ultrastor_detect+0x265/0x5f0 [<401352f5>] getnstimeofday+0x35/0xf0 [<40d58751>] init_this_scsi_driver+0x41/0xf0 [<40d0b856>] kernel_init+0x136/0x310 [<40d58710>] init_this_scsi_driver+0x0/0xf0 [<40d0b720>] kernel_init+0x0/0x310 [<40105547>] kernel_thread_helper+0x7/0x10 ======================= the fix is to first allocate from above the DMA pool, and if that fails (for example due to it being a machine with less than 16 MB of RAM), allocate from the DMA pool as a fallback. With this fix applied i was able to boot a PAGEALLOC=y kernel that would hang before. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1e3e19723ecd58149388f3eecbd3285825f64f3b Author: Ingo Molnar Date: Wed Oct 17 18:04:34 2007 +0200 x86: prepare page allocator for high allocations on PAGEALLOC=y To preserve the DMA pool in CONFIG_DEBUG_PAGEALLOC=y kernels, we'll allocate pagetables from above the 16MB DMA limit, so we'll have to set up boot pagetables to cover 16MB more RAM (worst-case). Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f97586b610dc87a6494236118321e56ffc13319c Author: Ingo Molnar Date: Wed Oct 17 18:04:34 2007 +0200 x86: do not crash on non-Geode PCs in TSC probe with this fix Geode kernels can be booted (and QA-ed) on generic PCs. otherwise it crashes and burns during early bootup: Detected 2160.212 MHz processor. general protection fault: 0000 [#1] PREEMPT SMP Modules linked in: CPU: 0 EIP: 0060:[] Not tainted VLI EFLAGS: 00010002 (2.6.23-rc9 #90) EIP is at tsc_init+0xa6/0x150 eax: 00000001 ebx: c1dce000 ecx: 00001900 edx: 00000001 esi: 00051000 edi: 00051000 ebp: c08fdfc4 esp: c08fdfa4 ds: 007b es: 007b fs: 00d8 gs: 0000 ss: 0068 Process swapper (pid: 0, ti=c08fc000 task=c082a180 task.ti=c08fc000) Stack: c076b870 00000870 000000d4 0000001d c0831e80 c1dce000 00051000 00051000 c08fdfcc c09053f8 c08fdff8 c09045ff 000001e2 c09040a0 00051000 00000020 0004e500 c0932140 00020800 00099800 c08ed000 01409007 00000000 Call Trace: [] show_trace_log_lvl+0x1a/0x30 [] show_stack_log_lvl+0xb6/0x100 [] show_registers+0x212/0x3a0 [] die+0x104/0x220 [] do_general_protection+0x1ef/0x2b0 [] error_code+0x72/0x78 [] time_init+0x8/0x20 [] start_kernel+0x1af/0x320 [<00000000>] 0x0 ======================= Code: 31 d2 b8 00 00 09 3d f7 35 2c 70 9b c0 a3 04 95 8f c0 e8 ce 4e 99 ff b8 e0 45 93 c0 e8 94 b1 c5 ff e8 7f 3d 80 ff b9 00 19 00 00 <0f> 32 f6 c4 01 74 07 83 25 24 ce 82 c0 fd 8b 0d 20 ce 82 c0 b8 EIP: [] tsc_init+0xa6/0x150 SS:ESP 0068:c08fdfa4 Kernel panic - not syncing: Attempted to kill the idle task! Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3fb450a327fc098efe6c9f000d470abac354cfcc Author: Ingo Molnar Date: Wed Oct 17 18:04:34 2007 +0200 x86: enable NMI watchdog on nosmp if nosmp has been passed as a boot option, but nmi_watchdog=2 has also been enabled then keep minimal local APIC functionality around to make the watchdog work. this allowed me to debug a hard hang that would only occur with a nosmp bootup. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2f62c94176af875f22ecd01887a550d5d48092fc Author: Andi Kleen Date: Wed Oct 17 18:04:34 2007 +0200 x86_64: Fix compat emulation of PTRACE_GET/SET_THREAD_AREA Since the 64bit kernel has different indexes for this TLS segments the address needs to be adjusted in the ptrace 32bit emulation. [ tglx: arch/x86 adaptation ] Reported-by: Amnon Shiloh Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f68fd5f480248ca49e20e30a8e2387bc54694580 Author: Fengguang Wu Date: Wed Oct 17 18:04:34 2007 +0200 x86: call free_init_pages() with irqs enabled in alternative_instructions() In alternative_instructions(), call free_init_pages() with irqs enabled. It fixes the warning message in smp_call_function*(), which should not be called with irqs disabled. [ 0.310000] CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) [ 0.310000] CPU: L2 Cache: 512K (64 bytes/line) [ 0.310000] CPU 0/0 -> Node 0 [ 0.310000] SMP alternatives: switching to UP code [ 0.310000] Freeing SMP alternatives: 25k freed [ 0.310000] WARNING: at arch/x86_64/kernel/smp.c:397 smp_call_function_mask() [ 0.310000] [ 0.310000] Call Trace: [ 0.310000] [] dump_trace+0x3ee/0x4a0 [ 0.310000] [] show_trace+0x43/0x70 [ 0.310000] [] dump_stack+0x15/0x20 [ 0.310000] [] smp_call_function_mask+0x94/0xa0 [ 0.310000] [] smp_call_function+0x32/0x40 [ 0.310000] [] on_each_cpu+0x1f/0x50 [ 0.310000] [] global_flush_tlb+0x8c/0x110 [ 0.310000] [] free_init_pages+0xe5/0xf0 [ 0.310000] [] alternative_instructions+0x7e/0x150 [ 0.310000] [] check_bugs+0x1a/0x20 [ 0.310000] [] start_kernel+0x2da/0x380 [ 0.310000] [] _sinittext+0x132/0x140 [ 0.310000] [ 0.320000] ACPI: Core revision 20070126 [ 0.560000] Using local APIC timer interrupts. [ 0.590000] Detected 62.496 MHz APIC timer. [ 0.590000] Brought up 1 CPUs [ tglx: arch/x86 adaptation ] Cc: Laurent Vivier Cc: Andi Kleen Signed-off-by: Fengguang Wu Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c1217a75ea102d4e69321f210fab60bc47b9a48e Author: Kirill Korotaev Date: Wed Oct 17 18:04:33 2007 +0200 x86: mark read_crX() asm code as volatile Some gcc versions (I checked at least 4.1.1 from RHEL5 & 4.1.2 from gentoo) can generate incorrect code with read_crX()/write_crX() functions mix up, due to cached results of read_crX(). The small app for x8664 below compiled with -O2 demonstrates this (i686 does the same thing): commit f891dd18c107d582c3ab98da5209c930e16baf78 Author: Andi Kleen Date: Wed Oct 17 18:04:33 2007 +0200 x86: initialize 64bit registers for a.out executables Previously the data from before the exec was kept in there. Zero them instead. [ tglx: arch/x86 adaptation ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1c5b5cfd290b6cb7c67020ef420e275f746a7236 Author: Andrey Mirkin Date: Wed Oct 17 18:04:33 2007 +0200 x86: return correct error code from child_rip in x86_64 entry.S Right now register edi is just cleared before calling do_exit. That is wrong because correct return value will be ignored. Value from rax should be copied to rdi instead of clearing edi. AK: changed to 32bit move because it's strictly an int [ tglx: arch/x86 adaptation ] Signed-off-by: Andrey Mirkin Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aa506dc7b12d03fbf8fd11aab752aed1aadd9c07 Author: Jan Beulich Date: Wed Oct 17 18:04:33 2007 +0200 i386: avoid temporarily inconsistent pte-s One more of these issues (which were considered fixed a few releases back): other than on x86-64, i386 allows set_fixmap() to replace already present mappings. Consequently, on PAE, care must be taken to not update the high half of a pte while the low half is still holding the old value. [ tglx: arch/x86 adaptation ] Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner arch/x86/mm/pgtable_32.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit d72b1b4f41b5159d2d0e54e54c794d500197572e Author: Sam Ravnborg Date: Wed Oct 17 18:04:33 2007 +0200 i386: fix section mismatch warning in intel.c Fix following section mismatch warning: WARNING: vmlinux.o(.text+0xc88c): Section mismatch: reference to .init.text:trap_init_f00f_bug (between 'init_intel' and 'cpuid4_cache_lookup') init_intel are __cpuint where trap_init_f00f_bug is __init. Fixed by declaring trap_init_f00f_bug __cpuinit. Moved the defintion of trap_init_f00f_bug to the sole user in init.c so the ugly prototype in intel.c could get killed. Frank van Maarseveen supplied the .config used to reproduce the warning. [ tglx: arch/x86 adaptation ] Cc: Frank van Maarseveen Signed-off-by: Sam Ravnborg Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 25d1b5167780c7f245d9655d302f6a3d8bf61d19 Author: Satyam Sharma Date: Wed Oct 17 18:04:33 2007 +0200 i386: Fix section mismatch Fix bugzilla #8679 WARNING: arch/i386/kernel/built-in.o(.data+0x2148): Section mismatch: reference to .init.text: (between 'thermal_throttle_cpu_notifier' and 'mtrr_mutex') comes because struct notifier_block thermal_throttle_cpu_notifier in arch/i386/kernel/cpu/mcheck/therm_throt.c goes in .data section but the notifier callback function itself has been marked __cpuinit which becomes __init == .init.text when HOTPLUG_CPU=n. The warning is bogus because the callback will never be called out if HOTPLUG_CPU=n in the first place (as one can see from kernel/cpu.c, the cpu_chain itself is __cpuinitdata :-) So, let's mark thermal_throttle_cpu_notifier as __cpuinitdata to fix the section mismatch warning. [ tglx: arch/x86 adaptation ] Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 58d5fa7a6a6fc4754d295d0999b284edd67c8620 Author: Siddha, Suresh B Date: Wed Oct 17 18:04:33 2007 +0200 i386: fix 4 bit apicid assumption of mach-default Fix get_apic_id() in mach-default, so that it uses 8 bits incase of xAPIC case and 4 bits for legacy APIC case. This fixes the i386 kernel assumption that apic id is less than 16 for xAPIC platforms with 8 cpus or less and makes the kernel boot on such platforms. [ tglx: arch/x86 adaptation ] Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Andrew Morton Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 801916c1b369b637ce799e6c71a94963ff63df79 Author: Andrew Hastings Date: Wed Oct 17 18:04:33 2007 +0200 x86: fix off-by-one in find_next_zero_string Fix an off-by-one error in find_next_zero_string which prevents allocating the last bit. [ tglx: arch/x86 adaptation ] Signed-off-by: Andrew Hastings on behalf of Cray Inc. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6442eea937ef797d4b66733f49c82e2fdc2aca6f Author: Laurent Vivier Date: Wed Oct 17 18:04:33 2007 +0200 i386: export i386 smp_call_function_mask() to modules This patch export i386 smp_call_function_mask() with EXPORT_SYMBOL(). This function is needed by KVM to call a function on a set of CPUs. [ tglx: arch/x86 adaptation ] Signed-off-by: Laurent Vivier Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f79eb83b3af419c4e079c8312b3c70fb6391117a Author: Roland McGrath Date: Wed Oct 17 18:04:32 2007 +0200 x86: Install unstripped copy of 64bit vdso to disk This keeps an unstripped copy of the 64bit vDSO images built before they are stripped and embedded in the kernel. The unstripped copies get installed in $(MODLIB)/vdso/ by "make install" (or you can explicitly use the subtarget "make vdso_install"). These files can be useful when they contain source-level debugging information. [ tglx: arch/x86 adaptation ] Signed-off-by: Roland McGrath Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit af7e6a7464249251efb2c4f67124e4d022985994 Author: Roland McGrath Date: Wed Oct 17 18:04:32 2007 +0200 x86_64: install unstripped copies of compat vdso on disk This keeps an unstripped copy of the vDSO images built before they are stripped and embedded in the kernel. The unstripped copies get installed in $(MODLIB)/vdso/ by "make install" (or you can explicitly use the subtarget "make vdso_install"). These files can be useful when they contain source-level debugging information. [ tglx: arch/x86 adaptation ] Signed-off-by: Roland McGrath Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8957ecab029669f43512e53521e8b59ec6b07bdd Author: Adrian Bunk Date: Wed Oct 17 18:04:32 2007 +0200 i386: setup_trampoline() must be __cpuinit WARNING: arch/i386/kernel/built-in.o(.text+0xf201): Section mismatch: reference to .init.data:trampoline_end (between 'setup_trampoline' and 'cpu_coregroup_map') WARNING: arch/i386/kernel/built-in.o(.text+0xf207): Section mismatch: reference to .init.data:trampoline_data (between 'setup_trampoline' and 'cpu_coregroup_map') WARNING: arch/i386/kernel/built-in.o(.text+0xf21a): Section mismatch: reference to .init.data:trampoline_data (between 'setup_trampoline' and 'cpu_coregroup_map') Harmless but annoying warnings present when building an i386 SMP kernel with CONFIG_HOTPLUG_CPU=n and gcc < 4.0 . [ tglx: arch/x86 adaptation ] Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit afc54659b1023a5232a55b7b8919294c693ff8ab Author: Andrew Morton Date: Wed Oct 17 18:04:32 2007 +0200 x86: clean up apicid_to_node declaration Use the correct #define in the declaration of apicid_to_node[], to match the definition. [ tglx: arch/x86 adaptation ] Cc: Andi Kleen Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0f8e45a288991ff24951b83fe83cf3eb011bbaed Author: Stephane Eranian Date: Wed Oct 17 18:04:32 2007 +0200 i386: make Oprofile call shutdown() only once per session Oprofile: call model->shutdown() only once to avoid calling release_ev*() multiple times [ tglx: arch/x86 adaptation ] Signed-off-by: Stephane Eranian Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3dfbc88464934fb6924a388bc03961d44f387926 Author: Thomas Gleixner Date: Wed Oct 17 18:04:32 2007 +0200 x86: C1E late detection fix. Really switch off lapic timer Doh, I completely missed that devices marked DUMMY are not running the set_mode function. So we force broadcasting, but we keep the local APIC timer running. Let the clock event layer mark the device _after_ switching it off. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c18c732ec6bf372aa959ca6534cbfc32e464defd Author: Steve French Date: Wed Oct 17 18:01:11 2007 +0000 [CIFS] fix bad handling of EAGAIN error on kernel_recvmsg in cifs_demultiplex_thread When kernel_recvmsg returns -EAGAIN or -ERESTARTSYS, then cifs_demultiplex_thread sleeps for a bit and then tries the read again. When it does this, it's not zeroing out the length and that throws off the value of total_read. Fix it to zero out the length. Can cause memory corruption: If kernel_recvmsg returns an error and total_read is a large enough value, then we'll end up going through the loop again. total_read will be a bogus value, as will (pdu_length-total_read). When this happens we end up calling kernel_recvmsg with a bogus value (possibly larger than the current iov_len). At that point, memcpy_toiovec can overrun iov. It will start walking up the stack, casting other things that are there to struct iovecs (since it assumes that it's been passed an array of them). Any pointer on the stack at an address above the kvec is a candidate for corruption here. Many thanks to Ulrich Obergfell for pointing this out. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit ba951841ceb7fa5b06ad48caa5270cc2ae17941e Author: Jens Axboe Date: Wed Oct 17 19:34:11 2007 +0200 [BLOCK] blk_rq_map_sg() next_sg fixup Don't ever use sg_next() on the last entry, it may not be valid! Signed-off-by: Jens Axboe commit a3bec5c5aea0da263111c4d8f8eabc1f8560d7bf Author: Jens Axboe Date: Wed Oct 17 19:33:05 2007 +0200 Revert "[SCSI] Remove full sg table memset()" A bit too eager - we definitely need to clear the sg table initially, so that we don't accidentally have ->page & 0x01 true and think that is a chain pointer. This reverts commit f5c0dde4c66421a3a2d7d6fa604a712c9b0744e5. commit 0eafaae84e21ac033815cc9f33c3ae889cd7ccfe Author: Thomas Bogendoerfer Date: Wed Oct 17 19:15:17 2007 +0200 [MIPS] IP22: Fix hang due to messing with timer interrupt handler As IP22 is now using do_IRQ for timer interrupt, don't mess with interrupt handler any longer Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 9ee5389c58d7e74ae06887541fbb0ff6ecc6a499 Author: Atsushi Nemoto Date: Thu Oct 18 00:57:07 2007 +0900 [MIPS] Sibyte: Fix typos in sibyte clockevent drivers Fix some typo introduced on clockevent conversion. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9d360ab4a7568a8d177280f651a8a772ae52b9b9 Author: Ralf Baechle Date: Wed Oct 17 15:38:30 2007 +0100 [MIPS] Alchemy: Renumber interrupts so irq_cpu can work. Signed-off-by: Ralf Baechle commit 820b2d853bfa431c0c2ccba5adbae621b0303c42 Author: Ralf Baechle Date: Wed Oct 17 15:37:44 2007 +0100 [MIPS] Alchemy: replace last remaining instance of au_ffs with ffs. Signed-off-by: Ralf Baechle commit c30db2480e8e6db08e64eb7e6778fb00bb01266f Author: Ralf Baechle Date: Wed Oct 17 15:36:53 2007 +0100 [MIPS] Alchemy: Reformat PM code. Signed-off-by: Ralf Baechle commit f3e8d1da389fe2e514e31f6e93c690c8e1243849 Author: Ralf Baechle Date: Wed Oct 17 10:58:43 2007 +0100 [MIPS] Alchemy: Fix build by conversion to irq_cpu.c. Signed-off-by: Ralf Baechle commit fb8dd014220f51dadcbfb91e6d1dfca69d0910a7 Author: Ralf Baechle Date: Wed Oct 17 11:32:21 2007 +0100 [MIPS] MTX1: Enable CONFIG_CROSSCOMPILE in defconfig. Signed-off-by: Ralf Baechle commit b0d4056dd6f16eca63114d0c252b214449a13cca Author: Ralf Baechle Date: Tue Oct 16 23:20:48 2007 +0100 [MIPS] Probe for usability of cp0 compare interrupt. Some processors offer the option of using the interrupt on which normally the count / compare interrupt would be signaled as a normal interupt pin. Previously this required some ugly hackery for each system which is much easier done by a quick and simple probe. Signed-off-by: Ralf Baechle commit 60b0d65541b581955279221e060f8a0a221151b4 Author: Maciej W. Rozycki Date: Tue Oct 16 18:43:26 2007 +0100 [MIPS] SYNC emulation for MIPS I processors Userland, including the C library and the dynamic linker, is keen to use the SYNC instruction, even for "generic" MIPS I binaries these days. Which makes it less than useful on MIPS I processors. This change adds the emulation, but as our do_ri() infrastructure was not really prepared to take yet another instruction, I have rewritten it and its callees slightly as follows. Now there is only a single place a possible signal is thrown from. The place is at the end of do_ri(). The instruction word is fetched in do_ri() and passed down to handlers. The handlers are called in sequence and return a result that lets the caller decide upon further processing. If the result is positive, then the handler has picked the instruction, but a signal should be thrown and the result is the signal number. If the result is zero, then the handler has successfully simulated the instruction. If the result is negative, then the handler did not handle the instruction; to make it more obvious the calls do not follow the usual 0/-Exxx result convention they now return -1 instead of -EFAULT. The calculation of the return EPC is now at the beginning. The reason is it is easier to handle it there as emulation callees may modify a register and an instruction may be located in delay slot of a branch whose result depends on the register. It has to be undone if a signal is to be raised, but it is not a problem as this is the slow-path case, and both actions are done in single places now rather than the former being scattered through emulation handlers. The part of do_cpu() being covered follows the changes to do_ri(). Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle --- commit 396a2ae08e5080b140330645743ab2567f6bc426 Author: Ralf Baechle Date: Tue Oct 16 20:05:18 2007 +0100 [MIPS] Fix modpost warning in raw binary builds. MODPOST vmlinux.o WARNING: vmlinux.o(.text+0x478): Section mismatch: reference to .init.text:start_kernel (between '_stext' and 'run_init_process') Signed-off-by: Ralf Baechle commit cbfee34520666862f8ff539e580c48958fbb7706 Author: Adrian Bunk Date: Tue Oct 16 23:31:38 2007 -0700 security/ cleanups This patch contains the following cleanups that are now possible: - remove the unused security_operations->inode_xattr_getsuffix - remove the no longer used security_operations->unregister_security - remove some no longer required exit code - remove a bunch of no longer used exports Signed-off-by: Adrian Bunk Acked-by: James Morris Cc: Chris Wright Cc: Stephen Smalley Cc: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b53767719b6cd8789392ea3e7e2eb7b8906898f0 Author: Serge E. Hallyn Date: Tue Oct 16 23:31:36 2007 -0700 Implement file posix capabilities Implement file posix capabilities. This allows programs to be given a subset of root's powers regardless of who runs them, without having to use setuid and giving the binary all of root's powers. This version works with Kaigai Kohei's userspace tools, found at http://www.kaigai.gr.jp/index.php. For more information on how to use this patch, Chris Friedhoff has posted a nice page at http://www.friedhoff.org/fscaps.html. Changelog: Nov 27: Incorporate fixes from Andrew Morton (security-introduce-file-caps-tweaks and security-introduce-file-caps-warning-fix) Fix Kconfig dependency. Fix change signaling behavior when file caps are not compiled in. Nov 13: Integrate comments from Alexey: Remove CONFIG_ ifdef from capability.h, and use %zd for printing a size_t. Nov 13: Fix endianness warnings by sparse as suggested by Alexey Dobriyan. Nov 09: Address warnings of unused variables at cap_bprm_set_security when file capabilities are disabled, and simultaneously clean up the code a little, by pulling the new code into a helper function. Nov 08: For pointers to required userspace tools and how to use them, see http://www.friedhoff.org/fscaps.html. Nov 07: Fix the calculation of the highest bit checked in check_cap_sanity(). Nov 07: Allow file caps to be enabled without CONFIG_SECURITY, since capabilities are the default. Hook cap_task_setscheduler when !CONFIG_SECURITY. Move capable(TASK_KILL) to end of cap_task_kill to reduce audit messages. Nov 05: Add secondary calls in selinux/hooks.c to task_setioprio and task_setscheduler so that selinux and capabilities with file cap support can be stacked. Sep 05: As Seth Arnold points out, uid checks are out of place for capability code. Sep 01: Define task_setscheduler, task_setioprio, cap_task_kill, and task_setnice to make sure a user cannot affect a process in which they called a program with some fscaps. One remaining question is the note under task_setscheduler: are we ok with CAP_SYS_NICE being sufficient to confine a process to a cpuset? It is a semantic change, as without fsccaps, attach_task doesn't allow CAP_SYS_NICE to override the uid equivalence check. But since it uses security_task_setscheduler, which elsewhere is used where CAP_SYS_NICE can be used to override the uid equivalence check, fixing it might be tough. task_setscheduler note: this also controls cpuset:attach_task. Are we ok with CAP_SYS_NICE being used to confine to a cpuset? task_setioprio task_setnice sys_setpriority uses this (through set_one_prio) for another process. Need same checks as setrlimit Aug 21: Updated secureexec implementation to reflect the fact that euid and uid might be the same and nonzero, but the process might still have elevated caps. Aug 15: Handle endianness of xattrs. Enforce capability version match between kernel and disk. Enforce that no bits beyond the known max capability are set, else return -EPERM. With this extra processing, it may be worth reconsidering doing all the work at bprm_set_security rather than d_instantiate. Aug 10: Always call getxattr at bprm_set_security, rather than caching it at d_instantiate. [morgan@kernel.org: file-caps clean up for linux/capability.h] [bunk@kernel.org: unexport cap_inode_killpriv] Signed-off-by: Serge E. Hallyn Cc: Stephen Smalley Cc: James Morris Cc: Chris Wright Cc: Andrew Morgan Signed-off-by: Andrew Morgan Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57c521ce6125e15e99e56c902cb8da96bee7b36d Author: Alexey Dobriyan Date: Tue Oct 16 23:31:35 2007 -0700 ifdef struct task_struct::security For those who don't care about CONFIG_SECURITY. Signed-off-by: Alexey Dobriyan Cc: "Serge E. Hallyn" Cc: Casey Schaufler Cc: James Morris Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20510f2f4e2dabb0ff6c13901807627ec9452f98 Author: James Morris Date: Tue Oct 16 23:31:32 2007 -0700 security: Convert LSM into a static interface Convert LSM into a static interface, as the ability to unload a security module is not required by in-tree users and potentially complicates the overall security architecture. Needlessly exported LSM symbols have been unexported, to help reduce API abuse. Parameters for the capability and root_plug modules are now specified at boot. The SECURITY_FRAMEWORK_VERSION macro has also been removed. In a nutshell, there is no safe way to unload an LSM. The modular interface is thus unecessary and broken infrastructure. It is used only by out-of-tree modules, which are often binary-only, illegal, abusive of the API and dangerous, e.g. silently re-vectoring SELinux. [akpm@linux-foundation.org: cleanups] [akpm@linux-foundation.org: USB Kconfig fix] [randy.dunlap@oracle.com: fix LSM kernel-doc] Signed-off-by: James Morris Acked-by: Chris Wright Cc: Stephen Smalley Cc: "Serge E. Hallyn" Acked-by: Arjan van de Ven Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c3b447457789374cdb7b03afe2540d48c649a36 Author: Rob Landley Date: Tue Oct 16 23:31:31 2007 -0700 Add section IDs to Documentation/DocBook/filesystems.tmpl Add recommended section IDs to Documentation/DocBook/filesystems.tmpl Signed-off-by: Rob Landley Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f51bed3b7b691d873a84e0ba24aadd862bf6033 Author: Rob Landley Date: Tue Oct 16 23:31:31 2007 -0700 Fix "make htmldocs" build break. Fix two htmldocs build breaks, introduced by moving include/linux/usb_gadget.h to include/linux/usb/gadget.h and combining resume.c and suspend.c into main.c in drivers/base/power. Signed-off-by: Rob Landley Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e54e54a94cde0c2409974a4222ef2eda2e5609c8 Author: Rob Landley Date: Tue Oct 16 23:31:30 2007 -0700 Add Documentation/RCU/00-Index Add Documentation/RCU/00-INDEX Signed-off-by: Rob Landley Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 541ceb359e3fb2714bf7a9fa3c134ce3e29f427a Author: Rob Landley Date: Tue Oct 16 23:31:30 2007 -0700 Add recommended section IDs to deviceiobook.tmpl Add recommended section ID tags to deviceiobook.tmpl Because otherwise the link #anchors in the html vary from build to build. Signed-off-by: Rob Landley Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d63494f780a77f3edfe9b470d65b7f265ae8d5a Author: Randy Dunlap Date: Tue Oct 16 23:31:29 2007 -0700 remap_file_pages: kernel-doc corrections Fix kernel-doc for sys_remap_file_pages() and add info to the 'prot' NOTE. Rename __prot parameter to prot. Signed-off-by: Randy Dunlap Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f32143a2fedfa299d790ca96bff9b1d2e2d6996b Author: WANG Cong Date: Tue Oct 16 23:31:29 2007 -0700 Documentation/vm/slabinfo.c: clean up this code This patch does the following cleanups for Documentation/vm/slabinfo.c: - Fix two memory leaks; - Constify some char pointers; - Use snprintf instead of sprintf in case of buffer overflow; - Fix some indentations; - Other little improvements. Acked-by: Christoph Lameter Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24950898ffd161f2ea67c60f398146457bca8bf0 Author: Pavel Machek Date: Tue Oct 16 23:31:28 2007 -0700 vm.txt: document min_free_pages as critical for correctness min_free_pages is critical for correctness, document it as such. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4e875704d8ebf0323235e635e666432f097ae42 Author: Pavel Machek Date: Tue Oct 16 23:31:28 2007 -0700 kdump: documentation cleanups This cleans up kdump documentation a bit. Plus I do not think we want to mention Linux trademark in _every_ file in documentation.... Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1482f40c975e883f209aab659ec75a0afd84075 Author: Matthew Wilcox Date: Tue Oct 16 23:31:27 2007 -0700 Update DMA-mapping documentation A couple of updates haven't considered whether the documentation makes sense as a whole any more. Three changes here: - Remove the reference to the "DAC Addressing for Address Space Hungry Devices" section which was deleted by Jan Beulich. - Remove the comment about DMA_24BIT_MASK which became obsolete when Tobias Klauser changed the code to actually use DMA_24BIT_MASK. - Remove the section "64-bit DMA and DAC cycle support" since it's fully covered above, and contains a reference to the section deleted by Jan. Signed-off-by: Matthew Wilcox Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 814073620a2eb520c8bb38e0038fd1c78011fe21 Author: Rob Landley Date: Tue Oct 16 23:31:26 2007 -0700 Add Documentation/power/00-INDEX Add Documentation/power/00-INDEX Signed-off-by: Rob Landley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d198a825ac589f7506886a37051805e73d132f5 Author: Rob Landley Date: Tue Oct 16 23:31:26 2007 -0700 Add entries to Documentation/powerpc Add two missing entries to Documentation/powerpc/00-INDEX Signed-off-by: Rob Landley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2216886be6c8cc7dcbe635e0494f9cd52d3bb27f Author: Rob Landley Date: Tue Oct 16 23:31:25 2007 -0700 Add Documentation/{w1,w1/masters}/00-INDEX Two 00-INDEX files under Documentation/w1 Signed-off-by: Rob Landley Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ef43567c55c758c651f8339d01678f12d54ac2a Author: Rob Landley Date: Tue Oct 16 23:31:25 2007 -0700 Add missing entries to top level Documentation/00-INDEX Add missing entries to Documentation/00-INDEX Signed-off-by: Rob Landley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0ae5669be0ec8b93d6e6f56001c60c3113df694 Author: Rob Landley Date: Tue Oct 16 23:31:24 2007 -0700 Tweak Documentation/SM501.txt The existing Documentation/SM501.txt gives no clue what the chip is or does, so copy the description from Kconfig help text. Acked-by: Ben Dooks Signed-off-by: Rob Landley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac984abe12208f07c3b4ef68e3186adbc4288b4d Author: Bernhard Walle Date: Tue Oct 16 23:31:23 2007 -0700 Add reset_devices to the recommended parameters This patch adds the "reset_devices" option (that's used only by one device driver for now) to the recommended list of command line parameters for kdump. Meaning (Documentation/kernel-parameters.txt): reset_devices [KNL] Force drivers to reset the underlying device during initialization. Signed-off-by: Bernhard Walle Cc: "Randy.Dunlap" Cc: Vivek Goyal Cc: "Eric W. Biederman" Cc: Haren Myneni Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fd45090d6aed83e3978689d8dc98ce16b9689dd Author: Bernhard Walle Date: Tue Oct 16 23:31:22 2007 -0700 Express new ELF32 mechanisms in documentation This patch reflects the http://git.kernel.org/?p=linux/kernel/git/horms/kexec-tools-testing.git;a=commit;h=b9c3648e690ad0dad12389659673206213a09760 change in kexec-tools-testing also now in the kernel documentation. Signed-off-by: Bernhard Walle Cc: "Randy.Dunlap" Cc: Vivek Goyal Cc: "Eric W. Biederman" Cc: Haren Myneni Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f00b51654ec919620aec911b4c3fa4ef3952bb6d Author: Randy Dunlap Date: Tue Oct 16 23:31:22 2007 -0700 Update help text for CONFIG_CRASH_DUMP Fix typos in CONFIG_RELOCATABLE. Use tab + 2 spaces for indentation on all lines. Signed-off-by: Randy Dunlap Cc: Bernhard Walle Cc: Vivek Goyal Cc: "Eric W. Biederman" Cc: Haren Myneni Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bc9d4227f056f8ff435910b5582d0ec3243848e Author: Bernhard Walle Date: Tue Oct 16 23:31:21 2007 -0700 Express relocatability of kernel on x86_64 in documentation This patch adapts the Documentation/kdump/kdump.txt file to express the fact that the x86_64 kernel is now also relocatable. This makes i386 and x86_64 now behave the same, simplifying the documentation. Signed-off-by: Bernhard Walle Cc: "Randy.Dunlap" Cc: Vivek Goyal Cc: "Eric W. Biederman" Cc: Haren Myneni Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98612acd7d98d7f0b5b85f9d1f9100c8ad8001f0 Author: Robert P. J. Day Date: Tue Oct 16 23:31:20 2007 -0700 Documentation: delete unreferenced xterm-linux.xpm file Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b5b55f6c404fa730a09a8254eb19f5a038afcc2 Author: Randy Dunlap Date: Tue Oct 16 23:31:20 2007 -0700 kernel-doc: fix doc blocks and html Johannes Berg reports (Thanks!) that &struct names are not highlighted in html output format when they are inside a DOC: block. DOC: blocks were not escaped thru xml_escape() like other kernel-doc comments were. Fixed that. However, that left a problem with

($blankline_html) being processed thru xml_escape(), converting it to <p>, which isn't good for the generated html output (the

should remain unchanged), so this patch also introduces the notion of "local" kernel-doc meta-characters ('\\\\mnemonic:'), which are converted to html just before writing the stream to its output file. Please report any problems that you (anyone) see in "highlighting" in any output mode (text, man, html, xml). Also update copyright to include me. Signed-off-by: Randy Dunlap Cc: Johannes Berg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51448e2ad72c3cdb50e4118edc47fbcbcc1d03d3 Author: Jesper Juhl Date: Tue Oct 16 23:31:19 2007 -0700 Add a 00-INDEX file to Documentation/telephony/ Add a 00-INDEX file to Documentation/telephony/ Signed-off-by: Jesper Juhl Acked-by: Rob Landley Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea069f46fcef2458442e1289d01a5dcd57a75b0f Author: Jesper Juhl Date: Tue Oct 16 23:31:19 2007 -0700 Add a 00-INDEX file to Documentation/sysctl/ Add a 00-INDEX file to Documentation/sysctl/ Signed-off-by: Jesper Juhl Cc: Rob Landley Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87d26cd88e4450e8e2b64a043ce63ceab792c8e3 Author: Jesper Juhl Date: Tue Oct 16 23:31:18 2007 -0700 Add a 00-INDEX file to Documentation/mips/ Add a 00-INDEX file to Documentation/mips/ Signed-off-by: Jesper Juhl Cc: Rob Landley Cc: Randy Dunlap Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e11f9a17b0c037bb627628ce4b45897e0797c479 Author: David Rientjes Date: Tue Oct 16 23:31:17 2007 -0700 doc: move vm/00-INDEX to Documentation/vm Looks like the 00-INDEX file lost its parent directory in -rc6-mm1. Signed-off-by: David Rientjes Cc: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f27d87ba57cfeee6e58797011cb082d65b70815 Author: Jesper Juhl Date: Tue Oct 16 23:31:17 2007 -0700 Add a missing 00-INDEX file for Documentation/vm/ This patch adds a 00-INDEX file to Documentation/vm/ Signed-off-by: Jesper Juhl Acked-by: Rob Landley Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d4b3559334ccd76a5c68c86e8bfce1d21b4badf Author: Denis Cheng Date: Tue Oct 16 23:31:16 2007 -0700 Documentation: add entries to filesystems/00-INDEX for several untracked files Signed-off-by: Denis Cheng Cc: Rob Landley Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 451ad114c6d8c5d39fd41d886fe87179d012ac73 Author: Rob Landley Date: Tue Oct 16 23:31:16 2007 -0700 Documentation/make/headers_install.txt Some documentation for "make headers_install". Signed-off-by: Rob Landley Cc: David Woodhouse Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ee052253c780493fa8814c1fe83e87494ae694d Author: Jesper Juhl Date: Tue Oct 16 23:31:15 2007 -0700 Clean up duplicate includes in Documentation/ This patch cleans up duplicate includes in Documentation/ Signed-off-by: Jesper Juhl Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8754beedbdc56864bc5f8c9461929a9b328b899 Author: Dave Hansen Date: Tue Oct 16 23:31:15 2007 -0700 r/o bind mounts: create cleanup helper svc_msnfs() I'm going to be modifying nfsd_rename() shortly to support read-only bind mounts. This #ifdef is around the area I'm patching, and it starts to get really ugly if I just try to add my new code by itself. Using this little helper makes things a lot cleaner to use. Signed-off-by: Dave Hansen Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7eb26678e59f16f4e84f1176d187cd21a27414d Author: Dave Hansen Date: Tue Oct 16 23:31:14 2007 -0700 r/o bind mounts: give permission() a local 'mnt' variable First of all, this makes the structure jumping look a little bit cleaner. So, this stands alone as a tiny cleanup. But, we also need 'mnt' by itself a few more times later in this series, so this isn't _just_ a cleanup. Signed-off-by: Dave Hansen Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b41572e929221b0d87f529106cdf12185ee84bca Author: Dave Hansen Date: Tue Oct 16 23:31:14 2007 -0700 r/o bind mounts: rearrange may_open() to be r/o friendly may_open() calls vfs_permission() before it does checks for IS_RDONLY(inode). It checks _again_ inside of vfs_permission(). The check inside of vfs_permission() is going away eventually. With the mnt_want/drop_write() functions, all of the r/o checks (except for this one) are consistently done before calling permission(). Because of this, I'd like to use permission() to hold a debugging check to make sure that the mnt_want/drop_write() calls are actually being made. So, to do this: 1. remove the IS_RDONLY() check from permission() 2. enforce that you must mnt_want_write() before even calling permission() 3. actually add the debugging check to permission() We need to rearrange may_open() to do r/o checks before calling permission(). Here's the patch. Signed-off-by: Dave Hansen Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce8d2cdf3d2b73e346c82e6f0a46da331df6364c Author: Dave Hansen Date: Tue Oct 16 23:31:13 2007 -0700 r/o bind mounts: filesystem helpers for custom 'struct file's Why do we need r/o bind mounts? This feature allows a read-only view into a read-write filesystem. In the process of doing that, it also provides infrastructure for keeping track of the number of writers to any given mount. This has a number of uses. It allows chroots to have parts of filesystems writable. It will be useful for containers in the future because users may have root inside a container, but should not be allowed to write to somefilesystems. This also replaces patches that vserver has had out of the tree for several years. It allows security enhancement by making sure that parts of your filesystem read-only (such as when you don't trust your FTP server), when you don't want to have entire new filesystems mounted, or when you want atime selectively updated. I've been using the following script to test that the feature is working as desired. It takes a directory and makes a regular bind and a r/o bind mount of it. It then performs some normal filesystem operations on the three directories, including ones that are expected to fail, like creating a file on the r/o mount. This patch: Some filesystems forego the vfs and may_open() and create their own 'struct file's. This patch creates a couple of helper functions which can be used by these filesystems, and will provide a unified place which the r/o bind mount code may patch. Also, rename an existing, static-scope init_file() to a less generic name. Signed-off-by: Dave Hansen Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 348366b963e4e1462c8354827a9cb910aa865bf2 Author: Bjorn Helgaas Date: Tue Oct 16 23:31:12 2007 -0700 PNP: add debug message for adding new device Add PNP debug message when adding a device, remove similar PNPACPI message with less information. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36405e96c8090fc8fc05d56755645a5821c98992 Author: Bjorn Helgaas Date: Tue Oct 16 23:31:11 2007 -0700 PNP: simplify PNPBIOS insert_device Hoist the struct pnp_dev alloc up into the function where it's used. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b933e19d32edce2f310dfe0fd943e32ff9798b60 Author: Bjorn Helgaas Date: Tue Oct 16 23:31:11 2007 -0700 PNP: use dev_info() in system driver Use dev_info() for a little consistency. Changes this: pnp: 00:01: ioport range 0xf50-0xf58 has been reserved pnp: 00:01: ioport range 0x408-0x40f has been reserved pnp: 00:01: ioport range 0x900-0x903 has been reserved to this: system 00:01: ioport range 0xf50-0xf58 has been reserved system 00:01: ioport range 0x408-0x40f has been reserved system 00:01: ioport range 0x900-0x903 has been reserved Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a05d0781695566296e74a3670dd5bbd3daf24ae2 Author: Bjorn Helgaas Date: Tue Oct 16 23:31:10 2007 -0700 PNP: use dev_info(), dev_err(), etc in core If we have the struct pnp_dev available, we can use dev_info(), dev_err(), etc., to give a little more information and consistency. [akpm@linux-foundation.org: fix warning] Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bfc43a0b65a11ca1e9edfa0c2bd34ce43da0346 Author: Bjorn Helgaas Date: Tue Oct 16 23:31:09 2007 -0700 PNP: simplify PNP card error handling No functional change; just return errors early instead of putting the main part of the function inside an "if" statement. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 402b310cb6e523779149139b20f46899a890e963 Author: Bjorn Helgaas Date: Tue Oct 16 23:31:09 2007 -0700 PNP: remove null pointer checks Remove some null pointer checks. Null pointers in these areas indicate programming errors, and I think it's better to oops immediately rather than return an error that is easily ignored. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cd8047b463f213c294f756119ac353312e7a152 Author: Krzysztof Oledzki Date: Tue Oct 16 23:31:08 2007 -0700 Fix very high interrupt rate for IRQ8 (rtc) unless pnpacpi=off Workaround for broken systems with BIOS that makes RTC interrupt level triggered and/or active low. See http://bugzilla.kernel.org/show_bug.cgi?id=5243 Based on the patch from Shaohua Li Signed-off-by: Krzysztof Piotr Oledzki Cc: "Li, Shaohua" Cc: Bjorn Helgaas Cc: Andi Kleen Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ef36390fabe2168fe31f245e49eb4e5f3762622 Author: Jan Beulich Date: Tue Oct 16 23:31:07 2007 -0700 PNP: don't fail device init if no DMA channel available Most drivers for devices supporting ISA DMA can operate without DMA as well (falling back zo PIO). Thus it seems inappropriate for PNP to fail device initialization in case none of the possible DMA channels are available. Instead, it should be left to the driver to decide what to do if request_dma() fails. The patch at once adjusts the code to account for the fact that pnp_assign_dma() now doesn't need to report failure anymore. Signed-off-by: Jan Beulich Cc: Adam Belay Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36e02b62084efa72f1f04c95e13295a456f394c2 Author: Rafael J. Wysocki Date: Tue Oct 16 23:31:06 2007 -0700 PNP: make pnpacpi_suspend handle errors pnpacpi_suspend() doesn't check the result returned by acpi_pm_device_sleep_state() before passing it to acpi_bus_set_power(), which may not be desirable.  Make it select the target power state of the device using its second argument if acpi_pm_device_sleep_state() fails. Signed-off-by: Rafael J. Wysocki Looks-ok-to: Pavel Machek Cc: Adam Belay Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8e961574b5b417d3fc277cbf436081fce4fc2e1 Author: Miklos Szeredi Date: Tue Oct 16 23:31:06 2007 -0700 fuse: clean up execute permission checking Define a new function fuse_refresh_attributes() that conditionally refreshes the attributes based on the validity timeout. In fuse_permission() only refresh the attributes for checking the execute bits if necessary. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9c9d7df5f8aed8b738f1ace45700e2001c1faeb Author: Miklos Szeredi Date: Tue Oct 16 23:31:05 2007 -0700 fuse: no ENOENT from fuse device read Don't return -ENOENT for a read() on the fuse device when the request was aborted. Instead return -ENODEV, meaning the filesystem has been force-umounted or aborted. Previously ENOENT meant that the request was interrupted, but now the 'aborted' flag is not set in case of interrupts. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a131de0a482ac95e6469f56981c7b063593fdc5d Author: Miklos Szeredi Date: Tue Oct 16 23:31:04 2007 -0700 fuse: no abort on interrupt Don't set 'aborted' flag on a request if it's interrupted. We have to wait for the answer anyway, and this would only a very little time while copying the reply. This means, that write() on the fuse device will not return -ENOENT during normal operation, only if the filesystem is aborted by a forced umount or through the fusectl interface. This could simplify userspace code somewhat when backward compatibility with earlier kernel versions is not required. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 819c4b3b4009275caae973691378235c177a1429 Author: Miklos Szeredi Date: Tue Oct 16 23:31:04 2007 -0700 fuse: cleanup in release Move dput/mntput pair from request_end() to fuse_release_end(), because there's no other place they are used. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebc14c4dbeb56195950058db9aa32de06c22de0d Author: Miklos Szeredi Date: Tue Oct 16 23:31:03 2007 -0700 fuse: fix permission checking on sticky directories The VFS checks sticky bits on the parent directory even if the filesystem defines it's own ->permission(). In some situations (sshfs, mountlo, etc) the user does have permission to delete a file even if the attribute based checking would not allow it. So work around this by storing the permission bits separately and returning them in stat(), but cutting the permission bits off from inode->i_mode. This is slightly hackish, but it's probably not worth it to add new infrastructure in VFS and a slight performance penalty for all filesystems, just for the sake of fuse. [Jan Engelhardt] cosmetic fixes Signed-off-by: Miklos Szeredi Cc: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 244f6385c2891e366a7de5f6746ccc257efd8952 Author: Miklos Szeredi Date: Tue Oct 16 23:31:02 2007 -0700 fuse: refresh stale attributes in fuse_permission() fuse_permission() didn't refresh inode attributes before using them, even if the validity has already expired. Thanks to Junjiro Okajima for spotting this. Also remove some old code to unconditionally refresh the attributes on the root inode. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 074406fa6309ab8b0aca15496b16b3653e58c03d Author: Miklos Szeredi Date: Tue Oct 16 23:31:02 2007 -0700 fuse: set i_nlink to sane value after mount Aufs seems to depend on a positive i_nlink value. So fill in a dummy but sane value for the root inode at mount time. The inode attributes are refreshed with the correct values at the first opportunity. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b10099792b6276c31cee4c021e0a5d3f9a9e33ed Author: Miklos Szeredi Date: Tue Oct 16 23:31:01 2007 -0700 fuse: fix page invalidation Other than truncate, there are two cases, when fuse tries to get rid of cached pages: a) in open, if KEEP_CACHE flag is not set b) in getattr, if file size changed spontaneously Until now invalidate_mapping_pages() were used, which didn't get rid of mapped pages. This is wrong, and becomes more wrong as dirty pages are introduced. So instead properly invalidate all pages with invalidate_inode_pages2(). Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e00d2c2d4aead747d0fbee99001b00612d1082b0 Author: Miklos Szeredi Date: Tue Oct 16 23:31:01 2007 -0700 fuse: truncate on spontaneous size change Memory mappings were only truncated on an explicit truncate, but not when the file size was changed externally. Fix this by moving the truncation code from fuse_setattr to fuse_change_attributes. Yes, there are races between write and and external truncation, but we can't really do anything about them. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c756e0a4d79202535774806f148026e40466a5eb Author: Miklos Szeredi Date: Tue Oct 16 23:31:00 2007 -0700 fuse: add reference counting to fuse_file Make lifetime of 'struct fuse_file' independent from 'struct file' by adding a reference counter and destructor. This will enable asynchronous page writeback, where it cannot be guaranteed, that the file is not released while a request with this file handle is being served. The actual RELEASE request is only sent when there are no more references to the fuse_file. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de5e3dec421c44c999071b8f7e0580ad2ade92ae Author: Miklos Szeredi Date: Tue Oct 16 23:31:00 2007 -0700 fuse: fix reserved request wake up Use wake_up_all instead of wake_up in put_reserved_req(), otherwise it is possible that the right task is not woken up. Also create a separate reserved_req_waitq in addition to the blocked_waitq, since they fulfill totally separate functions. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f92b99b9dccb61760b345baf40ed37f59b91f8af Author: Miklos Szeredi Date: Tue Oct 16 23:30:59 2007 -0700 fuse: update backing_dev_info congestion state Set the read and write congestion state if the request queue is close to blocking, and clear it when it's not. This prevents unnecessary blocking in readahead and (when writable mmaps are allowed) writeback. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fdc1ca8abae72c5829e099fd35626b83ecb12666 Author: Jesper Juhl Date: Tue Oct 16 23:30:58 2007 -0700 floppy: remove register keyword use from floppy driver The floppy drive is slow. These days I see absolutely no good reason why the floppy driver should try to gain a tiny bit of speed by telling gcc to optimize access to some variables via the register keyword. Better to just leave gcc free to do whatever optimizations it deduces to be sane and not hamper it by telling it that some variables in the floppy driver are special and need to be fast (they don't). Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aee9041c5f36aa1353ada995c8f8bb3e6b167e4b Author: Jesper Juhl Date: Tue Oct 16 23:30:58 2007 -0700 floppy: remove dead/commented out code from floppy driver A good initial step for a cleanup seems to me to be getting rid of old dead code. This stuff is either commented out or inside '#if 0' so it is not currently in use at all, let's just get rid of it once and for all. That's a few lines less to deal with. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06f748c4754de4fe2fc8d517acf29cb46a0b2d60 Author: Jesper Juhl Date: Tue Oct 16 23:30:57 2007 -0700 floppy: do a very minimal style cleanup of the floppy driver Yes, some of this will likely be replaced in later patches, but I do not see anyone else coming out of the woodwork with any patches for this driver, so I'll ignore comments about churn. I want to get this driver cleaned up, and if I'm going to do so I want to start with this basic style cleanup to reduce the reading pain a bit. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2da272a4e581e831e3567a37ef167686f1ea1d3 Author: Oleg Nesterov Date: Tue Oct 16 23:30:56 2007 -0700 migration_call(CPU_DEAD): use spin_lock_irq() instead of task_rq_lock() Change migration_call(CPU_DEAD) to use direct spin_lock_irq() instead of task_rq_lock(rq->idle), rq->idle can't change its task_rq(). This makes the code a bit more symmetrical with migrate_dead_tasks()'s path which uses spin_lock_irq/spin_unlock_irq. Signed-off-by: Oleg Nesterov Cc: Cliff Wickman Cc: Gautham R Shenoy Cc: Ingo Molnar Cc: Srivatsa Vaddagiri Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7b4cddcc5aca03e80e357360c9424dfba5056c2 Author: Oleg Nesterov Date: Tue Oct 16 23:30:56 2007 -0700 do CPU_DEAD migrating under read_lock(tasklist) instead of write_lock_irq(tasklist) Currently move_task_off_dead_cpu() is called under write_lock_irq(tasklist). This means it can't use task_lock() which is needed to improve migrating to take task's ->cpuset into account. Change the code to call move_task_off_dead_cpu() with irqs enabled, and change migrate_live_tasks() to use read_lock(tasklist). This all is a preparation for the futher changes proposed by Cliff Wickman, see http://marc.info/?t=117327786100003 Signed-off-by: Oleg Nesterov Cc: Cliff Wickman Cc: Gautham R Shenoy Cc: Ingo Molnar Cc: Srivatsa Vaddagiri Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf7a44168d743ca97863b7f34ed42a45fd7b5ab0 Author: NeilBrown Date: Tue Oct 16 23:30:55 2007 -0700 md: make sure read errors are auto-corrected during a 'check' resync in raid1 Whenever a read error is found, we should attempt to overwrite with correct data to 'fix' it. However when do a 'check' pass (which compares data blocks that are successfully read, but doesn't normally overwrite) we don't do that. We should. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7f3d291a0e1330f341fdf1128b2d12fff7932ee Author: Iustin Pop Date: Tue Oct 16 23:30:54 2007 -0700 md: expose the degraded status of an assembled array through sysfs The 'degraded' attribute is useful to quickly determine if the array is degraded, instead of parsing 'mdadm -D' output or relying on the other techniques (number of working devices against number of defined devices, etc.). The md code already keeps track of this attribute, so it's useful to export it. Signed-off-by: Iustin Pop Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b12ab6d33f413aabb623197eeecaad5c216e6ae Author: NeilBrown Date: Tue Oct 16 23:30:53 2007 -0700 md: 'sync_action' in sysfs returns wrong value for readonly arrays When an array is started read-only, MD_RECOVERY_NEEDED can be set but no recovery will be running. This causes 'sync_action' to report the wrong value. We could remove the test for MD_RECOVERY_NEEDED, but doing so would leave a small gap after requesting a sync action, where 'sync_action' would still report the old value. So make sure that for a read-only array, 'sync_action' always returns 'idle'. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8299d7f7c067a30a67ad359d416128c4ff57dcd1 Author: NeilBrown Date: Tue Oct 16 23:30:53 2007 -0700 md: fix a bug in some never-used code. http://bugzilla.kernel.org/show_bug.cgi?id=3277 There is a seq_printf here that isn't being passed a 'seq'. Howeve as the code is inside #ifdef MD_DEBUG, nobody noticed. Also remove some extra spaces. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ebf2c1260705a2ce51ad19af33059f08211579d Author: Adrian Bunk Date: Tue Oct 16 23:30:52 2007 -0700 bitmap.h: remove dead artifacts bitmap_active() no longer exists and BITMAP_ACTIVE is no longer used. Signed-off-by: Adrian Bunk Cc: Neil Brown Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d936ec1fdc1541cd6d59d21ddb8b9386e2fcc4c Author: Michael J. Evans Date: Tue Oct 16 23:30:52 2007 -0700 md: software Raid autodetect dev list not array In current release kernels the md module (Software RAID) uses a static array (dev_t[128]) to store partition/device info temporarily for autostart. I discovered this (and that the devices are added as disks/partitions are discovered at boot) while I was debugging why only one of my MD arrays would come up whole, while all the others were short a disk. I eventually discovered that it was enumerating through all of 9 of my 11 hds (2 had only 4 partitions apiece) while the other 9 have 15 partitions (I wanted 64 per drive...). The last partition of the 8th drive in my 9 drive raid 5 sets wasn't added, thus making the final md array short both a parity and data disk, and it was started later, elsewhere. This patch replaces that static array with a list. [akpm@linux-foundation.org: removed unused var] Signed-off-by: Michael J. Evans Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a686cd898bd999fd026a51e90fb0a3410d258ddb Author: Martin J. Bligh Date: Tue Oct 16 23:30:46 2007 -0700 ext2 reservations Val's cross-port of the ext3 reservations code into ext2. [mbligh@mbligh.org: Small type error for printk [akpm@linux-foundation.org: fix types, sync with ext3] [mbligh@mbligh.org: Bring ext2 reservations code in line with latest ext3] [akpm@linux-foundation.org: kill noisy printk] [akpm@linux-foundation.org: remember to dirty the gdp's block] [akpm@linux-foundation.org: cross-port the missed 5dea5176e5c32ef9f0d1a41d28427b3bf6881b3a] [akpm@linux-foundation.org: cross-port e6022603b9aa7d61d20b392e69edcdbbc1789969] [akpm@linux-foundation.org: Port the omitted 08fb306fe63d98eb86e3b16f4cc21816fa47f18e] [akpm@linux-foundation.org: Backport the missed 20acaa18d0c002fec180956f87adeb3f11f635a6] [akpm@linux-foundation.org: fixes] [cmm@us.ibm.com: fix reservation extension] [bunk@stusta.de: make ext2_get_blocks() static] [hugh@veritas.com: fix hang] [hugh@veritas.com: ext2_new_blocks should reset the reservation window size] [hugh@veritas.com: ext2 balloc: fix off-by-one against rsv_end] [hugh@veritas.com: grp_goal 0 is a genuine goal (unlike -1), so ext2_try_to_allocate_with_rsv should treat it as such] [hugh@veritas.com: rbtree usage cleanup] [pbadari@us.ibm.com: Fix for ext2 reservation] [bunk@kernel.org: remove fs/ext2/balloc.c:reserve_blocks()] [hugh@veritas.com: ext2 balloc: use io_error label] Cc: "Martin J. Bligh" Cc: Valerie Henson Cc: Mingming Cao Cc: Mel Gorman Cc: Hugh Dickins Signed-off-by: Adrian Bunk Signed-off-by: Hugh Dickins Signed-off-by: Badari Pulavarty Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 369f2389e7d03022abdd25e298bffb9613cd0e54 Author: Fengguang Wu Date: Tue Oct 16 23:30:45 2007 -0700 writeback: remove unnecessary wait in throttle_vm_writeout() We don't want to introduce pointless delays in throttle_vm_writeout() when the writeback limits are not yet exceeded, do we? Cc: Nick Piggin Cc: OGAWA Hirofumi Cc: Kumar Gala Cc: Pete Zaitcev Cc: Greg KH Reviewed-by: Rik van Riel Signed-off-by: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c0eeaf5698597146ed9b873e2f9e0961edcf0f9 Author: Joern Engel Date: Tue Oct 16 23:30:44 2007 -0700 introduce I_SYNC I_LOCK was used for several unrelated purposes, which caused deadlock situations in certain filesystems as a side effect. One of the purposes now uses the new I_SYNC bit. Also document the various bits and change their order from historical to logical. [bunk@stusta.de: make fs/inode.c:wake_up_inode() static] Signed-off-by: Joern Engel Cc: Dave Kleikamp Cc: David Chinner Cc: Anton Altaparmakov Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e6883bdf49abd0e7f0d9b6297fc3be7ebb2250b Author: Fengguang Wu Date: Tue Oct 16 23:30:43 2007 -0700 writeback: introduce writeback_control.more_io to indicate more io After making dirty a 100M file, the normal behavior is to start the writeback for all data after 30s delays. But sometimes the following happens instead: - after 30s: ~4M - after 5s: ~4M - after 5s: all remaining 92M Some analyze shows that the internal io dispatch queues goes like this: s_io s_more_io ------------------------- 1) 100M,1K 0 2) 1K 96M 3) 0 96M 1) initial state with a 100M file and a 1K file 2) 4M written, nr_to_write <= 0, so write more 3) 1K written, nr_to_write > 0, no more writes(BUG) nr_to_write > 0 in (3) fools the upper layer to think that data have all been written out. The big dirty file is actually still sitting in s_more_io. We cannot simply splice s_more_io back to s_io as soon as s_io becomes empty, and let the loop in generic_sync_sb_inodes() continue: this may starve newly expired inodes in s_dirty. It is also not an option to draw inodes from both s_more_io and s_dirty, an let the loop go on: this might lead to live locks, and might also starve other superblocks in sync time(well kupdate may still starve some superblocks, that's another bug). We have to return when a full scan of s_io completes. So nr_to_write > 0 does not necessarily mean that "all data are written". This patch introduces a flag writeback_control.more_io to indicate this situation. With it the big dirty file no longer has to wait for the next kupdate invocation 5s later. Cc: David Chinner Cc: Ken Chen Signed-off-by: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f7decf6d9f06dac008b8d66935c0c3b18e564f9 Author: Fengguang Wu Date: Tue Oct 16 23:30:42 2007 -0700 writeback: remove pages_skipped accounting in __block_write_full_page() Miklos Szeredi and me identified a writeback bug: > The following strange behavior can be observed: > > 1. large file is written > 2. after 30 seconds, nr_dirty goes down by 1024 > 3. then for some time (< 30 sec) nothing happens (disk idle) > 4. then nr_dirty again goes down by 1024 > 5. repeat from 3. until whole file is written > > So basically a 4Mbyte chunk of the file is written every 30 seconds. > I'm quite sure this is not the intended behavior. It can be produced by the following test scheme: # cat bin/test-writeback.sh grep nr_dirty /proc/vmstat echo 1 > /proc/sys/fs/inode_debug dd if=/dev/zero of=/var/x bs=1K count=204800& while true; do grep nr_dirty /proc/vmstat; sleep 1; done # bin/test-writeback.sh nr_dirty 19207 nr_dirty 19207 nr_dirty 30924 204800+0 records in 204800+0 records out 209715200 bytes (210 MB) copied, 1.58363 seconds, 132 MB/s nr_dirty 47150 nr_dirty 47141 nr_dirty 47142 nr_dirty 47142 nr_dirty 47142 nr_dirty 47142 nr_dirty 47205 nr_dirty 47214 nr_dirty 47214 nr_dirty 47214 nr_dirty 47214 nr_dirty 47214 nr_dirty 47215 nr_dirty 47216 nr_dirty 47216 nr_dirty 47216 nr_dirty 47154 nr_dirty 47143 nr_dirty 47143 nr_dirty 47143 nr_dirty 47143 nr_dirty 47143 nr_dirty 47142 nr_dirty 47142 nr_dirty 47142 nr_dirty 47142 nr_dirty 47134 nr_dirty 47134 nr_dirty 47135 nr_dirty 47135 nr_dirty 47135 nr_dirty 46097 <== -1038 nr_dirty 46098 nr_dirty 46098 nr_dirty 46098 [...] nr_dirty 46091 nr_dirty 46092 nr_dirty 46092 nr_dirty 45069 <== -1023 nr_dirty 45056 nr_dirty 45056 nr_dirty 45056 [...] nr_dirty 37822 nr_dirty 36799 <== -1023 [...] nr_dirty 36781 nr_dirty 35758 <== -1023 [...] nr_dirty 34708 nr_dirty 33672 <== -1024 [...] nr_dirty 33692 nr_dirty 32669 <== -1023 % ls -li /var/x 847824 -rw-r--r-- 1 root root 200M 2007-08-12 04:12 /var/x % dmesg|grep 847824 # generated by a debug printk [ 529.263184] redirtied inode 847824 line 548 [ 564.250872] redirtied inode 847824 line 548 [ 594.272797] redirtied inode 847824 line 548 [ 629.231330] redirtied inode 847824 line 548 [ 659.224674] redirtied inode 847824 line 548 [ 689.219890] redirtied inode 847824 line 548 [ 724.226655] redirtied inode 847824 line 548 [ 759.198568] redirtied inode 847824 line 548 # line 548 in fs/fs-writeback.c: 543 if (wbc->pages_skipped != pages_skipped) { 544 /* 545 * writeback is not making progress due to locked 546 * buffers. Skip this inode for now. 547 */ 548 redirty_tail(inode); 549 } More debug efforts show that __block_write_full_page() never has the chance to call submit_bh() for that big dirty file: the buffer head is *clean*. So basicly no page io is issued by __block_write_full_page(), hence pages_skipped goes up. Also the comment in generic_sync_sb_inodes(): 544 /* 545 * writeback is not making progress due to locked 546 * buffers. Skip this inode for now. 547 */ and the comment in __block_write_full_page(): 1713 /* 1714 * The page was marked dirty, but the buffers were 1715 * clean. Someone wrote them back by hand with 1716 * ll_rw_block/submit_bh. A rare case. 1717 */ do not quite agree with each other. The page writeback should be skipped for 'locked buffer', but here it is 'clean buffer'! This patch fixes this bug. Though I'm not sure why __block_write_full_page() is called only to do nothing and who actually issued the writeback for us. This is the two possible new behaviors after the patch: 1) pretty nice: wait 30s and write ALL:) 2) not so good: - during the dd: ~16M - after 30s: ~4M - after 5s: ~4M - after 5s: ~176M The next patch will fix case (2). Cc: David Chinner Cc: Ken Chen Signed-off-by: Fengguang Wu Signed-off-by: David Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08d8e9749e7f0435ba4683b620e8d30d59276b4c Author: Fengguang Wu Date: Tue Oct 16 23:30:39 2007 -0700 writeback: fix ntfs with sb_has_dirty_inodes() NTFS's if-condition on dirty inodes is not complete. Fix it with sb_has_dirty_inodes(). Cc: Anton Altaparmakov Cc: Ken Chen Signed-off-by: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c1365791048e8aff42138ed5f6040b3c7824a69 Author: Fengguang Wu Date: Tue Oct 16 23:30:39 2007 -0700 writeback: fix time ordering of the per superblock inode lists 8 Streamline the management of dirty inode lists and fix time ordering bugs. The writeback logic used to move not-yet-expired dirty inodes from s_dirty to s_io, *only to* move them back. The move-inodes-back-and-forth thing is a mess, which is eliminated by this patch. The new scheme is: - s_dirty acts as a time ordered io delaying queue; - s_io/s_more_io together acts as an io dispatching queue. On kupdate writeback, we pull some inodes from s_dirty to s_io at the start of every full scan of s_io. Otherwise (i.e. for sync/throttle/background writeback), we always pull from s_dirty on each run (a partial scan). Note that the line list_splice_init(&sb->s_more_io, &sb->s_io); is moved to queue_io() to leave s_io empty. Otherwise a big dirtied file will sit in s_io for a long time, preventing new expired inodes to get in. Cc: Ken Chen Cc: Andrew Morton Signed-off-by: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e0f4fc22ece8e593167eccbb1a4154565c11faa Author: Ken Chen Date: Tue Oct 16 23:30:38 2007 -0700 writeback: fix periodic superblock dirty inode flushing Current -mm tree has bucketful of bug fixes in periodic writeback path. However, we still hit a glitch where dirty pages on a given inode aren't completely flushed to the disk, and system will accumulate large amount of dirty pages beyond what dirty_expire_interval is designed for. The problem is __sync_single_inode() will move an inode to sb->s_dirty list even when there are more pending dirty pages on that inode. If there is another inode with a small number of dirty pages, we hit a case where the loop iteration in wb_kupdate() terminates prematurely because wbc.nr_to_write > 0. Thus leaving the inode that has large amount of dirty pages behind and it has to wait for another dirty_writeback_interval before we flush it again. We effectively only write out MAX_WRITEBACK_PAGES every dirty_writeback_interval. If the rate of dirtying is sufficiently high, the system will start accumulate a large number of dirty pages. So fix it by having another sb->s_more_io list on which to park the inode while we iterate through sb->s_io and to allow each dirty inode which resides on that sb to have an equal chance of flushing some amount of dirty pages. Signed-off-by: Ken Chen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 670e4def6ef5f44315d62748134e535b479c784f Author: Andrew Morton Date: Tue Oct 16 23:30:37 2007 -0700 writeback: fix time ordering of the per superblock dirty inode lists 7 This one fixes four bugs. There are a few situation in there where writeback decides it is going to skip over a blockdev inode on the kernel-internal blockdev superblock. It presently does this by moving the blockdev inode onto the tail of the blockdev superblock's s_dirty. But a) this screws up s_dirty's reverse-time-orderedness and b) refiling the blockdev for writeback in another 30 second is rude. We should try again sooner than that. Fix all this up by using redirty_head(): move the blockdev inode onto the head of the blockdev superblock's s_dirty list for prompt writeback. Cc: Mike Waychison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65cb9b47e0ea568a7a38cce7773052a6ea093629 Author: Andrew Morton Date: Tue Oct 16 23:30:37 2007 -0700 writeback: fix time ordering of the per superblock dirty inode lists 6 Recycling the previous changelog: When the writeback function is operating in writeback-for-flushing mode (as opposed to writeback-for-integrity) and it encounters an I_LOCKed inode, it will skip writing that inode. This is done for throughput and latency: move on to another inode rather than blocking for this one. Writeback skips this inode by moving it off s_io and onto s_dirty, so that writeback can proceed with the other inodes on s_io. However that inode movement can corrupt s_dirty's reverse-time-orderedness. Fix that by using the new redirty_tail(), which will update the refiled inode's dirtied_when field. Note: the behaviour in here is a bit rude: if kupdate happens to come across a locked inode then it will defer writeback of that inode for another 30 seconds. We'll address that in the next patch. Address that here. What we do is to move the skipped inode to the _head_ of s_dirty, immediately eligible for writeout again. Instead of deferring that writeout for another 30 seconds. One would think that this might cause a livelock: we keep on trying to write the same locked inode. But it won't because: a) if that was the case, it would _already_ be happening on the balance_dirty_pages codepath. Because balance_dirty_pages() doesn't care about inode timestamps. b) if we skipped this inode then we won't have done any writeback. The higher-level writeback paths will see that wbc.nr_to_write didn't change and they'll then back off and take a nap. Cc: Mike Waychison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6945e77e477103057b4a639b4b01596f5257861 Author: Andrew Morton Date: Tue Oct 16 23:30:36 2007 -0700 writeback: fix time ordering of the per superblock dirty inode lists 5 When the writeback function is operating in writeback-for-flushing mode (as opposed to writeback-for-integrity) and it encounters an I_LOCKed inode, it will skip writing that inode. This is done for throughput and latency: move on to another inode rather than blocking for this one. Writeback skips this inode by moving it off s_io and onto s_dirty, so that writeback can proceed with the other inodes on s_io. However that inode movement can corrupt s_dirty's reverse-time-orderedness. Fix that by using the new redirty_tail(), which will update the refiled inode's dirtied_when field. Note: the behaviour in here is a bit rude: if kupdate happens to come across a locked inode then it will defer writeback of that inode for another 30 seconds. We'll address that in the next patch. Cc: Mike Waychison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b43ef91d40190b16ba10218e66d5c2c4ba11de3 Author: Andrew Morton Date: Tue Oct 16 23:30:35 2007 -0700 writeback: fix comment, use helper function There's a comment in there which claims that the inode is left on s_io if nfs chickened out of writing some data. But that's not been true for three years. 9290280ced13c85689adeffa587e9a53bd3a5873 fixed a livelock by moving these inodes back onto s_dirty. Fix the comment. In the second leg of the `if', use redirty_tail() rather than open-coding it. Add weaselly comment indicating lack of confidence in the code and lack of the fortitude which would be needed to fiddle with it. Cc: Mike Waychison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c986d1e2a460cbce79d631c51519ae82c778c6c5 Author: Andrew Morton Date: Tue Oct 16 23:30:34 2007 -0700 writeback: fix time ordering of the per superblock dirty inode lists 4 When the kupdate function has tried to write back an expired inode it will then check to see whether some of the inode's pages are still dirty. This can happen when the filesystem decided to not write a page for some reason. But it does _not_ occur due to redirtyings: a redirtying will set I_DIRTY_PAGES. What we need to do here is to set I_DIRTY_PAGES to reflect reality and to then put the inode onto the _head_ of s_dirty for consideration on the next kupdate pass, in five seconds time. Problem is, the code failed to modify the inode's timestamp when pushing the inode onto thehead of s_dirty. The patch: If there are no other inodes on s_dirty then we leave the inode's timestamp alone: it is already expired. If there _are_ other inodes on s_dirty then we arrange for this inode to get the same timestamp as the inode which is at the head of s_dirty, thus preserving the s_dirty ordering. But we only need to do this if this inode purports to have been dirtied before the one at head-of-list. Cc: Mike Waychison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f57b9b7b4f68e1723ca99381dc10c8bc07d6df14 Author: Andrew Morton Date: Tue Oct 16 23:30:34 2007 -0700 writeback: fix time ordering of the per superblock dirty inode lists 3 While writeback is working against a dirty inode it does a check after trying to write some of the inode's pages: "did the lower layers skip some of the inode's dirty pages because they were locked (or under writeback, or whatever)" If this turns out to be true, we must move the inode back onto s_dirty and redirty it. The reason for doing this is that fsync() and friends only check the s_dirty list, and those functions want to know about those pages which were locked, so they can be waited upon and, if necessary, rewritten. Problem is, that redirtying was putting the inode onto the tail of s_dirty without updating its timestamp. This causes a violation of s_dirty ordering. Fix this by updating inode->dirtied_when when moving the inode onto s_dirty. But the code is still a bit buggy? If the inode was _already_ dirty then we don't need to move it at all. Oh well, hopefully it doesn't matter too much, as that was a redirtying, which was very recent anwyay. Cc: Mike Waychison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9852a0e76cd9c89e71f84e784212fdd7a97ae93a Author: Andrew Morton Date: Tue Oct 16 23:30:33 2007 -0700 writeback: fix time ordering of the per superblock dirty inode lists: memory-backed inodes For reasons which escape me, inodes which are dirty against a ram-backed filesystem are managed in the same way as inodes which are backed by real devices. Probably we could optimise things here. But given that we skip the entire supeblock as son as we hit the first dirty inode, there's not a lot to be gained. And the code does need to handle one particular non-backed superblock: the kernel's fake internal superblock which holds all the blockdevs. Still. At present when the code encounters an inode which is dirty against a memory-backed filesystem it will skip that inode by refiling it back onto s_dirty. But it fails to update the inode's timestamp when doing so which at least makes the debugging code upset. Fix. Cc: Mike Waychison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6610a0bc8dcc120daa1d93807d470d5cbf777c39 Author: Andrew Morton Date: Tue Oct 16 23:30:32 2007 -0700 writeback: fix time-ordering of the per-superblock dirty-inode lists When writeback has finished writing back an inode it looks to see if that inode is still dirty. If it is, that means that a process redirtied the inode while its writeback was in progress. What we need to do here is to refile the redirtied inode onto the s_dirty list. But we're doing that wrongly: it could be that this inode was redirtied _before_ the last inode on s_dirty. We're blindly appending this inode to the list, after an inode which might be less-recently-dirtied, thus violating the list's ordering. So we must either insertion-sort this inode into the correct place, or we must update this inode's dirtied_when field when appending it to the reverse-sorted s_dirty list, to preserve the reverse-time-ordering. This patch does the latter: if this inode was dirtied less recently than the tail inode then copy the tail inode's timestamp into this inode. This means that in rare circumstances, some inodes will be writen back later than they should have been. But the time slip will be small. Cc: Mike Waychison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b0172e1c6e6aea0a4efcfaaab38d4a02046f45a Author: Jeff Garzik Date: Tue Oct 16 23:30:31 2007 -0700 drivers/char/ip2: fix used-uninit'd bug Fix bug flagged by a variable-used-uninitialized warning. [akpm@linux-foundation.org: coding-style] Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d7f502380072542a38086588b0f200c9555ed4e Author: Michael Kerrisk Date: Tue Oct 16 23:30:31 2007 -0700 Change man-pages maintainer address The email address that I use for man-pages maintenance has changed as of now. This patch changes the address in Documentation/HOWTO and MAINTAINERS. Signed-off-by: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aef46abd62ecf2a3e3cf49de3e41dd18254032b1 Author: Randy Dunlap Date: Tue Oct 16 23:30:30 2007 -0700 dontdiff: update based on gitignore updates Update dontdiff, based on .gitignore patches from Pete Zaitcev and Adrian Bunk. Signed-off-by: Randy Dunlap Cc: Pete Zaitcev Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf3d0b8182f0746dbb9ed3609e3aa0c3802f45e8 Author: Edward Shishkin Date: Tue Oct 16 23:30:30 2007 -0700 reiserfs: do not repair wrong journal params When mounting a file system with wrong journal params do not try to repair them, suggest fsck instead. Signed-off-by: Edward Shishkin Cc: Jeff Mahoney Cc: Chris Mason Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4a1c2bce002f683801bcdbbc9fd89804614fb6b Author: Pavel Machek Date: Tue Oct 16 23:30:29 2007 -0700 lp_console: cleanups Remove NULL initializers and clean whitespace a bit. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4749252776712e587c7c7619cbf0342b080c7f44 Author: Ingo Molnar Date: Tue Oct 16 23:30:29 2007 -0700 printk: add KERN_CONT annotation printk: add the KERN_CONT annotation (which is empty string but via which checkpatch.pl can notice that the lacking KERN_ level is fine). This useful for multiple calls of hand-crafted printk output done by early debug code or similar. Signed-off-by: Ingo Molnar Cc: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ad6ecf9146e85ccb4e0bce70b91a93f57145c72 Author: Eric Sandeen Date: Tue Oct 16 23:30:28 2007 -0700 ext3: lighten up resize transaction requirements When resizing online, setup_new_group_blocks attempts to reserve a potentially very large transaction, depending on the current filesystem geometry. For some journal sizes, there may not be enough room for this transaction, and the online resize will fail. The patch below resizes & restarts the transaction as necessary while setting up the new group, and should work with even the smallest journal. Tested with something like: [root@newbox ~]# dd if=/dev/zero of=fsfile bs=1024 count=32768 [root@newbox ~]# mkfs.ext3 -b 1024 fsfile 16384 [root@newbox ~]# mount -o loop fsfile mnt/ [root@newbox ~]# resize2fs /dev/loop0 resize2fs 1.40.2 (12-Jul-2007) Filesystem at /dev/loop0 is mounted on /root/mnt; on-line resizing required old desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/loop0 to 32768 (1k) blocks. resize2fs: No space left on device While trying to add group #2 [root@newbox ~]# dmesg | tail -n 1 JBD: resize2fs wants too many credits (258 > 256) [root@newbox ~]# With the below change, it works. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Eric Sandeen Acked-by: Andreas Dilger Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d58ae67813ff97030d2f47ff7d1e5f54e5d7c5b3 Author: Akinobu Mita Date: Tue Oct 16 23:30:27 2007 -0700 module: return error when mod_sysfs_init() failed load_module() returns zero when mod_sysfs_init() fails, then the module loading will succeed accidentally. This patch makes load_module() return error correctly in that case. Acked-by: Greg Kroah-Hartman Acked-by: Rusty Russell Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22d2b35b200f76085c16a2e14ca30b58510fcbe7 Author: Ulrich Drepper Date: Tue Oct 16 23:30:26 2007 -0700 F_DUPFD_CLOEXEC implementation One more small change to extend the availability of creation of file descriptors with FD_CLOEXEC set. Adding a new command to fcntl() requires no new system call and the overall impact on code size if minimal. If this patch gets accepted we will also add this change to the next revision of the POSIX spec. To test the patch, use the following little program. Adjust the value of F_DUPFD_CLOEXEC appropriately. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #include #include #include #include #ifndef F_DUPFD_CLOEXEC # define F_DUPFD_CLOEXEC 12 #endif int main (int argc, char *argv[]) { if (argc > 1) { if (fcntl (3, F_GETFD) == 0) { puts ("descriptor not closed"); exit (1); } if (errno != EBADF) { puts ("error not EBADF"); exit (1); } exit (0); } int fd = fcntl (STDOUT_FILENO, F_DUPFD_CLOEXEC, 0); if (fd == -1 && errno == EINVAL) { puts ("F_DUPFD_CLOEXEC not supported"); return 0; } if (fd != 3) { puts ("program called with descriptors other than 0,1,2"); return 1; } execl ("/proc/self/exe", "/proc/self/exe", "1", NULL); puts ("execl failed"); return 1; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Ulrich Drepper Cc: Al Viro Cc: Christoph Hellwig Cc: Cc: Kyle McMartin Cc: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18796aa00243a594a2bd6733f1360aa38c3cd8f4 Author: Alexey Dobriyan Date: Tue Oct 16 23:30:26 2007 -0700 task_struct: move ->fpu_counter and ->oomkilladj There is nice 2 byte hole after struct task_struct::ioprio field into which we can put two 1-byte fields: ->fpu_counter and ->oomkilladj. Signed-off-by: Alexey Dobriyan Acked-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7a75f0a40073601a0fb509290019d5f3f32b94b Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Oct 16 23:30:25 2007 -0700 spin_lock_unlocked cleanups Replace some SPIN_LOCK_UNLOCKED with DEFINE_SPINLOCK Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d68c9d6ae8f1fdae7d998158adc5ee106a2f8ce6 Author: Franck Bui-Huu Date: Tue Oct 16 23:30:24 2007 -0700 Break ELF_PLATFORM and stack pointer randomization dependency Currently arch_align_stack() is used by fs/binfmt_elf.c to randomize stack pointer inside a page. But this happens only if ELF_PLATFORM symbol is defined. ELF_PLATFORM is normally set if the architecture wants ld.so to load implementation specific libraries for optimization. And currently a lot of architectures just yield this symbol to NULL. This is the case for MIPS architecture where ELF_PLATFORM is NULL but arch_align_stack() has been redefined to do stack inside page randomization. So in this case no randomization is actually done. This patch breaks this dependency which seems to be useless and allows platforms such MIPS to do the randomization. Signed-off-by: Franck Bui-Huu Cc: Ingo Molnar Cc: Arjan van de Ven Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96358de6bc2ab0bc5e8b44a8f3be4c9bf4a14e4f Author: Davide Libenzi Date: Tue Oct 16 23:30:23 2007 -0700 rename signalfd_siginfo fields For Michael Kerrisk request, the following patch renames signalfd_siginfo fields in order to keep them consistent with the siginfo_t ones. Signed-off-by: Davide Libenzi Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 059590f495f9c6e89cb018b9e612c3eec2336109 Author: Eric Sandeen Date: Tue Oct 16 23:30:23 2007 -0700 ext3: remove #ifdef CONFIG_EXT3_INDEX CONFIG_EXT3_INDEX is not an exposed config option in the kernel, and it is unconditionally defined in ext3_fs.h. tune2fs is already able to turn off dir indexing, so at this point it's just cluttering up the code. Remove it. Signed-off-by: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9c62a18a291499d15a370d08771e781fbaf91e6 Author: Alan Cox Date: Tue Oct 16 23:30:22 2007 -0700 fs: correct SuS compliance for open of large file without options The early LFS work that Linux uses favours EFBIG in various places. SuSv3 specifically uses EOVERFLOW for this as noted by Michael (Bug 7253) [EOVERFLOW] The named file is a regular file and the size of the file cannot be represented correctly in an object of type off_t. We should therefore transition to the proper error return code Signed-off-by: Alan Cox Cc: Theodore Tso Cc: Jens Axboe Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28e3fed8b79c76450f264e77c58d0f5fbd2dd739 Author: Ralf Baechle Date: Tue Oct 16 23:30:21 2007 -0700 Compile handle_percpu_irq even for uniprocessor kernels Compiling handle_percpu_irq only on uniprocessor generates an artificial special case so a typical use like: set_irq_chip_and_handler(irq, &some_irq_type, handle_percpu_irq); needs to be conditionally compiled only on SMP systems as well and an alternative UP construct is usually needed - for no good reason. This fixes uniprocessor configurations for some MIPS SMP systems. Signed-off-by: Ralf Baechle Acked-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4471cbb09c4694e54092d02715c09fda2eb45ed Author: Ahmed S. Darwish Date: Tue Oct 16 23:30:21 2007 -0700 Completely remove deprecated IRQ flags (SA_*) Only very little files use the deprecated SA_* IRQ flags in latest pull. This patch series removes such macros from the tree and transfrom old code to the new IRQF_* flags. I've grepped the whole tree to make sure that no more files than the patched ones use such deprecated macros. I hope this series won't introduce build errors. Signed-off-by: Ahmed S. Darwish Cc: Ralf Baechle Cc: James Bottomley Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38d090b080a2df56a196c0ee89f6237f0fa47fdf Author: Ahmed S. Darwish Date: Tue Oct 16 23:30:20 2007 -0700 NCR53C8XX: Remove deprecated IRQ flags (SA_*) Stop using deprecated IRQ flags in ncr53c8xx documentaion. The new IRQF_* macros are used instead. Signed-off-by: Ahmed S. Darwish Cc: James Bottomley Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96fdc72ddfe8aa3eb1f51e78cc13babefbf26dda Author: Davide Libenzi Date: Tue Oct 16 23:30:19 2007 -0700 anon-inodes use open coded atomic_inc for the shared inode Since we know the shared inode count is always >0, we can avoid igrab() and use an open coded atomic_inc(). This also fixes a bug noticed by Yan Zheng : were checking for an IS_ERR() return from igrab(), but it actually returns NULL on error. Signed-off-by: Davide Libenzi Cc: Yan Zheng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e3c3ac9db432fbdd2da92ce0f12d7912706c689 Author: Ralf Baechle Date: Tue Oct 16 23:30:18 2007 -0700 Fix wrong filename reference in drivers-testing.txt Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 315e28c8d61560e90c7d9c7c56c1b661187ab307 Author: James Pearson Date: Tue Oct 16 23:30:17 2007 -0700 Don't truncate /proc/PID/environ at 4096 characters /proc/PID/environ currently truncates at 4096 characters, patch based on the /proc/PID/mem code. Signed-off-by: James Pearson Cc: Anton Arapov Cc: Jan Engelhardt Cc: "H. Peter Anvin" Cc: Alexey Dobriyan Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ad90ec0908e453ba89947fcf7b5f6821b6c1e0c Author: WANG Cong Date: Tue Oct 16 23:30:17 2007 -0700 fs/udf/balloc.c: mark a variable as uninitialized_var() Kill a may-be-used-uninitialized warning. Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea0985ad7914d8226a81d0f1374ece7832e75e95 Author: Jan Engelhardt Date: Tue Oct 16 23:30:16 2007 -0700 menuconfig: transform Network Filesystems menu Turn Network File Systems into a menuconfig so that it can be disabled at once. (Note: I added a "default y". If you do not like that, speak up.) Signed-off-by: Jan Engelhardt Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: Steven French Cc: David Howells Cc: Eric Van Hensbergen Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a77b645609084c030020bc58639d92da4316f410 Author: Jan Engelhardt Date: Tue Oct 16 23:30:15 2007 -0700 menuconfig: transform NLS and DLM menus Changes NLS and DLM menus into a 'menuconfig' object so that it can be disabled at once without having to enter the menu first to disable the config option. Signed-off-by: Jan Engelhardt Cc: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d1df8153c5d38a8bf5e47fa755a117e5731d24c Author: Rusty Russell Date: Tue Oct 16 23:30:14 2007 -0700 HVC console is also used by iSeries, so add that to HVC_DRIVER help. Signed-off-by: Rusty Russell Acked-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e6c6f630a5282df8f3393a59f10eb9c56536d23 Author: Rusty Russell Date: Tue Oct 16 23:30:13 2007 -0700 Delay creation of khcvd thread This changes hvc_init() to be called only when someone actually uses the hvc_console driver. Dave Jones complained when profiling bootup. hvc_console used to only be for Power aka pSeries: now lguest and Xen both want it built-in in case the kernel is a guest under one of those, even though usually it will be a native boot. Signed-off-by: Rusty Russell Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd5eea4214f72bd7ac77c1c5346a9c096319131a Author: Andrey Mirkin Date: Tue Oct 16 23:30:13 2007 -0700 change inotifyfs magic as the same magic is used for futexfs Right now futexfs and inotifyfs have one magic 0xBAD1DEA, that looks a little bit confusing. Use 0xBAD1DEA as magic for futexfs and 0x2BAD1DEA as magic for inotifyfs. Signed-off-by: Andrey Mirkin Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f9a58d75bfe82ab2b8ba5b8506dfb190a267834 Author: Olaf Hering Date: Tue Oct 16 23:30:12 2007 -0700 increase AT_VECTOR_SIZE to terminate saved_auxv properly include/asm-powerpc/elf.h has 6 entries in ARCH_DLINFO. fs/binfmt_elf.c has 14 unconditional NEW_AUX_ENT entries and 2 conditional NEW_AUX_ENT entries. So in the worst case, saved_auxv does not get an AT_NULL entry at the end. The saved_auxv array must be terminated with an AT_NULL entry. Make the size of mm_struct->saved_auxv arch dependend, based on the number of ARCH_DLINFO entries. Signed-off-by: Olaf Hering Cc: Roland McGrath Cc: Jakub Jelinek Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: "Luck, Tony" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f77e34987070a20e4b3e06b868cb39eb73670467 Author: Denis Cheng Date: Tue Oct 16 23:30:11 2007 -0700 vfs: use the predefined d_unhashed inline function instead Signed-off-by: Denis Cheng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db8906da596708865a2ead6a8c2af090255ca549 Author: Pavel Emelyanov Date: Tue Oct 16 23:30:11 2007 -0700 Use KMEM_CACHE macro to create the nsproxy cache The blessed way for standard caches is to use it. Besides, this may give this cache a better alignment. Signed-off-by: Pavel Emelyanov Acked-by: Cedric Le Goater Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1efd24fa05976ea20582c18dd4b80d7311b9b94a Author: Pavel Emelyanov Date: Tue Oct 16 23:30:10 2007 -0700 Remove unused member from nsproxy The nslock spinlock is not used in the kernel at all. Remove it. Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Cc: Cedric Le Goater Cc: "Eric W. Biederman" Cc: Herbert Poetzl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 970a8645ca051225a32401e4c80b50fc0a49c081 Author: Alexey Dobriyan Date: Tue Oct 16 23:30:09 2007 -0700 user.c: #ifdef ->mq_bytes For those who deselect POSIX message queues. Reduces SLAB size of user_struct from 64 to 32 bytes here, SLUB size -- from 40 bytes to 32 bytes. [akpm@linux-foundation.org: fix build] Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40aeb400f68090f92010920ddf284b672a1461b8 Author: Alexey Dobriyan Date: Tue Oct 16 23:30:09 2007 -0700 user.c: deinline Save some space because uid_hash_find() has 3 callsites. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1e7a4b1bb76f451991112f07a8723eea9d07aa6 Author: Cyrill Gorcunov Date: Tue Oct 16 23:30:08 2007 -0700 UDF: coding style fixups This patch does additional coding style fixup. Initially the code is being distorted by Lindent (in my patches sent not very long ago) and fixed in the followup patches but this stuff was accidently missed. New and old compiled files were compared with cmp to check for being identically. So the patch will not break the kernel. Signed-off-by: Cyrill Gorcunov Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d7b52dfc9b0c672a3c39a82b896c8eedabb2a63 Author: Matti Linnanvuori Date: Tue Oct 16 23:30:08 2007 -0700 atomic_ops.txt has incorrect, misleading and insufficient information [Bug 9020] atomic_ops.txt has incorrect, misleading and insufficient information about semantics of initializer, atomic_set, atomic_read and atomic_xchg. It also incorrectly implies that operations mentioned above are not actual atomic operations. Included is most of the patch Document non-semantics of atomic_read() and atomic_set() by Chris Snook, except the word "assignment". Signed-off-by: Matti Linnanvuori Cc: Nick Piggin Cc: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f519d728169fa9975bcba001de425f11e18e8e3 Author: Alan Cox Date: Tue Oct 16 23:30:07 2007 -0700 tty: expose new methods needed for drivers to get termios right This adds three new functions (or in one case to be more exact makes it always available) tty_termios_copy_hw Copies all the hardware settings from one termios structure to the other. This is intended for drivers that support little or no hardware setting tty_termios_encode_baud_rate Allows you to set the input and output baud rate in a termios structure. A driver is supposed to set the resulting baud rate from a request so most will want to use this function to set the resulting input and output rates to match the hardware values. Internally it knows about keeping Bxxx encoding when possible to maximise compatibility. tty_encode_baud_rate As above but for the tty's own current termios structure I suspect this will initially need some tweaking as it gets enabled by driver patches over the next few mm cycles so consider this lot -mm only for the moment so it can stabilize and end up neat before it goes to base. I've tried not to break any obscure architectures - if you get a speed you can't represent the code will print warnings on non updated termios systems but not break. Once this is merged and seems sane I've got a growing pile of driver updates to use it - notably for USB serial drivers. [akpm@linux-foundation.org: cleanups] Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca025282e9f13471cd4bf44d854bbd6dcbcb39c1 Author: Alan Cox Date: Tue Oct 16 23:30:06 2007 -0700 ide-cd is unmaintained I simply don't have any old IDE systems any more or time to really look after this. Nobody responded to the previous linux-ide mail about maintainers so... Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd215237d2c2c1efb501f70be8e9ed1f81f3c068 Author: Borislav Petkov Date: Tue Oct 16 23:30:05 2007 -0700 fs/isofs/namei.c: Remove uninitialized local vars warning shut up those: fs/isofs/namei.c: In function 'isofs_lookup': fs/isofs/namei.c:161: warning: 'offset' may be used uninitialized in this function fs/isofs/namei.c:161: warning: 'block' may be used uninitialized in this function By the way, they get overwritten at the end of isofs_find_entry(). Signed-off-by: Borislav Petkov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bda5b655fe663c86ae16436ab983a656d73b6e62 Author: Robert P. J. Day Date: Tue Oct 16 23:30:05 2007 -0700 Delete gcc-2.95 compatible structure definition. Since nothing earlier than gcc-3.2 is supported for kernel compilation, that 2.95 hack can be removed. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb46f341d9868fe993626536c7449c2a1aec62a3 Author: Lepton Wu Date: Tue Oct 16 23:30:04 2007 -0700 reiserfs: workaround for dead loop in finish_unfinished There is possible dead loop in finish_unfinished function. In most situation, the call chain iput -> ... -> reiserfs_delete_inode -> remove_save_link will success. But for some reason such as data corruption, reiserfs_delete_inode fails on reiserfs_do_truncate -> search_for_position_by_key. Then remove_save_link won't be called. We always get the same "save_link_key" in the while loop in finish_unfinished function. The following patch adds a check for the possible dead loop and just remove save link when deap loop. [akpm@linux-foundation.org: cleanups] Signed-off-by: Lepton Wu Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9ec0339d8e22cadf2d9d1b010b51dc53837dfb0 Author: Denys Vlasenko Date: Tue Oct 16 23:29:54 2007 -0700 add consts where appropriate in fs/nls/* Add const modifiers to a few struct nls_table's member pointers in include/linux/nls.h and adds a lot of const's in fs/nls/*.c files. Resulting changes as visible by size: text data bss dec hex filename 113612 481216 2368 597196 91ccc nls.org/built-in.o 593548 3296 288 597132 91c8c nls/built-in.o Apparently compiler managed to optimize code a bit better because of const-ness. No other changes are made. Signed-off-by: Denys Vlasenko Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37c42524d6090644206ae6d310d7e830bd3ccb47 Author: Denis V. Lunev Date: Tue Oct 16 23:29:53 2007 -0700 shrink_dcache_sb speedup This patch makes shrink_dcache_sb consistent with dentry pruning policy. On the first pass we iterate over dentry unused list and prepare some dentries for removal. However, since the existing code moves evicted dentries to the beginning of the LRU it can happen that fresh dentries from other superblocks will be inserted *before* our dentries. This can result in significant slowdown of shrink_dcache_sb(). Moreover, for virtual filesystems like unionfs which can call dput() during dentries kill existing code results in O(n^2) complexity. We observed 2 minutes shrink_dcache_sb() with only 35000 dentries. To avoid this effects we propose to isolate sb dentries at the end of LRU list. Signed-off-by: Denis V. Lunev Signed-off-by: Kirill Korotaev Signed-off-by: Andrey Mirkin Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44a2db43eb715b54618bf01520cc5d46376cdbe2 Author: Maciej W. Rozycki Date: Tue Oct 16 23:29:51 2007 -0700 lk201: remove obsolete driver Remove the old-fashioned lk201 driver under drivers/tc/ that used to be used by the old dz.c and zs.c drivers, which is now orphan code referred to from nowhere and does not build anymore. A modern replacement is available as drivers/input/keyboard/lkkbd.c. There are no plans to do anything about this piece of code and it does not fit anywhere anymore, so it is not just a matter of maintenance or the lack of. There are still some bits that might be added to the new lkkbd.c driver based on the old code, and the embedded hardware documentation which is otherwise quite hard to get hold of might be useful to keep too. Both of these can be done separately though. RIP. Signed-off-by: Maciej W. Rozycki Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit debe621468cf54630d360999f6223b50a3efdd0c Author: Rene Herman Date: Tue Oct 16 23:29:51 2007 -0700 lib/iomap.c:bad_io_access(): print 0x hex prefix Be explicit about printing hex. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80eb68d23897126e7f25e2b3689bc27fb8cdde17 Author: Lepton Wu Date: Tue Oct 16 23:29:50 2007 -0700 reiserfs: fix kernel panic on corrupted directory When reading corrupted reiserfs directory data, d_reclen could be a negative number or a big positive number, this can lead to kernel panic or oop. The following patch adds a sanity check. Signed-off-by: Lepton Wu Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6cd6bf9f8cab154a4a086fe786bd7422954d8dc Author: Randy Dunlap Date: Tue Oct 16 23:29:49 2007 -0700 doc: about email clients for Linux patches Requested by Jeff Garzik. v3, updated from lkml comments. Add info about various email clients and their applicability in being used to send Linux kernel patches. Some notes takes from http://mbligh.org/linuxdocs/Email/Clients Portions used with permission. Signed-off-by: Randy Dunlap Cc: Jeff Garzik Cc: Martin Bligh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f7c8234c7a68c2ccc2a33f3b7d48057980e7c35 Author: Emil Medve Date: Tue Oct 16 23:29:48 2007 -0700 Make the pr_*() family of macros in kernel.h complete Other/Some pr_*() macros are already defined in kernel.h, but pr_err() was defined multiple times in several other places Signed-off-by: Emil Medve Cc: Jean Delvare Cc: Jeff Garzik Cc: "Antonino A. Daplas" Cc: Tony Lindgren Reviewed-by: Satyam Sharma Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76181c134f87479fa13bf2548ddf2999055d34d4 Author: David Howells Date: Tue Oct 16 23:29:46 2007 -0700 KEYS: Make request_key() and co fundamentally asynchronous Make request_key() and co fundamentally asynchronous to make it easier for NFS to make use of them. There are now accessor functions that do asynchronous constructions, a wait function to wait for construction to complete, and a completion function for the key type to indicate completion of construction. Note that the construction queue is now gone. Instead, keys under construction are linked in to the appropriate keyring in advance, and that anyone encountering one must wait for it to be complete before they can use it. This is done automatically for userspace. The following auxiliary changes are also made: (1) Key type implementation stuff is split from linux/key.h into linux/key-type.h. (2) AF_RXRPC provides a way to allocate null rxrpc-type keys so that AFS does not need to call key_instantiate_and_link() directly. (3) Adjust the debugging macros so that they're -Wformat checked even if they are disabled, and make it so they can be enabled simply by defining __KDEBUG to be consistent with other code of mine. (3) Documentation. [alan@lxorguk.ukuu.org.uk: keys: missing word in documentation] Signed-off-by: David Howells Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 398c95bdf2c24d7866692a40ba04425aef238cdd Author: Chris Mason Date: Tue Oct 16 23:29:44 2007 -0700 try to reap reiserfs pages left around by invalidatepage reiserfs_invalidatepage will refuse to free pages if they have been logged in data=journal mode, or were pinned down by a data=ordered operation. For data=journal, this is fairly easy to trigger just with fsx-linux, and it results in a large number of pages hanging around on the LRUs with page->mapping == NULL. Calling try_to_free_buffers when reiserfs decides it is done with the page allows it to be freed earlier, and with much less VM thrashing. Lock ordering rules mean that reiserfs can't call lock_page when it is releasing the buffers, so TestSetPageLocked is used instead. Contention on these pages should be rare, so it should be sufficient most of the time. Signed-off-by: Chris Mason Cc: "Vladimir V. Saveliev" Cc: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e82ce352335b643755a7fa4130b11d6d7adcf10c Author: Randy Dunlap Date: Tue Oct 16 23:29:44 2007 -0700 maintainers: linux-omap list is subscribers only You are not allowed to post to this mailing list, and your message has been automatically rejected. If you think that your messages are being rejected in error, contact the mailing list owner at linux-omap-open-source-owner@linux.omap.com. Signed-off-by: Randy Dunlap Cc: Tony Lindgren Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 622a9edd919de98ef59571ae6c40c7458244e3f2 Author: Ralf Baechle Date: Tue Oct 16 23:29:42 2007 -0700 Remove dma_cache_(wback|inv|wback_inv) functions dma_cache_(wback|inv|wback_inv) were the earliest attempt on a generalized cache managment API for I/O purposes. Originally it was basically the raw MIPS low level cache API exported to the entire world. The API has suffered from a lack of documentation, was not very widely used unlike it's more modern brothers and can easily be replaced by dma_cache_sync. So remove it rsp. turn the surviving bits back into an arch private API, as discussed on linux-arch. Signed-off-by: Ralf Baechle Acked-by: Paul Mundt Acked-by: Paul Mackerras Acked-by: David S. Miller Acked-by: Kyle McMartin Acked-by: Haavard Skinnemoen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc154b1efb7f8430ea9faabd5953ebc411f8ead5 Author: J. Bruce Fields Date: Tue Oct 16 23:29:42 2007 -0700 dcache: trivial comment fix As it stands this comment is confusing, and not quite grammatical. Signed-off-by: J. Bruce Fields Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f20fda486164264e0c9a64f3256b3238d0dc78d7 Author: Matti Linnanvuori Date: Tue Oct 16 23:29:41 2007 -0700 Mutex documentation is unclear about software interrupts, tasklets and timers Acked-by: Arjan van de Ven Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1019f96d2d3aa4997d8055bd0c32c97f0fc21d06 Author: Ralf Baechle Date: Tue Oct 16 23:29:40 2007 -0700 Spelling fix: weired -> weird Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a08b4be74ca4199838cbb03d90906a0fd70d3b3c Author: Cedric Le Goater Date: Tue Oct 16 23:29:40 2007 -0700 ipc namespace: remove config ipc ns fix Finish the work : kill all #ifdef CONFIG_IPC_NS. Thanks Robert ! Signed-off-by: Cedric Le Goater Cc: Eric Biederman Cc: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c98673fee235c158bef237a7851c742976d66284 Author: Satyam Sharma Date: Tue Oct 16 23:29:39 2007 -0700 I2O: Fix "defined but not used" build warnings drivers/message/i2o/exec-osm.c:539: warning: `i2o_exec_lct_notify' defined but not used comes when CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=n, because its only callsite is #ifdef'ed as such. So let's #ifdef the function definition also. Also move the definition to before the callsite, to get rid of forward prototype. [akpm@linux-foundation.org: fix warnings] Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c0ca6f9a0a0820da25b64259ea475751f1dd306 Author: Andy Whitcroft Date: Tue Oct 16 23:29:38 2007 -0700 update checkpatch.pl to version 0.10 This version brings a number of new checks, and a number of bug fixes. Of note: - better categorisation and space checks for dual use unary/binary operators - warn on deprecated use of {SPIN,RW}_LOCK_UNLOCKED - check if/for/while with trailing ';' for hanging statements - detect DOS line endings - detect redundant casts for kalloc() Andy Whitcroft (18): Version: 0.10 asmlinkage is also a storage type pull out inline specifiers allow only some operators before a unary operator parenthesised values may span line ends add additional attribute matching handle sparse annotations within pointer type space checks support alternative function definition syntax for typedefs check if/for/while with trailing ';' for hanging statements fix output format for case checks deprecate SPIN_LOCK_UNLOCKED and RW_LOCK_UNLOCKED allow complex macros with bracketing braces detect and report DOS line endings fastcall is a valid function attribute bracket spacing is ok for 'for' categorise operators into unary/binary/definitions add heuristic to pick up on unannotated types remove spurious warnings from cat_vet Dave Jones (1): Make checkpatch warn about pointless casting of kalloc returns. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e8ecb9db0bcc19e1cc8bb51e9252fe6a86a9863 Author: Bill Nottingham Date: Tue Oct 16 23:29:38 2007 -0700 add CONFIG_VT_UNICODE As of now, the kernel defaults to non-unicode and XLATE for the keyboard. We've been changing this in Fedora, but that requires patching the defaults in the kernel. The attached introduces CONFIG_VT_UNICODE, which sets the console in unicode mode by default on boot, including both the virtual terminal and the keyboard driver. Signed-off-by: Bill Nottingham Cc: Samuel Thibault Cc: Dmitry Torokhov Cc: Jiri Kosina Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 430d275a399175c7c0673459738979287ec1fd22 Author: Peter Lund Date: Tue Oct 16 23:29:35 2007 -0700 avoid negative (and full-width) shifts in radix-tree.c Negative shifts are not allowed in C (the result is undefined). Same thing with full-width shifts. It works on most platforms but not on the VAX with gcc 4.0.1 (it results in an "operand reserved" fault). Shifting by more than the width of the value on the left is also not allowed. I think the extra '>> 1' tacked on at the end in the original code was an attempt to work around that. Getting rid of that is an extra feature of this patch. Here's the chapter and verse, taken from the final draft of the C99 standard ("6.5.7 Bitwise shift operators", paragraph 3): "The integer promotions are performed on each of the operands. The type of the result is that of the promoted left operand. If the value of the right operand is negative or is greater than or equal to the width of the promoted left operand, the behavior is undefined." Thank you to Jan-Benedict Glaw, Christoph Hellwig, Maciej Rozycki, Pekka Enberg, Andreas Schwab, and Christoph Lameter for review. Special thanks to Andreas for spotting that my fix only removed half the undefined behaviour. Signed-off-by: Peter Lund Christoph Lameter Cc: Christoph Hellwig Cc: "Maciej W. Rozycki" Cc: Pekka Enberg Cc: Andreas Schwab Cc: Nick Piggin Cc: WU Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22e48eaf587d044ba311a73c6fe0d0deaa8fdb63 Author: Jan Beulich Date: Tue Oct 16 23:29:34 2007 -0700 constify string/array kparam tracking structures .. in an effort to make read-only whatever can be made, so that CONFIG_DEBUG_RODATA can catch as many issues as possible. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5aa0daf6d9f327a9c13bc3a203bfac2b8707e2f Author: Jan Beulich Date: Tue Oct 16 23:29:34 2007 -0700 store __setup_str_* in a more compact way __setup_str_* are referenced only during boot, hence there's no need to waste image space for aligning these strings (with the aim of improving performance). Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 004429956b4875e6bc2a31833f75363ce48cbea9 Author: Jan Beulich Date: Tue Oct 16 23:29:33 2007 -0700 handle recursive calls to bust_spinlocks() Various architectures may call bust_spinlocks() recursively; the function itself, however, doesn't appear to be meant to be called in this manner. Nevertheless, this doesn't appear to be a problem as long as bust_spinlocks(0) doesn't get called twice in a row (otherwise, unblank_screen() may enter the scheduler). However, at least on i386 die() has been capable of returning (and on other architectures this should really be that way, too) when notify_die() returns NOTIFY_STOP. Short of getting a reply to a respective query, this patch makes bust_spinlocks() increment/decrement oops_in_progress, and wake klogd only when the count drops back to zero. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b311e921b385b5a848f0806df16276aca1ecae07 Author: Robert P. J. Day Date: Tue Oct 16 23:29:32 2007 -0700 Add a "rounddown_pow_of_two" routine to log2.h To go along with the existing "roundup_pow_of_two" routine, add one for rounding down since that operation appears to crop up on a regular basis in the source tree. [m.kozlowski@tuxland.pl: fix unbalanced parentheses] Signed-off-by: Robert P. J. Day Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9aacccf457d07d729cfc7bf20ff0c7428357a9f Author: Arjan van de Ven Date: Tue Oct 16 23:29:32 2007 -0700 make dmapool code use __set_current_state() Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e8934695dfd1d5013555a74a9da706a2e301cb0 Author: Jan Kara Date: Tue Oct 16 23:29:31 2007 -0700 quota: send messages via netlink Implement sending of quota messages via netlink interface. The advantage is that in userspace we can better decide what to do with the message - for example display a dialogue in your X session or just write the message to the console. As a bonus, we can get rid of problems with console locking deep inside filesystem code once we remove the old printing mechanism. Signed-off-by: Jan Kara Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fac8b209b1084bc85748bd54e13d00c1262b220f Author: Robert P. J. Day Date: Tue Oct 16 23:29:30 2007 -0700 Remove final traces of long-deprecated "ramdisk" kernel parm Since the "ramdisk" kernel parameter has been officially deprecated since at least 2.6.18, might as well finally get rid of it. Signed-off-by: Robert P. J. Day Acked-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1810732e94576ae0d04e953ecaba8c7151c9a287 Author: Randy Dunlap Date: Tue Oct 16 23:29:29 2007 -0700 docs: ramdisk/initrd/initramfs corrections initrd/initramfs/ramdisk docs: - fix typos/spellos/grammar - clarify RAM disk config location - correct cpio option Acked-by: Bryan O'Sullivan Acked-by: Rob Landley Cc: Werner Almesberger Cc: H. Peter Anvin Signed-off-by: Randy Dunlap Acked-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e1ccb9619e8e9ae86dfc5a4645ccf3bf5a2eb3f Author: Mathieu Desnoyers Date: Tue Oct 16 23:29:29 2007 -0700 local_t: update documentation Signed-off-by: Mathieu Desnoyers Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a2142b08cbc2172e96cf8acced4ebba68aad05d Author: Grant Grundler Date: Tue Oct 16 23:29:28 2007 -0700 atomic_ops.txt: mention local_t local_t is a variant of atomic_t and has related ops to match. Add reference for local_t documentation to atomic_ops.txt. Signed-off-by: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74beb9db77930be476b267ec8518a642f39a04bf Author: Mathieu Desnoyers Date: Tue Oct 16 23:29:28 2007 -0700 local_t Documentation update 2 Grant Grundler was asking for more detail about correct usage of local atomic operations and suggested adding the resulting summary to local_ops.txt. "Please add a bit more detail. If DaveM is correct (he normally is), then there must be limits on how the local_t can be used in the kernel process and interrupt contexts. I'd like those rules spelled out very clearly since it's easy to get wrong and tracking down such a bug is quite painful." Signed-off-by: Mathieu Desnoyers Signed-off-by: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e3f715a7f004ceb6451cf86101d6e2546eea883 Author: Robert P. J. Day Date: Tue Oct 16 23:29:27 2007 -0700 Remove valueless definition of hard-selected RAMFS option Since CONFIG_RAMFS is currently hard-selected to "y", and since Documentation/filesystems/ramfs-rootfs-initramfs.txt reads as follows: "The amount of code required to implement ramfs is tiny, because all the work is done by the existing Linux caching infrastructure. Basically, you're mounting the disk cache as a filesystem. Because of this, ramfs is not an optional component removable via menuconfig, since there would be negligible space savings." It seems pointless to leave this as a Kconfig entry. Signed-off-by: Robert P. J. Day Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a9df732b6a547aa843e8655044db9573d7b4e71 Author: Adrian Bunk Date: Tue Oct 16 23:29:26 2007 -0700 drivers/block/cciss.c: fix check-after-use The Coverity checker spotted that we have already oops'ed if "disk" was NULL. Since "disk" being NULL seems impossible at this point this patch removes the NULL check. Signed-off-by: Adrian Bunk Acked-by: Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b012d346c0e914f505d92f730ad1758f73e2953b Author: Adrian Bunk Date: Tue Oct 16 23:29:26 2007 -0700 make kernel/profile.c:time_hook static {,un}register_timer_hook() is the API that should be used. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0732a552cb31a40db47f7d48e54847190e452da9 Author: Adrian Bunk Date: Tue Oct 16 23:29:25 2007 -0700 kernel/sys_ni.c: add dummy sys_ni_syscall() prototype kernel/sys_ni.c can't #include due to cond_syscall(), but let's tell gcc to not warn with -Wmissing-prototypes. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 827afdf093cce59bbbf9dc9f1c2eab86e2232b9e Author: Adrian Bunk Date: Tue Oct 16 23:29:25 2007 -0700 n_hdlc.c: fix check-after-use The Coverity checker spotted that we'd have already oops'ed if "tty" was NULL. Since "tty" can't be NULL when we reach this line of code this patch removes the NULL check. Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cba4fbbff2e9722e93b28e18fa7714b9013cbdda Author: Adrian Bunk Date: Tue Oct 16 23:29:24 2007 -0700 remove include/asm-*/ipc.h All asm/ipc.h files do only #include . This patch therefore removes all include/asm-*/ipc.h files and moves the contents of include/asm-generic/ipc.h to include/linux/ipc.h. Signed-off-by: Adrian Bunk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4af3c9cc4fad54c3627e9afebf905aafde5690ed Author: Alexey Dobriyan Date: Tue Oct 16 23:29:23 2007 -0700 Drop some headers from mm.h mm.h doesn't use directly anything from mutex.h and backing-dev.h, so remove them and add them back to files which need them. Cross-compile tested on many configs and archs. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a614f505193fcfc1b298643268a5db5b48e297f Author: Steve Cameron Date: Tue Oct 16 23:27:37 2007 -0700 cciss: fix error reporting for SG_IO This fixes a problem with the way cciss was filling out the "errors" field of the request structure upon completion of requests. Previously, it just put a 1 or a 0 in there and used the negation of this as the uptodate parameter to one of the functions in the block layer, being a block device. For the SG_IO ioctl, this was not sufficient, and we noticed that, for example, sg_turs from sg3_utils did not correctly detect problems due to cciss having set rq->errors incorrectly. Signed-off-by: Stephen M. Cameron Acked-by: Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fdfd4065c264bddd2d9277470a6a99d34e01bef Author: Paul Clements Date: Tue Oct 16 23:27:37 2007 -0700 NBD: allow hung network I/O to be cancelled Allow NBD I/O to be cancelled when a network outage occurs. Previously, I/O would just hang, and if enough I/O was hung in nbd, the system (at least user-level) would completely hang until a TCP timeout (default, 15 minutes) occurred. The patch introduces a new ioctl NBD_SET_TIMEOUT that allows a transmit timeout value (in seconds) to be specified. Any network send that exceeds the timeout will be cancelled and the nbd connection will be shut down. I've tested with various timeout values and 6 seconds seems to be a good choice for the timeout. If the NBD_SET_TIMEOUT ioctl is not called, you get the old (I/O hang) behavior. Signed-off-by: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b86a872561ad052bdc6f092a06807822d26beb1 Author: Paul Clements Date: Tue Oct 16 23:27:36 2007 -0700 NBD: set uninitialized devices to size 0 This fixes errors with utilities (such as LVM's vgscan) that try to scan all devices. Previously this would generate read errors when uninitialized nbd devices were scanned: # vgscan Reading all physical volumes. This may take a while... /dev/nbd0: read failed after 0 of 1024 at 0: Input/output error /dev/nbd0: read failed after 0 of 1024 at 509804544: Input/output error /dev/nbd0: read failed after 0 of 2048 at 0: Input/output error /dev/nbd1: read failed after 0 of 1024 at 509804544: Input/output error /dev/nbd1: read failed after 0 of 2048 at 0: Input/output error From now on, uninitialized nbd devices will have size zero, which prevents these errors. Signed-off-by: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dff4982f5cd4e30e2a140a3bca95d8814115bf5b Author: Alan Cox Date: Tue Oct 16 23:27:33 2007 -0700 CodingStyle: relax the 80-cole rule I would suggest this change to make CodingStyle properly reflect the style used by the kernel, rather than the current wording which is wishful thinking and misleading, and comes from the same school of thought that gets off on prescriptive grammar, latin and comp.std.c Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c6cdad7fee1630941cdd9d74ec310632a9e5c93 Author: Jan Beulich Date: Tue Oct 16 23:27:33 2007 -0700 cleanup floppy.h AUTO_DMA and FLOPPY_MOTOR_MASK in include/asm-*/floppy.h are dead symbols - remove them. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e9c47cd4d451c57868c898672802eec9867ae1e Author: Jan Beulich Date: Tue Oct 16 23:27:32 2007 -0700 floppy: tolerate DMA channel unavailability The floppy driver is already written to be able to operate in virtual DMA mode. Thus it can easily be adjusted to tolerate failure from fd_request_dma() as long as virtual DMA mode is not disallowed. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e98c3202916d30f0e6f59735801baa69bc3348ac Author: Avi Kivity Date: Tue Oct 16 23:27:31 2007 -0700 Move PREEMPT_NOTIFIERS into an always-included Kconfig Kconfig.preempt is not included on some archs (for example, m68k). On those archs, the Kconfig machinery complains that KVM selects an undefined symbol PREEMPT_NOTIFIERS (which lives in Kconfig.preempt). So move the offending symbol into a Kconfig file which is included by everyone. Cc: Roman Zippel Cc: Geert Uytterhoeven Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 328dfd0f78136082d32d5663d08b514ecba91e68 Author: Alan Cox Date: Tue Oct 16 23:27:31 2007 -0700 tty.h: remove dead define No longer used. TTY_FLIPBUF_SIZE will also go soon but needs a couple of other cleanups first Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42b2dd0a02c512cf59c96f5c227bf54bfe5bbf08 Author: Alexey Dobriyan Date: Tue Oct 16 23:27:30 2007 -0700 Shrink task_struct if CONFIG_FUTEX=n robust_list, compat_robust_list, pi_state_list, pi_state_cache are really used if futexes are on. Signed-off-by: Alexey Dobriyan Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcbba6c10ef6b14b0542d7ed7380e95168175818 Author: Ken'ichi Ohmichi Date: Tue Oct 16 23:27:30 2007 -0700 add-vmcore: add a prefix "VMCOREINFO_" to the vmcoreinfo macros Add a prefix "VMCOREINFO_" to the vmcoreinfo macros. Old vmcoreinfo macros were defined as generic names SYMBOL/SIZE/OFFSET /LENGTH/CONFIG, and it is impossible to grep for them. So these names should be changed. This discussion is the following: http://www.ussg.iu.edu/hypermail/linux/kernel/0709.1/0415.html Signed-off-by: Ken'ichi Ohmichi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00cab92f9e91c0feeaca11a485b15175304779d5 Author: Ken'ichi Ohmichi Date: Tue Oct 16 23:27:29 2007 -0700 add-vmcore: use the existing ia64_tpa() instead of asm code Signed-off-by: Ken'ichi Ohmichi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cfa062f01b601206b980e503f62dc593ed8fcaa Author: Ken'ichi Ohmichi Date: Tue Oct 16 23:27:28 2007 -0700 add-vmcore: add nodemask_t's size and NR_FREE_PAGES's value to vmcoreinfo_data [2/3] Add nodemask_t's size and NR_FREE_PAGES's value to vmcoreinfo_data. The dump filetering command 'makedumpfile'(v1.1.6 or before) had assumed the above values, and it was not good from the reliability viewpoint. So makedumpfile v1.2.0 came to need these values and I created the patch to let the kernel output them. makedumpfile site: https://sourceforge.net/projects/makedumpfile/ Signed-off-by: Ken'ichi Ohmichi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d768281e97a403815467102bc4b677f6c425a42b Author: Ken'ichi Ohmichi Date: Tue Oct 16 23:27:28 2007 -0700 add-vmcore: cleanup the coding style according to Andrew's comments [1/3] Cleanup the coding style according to Andrew's comments: http://lists.infradead.org/pipermail/kexec/2007-August/000522.html - vmcoreinfo_append_str() should have suitable __attribute__s so that the compiler can check its use. - vmcoreinfo_max_size should have size_t. - Use get_seconds() instead of xtime.tv_sec. - Use init_uts_ns.name.release instead of UTS_RELEASE. Signed-off-by: Ken'ichi Ohmichi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd59d231f81cb02870b9cf15f456a897f3669b4e Author: Ken'ichi Ohmichi Date: Tue Oct 16 23:27:27 2007 -0700 Add vmcoreinfo This patch set frees the restriction that makedumpfile users should install a vmlinux file (including the debugging information) into each system. makedumpfile command is the dump filtering feature for kdump. It creates a small dumpfile by filtering unnecessary pages for the analysis. To distinguish unnecessary pages, it needs a vmlinux file including the debugging information. These days, the debugging package becomes a huge file, and it is hard to install it into each system. To solve the problem, kdump developers discussed it at lkml and kexec-ml. As the result, we reached the conclusion that necessary information for dump filtering (called "vmcoreinfo") should be embedded into the first kernel file and it should be accessed through /proc/vmcore during the second kernel. (http://www.uwsg.iu.edu/hypermail/linux/kernel/0707.0/1806.html) Dan Aloni created the patch set for the above implementation. (http://www.uwsg.iu.edu/hypermail/linux/kernel/0707.1/1053.html) And I updated it for multi architectures and memory models. (http://lists.infradead.org/pipermail/kexec/2007-August/000479.html) Signed-off-by: Dan Aloni Signed-off-by: Ken'ichi Ohmichi Signed-off-by: Bernhard Walle Signed-off-by: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e647c04f665e9b3451a1ebe8252b38ffe0207c8 Author: Andrew Morton Date: Tue Oct 16 23:27:26 2007 -0700 binfmt_flat: warning fixes Fix this lot: fs/binfmt_flat.c: In function `decompress_exec': fs/binfmt_flat.c:293: warning: label `out' defined but not used fs/binfmt_flat.c: In function `load_flat_file': fs/binfmt_flat.c:462: warning: unsigned int format, long int arg (arg 3) fs/binfmt_flat.c:462: warning: unsigned int format, long int arg (arg 4) fs/binfmt_flat.c:518: warning: comparison of distinct pointer types lacks a cast fs/binfmt_flat.c:549: warning: passing arg 1 of `ksize' makes pointer from integer without a cast fs/binfmt_flat.c:601: warning: passing arg 1 of `ksize' makes pointer from integer without a cast fs/binfmt_flat.c: In function `load_flat_binary': fs/binfmt_flat.c:116: warning: 'dummy' might be used uninitialized in this function Acked-by: Greg Ungerer Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e9535a591cf003e77c822da0e329a733705e80b Author: Mike Frysinger Date: Tue Oct 16 23:27:25 2007 -0700 Add stack checking for Blackfin Simply fill out the bits in checkstack.pl for Blackfin. I thought I already sent this, but I don't see it in -mm anywhere ... Signed-off-by: Mike Frysinger Cc: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13fbcb731220341537131b32cf01b1e70df7206d Author: Oleg Nesterov Date: Tue Oct 16 23:27:24 2007 -0700 do_sigaction: don't worry about signal_pending() do_sigaction() returns -ERESTARTNOINTR if signal_pending(). The comment says: * If there might be a fatal signal pending on multiple * threads, make sure we take it before changing the action. I think this is not needed. We should only worry about SIGNAL_GROUP_EXIT case, bit it implies a pending SIGKILL which can't be cleared by do_sigaction. Kill this special case. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6db840fa7887980ef68a649640d506fe069eef0c Author: Oleg Nesterov Date: Tue Oct 16 23:27:23 2007 -0700 exec: RT sub-thread can livelock and monopolize CPU on exec de_thread() yields waiting for ->group_leader to be a zombie. This deadlocks if an rt-prio execer shares the same cpu with ->group_leader. Change the code to use ->group_exit_task/notify_count mechanics. This patch certainly uglifies the code, perhaps someone can suggest something better. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 356d6d5058c8082b9e811838ab2fa27825c947e4 Author: Oleg Nesterov Date: Tue Oct 16 23:27:23 2007 -0700 exec: consolidate 2 fast-paths Now that we don't pre-allocate the new ->sighand, we can kill the first fast path, it doesn't make sense any longer. At best, it can save one "list_empty()" check but leads to the code duplication. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2c903b8790467ae400f6992ac01bc8913b49e19 Author: Oleg Nesterov Date: Tue Oct 16 23:27:22 2007 -0700 exec: simplify the new ->sighand allocation de_thread() pre-allocates newsighand to make sure that exec() can't fail after killing all sub-threads. Imho, this buys nothing, but complicates the code: - this is (mostly) needed to handle CLONE_SIGHAND without CLONE_THREAD tasks, this is very unlikely (if ever used) case - unless we already have some serious problems, GFP_KERNEL allocation should not fail - ENOMEM still can happen after de_thread(), ->sighand is not the last object we have to allocate Change the code to allocate the new ->sighand on demand. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0840a90d943bcde2fbfeabd3c256236eed2273cd Author: Oleg Nesterov Date: Tue Oct 16 23:27:22 2007 -0700 exec: simplify ->sighand switching There is no any reason to do recalc_sigpending() after changing ->sighand. To begin with, recalc_sigpending() does not take ->sighand into account. This means we don't need to take newsighand->siglock while changing sighands. rcu_assign_pointer() provides a necessary barrier, and if another process reads the new ->sighand it should either take tasklist_lock or it should use lock_task_sighand() which has a corresponding smp_read_barrier_depends(). Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b47c3611de05c585e2d81204f6c7e3e255a3461 Author: Mathieu Desnoyers Date: Tue Oct 16 23:27:21 2007 -0700 Fix f_version type: should be u64 instead of unsigned long Fix f_version type: should be u64 instead of long There is a type inconsistency between struct inode i_version and struct file f_version. fs.h: struct inode u64 i_version; and struct file unsigned long f_version; Users do: fs/ext3/dir.c: if (filp->f_version != inode->i_version) { So why isn't f_version a u64 ? It becomes a problem if versions gets higher than 2^32 and we are on an architecture where longs are 32 bits. This patch changes the f_version type to u64, and updates the users accordingly. It applies to 2.6.23-rc2-mm2. Signed-off-by: Mathieu Desnoyers Cc: Martin Bligh Cc: "Randy.Dunlap" Cc: Al Viro Cc: Cc: Mark Fasheh Cc: Christoph Hellwig Cc: "J. Bruce Fields" Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41d10da3717409de33d5441f2f6d8f072ab3fbb6 Author: Jeff Moyer Date: Tue Oct 16 23:27:20 2007 -0700 aio: account I/O wait time properly Some months back I proposed changing the schedule() call in read_events to an io_schedule(): http://osdir.com/ml/linux.kernel.aio.general/2006-10/msg00024.html This was rejected as there are AIO operations that do not initiate disk I/O. I've had another look at the problem, and the only AIO operation that will not initiate disk I/O is IOCB_CMD_NOOP. However, this command isn't even wired up! Given that it doesn't work, and hasn't for *years*, I'm going to suggest again that we do proper I/O accounting when using AIO. Signed-off-by: Jeff Moyer Acked-by: Zach Brown Cc: Benjamin LaHaise Cc: Suparna Bhattacharya Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c17ac85504efec5f3a9b0c5b05bffd6f30e5b655 Author: Paul E. McKenney Date: Tue Oct 16 23:27:19 2007 -0700 Make rcutorture RNG use temporal entropy Repost of http://lkml.org/lkml/2007/8/10/472 made available by request. The locking used by get_random_bytes() can conflict with the preempt_disable() and synchronize_sched() form of RCU. This patch changes rcutorture's RNG to gather entropy from the new cpu_clock() interface (relying on interrupts, preemption, daemons, and rcutorture's reader thread's rock-bottom scheduling priority to provide useful entropy), and also adds and EXPORT_SYMBOL_GPL() to make that interface available to GPLed kernel modules such as rcutorture. Passes several hours of rcutorture. [ego@in.ibm.com: Use raw_smp_processor_id() in rcu_random()] Signed-off-by: Paul E. McKenney Cc: Ingo Molnar Signed-off-by: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2d9323d139f5c384fa1ef1d74773b4db1c09b3d Author: john stultz Date: Tue Oct 16 23:27:18 2007 -0700 Use num_possible_cpus() instead of NR_CPUS for timer distribution To avoid lock contention, we distribute the sched_timer calls across the cpus so they do not trigger at the same instant. However, I used NR_CPUS, which can cause needless grouping on small smp systems depending on your kernel config. This patch converts to using num_possible_cpus() so we spread it as evenly as possible on every machine. Briefly tested w/ NR_CPUS=255 and verified reduced contention. Signed-off-by: John Stultz Acked-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3075d9da0b4ccc88959db30de80ebd11d2dde175 Author: Chris Wright Date: Tue Oct 16 23:27:18 2007 -0700 Use ERESTART_RESTARTBLOCK if poll() is interrupted by a signal Lomesh reported poll returning EINTR during suspend/resume cycle. This is caused by the STOP/CONT cycle that the freezer uses, generating a pending signal for what in effect is an ignored signal. In general poll is a little eager in returning EINTR, when it could try not bother userspace and simply restart the syscall. Both select and ppoll do use ERESTARTNOHAND to restart the syscall. Oleg points out that simply using ERESTARTNOHAND will cause poll to restart with original timeout value. which could ultimately lead to process never returning to userspace. Instead use ERESTART_RESTARTBLOCK, and restart poll with updated timeout value. Inspired by Manfred's use ERESTARTNOHAND in poll patch. [bunk@kernel.org: do_restart_poll() can become static] Cc: Manfred Spraul Cc: Oleg Nesterov Cc: Roland McGrath Cc: "Agarwal, Lomesh" Signed-off-by: Chris Wright Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e341fa1f8ed25385e2321d7e5a49ce6aea2d702 Author: Adrian Bunk Date: Tue Oct 16 23:27:17 2007 -0700 allow disabling DNOTIFY without EMBEDDED Allow disabling DNOTIFY with CONFIG_EMBEDDED=n. I'm currently running a kernel with dnotify disabled and I haven't run into any problem. Is there any popular application left that breaks without dnotify support in the kernel? Note that this patch does not remove dnotify support, it still defaults to "y", and the help text recommends enabling it. Signed-off-by: Adrian Bunk Acked-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a239427f23c7850a33445178ec5f71e19d040b2 Author: Adrian Bunk Date: Tue Oct 16 23:27:16 2007 -0700 make fs/libfs.c:simple_commit_write() static simple_commit_write() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba2a631b14fe8a9c122801c648c49a543d020d8d Author: Adrian Bunk Date: Tue Oct 16 23:27:16 2007 -0700 kernel/time/timekeeping.c: cleanups - remove the no longer required __attribute__((weak)) of xtime_lock - remove the following no longer used EXPORT_SYMBOL's: - xtime - xtime_lock Signed-off-by: Adrian Bunk Cc: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f44ec6f3f89889a469773b1fd894f8fcc07c29cf Author: Eric Sandeen Date: Tue Oct 16 23:27:15 2007 -0700 limit minixfs printks on corrupted dir i_size This attempts to address CVE-2006-6058 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-6058 first reported at http://projects.info-pull.com/mokb/MOKB-17-11-2006.html Essentially a corrupted minix dir inode reporting a very large i_size will loop for a very long time in minix_readdir, minix_find_entry, etc, because on EIO they just move on to try the next page. This is under the BKL, printk-storming as well. This can lock up the machine for a very long time. Simply ratelimiting the printks gets things back under control. Make the message a bit more informative while we're here. Signed-off-by: Eric Sandeen Cc: Bodo Eggert <7eggert@gmx.de> Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8ea6cf89991000ae458e34e36379814cf202555 Author: vignesh babu Date: Tue Oct 16 23:27:14 2007 -0700 ext2/4: use is_power_of_2() Replace n & (n - 1) with is_power_of_2(n) Signed-off-by: vignesh babu Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3befe7ceb8d39a56a9ea55dd2da8b4bd9ddcdd36 Author: Alexey Dobriyan Date: Tue Oct 16 23:27:14 2007 -0700 Shrink struct task_struct::oomkilladj oomkilladj is int, but values which can be assigned to it are -17, [-16, 15], thus fitting into s8. While patch itself doesn't help in making task_struct smaller, because of natural alignment of ->link_count, it will make picture clearer wrt futher task_struct reduction patches. My plan is to move ->fpu_counter and ->oomkilladj after ->ioprio filling hole on i386 and x86_64. But that's for later, because bloated distro configs need looking at as well. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68a9bd0cd5824073e3232b102011ec568a517646 Author: Olaf Hering Date: Tue Oct 16 23:27:13 2007 -0700 remove strict ansi check from __u64 in asm/types.h Remove the __STRICT_ANSI__ check from the __u64/__s64 declaration on 32bit targets. GCC can be made to warn about usage of long long types with ISO C90 (-ansi), but only with -pedantic. You can write this in a way that even then it doesn't cause warnings, namely by: #ifdef __GNUC__ __extension__ typedef __signed__ long long __s64; __extension__ typedef unsigned long long __u64; #endif The __extension__ keyword in front of this switches off any pedantic warnings for this expression. Signed-off-by: Olaf Hering Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac8d35c5658377c280dc830352f66233e2f76f73 Author: Andi Drebes Date: Tue Oct 16 23:27:12 2007 -0700 cramfs: error message about endianess The README file in the cramfs subdirectory says: "All data is currently in host-endian format; neither mkcramfs nor the kernel ever do swabbing." If somebody tries to mount a cramfs with the wrong endianess, cramfs only complains about a wrong magic but doesn't inform the user that only the endianess isn't right. The following patch adds an error message to the cramfs sources. If a user tries to mount a cramfs with the wrong endianess using the patched sources, cramfs will display the message "cramfs: wrong endianess". Signed-off-by: Andi Drebes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f44c3621a41576d755668c48d0caf894c228fa9 Author: Olaf Hering Date: Tue Oct 16 23:27:09 2007 -0700 include linux/types.h in if_fddi.h include/linux/if_fddi.h is an exported header. It uses __be16. Include linux/types.h to get this prototype. Signed-off-by: Olaf Hering Cc: "Maciej W. Rozycki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85864e103850962389d77467391bc3da021d070f Author: Miklos Szeredi Date: Tue Oct 16 23:27:09 2007 -0700 clean out unused code in dentry pruning It looks like in the end all pruners want parents removed. So remove unused code and function arguments. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a159dd229e6a70e3ffd3f785cb51fa61b232279 Author: Miklos Szeredi Date: Tue Oct 16 23:27:08 2007 -0700 exec: remove unnecessary check for MNT_NOEXEC vfs_permission(MAY_EXEC) checks if the filesystem is mounted with "noexec", so there's no need to repeat this check in sys_uselib() and open_exec(). Signed-off-by: Miklos Szeredi Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22590e41cb569add194829c08dc0ceea74b38a65 Author: Miklos Szeredi Date: Tue Oct 16 23:27:08 2007 -0700 fix execute checking in permission() permission() checks that MAY_EXEC is only allowed on regular files if at least one execute bit is set in the file mode. generic_permission() already ensures this, so the extra check in permission() is superfluous. If the filesystem defines it's own ->permission() the check may still be needed. In this case move it after ->permission(). This is needed because filesystems such as FUSE may need to refresh the inode attributes before checking permissions. This check should be moved inside ->permission(), but that's another story. Signed-off-by: Miklos Szeredi Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 043f46f6151df2c518988b5e41376e42491257b5 Author: Miklos Szeredi Date: Tue Oct 16 23:27:07 2007 -0700 VFS: check nanoseconds in utimensat utimensat() (and possibly other callers of do_utimes()) didn't check if the nanosecond value was within the allowed range. Signed-off-by: Miklos Szeredi Cc: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 995e4286a047b32aebf8ce540908edb7fbd93f76 Author: Subbaiah Venkata Date: Tue Oct 16 23:27:06 2007 -0700 lib/sort.c optimization Hello, I fixed and tested a small bug in lib/sort.c file, heap sort function. The fix avoids unnecessary swap of contents when i is 0 (saves few loads and stores), which happens every time sort function is called. I felt the fix is worth bringing it to your attention given the importance and frequent use of the sort function. Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e30618cbd1919df61b3f17486af44ac78c24cae5 Author: Olaf Hering Date: Tue Oct 16 23:27:06 2007 -0700 remove consolemap.h from header exports Remove linux/consolemap.h from make headers_install It contains no user interfaces. The defines in this file are used only for kernel internal state. Signed-off-by: Olaf Hering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ba4b927f5fc9a5642adc5675b6d60c710dc8021 Author: Alan Cox Date: Tue Oct 16 23:27:05 2007 -0700 jsm: Remove further unneeded crud Remove some remaining vestiges of the old hacks jsm had to work around the old tty buffering. With the new tty buffering it simply doesn't matter any more. [michal.k.k.piotrowski@gmail.com: fix warning] Signed-off-by: Alan Cox Acked-by: Scott Kilau Cc: Michal Piotrowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f748bbd7f84034204a14928a048695ff8b9d8ca Author: Alan Cox Date: Tue Oct 16 23:27:05 2007 -0700 mxser: Remove use of dead TTY_FLIPBUF_SIZE definition We simply define it to the same value. Nowdays the TTY flip value is irrelevant but the value it used is as good as any so why risk breaking it Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04c71976500352d02f60616d2b960267d8c5fe24 Author: Samuel Thibault Date: Tue Oct 16 23:27:04 2007 -0700 unicode diacritics support There have been issues with non-latin1 diacritics and unicode. http://bugzilla.kernel.org/show_bug.cgi?id=7746 Git 759448f459234bfcf34b82471f0dba77a9aca498 `Kernel utf-8 handling' partly resolved it by adding conversion between diacritics and unicode. The patch below goes further by just turning diacritics into unicode, hence providing better future support. The kbd support can be fetched from http://bugzilla.kernel.org/attachment.cgi?id=12313 This was tested in all of latin1, latin9, latin2 and unicode with french and czech dead keys. Turn the kernel accent_table into unicode, and extend ioctls KDGKBDIACR and KDSKBDIACR into their equivalents KDGKBDIACRUC and KDSKBDIACR. New function int conv_uni_to_8bit(u32 uni) for converting unicode into 8bit _input_. No, we don't want to store the translation, as it is potentially sparse and large. Signed-off-by: Samuel Thibault Cc: Jan Engelhardt Cc: "Antonino A. Daplas" Cc: David Woodhouse Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abdbf94d7c6f1fcb2931d5cb7562a6159323b704 Author: Ed L. Cashin Date: Tue Oct 16 23:27:03 2007 -0700 aoe: remove unecessary wrapper function We can just use skb_mac_header now, and we don't need a wrapper function to perform the cast. Instead of requiring the reader to check aoe.h to look up what an aoe_hdr function does, I'd rather do without it. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c9e69faa28027913ee059c285a5ea8382e24b5d Author: Aneesh Kumar K.V Date: Tue Oct 16 23:27:02 2007 -0700 ext2/ext3/ext4: add block bitmap validation When a new block bitmap is read from disk in read_block_bitmap() there are a few bits that should ALWAYS be set. In particular, the blocks given by ext4_blk_bitmap, ext4_inode_bitmap and ext4_inode_table. Validate the block bitmap against these blocks. [akpm@linux-foundation.org: cleanups] Signed-off-by: Aneesh Kumar K.V Signed-off-by: Andreas Dilger Acked-by: Mingming Cao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82df39738ba9e02c057fa99b7461a56117d36119 Author: Roland McGrath Date: Tue Oct 16 23:27:02 2007 -0700 Add MMF_DUMP_ELF_HEADERS This adds the MMF_DUMP_ELF_HEADERS option to /proc/pid/coredump_filter. This dumps the first page (only) of a private file mapping if it appears to be a mapping of an ELF file. Including these pages in the core dump may give sufficient identifying information to associate the original DSO and executable file images and their debugging information with a core file in a generic way just from its contents (e.g. when those binaries were built with ld --build-id). I expect this to become the default behavior eventually. Existing versions of gdb can be confused by the core dumps it creates, so it won't enabled by default for some time to come. Soon many people will have systems with a gdb that handle these dumps, so they can arrange to set the bit at boot and have it inherited system-wide. This also cleans up the checking of the MMF_DUMP_* flag bits, which did not need to be using atomic macros. Signed-off-by: Roland McGrath Cc: Hidehiro Kawai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e629a7ddc0188e1bb9e956e698a9bd00c19c9854 Author: Olaf Hering Date: Tue Oct 16 23:27:01 2007 -0700 do not export /usr/include/scsi in make headers_install /usr/include/scsi is provided by glibc. Remove the scsi export from make headers_install target. Signed-off-by: Olaf Hering Cc: David Woodhouse Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 715015e8da37c4d13e234def054bcbea116297e9 Author: Oleg Nesterov Date: Tue Oct 16 23:27:00 2007 -0700 wait_task_stopped/continued: remove unneeded p->signal != NULL check The child was found on ->children list under tasklist_lock, it must have a valid ->signal. __exit_signal() both removes the task from parent->children and clears ->signal "atomically" under write_lock(tasklist). Remove unneeded checks. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18442cf28af81378cf8996d264b368bba47cf846 Author: Oleg Nesterov Date: Tue Oct 16 23:27:00 2007 -0700 __group_complete_signal: eliminate unneeded wakeup of ->group_exit_task Cleanup. __group_complete_signal() wakes up ->group_exit_task twice. The second wakeup's state includes TASK_UNINTERRUPTIBLE, which is not very appropriate. Change the code to pass the "correct" argument to signal_wake_up() and kill now unneeded wake_up_process(). Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 442a10cf9e1c350b4de4dd6f22c72618a0b13d7f Author: Oleg Nesterov Date: Tue Oct 16 23:26:59 2007 -0700 wait_task_zombie: don't fight with non-existing race with a dying ptracee The "p->exit_signal == -1 && p->ptrace == 0" check and the comment are bogus. We already did exactly the same check in eligible_child(), we did not drop tasklist_lock since then, and both variables need write_lock(tasklist) to be changed. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebca4cda1133775111e8b09f7124a7e5e391926d Author: Oleg Nesterov Date: Tue Oct 16 23:26:59 2007 -0700 zap_other_threads: don't optimize thread_group_empty() case Nowadays thread_group_empty() and next_thread() are simple list operations, this optimization doesn't make sense: we are doing exactly same check one line below. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ae4cbadf4bf97ee137b921a1b928d2a5dcd26ca Author: Oleg Nesterov Date: Tue Oct 16 23:26:58 2007 -0700 exit_notify: don't take tasklist for TIF_SIGPENDING re-targeting ->siglock provides enough protection to iterate over the thread group. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f4e6e2a814eb1305a873a045401708d73f870bc Author: Oleg Nesterov Date: Tue Oct 16 23:26:58 2007 -0700 wait_task_zombie: fix 2/3 races vs forget_original_parent() Two threads, T1 and T2. T2 ptraces P, and P is not a child of ptracer's thread group. P exits and goes to TASK_ZOMBIE. T1 does wait_task_zombie(P): P->exit_state = TASK_DEAD; ... read_unlock(&tasklist_lock); T2 does exit(), takes tasklist, forget_original_parent() does __ptrace_unlink(P) but doesn't call do_notify_parent(P) because p->exit_state == EXIT_DEAD. Now, P is not visible to our process: __ptrace_unlink() removed it from ->children. We should send notification to P->parent and release P if and only if SIGCHLD is ignored. And we have 3 bugs: 1. P->parent does do_wait() and gets -ECHILD (P is on ->parent->children, but its state is TASK_DEAD). 2. // wait_task_zombie() continues if (put_user(...)) { // TODO: is this safe? p->exit_state = EXIT_ZOMBIE; return; } we return without notification/release, task_struct leaked. Solution: ignore -EFAULT and proceed. It is an application's bug if we can't fill infop/stat_addr (in case of VM_FAULT_OOM we have much more problems). 3. // wait_task_zombie() continues if (p->real_parent != p->parent) { // Not taken, it was untraced'ed ... } release_task(p); we released the task which we shouldn't. Solution: check ->real_parent != ->parent before, under tasklist_lock, but use ptrace_unlink() instead of __ptrace_unlink() to check ->ptrace. This patch hopefully solves 2 and 3, the 1st bug will be fixed later, we need some cleanups in forget_original_parent/reparent_thread. However, the first race is very unlikely and not critical, so I hope it makes sense to fix 1 and 2 for now. 4. Small cleanup: don't "restore" EXIT_ZOMBIE unless we know we are not going to realease the child. Signed-off-by: Oleg Nesterov Cc: Ingo Molnar Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 407af46a967ffd2f208f0a5fb3f1ff954801494a Author: Oleg Nesterov Date: Tue Oct 16 23:26:57 2007 -0700 wait_task_zombie: remove unneeded child->signal check A zombie must have a valid ->signal, we are going to release it and __exit_signal() starts with BUG_ON(!sig). Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8b0ac0873cd911b3bf3d6e2db98f80d0b158d56 Author: Jesper Juhl Date: Tue Oct 16 23:26:56 2007 -0700 pnp: avoid a small unlikely memory leak in proc_read_escd() There's a small and unlikely memory leak in drivers/pnp/pnpbios/proc.c::proc_read_escd(). It's inside a sanity check, so it probably won't trigger often (if at all), however it *is* a potential leak and it's easy to avoid, so let's just fix it :) Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f149cf0ac2ba6c23d77e39fe03290535d13f13d Author: Roland McGrath Date: Tue Oct 16 23:26:55 2007 -0700 powerpc: Use linux/elfcore-compat.h This makes powerpc64's compat code use the new linux/elfcore-compat.h, reducing some hand-copied duplication. Signed-off-by: Roland McGrath Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Andi Kleen Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab799dede9b6d744a926dcb657ed5b30f401f151 Author: Roland McGrath Date: Tue Oct 16 23:26:54 2007 -0700 Add linux/elfcore-compat.h This adds the linux/elfcore-compat.h header file, which is the CONFIG_COMPAT analog of the linux/elfcore.h header. Each arch that needs to fake out fs/binfmt_elf.c for its compat code can use this header to replace the hand-copied definitions of the compat variants of struct elf_prstatus et al. Only the pr_reg field varies by arch, so asm/{compat,elf}.h must define compat_elf_gregset_t before linux/elfcore-compat.h can be used. It's a clean-up that every arch with compat core dumping code can benefit from. I only touched the ones I have handy to test at home. Doing the same for each other arch should be straightforward, and I'm happy to offer tips. Signed-off-by: Roland McGrath Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Andi Kleen Cc: "Luck, Tony" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48ef09a16edcc98d1de60f66ed7f650c571907f4 Author: Satyam Sharma Date: Tue Oct 16 23:26:53 2007 -0700 ufs: Fix mount check in ufs_fill_super() The current code skips the check to verify whether the filesystem was previously cleanly unmounted, if (flags & UFS_ST_MASK) == UFS_ST_44BSD or UFS_ST_OLD. This looks like an inadvertent bug that slipped in due to parantheses in the compound conditional to me, especially given that ufs_get_fs_state() handles the UFS_ST_44BSD case perfectly well. So, let's fix the compound condition appropriately. Signed-off-by: Satyam Sharma Cc: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcd6d4ecf6868ed57d4daae5d48e52d0752566d2 Author: Christoph Hellwig Date: Tue Oct 16 23:26:51 2007 -0700 ufs: move non-layout parts of ufs_fs.h to fs/ufs/ Move prototypes and in-core structures to fs/ufs/ similar to what most other filesystems already do. I made little modifications: move also ufs debug macros and mount options constants into fs/ufs/ufs.h, this stuff also private for ufs. Signed-off-by: Christoph Hellwig Signed-off-by: Evgeniy Dushistov Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3542ae4c17bb2c86e5658728ff73b3d5ca44532e Author: Alexey Dobriyan Date: Tue Oct 16 23:26:50 2007 -0700 Tweak /proc/ipmi removal Driver does proc_mkdir("ipmi", NULL); but remove_proc_entry(proc_ipmi_root->name, &proc_root); This is OK and working if only slightly inconsistent. Also changing proc_root to NULL will help OpenVZ which has multiple proc roots and, as we now know, requires matching parents in such cases. Signed-off-by: Alexey Dobriyan Cc: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84eb646b6eabcd82ec563f30d2d9d40c2054a9c9 Author: Oleg Nesterov Date: Tue Oct 16 23:26:49 2007 -0700 handle the multi-threaded init's exit() properly With or without this patch, multi-threaded init's are not fully supported, but do_exit() is completely wrong. This becomes a real problem when we support pid namespaces. 1. do_exit() panics when the main thread of /sbin/init exits. It should not until the whole thread group exits. Move the code below, under the "if (group_dead)" check. Note: this means that forget_original_parent() can use an already dead child_reaper()'s task_struct. This is OK for /sbin/init because - do_wait() from alive sub-thread still can reap a zombie, we iterate over all sub-thread's ->children lists - do_notify_parent() will wakeup some alive sub-thread because it sends the group-wide signal However, we should remove choose_new_parent()->BUG_ON(reaper->exit_state) for this. 2. We are playing games with ->nsproxy->pid_ns. This code is bogus today, and it has to be changed anyway when we really support pid namespaces, just remove it. Signed-off-by: Oleg Nesterov Roland McGrath Cc: "Eric W. Biederman" Cc: Sukadev Bhattiprolu Cc: Serge Hallyn Cc: Cedric Le Goater Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e9073ed027771bcdee4033eb900a3c09ac90a19 Author: Andi Kleen Date: Tue Oct 16 23:26:48 2007 -0700 Deprecate a.out ELF interpreters The Linux ELF loader is quite complicated and messy code (that could probably need a rewrite, but that's a different chapter). One particular messy part in it is the support for non ELF a.out ld.sos. This was originally added to make transition from a.out to ELF easier because an a.out ELF ld.so could be still build using an older a.out toolkit. But by now that should be fully obsolete and removing it would clean up binfmt_elf.c up a bit. I propose to deprecate this support and remove for 2.6.25. Drawback is that someone still runs their system with a.out ld.so they would need to update the ld.so when updating to a new kernel. This patch just adds an entry to the deprecation file and a printk warning users. [akpm@linux-foundation.org: better warning message] Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 045f902de5a6eb5927c0f092c38be7a381f634f0 Author: Oleg Nesterov Date: Tue Oct 16 23:26:47 2007 -0700 do_sigaction: remove now unneeded recalc_sigpending() With the recent changes, do_sigaction()->recalc_sigpending_and_wake() can never clear TIF_SIGPENDING. Instead, it can set this flag and wake up the thread without any reason. Harmless, but unneeded and wastes CPU. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2ee7198cc2414aade234a3cebc69e6cbff35d9b Author: Oleg Nesterov Date: Tue Oct 16 23:26:47 2007 -0700 pi-futex: set PF_EXITING without taking ->pi_lock It is a bit annoying that do_exit() takes ->pi_lock to set PF_EXITING. All we need is to synchronize with lookup_pi_state() which saw this task without PF_EXITING under ->pi_lock. Change do_exit() to use spin_unlock_wait(). Signed-off-by: Oleg Nesterov Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7917ff9a4cefd0500aa4a1b1942da96dbce6999f Author: Bjorn Helgaas Date: Tue Oct 16 23:26:46 2007 -0700 tpm: pay attention to IRQ info from PNP If we discover the TIS TPM device via PNP, use the PNP IRQ information rather than probing for an IRQ. If PNP shows no IRQ, run the TPM in polling mode. Tested-by: Signed-off-by: Bjorn Helgaas Cc: Kylene Hall Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 978550b828d1c29dfd65707f5d001053c3d2d610 Author: Mariusz Kozlowski Date: Tue Oct 16 23:26:45 2007 -0700 drivers/char/ip2/ip2main.c: kmalloc + memset conversion to kzalloc drivers/char/ip2/ip2main.c | 104398 -> 104346 (-52 bytes) drivers/char/ip2/ip2main.o | 210710 -> 210702 (-8 bytes) Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b63d50c438bd3a8910263e15c37ca8634b110c92 Author: Mariusz Kozlowski Date: Tue Oct 16 23:26:44 2007 -0700 fs/autofs4/inode.c: kmalloc + memset conversion to kzalloc fs/autofs4/inode.c | 10467 -> 10435 (-32 bytes) fs/autofs4/inode.o | 98576 -> 98552 (-24 bytes) Signed-off-by: Mariusz Kozlowski Acked-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f035ac821bf8c36a558471e78c514a96202a1bda Author: Mariusz Kozlowski Date: Tue Oct 16 23:26:44 2007 -0700 doc firmware_sample_firmware_class.c: kmalloc + memset conversion to kzalloc Documentation/firmware_class/firmware_sample_firmware_class.c | 5246 -> 5211 (-35 bytes) Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 392b7bc13e9e9390bd2deb923d0326c3a50a9a00 Author: Mariusz Kozlowski Date: Tue Oct 16 23:26:43 2007 -0700 drivers/char/consolemap.c: kmalloc + memset conversion to kzalloc drivers/char/consolemap.c | 22678 -> 22650 (-28 bytes) drivers/char/consolemap.o | 90113 -> 90029 (-84 bytes) Signed-off-by: Mariusz Kozlowski Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b15d04af3dd996035d8fa81fc849d049171f9c3 Author: Mike Frysinger Date: Tue Oct 16 23:26:43 2007 -0700 printk: add interfaces for external access to the log buffer Add two new functions for reading the kernel log buffer. The intention is for them to be used by recovery/dump/debug code so the kernel log can be easily retrieved/parsed in a crash scenario, but they are generic enough for other people to dream up other fun uses. [akpm@linux-foundation.org: buncha fixes] Signed-off-by: Mike Frysinger Cc: Robin Getz Cc: Greg Ungerer Cc: Russell King Cc: Paul Mundt Acked-by: Tim Bird Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d823e3e7541c39b4dfe9c79dbf052b4c39da2965 Author: Adrian Bunk Date: Tue Oct 16 23:26:42 2007 -0700 ipc/shm.c: make 2 functions static This patch makes two needlessly global functions static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53fa6645251727856d3554d64583fef59e6f1651 Author: Adrian Bunk Date: Tue Oct 16 23:26:42 2007 -0700 lib/ioremap.c should #include Every file should include the headers containing the prototypes for its global functions (in this case ioremap_page_range()). Signed-off-by: Adrian Bunk Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1206a2c6d87def4af5379e6fef64e928d882ab2 Author: Adrian Bunk Date: Tue Oct 16 23:26:41 2007 -0700 fs/afs/: possible cleanups This patch contains the following possible cleanups: - make the following needlessly global functions static: - rxrpc.c: afs_send_pages() - vlocation.c: afs_vlocation_queue_for_updates() - write.c: afs_writepages_region() - make the following needlessly global variables static: - mntpt.c: afs_mntpt_expiry_timeout - proc.c: afs_vlocation_states[] - server.c: afs_server_timeout - vlocation.c: afs_vlocation_timeout - vlocation.c: afs_vlocation_update_timeout - #if 0 the following unused function: - cell.c: afs_get_cell_maybe() - #if 0 the following unused variables: - callback.c: afs_vnode_update_timeout - cmservice.c: struct afs_cm_workqueue Signed-off-by: Adrian Bunk Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4d63e729edad704af95e5f2a56e8c8eaaa5216b Author: Adrian Bunk Date: Tue Oct 16 23:26:40 2007 -0700 kernel/rtmutex-debug.c: cleanups This patch contains the following cleanups: - make the needlessly global variable rt_trace_on static - remove the unused global function deadlock_trace_off() Signed-off-by: Adrian Bunk Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d76013381ed28979cd122eb4b249a88b5e384fa Author: Roland McGrath Date: Tue Oct 16 23:26:40 2007 -0700 Add /sys/module/name/notes This patch adds the /sys/module//notes/ magic directory, which has a file for each allocated SHT_NOTE section that appears in .ko. This is the counterpart for each module of /sys/kernel/notes for vmlinux. Reading this delivers the contents of the module's SHT_NOTE sections. This lets userland easily glean any detailed information about that module's build that was stored there at compile time (e.g. by ld --build-id). Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae0b78d09dc1d521551e225a9831aba1eded518f Author: Alexey Dobriyan Date: Tue Oct 16 23:26:37 2007 -0700 epca.c: reformat comments and coding style improvements * Remove stupid comments, like, at the beginning of every function that function begins (twice per function) and at the end (once) * Remove trailing or otherwise broken whitespace as per let c_space_errors=1 * Reformat comments to fit it into 80 columns and remove stupid ------------'s. * Indent case labels on the same column where switch begins * other minor CS tweaks not worth mentioning Signed-off-by: Alexey Dobriyan Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 323211371073ce4a99b6efc69379589d6a640d35 Author: Neil Horman Date: Tue Oct 16 23:26:36 2007 -0700 core_pattern: fix up a few miscellaneous bugs Fix do_coredump to detect a crash in the user mode helper process and abort the attempt to recursively dump core to another copy of the helper process, potentially ad-infinitum. [akpm@linux-foundation.org: cleanups] Signed-off-by: Neil Horman Cc: Cc: Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74aadce986052f20088c2678f589ea0e8d3a4b59 Author: Neil Horman Date: Tue Oct 16 23:26:35 2007 -0700 core_pattern: allow passing of arguments to user mode helper when core_pattern is a pipe A rewrite of my previous post for this enhancement. It uses jeremy's split_argv/free_argv library functions to translate core_pattern into an argv array to be passed to the user mode helper process. It also adds a translation to format_corename such that the origional value of RLIMIT_CORE can be passed to userspace as an argument. Signed-off-by: Neil Horman Cc: Cc: Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7dc0b22e3c54f1f4730354fef84a20f5944f6c5e Author: Neil Horman Date: Tue Oct 16 23:26:34 2007 -0700 core_pattern: ignore RLIMIT_CORE if core_pattern is a pipe For some time /proc/sys/kernel/core_pattern has been able to set its output destination as a pipe, allowing a user space helper to receive and intellegently process a core. This infrastructure however has some shortcommings which can be enhanced. Specifically: 1) The coredump code in the kernel should ignore RLIMIT_CORE limitation when core_pattern is a pipe, since file system resources are not being consumed in this case, unless the user application wishes to save the core, at which point the app is restricted by usual file system limits and restrictions. 2) The core_pattern code should be able to parse and pass options to the user space helper as an argv array. The real core limit of the uid of the crashing proces should also be passable to the user space helper (since it is overridden to zero when called). 3) Some miscellaneous bugs need to be cleaned up (specifically the recognition of a recursive core dump, should the user mode helper itself crash. Also, the core dump code in the kernel should not wait for the user mode helper to exit, since the same context is responsible for writing to the pipe, and a read of the pipe by the user mode helper will result in a deadlock. This patch: Remove the check of RLIMIT_CORE if core_pattern is a pipe. In the event that core_pattern is a pipe, the entire core will be fed to the user mode helper. Signed-off-by: Neil Horman Cc: Cc: Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e2b705649e294f43a8cd1ea79e4c594c0bd1d9d Author: Neil Horman Date: Tue Oct 16 23:26:33 2007 -0700 argv_split: allow argv_split to handle NULL pointer in argcp parameter gracefully It would be nice if the argv_split library function could gracefully handle a NULL pointer in the argcp parameter, so as to allow functions using it that did not care about the value of argc to not have to declare a useless variable. This patch accomplishes that. Tested by me, with successful results. Signed-off-by: Neil Horman Acked-by: Jeremy Fitzhardinge Cc: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a9807c0d39066236640aa34ca8de168e690632f Author: Evgeniy Dushistov Date: Tue Oct 16 23:26:32 2007 -0700 ufs: implement show_options An implementation of show_options method for UFS. Signed-off-by: Evgeniy Dushistov Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 252e211e90ce56bf005cb533ad5a297c18c19407 Author: Mark Fortescue Date: Tue Oct 16 23:26:31 2007 -0700 Add in SunOS 4.1.x compatible mode for UFS Add in support for SunOS 4.1.x flavor of BSD 4.2 UFS filing system Macros have been put in to alow suport for the old static table Cylinder Groups but this implementation does not use them yet. This also fixes Solaris UFS filing system access by disabling fast symbolic links as Sun's version of UFS does not support on-disk fast symbolic links. Tested by: Ppartitioning a new disk using SunOS 4.1.1, creating a UFS filing system on one of the partitions and writing some files to the filing system. Using Linux-2.6.22 (patched) to read the files and then write a shed load of files to the UFS partition. Using SunOS 4.1.1 to verify the filing system is OK and to check the files. The test host is a sun4c SS1 Clone. [akpm@linux-foundation.org: coding style fixes] [adobriyan@gmail.com: fix oops] Signed-off-by: Mark Fortescue Cc: Evgeniy Dushistov Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef2fb67989d30fea475bb01c5b7ca44adbce5dea Author: Eric Sandeen Date: Tue Oct 16 23:26:30 2007 -0700 remove unused bh in calls to ext234_get_group_desc ext[234]_get_group_desc never tests the bh argument, and only sets it if it is passed in; it is perfectly happy with a NULL bh argument. But, many callers send one in and never use it. May as well call with NULL like other callers who don't use the bh. Signed-off-by: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74bf17cffc32511c7c6d70fe7f376b92662e186e Author: Denis Cheng Date: Tue Oct 16 23:26:30 2007 -0700 fs: remove the unused mempages parameter Since the mempages parameter is actually not used, they should be removed. Now there is only files_init use the mempages parameter, files_init(mempages); but I don't think the adaptation to mempages in files_init is really useful; and if files_init also changed to the prototype void (*func)(void), the wrapper vfs_caches_init would also not need the mempages parameter. Signed-off-by: Denis Cheng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d99493b3a68e40e56459ea3565d4402fb6e5f3a Author: David Woodhouse Date: Tue Oct 16 23:26:29 2007 -0700 Fix CONFIG_DEBUG_SHIRQ trigger on free_irq() Andy Gospodarek pointed out that because we return in the middle of the free_irq() function, we never actually do call the IRQ handler that just got deregistered. This should fix it, although I expect Andrew will want to convert those 'return's to 'break'. That's a separate change though. Signed-off-by: David Woodhouse Cc: Andy Gospodarek Cc: Fernando Luis Vzquez Cao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f13ef7754f724842dbf5ae6d85d0604fff0d1a84 Author: Ravikiran G Thirumalai Date: Tue Oct 16 23:26:28 2007 -0700 report the per-irq statistics on all arches Commit 4004c69ad68dd03733179277280ea2946990ba36 avoids too many remote cpu references while reporting per-irq stats. Since we will not have the same performance penalty of bringing in remote cpu cachelines while reporting per-irq stats anymore, we can now afford to be consistent and report this statistic on all arches, all configs. akpm: affects ia64, alpha and ppc64, mainly. Kiran earlier said: Read to /proc/stat takes: Plain: 2.622832 With speedup patch: 0.013194 With the per-irq stats commented out: 0.008124 So the performance problems which originally caused those architectures to disable this statistic should now be fixed up. Signed-off-by: Ravikiran Thirumalai Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: "Luck, Tony" Cc: Richard Henderson Cc: Ivan Kokshaysky Acked-by: Linus Torvalds Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af49d9248fca6f26cbdb01918334f71d9040df80 Author: Rusty Russell Date: Tue Oct 16 23:26:27 2007 -0700 Remove "unsafe" from module struct Adrian Bunk points out that "unsafe" was used to mark modules touched by the deprecated MOD_INC_USE_COUNT interface, which has long gone. It's time to remove the member from the module structure, as well. If you want a module which can't unload, don't register an exit function. (Vlad Yasevich says SCTP is now safe to unload, so just remove the __unsafe there). Signed-off-by: Rusty Russell Acked-by: Shannon Nelson Acked-by: Dan Williams Acked-by: Vlad Yasevich Cc: Sridhar Samudrala Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9c9bef1345e5d9258febce2a37e4d40319fa728 Author: Miklos Szeredi Date: Tue Oct 16 23:26:27 2007 -0700 ext4: show all mount options Signed-off-by: Miklos Szeredi Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 571beed8d698e20392e525ed7f360410e40d12e8 Author: Miklos Szeredi Date: Tue Oct 16 23:26:26 2007 -0700 ext3: show all mount options Signed-off-by: Miklos Szeredi Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93d44cb275f3eba720617a8c5b00d51a8e0e9049 Author: Miklos Szeredi Date: Tue Oct 16 23:26:26 2007 -0700 ext2: show all mount options Using mtab is problematic for various reasons, one of them is that unprivileged mounts won't turn up in there. So we want to get rid of it, and use /proc/mounts instead. But most filesystems are lazy, and are not showing all mount options. Which means, that without mtab, the user won't be able to see some or all of the options. It would be nice if the generic code could remember the mount options, and show them without the need to add extra code to filesystems. But this is not easy, because different filesystems handle mount options given options, and not tough the rest. This is not taken into account by mount(8) either, so /etc/mtab will be broken in this case. This series fixes up ->show_options() in ext[234]. Signed-off-by: Miklos Szeredi Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e57aa839cea13852e07ecb495692b602b11136c9 Author: Fengguang Wu Date: Tue Oct 16 23:26:25 2007 -0700 convert ill defined log2() to ilog2() It's *wrong* to have #define log2(n) ffz(~(n)) It should be *reversed*: #define log2(n) flz(~(n)) or #define log2(n) fls(n) or just use ilog2(n) defined in linux/log2.h. This patch follows the last solution, recommended by Andrew Morton. Cc: Cc: Mingming Cao Cc: Bjorn Helgaas Cc: Chris Ahna Cc: David Mosberger-Tang Cc: Kyle McMartin Cc: Dave Airlie Cc: Dave Jones Signed-off-by: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf020cb7b3918e186309db21d75cb91ebafc9d6f Author: Avi Kivity Date: Tue Oct 16 23:26:24 2007 -0700 time: simplify smp_call_function_single() call sequence smp_call_function_single() now knows how to call the function on the current cpu. Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9022e9cb9e919e31d5bc15fcef5c7186740645e Author: Jesper Juhl Date: Tue Oct 16 23:26:23 2007 -0700 Clean up duplicate includes in kernel/ This patch cleans up duplicate includes in kernel/ Signed-off-by: Jesper Juhl Acked-by: Paul E. McKenney Reviewed-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea0b7d5da0024df1c6f2c2139dbeb4fd260baac6 Author: Jesper Juhl Date: Tue Oct 16 23:26:23 2007 -0700 Clean up duplicate includes in fs/ecryptfs/ This patch cleans up duplicate includes in fs/ecryptfs/ Signed-off-by: Jesper Juhl Cc: Michael A Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40b2ea839753d32e5685d307c23d92c82cae3b70 Author: Jesper Juhl Date: Tue Oct 16 23:26:22 2007 -0700 Clean up duplicate includes in fs/ This patch cleans up duplicate includes in fs/ Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de4f800b498e04aceadb96107cdee2bbe1f9464a Author: Jesper Juhl Date: Tue Oct 16 23:26:22 2007 -0700 Clean up duplicate includes in drivers/w1/ This patch cleans up duplicate includes in drivers/w1/ Signed-off-by: Jesper Juhl Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f1a4373e7863c320878322e68a45aa2b100b692 Author: Jesper Juhl Date: Tue Oct 16 23:26:21 2007 -0700 Clean up duplicate includes in drivers/char/ This patch cleans up duplicate includes in drivers/char/ Signed-off-by: Jesper Juhl Cc: Richard Purdie Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4be28540ee2f5af6f21764cde25154208750611e Author: Alexey Dobriyan Date: Tue Oct 16 23:26:21 2007 -0700 Remove sysctl.h from fs.h Rrrr, addition of sysctl.h to fs.h was't very smart, because simple editing of the former will buy you big recompile, where it shouldn't have to. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b571a066a2fee14189a297ce8adc5212c58074c Author: Olof Johansson Date: Tue Oct 16 23:26:20 2007 -0700 pcmcia: CompactFlash driver for PA Semi Electra boards Driver for the CompactFlash slot on the PA Semi Electra eval board. It's a simple device sitting on localbus, with interrupts and detect/voltage control over GPIO. The driver is implemented as an of_platform driver, and adds localbus as a bus being probed by the of_platform framework. [akpm@linux-foundation.org: cleanups] [olof@lixom.net: fix build] Signed-off-by: Olof Johansson Cc: Christoph Hellwig Cc: Milton Miller Cc: Kumar Gala Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Dominik Brodowski Signed-off-by: Olof Johansson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4975e45ff66845c9acc6c8619e80ef15eadf785e Author: Denis Cheng Date: Tue Oct 16 23:26:19 2007 -0700 fs: use kmem_cache_zalloc instead Signed-off-by: Denis Cheng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87400c04753674f546c7779abf536d2a3b5e0b7e Author: Alexey Dobriyan Date: Tue Oct 16 23:26:19 2007 -0700 fs/proc/mmu.c: headers butchery fs/proc/mmu.c consists of only one function which uses only: 1) struct vmalloc_info * 2) struct vm_struct * 3) struct vmalloc_info 4) vmlist 5) VMALLOC_TOTAL, VMALLOC_START, VMALLOC_END 6) read_lock, read_unlock 7) vmlist_lock 8) struct vm_struct This gives us linux/spinlock.h, asm/pgtable.h, "internal.h", linux/vmalloc.h. asm/pgtable.h uses PKMAP_BASE on i386, for which asm/highmem.h is needed. But, linux/highmem.h is actually used to make it compile everywhere. I'll deal later with this particular i386 surprise. Cross-compile tested on many archs and configs. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9bf084f70ffde6521d113593b89461a5bd2a303b Author: Oleg Nesterov Date: Tue Oct 16 23:26:18 2007 -0700 do_poll: return -EINTR when signalled do_poll() checks signal_pending() but returns 0 when interrupted. This means the caller has to check signal_pending() again. Change it to return -EINTR when signal_pending() and count == 0. Signed-off-by: Oleg Nesterov Cc: Andi Kleen Cc: Davide Libenzi Cc: Vadim Lobanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 252e5725cfb55a89e54888317856903fef9d5031 Author: Oleg Nesterov Date: Tue Oct 16 23:26:17 2007 -0700 do_sys_poll: simplify playing with on-stack data Cleanup. Lessens both the source and compiled code (100 bytes) and imho makes the code much more understandable. With this patch "struct poll_list *head" always points to on-stack stack_pps, so we can remove all "is it on-stack" and "was it initialized" checks. Also, move poll_initwait/poll_freewait and -EINTR detection closer to the do_poll()'s callsite. [akpm@linux-foundation.org: fix warning (size_t != uint)] Signed-off-by: Oleg Nesterov Looks-good-to: Andi Kleen Cc: Davide Libenzi Cc: Vadim Lobanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 759d7c6c47cf1439171d057a226453e96856c5de Author: Diego Woitasen Date: Tue Oct 16 23:26:17 2007 -0700 Remove unneeded lock_kernel() in driver/block/loop.c Signed-off-by: Diego Woitasen Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 966fe399cc774b00b1eed11fd884be85a5c5c489 Author: Robert P. J. Day Date: Tue Oct 16 23:26:16 2007 -0700 KCONFIG: Make "Instrumentation support" non-EXPERIMENTAL It makes more sense to make instrumentation support experimental on a case-by-case basis. Signed-off-by: Robert P. J. Day Cc: Andi Kleen Cc: "Luck, Tony" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit febfcf9115917ba80931dbf9f36d8d413698b628 Author: Philippe De Muyter Date: Tue Oct 16 23:26:15 2007 -0700 fs: mark nibblemap const Signed-off-by: Philippe De Muyter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55ca3e796d452d1fd213846ae6ce8bc4d37b54cc Author: WANG Cong Date: Tue Oct 16 23:26:15 2007 -0700 fs/romfs/inode.c: trivial improvements - There are no lists in fs/romfs/inode.c, so using list_entry is a bit confusing. Replace it with container_of. - It is unnecessary to cast the return value of kmem_cache_alloc, since it returns a void* pointer. Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0cbc591bf884a5662b2fbb21b5c09fa1c1c7b579 Author: Denis Cheng Date: Tue Oct 16 23:26:14 2007 -0700 nbd: change a parameter's type to remove a memcpy call This memcpy looks so strange, in fact it's merely a pointer dereference, so I change the parameter's type to refer it more directly, this could make the memcpy not needed anymore. In the function nbd_read_stat where nbd_find_request is only once called, the parameter served should be transformed accordingly. Signed-off-by: Denis Cheng Cc: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2c9740b499f959ed513375b6e35c2ab161921cb Author: Denis Cheng Date: Tue Oct 16 23:26:14 2007 -0700 nbd: use list_for_each_entry_safe to make it more consolidated and readable Thus the traverse of the loop may delete nodes, use the safe version. Signed-off-by: Denis Cheng Cc: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04fc8bbcf5eb25fa2aec290b302a9878dde20168 Author: Christoph Hellwig Date: Tue Oct 16 23:26:13 2007 -0700 kill DECLARE_MUTEX_LOCKED DECLARE_MUTEX_LOCKED was used for semaphores used as completions and we've got rid of them. Well, except for one in libusual that the maintainer explicitly wants to keep as semaphore. So convert that useage to an explicit sema_init and kill of DECLARE_MUTEX_LOCKED so that new code is reminded to use a completion. Signed-off-by: Christoph Hellwig Acked-by: "Satyam Sharma" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4029a9177fb4a3410211d091505a7f8d03a7b15d Author: Olaf Hering Date: Tue Oct 16 23:26:12 2007 -0700 unexport asm/shmparam.h SHMLBA cant possible be used in userspace, see sparc versions of that header. Do not export asm/shmparam.h during make headers_install_all This removes another uservisible place of PAGE_SIZE Signed-off-by: Olaf Hering Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb1f2930609bb01bb3a970f145b5004e5163742a Author: Hans-Christian Egtvedt Date: Tue Oct 16 23:26:11 2007 -0700 Driver for the Atmel on-chip SSC on AT32AP and AT91 The Synchronous Serial Controller (SSC) on Atmel microprocessors are capable of tranceiving many frame based protocols, like I2S. Tested on the AT32AP7000/ATSTK1000. This driver is used in the ALSA sound driver for the AT73C213 external DAC on the ATSTK1000 development board for AVR32. This sound driver will be submitted soon. Hardware documentation can be found in the AT32AP7000 data sheet, which can be downloaded from http://www.atmel.com/dyn/products/datasheets.asp?family_id=682 [akpm@linux-foundation.org: init spinlock at compile time] Signed-off-by: Hans-Christian Egtvedt Acked-by: Haavard Skinnemoen Cc: David Brownell Cc: Andrew Victor Cc: Patrice Vilchez Cc: Nicolas Ferre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94f582f82a85a941678c80c60a3baa8187c74217 Author: Robert P. J. Day Date: Tue Oct 16 23:26:11 2007 -0700 Force erroneous inclusions of compiler-*.h files to be errors Replace worthless comments with actual preprocessor errors when including the wrong versions of the compiler.h files. [akpm@linux-foundation.org: make it work] Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a36a151e79be1562d6fea3ec4698f23e7102a26f Author: Dave Young Date: Tue Oct 16 23:26:10 2007 -0700 zisofs use mutex instead of semaphore Use mutex instead of semaphore in fs/isofs/compress.c, and remove an unnecessary variable. Signed-off-by: Dave Young Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 040b5c6f9503f2d6b35c335f8537bb3035d35547 Author: Alexey Dobriyan Date: Tue Oct 16 23:26:10 2007 -0700 SLAB_PANIC more (proc, posix-timers, shmem) These aren't modular, so SLAB_PANIC is OK. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4f3b63fe15b4629aa1ec163c95ab30423d0f76a Author: Ravikiran G Thirumalai Date: Tue Oct 16 23:26:09 2007 -0700 softlockup: add a /proc tuning parameter Control the trigger limit for softlockup warnings. This is useful for debugging softlockups, by lowering the softlockup_thresh to identify possible softlockups earlier. This patch: 1. Adds a sysctl softlockup_thresh with valid values of 1-60s (Higher value to disable false positives) 2. Changes the softlockup printk to print the cpu softlockup time [akpm@linux-foundation.org: Fix various warnings and add definition of "two"] Signed-off-by: Ravikiran Thirumalai Signed-off-by: Shai Fultheim Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5f2ce3c6024a5bb895647b6bd88ecae5001020a Author: Ingo Molnar Date: Tue Oct 16 23:26:08 2007 -0700 softlockup watchdog: style cleanups kernel/softirq.c grew a few style uncleanlinesses in the past few months, clean that up. No functional changes: text data bss dec hex filename 1126 76 4 1206 4b6 softlockup.o.before 1129 76 4 1209 4b9 softlockup.o.after ( the 3 bytes .text increase is due to the "<1>" appended to one of the printk messages. ) Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43581a10075492445f65234384210492ff333eba Author: Ingo Molnar Date: Tue Oct 16 23:26:08 2007 -0700 softlockup: improve debug output Improve the debuggability of kernel lockups by enhancing the debug output of the softlockup detector: print the task that causes the lockup and try to print a more intelligent backtrace. The old format was: BUG: soft lockup detected on CPU#1! [] show_trace_log_lvl+0x19/0x2e [] show_trace+0x12/0x14 [] dump_stack+0x14/0x16 [] softlockup_tick+0xbe/0xd0 [] run_local_timers+0x12/0x14 [] update_process_times+0x3e/0x63 [] tick_sched_timer+0x7c/0xc0 [] hrtimer_interrupt+0x135/0x1ba [] smp_apic_timer_interrupt+0x6e/0x80 [] apic_timer_interrupt+0x33/0x38 [] syscall_call+0x7/0xb ======================= The new format is: BUG: soft lockup detected on CPU#1! [prctl:2363] Pid: 2363, comm: prctl EIP: 0060:[] CPU: 1 EIP is at sys_prctl+0x24/0x18c EFLAGS: 00000213 Not tainted (2.6.22-cfs-v20 #26) EAX: 00000001 EBX: 000003e7 ECX: 00000001 EDX: f6df0000 ESI: 000003e7 EDI: 000003e7 EBP: f6df0fb0 DS: 007b ES: 007b FS: 00d8 CR0: 8005003b CR2: 4d8c3340 CR3: 3731d000 CR4: 000006d0 [] show_trace_log_lvl+0x19/0x2e [] show_trace+0x12/0x14 [] show_regs+0x1ab/0x1b3 [] softlockup_tick+0xef/0x108 [] run_local_timers+0x12/0x14 [] update_process_times+0x3e/0x63 [] tick_sched_timer+0x7c/0xc0 [] hrtimer_interrupt+0x135/0x1ba [] smp_apic_timer_interrupt+0x6e/0x80 [] apic_timer_interrupt+0x33/0x38 [] syscall_call+0x7/0xb ======================= Note that in the old format we only knew that some system call locked up, we didnt know _which_. With the new format we know that it's at a specific place in sys_prctl(). [which was where i created an artificial kernel lockup to test the new format.] This is also useful if the lockup happens in user-space - the user-space EIP (and other registers) will be printed too. (such a lockup would either suggest that the task was running at SCHED_FIFO:99 and looping for more than 10 seconds, or that the softlockup detector has a false-positive.) The task name is printed too first, just in case we dont manage to print a useful backtrace. [satyam@infradead.org: fix warning] Signed-off-by: Ingo Molnar Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad3b82795f3f6e641081790409a051312622f2a6 Author: Ingo Molnar Date: Tue Oct 16 23:26:07 2007 -0700 softlockup: make asm/irq_regs.h available on every platform The softlockup detector would like to use get_irq_regs(), so generalize the availability on every Linux architecture. (It is fine for an architecture to always return NULL to get_irq_regs(), which it does by default.) Signed-off-by: Ingo Molnar Cc: Ian Molton Cc: Kumar Gala Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Mikael Starvik Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a115d5caca1a2905ba7a32b408a6042b20179aaa Author: Ingo Molnar Date: Tue Oct 16 23:26:06 2007 -0700 fix the softlockup watchdog to actually work this Xen related commit: commit 966812dc98e6a7fcdf759cbfa0efab77500a8868 Author: Jeremy Fitzhardinge Date: Tue May 8 00:28:02 2007 -0700 Ignore stolen time in the softlockup watchdog broke the softlockup watchdog to never report any lockups. (!) print_timestamp defaults to 0, this makes the following condition always true: if (print_timestamp < (touch_timestamp + 1) || and we'll in essence never report soft lockups. apparently the functionality of the soft lockup watchdog was never actually tested with that patch applied ... Signed-off-by: Ingo Molnar Cc: Jeremy Fitzhardinge Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3b13c23f186ecb57204580cc1f2dbe9c284953a Author: Ingo Molnar Date: Tue Oct 16 23:26:06 2007 -0700 softlockup: use cpu_clock() instead of sched_clock() sched_clock() is not a reliable time-source, use cpu_clock() instead. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3806204ca9017a2cf2d849430f26e2b62666f5b2 Author: Paul E. McKenney Date: Tue Oct 16 23:26:05 2007 -0700 Remove workaround for unimmunized rcu_dereference from mce_log() Remove the rmb() from mce_log(), since the immunized version of rcu_dereference() makes it unnecessary. Signed-off-by: Paul E. McKenney Cc: Ingo Molnar Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97b430320ce7c95f0d5587c5ecc8f6a9d0c698e9 Author: Paul E. McKenney Date: Tue Oct 16 23:26:04 2007 -0700 Immunize rcu_dereference() against crazy compiler writers Turns out that compiler writers are a bit more aggressive about optimizing than one might expect. This patch prevents a number of such optimizations from messing up rcu_deference(). This is not merely a theoretical problem, as evidenced by the rmb() in mce_log(). Signed-off-by: Paul E. McKenney Cc: Ingo Molnar Acked-by: Josh Triplett Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6b450d489f2fb4e909447beacad64edb8aa0cda Author: Alexey Dobriyan Date: Tue Oct 16 23:26:04 2007 -0700 Make unregister_binfmt() return void list_del() hardly can fail, so checking for return value is pointless (and current code always return 0). Nobody really cared that return value anyway. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4dc1b14d8dc57c3975bf69740e4f5cda6bfba09 Author: Alexey Dobriyan Date: Tue Oct 16 23:26:03 2007 -0700 Use list_head in binfmt handling Switch single-linked binfmt formats list to usual list_head's. This leads to one-liners in register_binfmt() and unregister_binfmt(). The downside is one pointer more in struct linux_binfmt. This is not a problem, since the set of registered binfmts on typical box is very small -- (ELF + something distro enabled for you). Test-booted, played with executable .txt files, modprobe/rmmod binfmt_misc. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit deba0f49b9345f885a53a077623a68cef89c01d5 Author: Adrian Bunk Date: Tue Oct 16 23:26:03 2007 -0700 fs/reiserfs/: cleanups - remove the following no longer used functions: - bitmap.c: reiserfs_claim_blocks_to_be_allocated() - bitmap.c: reiserfs_release_claimed_blocks() - bitmap.c: reiserfs_can_fit_pages() - make the following functions static: - inode.c: restart_transaction() - journal.c: reiserfs_async_progress_wait() Signed-off-by: Adrian Bunk Acked-by: Vladimir V. Saveliev Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e423003028183df54f039dfda8b58c49e78c89d7 Author: Andrew Morton Date: Tue Oct 16 23:26:02 2007 -0700 writeback: don't propagate AOP_WRITEPAGE_ACTIVATE This is a writeback-internal marker but we're propagating it all the way back to userspace!. Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a4050791b23c55a451974027d41d72a9b78039b Author: Nick Piggin Date: Tue Oct 16 23:26:02 2007 -0700 mm: document tree_lock->zone.lock lockorder zone->lock is quite an "inner" lock and mostly constrained to page alloc as well, so like slab locks, it probably isn't something that is critically important to document here. However unlike slab locks, zone lock could be used more widely in future, and page_alloc.c might possibly have more business to do tricky things with pagecache than does slab. So... I don't think it hurts to document it. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d773ed6b856a96bd6d18b6e04455e3ced0876da4 Author: David Rientjes Date: Tue Oct 16 23:26:01 2007 -0700 mm: test and set zone reclaim lock before starting reclaim Introduces new zone flag interface for testing and setting flags: int zone_test_and_set_flag(struct zone *zone, zone_flags_t flag) Instead of setting and clearing ZONE_RECLAIM_LOCKED each time shrink_zone() is called, this flag is test and set before starting zone reclaim. Zone reclaim starts in __alloc_pages() when a zone's watermark fails and the system is in zone_reclaim_mode. If it's already in reclaim, there's no need to start again so it is simply considered full for that allocation attempt. There is a change of behavior with regard to concurrent zone shrinking. It is now possible for try_to_free_pages() or kswapd to already be shrinking a particular zone when __alloc_pages() starts zone reclaim. In this case, it is possible for two concurrent threads to invoke shrink_zone() for a single zone. This change forbids a zone to be in zone reclaim twice, which was always the behavior, but allows for concurrent try_to_free_pages() or kswapd shrinking when starting zone reclaim. Cc: Andrea Arcangeli Cc: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae74138da609c576b221c765efa8b81b2365f465 Author: David Rientjes Date: Tue Oct 16 23:26:00 2007 -0700 oom: convert zone_scan_lock from mutex to spinlock There's no reason to sleep in try_set_zone_oom() or clear_zonelist_oom() if the lock can't be acquired; it will be available soon enough once the zonelist scanning is done. All other threads waiting for the OOM killer are also contingent on the exiting task being able to acquire the lock in clear_zonelist_oom() so it doesn't make sense to put it to sleep. Cc: Andrea Arcangeli Cc: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9aad369e5690cbd0505f75aa1d34c9cacfef48da Author: David Rientjes Date: Tue Oct 16 23:26:00 2007 -0700 oom: add header file to Kbuild as unifdef Preprocess include/linux/oom.h before exporting it to userspace. Cc: Andrea Arcangeli Cc: Christoph Lameter Cc: Alexey Dobriyan Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 172acf60f39046987d3ff7b955f2bcc45de7ddd3 Author: David Rientjes Date: Tue Oct 16 23:25:59 2007 -0700 oom: prevent including sched.h in header file It's not necessary to include all of linux/sched.h in linux/oom.h. Instead, simply include prototypes for the relevant structs and include linux/types.h for gfp_t. Cc: Andrea Arcangeli Cc: Christoph Lameter Acked-by: Alexey Dobriyan Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ff566963ce804809af9e32331b287eedeeff501 Author: David Rientjes Date: Tue Oct 16 23:25:58 2007 -0700 oom: do not take callback_mutex Since no task descriptor's 'cpuset' field is dereferenced in the execution of the OOM killer anymore, it is no longer necessary to take callback_mutex. [akpm@linux-foundation.org: restore cpuset_lock for other patches] Cc: Andrea Arcangeli Acked-by: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbe373f2c60b2aa36c3231734a5afc5271a06718 Author: David Rientjes Date: Tue Oct 16 23:25:58 2007 -0700 oom: compare cpuset mems_allowed instead of exclusive ancestors Instead of testing for overlap in the memory nodes of the the nearest exclusive ancestor of both current and the candidate task, it is better to simply test for intersection between the task's mems_allowed in their task descriptors. This does not require taking callback_mutex since it is only used as a hint in the badness scoring. Tasks that do not have an intersection in their mems_allowed with the current task are not explicitly restricted from being OOM killed because it is quite possible that the candidate task has allocated memory there before and has since changed its mems_allowed. Cc: Andrea Arcangeli Acked-by: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7213f5066fc8a17c78389fe245de522b5cf0648a Author: David Rientjes Date: Tue Oct 16 23:25:57 2007 -0700 oom: suppress extraneous stack and memory dump Suppresses the extraneous stack and memory dump when a parallel OOM killing has been found. There's no need to fill the ring buffer with this information if its already been printed and the condition that triggered the previous OOM killer has not yet been alleviated. Cc: Andrea Arcangeli Acked-by: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe071d7e8aae5745c009c808bb8933f22a9e305a Author: David Rientjes Date: Tue Oct 16 23:25:56 2007 -0700 oom: add oom_kill_allocating_task sysctl Adds a new sysctl, 'oom_kill_allocating_task', which will automatically kill the OOM-triggering task instead of scanning through the tasklist to find a memory-hogging target. This is helpful for systems with an insanely large number of tasks where scanning the tasklist significantly degrades performance. Cc: Andrea Arcangeli Acked-by: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff0ceb9deb6eb017f52900b708d49cfa77bf25fb Author: David Rientjes Date: Tue Oct 16 23:25:56 2007 -0700 oom: serialize out of memory calls A final allocation attempt with a very high watermark needs to be attempted before invoking out_of_memory(). OOM killer serialization needs to occur before this final attempt, otherwise tasks attempting to OOM-lock all zones in its zonelist may spin and acquire the lock unnecessarily after the OOM condition has already been alleviated. If the final allocation does succeed, the zonelist is simply OOM-unlocked and __alloc_pages() returns the page. Otherwise, the OOM killer is invoked. If the task cannot acquire OOM-locks on all zones in its zonelist, it is put to sleep and the allocation is retried when it gets rescheduled. One of its zones is already marked as being in the OOM killer so it'll hopefully be getting some free memory soon, at least enough to satisfy a high watermark allocation attempt. This prevents needlessly killing a task when the OOM condition would have already been alleviated if it had simply been given enough time. Cc: Andrea Arcangeli Acked-by: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 098d7f128a4e53cb64930628915ac767785e0e60 Author: David Rientjes Date: Tue Oct 16 23:25:55 2007 -0700 oom: add per-zone locking OOM killer synchronization should be done with zone granularity so that memory policy and cpuset allocations may have their corresponding zones locked and allow parallel kills for other OOM conditions that may exist elsewhere in the system. DMA allocations can be targeted at the zone level, which would not be possible if locking was done in nodes or globally. Synchronization shall be done with a variation of "trylocks." The goal is to put the current task to sleep and restart the failed allocation attempt later if the trylock fails. Otherwise, the OOM killer is invoked. Each zone in the zonelist that __alloc_pages() was called with is checked for the newly-introduced ZONE_OOM_LOCKED flag. If any zone has this flag present, the "trylock" to serialize the OOM killer fails and returns zero. Otherwise, all the zones have ZONE_OOM_LOCKED set and the try_set_zone_oom() function returns non-zero. Cc: Andrea Arcangeli Cc: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e815af95f94914993bbad279c71cf5fef9f4eaac Author: David Rientjes Date: Tue Oct 16 23:25:54 2007 -0700 oom: change all_unreclaimable zone member to flags Convert the int all_unreclaimable member of struct zone to unsigned long flags. This can now be used to specify several different zone flags such as all_unreclaimable and reclaim_in_progress, which can now be removed and converted to a per-zone flag. Flags are set and cleared as follows: zone_set_flag(struct zone *zone, zone_flags_t flag) zone_clear_flag(struct zone *zone, zone_flags_t flag) Defines the first zone flags, ZONE_ALL_UNRECLAIMABLE and ZONE_RECLAIM_LOCKED, which have the same semantics as the old zone->all_unreclaimable and zone->reclaim_in_progress, respectively. Also converts all current users that set or clear either flag to use the new interface. Helper functions are defined to test the flags: int zone_is_all_unreclaimable(const struct zone *zone) int zone_is_reclaim_locked(const struct zone *zone) All flag operators are of the atomic variety because there are currently readers that are implemented that do not take zone->lock. [akpm@linux-foundation.org: add needed include] Cc: Andrea Arcangeli Acked-by: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70e24bdf6d2fead14631e72a07fba012400c521e Author: David Rientjes Date: Tue Oct 16 23:25:53 2007 -0700 oom: move constraints to enum The OOM killer's CONSTRAINT definitions are really more appropriate in an enum, so define them in include/linux/oom.h. Cc: Andrea Arcangeli Acked-by: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a3135c2e77fe88cdea20b5e3f4761068b799ac2 Author: David Rientjes Date: Tue Oct 16 23:25:53 2007 -0700 oom: move prototypes to appropriate header file Move the OOM killer's extern function prototypes to include/linux/oom.h and include it where necessary. [clg@fr.ibm.com: build fix] Cc: Andrea Arcangeli Acked-by: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957 Author: Christoph Lameter Date: Tue Oct 16 23:25:51 2007 -0700 Slab API: remove useless ctor parameter and reorder parameters Slab constructors currently have a flags parameter that is never used. And the order of the arguments is opposite to other slab functions. The object pointer is placed before the kmem_cache pointer. Convert ctor(void *object, struct kmem_cache *s, unsigned long flags) to ctor(struct kmem_cache *s, void *object) throughout the kernel [akpm@linux-foundation.org: coupla fixes] Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b811c202a0edadaac7242ab834fe7ba409978ae7 Author: Christoph Lameter Date: Tue Oct 16 23:25:51 2007 -0700 SLUB: simplify IRQ off handling Move irq handling out of new slab into __slab_alloc. That is useful for Mathieu's cmpxchg_local patchset and also allows us to remove the crude local_irq_off in early_kmem_cache_alloc(). Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e26c149c358529b1605f8959341d34bc4b880a3 Author: Peter Zijlstra Date: Tue Oct 16 23:25:50 2007 -0700 mm: dirty balancing for tasks Based on ideas of Andrew: http://marc.info/?l=linux-kernel&m=102912915020543&w=2 Scale the bdi dirty limit inversly with the tasks dirty rate. This makes heavy writers have a lower dirty limit than the occasional writer. Andrea proposed something similar: http://lwn.net/Articles/152277/ The main disadvantage to his patch is that he uses an unrelated quantity to measure time, which leaves him with a workload dependant tunable. Other than that the two approaches appear quite similar. [akpm@linux-foundation.org: fix warning] Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04fbfdc14e5f48463820d6b9807daa5e9c92c51f Author: Peter Zijlstra Date: Tue Oct 16 23:25:50 2007 -0700 mm: per device dirty threshold Scale writeback cache per backing device, proportional to its writeout speed. By decoupling the BDI dirty thresholds a number of problems we currently have will go away, namely: - mutual interference starvation (for any number of BDIs); - deadlocks with stacked BDIs (loop, FUSE and local NFS mounts). It might be that all dirty pages are for a single BDI while other BDIs are idling. By giving each BDI a 'fair' share of the dirty limit, each one can have dirty pages outstanding and make progress. A global threshold also creates a deadlock for stacked BDIs; when A writes to B, and A generates enough dirty pages to get throttled, B will never start writeback until the dirty pages go away. Again, by giving each BDI its own 'independent' dirty limit, this problem is avoided. So the problem is to determine how to distribute the total dirty limit across the BDIs fairly and efficiently. A DBI that has a large dirty limit but does not have any dirty pages outstanding is a waste. What is done is to keep a floating proportion between the DBIs based on writeback completions. This way faster/more active devices get a larger share than slower/idle devices. [akpm@linux-foundation.org: fix warnings] [hugh@veritas.com: Fix occasional hang when a task couldn't get out of balance_dirty_pages] Signed-off-by: Peter Zijlstra Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 145ca25eb2fbd20d4faf1bad4628c7650332058f Author: Peter Zijlstra Date: Tue Oct 16 23:25:49 2007 -0700 lib: floating proportions Given a set of objects, floating proportions aims to efficiently give the proportional 'activity' of a single item as compared to the whole set. Where 'activity' is a measure of a temporal property of the items. It is efficient in that it need not inspect any other items of the set in order to provide the answer. It is not even needed to know how many other items there are. It has one parameter, and that is the period of 'time' over which the 'activity' is measured. Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69cb51d18c1ed593009d9a620cac49d0dcf15dc8 Author: Peter Zijlstra Date: Tue Oct 16 23:25:48 2007 -0700 mm: count writeback pages per BDI Count per BDI writeback pages. Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9e51e4180696aa67915ec5665e4ec74125565de Author: Peter Zijlstra Date: Tue Oct 16 23:25:47 2007 -0700 mm: count reclaimable pages per BDI Count per BDI reclaimable pages; nr_reclaimable = nr_dirty + nr_unstable. Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2e8fb6efa209c82203c79b491b5bc952d44aa57 Author: Peter Zijlstra Date: Tue Oct 16 23:25:47 2007 -0700 mm: scalable bdi statistics counters Provide scalable per backing_dev_info statistics counters. Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0bf68ddec4f4f90e5871404be4f1854c17f3120 Author: Peter Zijlstra Date: Tue Oct 16 23:25:46 2007 -0700 mm: bdi init hooks provide BDI constructor/destructor hooks [akpm@linux-foundation.org: compile fix] Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc62a30e274d003a4d08fb888f1520add4b21373 Author: Peter Zijlstra Date: Tue Oct 16 23:25:46 2007 -0700 lib: percpu_counter_init_irq provide a way to tell lockdep about percpu_counters that are supposed to be used from irq safe contexts. Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 833f4077bf7c2dcff6e31526e03ec2ad91c88581 Author: Peter Zijlstra Date: Tue Oct 16 23:25:45 2007 -0700 lib: percpu_counter_init error handling alloc_percpu can fail, propagate that error. Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf1d89c81352f6eca72d0c10cfee3dba29ef5efb Author: Peter Zijlstra Date: Tue Oct 16 23:25:45 2007 -0700 lib: percpu_count_sum() Provide an accurate version of percpu_counter_read. Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52d9f3b4090922f34497ace82bd062d80a465a29 Author: Peter Zijlstra Date: Tue Oct 16 23:25:44 2007 -0700 lib: percpu_counter_sum_positive s/percpu_counter_sum/&_positive/ Because its consitent with percpu_counter_read* Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a587f47b82f96f19318c036e7b979fcd5c3848f Author: Peter Zijlstra Date: Tue Oct 16 23:25:44 2007 -0700 lib: percpu_counter_set Provide a method to set a percpu counter to a specified value. Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20e89767096392a2cb2404437d3d181b8827af38 Author: Peter Zijlstra Date: Tue Oct 16 23:25:43 2007 -0700 lib: make percpu_counter_add take s64 percpu_counter is a s64 counter, make _add consitent. Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 252e0ba6b77dcfae448fa2fbaf796e8a83839e75 Author: Peter Zijlstra Date: Tue Oct 16 23:25:43 2007 -0700 lib: percpu_counter variable batch Because the current batch setup has an quadric error bound on the counter, allow for an alternative setup. Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cb4f9fa0c5f3ded9f70f85b70ee6d429834f911 Author: Peter Zijlstra Date: Tue Oct 16 23:25:42 2007 -0700 lib: percpu_counter_sub Hugh spotted that some code does: percpu_counter_add(&counter, -unsignedlong) which, when the amount argument is of type s32, sort-of works thanks to two's-complement. However when we'd change the type to s64 this breaks on 32bit machines, because the promotion rules zero extend the unsigned number. Provide percpu_counter_sub() to hide the s64 cast. That is: percpu_counter_sub(&counter, foo) is equal to: percpu_counter_add(&counter, -(s64)foo); Signed-off-by: Peter Zijlstra Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa0dff2d09bfa50b7d02714a45920c64568e699d Author: Peter Zijlstra Date: Tue Oct 16 23:25:42 2007 -0700 lib: percpu_counter_add s/percpu_counter_mod/percpu_counter_add/ Because its a better name, _mod implies modulo. Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4dc4beed23827e155d7cbc2a1ffa3949eddd194 Author: Peter Zijlstra Date: Tue Oct 16 23:25:41 2007 -0700 nfs: remove congestion_end() These patches aim to improve balance_dirty_pages() and directly address three issues: 1) inter device starvation 2) stacked device deadlocks 3) inter process starvation 1 and 2 are a direct result from removing the global dirty limit and using per device dirty limits. By giving each device its own dirty limit is will no longer starve another device, and the cyclic dependancy on the dirty limit is broken. In order to efficiently distribute the dirty limit across the independant devices a floating proportion is used, this will allocate a share of the total limit proportional to the device's recent activity. 3 is done by also scaling the dirty limit proportional to the current task's recent dirty rate. This patch: nfs: remove congestion_end(). It's redundant, clear_bdi_congested() already wakes the waiters. Signed-off-by: Peter Zijlstra Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f7d6668c29b1dfa307a44844f9bb38356fc989b Author: Mark Nelson Date: Tue Oct 16 23:25:40 2007 -0700 powerpc: add Altivec/VMX state to coredumps Update dump_task_altivec() (which has so far never been put to use) so that it dumps the Altivec/VMX registers (VR[0] - VR[31], VSCR and VRSAVE) in the same format as the ptrace get_vrregs(), and add the appropriate glue typedef and #defines to make it work. A new note type of NT_PPC_VMX was chosen to be 0x100 (arbitrarily) because it allows the low range values to be used for more generic purposes and 0x100 seems an adequate starting point for PowerPC extensions. Signed-off-by: Mark Nelson Signed-off-by: Paul Mackerras Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Andi Kleen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b20cd80b4ce1674b7abe5ac91db23346118176d Author: Mark Nelson Date: Tue Oct 16 23:25:39 2007 -0700 x86: replace NT_PRXFPREG with ELF_CORE_XFPREG_TYPE #define Replace NT_PRXFPREG with ELF_CORE_XFPREG_TYPE in the coredump code which allows for more flexibility in the note type for the state of 'extended floating point' implementations in coredumps. New note types can now be added with an appropriate #define. This does #define ELF_CORE_XFPREG_TYPE to be NT_PRXFPREG in all current users so there's are no change in behaviour. This will let us use different note types on powerpc for the Altivec/VMX state that some PowerPC cpus have (G4, PPC970, POWER6) and for the SPE (signal processing extension) state that some embedded PowerPC cpus from Freescale have. Signed-off-by: Mark Nelson Cc: Paul Mackerras Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Andi Kleen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eead19115329c5615ba03cbaf1c3fe24c14858a3 Author: Christoph Hellwig Date: Tue Oct 16 23:25:38 2007 -0700 partially fix up the lookup_one_noperm mess Try to fix the mess created by sysfs braindamage. - refactor code internal to fs/namei.c a little to avoid too much duplication: o __lookup_hash_kern is renamed back to __lookup_hash o the old __lookup_hash goes away, permission checks moves to the two callers o useless inline qualifiers on above functions go away - lookup_one_len_kern loses it's last argument and is renamed to lookup_one_noperm to make it's useage a little more clear - added kerneldoc comments to describe lookup_one_len aswell as lookup_one_noperm and make it very clear that no one should use the latter ever. Signed-off-by: Christoph Hellwig Cc: Josef 'Jeff' Sipek Cc: Miklos Szeredi Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9dca1e0fcb696716840a3bc8f20a6941b484dbf Author: Srivatsa Vaddagiri Date: Wed Oct 17 16:55:11 2007 +0200 sched: fix new task startup crash Child task may be added on a different cpu that the one on which parent is running. In which case, task_new_fair() should check whether the new born task's parent entity should be added as well on the cfs_rq. Patch below fixes the problem in task_new_fair. This could fix the put_prev_task_fair() crashes reported. Reported-by: Kamalesh Babulal Reported-by: Andy Whitcroft Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit b1a8c172c318534b96d0f0f1aecdad3898118b98 Author: Dhaval Giani Date: Wed Oct 17 16:55:11 2007 +0200 sched: fix !SYSFS build breakage When CONFIG_SYSFS is not set, CONFIG_FAIR_USER_SCHED fails to build with kernel/built-in.o: In function `uids_kobject_init': (.init.text+0x1488): undefined reference to `kernel_subsys' kernel/built-in.o: In function `uids_kobject_init': (.init.text+0x1490): undefined reference to `kernel_subsys' kernel/built-in.o: In function `uids_kobject_init': (.init.text+0x1480): undefined reference to `kernel_subsys' kernel/built-in.o: In function `uids_kobject_init': (.init.text+0x1494): undefined reference to `kernel_subsys' This patch fixes this build error. Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar commit 908a7c1b9b80d06708177432020c80d147754691 Author: Ken Chen Date: Wed Oct 17 16:55:11 2007 +0200 sched: fix improper load balance across sched domain We recently discovered a nasty performance bug in the kernel CPU load balancer where we were hit by 50% performance regression. When tasks are assigned to a subset of CPUs that span across sched_domains (either ccNUMA node or the new multi-core domain) via cpu affinity, kernel fails to perform proper load balance at these domains, due to several logic in find_busiest_group() miss identified busiest sched group within a given domain. This leads to inadequate load balance and causes 50% performance hit. To give you a concrete example, on a dual-core, 2 socket numa system, there are 4 logical cpu, organized as: CPU0 attaching sched-domain: domain 0: span 0003 groups: 0001 0002 domain 1: span 000f groups: 0003 000c CPU1 attaching sched-domain: domain 0: span 0003 groups: 0002 0001 domain 1: span 000f groups: 0003 000c CPU2 attaching sched-domain: domain 0: span 000c groups: 0004 0008 domain 1: span 000f groups: 000c 0003 CPU3 attaching sched-domain: domain 0: span 000c groups: 0008 0004 domain 1: span 000f groups: 000c 0003 If I run 2 tasks with CPU affinity set to 0x5. There are situation where cpu0 has run queue length of 2, and cpu2 will be idle. The kernel load balancer is unable to balance out these two tasks over cpu0 and cpu2 due to at least three logics in find_busiest_group() that heavily bias load balance towards power saving mode. e.g. while determining "busiest" variable, kernel only set it when "sum_nr_running > group_capacity". This test is flawed that "sum_nr_running" is not necessary same as sum-tasks-allowed-to-run-within-the sched-group. The end result is that kernel "think" everything is balanced, but in reality we have an imbalance and thus causing one CPU to be over-subscribed and leaving other idle. There are two other logic in the same function will also causing similar effect. The nastiness of this bug is that kernel not be able to get unstuck in this unfortunate broken state. From what we've seen in our environment, kernel will stuck in imbalanced state for extended period of time and it is also very easy for the kernel to stuck into that state (it's pretty much 100% reproducible for us). So proposing the following fix: add addition logic in find_busiest_group to detect intrinsic imbalance within the busiest group. When such condition is detected, load balance goes into spread mode instead of default grouping mode. Signed-off-by: Ken Chen Signed-off-by: Ingo Molnar commit cd79007634854f9e936e2369890f2512f94b8759 Author: Milton Miller Date: Wed Oct 17 16:55:11 2007 +0200 sched: more robust sd-sysctl entry freeing It occurred to me this morning that the procname field was dynamically allocated and needed to be freed. I started to put in break statements when allocation failed but it was approaching 50% error handling code. I came up with this alternative of looping while entry->mode is set and checking proc_handler instead of ->table. Alternatively, the string version of the domain name and cpu number could be stored the structs. I verified by compiling CONFIG_DEBUG_SLAB and checking the allocation counts after taking a cpuset exclusive and back. Signed-off-by: Ingo Molnar commit f6b80769109d5b2d9291dd788f4c250cc8b7a55b Author: Tony Breeds Date: Wed Oct 17 14:30:25 2007 +1000 [POWERPC] Fix vmemmap warning in init_64.c Use the right printk format to silence the following warning. CC arch/powerpc/mm/init_64.o arch/powerpc/mm/init_64.c: In function 'vmemmap_populate': arch/powerpc/mm/init_64.c:243: warning: format '%p' expects type 'void *', but argument 4 has type 'long unsigned int' Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 081c11a5d0cc24ab58adc7de2ddf209149bf176f Author: Benjamin Herrenschmidt Date: Wed Oct 17 14:26:50 2007 +1000 [POWERPC] Fix 64 bits vDSO DWARF info for CR register The current DWARF info for CR are incorrect, causing the gcc unwinder to go to lunch if we take a segfault in the vdso. This fixes it. Problem identified by Andrew Haley, and fix provided by Jakub Jelinek (thanks !). Unfortunately, a bug in gcc cause it to not quite work either, but that is being fixed separately with something around the lines of: linux-unwind.h: fs->regs.reg[R_CR2].loc.offset = (long) ®s->ccr - new_cfa; + /* CR? regs are just 32-bit and PPC is big-endian. */ + fs->regs.reg[R_CR2].loc.offset += sizeof (long) - 4; (According to Jakub) Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f66bce5e6aa1388289c04496c3fcae7bebf5f905 Author: Olof Johansson Date: Tue Oct 16 00:58:59 2007 +1000 [POWERPC] Add 1TB workaround for PA6T PA6T has a bug where the slbie instruction does not honor the large segment bit. As a result, we have to always use slbia when switching context. We don't have to worry about changing the slbie's during fault processing, since they should never be replacing one VSID with another using the same ESID. I.e. there's no risk for inserting duplicate entries due to a failed slbie of the old entry. So as long as we clear it out on context switch we should be fine. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 8129535b6bcf40be62af2ae6b9234494f39725dd Author: Anton Blanchard Date: Mon Oct 15 06:06:59 2007 +1000 [POWERPC] Enable NO_HZ and high res timers for pseries and ppc64 configs Enable NO_HZ and high res timers for the ppc64 and pseries defconfigs. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 9697add0f88b439d4f5f25556785beeaf6b836b9 Author: Anton Blanchard Date: Mon Oct 15 05:33:17 2007 +1000 [POWERPC] Quieten cache information at boot After 6 years the ppc64 kernel still thinks its important to tell me my cache line size is 0x80 bytes. I think most people who care know that by now. The rest probably cant even understand the hex output. Since we might have misconfigured firmware or cpus that have a linesize that isnt 128 bytes, I still print it out for those cases. If people would prefer to remove it completely, lets do it. Also for lpar remove the htab_address printout since its not used. Anton ppc64 boot log usability expert Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 1281c8bef8e85d3d6b114eab945b7e0445a3886d Author: Anton Blanchard Date: Mon Oct 15 05:18:46 2007 +1000 [POWERPC] Quieten clockevent printk The clockevent bootup message only needs to be KERN_INFO. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 309a109255cce65a99ced7a2bcabce24f4752db4 Author: Anton Blanchard Date: Mon Oct 15 05:15:36 2007 +1000 [POWERPC] Enable SLUB in *_defconfig When checking out the new NO_HZ support in powerpc, I noticed we never slept for more than 2 seconds. It turns out SLAB has a 2 second per cpu timer that causes this. After switching to SLUB I see some nice 4 second sleeps which is the limit on this POWER6 box (the decrementer ticks at 512MHz): slept 4.19 sec slept 4.19 sec slept 4.19 sec slept 4.19 sec slept 3.96 sec slept 3.80 sec slept 2.99 sec Since SLUB is now the default and some powerpc defconfigs already enable it, lets enable SLUB across the board for consistency. While doing this I also noticed that the maple defconfig has SLAB debugging enabled which is sure to make your box nice and slow. Fix that too. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit f5534004e5296496aa559d65c91befd02bf91d05 Author: Olof Johansson Date: Fri Oct 12 16:44:55 2007 +1000 [POWERPC] Fix 1TB segment detection Buglet in the 1TB detection makes it return after checking the first property word, even if it's not a match. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit dc6adfb33faf3ca517bf882d859e15b005460961 Author: Stephen Rothwell Date: Fri Oct 12 16:05:14 2007 +1000 [POWERPC] Fix iSeries_hpte_insert prototype Commit 1189be6508d45183013ddb82b18f4934193de274 ([POWERPC] Use 1TB segments) added an argument to hpte_insert. Also make iSeries_hpte_insert static. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit bfce5c3ce5923f4583ae10b18e4667668c0201dd Author: Stephen Rothwell Date: Fri Oct 12 15:37:32 2007 +1000 [POWERPC] Fix copyright symbol It seems to have been munged by patchwork. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 6b08f3ae8eec27a9e557468a48540bc64fd4a524 Author: Joachim Fenkes Date: Wed Sep 26 19:45:51 2007 +1000 [POWERPC] ibmebus: Move to of_device and of_platform_driver, match eHCA and eHEA drivers Replace struct ibmebus_dev and struct ibmebus_driver with struct of_device and struct of_platform_driver, respectively. Match the external ibmebus interface and drivers using it. Signed-off-by: Joachim Fenkes Acked-by: Arnd Bergmann Acked-by: Roland Dreier Acked-by: Jeff Garzik Signed-off-by: Paul Mackerras commit 55347cc9962fbf2048a3cf78e92c3f52035ac524 Author: Joachim Fenkes Date: Wed Sep 26 19:45:21 2007 +1000 [POWERPC] ibmebus: Add device creation and bus probing based on of_device The devtree root is now searched for devices matching a built-in whitelist during boot, so these devices appear on the bus from the beginning. It is still possible to manually add/remove devices to/from the bus by using the probe/remove sysfs interface. Also, when a device driver registers itself, the devtree is matched against its matchlist. Signed-off-by: Joachim Fenkes Signed-off-by: Paul Mackerras commit a988c0a627ee654b4d692570572567aec06c3e13 Author: Joachim Fenkes Date: Wed Sep 26 19:44:57 2007 +1000 [POWERPC] ibmebus: Remove bus match/probe/remove functions Remove old code that will be replaced by rewritten and shorter functions in the next patch. Keep struct ibmebus_dev and struct ibmebus_driver for now, but replace ibmebus_{,un}register_driver() by dummy functions. This way, the kernel will still compile and run during the transition and git bisect will be happy. Signed-off-by: Joachim Fenkes Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit fec738dd48bd33743c12cebe1bf954e487756231 Author: Joachim Fenkes Date: Wed Sep 26 19:44:12 2007 +1000 [POWERPC] Move of_device allocation into of_device.[ch] Extract generic of_device allocation code from of_platform_device_create() and move it into of_device.[ch], called of_device_alloc(). Also, there's now of_device_free() which puts the device node. This way, bus drivers that build on of_platform (like ibmebus will) can build upon this code instead of reinventing the wheel. Signed-off-by: Joachim Fenkes Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit f5c0dde4c66421a3a2d7d6fa604a712c9b0744e5 Author: FUJITA Tomonori Date: Wed Oct 17 13:42:11 2007 +0200 [SCSI] Remove full sg table memset() We don't need to do that anymore, since blk_rq_map_sg() clears individual entries. Signed-off-by: Jens Axboe commit c79d88b7fa48bc21ffd09903a98b93bf0744bce3 Author: Jens Axboe Date: Wed Oct 17 13:16:35 2007 +0200 [SCSI] ide-scsi: remove usage of sg_last() We want to remove sg_last(), it's a very expensive interface. So keep track of number of sg entries in the sg list, instead of comparing with the last entry. Signed-off-by: Jens Axboe commit 5804509e652fd26227f6da732d5445af444730d3 Author: David S. Miller Date: Wed Oct 17 04:08:48 2007 -0700 Fix loop terminating conditions in fill_sg(). Signed-off-by: David S. Miller Signed-off-by: Jens Axboe commit 60573b874b03d22678614ca1e73f6b15c1b53b40 Author: Jens Axboe Date: Wed Oct 17 13:02:33 2007 +0200 [BLOCK] Clear sg entry before filling in blk_rq_map_sg() The memset() of the sg entry was originally removed, because it could overwrite a chain pointer. But it's quite OK to memset() it when we know it's a valid entry, since it can't contain a chain pointer. Signed-off-by: Jens Axboe commit bdb02504f473be6a785741093913ea2acd05626f Author: FUJITA Tomonori Date: Wed Oct 17 10:51:20 2007 +0200 IA64: iommu uses sg_next with an invalid sg element sg list elements might not be continuous. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 8bf50f71cbfc7d043f0f135da72b3feefeaa0eb8 Author: Mike Miller (OS Dev) Date: Wed Oct 17 10:10:04 2007 +0200 cciss: disable DMA refetch on Smart Array P600 This patch disables DMA refetch in the PCI bridge. We have disabled DMA prefetch for quite some time. Testing with XEN revealed another ASIC bug. If dom0 resides on a P600 the board can can an MCA bi accessing invalid memory addresses. Apparently, we need to disable both prefetch and refetch. My understanding is a refetch operation should not occur but it is a valid thing to do if prefetched data is no longer available for whatever reason. Please consider this patch for inclusion. Signed-off-by: Mike Miller Signed-off-by: Alex Chiang -------------------------------------------------------------------------------- Signed-off-by: Jens Axboe commit 9e91fdb32d449a6b57f8236a793ae2f3df79b4d8 Author: FUJITA Tomonori Date: Wed Oct 17 10:06:18 2007 +0200 swiotlb: fix map_sg failure handling sg list elements might not be continuous. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 24c31eede658c30e4fcc93505589fd519c3aa4b8 Author: FUJITA Tomonori Date: Wed Oct 17 09:22:14 2007 +0200 SPARC64: fix iommu sg chaining Commit 2c941a204070ab32d92d40318a3196a7fb994c00 looks incomplete. The helper functions like prepare_sg() need to support sg chaining too. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 2428427e49beddd8ebc53054219fac2cc9ffee23 Author: Boaz Harrosh Date: Wed Oct 17 09:21:19 2007 +0200 [SCSI] ide-scsi: use scsi_sg_count() instead of ->use_sg Signed-off-by: Jens Axboe commit 3ea335100014785fd2518461705654b200e58d00 Author: H. Peter Anvin Date: Tue Oct 16 22:36:04 2007 -0700 Remove magic macros for screen_info structure members Stop using magic macros for screen_info structure members. Signed-off-by: H. Peter Anvin commit 7f015072348a14f16d548be557ee58c5c55df0aa Author: Jeremy Fitzhardinge Date: Wed Oct 17 13:55:03 2007 +1000 [XFS] eagerly remove vmap mappings to avoid upsetting Xen XFS leaves stray mappings around when it vmaps memory to make it virtually contigious. This upsets Xen if one of those pages is being recycled into a pagetable, since it finds an extra writable mapping of the page. This patch solves the problem in a brute force way, by making XFS always eagerly unmap its mappings. SGI-PV: 971902 SGI-Modid: xfs-linux-melb:xfs-kern:29886a Signed-off-by: Jeremy Fitzhardinge Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit adddd49ddf4ce5a5997f0695b194587290ea72e9 Author: Steve French Date: Wed Oct 17 02:48:17 2007 +0000 [CIFS] build break Signed-off-by: Steve French commit adbc03587c17e8f50478c1d7744a454cfb9e0653 Author: Steve French Date: Wed Oct 17 02:12:46 2007 +0000 [CIFS] endian fixes Signed-off-by: Steve French commit e5712a6a98862c2bd58a3c1ffc88062da9e2f02c Author: Al Viro Date: Wed Oct 17 01:09:07 2007 +0100 missing include in mmc AFAICS, fallout from repacing include of blkdev.h with include of bio.h. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 68f3e6622bb60c6b477971b56d1913077834fdcd Author: Al Viro Date: Wed Oct 17 01:02:46 2007 +0100 fix adbhid mismerge This fixes a lost 'key' variable declaration that went missing in a mismerge (commit b981d8b3f5e008ff10d993be633ad00564fc22cd) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 107acb23ba763197d390ae9ffd347f3e2a524d39 Author: Bill Moss Date: Wed Oct 10 16:23:55 2007 -0400 [PATCH] mac80211: honor IW_SCAN_THIS_ESSID in siwscan ioctl This patch fixes the problem of associating with wpa_secured hidden AP. Please try out. The original author of this patch is Bill Moss Signed-off-by: Abhijeet Kolekar Signed-off-by: John W. Linville commit cffdd30d20d163343b1c6de25bcb0cc978a1ebf9 Author: John W. Linville Date: Fri Oct 5 14:23:27 2007 -0400 [PATCH] mac80211: store SSID in sta_bss_list Some AP equipment "in the wild" services multiple SSIDs using the same BSSID. This patch changes the key of sta_bss_list to include the SSID as well as the BSSID and the channel so as to prevent one SSID from eclipsing another SSID with the same BSSID. Signed-off-by: John W. Linville commit 65c107ab3befc37b21d1c970a6159525bc0121b8 Author: John W. Linville Date: Fri Oct 5 14:23:27 2007 -0400 [PATCH] mac80211: store channel info in sta_bss_list Some AP equipment "in the wild" uses the same BSSID on multiple channels (particularly "a" vs. "b/g"). This patch changes the key of sta_bss_list to include both the BSSID and the channel so as to prevent a BSSID on one channel from eclipsing the same BSSID on another channel. Signed-off-by: John W. Linville commit 1dd84aa213d0f98a91a1ec9be2f750f5f48e75a0 Author: Johannes Berg Date: Wed Oct 10 12:03:41 2007 +0200 [PATCH] mac80211: reorder association debug output There's no reason to warn about an invalid AID field when the association was denied. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville commit 1a1769f32349a188db48cf81fe306b6f841fc246 Author: Steffen Klassert Date: Tue Oct 16 14:24:09 2007 -0700 WOL bugfix for 3c59x.c Some NICs (3c905B) can not generate PME in power state PCI_D0, while others like 3c905C can. Call pci_enable_wake() with PCI_D3hot should give proper WOL for 3c905B. Signed-off-by: Steffen Klassert Tested-by: Harry Coin Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d0cab89601c3afb6067175de6796bc7bb9a3f56c Author: Stephen Hemminger Date: Tue Oct 16 12:15:55 2007 -0700 skge 1.12 version update Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 678aa1f6ac8699ad69b347a22d9580425a587c14 Author: Stephen Hemminger Date: Tue Oct 16 12:15:54 2007 -0700 skge: add a debug interface Add a debugfs interface to look at internal ring state. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit afa151b9b13e1c3ee0ee6f5a3323e7bf0e2df436 Author: Stephen Hemminger Date: Tue Oct 16 12:15:53 2007 -0700 skge: eeprom support Add ability to read/write EEPROM Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit da00772fb587841fb1aac57a9edb5e10f2757967 Author: Stephen Hemminger Date: Tue Oct 16 12:15:52 2007 -0700 skge: internal stats Use internal stats structure Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 501fb72d052d2a302b423bef7dec98d9d98c8a36 Author: Stephen Hemminger Date: Tue Oct 16 12:15:51 2007 -0700 skge: XM PHY handling fixes Change how PHY is managed on SysKonnect fibre based boards. Poll for PHY coming up 1 per second, but use interrupt to detect loss. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 60b24b51799cc23313eed85fb874b70a6d02e2b7 Author: Stephen Hemminger Date: Tue Oct 16 12:15:50 2007 -0700 skge: changing MTU while running causes problems Rather than bring network down/up when changing MTU, only need to impact receiver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 7fb7ac241162dc51ec0f7644d4a97b2855213c32 Author: Stephen Hemminger Date: Tue Oct 16 12:15:49 2007 -0700 skge: fix ram buffer size calculation This fixes problems with transmit hangs on older fiber based SysKonnect boards. Adjust ram buffer sizing calculation to make it correct on all boards and make it like the code in sky2 driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 298e1a9ebe37662f2145c07b678ebd09b86c020a Author: Li Yang Date: Tue Oct 16 14:18:13 2007 +0800 gianfar: Fix compile regression caused by 09f75cd7 Signed-off-by: Li Yang Signed-off-by: Jeff Garzik commit b3e441c6ed8655a42e7b4da1b6dc7939f259d9c9 Author: Benjamin Herrenschmidt Date: Tue Oct 16 15:40:50 2007 +1000 net: Fix new EMAC driver for NAPI changes net: Fix new EMAC driver for NAPI changes This fixes the new EMAC driver for the NAPI updates. The previous patch by Roland Dreier (already applied) to do that doesn't actually work. This applies on top of it makes it work on my test Ebony machine. This patch depends on "net: Add __napi_sycnhronize() to sync with napi poll" posted previously. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit 1284cd3a2b740d0118458d2ea470a1e5bc19b187 Author: Jay Vosburgh Date: Mon Oct 15 16:44:27 2007 -0700 bonding: two small fixes for IPoIB support Two small fixes to IPoIB support for bonding: 1- copy header_ops from slave to bonding for IPoIB slaves 2- move release and destroy logic to UNREGISTER from GOING_DOWN notifier to avoid double release Set bonding to version 3.2.1. Signed-off-by: Moni Shoua Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 369d742defed73fc6b38bf0929fb198d072102ab Author: Auke Kok Date: Mon Oct 15 14:30:59 2007 -0700 e1000e: don't poke PHY registers to retreive link status Apparently poking the link status registers when autonegotiation is running on the PHY might botch the PHY link on 80003es2lan devices. While this is a very rare condition we can completely avoid it alltogether by just using the MAC link bits to provide the proper information to ethtool. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit e265522ca7d7a0cfa24aa2c811d22a1764a90783 Author: Adrian Bunk Date: Mon Oct 15 14:02:21 2007 -0700 e1000e: fix error checks Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 121244a7bfbc739a8d6823aa52c074d1766b895f Author: Auke Kok Date: Mon Oct 15 14:02:13 2007 -0700 e1000e: Fix debug printk macro Spotted by Joe Perches. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 9a7387c23356c0e6fc72934ceaf1fa663d503485 Author: Marcus Meissner Date: Sat Oct 13 10:19:37 2007 +0200 tokenring/3c359.c: fixed array index problem The xl_laa array is just 6 bytes long, so we should substract 10 from the index, like is also done some lines above already. Signed-Off-By: Marcus Meissner Signed-off-by: Jeff Garzik commit 6572bc28de150aaa6ca182eaf3e60c199ba48630 Author: Christoph Hellwig Date: Wed Sep 19 15:27:39 2007 +1000 [XFS] simplify validata_fields Stop using xfs_getattr and a onstack bhv_vattr_t just to get three fields from the underlying inode and opencode copying from the inode fields instead. SGI-PV: 970662 SGI-Modid: xfs-linux-melb:xfs-kern:29711a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 9be4bfb974b37410466db605abe3402236167e05 Author: Ingo Molnar Date: Mon Oct 15 17:23:21 2007 +0200 [PATCH] ssb: fix build failure fix build failure if PCMCIA=m but SSB=y: drivers/built-in.o: In function `ssb_pcmcia_switch_coreidx': : undefined reference to `pcmcia_access_configuration_register' (fix symmetric bug for PCI too.) Signed-off-by: Ingo Molnar Signed-off-by: Michael Buesch Acked-by: Randy Dunlap Signed-off-by: John W. Linville commit 7007d00caca268e1ba2bcaa6bed4a6456a96884b Author: Felix Fietkau Date: Sun Oct 14 21:04:22 2007 +0200 [PATCH] ssb: Fix a null pointer check in mipscore init Fix a null pointer check in ssb mipscore init Signed-off-by: Felix Fietkau Acked-by: Michael Buesch Signed-off-by: John W. Linville commit 58a9ac17ed7a78958d03f3b4af107f0ef075cbed Author: Johannes Berg Date: Fri Oct 12 21:24:07 2007 +0200 [PATCH] mac80211: fix set_channel regression Adam Baker reported that the prism2 ioctl removal changed behaviour in that now the selection order was the other way around as before. New API is planned but not done yet, so for now just use the first matching channel in any mode as was previous behaviour with an unset next_mode. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville commit e797aa1b7da6bfcb2e19a10ae5ead9aa7aea732b Author: Johannes Berg Date: Mon Oct 15 16:50:54 2007 +0200 [PATCH] ieee80211: fix TKIP QoS bug The commit 65b6a277 titled "ieee80211: Fix header->qos_ctl endian issue" *introduced* an endianness bug. Partially revert it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8148ff4512cc6b402e11ccfa02cc4eb41fb7e66c Author: Jeff Garzik Date: Tue Oct 16 20:56:09 2007 -0400 [netdrvr] forcedeth: remove in-driver copy of net_device_stats A copy of struct net_device_stats now lives in struct net_device, making in-driver copies a waste of memory. Signed-off-by: Jeff Garzik commit 3f88ce495b11bb4a68e4f291e8dc3057a1cf9daf Author: Jeff Garzik Date: Tue Oct 16 04:09:09 2007 -0400 [netdrvr] forcedeth: improved probe info; dev_printk() cleanups main change: * greatly improve per-NIC probe diagnostic output. Similar to other net drivers, print out MAC address, PHY info, and various hardware and software flags that may be relevant. other changes: * similar to other net drivers, only print the initial version message when we have found at least one board. * don't bother to print error message when pci_enable_device() fails, it will do so for us. * use dev_printk() rather than printk() in nv_probe(). This gives use a standardized output similar to the rest of the kernel, and eliminates the need to manually print out PCI bus id. * use DRV_NAME constant where appropriate * clean struct pci_driver indentation Signed-off-by: Jeff Garzik commit bcb5febb248f7cc1e4a39ff61507f6343ba1c594 Author: Ingo Molnar Date: Tue Oct 16 20:44:59 2007 -0400 forcedeth: fix NAPI rx poll function fix the forcedeth NAPI poll function to not emit this warning: [ 186.635916] WARNING: at net/core/dev.c:2166 net_rx_action() [ 186.641351] [] net_rx_action+0x145/0x1b0 [ 186.646191] [] __do_softirq+0x42/0x90 [ 186.650784] [] do_softirq+0x26/0x30 [ 186.655202] [] local_bh_enable+0x48/0xa0 [ 186.660055] [] lock_sock_nested+0xa0/0xc0 [ 186.664995] [] tcp_recvmsg+0x16/0xbc0 [ 186.669588] [] __generic_file_aio_write_nolock+0x27b/0x520 [ 186.676001] [] sock_common_recvmsg+0x45/0x70 [ 186.681202] [] sock_aio_read+0x11f/0x140 [ 186.686054] [] do_sync_read+0xc6/0x110 [ 186.690735] [] autoremove_wake_function+0x0/0x40 [ 186.696280] [] net_tx_action+0x3c/0xe0 [ 186.700961] [] vfs_read+0x132/0x140 [ 186.705378] [] sys_read+0x41/0x70 [ 186.709625] [] sysenter_past_esp+0x5f/0x89 [ 186.714651] ======================= Signed-off-by: Ingo Molnar Signed-off-by: Jeff Garzik commit 30c826451d3e5bbc6e11bba0e7fee5d2f49d9b75 Author: H. Peter Anvin Date: Mon Oct 15 17:13:22 2007 -0700 [x86] remove uses of magic macros for boot_params access Instead of using magic macros for boot_params access, simply use the boot_params structure. Signed-off-by: H. Peter Anvin commit d91f5bb69adde86173071cf7fffbdf705ae8c6e7 Author: Al Viro Date: Wed Oct 17 00:27:18 2007 +0100 fix cirrusfb breakage Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b147d93d62d161559a49e0108767122caa4d2576 Author: Domen Puncer Date: Sun Oct 14 17:57:11 2007 +1000 [POWERPC] mpc52xx: device tree changes for FEC and MDIO Add device tree entries for lite5200b's FEC's PHY. Signed-off-by: Domen Puncer Signed-off-by: Grant Likely commit 7acb939130ff054f195f827ed1cb389232dd8560 Author: Sylvain Munaut Date: Sun Sep 16 20:53:30 2007 +1000 [POWERPC] bestcomm: GenBD task support This is the microcode for the GenBD task and the associated support code. This is a generic task that copy data to/from a hardware FIFO. This is currently locked to 32bits wide access but could be extended as needed. The microcode itself comes directly from the offical API (v2.2) Signed-off-by: Sylvain Munaut Signed-off-by: Grant Likely commit ba11c79aba8d8e9faf556a32bb8b414b4a846ac7 Author: Sylvain Munaut Date: Sun Sep 16 20:53:29 2007 +1000 [POWERPC] bestcomm: FEC task support This is the microcode for the FEC task and the associated support code. The microcode itself comes directly from the offical API (v2.2) Signed-off-by: Sylvain Munaut Signed-off-by: Grant Likely commit 9ea68df515392a556388f12c876ca74654e37483 Author: Sylvain Munaut Date: Sun Sep 16 20:53:28 2007 +1000 [POWERPC] bestcomm: ATA task support This is the microcode for the ATA task and the associated support code. The microcode itself comes directly from the offical API (v2.2) Signed-off-by: Sylvain Munaut Signed-off-by: Grant Likely commit 2f9ea1bde0d12d8fb5a7bdc7ab6834275d456262 Author: Sylvain Munaut Date: Sun Sep 16 20:53:27 2007 +1000 [POWERPC] bestcomm: core bestcomm support for Freescale MPC5200 This patch adds support for the core of the BestComm API for the Freescale MPC5200(b). The BestComm engine is a microcode-controlled / tasks-based DMA used by several of the onchip devices. Setting up the tasks / memory allocation and all common low level functions are handled by this patch. The specifics details of each tasks and their microcode are split-out in separate patches. This is not the official API, but a much cleaner one. (hopefully) Signed-off-by: Sylvain Munaut Signed-off-by: Grant Likely commit 07e6e93136ca61f071c819c69e1ec5bff9fda46f Author: Sylvain Munaut Date: Sun Sep 16 20:53:26 2007 +1000 [POWERPC] mpc52xx: Update mpc52xx_psc structure with B revision changes On the mpc5200b the ccr register is 32 bits wide while on the mpc5200 it's only 16 bits. It's up to the driver to use the correct format depending on the chip it's running on. The 5200b also offers some more registers & status in AC97 mode. Again, if not running on a 5200b the driver should not use those. Signed-off-by: Sylvain Munaut Signed-off-by: Grant Likely commit 1088a20998a1091b22b42cf3dc2f5f1be4faaead Author: Sylvain Munaut Date: Sun Sep 16 20:53:25 2007 +1000 [POWERPC] rheap: Changes config mechanism Instead of having in the makefile all the option that requires rheap, we define a configuration symbol and when needed we make sure it's selected. Signed-off-by: Sylvain Munaut Signed-off-by: Grant Likely commit d4697af4f3cc63f9f4d62022d79021138ecc0499 Author: Sylvain Munaut Date: Sun Sep 16 20:53:24 2007 +1000 [POWERPC] exports rheap symbol to modules Theses can be useful in modules too. So we export them. Signed-off-by: Sylvain Munaut Signed-off-by: Grant Likely commit 087feb980443aadc7c62f6c26d3867543b470d8c Author: KaiGai Kohei Date: Wed Oct 3 23:42:56 2007 +0900 SELinux: kills warnings in Improve SELinux performance when AVC misses This patch kills ugly warnings when the "Improve SELinux performance when ACV misses" patch. Signed-off-by: KaiGai Kohei Signed-off-by: James Morris commit 9fe79ad1e43d236bbbb8edb3cf634356de714c79 Author: KaiGai Kohei Date: Sat Sep 29 02:20:55 2007 +0900 SELinux: improve performance when AVC misses. * We add ebitmap_for_each_positive_bit() which enables to walk on any positive bit on the given ebitmap, to improve its performance using common bit-operations defined in linux/bitops.h. In the previous version, this logic was implemented using a combination of ebitmap_for_each_bit() and ebitmap_node_get_bit(), but is was worse in performance aspect. This logic is most frequestly used to compute a new AVC entry, so this patch can improve SELinux performance when AVC misses are happen. * struct ebitmap_node is redefined as an array of "unsigned long", to get suitable for using find_next_bit() which is fasted than iteration of shift and logical operation, and to maximize memory usage allocated from general purpose slab. * Any ebitmap_for_each_bit() are repleced by the new implementation in ss/service.c and ss/mls.c. Some of related implementation are changed, however, there is no incompatibility with the previous version. * The width of any new line are less or equal than 80-chars. The following benchmark shows the effect of this patch, when we access many files which have different security context one after another. The number is more than /selinux/avc/cache_threshold, so any access always causes AVC misses. selinux-2.6 selinux-2.6-ebitmap AVG: 22.763 [s] 8.750 [s] STD: 0.265 0.019 ------------------------------------------ 1st: 22.558 [s] 8.786 [s] 2nd: 22.458 [s] 8.750 [s] 3rd: 22.478 [s] 8.754 [s] 4th: 22.724 [s] 8.745 [s] 5th: 22.918 [s] 8.748 [s] 6th: 22.905 [s] 8.764 [s] 7th: 23.238 [s] 8.726 [s] 8th: 22.822 [s] 8.729 [s] Signed-off-by: KaiGai Kohei Acked-by: Stephen Smalley Signed-off-by: James Morris commit 3f12070e27b4a213d62607d2bff139793089a77d Author: Eric Paris Date: Fri Sep 21 14:37:10 2007 -0400 SELinux: policy selectable handling of unknown classes and perms Allow policy to select, in much the same way as it selects MLS support, how the kernel should handle access decisions which contain either unknown classes or unknown permissions in known classes. The three choices for the policy flags are 0 - Deny unknown security access. (default) 2 - reject loading policy if it does not contain all definitions 4 - allow unknown security access The policy's choice is exported through 2 booleans in selinuxfs. /selinux/deny_unknown and /selinux/reject_unknown. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 788e7dd4c22e6f41b3a118fd8c291f831f6fddbb Author: Yuichi Nakamura Date: Fri Sep 14 09:27:07 2007 +0900 SELinux: Improve read/write performance It reduces the selinux overhead on read/write by only revalidating permissions in selinux_file_permission if the task or inode labels have changed or the policy has changed since the open-time check. A new LSM hook, security_dentry_open, is added to capture the necessary state at open time to allow this optimization. (see http://marc.info/?l=selinux&m=118972995207740&w=2) Signed-off-by: Yuichi Nakamura Acked-by: Stephen Smalley Signed-off-by: James Morris commit 3232c110b56bd01c5f0fdfd16b4d695f2e05b0a9 Author: Yuichi Nakamura Date: Fri Aug 24 11:55:11 2007 +0900 SELinux: tune avtab to reduce memory usage This patch reduces memory usage of SELinux by tuning avtab. Number of hash slots in avtab was 32768. Unused slots used memory when number of rules is fewer. This patch decides number of hash slots dynamically based on number of rules. (chain length)^2 is also printed out in avtab_hash_eval to see standard deviation of avtab hash table. Signed-off-by: Yuichi Nakamura Acked-by: Stephen Smalley Signed-off-by: James Morris commit 83431cba3d847fc2296d3f38ce7feb623a1cfc45 Author: Jay Fenlason Date: Mon Oct 8 17:00:29 2007 -0400 firewire: fw-cdev: reorder wakeup vs. spinlock Signed-off-by: Jay Fenlason Prompted by https://bugzilla.redhat.com/show_bug.cgi?id=323411 Signed-off-by: Stefan Richter commit c1b91ce49158d607666dbef5b8d53cd77d397589 Author: Yann Dirson Date: Sun Oct 7 02:21:29 2007 +0200 firewire: in-code doc updates. Signed-off-by: Yann Dirson Signed-off-by: Stefan Richter (update) commit e5f84f82bdc5f8a5ce3d33aa6a2cc727fc08bda6 Author: Stefan Richter Date: Sun Oct 7 02:10:11 2007 +0200 firewire: a header cleanup fw_node() is not used (and not useful) outside fw-topology.c. Signed-off-by: Stefan Richter commit a64408b96b5f67c2778958a230b5cfa3408a4a81 Author: Stefan Richter Date: Sat Sep 29 10:41:58 2007 +0200 firewire: adopt read cycle timer ABI from raw1394 This duplicates the read cycle timer feature of raw1394 (added in Linux 2.6.21) in firewire-core's userspace ABI. The argument to the ioctl is reordered though to ensure 32/64 bit compatibility. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 02ff8f8ee151e880414b99a11f67cae0cecd4977 Author: Stefan Richter Date: Thu Aug 30 00:11:40 2007 +0200 firewire: fw-ohci: check for misconfigured bus (phyID == 63) Check NodeID.nodeNumber as per OHCI 1.1 clause 7.2.3.2. See also IEEE 1394a table 5B-1. Also, demote the "node ID not valid" message from error to notification as it is not an error condition. Signed-off-by: Stefan Richter commit ab88ca488b8af66c3defa165874e81e695319a19 Author: Stefan Richter Date: Wed Aug 29 19:40:28 2007 +0200 firewire: fw-ohci: missing dma_unmap_single at_context_queue_packet() didn't clean up in an early exit path. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit e524f616f59722bc7f93eb1fd79d3bbdcdf4f894 Author: Stefan Richter Date: Mon Aug 20 21:58:30 2007 +0200 firewire: fw-ohci: log posted write errors Signed-off-by: Stefan Richter commit a7fb60db711fce56e372f0bb8a733c0ad1743525 Author: Stefan Richter Date: Mon Aug 20 21:41:22 2007 +0200 firewire: fw-ohci: reorder includes Signed-off-by: Stefan Richter commit c26f02340e89c55390c9044ea65d9aef610b38f5 Author: Stefan Richter Date: Mon Aug 20 21:40:30 2007 +0200 firewire: fw-ohci: fix includes Add used includes, remove unused includes. Signed-off-by: Stefan Richter commit ee71c2f9ee85117e41ef87357ed8f75d29369b98 Author: Stefan Richter Date: Sat Aug 25 14:08:19 2007 +0200 firewire: fw-ohci: enforce read order for selfID generation It seems unlikely, but access to self_id_cpu[0] could at least in theory be deferred until after the loop over self_id_cpu[1..n] or even after the subsequent reg_read. Enforce the desired order by a read barrier. Also prevent the reg_read from being reordered relative to the for loop. This isn't necessary if the loop's conditional printk counts as an implicit barrier, but better make it explicit. (self_id_cpu[] is a coherent DMA buffer.) Signed-off-by: Stefan Richter commit df8ec2490fed5dd23316bbb2c2e90e59e7d37126 Author: Stefan Richter Date: Sun Aug 12 12:51:18 2007 +0200 firewire: fw-sbp2: use an own workqueue (fix system responsiveness) Firewire-sbp2 did very uncooperative things in the kernel's shared workqueue: Sleeping until reception of management status from the target for up to 2 seconds, and performing SCSI inquiry and all of the setup of SCSI command set drivers via scsi_add_device. If there were transient or permanent error conditions, this caused long blockage of the kernel's events process, noticeable e.g. by blocked keyboard input. We now allocate a workqueue process exclusive to fw-sbp2. As a side effect, this also increases parallelism of fw-sbp2's login and reconnect work versus fw-core's device discovery and device update work which is performed in the shared workqueue. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 2df222b8f8fe9e18c9c9fdfd46f60dad55f5ac14 Author: Stefan Richter Date: Mon Aug 13 17:48:25 2007 +0200 firewire: fw-sbp2: expose module parameter for workarounds On rare occasions, the ability to set one of the workaround flags at runtime may save the day. People who experience I/O errors with firewire-sbp2 while the old sbp2 driver worked for them should try workarounds=1 and report to the devel mailinglist whether that improves things. Firewire-sbp2 defaults to the SCSI stack's maximum transfer size per command, while sbp2 limits them to 128 kBytes. Flag 1 accomplishes just that. Signed-off-by: Stefan Richter commit 5a3c2be6c9a5641a06c71c906645d676fa4d3fdc Author: Stefan Richter Date: Sat Aug 25 14:05:28 2007 +0200 firewire: fw-sbp2: add support for multiple logical units per target Fixes "New firewire stack only recognizing half of a chain of drives", https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=242254 Signed-off-by: Stefan Richter commit 1b34e97441384d527c438a6ee597bfc800373bce Author: Stefan Richter Date: Sat Aug 25 10:40:42 2007 +0200 firewire: fw-sbp2: always enable IRQs before calling command ORB callback On IOMMU-less noncoherent architectures, orb->callback will memcpy the whole SCSI command buffer for READ-like SCSI commands. It is therefore friendlier to enable IRQs before the call, like before patch "Add ref-counting for sbp2 orbs". Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit 930e4b7fe3b4e1c4e14b9c22e4c9c74dc8db75f3 Author: Stefan Richter Date: Fri Aug 3 20:56:31 2007 +0200 firewire: fw-core: local variable shadows a global one Sparse warned about it although it was apparently harmless: drivers/firewire/fw-cdev.c:624:23: warning: symbol 'interrupt' shadows an earlier one include/asm/hw_irq.h:29:13: originally declared here Signed-off-by: Stefan Richter commit 1415d9189e8c59aa9c77a3bba419dcea062c145f Author: Stefan Richter Date: Tue Jul 17 02:10:16 2007 +0200 firewire: optimize fw_core_add_address_handler Potentially avoids unnecessary loop runs. Guarantee quadlet-aligned starts of address regions. Document the return values. Signed-off-by: Stefan Richter commit 002a98f14720f90b107e8c44b7733f9bd5dff728 Author: Matthias Kaehlcke Date: Fri Oct 12 19:57:23 2007 +0200 ieee1394: ieee1394_core.c: use DEFINE_SPINLOCK for spinlock definition drivers/ieee1394/ieee1394_core.c: Define spinlock using DEFINE_SPINLOCK instead of assignment to SPIN_LOCK_UNLOCKED Signed-off-by: Matthias Kaehlcke Signed-off-by: Stefan Richter commit 17a19b795e9187d65b6e45cb22797725d50f7edb Author: Stefan Richter Date: Sat Sep 15 14:50:25 2007 +0200 ieee1394: csr1212: proper refcounting At least since nodemgr got rid of coarse global locking, accesses to struct csr1212_keyval's reference counter should be atomic and coupled with proper barriers. Also, calls to csr1212_keep_keyval(kv) should occur before kv is being used. (We probably should convert refcnt to struct kref, but how to keep csr1212_destroy_keyval's implementation non-recursively then?) Signed-off-by: Stefan Richter commit 638d5bb8167c2c88552257d5af23f7f65ab4defd Author: Stefan Richter Date: Sat Sep 15 14:45:53 2007 +0200 ieee1394: nodemgr: fix leak of struct csr1212_keyval csr1212_keep_keyval(kv) in nodemgr_process_root_directory was unbalanced if ne->vendor_name_kv already exists. This happens for example if eth1394 or raw1394 modify the local config ROM and it is parsed again. As a bonus, the attempt to add the vendor_name_kv sysfs attribute when it already exists is now fixed for good. Signed-off-by: Stefan Richter commit 745647e7a2ae399f7f70aca47827e62c99c893b5 Author: Jean Delvare Date: Sat Sep 8 14:09:19 2007 +0200 ieee1394: pcilynx: I2C cleanups * Delete optional and empty i2c client_register and client_unregister callbacks. * Use the proper i2c adapter ID. * Don't use a template to initialize the i2c_adapter structure, it's inefficient. * Update a misleading comment on why we use i2c_transfer rather than higher level i2c functions. Signed-off-by: Jean Delvare Signed-off-by: Stefan Richter commit 69e2b602966533256edce1ed1b24fec23fe05962 Author: Satyam Sharma Date: Wed Aug 15 20:05:38 2007 +0530 ieee1394: Fix kthread stopping in nodemgr_host_thread The nodemgr host thread can exit on its own even when kthread_should_stop is not true, on receiving a signal (might never happen in practice, as it ignores signals). But considering kthread_stop() must not be mixed with kthreads that can exit on their own, I think changing the code like this is clearer. This change means the thread can cut its sleep short when receive a signal but looking at the code around, that sounds okay (and again, it might never actually recieve a signal in practice). Signed-off-by: Satyam Sharma Signed-off-by: Stefan Richter commit 261b5f664c6c68c5209656a71c41823eda0d938b Author: Stefan Richter Date: Sat Aug 11 11:52:08 2007 +0200 ieee1394: sbp2: fix unsafe iteration over list of devices sbp2_host_reset and sbp2_handle_status_write are not serialized against sbp2_alloc_device and sbp2_remove_device. Signed-off-by: Stefan Richter commit c4f3d41fed11c9050aa93bbaeed9f7f06bcc93ba Author: Stefan Richter Date: Sun Jul 29 00:01:35 2007 +0200 ieee1394: pcilynx: superfluous local variables Signed-off-by: Stefan Richter commit 661afcae1b6b6493e4ea69f81bae78397c066f25 Author: Stefan Richter Date: Sat Jul 28 23:45:03 2007 +0200 ieee1394: eth1394: fix lock imbalance bad_proto can be reached from points which did not take priv->lock. Signed-off-by: Stefan Richter commit 3bd90303f05d24487759e4990c3fed3e7a6b6955 Author: Stefan Richter Date: Sat Jul 28 23:44:25 2007 +0200 ieee1394: eth1394: superfluous local variable Signed-off-by: Stefan Richter commit 7eebb9348655b55553d65fc7cb6cfad292d28dbb Author: Sam Ravnborg Date: Tue Oct 16 23:50:33 2007 +0200 x86: fix boot error introduced by kbuild x86 uses target specific assignment of EXTRA_AFLAGS, EXTRA_CFLAGS - this caused troubles with introducing asflags-y, ccflags-y. Fixed the target specific assignments in arch/x86/boot/Makefile and auditted the rest of the kernel for similar usage. Signed-off-by: Sam Ravnborg commit ce51ae14ae141eacecf2801f9a3646a737ce64a0 Author: Dave Kleikamp Date: Tue Oct 16 21:35:39 2007 +0000 [CIFS] endian fixes in new acl code Signed-off-by: Dave Kleikamp Signed-off-by: Steve French commit b02fcae007ac64012806bc57054e7fee6e2ffe5e Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:58 2007 +0200 amd74xx: remove /proc/ide/amd74xx This belongs to user-space (and only if really needed). text data bss dec hex filename 6723 2000 28 8751 222f drivers/ide/pci/amd74xx.o.before 3833 2000 16 5849 16d9 drivers/ide/pci/amd74xx.o.after Signed-off-by: Bartlomiej Zolnierkiewicz commit 8fcb2ea82227a50906d5bcf0864e7734755ce016 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:58 2007 +0200 amd74xx/via82cxxx: don't initialize drive->dn drive->dn is initialized by ide-probe.c::probe_hwif() so no need to do it in ->init_hwif method. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a718122ce82ffd6628a158ebf76ab5970bccd415 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:58 2007 +0200 sis5513: remove /proc/ide/sis This belongs to user-space (and only if really needed). text data bss dec hex filename 7129 404 8 7541 1d75 drivers/ide/pci/sis5513.o.before 3916 404 1 4321 10e1 drivers/ide/pci/sis5513.o.after Additionaly to being bloat the code contained two bugs: - wrong cable bit was checked (0x0001 instead of 0x8000) on ATA_133 chipsets - incorrect UDMA cycle time was reported on ATA_100a/ATA_133 chipsets Signed-off-by: Bartlomiej Zolnierkiewicz commit 8c0697cc2c798fe11bbb9cf2dbe123892ecab91a Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:58 2007 +0200 ide: remove CONFIG_IDEDMA_ONLYDISK ATAPI devices with broken DMA support should be handled by DMA blacklist and for debugging purposes we have new shiny "hdx=nodma" kernel paremeter. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c223701cf6c706f42840631c1ca919a18e6e2800 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:58 2007 +0200 ide: add "hdx=nodma" kernel parameter * Add "hdx=nodma" option allowing user to disallow DMA for a given device. * Obsolete "ide=nodma" option. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9ff6f72f432364991d68e99cae72cb141c166e70 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:58 2007 +0200 ide: remove hwif->autodma and drive->autodma * hpt34x.c: disable DMA masks for HPT345 (hwif->autodma is zero so DMA won't be enabled anyway). * trm290.c: disable IDE_HFLAG_TRUST_BIOS_FOR_DMA flag (hwif->autodma is zero so DMA won't be enabled anyway). * Check noautodma global variable instead of drive->autodma in ide_tune_dma(). This fixes handling of "ide=nodma" kernel parameter for icside, ide-cris, au1xxx-ide, pmac, it821x, jmicron, sgiioc4 and siimage host drivers. * Remove hwif->autodma (it was not checked by IDE core code anyway) and drive->autodma (was set by all host drivers - except HPT345/TRM290 special cases - unless "ide=nodma" was used). While at it: - remove needless printk() from icside.c - remove stale FIXME/comment from ide-probe.c - don't force DMA off if PCI bus-mastering had to be enabled in setup-pci.c (this setting was always later over-ridden by host drivers anyway) Signed-off-by: Bartlomiej Zolnierkiewicz commit 1b5169405e50b98b2bd1e4f86c7706ea24a59193 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:57 2007 +0200 ide: remove "idex=dma" kernel parameter It has been obsoleted since 1 Nov 2004, is valid only when used together with "ide=nodma" kernel parameter (which makes no sense) and only for aec62xx, cmd64x, cs5220, generic, hpt366, sl82c105, tc86c001 and triflex host drivers. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c58e79dd44243ec919d789193ffb35a220c54695 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:56 2007 +0200 ide: remove CONFIG_BLK_DEV_IDEDMA_FORCED This code doesn't use pci_assign_resource() and ide_get_or_set_dma_base() uses pci_resource_start() to get DMA base address so it has no chance of working. Moreover this belongs to PCI quirks (in case somebody would like to fix it). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9cbcc5e3c5d2d0355fed22d00762fd764c81a383 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:56 2007 +0200 ide: use PCI_VDEVICE() macro While at it: - make struct pci_device_id tables const - use PCI_DEVICE_ID_ITE_8213 define in it8213.c - fix comment in generic.c Signed-off-by: Bartlomiej Zolnierkiewicz commit d83fca58d3229f3b23a92a72c3428da8faf09940 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:56 2007 +0200 sis5513: clear prefetch and postwrite for ATAPI devices Clear prefetch and postwrite for ATAPI devices instead of depending on BIOS. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1c54a93d4de34c87be9c63fe5094157e10995d6b Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:56 2007 +0200 it8213/piix/slc90e66: "de-couple" PIO and UDMA modes Don't force PIO4 when programming UDMA mode (suggested by Sergei). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3135469e1f679b1728fa047ed43b0c63cdf50c84 Author: Adrian Bunk Date: Tue Oct 16 22:29:55 2007 +0200 ide: unexport noautodma noautodma can now be unexported. Signed-off-by: Adrian Bunk Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 259c0632d30d75a5a7fccdac558cc128f03ce903 Author: Adrian Bunk Date: Tue Oct 16 22:29:55 2007 +0200 ide: unexport ide_tune_dma static code mustn't be exported. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 0ae2e178652753ae1797d407755a3505f7c1d2a7 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:55 2007 +0200 ide: remove ->ide_dma_check (take 2) * Add IDE_HFLAG_TRUST_BIOS_FOR_DMA host flag for host drivers that depend on BIOS for programming device/controller for DMA. Set it in cy82c693, generic, ns87415, opti621 and trm290 host drivers. * Add IDE_HFLAG_VDMA host flag for host drivers using VDMA. Set it in cs5520 host driver. * Teach ide_tune_dma() about IDE_HFLAG_TRUST_BIOS_FOR_DMA flag. * Add generic ide_dma_check() helper and remove all open coded ->ide_dma_check implementations. Fix all places checking for presence of ->ide_dma_check hook to check for ->ide_dma_on instead. * Remove no longer needed code from config_drive_for_dma(). * Make ide_tune_dma() static. v2: * Fix config_drive_for_dma() return values. * Fix ide-dma.c build for CONFIG_BLK_DEV_IDEDMA_PCI=n by adding dummy config_drive_for_dma() inline. * Fix IDE_HFLAG_TRUST_BIOS_FOR_DMA handling in ide_dma_check(). * Fix init_hwif_it8213() comment. There should be no functionality changes caused by this patch. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b8b739d3361c16773a30fe5c0360336bbc19f435 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:55 2007 +0200 ide-pmac: add PIO autotune fallback to ->ide_dma_check Since ide-pmac allows separate PIO and DMA timings, and ide-pmac always sets ->autotune this change shouldn't have any other effect than bringing ide-pmac driver in-line with other host drivers wrt ->ide_dma_check implementation. Cc: Benjamin Herrenschmidt Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ef539b57dfe731e2d4fb6f02158e979114ab5b69 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:55 2007 +0200 ide-cris: add PIO autotune fallback to ->ide_dma_check Since ide-cris allows separate PIO and DMA timings, and ide-cris always sets ->autotune this change shouldn't have any other effect than bringing ide-cris driver in-line with other host drivers wrt ->ide_dma_check implementation. Cc: Mikael Starvik Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d6ae3adb2efb078bcbcf727030771408dafd8ed4 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:54 2007 +0200 sl82c105: add PIO autotune fallback to ->ide_dma_check Since sl82c105 re-programs DMA/PIO timings for DMA enable/disable, and sets ->autotune this change shouldn't have any other effect than bringing sl82c105 driver in-line with other host drivers wrt ->ide_dma_check implementation. Signed-off-by: Bartlomiej Zolnierkiewicz commit 3f019eea9ccff0e81d3226759a619ceec26e2e00 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:54 2007 +0200 cs5530/sc1200: add PIO autotune fallback to ->ide_dma_check * Add PIO autotune fallback to ->ide_dma_check. Since cs5530/sc1200 allow separate PIO and DMA timings, and cs5530/sc1200 always set ->autotune this change shouldn't have any other effect than bringing these drivers in-line with other host drivers wrt ->ide_dma_check implementations. * Fix ->ide_dma_check to return "-1" if DMA cannot be set. * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit 65c9cd23cab821c165a70ddd0447eb6362ebbb0c Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:54 2007 +0200 ide: remove ide_use_fast_pio() Remove ide_use_fast_pio() and just re-tune PIO unconditionally if DMA tuning has failed in ->ide_dma_check. All host drivers using ide_use_fast_pio() set drive->autotune so PIO is always tuned anyway and in some cases we _really_ need to re-tune PIO because PIO and DMA timings are shared. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d3b90baf0924c13045c56c3d0a766f9374fe7a9e Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:54 2007 +0200 ide: remove drive->init_speed zeroing Several host drivers used to reset drive->init_speed in their ->ide_dma_check implementations which resulted in incorrect init speed being reported to the user, fix it. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8446f65988b48d19cf419aa4def9a9ccfed17b76 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:54 2007 +0200 au1xxx-ide: use ide_tune_dma() * Remove needless setting of drive->using_dma from auide_dma_check(). * Split off auide_mdma_filter() from auide_dma_check(). * Use ide_tune_dma() in auide_dma_check(), this fixes following issues: - device's DMA capability bit not being checked - device not being checked against generic DMA blacklist - transfer mode not being set on device/host * Add PIO autotune fallback to auide_dma_check(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 8c91abf86280a1b900619ee0d8ae1840e943110e Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:54 2007 +0200 it8213/piix/slc90e66: remove {it8213,piix,slc90e66}_dma_2_pio() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 94c7fa0fcc89571b24c90e0a7545ad31aa390f24 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:53 2007 +0200 atiixp: DMA setup fixes * Fix handling of unsupported/invalid modes in atiixp_set_dma_mode(). * ATI controllers allow separate PIO and DMA timings so remove programming of PIO modes from atiixp_set_dma_mode(). Also remove no longer needed atiixp_dma_2_pio() helper. * SWDMA timings are not programmed by atiixp_set_dma_mode() and if SWDMA mode is chosen atiixp_dma_host_on() erroneously enables UDMA, just disable support for SWDMA modes for now. * Enable support for MWDMA0 mode. * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit cb824c32f1163a8004d0e2f484ded84255caebf4 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:53 2007 +0200 sc1200: always tune PIO Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 93104654c4cb64b1fc56f3d021dbc8bc7ea142fc Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:53 2007 +0200 cs5530: always tune PIO Signed-off-by: Bartlomiej Zolnierkiewicz commit ffbcb017371d82abff6de9a714b6df30d56ee896 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:53 2007 +0200 ide-cris: always tune PIO Acked-by: Mikael Starvik Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a7b888b2f1422009f286c9e639db9bd726e9673a Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:53 2007 +0200 slc90e66: always tune PIO Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bc46b17d23e5fb1e76fdeaf05c86ae02a5d4456a Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:53 2007 +0200 aec62xx: always tune PIO Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4960ab7c8143e84e66b326804441f095d0db04d0 Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:53 2007 +0200 sis5513: always tune PIO * Always set ->autotune in init_hwif_sis5513(), this means practically no change in behavior since PIO was always tuned in ->ide_dma_check and >autotune was always set for ->dma_base == 0 case. * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c77a89cd98d99819f23a4a08e5e17ee1f13f6e4d Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:52 2007 +0200 sis5513: DMA setup fixes * Add sis_ata133_get_base() helper function for obtaining the address of the drive control registers on chipset_family == ATA_133 chipsets. * Add three helper functions for programming PIO/MWDMA timings: - sis_ata16_program_timings() (for ATA_16/33/66/100a chipset families) - sis_ata100_program_timings() (for ATA_100/133a chipset families) - sis_ata133_program_timings() (for ATA_133 chipset family) MWDMA timings are taken from datasheets and they match ATA spec. * Add generic helper function sis_program_timings() and use it in ->set_pio_mode and ->set_dma_mode methods (previously the driver depended on BIOS to program the correct MWDMA timings). * Remove redundant !chipset_family check from init_hwif_sis5513() (init_chipset_sis5513() guarantees that we will never get here if chipset_family cannot be determined). * SWDMA seems to be unsupported by SiS chipsets (no info about SWDMA in datasheets and for SWDMA0 mode timing requirements are impossible to fulfill) so remove ->swdma_mask from init_hwif_sis5513() and handling of SWDMA modes from sis_set_dma_mode(). * Enable DMA support for chipset_family == ATA_16. * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a29ec3b2192247f93b10940119079196cf1dfc5c Author: Bartlomiej Zolnierkiewicz Date: Tue Oct 16 22:29:52 2007 +0200 hpt366: always tune PIO Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7b1dec59750732b23557ea938cda36fa374267d3 Author: Kristoffer Ericson Date: Tue Oct 16 22:29:52 2007 +0200 ide-cs: Add additional id string (corsair, 1GB) This patch adds id strings for Corsair 1GB (identified as Hyperstone Model1) inside legacy/ide-cs.c. It also includes some minor whitespace cleanups. Signed-off-by: Kristoffer Ericson Signed-off-by: Bartlomiej Zolnierkiewicz commit 0c824b51b338c808de650b440ba5f9f4a725f7fc Author: Tony Battersby Date: Tue Oct 16 22:29:52 2007 +0200 ide: fix serverworks.c UDMA regression The patch described by the following excerpt from ChangeLog-2.6.22 makes it impossible to use UDMA on a Tyan S2707 motherboard (SvrWks CSB5): commit 2d5eaa6dd744a641e75503232a01f52d0768884c Author: Bartlomiej Zolnierkiewicz Date: Thu May 10 00:01:08 2007 +0200 ide: rework the code for selecting the best DMA transfer mode (v3) ... This one-line patch against 2.6.23 fixes the problem. Signed-off-by: Tony Battersby Signed-off-by: Bartlomiej Zolnierkiewicz commit 4d1efed540df1ccd3077df6f2bffba9d506b7d7b Author: Tony Luck Date: Tue Oct 16 13:17:22 2007 -0700 [IA64] Fix build for CONFIG_SMP=n d5a7430ddcdb598261d70f7eb1bf450b5be52085 missed a spot where we use cpu_sibling_map and cpu_core_map. These don't exist on a uni-processor build. Wrap #ifdef CONFIG_SMP ... #endif around it. Signed-off-by: Tony Luck commit e95206ab2c8cd6ea11318a5fe96b4ace534be750 Author: Anton Blanchard Date: Tue Oct 16 14:57:06 2007 -0500 Update PowerPC vmemmap code for 1TB segments htab_bolt_mapping takes another argument now the 1TB code has been merged. Update vmemmap_populate to match. Signed-off-by: Anton Blanchard Signed-off-by: Linus Torvalds commit 33ff910f0f466184ffc3514628f18403dcd86761 Author: Anton Blanchard Date: Tue Oct 16 14:54:33 2007 -0500 Fix powerpc breakage in sg chaining code Commit 78bdc3106a877cfa50439fa66b52acbc4e7868df ("PPC: sg chaining support") looks to have removed some unrelated ppc code. Lets put it back in. Signed-off-by: Anton Blanchard Acked-by: Jens Axboe Signed-off-by: Linus Torvalds commit 69fc507a1424ce31d2096be5b1e5b1750bdfe235 Author: Anton Blanchard Date: Mon Oct 15 00:50:56 2007 -0500 IPoIB: Use round_jiffies() for ah_reap_task Use round_jiffies() to align the 1 second ah_reap_task with other work and potentially save power by sleeping cores for longer. Signed-off-by: Anton Blanchard Signed-off-by: Roland Dreier commit d02d1f5359e795bac9a4461698521680cddd782b Author: Sean Hefty Date: Tue Oct 9 11:12:34 2007 -0700 RDMA/cma: Fix deadlock destroying listen requests Deadlock condition reported by Kanoj Sarcar . The deadlock occurs when a connection request arrives at the same time that a wildcard listen is being destroyed. A wildcard listen maintains per device listen requests for each RDMA device in the system. The per device listens are automatically added and removed when RDMA devices are inserted or removed from the system. When a wildcard listen is destroyed, rdma_destroy_id() acquires the rdma_cm's device mutex ('lock') to protect against hot-plug events adding or removing per device listens. It then tries to destroy the per device listens by calling ib_destroy_cm_id() or iw_destroy_cm_id(). It does this while holding the device mutex. However, if the underlying iw/ib CM reports a connection request while this is occurring, the rdma_cm callback function will try to acquire the same device mutex. Since we're in a callback, the ib_destroy_cm_id() or iw_destroy_cm_id() calls will block until their callback thread returns, but the callback is blocked waiting for the device mutex. Fix this by re-working how per device listens are destroyed. Use rdma_destroy_id(), which avoids the deadlock, in place of cma_destroy_listen(). Additional synchronization is added to handle device hot-plug events and ensure that the id is not destroyed twice. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit c5483388bb4d771007ef36478db038e07922a020 Author: Sean Hefty Date: Mon Sep 24 13:19:09 2007 -0700 RDMA/cma: Add locking around QP accesses If a user allocates a QP on an rdma_cm_id, the rdma_cm will automatically transition the QP through its states (RTR, RTS, error, etc.) While the QP state transitions are occurring, the QP itself must remain valid. Provide locking around the QP pointer to prevent its destruction while accessing the pointer. This fixes an issue reported by Olaf Kirch from Oracle that resulted in a system crash: "An incoming connection arrives and we decide to tear down the nascent connection. The remote ends decides to do the same. We start to shut down the connection, and call rdma_destroy_qp on our cm_id. ... Now apparently a 'connect reject' message comes in from the other host, and cma_ib_handler() is called with an event of IB_CM_REJ_RECEIVED. It calls cma_modify_qp_err, which for some odd reason tries to modify the exact same QP we just destroyed." Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit ace2e92e193126711cb3a83a3752b2c5b8396950 Author: Jeremy Fitzhardinge Date: Tue Oct 16 11:51:31 2007 -0700 xfs: eagerly remove vmap mappings to avoid upsetting Xen XFS leaves stray mappings around when it vmaps memory to make it virtually contigious. This upsets Xen if one of those pages is being recycled into a pagetable, since it finds an extra writable mapping of the page. This patch solves the problem in a brute force way, by making XFS always eagerly unmap its mappings. David Chinner says this shouldn't have any performance impact on filesystems with default block sizes; it will only affect filesystems with large block sizes. Signed-off-by: Jeremy Fitzhardinge Acked-by: David Chinner Cc: Nick Piggin Cc: XFS masters Cc: Stable kernel Cc: Morten =?utf-8?q?B=C3=B8geskov?= Cc: Mark Williamson commit a122d6230e8d8ac7cffdf0bc9cc4b256b928fe49 Author: Jeremy Fitzhardinge Date: Tue Oct 16 11:51:31 2007 -0700 xen: add some debug output for failed multicalls Multicalls are expected to never fail, and the normal response to a failed multicall is very terse. In the interests of better debuggability, add some more verbose output. It may be worth turning this off once it all seems more tested. Signed-off-by: Jeremy Fitzhardinge commit e3d2697669abbe26c08dc9b95e2a71c634d096ed Author: Jeremy Fitzhardinge Date: Tue Oct 16 11:51:31 2007 -0700 xen: fix incorrect vcpu_register_vcpu_info hypercall argument The kernel's copy of struct vcpu_register_vcpu_info was out of date, at best causing the hypercall to fail and the guest kernel to fall back to the old mechanism, or worse, causing random memory corruption. [ Stable folks: applies to 2.6.23 ] Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel Cc: Morten =?utf-8?q?B=C3=B8geskov?= Cc: Mark Williamson commit fb1d84043ca73212b08ff57608f51b372529e6d6 Author: Jeremy Fitzhardinge Date: Tue Oct 16 11:51:31 2007 -0700 xen: ask the hypervisor how much space it needs reserved Ask the hypervisor how much space it needs reserved, since 32-on-64 doesn't need any space, and it may change in future. Signed-off-by: Jeremy Fitzhardinge commit 74260714c56de4f967fcb2f17a8656bc574b75be Author: Jeremy Fitzhardinge Date: Tue Oct 16 11:51:30 2007 -0700 xen: lock pte pages while pinning/unpinning When a pagetable is created, it is made globally visible in the rmap prio tree before it is pinned via arch_dup_mmap(), and remains in the rmap tree while it is unpinned with arch_exit_mmap(). This means that other CPUs may race with the pinning/unpinning process, and see a pte between when it gets marked RO and actually pinned, causing any pte updates to fail with write-protect faults. As a result, all pte pages must be properly locked, and only unlocked once the pinning/unpinning process has finished. In order to avoid taking spinlocks for the whole pagetable - which may overflow the PREEMPT_BITS portion of preempt counter - it locks and pins each pte page individually, and then finally pins the whole pagetable. Signed-off-by: Jeremy Fitzhardinge Cc: Rik van Riel Cc: Hugh Dickens Cc: David Rientjes Cc: Andrew Morton Cc: Andi Kleen Cc: Keir Fraser Cc: Jan Beulich commit 9f79991d4186089e228274196413572cc000143b Author: Jeremy Fitzhardinge Date: Tue Oct 16 11:51:30 2007 -0700 xen: deal with stale cr3 values when unpinning pagetables When a pagetable is no longer in use, it must be unpinned so that its pages can be freed. However, this is only possible if there are no stray uses of the pagetable. The code currently deals with all the usual cases, but there's a rare case where a vcpu is changing cr3, but is doing so lazily, and the change hasn't actually happened by the time the pagetable is unpinned, even though it appears to have been completed. This change adds a second per-cpu cr3 variable - xen_current_cr3 - which tracks the actual state of the vcpu cr3. It is only updated once the actual hypercall to set cr3 has been completed. Other processors wishing to unpin a pagetable can check other vcpu's xen_current_cr3 values to see if any cross-cpu IPIs are needed to clean things up. [ Stable folks: 2.6.23 bugfix ] Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit 91e0c5f3dad47838cb2ecc1865ce789a0b7182b1 Author: Jeremy Fitzhardinge Date: Tue Oct 16 11:51:30 2007 -0700 xen: add batch completion callbacks This adds a mechanism to register a callback function to be called once a batch of hypercalls has been issued. This is typically used to unlock things which must remain locked until the hypercall has taken place. [ Stable folks: pre-req for 2.6.23 bugfix "xen: deal with stale cr3 values when unpinning pagetables" ] Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit f0d733942750c1ee6358c3a4a1a5d7ba73b7122f Author: Jeremy Fitzhardinge Date: Tue Oct 16 11:51:30 2007 -0700 xen: yield to IPI target if necessary When sending a call-function IPI to a vcpu, yield if the vcpu isn't running. Signed-off-by: Jeremy Fitzhardinge commit d626a1f1cbbdfac90c529216e40a4fa2a22ecc3d Author: Jesper Juhl Date: Tue Oct 16 11:51:29 2007 -0700 Clean up duplicate includes in arch/i386/xen/ This patch cleans up duplicate includes in arch/i386/xen/ Signed-off-by: Jesper Juhl Signed-off-by: Jeremy Fitzhardinge commit 4f8178477400cfc49a0657b96e873914d95081f8 Author: Jeremy Fitzhardinge Date: Tue Oct 16 11:51:29 2007 -0700 remove dead code in pgtable_cache_init The conversion from using a slab cache to quicklist left some residual dead code. I note that in the conversion it now always allocates a whole page for the pgd, rather than the 32 bytes needed for a PAE pgd. Was this intended? Signed-off-by: Jeremy Fitzhardinge Cc: Christoph Lameter Cc: Andi Kleen Cc: William Lee Irwin III Cc: Ingo Molnar Cc: Thomas Gleixner commit 8965c1c0950d459d99b8b81dfc1ab02e3d2cfb08 Author: Jeremy Fitzhardinge Date: Tue Oct 16 11:51:29 2007 -0700 paravirt: clean up lazy mode handling Currently, the set_lazy_mode pv_op is overloaded with 5 functions: 1. enter lazy cpu mode 2. leave lazy cpu mode 3. enter lazy mmu mode 4. leave lazy mmu mode 5. flush pending batched operations This complicates each paravirt backend, since it needs to deal with all the possible state transitions, handling flushing, etc. In particular, flushing is quite distinct from the other 4 functions, and seems to just cause complication. This patch removes the set_lazy_mode operation, and adds "enter" and "leave" lazy mode operations on mmu_ops and cpu_ops. All the logic associated with enter and leaving lazy states is now in common code (basically BUG_ONs to make sure that no mode is current when entering a lazy mode, and make sure that the mode is current when leaving). Also, flush is handled in a common way, by simply leaving and re-entering the lazy mode. The result is that the Xen, lguest and VMI lazy mode implementations are much simpler. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Cc: Zach Amsden Cc: Rusty Russell Cc: Avi Kivity Cc: Anthony Liguory Cc: "Glauber de Oliveira Costa" Cc: Jun Nakajima commit 93b1eab3d29e7ea32ee583de3362da84db06ded8 Author: Jeremy Fitzhardinge Date: Tue Oct 16 11:51:29 2007 -0700 paravirt: refactor struct paravirt_ops into smaller pv_*_ops This patch refactors the paravirt_ops structure into groups of functionally related ops: pv_info - random info, rather than function entrypoints pv_init_ops - functions used at boot time (some for module_init too) pv_misc_ops - lazy mode, which didn't fit well anywhere else pv_time_ops - time-related functions pv_cpu_ops - various privileged instruction ops pv_irq_ops - operations for managing interrupt state pv_apic_ops - APIC operations pv_mmu_ops - operations for managing pagetables There are several motivations for this: 1. Some of these ops will be general to all x86, and some will be i386/x86-64 specific. This makes it easier to share common stuff while allowing separate implementations where needed. 2. At the moment we must export all of paravirt_ops, but modules only need selected parts of it. This allows us to export on a case by case basis (and also choose which export license we want to apply). 3. Functional groupings make things a bit more readable. Struct paravirt_ops is now only used as a template to generate patch-site identifiers, and to extract function pointers for inserting into jmp/calls when patching. It is only instantiated when needed. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Rusty Russell Cc: Andi Kleen Cc: Zach Amsden Cc: Avi Kivity Cc: Anthony Liguory Cc: "Glauber de Oliveira Costa" Cc: Jun Nakajima commit af6f4612fdfd782c6d35272836a2b97e7e5b790e Author: Steve French Date: Tue Oct 16 18:40:37 2007 +0000 [CIFS] Fix some endianness problems in new acl code Signed-off-by: Steve French commit 016ec75f1a0c0e765fce65d794569979104f031d Author: Steve French Date: Tue Oct 16 18:10:10 2007 +0000 [CIFS] missing #endif from a previous patch Signed-off-by: Steve French commit 6345a3a88012b0060ddeca8874e51cb442e1fb20 Author: Cyrill Gorcunov Date: Tue Oct 16 17:57:55 2007 +0000 [CIFS] formatting fixes Signed-off-by: Cyrill Gorcunov Signed-off-by: Steve French commit 0d3a01fadacef5901005dc8f61688a8f0471dc79 Author: Jeff Layton Date: Tue Oct 16 17:32:19 2007 +0000 [CIFS] Break up unicode_sessetup string functions SPNEGO setup needs only some of these strings. Break up unicode_ssetup_strings so we can call them individually. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 8bb00d83d8fc2de5c0614f5d55780107e0c375fe Author: Ralf Baechle Date: Tue Oct 16 11:35:11 2007 +0100 [MIPS] Increase cp0 compare clockevent min_delta_ns from 0x30 to 0x300. Extremly low values are of dubious usefulness anyway but in this case they actually were killing Qemu which simply wasn't able to complete mips_next_event() within 0x30 100MHz cycles even on fast hosts. Signed-off-by: Ralf Baechle commit 64bfca5cd8c40fa138ad5db2513e8bcf8bd54ebd Author: Ralf Baechle Date: Mon Oct 15 16:35:45 2007 +0100 [MIPS] Cache: Provide more information on cache policy on bootup. This should help making bug reports for the gadzillion of cores with all their configuration and synthesis options more useful. Signed-off-by: Ralf Baechle commit 985c30ef4d7c2a4f0e979a507a7e2f7f09b096c3 Author: Ralf Baechle Date: Mon Oct 15 16:30:24 2007 +0100 [MIPS] Fix aliasing bug in copy_user_highpage, take 2. Turns out b868868ae0f7272228c95cc760338ffe35bb739d wasn't quite right. When called for a page that isn't marked dirty it would artificially create an alias instead of doing the obvious thing and access the page via KSEG0. The same issue also exists in copy_to_user_page and copy_from_user_page which was causing the machine to die under rare circumstances for example when running ps if the BUG_ON() assertion added by the earlier fix was getting triggered. Signed-off-by: Ralf Baechle commit 736fad17b89e5e718908abb76ae9bce210a9d5d4 Author: Kay Sievers Date: Mon Oct 15 13:42:35 2007 +0200 [MIPS] VPE loader: convert from struct class_ device to struct device Signed-off-by: Kay Sievers Signed-off-by: Ralf Baechle commit 2f7055c5932ecc02159be375ebda1eee64665d17 Author: Thiemo Seufer Date: Sun Oct 14 17:11:06 2007 +0100 [MIPS] MIPSsim: Fix booting from NFS root MIPSsim probably doesn't have any sort of environment, but writing a zero in it kills even the compiled in command line. This prevents booting via NFS root. Signed-Off-By: Thiemo Seufer Signed-off-by: Ralf Baechle commit 0e6799ed076fb11b3ee0a8bc19018f3410e357b2 Author: Ralf Baechle Date: Mon Oct 15 01:07:39 2007 +0100 [MIPS] Alchemy: Get rid of au1xxx_irq_map_t. Signed-off-by: Ralf Baechle commit d2126e230d3db20ee7f3ef2dc70bb241aafd4f80 Author: Ralf Baechle Date: Mon Oct 15 01:02:43 2007 +0100 [MIPS] Alchemy: Get rid of au_ffz(). There were no users - and why have a private version anyway. Signed-off-by: Ralf Baechle commit 56f621c7f6f735311eed3f36858b402013023c18 Author: Ralf Baechle Date: Mon Oct 15 01:00:06 2007 +0100 [MIPS] Alchemy: Get rid of au_ffs(). It was plain a bad idea ... Signed-off-by: Ralf Baechle commit 41bd61a8e357f79dc65502b22d9d124a619491c0 Author: Ralf Baechle Date: Mon Oct 15 00:51:34 2007 +0100 [MIPS] Alchemy: cleanup interrupt code. Signed-off-by: Ralf Baechle commit a5ccfe5c1a48bff1e47788d470ee50974f7dd33d Author: Ralf Baechle Date: Sun Oct 14 23:49:33 2007 +0100 [MIPS] Lasat: Fix build by conversion to irq_cpu.c. Signed-off-by: Ralf Baechle commit 951e4714295b50a8fbc2d928451c44ac56c2b575 Author: Ralf Baechle Date: Sun Oct 14 23:42:01 2007 +0100 [MIPS] Lasat: Add #ifndef ... #endif include warpper to lasatint.h. Signed-off-by: Ralf Baechle commit 1c5dc034019d2a2c29f0c96444e02453bb495741 Author: Ralf Baechle Date: Sun Oct 14 23:27:58 2007 +0100 [MIPS] IP22: Enable -Werror. Signed-off-by: Ralf Baechle commit eae23f2c2ac1e44f84a5f932eaad6a0dacd179d5 Author: Ralf Baechle Date: Sun Oct 14 23:27:21 2007 +0100 [MIPS] IP22: Fix warning. CC arch/mips/sgi-ip22/ip22-berr.o arch/mips/sgi-ip22/ip22-berr.c: In function 'ip22_be_interrupt': arch/mips/sgi-ip22/ip22-berr.c:100: warning: passing argument 2 of 'die_if_kernel' discards qualifiers from pointer target type Signed-off-by: Ralf Baechle commit 754d0f239ddb35682aa322b57b7fa4a8efd2fb54 Author: Ralf Baechle Date: Sun Oct 14 23:04:27 2007 +0100 [MIPS] IP22: Complain if requesting the front panel irq failed. This fixes the warning: CC arch/mips/sgi-ip22/ip22-reset.o arch/mips/sgi-ip22/ip22-reset.c: In function 'reboot_setup': arch/mips/sgi-ip22/ip22-reset.c:239: warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result Signed-off-by: Ralf Baechle commit f70fd1b53c163442ba7c5d7a9279f23211a5ac6d Author: Ralf Baechle Date: Sun Oct 14 22:50:05 2007 +0100 [MIPS] vmlinux.lds.S: Handle KPROBES_TEXT. Signed-off-by: Ralf Baechle commit 603bb99c8bca114fcd586271b19fa9fe65877b62 Author: Ralf Baechle Date: Sun Oct 14 22:49:01 2007 +0100 [MIPS] vmlinux.lds.S: Fix handling of .notes in final link. Signed-off-by: Ralf Baechle commit f5153ee0f5b3d14213bab1d6ccf2b44bfe9e322b Author: Ralf Baechle Date: Sun Oct 14 22:42:58 2007 +0100 [MIPS] vmlinux.lds.S: Remove duplicate comment. Signed-off-by: Ralf Baechle commit b37bac94de9ad5eb17bd9327d3ecb6f3b719dc70 Author: Ralf Baechle Date: Sun Oct 14 14:27:18 2007 +0100 [MIPS] MSP71XX: Add workarounds file. Signed-off-by: Ralf Baechle commit dd67b1556ebea118b40986cdb8e70874b5454442 Author: Ralf Baechle Date: Sun Oct 14 14:02:26 2007 +0100 [MIPS] IP32: Fix build by conversion to irq_cpu.c. Signed-off-by: Ralf Baechle commit e187e44eb8902089da0c7725d606b0e20fee981d Author: Jeff Layton Date: Tue Oct 16 17:10:44 2007 +0000 [CIFS] parse server_GUID in SPNEGO negProt response SPNEGO NegProt response also contains a server_GUID. Parse it as we would for RawNTLMSSP. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit f20bf6125605acbbc7eb8c9420d7221c91aa83eb Author: Ingo Molnar Date: Tue Oct 16 16:09:20 2007 +0200 time: introduce xtime_seconds improve performance of sys_time(). sys_time() returns time in seconds, but it does so by calling do_gettimeofday() and then returning the tv_sec portion of the GTOD time. But the data structure "xtime", which is updated by every timer/scheduler tick, already offers HZ granularity time. the patch improves the sysbench oltp macrobenchmark by 4-5% on an AMD dual-core system: v2.6.23: #threads 1: transactions: 4073 (407.23 per sec.) 2: transactions: 8530 (852.81 per sec.) 3: transactions: 8321 (831.88 per sec.) 4: transactions: 8407 (840.58 per sec.) 5: transactions: 8070 (806.74 per sec.) v2.6.23 + sys_time-speedup.patch: 1: transactions: 4281 (428.09 per sec.) 2: transactions: 8910 (890.85 per sec.) 3: transactions: 8659 (865.79 per sec.) 4: transactions: 8676 (867.34 per sec.) 5: transactions: 8532 (852.91 per sec.) and by 4-5% on an Intel dual-core system too: 2.6.23: 1: transactions: 4560 (455.94 per sec.) 2: transactions: 10094 (1009.30 per sec.) 3: transactions: 9755 (975.36 per sec.) 4: transactions: 9859 (985.78 per sec.) 5: transactions: 9701 (969.72 per sec.) 2.6.23 + sys_time-speedup.patch: 1: transactions: 4779 (477.84 per sec.) 2: transactions: 10103 (1010.14 per sec.) 3: transactions: 10141 (1013.93 per sec.) 4: transactions: 10371 (1036.89 per sec.) 5: transactions: 10178 (1017.50 per sec.) (the more CPUs the system has, the more speedup this patch gives for this particular workload.) Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit 8636225e8d23e6079d43f56faf415bd71b589dc0 Author: Mikael Pettersson Date: Tue Oct 16 09:33:24 2007 +0200 CREDITS: correct Mikael Pettersson's URL New URL due to local reorganization. commit d4c9f23af0faf3459c276dc456a12387e76973d9 Author: Roland McGrath Date: Mon Oct 15 20:44:14 2007 -0700 powerpc32 vDSO: linker script indentation This cleans up the formatting in the vDSO linker script, mostly just the use of whitespace. It's intended to approximate the kernel standard conventions for indenting C, treating elements of the linker script about like initialized variable definitions. Signed-off-by: Roland McGrath Acked-by: Benjamin Herrenschmidt Cc: Sam Ravnborg Signed-off-by: Linus Torvalds commit 558da7561e3362d4ec3a62e5994235d21651d802 Author: Roland McGrath Date: Mon Oct 15 20:43:33 2007 -0700 powerpc64 vDSO: linker script indentation This cleans up the formatting in the vDSO linker script, mostly just the use of whitespace. It's intended to approximate the kernel standard conventions for indenting C, treating elements of the linker script about like initialized variable definitions. Signed-off-by: Roland McGrath Acked-by: Benjamin Herrenschmidt Cc: Sam Ravnborg Signed-off-by: Linus Torvalds commit c4eecc99538db762d8d058ebf89d3f05c5526ce6 Author: Roland McGrath Date: Mon Oct 15 20:42:02 2007 -0700 SH vDSO: linker script indentation This cleans up the formatting in the vDSO linker script, mostly just the use of whitespace. It's intended to approximate the kernel standard conventions for indenting C, treating elements of the linker script about like initialized variable definitions. Signed-off-by: Roland McGrath Cc: Sam Ravnborg Signed-off-by: Linus Torvalds commit 1a43be74a7597a1a1fdef73350bb143dd634ae07 Author: Roland McGrath Date: Mon Oct 15 20:40:29 2007 -0700 ia64 vDSO: linker script indentation This cleans up the formatting in the vDSO linker script, mostly just the use of whitespace. It's intended to approximate the kernel standard conventions for indenting C, treating elements of the linker script about like initialized variable definitions. Signed-off-by: Roland McGrath Cc: Sam Ravnborg Signed-off-by: Linus Torvalds commit 1e89a5e15a2c88b3fd1ed3fa17fd767efe44727a Author: Peter Zijlstra Date: Tue Oct 16 06:47:54 2007 +0200 lockdep: fixup the inode dir annotation A slight oversight tripped lockdep debugging code, each lockdep class should have but a single init site. Rearange the code to make this true. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit e744fdea546abf7a794898a99a26f85c63a83648 Author: Boaz Harrosh Date: Tue Oct 16 10:25:01 2007 +0200 scsi_mac.h: Define AUTOSENSE before include of NCR5380.h - Previese patch to NCR5380 broke scsi_mac because AUTOSENSE was defined after the inclusion of NCR5380.h. Fix it Signed-off-by: Boaz Harrosh Signed-off-by: Linus Torvalds commit 7111d2144f17155b66e89b3655fcddbedefcf8a6 Author: Jeff Layton Date: Tue Oct 16 16:50:25 2007 +0000 [CIFS] [CIFS] fix error message about packet signing When packet signing is disabled and the server requires it, cifs prints an error message. The current message refers to a file in /proc that no longer exists. Fix it to refer to the correct file. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit a56daeb7d5c9a05b1cb52ae4bcca05fb6545656e Author: Andrew Morton Date: Tue Oct 16 01:29:57 2007 -0700 net/sunrpc/xprtrdma/verbs.c printk warning fix sparc64: net/sunrpc/xprtrdma/verbs.c:1264: warning: long long unsigned int format, u64 arg (arg 3) net/sunrpc/xprtrdma/verbs.c:1264: warning: long long unsigned int format, u64 arg (arg 4) Cc: Trond Myklebust Cc: "David S. Miller" Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 102a1a20d2b0a412d4cd4a9f047761f7925405ff Author: Maciej W. Rozycki Date: Tue Oct 16 01:29:57 2007 -0700 tgafb: remove a redundant non-mono test in mono imageblit There is a test in tgafb_mono_imageblit() for a colour image with a fall-back to cfb_imageblit(). The test is not necessary as the only caller, which is tgafb_imageblit(), checks it too and only invokes this function for monochrome images. It looks like a left-over from before some changes to tgafb_imageblit(). Signed-off-by: Maciej W. Rozycki Cc: Antonino Daplas Cc: Jay Estabrook Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b738b990468d2acd5be7fe177fb750448bfa0b37 Author: Maciej W. Rozycki Date: Tue Oct 16 01:29:56 2007 -0700 tgafb: fix an out-of-range shift in mono imageblit The pixel mask calculation in tgafb_mono_imageblit() uses a variable left-shift on a 32-bit data type by up to 32. Shifting by the width of a data type or more produces an unpredictable result according to the C standard. Rather than widening the data type this fix makes sure the count is between 0 and 31. The reason is not to penalise 32-bit platforms with operation on a "long long" type for a marginal case that is meant not to happen (blitting an image of a zero width). The reason it has escaped for so long is the Alpha, being purely 64-bit, :-) does not mask the shift out to 32 bits. This is a valid implementation -- producing the correct result certainly falls within "unpredictable behaviour". It does trigger on MIPS though and it is the recent merge of the TC support which only enabled the driver for use on anything other than the Alpha. For MIPS when the width is 32 the mask ends up being 0 rather than 0xffffffff as it should be and the frame buffer is not updated. Signed-off-by: Maciej W. Rozycki Cc: Antonino Daplas Cc: Jay Estabrook Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d8a2d986d3ee3ece9c3cefbb23425a22132492c Author: Antonino Daplas Date: Tue Oct 16 01:29:55 2007 -0700 fbcon: delay the start of the cursor timer until a con_switch() As reported in Bugzilla Bug 9093, upon switching to X, a small rectangular cursor can still be seen blinking in the upper left part of the screen. It is fbcon's text cursor. This is caused by a strange ioctl(..., KDSETMODE, KD_TEXT) call done by something in userspace, perhaps by X itself, while the tty is still in graphics mode. And when the tty is in KD_TEXT mode, the cursor timer is restarted. Although this is a userspace problem, we can work around it by delaying the restart of the cursor timer until an fbcon_switch() is called. In other words, the cursor timer will not be restarted even if a KD_TEXT mode switch is requested. Regression potential: Present but low Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15afdd433610c4ba0edf1f8a59915b3755af7365 Author: Pavel Pisa Date: Tue Oct 16 01:29:55 2007 -0700 fbdev: copyarea function taught to fully support swapped pixel order in byte This correct case, when source and destination X coordinates difference is n multiple of pixels in byte. This is probably rare case, but this case should supported for completeness. Reorganization of FB_READL and FB_WRITEL calls results in code size decrease for normal build without swapping support and size with support enabled is reasonable too. [adaplas] Add missing fb_rev_pixels_in_long() prototype. Signed-off-by: Pavel Pisa Signed-off-by: Antonino Daplas [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3ca34f90b44049dcde62a8f97554409112bf376 Author: Krzysztof Helt Date: Tue Oct 16 01:29:54 2007 -0700 s3fb: do not allow incorrect pixclock settings This patch adds check if selected pixclock is valid (is in the PLL range). Previously, if the pixclock could not be set, the new mode resolution was set but pixclock was not set which led to incorrect timings sent to monitor. [adaplas] Fixed a few misplaced curly braces. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4b766a0bdab8d07b720c8d0a84292949a7d58bd Author: Ondrej Zajicek Date: Tue Oct 16 01:29:52 2007 -0700 svgalib: mode selection updates This patch changes mode selection matching algorithm. It allows to choose mode with matching depth even when requested color lengths are greater than color lengths of every mode with requested color depth. It also fixes bug in s3fb - wrong error value returned when format is not supported by chip. Signed-off-by: Ondrej Zajicek Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7dd91ff236b90a8aca2d619554b07bcb82953c7 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:52 2007 -0700 ps3fb: default to 480p on DVI-D/HDMI if video=safe Default to the 480p video mode on DVI-D and HDMI displays if `video=safe' is passed on the kernel command line. This is intended to be used by `kboot'-style boot loaders (i.e. first-stage kernels) for the PS3, to provide a failsafe video mode. Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a054fbac8f8441f48896b855a9e11c13e0c3dc8 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:51 2007 -0700 fb: move and rename extern declaration for global_mode_option Move the extern declaration for global_mode_option to and rename the variable to fb_mode_option. Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61e0b28e5435ac3010746bcf24fe8a16425d0343 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:51 2007 -0700 ps3fb: enhance horizontal panning on firmware 1.90 and up ps3fb: Enhance horizontal panning on firmware 1.90 and up: - On firmware 1.90 and up, L1GPU_CONTEXT_ATTRIBUTE_FB_BLIT supports copying rectangles from XDR to DDR memory with different source and destination line lengths. Hence larger horizontal virtual resolutions can be supported (up to 16368 pixels). - As the actual frame buffer memory layout no longer matches the entries in ps3fb_res[], create fake struct ps3fb_ioctl_res data for the PS3FB_IOCTL_SCREENINFO ioctl, so user space applications that depend on it keep on working. Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc7028b7487cc57ef44c7efc5e286f06bef8fc13 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:50 2007 -0700 ps3fb: add virtual screen and panning support ps3fb: Add virtual screen and panning support: - The vertical virtual screen size is limited by the amount of memory reserved for ps3fb, - The horizontal virtual screen size is limited to the fullscreen width, - Advertise that we support panning, so fbcon will use it if the virtual screen is enabled. Enabling a virtual screen (using `fbset -vyres nnn') can speed up text console scrolling by a factor of 10-15, depending on the video mode. Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1664ed8ae98d17b294e01a5a0220f635f207824 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:49 2007 -0700 ps3fb: don't keep the borders for non-fullscreen modes in XDR memory Don't keep the borders for non-fullscreen modes in XDR memory: - Extract ps3fb_sync_image() - Work around the alignment restrictions of L1GPU_CONTEXT_ATTRIBUTE_FB_BLIT by using an offset with L1GPU_CONTEXT_ATTRIBUTE_DISPLAY_FLIP - Only copy the visible part of the screen on every vblank - Always put the real frame buffer at the start of video memory - Clear fullscreen DDR memory on mode change Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0333d83509c7d8496c8965b5ba9bc0c98e83c259 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:48 2007 -0700 ps3fb: use fb_info.par properly ps3fb: Use fb_info.par properly: o Move mode-specific fields into struct ps3fb_par o Allocate struct ps3fb_par using framebuffer_alloc() o Protect access to ps3fb_par in ps3fb_sync() using the console semaphore (this semaphore is already held when ps3fb_set_par() is called) o Avoid calling ps3av_set_video_mode() if the actual video mode hasn't changed Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ce32e15a16312d2c29c8bb188bf95bc821fdab6 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:48 2007 -0700 ps3fb: fix possible overlap of GPU command buffer and frame buffer ps3fb: In the case of non-fullscreen video modes, there was a partial overlap of the GPU command buffer and the frame buffer. Fix and cleanup various issues with overlap and alignment: - Move the GPU command buffer from the beginning to the end of video memory - Exclude the GPU command buffer from the actual frame buffer memory - Align the start of the virtual frame buffer to PAGE_SIZE instead of to 64 KiB, and don't waste memory if it's already aligned (for fullscreen modes) - Take into account the alignment when checking memory requirements and maximum number of frames - Make sure fb_fix_screeninfo.smem_start always points to the virtual frame buffer start, so we don't have to compensate for that in ps3fb_mmap() Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15e4d001ef5b14f56fa51665952cbffc0001762f Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:47 2007 -0700 ps3fb: make ps3fb_wait_for_vsync() and ps3fb_flip_ctl() static Make ps3fb_wait_for_vsync() and ps3fb_flip_ctl() static, as they're no (longer) used outside ps3fb. Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cb3626dde9760fc70e5e9eb9d08d8c08df42906 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:46 2007 -0700 ps3fb: clean up includes Clean up includes Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0138bd841ea2d713cf883c67684c40ce26ba319a Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:46 2007 -0700 ps3fb: do not print warnings on invalid frame numbers Do not print warnings on invalid frame numbers, as this can be triggered from user space. Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 535da7ffe68dfdf70c7aecade21864a573035b75 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:45 2007 -0700 ps3fb: convert from printk()/DPRINTK() to dev_*()/pr_*() Convert ps3fb from printk()/DPRINTK() to dev_*()/pr_*() Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9da505d1f9d8facbb688d28dfb6d9fc8edfd5c4a Author: Pavel Pisa Date: Tue Oct 16 01:29:44 2007 -0700 imxfb: fast read flag and nonstandard field configurable The i.MX frame-buffer read operation should be faster for all configurations then drawing each individual character again in response to scroll events. The nonstandard fields allows to configure frame-buffer special options flags for different display configurations by board specific initialization code. One of such specific options is reversed order of pixels in each individual byte. i.MX frame-buffer seems to be designed for big-endian use first. The byte order is correctly configured for little-endian ordering, but if 1, 2 or 4 bits per pixel are used, pixels ordering is incompatible to Linux generic frame-buffer drawing functions. The patch "Allow generic BitBLT functions to work with swapped pixel order in bytes" introduces required functionality into FBDEV core. The pixels ordering selection has to be enabled at compile time CONFIG_FB_CFB_REV_PIXELS_IN_BYTE and for each display configuration which requires it by flag FB_NONSTD_REV_PIX_IN_B in "nonstd" field of info structure. This patch provides way for board specific code to select this option. Signed-off-by: Pavel Pisa Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce4c371a9de1f5b9e1d15f9d59c5f7d079bcd6d7 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:44 2007 -0700 ps3av: dont distinguish between `boot' and `non-boot' autodetection don't distinguish between `boot' and `non-boot' autodetection now the autodetection code has been improved Signed-off-by: Geert Uytterhoeven Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 466c449e5feb6007841c100d385aeba7869b9946 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:43 2007 -0700 ps3av: remove unused ps3av_set_mode() remove unused ps3av_set_mode() Signed-off-by: Geert Uytterhoeven Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57f70c6067b66b16398010d43d1ee2eba5e56760 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:42 2007 -0700 ps3av: add quirk database for broken monitors add a quirk database for broken monitors where the `best' advertised video mode doesn't work Signed-off-by: Geert Uytterhoeven Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd5621129bbfa30839efbb6d32f20026a113f894 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:42 2007 -0700 ps3av: add autodetection for VESA modes add autodetection for VESA modes Signed-off-by: Geert Uytterhoeven Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 101aa56d02240dfe36b2fb229fed0a9d6efba425 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:41 2007 -0700 ps3av: treat DVI-D like HDMI in autodetect treat DVI-D monitors like HDMI monitors when autodetecting the best video mode Signed-off-by: Geert Uytterhoeven Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71a27fecaf836093a30fe538c5ab98ef0b25bfc8 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:41 2007 -0700 ps3av: use PS3 video mode ids in autodetect code It doesn't make much sense to use the PS3AV_CMD_VIDEO_VID_* values in the autodetection code, just to convert them to PS3 video mode ids afterwards. Signed-off-by: Geert Uytterhoeven Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eea820ab0b189d74620dca376817a2e599eb1ab1 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:40 2007 -0700 ps3av: eliminate PS3AV_DEBUG ps3av: eliminate PS3AV_DEBUG - Move ps3av_cmd_av_monitor_info_dump from ps3av_cmd.c to ps3av.c, as it's used there only - Integrate ps3av_cmd_av_hw_conf_dump() into its sole user - Use pr_debug() for printing debug info Signed-off-by: Geert Uytterhoeven Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 828b23fc8794d1ac679e1695a9d9e0341e43752e Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:40 2007 -0700 ps3av: eliminate unneeded temporary variables ps3av: eliminate unneeded temporary variables Signed-off-by: Geert Uytterhoeven Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 179b025fea2fa65760f1dcdff3585465d2177159 Author: Randy Dunlap Date: Tue Oct 16 01:29:39 2007 -0700 video gfx: merge kconfig menus Move AGP and DRM menus into the video graphics support menu. They use 'menuconfig' so that they can all be disabled with one selection. Make the console menu use 'menuconfig' so that it can all be disabled with one selection. Make the frame buffer menu use 'menuconfig' so that it can all be disabled with one selection. Signed-off-by: Randy Dunlap Acked-by: Dave Airlie Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9fa7c43aa74fae3a1db04092d2a51005f5b8a21 Author: Michael Hennerich Date: Tue Oct 16 01:29:38 2007 -0700 bf54x-lq043fb: framebuffer driver for Blackfin BF54x framebuffer device driver Blackfin BF54x framebuffer device driver for a SHARP LQ043T1DG01 TFT LCD [adaplas] Add 'fb' suffix to driver name. Move Makefile entry under platform device section Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit accaa24c492f1aa3b9c37226d868dc59c3007531 Author: Randy Dunlap Date: Tue Oct 16 01:29:37 2007 -0700 fbcon: logo: disable logo at boot Add logo.nologo kernel boot option to disable the logo in order to provide more screen space for kernel messages; especially useful when debugging and screen space is more critical. newport_con driver changes are untested. [akpm@linux-foundation.org: cleanups, coding-style fixes] Signed-off-by: Randy Dunlap Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 840bc9b0937aebd6004debf457cfb53f1f122d3b Author: Maciej W. Rozycki Date: Tue Oct 16 01:29:36 2007 -0700 pmagb-b-fb: improve diagnostics Add error messages to the probe call. [adaplas] On failure, return actual error value instead of -ENXIO. Signed-off-by: Maciej W. Rozycki Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 076a7dce9ac3d89ef7215eecc1230177891383bd Author: Antonino A. Daplas Date: Tue Oct 16 01:29:36 2007 -0700 nvidiafb: Correctly assign the i2c class with the port reversal If the i2c ports are to be reversed, I2C_CLASS_HWMON assignment must also be reversed. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e400b6ec4ede4dc0aa8e5640425df5b29796fe0e Author: Antonino A. Daplas Date: Tue Oct 16 01:29:35 2007 -0700 vt/vgacon: Check if screen resize request comes from userspace Various console drivers are able to resize the screen via the con_resize() hook. This hook is also visible in userspace via the TIOCWINSZ, VT_RESIZE and VT_RESIZEX ioctl's. One particular utility, SVGATextMode, expects that con_resize() of the VGA console will always return success even if the resulting screen is not compatible with the hardware. However, this particular behavior of the VGA console, as reported in Kernel Bugzilla Bug 7513, can cause undefined behavior if the user starts with a console size larger than 80x25. To work around this problem, add an extra parameter to con_resize(). This parameter is ignored by drivers except for vgacon. If this parameter is non-zero, then the resize request came from a VT_RESIZE or VT_RESIZEX ioctl and vgacon will always return success. If this parameter is zero, vgacon will return -EINVAL if the requested size is not compatible with the hardware. The latter is the more correct behavior. With this change, SVGATextMode should still work correctly while in-kernel and stty resize calls can expect correct behavior from vgacon. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0058f479e52d0c0718c843cb34223bc1bfce36e1 Author: Randy Dunlap Date: Tue Oct 16 01:29:35 2007 -0700 video gfx: fix menu ordering Move video graphics driver configs to fix menus: Fix FB_PMAGB_B to depend on FB so that the FB menus remain listed in order and indented correctly. Fix FB_IBM_GXT4500 to depend on FB so that the FB menus remain listed in order and indented correctly. The OMAP FB drivers still muck up the FB menu a bit, so I put OMAP drivers at the end of the FB menu. Signed-off-by: Randy Dunlap Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 394d3af7ba9e67d630c1c6d2ac1d9c11b318b73e Author: Krzysztof Halasa Date: Tue Oct 16 01:29:34 2007 -0700 Intel FB: more interlaced mode support Intel FB: allow odd- and even-field-first in interlaced modes, and proper sync to vertical retrace Signed-off-by: Krzysztof Halasa Cc: "Antonino A. Daplas" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28ebe4f66beda8f142569d24fe3b168f8a08a6a6 Author: Krzysztof Halasa Date: Tue Oct 16 01:29:33 2007 -0700 Intel FB: force even line count in interlaced mode Intel FB: the chip adds two halflines automatically in interlaced mode, force even line count for the right timings. Signed-off-by: Krzysztof Halasa Cc: "Antonino A. Daplas" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee5618f4937dcbff15e504663d81a7adb3d849bf Author: Krzysztof Halasa Date: Tue Oct 16 01:29:33 2007 -0700 Intel FB: obvious changes and corrections Intel FB: obvious changes and corrections Signed-off-by: Krzysztof Halasa Cc: "Antonino A. Daplas" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 689c9568f54747c13f287ae53956281e7cd810fa Author: Krzysztof Halasa Date: Tue Oct 16 01:29:31 2007 -0700 Intel FB: whitespace, bracket and other clean-ups Intel FB: whitespace, bracket and other clean-ups Signed-off-by: Krzysztof Halasa Cc: "Antonino A. Daplas" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53ee1b5bbf937be29862ae8b3ea13af444af1f36 Author: Maciej W. Rozycki Date: Tue Oct 16 01:29:30 2007 -0700 drivers/video/pmag-ba-fb.c: improve diagnostics Add error messages to the probe call. While they may rarely trigger, they may be useful when something weird is going on. Also this is good style. [akpm@linux-foundation.org: remove unneeded initialisation] Signed-off-by: Maciej W. Rozycki Cc: Mariusz Kozlowski Cc: Ralf Baechle Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b693eafc4be2bc9fceb318501930c66f38dbb10 Author: Sellout Bessie Date: Tue Oct 16 01:29:30 2007 -0700 Radeonfb Xpress 200M RC410 support Make radeonfb work ith the 200m Xpress RC410. In my tests it was terribly unstable and would freeze until I set a refresh rate in the kernel argument to 75. e.g video=radeonfb:1280x800@75 Now it is rock solid. Cc: Benjamin Herrenschmidt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80185a9d919847190d1b3812ffe5deeae7abc9c6 Author: Andrew Morton Date: Tue Oct 16 01:29:29 2007 -0700 export font_vga_8x16 mips allmodconfig: ERROR: "font_vga_8x16" [drivers/video/console/newport_con.ko] undefined! Cc: Ralf Baechle Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28ea28a6be33dd7ce00f0d599bd245e5ce37ca1c Author: Maciej W. Rozycki Date: Tue Oct 16 01:29:28 2007 -0700 drivers/video/Kconfig: Fix FB_PMAGB_B dependencies Add a missing FB dependency to FB_PMAGB_B. Signed-off-by: Maciej W. Rozycki Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cbe9cff92a52a2c2dd4767292b97884b67afe36 Author: Krzysztof Helt Date: Tue Oct 16 01:29:28 2007 -0700 tdfxfb: checkpatch fixes This patch fixes all errors pointed by the checkpatch.pl script. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit deea62d3796da4c53614638ced8d9784dd5b8b41 Author: Krzysztof Helt Date: Tue Oct 16 01:29:27 2007 -0700 pm3fb: replace busy waiting with cpu_relax This patch replaces busy waiting with the cpu_relax() call. This makes scrolling faster. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6416ad7365833657fe0ca561261b324edc5aba42 Author: Krzysztof Helt Date: Tue Oct 16 01:29:27 2007 -0700 pm2fb: replace busy waiting with cpu_relax This patch replaces busy waiting with the cpu_relax() call. This makes scrolling faster. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f67fd7c10f2eb16e6c70fd99e97a148e19ac5a55 Author: Krzysztof Helt Date: Tue Oct 16 01:29:26 2007 -0700 tdfxfb: replace busy waiting with cpu_relax This patch replaces busy waiting with cpu_relax() call. This makes scrolling faster. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 366367bdefcc924f2e17067a4624c92b78d01299 Author: Jesper Juhl Date: Tue Oct 16 01:29:26 2007 -0700 fbdev: Update Documentation/fb/00-INDEX An update to Documentation/fb/00-INDEX is long overdue. This patch adds entries for new files in the directory and removes entries for files that no longer exist. The files are now also sorted alphabetically. Signed-off-by: Jesper Juhl Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c95344a557099f4e4a9fd05b6145a72541b2158a Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:25 2007 -0700 ps3fb: Fix spurious mode change failures ps3fb: Add a `mode' parameter to ps3fb_get_res_table(), as in some cases it should check the full-screen flag of the _new_ video mode instead of the current video mode. This bug caused spurious mode change failures when switching between fullscreen and non-fullscreen modes using fbset, while ps3-video-mode worked fine. Signed-off-by: Geert Uytterhoeven CC: Geoff Levand Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ca0bf750b7d9b7e859f2f40516b914827e7afd8 Author: Masashi Kimoto Date: Tue Oct 16 01:29:22 2007 -0700 ps3: Fix black and white stripes Fix the black and white stripes issue with WUXGA monitor via HDMI. It seems that when we use a VESA resolution from boot up, the AV settings driver could not be initialized correctly. In that case we need a dummy packet before VESA setting. [Geert] Refactored to reduce code duplication. Signed-off-by: Geert Uytterhoeven CC: Geoff Levand Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 779121e9f17525769c04a00475fd85600c8c04eb Author: Pavel Pisa Date: Tue Oct 16 01:29:21 2007 -0700 fbdev: Support for byte-reversed framebuffer formats Allow generic frame-buffer code to correctly write texts and blit images for 1, 2 and 4 bit per pixel frame-buffer organizations when pixels in bytes are organized to in opposite order than bytes in long type. Overhead should be reasonable. If option is not selected, than compiler should eliminate completely all overhead. The feature is disabled at compile time if CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set. [adaplas] Convert helper functions to macros if feature is not enabled. Signed-off-by: Pavel Pisa Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c03ec209af1dd8223888630482f1b2353dc6284 Author: Antonino A. Daplas Date: Tue Oct 16 01:29:20 2007 -0700 nvidiafb: Add boot option to reverse i2c port assignment There are a few nvidia hardware where the i2c port assignments are reversed, i.e., the 1st i2c port is assigned to the secondary display and the 2nd i2c port to the primary display. In most cases, if only 1 display is attached, or if only 1 flatpanel and 1 analog display is attached, the port reversal is of no consequence. However if 2 flatpanels are attached, it can cause display problems. There is no sane way of determining if the hardware reversed the i2c port assignment, so the simplest fix is to add a boot/module option, "reverse_i2c to explicitly reverse the i2c port. This also restores i2c ordering back to the pre-2.6.22 state. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c5dd170927b1aa8e3a01d43d611b840336cdaf2 Author: Michal Januszewski Date: Tue Oct 16 01:29:19 2007 -0700 fbdev: find mode with the highest/safest refresh rate in fb_find_mode() Currently, if the refresh rate is not specified, fb_find_mode() returns the first known video mode with the requested resolution, which provides no guarantees wrt the refresh rate. Change this so that the mode with the highest refresh rate is returned when the driver provides a custom video mode database and the monitor limits, and a mode with the safe 60 Hz refresh rate otherwise. Signed-off-by: Michal Januszewski Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10b98368a0a94b015c1a596b7a02eff447a65226 Author: Krzysztof Halasa Date: Tue Oct 16 01:29:18 2007 -0700 Intel FB: support for interlaced video modes Intel framebuffer now supports interlaced video modes. Signed-off-by: Krzysztof Halasa Cc: "Antonino A. Daplas" Cc: Andrew Morton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68e5e9d734503695915734e50e9427624cf8f3b2 Author: Ilya Yanok Date: Tue Oct 16 01:29:17 2007 -0700 vfb: make virtual framebuffer mmapable Changed things: 1. vmalloc()/vfree() replaced with rvmalloc()/rvfree() (taken from drivers/media/video/se401.c) 2. mmap method implemented (mostly taken from drivers/media/video/se401.c) 3. smem_start and smem_len fields of struct fb_fix_screeninfo initialized. (smem_start initialized with virtual address, don't know if it is really bad...) [adaplas: sparse warning fix] Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ddc28d7e7cb5f501e224a5868d34442c6203eb1 Author: Krzysztof Helt Date: Tue Oct 16 01:29:16 2007 -0700 pm2fb: panning and hardware cursor fixes This patch: - disallows setting of virtual height above 2048 as it does not work for accelerated copyarea and imageblit - fixes blinking of pm2v cursor by pushing cursor outside the display (x=2047) - fixes hardware cursor position on Permedia 2 chips with panning enabled - enables hardware cursor by default Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a36f9c497a907dd706e1eb2a7c00ced6105d65b Author: Krzysztof Helt Date: Tue Oct 16 01:29:16 2007 -0700 pm2fb: hardware cursor support for the Permedia2 This patch adds hardware cursor support for the Permedia 2 chip. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e84d436b3cc06fbd411096d734e0ae09da59b26f Author: Krzysztof Helt Date: Tue Oct 16 01:29:14 2007 -0700 pm3fb: header file cleanup This patch fixes white spaces, redudant definitions and formating in the pm3fb header file. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ff1edeef222ebed71499135a8cc259b107d85fd Author: Krzysztof Helt Date: Tue Oct 16 01:29:13 2007 -0700 cirrusfb: code improvement 2nd part This patch removes: - redundant fields from the cirrusfb_regs structure - one redundant header - fixes two includes ("" to <>) Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 060b6002b1413f4ab76c9f41bf479ccea4153092 Author: Krzysztof Helt Date: Tue Oct 16 01:29:13 2007 -0700 cirrusfb: code improvements This patch does some "short-range" code improvements like merging identical switch clauses, replacing conditional branches with calculation of values, merging only once-used functions into place they are called from. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9199ec5c5fe0cb6b03390fea2338435999e0df5c Author: Krzysztof Helt Date: Tue Oct 16 01:29:12 2007 -0700 cirrusfb: remove fields from cirrusfb_info This patch removes unused or redundant fields from cirrusfb_info structure. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7345de32df7ef0ab49eaa88cad1297d8572a6757 Author: Krzysztof Helt Date: Tue Oct 16 01:29:11 2007 -0700 cirrusfb: remove typedefs This patch replaces "typedef enum" with "enum type" constructs. Using the typedef is error for the checkpatch.pl script. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8503df65976d0f845f49e8debff55c031635754e Author: Krzysztof Helt Date: Tue Oct 16 01:29:08 2007 -0700 cirrusfb: checkpatch.pl cleanup This patch fixes over 850 errors and warnings pointed out by the checkpatch.pl script. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7076389f48128b00dd3f33767fb60bd3f5a06a8 Author: Krzysztof Helt Date: Tue Oct 16 01:29:08 2007 -0700 s3c2410fb: make use of default_display settings This patch changes mode selection to always prefer default mode if possible and always honor type of display set by default mode settings. This patch is required in case the same display modes were defined for different panels (e.g. STN and TFT). Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36f31a7084b8d20ced37afe92238c18ba769cdf3 Author: Krzysztof Helt Date: Tue Oct 16 01:29:07 2007 -0700 s3c2410fb: removes lcdcon1 register value from s3c2410fb_display This patch removes lcdcon1 register field from the s3c2410fb_display as all bits are calculated from other fields. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69816699fa019145dd163949d65a07093af73b67 Author: Krzysztof Helt Date: Tue Oct 16 01:29:06 2007 -0700 s3c2410fb: adds pixclock to s3c2410fb_display This patch adds pixelclock field to the s3c2410fb_display structure and make use of it in the driver. The Bast machine defined 9 modes but pixclock and margin values are defined only for the 640x480 modes so I removed other modes. This patch also fixes wrong display type constant for the SMDK2440 board. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9fa7bc016a688630386378c205f9ee0f7b2cc834 Author: Krzysztof Helt Date: Tue Oct 16 01:29:05 2007 -0700 s3c2410fb: source code improvements This patch: - moves more display mode preparations to s3c2410fb_check_var() - reduces number of fields in s3c2410fb_info - removes redundant values setting in s3c2410fb_probe() - removes static mach_info pointer - releases fb_info structure in s3c2410fb_remove() - changes s3c2410fb_init to __init from __devinit - fixes few typos in comments and removes unused includes Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84902b7af642c86a518c17629c0dbe705a4b6d14 Author: Krzysztof Helt Date: Tue Oct 16 01:29:04 2007 -0700 fbdev: change asm/uaccess.h to linux/uaccess.h This patch replaces with after the checkpatch.pl hint. The include of is removed if the driver does not use it. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 120c0b6d57257b2a3508d96bdaf54781935439f6 Author: Ralf Baechle Date: Tue Oct 16 01:29:04 2007 -0700 vt: Fix warnings in selection.h assumes that struct tty_struct has previously been included. If not, this pile of warnings will result: CC [M] drivers/video/console/newport_con.o In file included from drivers/video/console/newport_con.c:18: include/linux/selection.h:16: warning: 'struct tty_struct' declared inside param eter list include/linux/selection.h:16: warning: its scope is only this definition or decl aration, which is probably not what you want include/linux/selection.h:17: warning: 'struct tty_struct' declared inside param eter list include/linux/selection.h:20: warning: 'struct tty_struct' declared inside param eter list Fixed by adding a forward declaration of struct tty_struct. Signed-off-by: Ralf Baechle Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 908633f3ec8b3e10ef23de28ae6a5b1770118cfd Author: Ralf Baechle Date: Tue Oct 16 01:29:03 2007 -0700 fbcon: Convert struct font_desc to use ISO C initializers Akpm's patch "newport_con warning fix" got me to look at the console drivers again and one thing that I noticed was that none of the fonts was using ISO initializers for it's fonts. Signed-off-by: Ralf Baechle Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad41b439cc0650952d14f4083af36cc4b3321a77 Author: Geert Uytterhoeven Date: Tue Oct 16 01:29:03 2007 -0700 atyfb: atyfb: Unshare pseudo_palette atyfb: Move the pseudo palette into the card-specific atyfb_par, so it's no longer shared among multiple cards Signed-off-by: Geert Uytterhoeven Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93613b9fbea6e636d3af51c71fc1b9b2e7d4fb0c Author: Krzysztof Helt Date: Tue Oct 16 01:29:02 2007 -0700 s3c2410fb: byte ordering fixes This patch sets correct bits related to the byte ordering of the framebuffer. This was tested on little endian kernel only. The big endian kernel may require different settings. The patch also adds 32 bpp mode which is called 24 bpp by Samsung. One pixel takes 32 bits but only 24 bits are used in this mode. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ee0fe41c3c4670ccea8ea180d178d2de3a46445 Author: Krzysztof Helt Date: Tue Oct 16 01:29:01 2007 -0700 s3c2410fb: fix missing registers offset This patch adds missing virtual register offsets where appropriate. This fixes crashes in the driver. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e92e739514baed2be83cfb269db003c73dd885c2 Author: Krzysztof Helt Date: Tue Oct 16 01:29:01 2007 -0700 s3c2410fb: remove lcdcon2 and lcdcon3 register fields This patch removes unused lcdcon2 and lcdcon3 register value from the s3c2410fb_display structure. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93d11f5a15020a514e522e678b2b3e7a1bc01f86 Author: Krzysztof Helt Date: Tue Oct 16 01:29:00 2007 -0700 s3c2410fb: add pulse length fields to s3c2410fb_display This patch adds synchronization pulse lenght fields to the s3c2410fb_display structure and makes use of them in the driver. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c9ffd0501157b38599b5bb7711366913f633f88 Author: Krzysztof Helt Date: Tue Oct 16 01:28:59 2007 -0700 s3c2410fb: use vertical margins values This patch makes use of vertical margins fields in the s3c2410fb_display structure. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f20f69beb4983454b2d5ced4cabf90825bb263e Author: Krzysztof Helt Date: Tue Oct 16 01:28:59 2007 -0700 s3c2410fb: add vertical margins fields to s3c2410fb_display This patch adds vertical margins values to all s3c24xx platform. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f28ef573ad09596b771b67c276bbc5f49281fa9d Author: Krzysztof Helt Date: Tue Oct 16 01:28:58 2007 -0700 s3c2410fb: remove lcdcon3 register from s3c2410fb_display This patch removes unused lcdcon3 register from the s3c2410fb_display structure. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9939a481cd66a109e4ad09328df1bd0540e0aa84 Author: Krzysztof Helt Date: Tue Oct 16 01:28:57 2007 -0700 s3c2410fb: use new margin fields This patch makes use of margins fields in the s3c2410fb_display structure. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f4115376c488d3bb3490259ae5b2c3b035760a5 Author: Krzysztof Helt Date: Tue Oct 16 01:28:57 2007 -0700 s3c2410fb: add margin fields to s3c2410fb_display This patch adds margins fields to the s3c2410fb_display structure. It also sets display type and horizontal margins in all platform files that use the s3c2410fb driver. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09fe75f6f934597f765748342ca6fb378ee7ecdb Author: Krzysztof Helt Date: Tue Oct 16 01:28:56 2007 -0700 s3c2410fb: multi-display support This patch adds a new structure to describe and handle more than one panel (display mode) for the s3c2410 framebuffer. This structure is added after the pxafb driver. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 110c1fa75463c4f327e9fc491e9a27e938800d96 Author: Krzysztof Helt Date: Tue Oct 16 01:28:55 2007 -0700 s3c2410fb: remove fb_info pointer from s3c2410fb_info This patch removes redundant fb field from the s3c2410fb_info structure. This breaks circular reference fb_info -> s3c2410fb_info -> fb_info again. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0831941d59a80896c9b2a63a13ea063e31054a5 Author: Krzysztof Helt Date: Tue Oct 16 01:28:54 2007 -0700 s3c2410fb: code cleanup This patch cleans up the driver a bit. It contains coding style fixes (pointed by Lindent and checkpatch), white space clean ups and few minor code improvements. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d677a6dfaac1d1cf51a7f58847077240985faf2 Author: Krzysztof Helt Date: Tue Oct 16 01:28:54 2007 -0700 pm3fb: hardware cursor support This patch adds hardware cursor support to the pm3fb driver. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f5d050af1da13455068cefbaf3c1bc306d6fe0b Author: Krzysztof Helt Date: Tue Oct 16 01:28:53 2007 -0700 pm2fb: Permedia 2V hardware cursor support This patch adds hardware cursor support for Permedia 2V chips. The hardware cursor is disabled by default. It does not blink - the same issue is mentioned in the x11 driver. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a258d032d8dff1c5e28ce64c47ac4577c2c5a70 Author: Geert Uytterhoeven Date: Tue Oct 16 01:28:52 2007 -0700 fbdev: fb_create_modedb() non-static `int first = 1;' Looking at the code flow, `int first' in fb_create_modedb() should be static. [adaplas] Better for 'int first' to be moved outside the loop. [akpm@linux-foundation.org: kill stray semicolon] Signed-off-by: Geert Uytterhoeven Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42b558d51cb0c8a83a17f22b3ec4325176d1797e Author: Eugene Teo Date: Tue Oct 16 01:28:51 2007 -0700 drivers/video/geode/lxfb_core.c: fix lxfb_setup warning drivers/video/geode/lxfb_core.c: In function 'lxfb_setup': drivers/video/geode/lxfb_core.c:564: warning: unused variable 'opt' Signed-off-by: Eugene Teo Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57bac0f08a8b47a9d8e2ea60b2435dfc82dc3468 Author: Krzysztof Helt Date: Tue Oct 16 01:28:51 2007 -0700 pm3fb: checkpatch fixes This patch fixes all errors detected by checkpatch.pl script in the pm3fb.c file. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3843faa2caa463ec3738cb30fb03dc5be8ef3250 Author: Krzysztof Helt Date: Tue Oct 16 01:28:50 2007 -0700 pm2fb: checkpatch fixes This patch fixes all errors detected by checkpatch.pl script in the pm2fb.c file. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0960bd3db199d73b07e4d266949dcdd6dda10d54 Author: Krzysztof Helt Date: Tue Oct 16 01:28:49 2007 -0700 tdfxfb: mtrr support This patch adds mtrr support to the tdfxfb driver. It also kills one redundant include and initialization value. [akpm@linux-foundation.org: cleanups] Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90b0f08536531abbbe7b5d4944792da08cadde01 Author: Krzysztof Helt Date: Tue Oct 16 01:28:48 2007 -0700 tdfxfb: hardware cursor This patch adds hardware cursor support to the tdfxfb driver. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f05b53b28cc7a2b868bc13d19d88cd858e759b6 Author: Krzysztof Helt Date: Tue Oct 16 01:28:48 2007 -0700 tdfxfb: code improvements This patch improves source code mainly by killing redundant variable loads, reducing number of variables, simplifying conditional branches, etc. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d775e17b5b9a204a0cb746f1f7f6ef11f4d869d Author: Antonino A. Daplas Date: Tue Oct 16 01:28:47 2007 -0700 fbdev: Fix incorrect timings in some modedb entries Reported by: John Lumby Some of the entries in the mode database does not match the comments and/or the refresh field. Adjust the timings so they match with both the comments and the refresh rate. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae4939bef3989e52d2fdaad1c2b013241d457897 Author: Adrian Bunk Date: Tue Oct 16 01:28:47 2007 -0700 unexport fb_prepare_logo The logo code is not and should not be used by modules. Signed-off-by: Adrian Bunk Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f75a71f51bd607213817a0ee0d1c7ff6214dbf9c Author: Adrian Bunk Date: Tue Oct 16 01:28:46 2007 -0700 radeon_driver_vblank_do_wait() static radeon_driver_vblank_do_wait() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 254c94710754127631a4e05d3131cef38c9996c7 Author: Krzysztof Helt Date: Tue Oct 16 01:28:46 2007 -0700 tdfxfb: palette fixes This patch fixes: - palette setting in 8-bit mode (aka 'funky penguin') - grayscale handling - adds proper barriers in xxx_inb/outb functions Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92744dd517258181af0637105eed5f72d95e05e7 Author: Krzysztof Helt Date: Tue Oct 16 01:28:45 2007 -0700 tdfxfb: 3 fixes This patch fixes 3 issues: - transparency handling in tdfxfb - panning with more than 4096 virtual height and acceleration (acceleration with x & y > 4096) - exit paths on errors in tdfxfb_probe() Additionally it sets a FBINFO_READS_FAST flag to use smart blitter scrolling (speed up on tdfxfb). Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8af1d50f7f679375f579782f2d5eb5e2a1508df8 Author: Krzysztof Helt Date: Tue Oct 16 01:28:43 2007 -0700 tdfxfb: coding style improvement This patch contains coding style improvements to the tdfxfb driver (white spaces, indentations, long lines). It also moves fb_ops structure to the end of file, so forward declarations of ops functions are redundant. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 245a2c2c69fee367ac38cf84af18b56374dbec22 Author: Krzysztof Helt Date: Tue Oct 16 01:28:42 2007 -0700 tridentfb: coding style improvement This patch contains coding style improvements to the tridentfb driver (white spaces, indentations, long lines). It also moves fb_ops structure after fb api functions are defined. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ffa73960631502841d78b79ce857b15b9290abc Author: Hans J. Koch Date: Tue Oct 16 01:28:41 2007 -0700 pxafb: Add support for other palette formats This patch adds support for the other three palette formats possible with the PXA LCD controller. This is required on boards where an LCD is connected with all its 18 bits. With this patch, it's possible to use an 8-bit mode with 18-bit palette entries. This used to be possible in 2.4 kernels but disappeared in 2.6. With current kernels, you can only get wrong colours out of an LCD connected this way. Users can choose the palette format by doing something like this in their board definition: static struct pxafb_mach_info my_fb_info = { [...] .lccr3 = LCCR3_OutEnH | LCCR3_PixFlEdg | LCCR3_PDFOR_3, .lccr4 = LCCR4_PAL_FOR_2, [...] }; Signed-off-by: Hans J. Koch Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba282daa919f89c871780f344a71e5403a70b634 Author: Raphael Assenat Date: Tue Oct 16 01:28:40 2007 -0700 mbxfb: Improvements and new features This contains the following changes: * Overlay surface alpha is configured separately from the overlay. This prevents display glitches (configure and fill the overlay first, set alpha to a visible value next) * Added an ioctl for configuring transparency of the Overlay and graphics planes. Blend mode, colorkey mode and global alpha mode are supported. * Added an ioctl for setting the plane order. The overlay plance can be placed over or under the graphics plane. * Added an ioctl for setting and reading chip registers, with mask. * Updated copyright for 2007 [adaplas] * Coding style changes Signed-off-by: Raphael Assenat Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb78f9b3fa8532057d2a45acbe415b27ece6341b Author: Ben Dooks Date: Tue Oct 16 01:28:39 2007 -0700 sm501fb: Ensure panel interface is not tristated when setup When we setup the panel interface whilst configuring the framebuffer, we should ensure the panel interface is not in tristate, in case the bootloader or previous setup has not enabled it. Signed-off-by: Ben Dooks Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f22e521f2992031fdedb661f2a647cafd2e45fa1 Author: Ben Dooks Date: Tue Oct 16 01:28:38 2007 -0700 sm501fb: Call fb suspend function during suspend and resume Call the fb_set_suspend() over suspend and resume. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1f303bb21a63ed11edfb790e5701ab0ded62eff Author: Ben Dooks Date: Tue Oct 16 01:28:37 2007 -0700 sm501fb: update suspend and resume code The suspend and resume code is failing to restore the CRT control register, thus causing the CRT data-path to get changed if the SM501 experiences a reset over suspend. Also move some of the debug messages to dev_dbg() level and ensure that the suspend code does not try and restore anything it did not manage to save. Signed-off-by: Ben Dooks Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30dcc9093cc0617a10d84fea13371143f5c84ef0 Author: Krzysztof Helt Date: Tue Oct 16 01:28:36 2007 -0700 pm2fb: accelerated 24-bit fillrect This patch adds accelerated fillrect for 24-bit depth. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 138a451cce3a48792b4c785557578138dc8a5cc3 Author: Krzysztof Helt Date: Tue Oct 16 01:28:36 2007 -0700 pm2fb: Permedia 2V initialization fixes This patch: - initializes correctly the Permedia2V chip if it is not initialized by BIOS - puts back clock frequency for the ELSA WINNER board to 100kHz - fixes returned error values from setcolreg() function - uses more general classes for PCI ids Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45f169ec8142e753cbff126e04a78f26f4aa8422 Author: Krzysztof Helt Date: Tue Oct 16 01:28:34 2007 -0700 pm2fb: source code improvements This patch concentrates on source compacting, simplification and more conformance to kernel coding standards. The major changes: - RD32() and WR() functions are merged into pm2_RD() and pm2_WR() - conditional (with switch()) RDAC functions are separated in two unconditional ones - the conditional pm2fb_block_op() function is merged into pm2fb_fillrect() and pm2fb_copyarea() - WAIT_FIFO() values are corrected Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91b3a6f4cdbfc73019df36a4b10238063c00f3c3 Author: Krzysztof Helt Date: Tue Oct 16 01:28:34 2007 -0700 pm2fb: accelerated imageblit This patch adds accelerated imageblit function. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5383fcc4c221227b954e028821a697ca7859e0e Author: Krzysztof Helt Date: Tue Oct 16 01:28:33 2007 -0700 pm3fb: mtrr support and noaccel option This patch adds usage of MTRR registers and two new options: noaccel and nomtrr. [bunk@kernel.org: make pm3fb_init() static again] Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ddf78491ddad301ddcd151de8108146e20398e7 Author: Krzysztof Helt Date: Tue Oct 16 01:28:32 2007 -0700 pm3fb: improvements and cleanups This patch contains improvements: - it adds ROP_XOR in pm3fb_fillrect() - it conforms closer to coding style - it removes redundant parentheses and setting bits with 0 value - it checks if hardware acceleration is disabled in pm3fb_imageblit - it adds module description Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c79ba28cc0c55d1539a4b29d32c3620460a5ee52 Author: Krzysztof Helt Date: Tue Oct 16 01:28:32 2007 -0700 pm3fb: 3 small fixes This patch contains 3 small improvements: - it corrects scan line width calculation in pm3fb_imageblit() - it corrects mmio mapping for big endian machines - it enables panning acceleration constants Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0a318e2d9230d5fa54d98c4e7b0ba03631e46fa Author: Krzysztof Helt Date: Tue Oct 16 01:28:31 2007 -0700 pm3fb: imageblit improved This patch removes the pm3_imageblit() restriction to blit only images with width divisable by 32. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f259ebb67b61bd8276fbfba43e119e68754be027 Author: Krzysztof Helt Date: Tue Oct 16 01:28:31 2007 -0700 pm3fb: header file reduction This patch removes constants named AAA_DISABLE with value 0. They are redudant and misleading ( a |= AAA_DISABLE does nothing and usually should be a &= ~AAA_ENABLE). Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65faaeb359b4ed1991b32b381bf155fa9b85293f Author: Krzysztof Helt Date: Tue Oct 16 01:28:30 2007 -0700 skeletonfb: wrong field name fix This patch corrects name of the field. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7f76df9648ccd69a99fe6bc7d774dc05922f2f0 Author: Krzysztof Helt Date: Tue Oct 16 01:28:29 2007 -0700 pm3fb: copyarea and partial imageblit suppor This patch adds accelerated copyarea and partially accelerated imageblit functions. There is also fixed one register address in the pm3fb.h file. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a0b53f66043b4f4da728b391232de5e5d22f145 Author: Michal Januszewski Date: Tue Oct 16 01:28:28 2007 -0700 uvesafb: documentation Documentation for the uvesafb driver. Signed-off-by: Michal Januszewski Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bdb3a2d7df48b861972c4bfb58490853a228f51 Author: Michal Januszewski Date: Tue Oct 16 01:28:26 2007 -0700 uvesafb: the driver core uvesafb is an enhanced version of vesafb. It uses a userspace helper (v86d) to execute calls to the x86 Video BIOS functions. The driver is not limited to any specific arch and whether it works on a given arch or not depends on that arch being supported by the userspace daemon. It has been tested on x86_32 and x86_64. A single BIOS call is represented by an instance of the uvesafb_ktask structure. This structure contains a buffer, a completion struct and a uvesafb_task substructure, containing the values of the x86 registers, a flags field and a field indicating the length of the buffer. Whenever a BIOS call is made in the driver, uvesafb_exec() builds a message using the uvesafb_task substructure and the contents of the buffer. This message is then assigned a random ack number and sent to the userspace daemon using the connector interface. The message's sequence number is used as an index for the uvfb_tasks array, which provides a mapping from the messages coming from userspace to the in-kernel uvesafb_ktask structs. The userspace daemon performs the requested operation and sends a reply in the form of a uvesafb_task struct and, optionally, a buffer. The seq and ack numbers in the reply should be exactly the same as those in the request. Each message from userspace is processed by uvesafb_cn_callback() and after passing a few sanity checks leads to the completion of a BIOS call request. Signed-off-by: Michal Januszewski Signed-off-by: Antonino Daplas Cc: Paul Mundt Cc: Paulo Marques Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc54f46e39dff9891dd334ef158a238ff5a9ffd2 Author: Michal Januszewski Date: Tue Oct 16 01:28:25 2007 -0700 uvesafb: add connector entries Add connector idx and val constants for v86d and uvesafb. Signed-off-by: Michal Januszewski Signed-off-by: Antonino Daplas Cc: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d62a44f74bb7c026d1b782ebd5506376e55f2cd Author: Michal Januszewski Date: Tue Oct 16 01:28:24 2007 -0700 connector: change connector's max message size Change the maximum message size to 16k to allow transfers of VBE data blocks from userspace. Signed-off-by: Michal Januszewski Signed-off-by: Antonino Daplas Cc: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9953d236e94ce26639b0e05d2631d076889d08df Author: Michal Januszewski Date: Tue Oct 16 01:28:23 2007 -0700 fbdev: export fb_destroy_modelist Make fb_destroy_modelist an exported symbol for use in the uvesafb driver. Signed-off-by: Michal Januszewski Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d013d3b14f4c81bdfe6c81fc506037d60007036 Author: Bryan Kadzban Date: Tue Oct 16 01:28:23 2007 -0700 rtc: allow validated RTC_PIE_ON for non-root drivers/char/rtc.c allowed RTC_PIE_ON ioctls for non-root users, as long as the current interval (set via RTC_IRQP_SET) is <= max_user_freq. Allow RTC_PIE_ON under the same conditions when /dev/rtc* is handled by the rtc subsystem. Signed-off-by: Bryan Kadzban Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06c65eb45578c52d1bc69d044239646d4c90e7ea Author: Bryan Kadzban Date: Tue Oct 16 01:28:22 2007 -0700 rtc: add max_user_freq to sysfs drivers/char/rtc.c exposed a sysctl to change the maximum frequency at which a non-root user could ask the RTC to generate interrupts (via the RTC_IRQP_SET ioctl). This value is no longer available under the new RTC subsystem, so add it to sysfs for each RTC device. Works for me on x86_64 (both reads and writes), using rtc-cmos. Signed-off-by: Bryan Kadzban Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05440dfcfcabde6fcf7297dfa5a29f0355b78ffb Author: David Brownell Date: Tue Oct 16 01:28:21 2007 -0700 rtc-cmos probe() cleanup Some cleanups for the rtc-cmos probe logic: - Claim i/o ports with request_region() not request_resource(), for better coexistence betwen platform and pnp bus glues. - Claim those ports earlier, to help work around procfs bugs (it allows duplicate names, like /proc/driver/rtc). - Fix some glitches in cleanup code, notably a cut'n'paste-o where the i/o port region might not get released during cleanup after a probe fault. And some comment clarifications, including noting that this code must work with PNPBIOS not just PNPACPI.. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: David Brownell Cc: Russell King Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e36a9a4a788e4e92407774df76c545910810d35 Author: Mark Lord Date: Tue Oct 16 01:28:21 2007 -0700 rtc: fix readback from /sys/class/rtc/rtc?/wakealarm Fix readback of RTC alarms on platforms which return -1 in non-hardware-supported RTC alarm fields. To fill in the missing (-1) values, we grab an RTC timestamp along with the RTC alarm value, and use the timestamp fields to populate the missing alarm fields. To counter field-wrap races (since the timestamp and alarm are not read together atomically), we read the RTC timestamp both before and after reading the RTC alarm value, and then check for wrapped fields --> if any have wrapped, we know we have a possible inconsistency, so we loop and reread the timestamp and alarm again. Wrapped fields in the RTC timestamps are an issue because rtc-cmos.c, for example, also gets/uses an RTC timestamp internally while fetching the RTC alarm. If our timestamp here wasn't the same (minutes and higher) as what was used internally there, then we might end up populating the -1 fields with inconsistent values. This fixes readbacks from /sys/class/rtc/rtc?/wakealarm, as well as other code paths which call rtc_read_alarm(). Signed-off-by: Mark Lord Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf4994d781c69cc15844d63122320e46ddde6464 Author: Scott Wood Date: Tue Oct 16 01:28:19 2007 -0700 rtc: RTC class driver for the ds1374 This patch adds an RTC class driver for the Maxim/Dallas 1374 RTC chip, based on drivers/i2c/chips/ds1374.c. It supports alarm functionality. Signed-off-by: Scott Wood Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c018664c51aca418e16bc83f75257c68250fb052 Author: Jean Delvare Date: Tue Oct 16 01:28:18 2007 -0700 rtc-pcf8583: Check for i2c adapter functionality Not all i2c adapters support I2C-level messaging. Check that the adapter does before probing for a PCF8583 chip, as the driver makes use of i2c_transfer and i2c_master_send. Signed-off-by: Jean Delvare Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a95e23a27b33db5d5f40278b16a42e5e20188015 Author: Atsushi Nemoto Date: Tue Oct 16 01:28:18 2007 -0700 rtc: make rtc-ds1742 driver hotplug-aware The rtc-ds1742 platform driver name doesn't match its module name, which might prevents it from properly hotplugging. There is only two in-tree user of its driver, which are fixed by this patch too. Signed-off-by: Atsushi Nemoto Cc: Alessandro Zummo Cc: David Brownell Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7634c271a1cb460ba3a09b47ecc246c11a66cee Author: Atsushi Nemoto Date: Tue Oct 16 01:28:17 2007 -0700 rtc: make rtc-ds1553 driver hotplug-aware The rtc-ds1553 platform driver name doesn't match its module name, which might prevent it from properly hotplugging. This driver has no in-tree users. Signed-off-by: Atsushi Nemoto Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88efe137394f58fb5893013e123e4bcf444fd44b Author: Mark Zhan Date: Tue Oct 16 01:28:17 2007 -0700 rtc-dev: no need to convert file->private_data to rtc device In rtc-dev.c, when a rtc device is opened, file->private_data is already attached with the rtc device pointer, so there is no need to call to_rtc_device() to convert file->private_data to a rtc device pointer. Acked-by: Alessandro Zummo Signed-off-by: Mark Zhan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97144c67566241db46633727f2860e6428373fe4 Author: David Brownell Date: Tue Oct 16 01:28:16 2007 -0700 rtc_irq_set_freq() requires power-of-two and associated kerneldoc RTC periodic IRQs are only defined to work for 2^N Hz values. This patch moves that validity check into the infrastructure, so drivers don't need to check it; and adds kerneldoc for the two interface functions related to periodic IRQs. (One of which was quite mysterious until its first use was recently checked in!) Signed-off-by: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d691eb901e044065de10756ea78a5758d457c7fd Author: Alessandro Zummo Date: Tue Oct 16 01:28:15 2007 -0700 RTC: periodic irq fix Add kernel/kernel and kernel/user locking for the periodic irq feature of the rtc class. PIE ioctls are also supported. Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16a72c455a67bb23eed7292a31c6ba17729e78e6 Author: Michael Halcrow Date: Tue Oct 16 01:28:14 2007 -0700 ecryptfs: clean up page flag handling The functions that eventually call down to ecryptfs_read_lower(), ecryptfs_decrypt_page(), and ecryptfs_copy_up_encrypted_with_header() should have the responsibility of managing the page Uptodate status. This patch gets rid of some of the ugliness that resulted from trying to push some of the page flag setting too far down the stack. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ecbdc93639f69c1f237ccce6a9aaff1e83f1182f Author: Michael Halcrow Date: Tue Oct 16 01:28:14 2007 -0700 eCryptfs: replace magic numbers Replace some magic numbers with sizeof() equivalents. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6c1d8fcbadeb9bb4c3dbca57a007629d0483544 Author: Michael Halcrow Date: Tue Oct 16 01:28:13 2007 -0700 eCryptfs: remove unused functions and kmem_cache The switch to read_write.c routines and the persistent file make a number of functions unnecessary. This patch removes them. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 035241d30e273519195a9987e6eb56bbe2297872 Author: Michael Halcrow Date: Tue Oct 16 01:28:12 2007 -0700 eCryptfs: initialize persistent lower file on inode create Initialize persistent lower file on inode create. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6a13c17164fccab8aa96ca435ddacbf428335ca Author: Michael Halcrow Date: Tue Oct 16 01:28:12 2007 -0700 eCryptfs: fix data types Update data types and add casts in order to avoid potential overflow issues. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf12be1cc851cface331b0e74713a6bb1cb046b0 Author: Michael Halcrow Date: Tue Oct 16 01:28:11 2007 -0700 eCryptfs: convert mmap functions to use persistent file Convert readpage, prepare_write, and commit_write to use read_write.c routines. Remove sync_page; I cannot think of a good reason for implementing that in eCryptfs. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ed92554abc5c40d4450f9869c9565a1919a9242 Author: Michael Halcrow Date: Tue Oct 16 01:28:10 2007 -0700 eCryptfs: make open, truncate, and setattr use persistent file Rather than open a new lower file for every eCryptfs file that is opened, truncated, or setattr'd, instead use the existing lower persistent file for the eCryptfs inode. Change truncate to use read_write.c functions. Change ecryptfs_getxattr() to use the common ecryptfs_getxattr_lower() function. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7cdc5febf9f2664755002c3a2f84bd348389fe9 Author: Michael Halcrow Date: Tue Oct 16 01:28:10 2007 -0700 eCryptfs: update metadata read/write functions Update the metadata read/write functions and grow_file() to use the read_write.c routines. Do not open another lower file; use the persistent lower file instead. Provide a separate function for crypto.c::ecryptfs_read_xattr_region() to get to the lower xattr without having to go through the eCryptfs getxattr. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4981e081cfe2c3f4abcfa3924ebd999cdbed4914 Author: Michael Halcrow Date: Tue Oct 16 01:28:09 2007 -0700 eCryptfs: set up and destroy persistent lower file This patch sets up and destroys the persistent lower file for each eCryptfs inode. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0216f7f7921759211e48e8b940eae29f0fe43902 Author: Michael Halcrow Date: Tue Oct 16 01:28:08 2007 -0700 eCryptfs: replace encrypt, decrypt, and inode size write Replace page encryption and decryption routines and inode size write routine with versions that utilize the read_write.c functions. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da0102a10aed2244d8fc34f289e81e502622b81e Author: Michael Halcrow Date: Tue Oct 16 01:28:07 2007 -0700 eCryptfs: read_write.c routines Add a set of functions through which all I/O to lower files is consolidated. This patch adds a new inode_info reference to a persistent lower file for each eCryptfs inode; another patch later in this series will set that up. This persistent lower file is what the read_write.c functions use to call vfs_read() and vfs_write() on the lower filesystem, so even when reads and writes come in through aops->readpage and aops->writepage, we can satisfy them without resorting to direct access to the lower inode's address space. Several function declarations are going to be changing with this patchset. For now, in order to keep from breaking the build, I am putting dummy parameters in for those functions. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf81f89d9a85b1825d8c8cf1f8f0e2c98cc72823 Author: Michael Halcrow Date: Tue Oct 16 01:28:07 2007 -0700 ecryptfs: fix error handling The error paths and the module exit code need work. sysfs unregistration is not the right place to tear down the crypto subsystem, and the code to undo subsystem initializations on various error paths is unnecessarily duplicated. This patch addresses those issues. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dda6992a3138f3839dcaecbcd2fbea4dd514c7c Author: Michael Halcrow Date: Tue Oct 16 01:28:06 2007 -0700 eCryptfs: remove assignments in if-statements Remove assignments in if-statements. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45eaab79678b9e27e08f0cf250eb2df9d6a48df0 Author: Michael Halcrow Date: Tue Oct 16 01:28:05 2007 -0700 eCryptfs: remove header_extent_size There is no point to keeping a separate header_extent_size and an extent_size. The total size of the header can always be represented as some multiple of the regular data extent size. [randy.dunlap@oracle.com: ecryptfs: fix printk format warning] Signed-off-by: Michael Halcrow Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9f6a99cb844a61b04cab5b82e333d6efef1f735 Author: Michael Halcrow Date: Tue Oct 16 01:28:04 2007 -0700 eCryptfs: Use generic_file_splice_read() eCryptfs is currently just passing through splice reads to the lower filesystem. This is obviously incorrect behavior; the decrypted data is what needs to be read, not the lower encrypted data. I cannot think of any good reason for eCryptfs to implement splice_read, so this patch points the eCryptfs fops splice_read to use generic_file_splice_read. Signed-off-by: Michael Halcrow Reviewed-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd9d67dfd2b4db5fdbf9dfa69e202b8571f1db20 Author: Michael Halcrow Date: Tue Oct 16 01:28:04 2007 -0700 eCryptfs: make needlessly global symbols static Andrew Morton wrote: > Please check that all the newly-added global symbols do indeed need > to be global. Change symbols in keystore.c and crypto.o to static if they do not need to be global. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd8e2902d0c02ee28043071023f8fa6063fe8e8f Author: Michael Halcrow Date: Tue Oct 16 01:28:03 2007 -0700 eCryptfs: remove unnecessary variable initializations Andrew Morton wrote: > > struct mutex *tfm_mutex = NULL; > > This initialisation looks like it's here to kill bogus gcc warning > (if it is, it should have been commented). Please investigate > uninitialized_var() and __maybe_unused sometime. Remove some unnecessary variable initializations. There may be a few more such intializations remaining in the code base; a future patch will take care of those. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22e78fafbdf84883f70eb4944cf658fc23c4a1f4 Author: Michael Halcrow Date: Tue Oct 16 01:28:02 2007 -0700 eCryptfs: kerneldoc fixes for crypto.c and keystore.c Andrew Morton wrote: From: mhalcrow@us.ibm.com > > +/** > > + * decrypt_passphrase_encrypted_session_key - Decrypt the session key > > + * with the given auth_tok. > > * > > * Returns Zero on success; non-zero error otherwise. > > */ > > That comment purports to be a kerneldoc-style comment. But > > - kerneldoc doesn't support multiple lines on the introductory line > which identifies the name of the function (alas). So you'll need to > overflow 80 cols here. > > - the function args weren't documented > > But the return value is! People regularly forget to do that. And > they frequently forget to document the locking prerequisites and the > permissible calling contexts (process/might_sleep/hardirq, etc) > > (please check all ecryptfs kerneldoc for this stuff sometime) This patch cleans up some of the existing comments and makes a couple of line break tweaks. There is more work to do to bring eCryptfs into full kerneldoc-compliance. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c6f57f3bee1e3c3d31b08a0161c435bfaeb77eb Author: Michael Halcrow Date: Tue Oct 16 01:28:01 2007 -0700 eCryptfs: comments for some structs Andrew Morton wrote: > > +struct ecryptfs_global_auth_tok { > > +#define ECRYPTFS_AUTH_TOK_INVALID 0x00000001 > > + u32 flags; > > + struct list_head mount_crypt_stat_list; > > + struct key *global_auth_tok_key; > > + struct ecryptfs_auth_tok *global_auth_tok; > > + unsigned char sig[ECRYPTFS_SIG_SIZE_HEX + 1]; > > +}; > > + > > +struct ecryptfs_key_tfm { > > + struct crypto_blkcipher *key_tfm; > > + size_t key_size; > > + struct mutex key_tfm_mutex; > > + struct list_head key_tfm_list; > > + unsigned char cipher_name[ECRYPTFS_MAX_CIPHER_NAME_SIZE + 1]; > > +}; > > Please consider commenting your struct fields carefully: it's a > great way to help other to understand your code. Add some comments to the ecryptfs_global_auth_tok and ecryptfs_key_tfm structs to make their functions more easily ascertained. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fcd12835666b059b95613778819eb3ae9bc73642 Author: Michael Halcrow Date: Tue Oct 16 01:28:01 2007 -0700 eCryptfs: grammatical fix (destruct to destroy) Andrew Morton wrote: > > +int ecryptfs_destruct_crypto(void) > > ecryptfs_destroy_crypto would be more grammatically correct ;) Grammatical fix for some function names. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af655dc6a9d5028d89aa35b65781631451aadc19 Author: Michael Halcrow Date: Tue Oct 16 01:28:00 2007 -0700 eCryptfs: collapse flag set into one statement Andrew Morton wrote: > > + crypt_stat->flags |= ECRYPTFS_ENCRYPTED; > > + crypt_stat->flags |= ECRYPTFS_KEY_VALID; > > Maybe the compiler can optimise those two statements, but we'd > normally provide it with some manual help. This patch provides the compiler with some manual help for optimizing the setting of some flags. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c59c2eb53f002de96f48dbc51e4f3bd946cf2458 Author: Michael Halcrow Date: Tue Oct 16 01:28:00 2007 -0700 eCryptfs: remove unnecessary BUG_ON Andrew Morton wrote: > > + mutex_lock(&mount_crypt_stat->global_auth_tok_list_mutex); > > + BUG_ON(mount_crypt_stat->num_global_auth_toks == 0); > > + mutex_unlock(&mount_crypt_stat->global_auth_tok_list_mutex); > > That's odd-looking. If it was a bug for num_global_auth_toks to be > zero, and if that mutex protects num_global_auth_toks then as soon > as the lock gets dropped, another thread can make > num_global_auth_toks zero, hence the bug is present. Perhaps? That was serving as an internal sanity check that should not have made it into the final patch set in the first place. This patch removes it. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81acbcd6c54c89a9eb09c1b9ca3bd952f6989c10 Author: Andrew Morton Date: Tue Oct 16 01:27:59 2007 -0700 ecryptfs: printk warning fixes fs/ecryptfs/keystore.c: In function 'parse_tag_1_packet': fs/ecryptfs/keystore.c:557: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' fs/ecryptfs/keystore.c: In function 'parse_tag_3_packet': fs/ecryptfs/keystore.c:690: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' fs/ecryptfs/keystore.c: In function 'parse_tag_11_packet': fs/ecryptfs/keystore.c:836: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' fs/ecryptfs/keystore.c: In function 'write_tag_1_packet': fs/ecryptfs/keystore.c:1413: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' fs/ecryptfs/keystore.c:1413: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' fs/ecryptfs/keystore.c: In function 'write_tag_11_packet': fs/ecryptfs/keystore.c:1472: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' fs/ecryptfs/keystore.c: In function 'write_tag_3_packet': fs/ecryptfs/keystore.c:1663: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' fs/ecryptfs/keystore.c:1663: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' fs/ecryptfs/keystore.c: In function 'ecryptfs_generate_key_packet_set': fs/ecryptfs/keystore.c:1778: warning: passing argument 2 of 'write_tag_11_packet' from incompatible pointer type fs/ecryptfs/main.c: In function 'ecryptfs_parse_options': fs/ecryptfs/main.c:363: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca939e79e395ce2b9ffb8e97763024b61b1e2ad8 Author: Michael Halcrow Date: Tue Oct 16 01:27:58 2007 -0700 eCryptfs: update comment and debug statement Trivial updates to comment and debug statement. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 146a46063b282375015d4b2dad4a94f206bbea4e Author: Michael Halcrow Date: Tue Oct 16 01:27:58 2007 -0700 eCryptfs: fix Tag 11 writing code Fix up the Tag 11 writing code to handle size limits and boundaries more explicitly. It looks like the packet length was 1 shorter than it should have been, chopping off the last byte of the key identifier. This is largely inconsequential, since it is not much more likely that a key identifier collision will occur with 7 bytes rather than 8. This patch fixes the packet to use the full number of bytes that were originally intended to be used for the key identifier. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f648104a0d44d7c551f8025ad7e50c4815d3b6eb Author: Michael Halcrow Date: Tue Oct 16 01:27:57 2007 -0700 eCryptfs: fix Tag 11 parsing code Fix up the Tag 11 parsing code to handle size limits and boundaries more explicitly. Pay attention to *8* bytes for the key identifier (literal data), no more, no less. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c59becfceea8de57c35a3de5ee45a7bb883cf90a Author: Michael Halcrow Date: Tue Oct 16 01:27:56 2007 -0700 eCryptfs: fix Tag 3 parsing code Fix up the Tag 3 parsing code to handle size limits and boundaries more explicitly. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 132181796af08273ab9fa835420b9f5f78d70234 Author: Michael Halcrow Date: Tue Oct 16 01:27:56 2007 -0700 eCryptfs: fix Tag 1 parsing code Fix up the Tag 1 parsing code to handle size limits and boundaries more explicitly. Initialize the new auth_tok's flags. Signed-off-by: Michael Halcrow Cc: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 956159c3d6e7eed61da0aaee740fbfba52849ff8 Author: Michael Halcrow Date: Tue Oct 16 01:27:55 2007 -0700 eCryptfs: kmem_cache objects for multiple keys; init/exit functions Introduce kmem_cache objects for handling multiple keys per inode. Add calls in the module init and exit code to call the key list initialization/destruction functions. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0869cc144174c5e3e2671cb40fdecac44d71855 Author: Michael Halcrow Date: Tue Oct 16 01:27:55 2007 -0700 eCryptfs: use list_for_each_entry_safe() when wiping auth toks Use list_for_each_entry_safe() when wiping the authentication token list. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4aad16adfb8f0a2d666fdf8af4bd0dff2ce75e4 Author: Michael Halcrow Date: Tue Oct 16 01:27:53 2007 -0700 eCryptfs: add key list structure; search keyring Add support structures for handling multiple keys. The list in crypt_stat contains the key identifiers for all of the keys that should be used for encrypting each file's File Encryption Key (FEK). For now, each inode inherits this list from the mount-wide crypt_stat struct, via the ecryptfs_copy_mount_wide_sigs_to_inode_sigs() function. This patch also removes the global key tfm from the mount-wide crypt_stat struct, instead keeping a list of tfm's meant for dealing with the various inode FEK's. eCryptfs will now search the user's keyring for FEK's parsed from the existing file metadata, so the user can make keys available at any time before or after mounting. Now that multiple FEK packets can be written to the file metadata, we need to be more meticulous about size limits. The updates to the code for writing out packets to the file metadata makes sizes and limits more explicit, uniformly expressed, and (hopefully) easier to follow. Signed-off-by: Michael Halcrow Cc: "Serge E. Hallyn" Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cce76f9b9696a59974be9ed43478c000c57e597a Author: Adrian Bunk Date: Tue Oct 16 01:27:52 2007 -0700 fs/nfsd/export.c: make 3 functions static This patch makes the following needlessly global functions static: - exp_get_by_name() - exp_parent() - exp_find() Signed-off-by: Adrian Bunk Cc: Neil Brown Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8a285b7b10029c3da7e9bbaa1659e7e08178912 Author: Jesper Juhl Date: Tue Oct 16 01:27:52 2007 -0700 isdn: guard against a potential NULL pointer dereference in old_capi_manufacturer() In drivers/isdn/capi/kcapi.c::old_capi_manufacturer(), if the call to get_capi_ctr_by_nr(ldef.contr); in line 823 returns NULL, then we'll be dereferencing a NULL pointer in the very next line. (Found by Coverity checker as bug #402) Signed-off-by: Jesper Juhl Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1b2e7cf4a9742f61d76fcb419b1fd13159876a5 Author: Jesper Juhl Date: Tue Oct 16 01:27:51 2007 -0700 fix possible NULL deref on low memory condition in capidrv.c::send_message() If we fail to allocate an skb in drivers/isdn/capi/capidrv.c::send_message(), then we'll end up dereferencing a NULL pointer. Since out of memory conditions are not unheard of, I believe it is better to print a error message and just return rather than bring down the whole kernel. Sure, doing this may upset some application, but that's still better than crashing the whole system. Signed-off-by: Jesper Juhl Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e3dfacaa0b8e469f412ae776f222102042d7e24 Author: Matthias Kaehlcke Date: Tue Oct 16 01:27:50 2007 -0700 use mutex instead of semaphore in isdn subsystem common functions The ISDN subsystem common functions use a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d1ff582246de67b15e3cd2427a39875943ae895 Author: Tilman Schmidt Date: Tue Oct 16 01:27:50 2007 -0700 gigaset: remove pointless locking Remove pointless taking of spinlock around reading a single pointer-sized or smaller variable. Signed-off-by: Tilman Schmidt Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f438d914b220051d4cbc65cbc5d98e163c85c93b Author: Masami Hiramatsu Date: Tue Oct 16 01:27:49 2007 -0700 kprobes: support kretprobe blacklist Introduce architecture dependent kretprobe blacklists to prohibit users from inserting return probes on the function in which kprobes can be inserted but kretprobes can not. This patch also removes "__kprobes" mark from "__switch_to" on x86_64 and registers "__switch_to" to the blacklist on x86-64, because that mark is to prohibit user from inserting only kretprobe. Signed-off-by: Masami Hiramatsu Cc: Prasanna S Panchamukhi Acked-by: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49dce689ad4ef0fd1f970ef762168e4bd46f69a3 Author: Tony Jones Date: Tue Oct 16 01:27:48 2007 -0700 spi doesn't need class_device Make the SPI framework and drivers stop using class_device. Update docs accordingly ... highlighting just which sysfs paths should be "safe"/stable. Signed-off-by: Tony Jones Signed-off-by: David Brownell Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd58310d775fc10cc820b27c10f619187b8c4133 Author: WANG Cong Date: Tue Oct 16 01:27:47 2007 -0700 Documentation/spi/spidev_test.c: constify some variables Constify two char pointers and a struct in Documentation/spi/spidev_test.c. Acked-by: David Brownell Cc: Anton Vorontsov Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 328329a7bda52a8ed413cd485211463581f7abab Author: Anton Vorontsov Date: Tue Oct 16 01:27:47 2007 -0700 spi_mpc83xx handles other processors with QUICC engine Currently, all QE SPI controllers are almost the same comparing to MPC83xx's, thus let's use that driver for them. Tested to work on MPC85xx in loopback mode. Signed-off-by: Anton Vorontsov Acked-by: Kumar Gala Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1e44d9ce8589cc4ca0596989fe17130817ebec5 Author: David Brownell Date: Tue Oct 16 01:27:46 2007 -0700 SPI driver runtime footprint shrinkage Shrink the runtime footprint of various SPI drivers: - Move the probe() routine into the init section where practical, using platform_driver_probe() to make that safe. This often saves around 1KB. Using platform_driver_probe() can also be a correctness fix, if the probe routine is already marked __init but the driver struct keeps a dangling pointer to it after init section removal. - Likewise move remove() routines into the exit sections. These changes would be inappropriate iff the platform devices were actually hotpluggable (e.g. they're found on optional addon cards, or in an FPGA that's dynamically reprogrammed). In these cases, that's not the situation; it's an SOC controller and the only device is initialized before these drivers. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86eeb6fe71c79bd0484e17d267034249a6943bd5 Author: Kyungmin Park Date: Tue Oct 16 01:27:45 2007 -0700 OMAP2 McSPI code cleanup Remove unused variable & write space Signed-off-by: Kyungmin Park Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b7f9b81c8546ce4a9a42cb9c1c5a290a1ce1949 Author: Jesper Juhl Date: Tue Oct 16 01:27:44 2007 -0700 Clean up duplicate includes in drivers/spi/ This patch cleans up duplicate includes in drivers/spi/ Signed-off-by: Jesper Juhl Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 607717a65d92858fd925bec05baae4d142719f27 Author: Paul Jackson Date: Tue Oct 16 01:27:43 2007 -0700 cpuset: remove sched domain hooks from cpusets Remove the cpuset hooks that defined sched domains depending on the setting of the 'cpu_exclusive' flag. The cpu_exclusive flag can only be set on a child if it is set on the parent. This made that flag painfully unsuitable for use as a flag defining a partitioning of a system. It was entirely unobvious to a cpuset user what partitioning of sched domains they would be causing when they set that one cpu_exclusive bit on one cpuset, because it depended on what CPUs were in the remainder of that cpusets siblings and child cpusets, after subtracting out other cpu_exclusive cpusets. Furthermore, there was no way on production systems to query the result. Using the cpu_exclusive flag for this was simply wrong from the get go. Fortunately, it was sufficiently borked that so far as I know, almost no successful use has been made of this. One real time group did use it to affectively isolate CPUs from any load balancing efforts. They are willing to adapt to alternative mechanisms for this, such as someway to manipulate the list of isolated CPUs on a running system. They can do without this present cpu_exclusive based mechanism while we develop an alternative. There is a real risk, to the best of my understanding, of users accidentally setting up a partitioned scheduler domains, inhibiting desired load balancing across all their CPUs, due to the nonobvious (from the cpuset perspective) side affects of the cpu_exclusive flag. Furthermore, since there was no way on a running system to see what one was doing with sched domains, this change will be invisible to any using code. Unless they have real insight to the scheduler load balancing choices, they will be unable to detect that this change has been made in the kernel's behaviour. Initial discussion on lkml of this patch has generated much comment. My (probably controversial) take on that discussion is that it has reached a rough concensus that the current cpuset cpu_exclusive mechanism for defining sched domains is borked. There is no concensus on the replacement. But since we can remove this mechanism, and since its continued presence risks causing unwanted partitioning of the schedulers load balancing, we should remove it while we can, as we proceed to work the replacement scheduler domain mechanisms. Signed-off-by: Paul Jackson Cc: Ingo Molnar Cc: Nick Piggin Cc: Christoph Lameter Cc: Dinakar Guniguntala Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ed6dc34f9ed39bb8e4c81ea1056f0ba56315841 Author: Shannon Nelson Date: Tue Oct 16 01:27:42 2007 -0700 I/OAT: Add DCA services Add code to connect to the DCA driver and provide cpu tags for use by drivers that would like to use Direct Cache Access hints. [Adrian Bunk] Several Kconfig cleanup items [Andrew Morten, Chris Leech] Fix for using cpu_physical_id() even when built for uni-processor Signed-off-by: Shannon Nelson Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7589670f37736bcc119ebfbd69aafea6d585d1d4 Author: Shannon Nelson Date: Tue Oct 16 01:27:41 2007 -0700 DCA: Add Direct Cache Access driver Direct Cache Access (DCA) is a method for warming the CPU cache before data is used, with the intent of lessening the impact of cache misses. This patch adds a manager and interface for matching up client requests for DCA services with devices that offer DCA services. In order to use DCA, a module must do bus writes with the appropriate tag bits set to trigger a cache read for a specific CPU. However, different CPUs and chipsets can require different sets of tag bits, and the methods for determining the correct bits may be simple hardcoding or may be a hardware specific magic incantation. This interface is a way for DCA clients to find the correct tag bits for the targeted CPU without needing to know the specifics. [Dave Miller] use DEFINE_SPINLOCK() Signed-off-by: Shannon Nelson Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e037454bcfa4b187e8293d2121bd8c0f5a5c31c Author: Shannon Nelson Date: Tue Oct 16 01:27:40 2007 -0700 I/OAT: Add support for MSI and MSI-X Add support for MSI and MSI-X interrupt handling, including the ability to choose the desired interrupt method. Signed-off-by: Shannon Nelson Acked-by: David S. Miller [bunk@kernel.org: drivers/dma/ioat_dma.c: make 3 functions static] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ab89567da0cea9bae2c1b5dad47b51c424479e4 Author: Shannon Nelson Date: Tue Oct 16 01:27:39 2007 -0700 I/OAT: Split PCI startup from DMA handling code Split the general PCI startup from the DMA handling code in order to prepare for adding support for DCA services and future versions of the ioatdma device. [Rusty Russell] Removal of __unsafe() usage. Signed-off-by: Shannon Nelson Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43d6e369d43ff175e1e0e80caaedb1e53829247c Author: Shannon Nelson Date: Tue Oct 16 01:27:39 2007 -0700 I/OAT: code cleanup from checkpatch output Take care of a bunch of little code nits in ioatdma files Signed-off-by: Shannon Nelson Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1fda5f4e96225c3ed0baded942704c0ae399da23 Author: Shannon Nelson Date: Tue Oct 16 01:27:37 2007 -0700 I/OAT: Rename the source file Rename the ioatdma.c file in preparation for splitting into multiple files, which will allow for easier adding new functionality. Signed-off-by: Shannon Nelson Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 223758c77a67b1eb383a92b35d67de29502a9f55 Author: Shannon Nelson Date: Tue Oct 16 01:27:37 2007 -0700 I/OAT: New device ids Add device ids for new revs of the Intel I/OAT DMA engine Signed-off-by: Shannon Nelson Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70af26b2d4bc55570ac30b5eced4ff0319e24455 Author: Thomas Gleixner Date: Tue Oct 16 01:27:36 2007 -0700 V850: cleanup struct irqaction initializers Signed-off-by: Thomas Gleixner Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a24864a1d52a97e345a6bd4862a057f98364d098 Author: Lepton Wu Date: Tue Oct 16 01:27:35 2007 -0700 uml: definitively kill subprocesses on panic In a stock 2.6.22.6 kernel, poweroff a user mode linux guest (2.6.22.6 running in skas0 mode) will halt the host linux. I think the reason is the kernel thread abort because of a bug. Then the sys_reboot in process of user mode linux guest is not trapped by the user mode linux kernel and is executed by host. I think it is better to make sure all of our children process to quit when user mode linux kernel abort. [ jdike - the kernel process needs to ignore SIGTERM, plus the waitpid/kill loop is needed to make sure that all of our children are dead before the kernel exits ] Signed-off-by: Lepton Wu Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb8fa61c2b8b29d422d7310f064d60022f18f89b Author: Jeff Dike Date: Tue Oct 16 01:27:34 2007 -0700 uml: arch/um/drivers formatting Style fixes for the rest of the drivers. arch/um/drivers should be pretty CodingStyle-compliant now. Except for the ubd driver, which will have to be treated separately. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54ae36f24b103e521dd683f66fe72b0584ccb7e2 Author: Jeff Dike Date: Tue Oct 16 01:27:33 2007 -0700 uml: fix stub address calculations The calculation of CONFIG_STUB_CODE and CONFIG_STUB_DATA didn't take into account anything but 3G/1G and 2G/2G, leaving the other vmsplits out in the cold. I'd rather not duplicate the four known host vmsplit cases for each of these symbols. I'd also like to calculate them based on the highest userspace address. The Kconfig language seems not to allow calculation of hex constants, so I moved this to as-layout.h. CONFIG_STUB_CODE, CONFIG_STUB_DATA, and CONFIG_STUB_START are now gone. In their place are STUB_CODE, STUB_DATA, and STUB_START in as-layout.h. i386 and x86_64 seem to differ as to whether an unadorned constant is an int or a long, so I cast them to unsigned long so they can be printed consistently. However, they are also used in stub.S, where C types don't work so well. So, there are ASM_ versions of these constants for use in stub.S. I also ifdef-ed the non-asm-friendly portion of as-layout.h. With this in place, most of the rest of this patch is changing CONFIG_STUB_* to STUB_*, except in stub.S, where they are changed to ASM_STUB_*. defconfig has the old symbols deleted. I also print these addresses out in case there is any problem mapping them on the host. The two stub.S files had some trailing whitespace, so that is cleaned up here. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 605c1e57690fddbd11347ec6788ff77c527994dd Author: Jeff Dike Date: Tue Oct 16 01:27:32 2007 -0700 uml: correctly handle skb allocation failures Handle memory allocation failures when reading packets. We have to read something from the host, even if we can't allocate any memory. If we don't, the host side of the device may fill up and stop delivering interrupts because no new packets can be queued. A single sk_buff is allocated whenever an MTU is seen which is larger than any seen earlier. This is used to read packets if there is a memory allocation failure. The large MTU check is done from eth_configure, which is called when a interface is added to the system. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b53f35a8093e6aed7e8e880eaa0b89a3d2fdfb0a Author: Jeff Dike Date: Tue Oct 16 01:27:31 2007 -0700 uml: network driver MTU cleanups A bunch of MTU-related cleanups in the network code. First, there is the addition of the notion of a maximally-sized packet, which is the MTU plus headers. This is used to size the skb that will receive a packet. This allows ether_adjust_skb to go away, as it was used to resize the skb after it was allocated. Since the skb passed into the low-level read routine is no longer resized, and possibly reallocated, there, they (and the write routines) don't need to get an sk_buff **. They just need the sk_buff * now. The callers of ether_adjust_skb still need to do the skb_put, so that's now inlined. The MAX_PACKET definitions in most of the drivers are gone. The set_mtu methods were all the same and did nothing, so they can be removed. The ethertap driver had a typo which doubled the size of the packet rather than adding two bytes to it. It also wasn't defining its setup_size, causing a zero-byte kmalloc and crash when the invalid pointer returned from kmalloc was dereferenced. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd1ae0e49bdd814cfaa2e5ab28cff21a30e20085 Author: Jeff Dike Date: Tue Oct 16 01:27:29 2007 -0700 uml: network formatting Style and other non-functional changes in the UML networking code, including include tidying style violations copyright updates printks getting severities userspace code calling libc directly rather than using the os_* wrappers There's also a exit path cleanup in the pcap driver. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a80521990a0e30e61a92994a009adc52161b070 Author: Jeff Dike Date: Tue Oct 16 01:27:28 2007 -0700 uml: use *SEC_PER_*SEC constants There are various uses of powers of 1000, plus the odd BILLION constant in the time code. However, there are perfectly good definitions of *SEC_PER_*SEC in linux/time.h which can be used instaed. These are replaced directly in kernel code. Userspace code imports those constants as UM_*SEC_PER_*SEC and uses these. Signed-off-by: Jeff Dike Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61b63c556c0877ee6d3832ee641bc427ff4d94d6 Author: Jeff Dike Date: Tue Oct 16 01:27:27 2007 -0700 uml: eliminate SIGALRM Now that ITIMER_REAL is no longer used, there is no need for any use of SIGALRM whatsoever. This patch removes all mention of it. In addition, real_alarm_handler took a signal argument which is now always SIGVTALRM. So, that is gone. Signed-off-by: Jeff Dike Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f734614fc6218db352d26571ab4d1604620199c Author: Jeff Dike Date: Tue Oct 16 01:27:27 2007 -0700 uml: time build fix Put back an implementation of timeval_to_ns in arch/um/os-Linux/time.c. tglx pointed out in his review of tickless support that there was a perfectly good implementation of it in linux/time.h. The problem is that this is userspace code which can't pull in kernel headers and there doesn't seem to be a libc version. So, I'm copying the version from linux/time.h rather than resurrecting my version. This causes some declaration changes as it now returns a signed value rather than an unsigned value. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b160fb6309dc907cbd8849e549d83badb86dd35b Author: Jeff Dike Date: Tue Oct 16 01:27:26 2007 -0700 uml: eliminate interrupts in the idle loop Now, the idle loop now longer needs SIGALRM firing - it can just sleep for the requisite amount of time and fake a timer interrupt when it finishes. Any use of ITIMER_REAL now goes away. disable_timer only turns off ITIMER_VIRTUAL. switch_timers is no longer needed, so it, and all calls, goes away. disable_timer now returns the amount of time remaining on the timer. default_idle uses this to tell idle_sleep how long to sleep. idle_sleep will call alarm_handler if nanosleep returns 0, which is the case if it didn't return early due to an interrupt. Otherwise, it just returns. Signed-off-by: Jeff Dike Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2753a6d199791a6abc75d9f657e3457fe61705f Author: Jeff Dike Date: Tue Oct 16 01:27:25 2007 -0700 uml: tickless support Enable tickless support. CONFIG_TICK_ONESHOT and CONFIG_NO_HZ are enabled. itimer_clockevent gets CLOCK_EVT_FEAT_ONESHOT and an implementation of .set_next_event. CONFIG_UML_REAL_TIME_CLOCK goes away because it only makes sense when there is a clock ticking away all the time. timer_handler now just calls do_IRQ once without trying to figure out how many ticks to emulate. The idle loop now needs to turn ticking on and off. Userspace ticks keep happening as usual. However, the userspace loop keep track of when the next wakeup should happen and suppresses process ticks until that happens. Signed-off-by: Jeff Dike Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 791a644a8d73a9b95515f074afbb3caa0a9964fa Author: Jeff Dike Date: Tue Oct 16 01:27:25 2007 -0700 uml: clocksource support Add clocksource support. Signed-off-by: Jeff Dike Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31ccc1f524b626abcf5e043ad32b881219223c34 Author: Jeff Dike Date: Tue Oct 16 01:27:24 2007 -0700 uml: GENERIC_CLOCKEVENTS support Enable CONFIG_GENERIC_CLOCKEVENTS. timer_irq gets its name changed to timer_handler, and becomes the recipient of timer signals. The clock_event_device is set up to imitate the current ticking clock, i.e. CLOCK_EVT_FEAT_ONESHOT is not enabled yet. disable_timer now doesn't ignore SIGALRM and SIGVTALRM because that breaks delay calibration. Signed-off-by: Jeff Dike Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d83d2aa9485d996cfd89f04389b419c6727faacb Author: Jeff Dike Date: Tue Oct 16 01:27:23 2007 -0700 uml: GENERIC_TIME support Enable CONFIG_GENERIC_TIME. As a side-effect of this, the UML implementations of do_gettimeofday and do_settimeofday go away, as these are provided by generic code. set_time also goes away since it was only used by do_settimeofday. Signed-off-by: Jeff Dike Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78a26e25ce4837a03ac3b6c32cdae1958e547639 Author: Jeff Dike Date: Tue Oct 16 01:27:23 2007 -0700 uml: separate timer initialization Move timer signal initialization from init_irq_signals to a new function, timer_init. Signed-off-by: Jeff Dike Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2f018bf389422a55f1455ab8b9b5eedc5ea1803 Author: Jeff Dike Date: Tue Oct 16 01:27:22 2007 -0700 uml: simplify interval setting set_interval took a timer type as an argument, but it always specified a virtual timer. So, it is not needed, and it is gone, and set_interval is simplified appropriately. Signed-off-by: Jeff Dike Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 181bde801afae4304843ce95c868d4419ae87310 Author: Jeff Dike Date: Tue Oct 16 01:27:22 2007 -0700 uml: fix timer switching Fix up the switching between virtual and real timers. The idle loop sleeps, so the timer at that point must be real time. At all other times, the timer must be virtual. Even when userspace is running, and the kernel is asleep, the virtual timer is correct because the process timer will be running and the process timer will be firing. The timer switch used to be in the context switch and timer handler code. This is moved to the idle loop and the signal handler, making it much more clear why it is happening. switch_timers now returns the old timer type so that it may be restored. The signal handler uses this in order to restore the previous timer type when it returns. Signed-off-by: Jeff Dike Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 532d0fa4d104ca3e37dd38bc5073376fcc3c2712 Author: Jeff Dike Date: Tue Oct 16 01:27:21 2007 -0700 uml: eliminate hz() Eliminate hz() since its only purpose was to provide a kernel-space constant to userspace code. This can be done instead by providing the constant directly through kernel_constants.h. Signed-off-by: Jeff Dike Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 088bec4141ceb663eecdd961292d110db891db73 Author: Jeff Dike Date: Tue Oct 16 01:27:20 2007 -0700 uml: more idiomatic parameter parsing Make mconsole parameter parsing slightly more idiomatic. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92128504f9c48cca3e31860c98bd1292142db288 Author: Jeff Dike Date: Tue Oct 16 01:27:20 2007 -0700 uml: remove unused file arch/um/os-Linux/tt.c is no longer used. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da2486ba2c3e6ce409324a2e88f335d13271439b Author: Jesper Juhl Date: Tue Oct 16 01:27:19 2007 -0700 uml: remove unneeded void * cast vmalloc() returns a void pointer, so casting to (void *) is pretty pointless. Signed-off-by: Jesper Juhl Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75c7e214ba7af2ced1ba8a73d673294e30826410 Author: Jeff Dike Date: Tue Oct 16 01:27:19 2007 -0700 uml: eliminate floating point state from register file The floating point fields in the pt_regs register file aren't used, so they are deleted. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0c4cad99c12f08cb2a6cd0255911b2a93c57707 Author: Jeff Dike Date: Tue Oct 16 01:27:18 2007 -0700 uml: style fixes in FP code Tidy the code affected by the floating point fixes. A bunch of unused stuff is gone, including two sigcontext.c files, which turned out to be entirely unneeded. There are the usual fixes - whitespace and style cleanups copyright updates emacs formatting comments gone include cleanups adding severities to printks Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54fa0ba40698af6d6735ade024293bb51cc4d4b3 Author: Jeff Dike Date: Tue Oct 16 01:27:17 2007 -0700 uml: sysrq and mconsole fixes Fix the passing of printk output back to the mconsole client. The existing code was somewhat confused, accumulating output in a buffer, but writing it out entirely whenever a new chunk was added. This is fixed. The earlier include cleanups caused linux/sysrq.h to not be included - this is fixed by adding the include back, under CONFIG_MAGIC_SYSRQ. CONFIG_MAGIC_SYSRQ is also defaulted to on in defconfig. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 058ac308f3dd34ce4e2dbf938258975ced14b809 Author: Jeff Dike Date: Tue Oct 16 01:27:17 2007 -0700 uml: coredumping floating point fixes Fix core dumping of floating point state. ELF_CORE_COPY_FPREGS gets a definitions, and as a result, dump_fpu no longer needs to exist. Also, elf_fpregset_t needed a real definition. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8012b584fac3a1bb70cd896612c12086d28e9ff Author: Jeff Dike Date: Tue Oct 16 01:27:16 2007 -0700 uml: ptrace floating point fixes Handle floating point state better in ptrace. The code now correctly distinguishes between PTRACE_[GS]ETFPREGS and PTRACE_[GS]ETFPXREGS. The FPX requests get handed off to arch-specific code because that's not generic. get_fpregs, set_fpregs, set_fpregs, and set_fpxregs needed real implementations. Something here exposed a missing include in asm/page.h, which needed linux/types.h in order to get gfp_t, so that's fixed here. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5f6096c805e6d2fa03ee932f8c70af34cee41a0 Author: Jeff Dike Date: Tue Oct 16 01:27:15 2007 -0700 uml: floating point signal delivery fixes Handle floating point state in across signals correctly. UML/i386 needs to know whether the host does PTRACE_[GS]ETFPXREGS, so an arch_init_registers hook is added, which on x86_64 does nothing. UML doesn't save and restore floating point registers on kernel entry and exit, so they need to be copied between the host process and the sigcontext. save_fpx_registers and restore_fpx_registers are added for this purpose. save_fp_registers and restore_fp_registers already exist. There was a bunch of floating point state conversion code in arch/um/sys-i386/ptrace.c which isn't needed there, but is needed in signal.c, so it is moved over. The i386 code now distinguishes between fp and fpx state and handles them correctly. The x86_64 code just needs to copy state as-is between the host process and the stack. There are also some fixes there to pass the correct address of the floating point state around. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 189872f968def833727b6bfef83ebd7440c538e6 Author: Jeff Dike Date: Tue Oct 16 01:27:14 2007 -0700 uml: don't use glibc asm/user.h Stop including asm/user.h from libc - it seems to be disappearing from distros. It's replaced with sys/user.h which defines user_fpregs_struct and user_fpxregs_struct instead of user_i387_struct and struct user_fxsr_struct on i386. As a bonus, on x86_64, I get to dump some stupid typedefs which were needed in order to get asm/user.h to compile. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84b3db04ca15a90273745e391462faf658b1e825 Author: Jeff Dike Date: Tue Oct 16 01:27:13 2007 -0700 uml: fix hostfs style Style fixes in hostfs. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit baabd156e243e513873417b62e51346ece609934 Author: Jeff Dike Date: Tue Oct 16 01:27:13 2007 -0700 uml: remove unneeded if from hostfs Get rid of an empty if statement which might look like a bug to a casual reader. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1466abf2d03207b42980ddf8cde1fba17b7cd301 Author: Jeff Dike Date: Tue Oct 16 01:27:12 2007 -0700 uml: clean up tlb flush path Tidy the tlb flushing code. With tt mode gone, there is no reason to have the capability to have called directly from do_mmap, do_mprotect, and do_munmap, rather than calling a function pointer that it is given. There was a large amount of data that was passed from function to function, being used at the lowest level, without being changed. This stuff is now encapsulated in a structure which is initialized at the top layer and passed down. This simplifies the code, reduces the amount of code needed to pass the parameters around, and saves on stack space. A somewhat more subtle change is the meaning of the current operation index. It used to start at -1, being pre-incremented when adding an operation. It now starts at 0, being post-incremented, with associated adjustments of +/- 1 on comparisons. In addition, tlb.h contained a couple of declarations which had no users outside of tlb.c, so they could be moved or deleted. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 512b6fb1c14d4c34f23a3419b0789ad01914a899 Author: Jeff Dike Date: Tue Oct 16 01:27:11 2007 -0700 uml: userspace files should call libc directly A number of files that were changed in the recent removal of tt mode are userspace files which call the os_* wrappers instead of calling libc directly. A few other files were affected by this, through This patch makes these call glibc directly. There are also style fixes in the affected areas. os_print_error has no remaining callers, so it is deleted. There is a interface change to os_set_exec_close, eliminating a parameter which was always the same. The callers are fixed as well. os_process_pc got its error path cleaned up. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b21d4b08b6686fa13bf9d4cae1ae08cb23ea3d53 Author: Jeff Dike Date: Tue Oct 16 01:27:10 2007 -0700 uml: fix inlines "extern inline" will have different semantics with gcc 4.3. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cdaf45578b9aa1eb748d0a32678ee5a0180575b Author: Jeff Dike Date: Tue Oct 16 01:27:09 2007 -0700 uml: replace clone with fork Convert the boot-time host ptrace testing from clone to fork. They were essentially doing fork anyway. This cleans up the code a bit, and makes valgrind a bit happier about grinding it. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ca842c4b5cbc70b9180617e9f26b6ac9f40dbb9 Author: Jeff Dike Date: Tue Oct 16 01:27:08 2007 -0700 uml: remove os_* usage from userspace files This patch fixes some userspace files which were calling libc through the os_* wrappers. It turns out that there was only one user of os_new_tty_pgrp, so it can be deleted. There are also some style and whitespace fixes in here. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28078e8f9790be0854a54f06de822689ab571944 Author: Jeff Dike Date: Tue Oct 16 01:27:08 2007 -0700 uml: free LDT state on process exit The space allocated for a process LDT wasn't being freed when the process exited. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18badddaa84e13e126f4ca5df47ac55b97a2635a Author: Jeff Dike Date: Tue Oct 16 01:27:07 2007 -0700 uml: rename pt_regs general-purpose register file Before the removal of tt mode, access to a register on the skas-mode side of a pt_regs struct looked like pt_regs.regs.skas.regs.regs[FOO]. This was bad enough, but it became pt_regs.regs.regs.regs[FOO] with the removal of the union from the middle. To get rid of the run of three "regs", the last field is renamed to "gp". Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c738ffa9fea6869f5d51882dfefbba746e432b1 Author: Jeff Dike Date: Tue Oct 16 01:27:06 2007 -0700 uml: fold mmu_context_skas into mm_context This patch folds mmu_context_skas into struct mm_context, changing all users of these structures as needed. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fab95c55e3b94e219044dc7a558632d08c198771 Author: Jeff Dike Date: Tue Oct 16 01:27:05 2007 -0700 uml: get rid of do_longjmp do_longjmp used to be needed when UML didn't have its own implementation of setjmp and longjmp. They came from libc, and couldn't be called directly from kernel code, as the libc jmp_buf couldn't be imported there. do_longjmp was a userspace function which served to provide longjmp access to kernel code. This is gone, and a number of void * pointers can now be jmp_buf *. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a7675aa204ac2470bb06f562557978b03914a71 Author: Jeff Dike Date: Tue Oct 16 01:27:05 2007 -0700 uml: remove __u64 usage from physical memory subsystem Eliminate some uses of __u64 in the physical memory support. It's hard to get a definition of __u64 in both kernel and userspace code on x86_64, so this changes them to unsigned long long. There are also a copyright update and formatting comment removal from the affected header. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba180fd437156f7fd8cfb2fdd021d949eeef08d6 Author: Jeff Dike Date: Tue Oct 16 01:27:00 2007 -0700 uml: style fixes pass 3 Formatting changes in the files which have been changed in the course of folding foo_skas functions into their callers. These include: copyright updates header file trimming style fixes adding severity to printks These changes should be entirely non-functional. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77bf4400319db9d2a8af6b00c2be6faa0f3d07cb Author: Jeff Dike Date: Tue Oct 16 01:26:58 2007 -0700 uml: remove code made redundant by CHOOSE_MODE removal This patch makes a number of simplifications enabled by the removal of CHOOSE_MODE. There were lots of functions that looked like int foo(args){ foo_skas(args); } The bodies of foo_skas are now folded into foo, and their declarations (and sometimes entire header files) are deleted. In addition, the union uml_pt_regs, which was a union between the tt and skas register formats, is now a struct, with the tt-mode arm of the union being removed. It turns out that usr2_handler was unused, so it is gone. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae2587e41254e48e670346aefa332d7469d86352 Author: Jeff Dike Date: Tue Oct 16 01:26:57 2007 -0700 uml: style fixes pass 2 Formatting changes in the files which have been changed in the course of removing CHOOSE_MODE. These include: copyright updates header file trimming style fixes adding severity to printks These changes should be entirely non-functional. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6aa802ce6acc9b1f0b34114b3f7c21c84872cc3a Author: Jeff Dike Date: Tue Oct 16 01:26:56 2007 -0700 uml: throw out CHOOSE_MODE The next stage after removing code which depends on CONFIG_MODE_TT is removing the CHOOSE_MODE abstraction, which provided both compile-time and run-time branching to either tt-mode or skas-mode code. This patch removes choose-mode.h and all inclusions of it, and replaces all CHOOSE_MODE invocations with the skas branch. This leaves a number of trivial functions which will be dealt with in a later patch. There are some changes in the uaccess and tls support which go somewhat beyond this and eliminate some of the now-redundant functions. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c9e13851315a25a705e7a686116e491041ca228 Author: Jeff Dike Date: Tue Oct 16 01:26:54 2007 -0700 uml: style fixes pass 1 Formatting changes in the files which have been changed in the tt-removal patchset so far. These include: copyright updates header file trimming style fixes adding severity to printks indenting Kconfig help according to the predominant kernel style These changes should be entirely non-functional. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c28b59d4779a43e9b7e786c7004cbee8fab1527d Author: Jeff Dike Date: Tue Oct 16 01:26:54 2007 -0700 uml: remove sysdep/thread.h This patch removes thread.h, which turns out not to be needed any more. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42fda66387daa53538ae13a2c858396aaf037158 Author: Jeff Dike Date: Tue Oct 16 01:26:50 2007 -0700 uml: throw out CONFIG_MODE_TT This patchset throws out tt mode, which has been non-functional for a while. This is done in phases, interspersed with code cleanups on the affected files. The removal is done as follows: remove all code, config options, and files which depend on CONFIG_MODE_TT get rid of the CHOOSE_MODE macro, which decided whether to call tt-mode or skas-mode code, and replace invocations with their skas portions replace all now-trivial procedures with their skas equivalents There are now a bunch of now-redundant pieces of data structures, including mode-specific pieces of the thread structure, pt_regs, and mm_context. These are all replaced with their skas-specific contents. As part of the ongoing style compliance project, I made a style pass over all files that were changed. There are three such patches, one for each phase, covering the files affected by that phase but no later ones. I noticed that we weren't freeing the LDT state associated with a process when it exited, so that's fixed in one of the later patches. The last patch is a tidying patch which I've had for a while, but which caused inexplicable crashes under tt mode. Since that is no longer a problem, this can now go in. This patch: Start getting rid of tt mode support. This patch throws out CONFIG_MODE_TT and all config options, code, and files which depend on it. CONFIG_MODE_SKAS is gone and everything that depends on it is included unconditionally. The few changed lines are in re-written Kconfig help, lines which needed something skas-related removed from them, and a few more which weren't strictly deletions. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1ff5878d2628bbe1e42821c024c96f48318f683 Author: Miklos Szeredi Date: Tue Oct 16 01:26:49 2007 -0700 UML: remove unnecessary hostfs_getattr() Currently hostfs_getattr() just defines the default behavior. Signed-off-by: Miklos Szeredi Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad43c3565bebada7e5a13288e37542fd940369e8 Author: Jeff Dike Date: Tue Oct 16 01:26:48 2007 -0700 uml: add VDE networking support Added vde network backend in uml to introduce native Virtual Distributed Ethernet support (using libvdeplug). Signed-off-by: Luca Bigliardi Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d536e4b59f77c34a0e5a414dfa934db373c85c2 Author: Jeff Dike Date: Tue Oct 16 01:26:47 2007 -0700 uml: physmem code tidying Tidying of the UML physical memory system. These are mostly style fixes, however the includes were cleaned as well. This uncovered a need for mem_user.h to be included in mode_kern_skas.h. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42daba316557e597a90a730f61c762602b7f0e0c Author: Jeff Dike Date: Tue Oct 16 01:26:47 2007 -0700 uml: stop saving process FP state Throw out a lot of code dealing with saving and restoring floating-point state. In skas mode, where processes run in a restoring floating-point state on kernel entry and exit is pointless. This eliminates most of arch/um/os-Linux/sys-{i386,x86_64}/registers.c. Most of what remained is now arch-indpendent, and can be moved up to arch/um/os-Linux/registers.c. Both arches need the jmp_buf accessor get_thread_reg, and i386 needs {save,restore}_fp_regs because it cheats during sigreturn by getting the fp state using ptrace rather than copying it out of the process sigcontext. After this, it turns out that arch/um/include/skas/mode-skas.h is almost completely unneeded. The declarations in it are variables which either don't exist or which don't have global scope. The one exception is kill_off_processes_skas. If that's removed, this header can be deleted. This uncovered a bug in user.h, which wasn't correctly making sure that a size_t definition was available to both userspace and kernelspace files. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c8aaceab88ac787c0a4038b29143c954c2a45e0 Author: Jeff Dike Date: Tue Oct 16 01:26:46 2007 -0700 uml: stop specially protecting kernel stacks Map all of physical memory as executable to avoid having to change stack protections during fork and exit. unprotect_stack is now called only from MODE_TT code, so it is marked as such. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d82076080d909f18dea859a6767df7e3ff69241 Author: Jeff Dike Date: Tue Oct 16 01:26:45 2007 -0700 uml: fix nonremovability of watchdog The UML watchdog driver was using the wrong config variable to control whether it can be unloaded once active. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 818f6ef407b448cef63294b9d0f6f8a2af9cb817 Author: Jeff Dike Date: Tue Oct 16 01:26:45 2007 -0700 uml: fix an IPV6 libc vs kernel symbol clash On some systems, with IPV6 configured, there is a clash between the kernel's in6addr_any and the one in libc. This is handled in the usual (gross) way of defining the kernel symbol out of the way on the gcc command line. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71f926f2ea61994470a53c9e11d3ef993197cada Author: Jeff Dike Date: Tue Oct 16 01:26:44 2007 -0700 uml: stop using libc asm/page.h Remove includes of asm/page.h from libc code. This header seems to be disappearing, and UML doesn't make much use of it anyway. The one use, PAGE_SHIFT in stub.h, is handled by copying the constant from the kernel side of the house in common_offsets.h. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f8a2dc2cf8012179e35c1f01a1eef45de18f1a7 Author: Jeff Dike Date: Tue Oct 16 01:26:43 2007 -0700 uml: console tidying Tidy line.c: The includes are more minimal Lots of style fixes All the printks have severities Removed some commented-out code Deleted a useless printk when ioctl is called Fixed some whitespace damage Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c59dbcadd5d125ba40595612dc91ab18924164d3 Author: Jeff Dike Date: Tue Oct 16 01:26:42 2007 -0700 uml: fix console writing bugs The previous console cleanup patch switched generic_read and generic_write from calling os_{read,write}_file to calling read and write directly. Because the calling convention is different, they now need to get any error from errno rather than the return value. I did this for generic_read, but forgot about generic_write. While chasing some output corruption, I noticed that line_write was unnecessarily calling flush_buffer, and deleted it. I don't understand why, but the corruption disappeared. This is unneeded because there already is a perfectly good mechanism for finding out when the host output device has some room to write data - there is an interrupt that comes in when writes can happen again. line_write calling flush_buffer seemed to just be an attempt to opportunistically get some data out to the host. I also made write_chan short-circuit calling into the host-level code for zero-length writes. Calling libc write with a length of zero conflated write not being able to write anything with asking it not to write anything. Better to just cut it off as soon as possible. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e99525f9706900417f37721e601d2b414d41bfee Author: Jeff Dike Date: Tue Oct 16 01:26:41 2007 -0700 uml: console subsystem tidying This does a lot of cleanup on the UML console system. This patch should be entirely non-functional. The tidying is as follows: header cleanups - the includes should be closer to minimal and complete all printks now have a severity lots of style fixes fd_close is restructured a little in order to reduce the nesting some functions were calling the os_* wrappers when they can call libc directly port_accept had a unnecessary variable it also tested a pid unecessarily before killing it some functions were made static xterm_free is gone, as it was identical to generic_free Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79f662334fefa2dd3fdf66c44a4d2dca5e378ab4 Author: Jeff Dike Date: Tue Oct 16 01:26:40 2007 -0700 uml: fix error cleanup ordering I messed up the error cleanup ordering in the console port driver. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e2d10e1e76d894ec73d66dd63b641ccf5f5fb67 Author: Jeff Dike Date: Tue Oct 16 01:26:40 2007 -0700 uml: tidy recently-moved code Now that the generic console operations are in a userspace file, we can do the following: directly call into libc instead of through the os_* wrappers eliminate os_window_size since it has only one user Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89fe64766ab76b02c65a806b8b5a864652493bd6 Author: Jeff Dike Date: Tue Oct 16 01:26:39 2007 -0700 uml: move userspace code to userspace file Move some code from a kernelspace file to a userspace file where it fits better. This enables some tidying which is the subject of a later patch. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2090ab05fe4bc6b70e7245a9d3ea37afc49150ad Author: Alan Cox Date: Tue Oct 16 01:26:38 2007 -0700 tty: bring the old cris driver back somewhere into the realm of new tty buffering Signed-off-by: Alan Cox Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5f717812982c7b2a20d5f2d897f7cce6db9c5e6 Author: Thomas Gleixner Date: Tue Oct 16 01:26:38 2007 -0700 CRIS: cleanup struct irqaction initializers Signed-off-by: Thomas Gleixner Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ac15559150a20d39d381a6be44cdea373584222 Author: Christoph Hellwig Date: Tue Oct 16 01:26:37 2007 -0700 m32r: convert to generic sys_ptrace Convert m32r to the generic sys_ptrace. The conversion requires an architecture hook after ptrace_attach which this patch adds. The hook will also be needed for a conersion of ia64 to the generic ptrace code. Thanks to Hirokazu Takata for fixing a bug in the first version of this code. Signed-off-by: Christoph Hellwig Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dab8f4963ae0a79b945b8ed297e30d390a9d9f50 Author: Hirokazu Takata Date: Tue Oct 16 01:26:36 2007 -0700 m32r: serial: remove M32R_SIO_SHARE_IRQS Remove an unused symbol M32R_SIO_SHARE_IRQS from drivers/serial/m32r_sio.h. Signed-off-by: Hirokazu Takata Cc: "Robert P. J. Day" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 977676aca32d8bc9687c76875643b72f3451a8b2 Author: Thomas Gleixner Date: Tue Oct 16 01:26:36 2007 -0700 M32R: cleanup struct irqaction initializers Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3165c0d16a1657aef39219182b6f8807566b1743 Author: Mariusz Kozlowski Date: Tue Oct 16 01:26:35 2007 -0700 include/asm-m32r/thread_info.h: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2b5d37d7ee1592046ef75986c6d37ee9d55a61b Author: Sam Ravnborg Date: Tue Oct 16 01:26:35 2007 -0700 alpha: beautify vmlinux.lds Introduced a consistent style in vmlinux.lds and it now matches the soon-to-be common style for all arch's vmlinux.lds files. In addition: - Replaced hardcoded constant with PAGE_SIZE - Fix page.h so PAGE_SIZE can be used from assembler and in lds files - Move a few labels inside brackets so linker alignment will not make label point ot a too low address - Replaced DWARF and STABS sections with definitions from asm-generic Signed-off-by: Sam Ravnborg Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5f833f3c1961488733bf645b011b6350ee5c7be Author: Christoph Hellwig Date: Tue Oct 16 01:26:34 2007 -0700 alpha: convert to generic sys_ptrace This patch converts alpha to the generic sys_ptrace. We use force_successful_syscall_return to avoid having to pass the pt_regs pointer down to the function. I think the removal of the assemly stub is correct, but I could only compile-test this patch, so please give it a spin before commiting :) Signed-off-by: Christoph Hellwig Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9ff5f38727f839dacb2714154fa03e59803d7a5 Author: Adrian Bunk Date: Tue Oct 16 01:26:33 2007 -0700 cleanup arch/alpha/Makefile - binutils 2.7 is far below the current minimum supported version, and there's therefore no longer a need for an extra test - since even gcc 3.2 already supports all options used we can use them unconditionally Signed-off-by: Adrian Bunk Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fabc7f66ee022ff6e27ba25aafb237996f440536 Author: Greg Ungerer Date: Tue Oct 16 01:26:30 2007 -0700 M68KNOMMU: remove unused config symbol CONFIG_DISKtel Remove unused config symbol CONFIG_DISKtel. Pointed out by Robert P. J. Day . Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2e170ea879ab2b4330476ec845cc22dc8ee1821 Author: Thomas Gleixner Date: Tue Oct 16 01:26:29 2007 -0700 FRV: cleanup struct irqaction initializers Signed-off-by: Thomas Gleixner Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33bbf9597f6d341e5fa0c656b6112bd2c0ce9f79 Author: Mariusz Kozlowski Date: Tue Oct 16 01:26:29 2007 -0700 include/asm-frv/thread_info.h: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Acked-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef0fce855677cc64c82331c0f6fd99fa526b95c2 Author: Benjamin Herrenschmidt Date: Tue Oct 16 01:26:28 2007 -0700 remove frv usage of flush_tlb_pgtables() frv is the last user in the tree of that dubious hook, and it's my understanding that it's not even needed. It's only called by memory.c free_pgd_range() which is always called within an mmu_gather, and tlb_flush() on frv will do a flush_tlb_mm(), which from my reading of the code, seems to do what flush_tlb_ptables() does, which is to clear the cached PGE. Signed-off-by: Benjamin Herrenschmidt Acked-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bde631a51876f23e9bbdce43f02b7232502c151e Author: Lee Schermerhorn Date: Tue Oct 16 01:26:27 2007 -0700 mm: add node states sysfs class attributeS Add a per node state sysfs class attribute file to /sys/devices/system/node to display node state masks. E.g., on a 4-cell HP ia64 NUMA platform, we have 5 nodes: 4 representing the actual hardware cells and one memory-only pseudo-node representing a small amount [512MB] of "hardware interleaved" memory. With this patch, in /sys/devices/system/node we see: #ls -1F /sys/devices/system/node has_cpu has_normal_memory node0/ node1/ node2/ node3/ node4/ online possible #cat /sys/devices/system/node/possible 0-255 #cat /sys/devices/system/node/online 0-4 #cat /sys/devices/system/node/has_normal_memory 0-4 #cat /sys/devices/system/node/has_cpu 0-3 Signed-off-by: Lee Schermerhorn Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2fc88d0643ca68f2011e6db4aa31e22bd94210c Author: Adrian Bunk Date: Tue Oct 16 01:26:27 2007 -0700 mm/vmstat.c: cleanups This patch contains the following cleanups: - make the needlessly global setup_vmstat() static - remove the unused refresh_vm_stats() Signed-off-by: Adrian Bunk Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbcb0f19c877df9026b8c1227758d38bd561e9c4 Author: Adrian Bunk Date: Tue Oct 16 01:26:26 2007 -0700 mm/mempolicy.c: cleanups This patch contains the following cleanups: - every file should include the headers containing the prototypes for its global functions - make the follosing needlessly global functions static: - migrate_to_node() - do_mbind() - sp_alloc() - mpol_rebind_policy() [akpm@linux-foundation.org: fix uninitialised var warning] Signed-off-by: Adrian Bunk Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8dc74f212c38407fc9f4367181f8f969b719485 Author: Adrian Bunk Date: Tue Oct 16 01:26:26 2007 -0700 mm/shmem.c: make 3 functions static This patch makes three needlessly global functions static. Signed-off-by: Adrian Bunk Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af767cbdd78f293485c294113885d95e7f1da123 Author: Adam Litke Date: Tue Oct 16 01:26:25 2007 -0700 hugetlb: fix dynamic pool resize failure case When gather_surplus_pages() fails to allocate enough huge pages to satisfy the requested reservation, it frees what it did allocate back to the buddy allocator. put_page() should be called instead of update_and_free_page() to ensure that pool counters are updated as appropriate and the page's refcount is decremented. Signed-off-by: Adam Litke Acked-by: Dave Hansen Cc: David Gibson Cc: William Lee Irwin III Cc: Badari Pulavarty Cc: Ken Chen Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63b4613c3f0d4b724ba259dc6c201bb68b884e1a Author: Nishanth Aravamudan Date: Tue Oct 16 01:26:24 2007 -0700 hugetlb: fix hugepage allocation with memoryless nodes Anton found a problem with the hugetlb pool allocation when some nodes have no memory (http://marc.info/?l=linux-mm&m=118133042025995&w=2). Lee worked on versions that tried to fix it, but none were accepted. Christoph has created a set of patches which allow for GFP_THISNODE allocations to fail if the node has no memory. Currently, alloc_fresh_huge_page() returns NULL when it is not able to allocate a huge page on the current node, as specified by its custom interleave variable. The callers of this function, though, assume that a failure in alloc_fresh_huge_page() indicates no hugepages can be allocated on the system period. This might not be the case, for instance, if we have an uneven NUMA system, and we happen to try to allocate a hugepage on a node with less memory and fail, while there is still plenty of free memory on the other nodes. To correct this, make alloc_fresh_huge_page() search through all online nodes before deciding no hugepages can be allocated. Add a helper function for actually allocating the hugepage. Use a new global nid iterator to control which nid to allocate on. Note: we expect particular semantics for __GFP_THISNODE, which are now enforced even for memoryless nodes. That is, there is should be no fallback to other nodes. Therefore, we rely on the nid passed into alloc_pages_node() to be the nid the page comes from. If this is incorrect, accounting will break. Tested on x86 !NUMA, x86 NUMA, x86_64 NUMA and ppc64 NUMA (with 2 memoryless nodes). Before on the ppc64 box: Trying to clear the hugetlb pool Done. 0 free Trying to resize the pool to 100 Node 0 HugePages_Free: 25 Node 1 HugePages_Free: 75 Node 2 HugePages_Free: 0 Node 3 HugePages_Free: 0 Done. Initially 100 free Trying to resize the pool to 200 Node 0 HugePages_Free: 50 Node 1 HugePages_Free: 150 Node 2 HugePages_Free: 0 Node 3 HugePages_Free: 0 Done. 200 free After: Trying to clear the hugetlb pool Done. 0 free Trying to resize the pool to 100 Node 0 HugePages_Free: 50 Node 1 HugePages_Free: 50 Node 2 HugePages_Free: 0 Node 3 HugePages_Free: 0 Done. Initially 100 free Trying to resize the pool to 200 Node 0 HugePages_Free: 100 Node 1 HugePages_Free: 100 Node 2 HugePages_Free: 0 Node 3 HugePages_Free: 0 Done. 200 free Signed-off-by: Nishanth Aravamudan Acked-by: Christoph Lameter Cc: Adam Litke Cc: David Gibson Cc: Badari Pulavarty Cc: Ken Chen Cc: William Lee Irwin III Cc: Lee Schermerhorn Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b0c880dfefecedb9ad353014ed41505c32aca82 Author: Adam Litke Date: Tue Oct 16 01:26:23 2007 -0700 hugetlb: fix pool resizing corner case When shrinking the size of the hugetlb pool via the nr_hugepages sysctl, we are careful to keep enough pages around to satisfy reservations. But the calculation is flawed for the following scenario: Action Pool Counters (Total, Free, Resv) ====== ============= Set pool to 1 page 1 1 0 Map 1 page MAP_PRIVATE 1 1 0 Touch the page to fault it in 1 0 0 Set pool to 3 pages 3 2 0 Map 2 pages MAP_SHARED 3 2 2 Set pool to 2 pages 2 1 2 <-- Mistake, should be 3 2 2 Touch the 2 shared pages 2 0 1 <-- Program crashes here The last touch above will terminate the process due to lack of huge pages. This patch corrects the calculation so that it factors in pages being used for private mappings. Andrew, this is a standalone fix suitable for mainline. It is also now corrected in my latest dynamic pool resizing patchset which I will send out soon. Signed-off-by: Adam Litke Acked-by: Ken Chen Cc: David Gibson Cc: Badari Pulavarty Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e63e1e5a6b75416ab758025fd80e247c4f103b1b Author: Badari Pulavarty Date: Tue Oct 16 01:26:22 2007 -0700 hugetlbfs read() support Support for reading from hugetlbfs files. libhugetlbfs lets application text/data to be placed in large pages. When we do that, oprofile doesn't work - since libbfd tries to read from it. This code is very similar to what do_generic_mapping_read() does, but I can't use it since it has PAGE_CACHE_SIZE assumptions. [akpm@linux-foundation.org: cleanups, fix leak] [bunk@stusta.de: make hugetlbfs_read() static] Signed-off-by: Badari Pulavarty Acked-by: William Irwin Tested-by: Nishanth Aravamudan Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7aa91e104028b87ff13f5eeb7a0d7ffe7b5a2348 Author: Ken Chen Date: Tue Oct 16 01:26:21 2007 -0700 hugetlb: allow extending ftruncate on hugetlbfs For historical reason, expanding ftruncate that increases file size on hugetlbfs is not allowed due to pages were pre-faulted and lack of fault handler. Now that we have demand faulting on hugetlb since 2.6.15, there is no reason to hold back that limitation. This will make hugetlbfs behave more like a normal fs. I'm writing a user level code that uses hugetlbfs but will fall back to tmpfs if there are no hugetlb page available in the system. Having hugetlbfs specific ftruncate behavior is a bit quirky and I would like to remove that artificial limitation. Signed-off-by: Acked-by: Wiliam Irwin Cc: Adam Litke Cc: David Gibson Cc: Nishanth Aravamudan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54f9f80d6543fb7b157d3b11e2e7911dc1379790 Author: Adam Litke Date: Tue Oct 16 01:26:20 2007 -0700 hugetlb: Add hugetlb_dynamic_pool sysctl The maximum size of the huge page pool can be controlled using the overall size of the hugetlb filesystem (via its 'size' mount option). However in the common case the this will not be set as the pool is traditionally fixed in size at boot time. In order to maintain the expected semantics, we need to prevent the pool expanding by default. This patch introduces a new sysctl controlling dynamic pool resizing. When this is enabled the pool will expand beyond its base size up to the size of the hugetlb filesystem. It is disabled by default. Signed-off-by: Adam Litke Acked-by: Andy Whitcroft Acked-by: Dave McCracken Cc: William Irwin Cc: David Gibson Cc: Ken Chen Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4e574b767ba63101cfda2b42d72f38546319297 Author: Adam Litke Date: Tue Oct 16 01:26:19 2007 -0700 hugetlb: Try to grow hugetlb pool for MAP_SHARED mappings Shared mappings require special handling because the huge pages needed to fully populate the VMA must be reserved at mmap time. If not enough pages are available when making the reservation, allocate all of the shortfall at once from the buddy allocator and add the pages directly to the hugetlb pool. If they cannot be allocated, then fail the mapping. The page surplus is accounted for in the same way as for private mappings; faulted surplus pages will be freed at unmap time. Reserved, surplus pages that have not been used must be freed separately when their reservation has been released. Signed-off-by: Adam Litke Acked-by: Andy Whitcroft Acked-by: Dave McCracken Cc: William Irwin Cc: David Gibson Cc: Ken Chen Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7893d1d505d59db9d4f35165c8b6d3c6dff40a32 Author: Adam Litke Date: Tue Oct 16 01:26:18 2007 -0700 hugetlb: Try to grow hugetlb pool for MAP_PRIVATE mappings Because we overcommit hugepages for MAP_PRIVATE mappings, it is possible that the hugetlb pool will be exhausted or completely reserved when a hugepage is needed to satisfy a page fault. Before killing the process in this situation, try to allocate a hugepage directly from the buddy allocator. The explicitly configured pool size becomes a low watermark. When dynamically grown, the allocated huge pages are accounted as a surplus over the watermark. As huge pages are freed on a node, surplus pages are released to the buddy allocator so that the pool will shrink back to the watermark. Surplus accounting also allows for friendlier explicit pool resizing. When shrinking a pool that is fully in-use, increase the surplus so pages will be returned to the buddy allocator as soon as they are freed. When growing a pool that has a surplus, consume the surplus first and then allocate new pages. Signed-off-by: Adam Litke Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Acked-by: Dave McCracken Cc: William Irwin Cc: David Gibson Cc: Ken Chen Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6af2acb6619688046039234f716fd003e6ed2b3f Author: Adam Litke Date: Tue Oct 16 01:26:16 2007 -0700 hugetlb: Move update_and_free_page Dynamic huge page pool resizing. In most real-world scenarios, configuring the size of the hugetlb pool correctly is a difficult task. If too few pages are allocated to the pool, applications using MAP_SHARED may fail to mmap() a hugepage region and applications using MAP_PRIVATE may receive SIGBUS. Isolating too much memory in the hugetlb pool means it is not available for other uses, especially those programs not using huge pages. The obvious answer is to let the hugetlb pool grow and shrink in response to the runtime demand for huge pages. The work Mel Gorman has been doing to establish a memory zone for movable memory allocations makes dynamically resizing the hugetlb pool reliable within the limits of that zone. This patch series implements dynamic pool resizing for private and shared mappings while being careful to maintain existing semantics. Please reply with your comments and feedback; even just to say whether it would be a useful feature to you. Thanks. How it works ============ Upon depletion of the hugetlb pool, rather than reporting an error immediately, first try and allocate the needed huge pages directly from the buddy allocator. Care must be taken to avoid unbounded growth of the hugetlb pool, so the hugetlb filesystem quota is used to limit overall pool size. The real work begins when we decide there is a shortage of huge pages. What happens next depends on whether the pages are for a private or shared mapping. Private mappings are straightforward. At fault time, if alloc_huge_page() fails, we allocate a page from the buddy allocator and increment the source node's surplus_huge_pages counter. When free_huge_page() is called for a page on a node with a surplus, the page is freed directly to the buddy allocator instead of the hugetlb pool. Because shared mappings require all of the pages to be reserved up front, some additional work must be done at mmap() to support them. We determine the reservation shortage and allocate the required number of pages all at once. These pages are then added to the hugetlb pool and marked reserved. Where that is not possible the mmap() will fail. As with private mappings, the appropriate surplus counters are updated. Since reserved huge pages won't necessarily be used by the process, we can't be sure that free_huge_page() will always be called to return surplus pages to the buddy allocator. To prevent the huge page pool from bloating, we must free unused surplus pages when their reservation has ended. Controlling it ============== With the entire patch series applied, pool resizing is off by default so unless specific action is taken, the semantics are unchanged. To take advantage of the flexibility afforded by this patch series one must tolerate a change in semantics. To control hugetlb pool growth, the following techniques can be employed: * A sysctl tunable to enable/disable the feature entirely * The size= mount option for hugetlbfs filesystems to limit pool size Performance =========== When contiguous memory is readily available, it is expected that the cost of dynamicly resizing the pool will be small. This series has been performance tested with 'stream' to measure this cost. Stream (http://www.cs.virginia.edu/stream/) was linked with libhugetlbfs to enable remapping of the text and data/bss segments into huge pages. Stream with small array ----------------------- Baseline: nr_hugepages = 0, No libhugetlbfs segment remapping Preallocated: nr_hugepages = 5, Text and data/bss remapping Dynamic: nr_hugepages = 0, Text and data/bss remapping Rate (MB/s) Function Baseline Preallocated Dynamic Copy: 4695.6266 5942.8371 5982.2287 Scale: 4451.5776 5017.1419 5658.7843 Add: 5815.8849 7927.7827 8119.3552 Triad: 5949.4144 8527.6492 8110.6903 Stream with large array ----------------------- Baseline: nr_hugepages = 0, No libhugetlbfs segment remapping Preallocated: nr_hugepages = 67, Text and data/bss remapping Dynamic: nr_hugepages = 0, Text and data/bss remapping Rate (MB/s) Function Baseline Preallocated Dynamic Copy: 2227.8281 2544.2732 2546.4947 Scale: 2136.3208 2430.7294 2421.2074 Add: 2773.1449 4004.0021 3999.4331 Triad: 2748.4502 3777.0109 3773.4970 * All numbers are averages taken from 10 consecutive runs with a maximum standard deviation of 1.3 percent noted. This patch: Simply move update_and_free_page() so that it can be reused later in this patch series. The implementation is not changed. Signed-off-by: Adam Litke Acked-by: Andy Whitcroft Acked-by: Dave McCracken Acked-by: William Irwin Cc: David Gibson Cc: Ken Chen Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98f3cfc1dc7a53b629d43b7844a9b3f786213048 Author: Yasunori Goto Date: Tue Oct 16 01:26:14 2007 -0700 memory hotplug: Hot-add with sparsemem-vmemmap This patch is to avoid panic when memory hot-add is executed with sparsemem-vmemmap. Current vmemmap-sparsemem code doesn't support memory hot-add. Vmemmap must be populated when hot-add. This is for 2.6.23-rc2-mm2. Todo: # Even if this patch is applied, the message "[xxxx-xxxx] potential offnode page_structs" is displayed. To allocate memmap on its node, memmap (and pgdat) must be initialized itself like chicken and egg relationship. # vmemmap_unpopulate will be necessary for followings. - For cancel hot-add due to error. - For unplug. Signed-off-by: Yasunori Goto Cc: Andy Whitcroft Cc: Christoph Lameter Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48e94196a533dbee17c252bf80d0310fb8c8c2eb Author: KAMEZAWA Hiroyuki Date: Tue Oct 16 01:26:14 2007 -0700 fix memory hot remove not configured case. Now, arch dependent code around CONFIG_MEMORY_HOTREMOVE is a mess. This patch cleans up them. This is against 2.6.23-rc6-mm1. - fix compile failure on ia64/ CONFIG_MEMORY_HOTPLUG && !CONFIG_MEMORY_HOTREMOVE case. - For !CONFIG_MEMORY_HOTREMOVE, add generic no-op remove_memory(), which returns -EINVAL. - removed remove_pages() only used in powerpc. - removed no-op remove_memory() in i386, sh, sparc64, x86_64. - only powerpc returns -ENOSYS at memory hot remove(no-op). changes it to return -EINVAL. Note: Currently, only ia64 supports CONFIG_MEMORY_HOTREMOVE. I welcome other archs if there are requirements and testers. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de33b821f34dc9e2fabf81a8ba464f3ef039bd00 Author: KAMEZAWA Hiroyuki Date: Tue Oct 16 01:26:13 2007 -0700 memory unplug: ia64 interface IA64 memory unplug interface. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c0e6195896535481173df98935ad8db174f4d45 Author: KAMEZAWA Hiroyuki Date: Tue Oct 16 01:26:12 2007 -0700 memory unplug: page offline Logic. - set all pages in [start,end) as isolated migration-type. by this, all free pages in the range will be not-for-use. - Migrate all LRU pages in the range. - Test all pages in the range's refcnt is zero or not. Todo: - allocate migration destination page from better area. - confirm page_count(page)== 0 && PageReserved(page) page is safe to be freed.. (I don't like this kind of page but.. - Find out pages which cannot be migrated. - more running tests. - Use reclaim for unplugging other memory type area. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5d76b54a3f3a40385d7f76069a2feac9f1bad63 Author: KAMEZAWA Hiroyuki Date: Tue Oct 16 01:26:11 2007 -0700 memory unplug: page isolation Implement generic chunk-of-pages isolation method by using page grouping ops. This patch add MIGRATE_ISOLATE to MIGRATE_TYPES. By this - MIGRATE_TYPES increases. - bitmap for migratetype is enlarged. pages of MIGRATE_ISOLATE migratetype will not be allocated even if it is free. By this, you can isolated *freed* pages from users. How-to-free pages is not a purpose of this patch. You may use reclaim and migrate codes to free pages. If start_isolate_page_range(start,end) is called, - migratetype of the range turns to be MIGRATE_ISOLATE if its type is MIGRATE_MOVABLE. (*) this check can be updated if other memory reclaiming works make progress. - MIGRATE_ISOLATE is not on migratetype fallback list. - All free pages and will-be-freed pages are isolated. To check all pages in the range are isolated or not, use test_pages_isolated(), To cancel isolation, use undo_isolate_page_range(). Changes V6 -> V7 - removed unnecessary #ifdef There are HOLES_IN_ZONE handling codes...I'm glad if we can remove them.. Signed-off-by: Yasunori Goto Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75884fb1c6388f3713ddcca662f3647b3129aaeb Author: KAMEZAWA Hiroyuki Date: Tue Oct 16 01:26:10 2007 -0700 memory unplug: memory hotplug cleanup A clean up patch for "scanning memory resource [start, end)" operation. Now, find_next_system_ram() function is used in memory hotplug, but this interface is not easy to use and codes are complicated. This patch adds walk_memory_resouce(start,len,arg,func) function. The function 'func' is called per valid memory resouce range in [start,pfn). [pbadari@us.ibm.com: Error handling in walk_memory_resource()] Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48f13bf3e742fca8aab87f6c39451d03bf5952d4 Author: Mel Gorman Date: Tue Oct 16 01:26:10 2007 -0700 Breakout page_order() to internal.h to avoid special knowledge of the buddy allocator The statistics patch later needs to know what order a free page is on the free lists. Rather than having special knowledge of page_private() when PageBuddy() is set, this patch places out page_order() in internal.h and adds a VM_BUG_ON to catch using it on non-PageBuddy pages. Signed-off-by: Mel Gorman Signed-off-by: Christoph Lameter Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea3061d227816d00717446ac12b853d7ae04b4fe Author: Andrew Morton Date: Tue Oct 16 01:26:09 2007 -0700 slub: list_locations() can use GFP_TEMPORARY It's a short-lived allocation. Cc: Christoph Lameter Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42a9fdbb12ac6c027b4b91ab9b5a60aa3a834489 Author: Christoph Lameter Date: Tue Oct 16 01:26:09 2007 -0700 SLUB: Optimize cacheline use for zeroing We touch a cacheline in the kmem_cache structure for zeroing to get the size. However, the hot paths in slab_alloc and slab_free do not reference any other fields in kmem_cache, so we may have to just bring in the cacheline for this one access. Add a new field to kmem_cache_cpu that contains the object size. That cacheline must already be used in the hotpaths. So we save one cacheline on every slab_alloc if we zero. We need to update the kmem_cache_cpu object size if an aliasing operation changes the objsize of an non debug slab. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c93c355d5d563f300df7e61ef753d7a064411e9 Author: Christoph Lameter Date: Tue Oct 16 01:26:08 2007 -0700 SLUB: Place kmem_cache_cpu structures in a NUMA aware way The kmem_cache_cpu structures introduced are currently an array placed in the kmem_cache struct. Meaning the kmem_cache_cpu structures are overwhelmingly on the wrong node for systems with a higher amount of nodes. These are performance critical structures since the per node information has to be touched for every alloc and free in a slab. In order to place the kmem_cache_cpu structure optimally we put an array of pointers to kmem_cache_cpu structs in kmem_cache (similar to SLAB). However, the kmem_cache_cpu structures can now be allocated in a more intelligent way. We would like to put per cpu structures for the same cpu but different slab caches in cachelines together to save space and decrease the cache footprint. However, the slab allocators itself control only allocations per node. We set up a simple per cpu array for every processor with 100 per cpu structures which is usually enough to get them all set up right. If we run out then we fall back to kmalloc_node. This also solves the bootstrap problem since we do not have to use slab allocator functions early in boot to get memory for the small per cpu structures. Pro: - NUMA aware placement improves memory performance - All global structures in struct kmem_cache become readonly - Dense packing of per cpu structures reduces cacheline footprint in SMP and NUMA. - Potential avoidance of exclusive cacheline fetches on the free and alloc hotpath since multiple kmem_cache_cpu structures are in one cacheline. This is particularly important for the kmalloc array. Cons: - Additional reference to one read only cacheline (per cpu array of pointers to kmem_cache_cpu) in both slab_alloc() and slab_free(). [akinobu.mita@gmail.com: fix cpu hotplug offline/online path] Signed-off-by: Christoph Lameter Cc: "Pekka Enberg" Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee3c72a14bfecdf783738032ff3c73ef6412f5b3 Author: Christoph Lameter Date: Tue Oct 16 01:26:07 2007 -0700 SLUB: Avoid touching page struct when freeing to per cpu slab Set c->node to -1 if we allocate from a debug slab instead for SlabDebug which requires access the page struct cacheline. Signed-off-by: Christoph Lameter Tested-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3fba8da653999c67d7517050f196e92da6f8d3b Author: Christoph Lameter Date: Tue Oct 16 01:26:06 2007 -0700 SLUB: Move page->offset to kmem_cache_cpu->offset We need the offset from the page struct during slab_alloc and slab_free. In both cases we also reference the cacheline of the kmem_cache_cpu structure. We can therefore move the offset field into the kmem_cache_cpu structure freeing up 16 bits in the page struct. Moving the offset allows an allocation from slab_alloc() without touching the page struct in the hot path. The only thing left in slab_free() that touches the page struct cacheline for per cpu freeing is the checking of SlabDebug(page). The next patch deals with that. Use the available 16 bits to broaden page->inuse. More than 64k objects per slab become possible and we can get rid of the checks for that limitation. No need anymore to shrink the order of slabs if we boot with 2M sized slabs (slub_min_order=9). No need anymore to switch off the offset calculation for very large slabs since the field in the kmem_cache_cpu structure is 32 bits and so the offset field can now handle slab sizes of up to 8GB. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e65d24c7caf2a4c69b3ae0ce170bf3082ba359f Author: Christoph Lameter Date: Tue Oct 16 01:26:06 2007 -0700 SLUB: Do not use page->mapping After moving the lockless_freelist to kmem_cache_cpu we no longer need page->lockless_freelist. Restructure the use of the struct page fields in such a way that we never touch the mapping field. This is turn allows us to remove the special casing of SLUB when determining the mapping of a page (needed for corner cases of virtual caches machines that need to flush caches of processors mapping a page). Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfb4f09609827301740ef0a11b37530d190f1681 Author: Christoph Lameter Date: Tue Oct 16 01:26:05 2007 -0700 SLUB: Avoid page struct cacheline bouncing due to remote frees to cpu slab A remote free may access the same page struct that also contains the lockless freelist for the cpu slab. If objects have a short lifetime and are freed by a different processor then remote frees back to the slab from which we are currently allocating are frequent. The cacheline with the page struct needs to be repeately acquired in exclusive mode by both the allocating thread and the freeing thread. If this is frequent enough then performance will suffer because of cacheline bouncing. This patchset puts the lockless_freelist pointer in its own cacheline. In order to make that happen we introduce a per cpu structure called kmem_cache_cpu. Instead of keeping an array of pointers to page structs we now keep an array to a per cpu structure that--among other things--contains the pointer to the lockless freelist. The freeing thread can then keep possession of exclusive access to the page struct cacheline while the allocating thread keeps its exclusive access to the cacheline containing the per cpu structure. This works as long as the allocating cpu is able to service its request from the lockless freelist. If the lockless freelist runs empty then the allocating thread needs to acquire exclusive access to the cacheline with the page struct lock the slab. The allocating thread will then check if new objects were freed to the per cpu slab. If so it will keep the slab as the cpu slab and continue with the recently remote freed objects. So the allocating thread can take a series of just freed remote pages and dish them out again. Ideally allocations could be just recycling objects in the same slab this way which will lead to an ideal allocation / remote free pattern. The number of objects that can be handled in this way is limited by the capacity of one slab. Increasing slab size via slub_min_objects/ slub_max_order may increase the number of objects and therefore performance. If the allocating thread runs out of objects and finds that no objects were put back by the remote processor then it will retrieve a new slab (from the partial lists or from the page allocator) and start with a whole new set of objects while the remote thread may still be freeing objects to the old cpu slab. This may then repeat until the new slab is also exhausted. If remote freeing has freed objects in the earlier slab then that earlier slab will now be on the partial freelist and the allocating thread will pick that slab next for allocation. So the loop is extended. However, both threads need to take the list_lock to make the swizzling via the partial list happen. It is likely that this kind of scheme will keep the objects being passed around to a small set that can be kept in the cpu caches leading to increased performance. More code cleanups become possible: - Instead of passing a cpu we can now pass a kmem_cache_cpu structure around. Allows reducing the number of parameters to various functions. - Can define a new node_match() function for NUMA to encapsulate locality checks. Effect on allocations: Cachelines touched before this patch: Write: page cache struct and first cacheline of object Cachelines touched after this patch: Write: kmem_cache_cpu cacheline and first cacheline of object Read: page cache struct (but see later patch that avoids touching that cacheline) The handling when the lockless alloc list runs empty gets to be a bit more complicated since another cacheline has now to be written to. But that is halfway out of the hot path. Effect on freeing: Cachelines touched before this patch: Write: page_struct and first cacheline of object Cachelines touched after this patch depending on how we free: Write(to cpu_slab): kmem_cache_cpu struct and first cacheline of object Write(to other): page struct and first cacheline of object Read(to cpu_slab): page struct to id slab etc. (but see later patch that avoids touching the page struct on free) Read(to other): cpu local kmem_cache_cpu struct to verify its not the cpu slab. Summary: Pro: - Distinct cachelines so that concurrent remote frees and local allocs on a cpuslab can occur without cacheline bouncing. - Avoids potential bouncing cachelines because of neighboring per cpu pointer updates in kmem_cache's cpu_slab structure since it now grows to a cacheline (Therefore remove the comment that talks about that concern). Cons: - Freeing objects now requires the reading of one additional cacheline. That can be mitigated for some cases by the following patches but its not possible to completely eliminate these references. - Memory usage grows slightly. The size of each per cpu object is blown up from one word (pointing to the page_struct) to one cacheline with various data. So this is NR_CPUS*NR_SLABS*L1_BYTES more memory use. Lets say NR_SLABS is 100 and a cache line size of 128 then we have just increased SLAB metadata requirements by 12.8k per cpu. (Another later patch reduces these requirements) Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 484f51f820199ab3e0ef15d08f1b6be20f53bf39 Author: Adrian Bunk Date: Tue Oct 16 01:26:03 2007 -0700 mm/page_alloc.c: make code static This patch makes needlessly global code static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 467c996c1e1910633fa8e7adc9b052aa3ed5f97c Author: Mel Gorman Date: Tue Oct 16 01:26:02 2007 -0700 Print out statistics in relation to fragmentation avoidance to /proc/pagetypeinfo This patch provides fragmentation avoidance statistics via /proc/pagetypeinfo. The information is collected only on request so there is no runtime overhead. The statistics are in three parts: The first part prints information on the size of blocks that pages are being grouped on and looks like Page block order: 10 Pages per block: 1024 The second part is a more detailed version of /proc/buddyinfo and looks like Free pages count per migrate type at order 0 1 2 3 4 5 6 7 8 9 10 Node 0, zone DMA, type Unmovable 0 0 0 0 0 0 0 0 0 0 0 Node 0, zone DMA, type Reclaimable 1 0 0 0 0 0 0 0 0 0 0 Node 0, zone DMA, type Movable 0 0 0 0 0 0 0 0 0 0 0 Node 0, zone DMA, type Reserve 0 4 4 0 0 0 0 1 0 1 0 Node 0, zone Normal, type Unmovable 111 8 4 4 2 3 1 0 0 0 0 Node 0, zone Normal, type Reclaimable 293 89 8 0 0 0 0 0 0 0 0 Node 0, zone Normal, type Movable 1 6 13 9 7 6 3 0 0 0 0 Node 0, zone Normal, type Reserve 0 0 0 0 0 0 0 0 0 0 4 The third part looks like Number of blocks type Unmovable Reclaimable Movable Reserve Node 0, zone DMA 0 1 2 1 Node 0, zone Normal 3 17 94 4 To walk the zones within a node with interrupts disabled, walk_zones_in_node() is introduced and shared between /proc/buddyinfo, /proc/zoneinfo and /proc/pagetypeinfo to reduce code duplication. It seems specific to what vmstat.c requires but could be broken out as a general utility function in mmzone.c if there were other other potential users. Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9c2340052278d8eb2ffb16b0484f8f794def4de Author: Mel Gorman Date: Tue Oct 16 01:26:01 2007 -0700 Do not depend on MAX_ORDER when grouping pages by mobility Currently mobility grouping works at the MAX_ORDER_NR_PAGES level. This makes sense for the majority of users where this is also the huge page size. However, on platforms like ia64 where the huge page size is runtime configurable it is desirable to group at a lower order. On x86_64 and occasionally on x86, the hugepage size may not always be MAX_ORDER_NR_PAGES. This patch groups pages together based on the value of HUGETLB_PAGE_ORDER. It uses a compile-time constant if possible and a variable where the huge page size is runtime configurable. It is assumed that grouping should be done at the lowest sensible order and that the user would not want to override this. If this is not true, page_block order could be forced to a variable initialised via a boot-time kernel parameter. One potential issue with this patch is that IA64 now parses hugepagesz with early_param() instead of __setup(). __setup() is called after the memory allocator has been initialised and the pageblock bitmaps already setup. In tests on one IA64 there did not seem to be any problem with using early_param() and in fact may be more correct as it guarantees the parameter is handled before the parsing of hugepages=. Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d100313fd615cc30374ff92e0b3facb053838330 Author: Mel Gorman Date: Tue Oct 16 01:26:00 2007 -0700 Fix calculation in move_freepages_block for counting pages move_freepages_block() returns the number of blocks moved. This value is used to determine if a block of pages should be stolen for the exclusive use of a migrate type or not. However, the value returned is being used correctly. This patch fixes the calculation to return the number of base pages that have been moved. This should be considered a fix to the patch move-free-pages-between-lists-on-steal.patch Credit to Andy Whitcroft for spotting the problem. Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64c5e135bf5a2a7f0ededb3435a31adbe0202f0c Author: Mel Gorman Date: Tue Oct 16 01:25:59 2007 -0700 don't group high order atomic allocations Grouping high-order atomic allocations together was intended to allow bursty users of atomic allocations to work such as e1000 in situations where their preallocated buffers were depleted. This did not work in at least one case with a wireless network adapter needing order-1 allocations frequently. To resolve that, the free pages used for min_free_kbytes were moved to separate contiguous blocks with the patch bias-the-location-of-pages-freed-for-min_free_kbytes-in-the-same-max_order_nr_pages-blocks. It is felt that keeping the free pages in the same contiguous blocks should be sufficient for bursty short-lived high-order atomic allocations to succeed, maybe even with the e1000. Even if there is a failure, increasing the value of min_free_kbytes will free pages as contiguous bloks in contrast to the standard buddy allocator which makes no attempt to keep the minimum number of free pages contiguous. This patch backs out grouping high order atomic allocations together to determine if it is really needed or not. If a new report comes in about high-order atomic allocations failing, the feature can be reintroduced to determine if it fixes the problem or not. As a side-effect, this patch reduces by 1 the number of bits required to track the mobility type of pages within a MAX_ORDER_NR_PAGES block. Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac0e5b7a6b93fb291b01fe1e951e3c16bcdd3503 Author: Mel Gorman Date: Tue Oct 16 01:25:58 2007 -0700 remove PAGE_GROUP_BY_MOBILITY Grouping pages by mobility can be disabled at compile-time. This was considered undesirable by a number of people. However, in the current stack of patches, it is not a simple case of just dropping the configurable patch as it would cause merge conflicts. This patch backs out the configuration option. Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56fd56b868f19385c50af8941a4c78df433b2d32 Author: Mel Gorman Date: Tue Oct 16 01:25:58 2007 -0700 Bias the location of pages freed for min_free_kbytes in the same MAX_ORDER_NR_PAGES blocks The standard buddy allocator always favours the smallest block of pages. The effect of this is that the pages free to satisfy min_free_kbytes tends to be preserved since boot time at the same location of memory ffor a very long time and as a contiguous block. When an administrator sets the reserve at 16384 at boot time, it tends to be the same MAX_ORDER blocks that remain free. This allows the occasional high atomic allocation to succeed up until the point the blocks are split. In practice, it is difficult to split these blocks but when they do split, the benefit of having min_free_kbytes for contiguous blocks disappears. Additionally, increasing min_free_kbytes once the system has been running for some time has no guarantee of creating contiguous blocks. On the other hand, CONFIG_PAGE_GROUP_BY_MOBILITY favours splitting large blocks when there are no free pages of the appropriate type available. A side-effect of this is that all blocks in memory tends to be used up and the contiguous free blocks from boot time are not preserved like in the vanilla allocator. This can cause a problem if a new caller is unwilling to reclaim or does not reclaim for long enough. A failure scenario was found for a wireless network device allocating order-1 atomic allocations but the allocations were not intense or frequent enough for a whole block of pages to be preserved for MIGRATE_HIGHALLOC. This was reproduced on a desktop by booting with mem=256mb, forcing the driver to allocate at order-1, running a bittorrent client (downloading a debian ISO) and building a kernel with -j2. This patch addresses the problem on the desktop machine booted with mem=256mb. It works by setting aside a reserve of MAX_ORDER_NR_PAGES blocks, the number of which depends on the value of min_free_kbytes. These blocks are only fallen back to when there is no other free pages. Then the smallest possible page is used just like the normal buddy allocator instead of the largest possible page to preserve contiguous pages The pages in free lists in the reserve blocks are never taken for another migrate type. The results is that even if min_free_kbytes is set to a low value, contiguous blocks will be preserved in the MIGRATE_RESERVE blocks. This works better than the vanilla allocator because if min_free_kbytes is increased, a new reserve block will be chosen based on the location of reclaimable pages and the block will free up as contiguous pages. In the vanilla allocator, no effort is made to target a block of pages to free as contiguous pages and min_free_kbytes pages are scattered randomly. This effect has been observed on the test machine. min_free_kbytes was set initially low but it was kept as a contiguous free block within MIGRATE_RESERVE. min_free_kbytes was then set to a higher value and over a period of time, the free blocks were within the reserve and coalescing. How long it takes to free up depends on how quickly LRU is rotating. Amusingly, this means that more activity will free the blocks faster. This mechanism potentially replaces MIGRATE_HIGHALLOC as it may be more effective than grouping contiguous free pages together. It all depends on whether the number of active atomic high allocations exceeds min_free_kbytes or not. If the number of active allocations exceeds min_free_kbytes, it's worth it but maybe in that situation, min_free_kbytes should be set higher. Once there are no more reports of allocation failures, a patch will be submitted that backs out MIGRATE_HIGHALLOC and see if the reports stay missing. Credit to Mariusz Kozlowski for discovering the problem, describing the failure scenario and testing patches and scenarios. [akpm@linux-foundation.org: cleanups] Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c0e3066474b57c56ff0d88ca31d95bd14232fee Author: Mel Gorman Date: Tue Oct 16 01:25:56 2007 -0700 Fix corruption of memmap on IA64 SPARSEMEM when mem_section is not a power of 2 There are problems in the use of SPARSEMEM and pageblock flags that causes problems on ia64. The first part of the problem is that units are incorrect in SECTION_BLOCKFLAGS_BITS computation. This results in a map_section's section_mem_map being treated as part of a bitmap which isn't good. This was evident with an invalid virtual address when mem_init attempted to free bootmem pages while relinquishing control from the bootmem allocator. The second part of the problem occurs because the pageblock flags bitmap is be located with the mem_section. The SECTIONS_PER_ROOT computation using sizeof (mem_section) may not be a power of 2 depending on the size of the bitmap. This renders masks and other such things not power of 2 base. This issue was seen with SPARSEMEM_EXTREME on ia64. This patch moves the bitmap outside of mem_section and uses a pointer instead in the mem_section. The bitmaps are allocated when the section is being initialised. Note that sparse_early_usemap_alloc() does not use alloc_remap() like sparse_early_mem_map_alloc(). The allocation required for the bitmap on x86, the only architecture that uses alloc_remap is typically smaller than a cache line. alloc_remap() pads out allocations to the cache size which would be a needless waste. Credit to Bob Picco for identifying the original problem and effecting a fix for the SECTION_BLOCKFLAGS_BITS calculation. Credit to Andy Whitcroft for devising the best way of allocating the bitmaps only when required for the section. [wli@holomorphy.com: warning fix] Signed-off-by: Bob Picco Signed-off-by: Andy Whitcroft Signed-off-by: Mel Gorman Cc: "Luck, Tony" Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46dafbca2bba811665b01d8cedf911204820623c Author: Mel Gorman Date: Tue Oct 16 01:25:55 2007 -0700 Be more agressive about stealing when MIGRATE_RECLAIMABLE allocations fallback MIGRATE_RECLAIMABLE allocations tend to be very bursty in nature like when updatedb starts. It is likely this will occur in situations where MAX_ORDER blocks of pages are not free. This means that updatedb can scatter MIGRATE_RECLAIMABLE pages throughout the address space. This patch is more agressive about stealing blocks of pages for MIGRATE_RECLAIMABLE. Signed-off-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5adc5be7cd1bcef6bb64f5255d2a33f20a3cf5be Author: Mel Gorman Date: Tue Oct 16 01:25:54 2007 -0700 Bias the placement of kernel pages at lower PFNs This patch chooses blocks with lower PFNs when placing kernel allocations. This is particularly important during fallback in low memory situations to stop unmovable pages being placed throughout the entire address space. Signed-off-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ef9acb05a741ec10a5e9122717736de12adced9 Author: Mel Gorman Date: Tue Oct 16 01:25:54 2007 -0700 Do not group pages by mobility type on low memory systems Grouping pages by mobility can only successfully operate when there are more MAX_ORDER_NR_PAGES areas than mobility types. When there are insufficient areas, fallbacks cannot be avoided. This has noticeable performance impacts on machines with small amounts of memory in comparison to MAX_ORDER_NR_PAGES. For example, on IA64 with a configuration including huge pages spans 1GiB with MAX_ORDER_NR_PAGES so would need at least 4GiB of RAM before grouping pages by mobility would be useful. In comparison, an x86 would need 16MB. This patch checks the size of vm_total_pages in build_all_zonelists(). If there are not enough areas, mobility is effectivly disabled by considering all allocations as the same type (UNMOVABLE). This is achived via a __read_mostly flag. With this patch, performance is comparable to disabling grouping pages by mobility at compile-time on a test machine with insufficient memory. With this patch, it is reasonable to get rid of grouping pages by mobility a compile-time option. Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e010487dbe09d63cf916fd1b119d17abd0f48207 Author: Mel Gorman Date: Tue Oct 16 01:25:53 2007 -0700 Group high-order atomic allocations In rare cases, the kernel needs to allocate a high-order block of pages without sleeping. For example, this is the case with e1000 cards configured to use jumbo frames. Migrating or reclaiming pages in this situation is not an option. This patch groups these allocations together as much as possible by adding a new MIGRATE_TYPE. The MIGRATE_HIGHATOMIC type are exactly what they sound like. Care is taken that pages of other migrate types do not use the same blocks as high-order atomic allocations. Signed-off-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e12ba74d8ff3e2f73a583500d7095e406df4d093 Author: Mel Gorman Date: Tue Oct 16 01:25:52 2007 -0700 Group short-lived and reclaimable kernel allocations This patch marks a number of allocations that are either short-lived such as network buffers or are reclaimable such as inode allocations. When something like updatedb is called, long-lived and unmovable kernel allocations tend to be spread throughout the address space which increases fragmentation. This patch groups these allocations together as much as possible by adding a new MIGRATE_TYPE. The MIGRATE_RECLAIMABLE type is for allocations that can be reclaimed on demand, but not moved. i.e. they can be migrated by deleting them and re-reading the information from elsewhere. Signed-off-by: Mel Gorman Cc: Andy Whitcroft Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c361be55b3128474aa66d31092db330b07539103 Author: Mel Gorman Date: Tue Oct 16 01:25:51 2007 -0700 Move free pages between lists on steal When a fallback occurs, there will be free pages for one allocation type stored on the list for another. When a large steal occurs, this patch will move all the free pages within one list to the other. [y-goto@jp.fujitsu.com: fix BUG_ON check at move_freepages()] [apw@shadowen.org: Move to using pfn_valid_within()] Signed-off-by: Mel Gorman Cc: Christoph Lameter Signed-off-by: Yasunori Goto Cc: Bjorn Helgaas Signed-off-by: Andy Whitcroft Cc: Bob Picco Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2c55dc87f4a398b9c4dcc702dbc23a07fe14e23 Author: Mel Gorman Date: Tue Oct 16 01:25:50 2007 -0700 Drain per-cpu lists when high-order allocations fail Per-cpu pages can accidentally cause fragmentation because they are free, but pinned pages in an otherwise contiguous block. When this patch is applied, the per-cpu caches are drained after the direct-reclaim is entered if the requested order is greater than 0. It simply reuses the code used by suspend and hotplug. Signed-off-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b92a6edd4b77a8794adb497280beea5df5e59a14 Author: Mel Gorman Date: Tue Oct 16 01:25:50 2007 -0700 Add a configure option to group pages by mobility The grouping mechanism has some memory overhead and a more complex allocation path. This patch allows the strategy to be disabled for small memory systems or if it is known the workload is suffering because of the strategy. It also acts to show where the page groupings strategy interacts with the standard buddy allocator. Signed-off-by: Mel Gorman Signed-off-by: Joel Schopp Cc: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 535131e6925b4a95f321148ad7293f496e0e58d7 Author: Mel Gorman Date: Tue Oct 16 01:25:49 2007 -0700 Choose pages from the per-cpu list based on migration type The freelists for each migrate type can slowly become polluted due to the per-cpu list. Consider what happens when the following happens 1. A 2^(MAX_ORDER-1) list is reserved for __GFP_MOVABLE pages 2. An order-0 page is allocated from the newly reserved block 3. The page is freed and placed on the per-cpu list 4. alloc_page() is called with GFP_KERNEL as the gfp_mask 5. The per-cpu list is used to satisfy the allocation This results in a kernel page is in the middle of a migratable region. This patch prevents this leak occuring by storing the MIGRATE_ type of the page in page->private. On allocate, a page will only be returned of the desired type, else more pages will be allocated. This may temporarily allow a per-cpu list to go over the pcp->high limit but it'll be corrected on the next free. Care is taken to preserve the hotness of pages recently freed. The additional code is not measurably slower for the workloads we've tested. Signed-off-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2a0ac8875a0a3b9f0739b60526f8c5977d2200f Author: Mel Gorman Date: Tue Oct 16 01:25:48 2007 -0700 Split the free lists for movable and unmovable allocations This patch adds the core of the fragmentation reduction strategy. It works by grouping pages together based on their ability to migrate or be reclaimed. Basically, it works by breaking the list in zone->free_area list into MIGRATE_TYPES number of lists. Signed-off-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 835c134ec4dd755e5c4470af566db226d1e96742 Author: Mel Gorman Date: Tue Oct 16 01:25:47 2007 -0700 Add a bitmap that is used to track flags affecting a block of pages Here is the latest revision of the anti-fragmentation patches. Of particular note in this version is special treatment of high-order atomic allocations. Care is taken to group them together and avoid grouping pages of other types near them. Artifical tests imply that it works. I'm trying to get the hardware together that would allow setting up of a "real" test. If anyone already has a setup and test that can trigger the atomic-allocation problem, I'd appreciate a test of these patches and a report. The second major change is that these patches will apply cleanly with patches that implement anti-fragmentation through zones. kernbench shows effectively no performance difference varying between -0.2% and +2% on a variety of test machines. Success rates for huge page allocation are dramatically increased. For example, on a ppc64 machine, the vanilla kernel was only able to allocate 1% of memory as a hugepage and this was due to a single hugepage reserved as min_free_kbytes. With these patches applied, 17% was allocatable as superpages. With reclaim-related fixes from Andy Whitcroft, it was 40% and further reclaim-related improvements should increase this further. Changelog Since V28 o Group high-order atomic allocations together o It is no longer required to set min_free_kbytes to 10% of memory. A value of 16384 in most cases will be sufficient o Now applied with zone-based anti-fragmentation o Fix incorrect VM_BUG_ON within buffered_rmqueue() o Reorder the stack so later patches do not back out work from earlier patches o Fix bug were journal pages were being treated as movable o Bias placement of non-movable pages to lower PFNs o More agressive clustering of reclaimable pages in reactions to workloads like updatedb that flood the size of inode caches Changelog Since V27 o Renamed anti-fragmentation to Page Clustering. Anti-fragmentation was giving the mistaken impression that it was the 100% solution for high order allocations. Instead, it greatly increases the chances high-order allocations will succeed and lays the foundation for defragmentation and memory hot-remove to work properly o Redefine page groupings based on ability to migrate or reclaim instead of basing on reclaimability alone o Get rid of spurious inits o Per-cpu lists are no longer split up per-type. Instead the per-cpu list is searched for a page of the appropriate type o Added more explanation commentary o Fix up bug in pageblock code where bitmap was used before being initalised Changelog Since V26 o Fix double init of lists in setup_pageset Changelog Since V25 o Fix loop order of for_each_rclmtype_order so that order of loop matches args o gfpflags_to_rclmtype uses gfp_t instead of unsigned long o Rename get_pageblock_type() to get_page_rclmtype() o Fix alignment problem in move_freepages() o Add mechanism for assigning flags to blocks of pages instead of page->flags o On fallback, do not examine the preferred list of free pages a second time The purpose of these patches is to reduce external fragmentation by grouping pages of related types together. When pages are migrated (or reclaimed under memory pressure), large contiguous pages will be freed. This patch works by categorising allocations by their ability to migrate; Movable - The pages may be moved with the page migration mechanism. These are generally userspace pages. Reclaimable - These are allocations for some kernel caches that are reclaimable or allocations that are known to be very short-lived. Unmovable - These are pages that are allocated by the kernel that are not trivially reclaimed. For example, the memory allocated for a loaded module would be in this category. By default, allocations are considered to be of this type HighAtomic - These are high-order allocations belonging to callers that cannot sleep or perform any IO. In practice, this is restricted to jumbo frame allocation for network receive. It is assumed that the allocations are short-lived Instead of having one MAX_ORDER-sized array of free lists in struct free_area, there is one for each type of reclaimability. Once a 2^MAX_ORDER block of pages is split for a type of allocation, it is added to the free-lists for that type, in effect reserving it. Hence, over time, pages of the different types can be clustered together. When the preferred freelists are expired, the largest possible block is taken from an alternative list. Buddies that are split from that large block are placed on the preferred allocation-type freelists to mitigate fragmentation. This implementation gives best-effort for low fragmentation in all zones. Ideally, min_free_kbytes needs to be set to a value equal to 4 * (1 << (MAX_ORDER-1)) pages in most cases. This would be 16384 on x86 and x86_64 for example. Our tests show that about 60-70% of physical memory can be allocated on a desktop after a few days uptime. In benchmarks and stress tests, we are finding that 80% of memory is available as contiguous blocks at the end of the test. To compare, a standard kernel was getting < 1% of memory as large pages on a desktop and about 8-12% of memory as large pages at the end of stress tests. Following this email are 12 patches that implement thie page grouping feature. The first patch introduces a mechanism for storing flags related to a whole block of pages. Then allocations are split between movable and all other allocations. Following that are patches to deal with per-cpu pages and make the mechanism configurable. The next patch moves free pages between lists when partially allocated blocks are used for pages of another migrate type. The second last patch groups reclaimable kernel allocations such as inode caches together. The final patch related to groupings keeps high-order atomic allocations. The last two patches are more concerned with control of fragmentation. The second last patch biases placement of non-movable allocations towards the start of memory. This is with a view of supporting memory hot-remove of DIMMs with higher PFNs in the future. The biasing could be enforced a lot heavier but it would cost. The last patch agressively clusters reclaimable pages like inode caches together. The fragmentation reduction strategy needs to track if pages within a block can be moved or reclaimed so that pages are freed to the appropriate list. This patch adds a bitmap for flags affecting a whole a MAX_ORDER block of pages. In non-SPARSEMEM configurations, the bitmap is stored in the struct zone and allocated during initialisation. SPARSEMEM statically allocates the bitmap in a struct mem_section so that bitmaps do not have to be resized during memory hotadd. This wastes a small amount of memory per unused section (usually sizeof(unsigned long)) but the complexity of dynamically allocating the memory is quite high. Additional credit to Andy Whitcroft who reviewed up an earlier implementation of the mechanism an suggested how to make it a *lot* cleaner. Signed-off-by: Mel Gorman Cc: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 954ffcb35f5aca428661d29b96c4eee82b3c19cd Author: KAMEZAWA Hiroyuki Date: Tue Oct 16 01:25:44 2007 -0700 flush icache before set_pte() on ia64: flush icache at set_pte Current ia64 kernel flushes icache by lazy_mmu_prot_update() *after* set_pte(). This is too late. This patch removes lazy_mmu_prot_update and add modfied set_pte() for flushing if necessary. This patch flush icache of a page when new pte has exec bit. && new pte has present bit && new pte is user's page. && (old *ptep is not present || new pte's pfn is not same to old *ptep's ptn) && new pte's page has no Pg_arch_1 bit. Pg_arch_1 is set when a page is cache consistent. I think this condition checks are much easier to understand than considering "Where sync_icache_dcache() should be inserted ?". pte_user() for ia64 was removed by http://lkml.org/lkml/2007/6/12/67 as clean-up. So, I added it again. Signed-off-by: KAMEZAWA Hiroyuki Cc: "Luck, Tony" Cc: Christoph Lameter Cc: Hugh Dickins Cc: Nick Piggin Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97ee052461446526e1de7236497e6f1b1ffedf8c Author: KAMEZAWA Hiroyuki Date: Tue Oct 16 01:25:43 2007 -0700 flush cache before installing new page at migraton In migration, a new page should be cache flushed before set_pte() in some archs which have virtually-tagged cache. Signed-off-by: KAMEZAWA Hiroyuki Cc: "Luck, Tony" Cc: Christoph Lameter Cc: Hugh Dickins Cc: Nick Piggin Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4106f83a9f86afc423557d0d92ebf4b3f36728c1 Author: Andrea Arcangeli Date: Tue Oct 16 01:25:42 2007 -0700 make swappiness safer to use Swappiness isn't a safe sysctl. Setting it to 0 for example can hang a system. That's a corner case but even setting it to 10 or lower can waste enormous amounts of cpu without making much progress. We've customers who wants to use swappiness but they can't because of the current implementation (if you change it so the system stops swapping it really stops swapping and nothing works sane anymore if you really had to swap something to make progress). This patch from Kurt Garloff makes swappiness safer to use (no more huge cpu usage or hangs with low swappiness values). I think the prev_priority can also be nuked since it wastes 4 bytes per zone (that would be an incremental patch but I wait the nr_scan_[in]active to be nuked first for similar reasons). Clearly somebody at some point noticed how broken that thing was and they had to add min(priority, prev_priority) to give it some reliability, but they didn't go the last mile to nuke prev_priority too. Calculating distress only in function of not-racy priority is correct and sure more than enough without having to add randomness into the equation. Patch is tested on older kernels but it compiles and it's quite simple so... Overall I'm not very satisified by the swappiness tweak, since it doesn't rally do anything with the dirty pagecache that may be inactive. We need another kind of tweak that controls the inactive scan and tunes the can_writepage feature (not yet in mainline despite having submitted it a few times), not only the active one. That new tweak will tell the kernel how hard to scan the inactive list for pure clean pagecache (something the mainline kernel isn't capable of yet). We already have that feature working in all our enterprise kernels with the default reasonable tune, or they can't even run a readonly backup with tar without triggering huge write I/O. I think it should be available also in mainline later. Cc: Nick Piggin Signed-off-by: Kurt Garloff Signed-off-by: Andrea Arcangeli Signed-off-by: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cb062296f73e74768cca2f3eaf90deac54de02d Author: Christoph Lameter Date: Tue Oct 16 01:25:41 2007 -0700 Categorize GFP flags The function of GFP_LEVEL_MASK seems to be unclear. In order to clear up the mystery we get rid of it and replace GFP_LEVEL_MASK with 3 sets of GFP flags: GFP_RECLAIM_MASK Flags used to control page allocator reclaim behavior. GFP_CONSTRAINT_MASK Flags used to limit where allocations can occur. GFP_SLAB_BUG_MASK Flags that the slab allocator BUG()s on. These replace the uses of GFP_LEVEL mask in the slab allocators and in vmalloc.c. The use of the flags not included in these sets may occur as a result of a slab allocation standing in for a page allocation when constructing scatter gather lists. Extraneous flags are cleared and not passed through to the page allocator. __GFP_MOVABLE/RECLAIMABLE, __GFP_COLD and __GFP_COMP will now be ignored if passed to a slab allocator. Change the allocation of allocator meta data in SLAB and vmalloc to not pass through flags listed in GFP_CONSTRAINT_MASK. SLAB already removes the __GFP_THISNODE flag for such allocations. Generalize that to also cover vmalloc. The use of GFP_CONSTRAINT_MASK also includes __GFP_HARDWALL. The impact of allocator metadata placement on access latency to the cachelines of the object itself is minimal since metadata is only referenced on alloc and free. The attempt is still made to place the meta data optimally but we consistently allow fallback both in SLAB and vmalloc (SLUB does not need to allocate metadata like that). Allocator metadata may serve multiple in kernel users and thus should not be subject to the limitations arising from a single allocation context. [akpm@linux-foundation.org: fix fallback_alloc()] Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58c0a4a7864b2dad6da4090813322fcd29a11c92 Author: Yasunori Goto Date: Tue Oct 16 01:25:40 2007 -0700 Fix panic of cpu online with memory less node When a cpu is onlined on memory-less-node box, kernel panics due to touch NULL pointer of pgdat->kswapd. Current kswapd runs only nodes which have memory. So, calling of set_cpus_allowed() is not necessary for memory-less node. This is fix for it. Signed-off-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37b07e4163f7306aa735a6e250e8d22293e5b8de Author: Lee Schermerhorn Date: Tue Oct 16 01:25:39 2007 -0700 memoryless nodes: fixup uses of node_online_map in generic code Here's a cut at fixing up uses of the online node map in generic code. mm/shmem.c:shmem_parse_mpol() Ensure nodelist is subset of nodes with memory. Use node_states[N_HIGH_MEMORY] as default for missing nodelist for interleave policy. mm/shmem.c:shmem_fill_super() initialize policy_nodes to node_states[N_HIGH_MEMORY] mm/page-writeback.c:highmem_dirtyable_memory() sum over nodes with memory mm/page_alloc.c:zlc_setup() allowednodes - use nodes with memory. mm/page_alloc.c:default_zonelist_order() average over nodes with memory. mm/page_alloc.c:find_next_best_node() skip nodes w/o memory. N_HIGH_MEMORY state mask may not be initialized at this time, unless we want to depend on early_calculate_totalpages() [see below]. Will ZONE_MOVABLE ever be configurable? mm/page_alloc.c:find_zone_movable_pfns_for_nodes() spread kernelcore over nodes with memory. This required calling early_calculate_totalpages() unconditionally, and populating N_HIGH_MEMORY node state therein from nodes in the early_node_map[]. If we can depend on this, we can eliminate the population of N_HIGH_MEMORY mask from __build_all_zonelists() and use the N_HIGH_MEMORY mask in find_next_best_node(). mm/mempolicy.c:mpol_check_policy() Ensure nodes specified for policy are subset of nodes with memory. [akpm@linux-foundation.org: fix warnings] Signed-off-by: Lee Schermerhorn Acked-by: Christoph Lameter Cc: Shaohua Li Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e1e7c7a739562a321fda07c7cd2a97a7114f8f8 Author: Christoph Lameter Date: Tue Oct 16 01:25:38 2007 -0700 Memoryless nodes: Use N_HIGH_MEMORY for cpusets cpusets try to ensure that any node added to a cpuset's mems_allowed is on-line and contains memory. The assumption was that online nodes contained memory. Thus, it is possible to add memoryless nodes to a cpuset and then add tasks to this cpuset. This results in continuous series of oom-kill and apparent system hang. Change cpusets to use node_states[N_HIGH_MEMORY] [a.k.a. node_memory_map] in place of node_online_map when vetting memories. Return error if admin attempts to write a non-empty mems_allowed node mask containing only memoryless-nodes. Signed-off-by: Lee Schermerhorn Signed-off-by: Bob Picco Signed-off-by: Nishanth Aravamudan Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 523b945855a1427000ffc707c610abe5947ae607 Author: Christoph Lameter Date: Tue Oct 16 01:25:37 2007 -0700 Memoryless nodes: Fix GFP_THISNODE behavior GFP_THISNODE checks that the zone selected is within the pgdat (node) of the first zone of a nodelist. That only works if the node has memory. A memoryless node will have its first node on another pgdat (node). GFP_THISNODE currently will return simply memory on the first pgdat. Thus it is returning memory on other nodes. GFP_THISNODE should fail if there is no local memory on a node. Add a new set of zonelists for each node that only contain the nodes that belong to the zones itself so that no fallback is possible. Then modify gfp_type to pickup the right zone based on the presence of __GFP_THISNODE. Drop the existing GFP_THISNODE checks from the page_allocators hot path. Signed-off-by: Christoph Lameter Acked-by: Nishanth Aravamudan Tested-by: Lee Schermerhorn Acked-by: Bob Picco Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 633c0666b5a5c41c376a5a7e4304d638dc48c1b9 Author: Christoph Lameter Date: Tue Oct 16 01:25:37 2007 -0700 Memoryless nodes: drop one memoryless node boot warning get_pfn_range_for_nid() is called multiple times for each node at boot time. Each time, it will warn about nodes with no memory, resulting in boot messages like: Node 0 active with no memory Node 0 active with no memory Node 0 active with no memory Node 0 active with no memory Node 0 active with no memory Node 0 active with no memory On node 0 totalpages: 0 Node 0 active with no memory Node 0 active with no memory DMA zone: 0 pages used for memmap Node 0 active with no memory Node 0 active with no memory Normal zone: 0 pages used for memmap Node 0 active with no memory Node 0 active with no memory Movable zone: 0 pages used for memmap and so on for each memoryless node. We already have the "On node N totalpages: ..." and other related messages, so drop the "Node N active with no memory" warnings. Signed-off-by: Lee Schermerhorn Cc: Bob Picco Cc: Nishanth Aravamudan Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37c0708dbee5825df3bd9ce6ef2199c6c1713970 Author: Christoph Lameter Date: Tue Oct 16 01:25:36 2007 -0700 Memoryless nodes: Add N_CPU node state We need the check for a node with cpu in zone reclaim. Zone reclaim will not allow remote zone reclaim if a node has a cpu. [Lee.Schermerhorn@hp.com: Move setup of N_CPU node state mask] Signed-off-by: Christoph Lameter Tested-by: Lee Schermerhorn Acked-by: Bob Picco Cc: Nishanth Aravamudan Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56bbd65df0e92a4a8eb70c5f2b416ae2b6c5fb31 Author: Christoph Lameter Date: Tue Oct 16 01:25:35 2007 -0700 Memoryless nodes: Update memory policy and page migration Online nodes now may have no memory. The checks and initialization must therefore be changed to no longer use the online functions. This will correctly initialize the interleave on bootup to only target nodes with memory and will make sys_move_pages return an error when a page is to be moved to a memoryless node. Similarly we will get an error if MPOL_BIND and MPOL_INTERLEAVE is used on a memoryless node. These are somewhat new semantics. So far one could specify memoryless nodes and we would maybe do the right thing and just ignore the node (or we'd do something strange like with MPOL_INTERLEAVE). If we want to allow the specification of memoryless nodes via memory policies then we need to keep checking for online nodes. Signed-off-by: Christoph Lameter Acked-by: Nishanth Aravamudan Tested-by: Lee Schermerhorn Acked-by: Bob Picco Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4199cfa02b982f4c739e8a6a304d6a40e1935d25 Author: Christoph Lameter Date: Tue Oct 16 01:25:34 2007 -0700 Memoryless nodes: Allow profiling data to fall back to other nodes Processors on memoryless nodes must be able to fall back to remote nodes in order to get a profiling buffer. This may lead to excessive NUMA traffic but I think we should allow this rather than failing. Signed-off-by: Christoph Lameter Acked-by: Nishanth Aravamudan Acked-by: Lee Schermerhorn Acked-by: Bob Picco Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2dca53a9dabe76f49209c9128313347510416c68 Author: Christoph Lameter Date: Tue Oct 16 01:25:33 2007 -0700 Memoryless nodes: Uncached allocator updates The checks for node_online in the uncached allocator are made to make sure that memory is available on these nodes. Thus switch all the checks to use N_HIGH_MEMORY and to N_ONLINE. Signed-off-by: Christoph Lameter Signed-off-by: Jes Sorensen Acked-by: Lee Schermerhorn Acked-by: Bob Picco Cc: Nishanth Aravamudan Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f64dc58c5412233d4d44b0275eaebdc11bde23b3 Author: Christoph Lameter Date: Tue Oct 16 01:25:33 2007 -0700 Memoryless nodes: SLUB support Simply switch all for_each_online_node to for_each_node_state(NORMAL_MEMORY). That way SLUB only operates on nodes with regular memory. Any allocation attempt on a memoryless node or a node with just highmem will fall whereupon SLUB will fetch memory from a nearby node (depending on how memory policies and cpuset describe fallback). Signed-off-by: Christoph Lameter Tested-by: Lee Schermerhorn Acked-by: Bob Picco Cc: Nishanth Aravamudan Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04231b3002ac53f8a64a7bd142fde3fa4b6808c6 Author: Christoph Lameter Date: Tue Oct 16 01:25:32 2007 -0700 Memoryless nodes: Slab support Slab should not allocate control structures for nodes without memory. This may seem to work right now but its unreliable since not all allocations can fall back due to the use of GFP_THISNODE. Switching a few for_each_online_node's to N_NORMAL_MEMORY will allow us to only allocate for nodes that have regular memory. Signed-off-by: Christoph Lameter Acked-by: Nishanth Aravamudan Acked-by: Lee Schermerhorn Acked-by: Bob Picco Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9422ffba4adc82b4b67a3ca6ef51516aa61f8248 Author: Christoph Lameter Date: Tue Oct 16 01:25:31 2007 -0700 Memoryless nodes: No need for kswapd A node without memory does not need a kswapd. So use the memory map instead of the online map when starting kswapd. Signed-off-by: Christoph Lameter Acked-by: Nishanth Aravamudan Tested-by: Lee Schermerhorn Acked-by: Bob Picco Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee31af5d649d8aa6ac7948a6d97ae48367ff2d7e Author: Christoph Lameter Date: Tue Oct 16 01:25:30 2007 -0700 Memoryless nodes: OOM: use N_HIGH_MEMORY map instead of constructing one on the fly constrained_alloc() builds its own memory map for nodes with memory. We have that available in N_HIGH_MEMORY now. So simplify the code. Signed-off-by: Christoph Lameter Acked-by: Nishanth Aravamudan Acked-by: Lee Schermerhorn Acked-by: Bob Picco Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6eaf806a223e61dc5f2de4ab591f11beb97a8f3b Author: Christoph Lameter Date: Tue Oct 16 01:25:30 2007 -0700 Memoryless nodes: Fix interleave behavior for memoryless nodes MPOL_INTERLEAVE currently simply loops over all nodes. Allocations on memoryless nodes will be redirected to nodes with memory. This results in an imbalance because the neighboring nodes to memoryless nodes will get significantly more interleave hits that the rest of the nodes on the system. We can avoid this imbalance by clearing the nodes in the interleave node set that have no memory. If we use the node map of the memory nodes instead of the online nodes then we have only the nodes we want. Signed-off-by: Christoph Lameter Signed-off-by: Nishanth Aravamudan Tested-by: Lee Schermerhorn Acked-by: Bob Picco Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ea1530ab3fdfa85441061909cc8040e84776fd4 Author: Christoph Lameter Date: Tue Oct 16 01:25:29 2007 -0700 Memoryless nodes: introduce mask of nodes with memory It is necessary to know if nodes have memory since we have recently begun to add support for memoryless nodes. For that purpose we introduce a two new node states: N_HIGH_MEMORY and N_NORMAL_MEMORY. A node has its bit in N_HIGH_MEMORY set if it has any memory regardless of the type of mmemory. If a node has memory then it has at least one zone defined in its pgdat structure that is located in the pgdat itself. A node has its bit in N_NORMAL_MEMORY set if it has a lower zone than ZONE_HIGHMEM. This means it is possible to allocate memory that is not subject to kmap. N_HIGH_MEMORY and N_NORMAL_MEMORY can then be used in various places to insure that we do the right thing when we encounter a memoryless node. [akpm@linux-foundation.org: build fix] [Lee.Schermerhorn@hp.com: update N_HIGH_MEMORY node state for memory hotadd] [y-goto@jp.fujitsu.com: Fix memory hotplug + sparsemem build] Signed-off-by: Lee Schermerhorn Signed-off-by: Nishanth Aravamudan Signed-off-by: Christoph Lameter Acked-by: Bob Picco Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Yasunori Goto Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13808910713a98cc1159291e62cdfec92cc94d05 Author: Christoph Lameter Date: Tue Oct 16 01:25:27 2007 -0700 Memoryless nodes: Generic management of nodemasks for various purposes Why do we need to support memoryless nodes? KAMEZAWA Hiroyuki wrote: > For fujitsu, problem is called "empty" node. > > When ACPI's SRAT table includes "possible nodes", ia64 bootstrap(acpi_numa_init) > creates nodes, which includes no memory, no cpu. > > I tried to remove empty-node in past, but that was denied. > It was because we can hot-add cpu to the empty node. > (node-hotplug triggered by cpu is not implemented now. and it will be ugly.) > > > For HP, (Lee can comment on this later), they have memory-less-node. > As far as I hear, HP's machine can have following configration. > > (example) > Node0: CPU0 memory AAA MB > Node1: CPU1 memory AAA MB > Node2: CPU2 memory AAA MB > Node3: CPU3 memory AAA MB > Node4: Memory XXX GB > > AAA is very small value (below 16MB) and will be omitted by ia64 bootstrap. > After boot, only Node 4 has valid memory (but have no cpu.) > > Maybe this is memory-interleave by firmware config. Christoph Lameter wrote: > Future SGI platforms (actually also current one can have but nothing like > that is deployed to my knowledge) have nodes with only cpus. Current SGI > platforms have nodes with just I/O that we so far cannot manage in the > core. So the arch code maps them to the nearest memory node. Lee Schermerhorn wrote: > For the HP platforms, we can configure each cell with from 0% to 100% > "cell local memory". When we configure with <100% CLM, the "missing > percentages" are interleaved by hardware on a cache-line granularity to > improve bandwidth at the expense of latency for numa-challenged > applications [and OSes, but not our problem ;-)]. When we boot Linux on > such a config, all of the real nodes have no memory--it all resides in a > single interleaved pseudo-node. > > When we boot Linux on a 100% CLM configuration [== NUMA], we still have > the interleaved pseudo-node. It contains a few hundred MB stolen from > the real nodes to contain the DMA zone. [Interleaved memory resides at > phys addr 0]. The memoryless-nodes patches, along with the zoneorder > patches, support this config as well. > > Also, when we boot a NUMA config with the "mem=" command line, > specifying less memory than actually exists, Linux takes the excluded > memory "off the top" rather than distributing it across the nodes. This > can result in memoryless nodes, as well. > This patch: Preparation for memoryless node patches. Provide a generic way to keep nodemasks describing various characteristics of NUMA nodes. Remove the node_online_map and the node_possible map and realize the same functionality using two nodes stats: N_POSSIBLE and N_ONLINE. [Lee.Schermerhorn@hp.com: Initialize N_*_MEMORY and N_CPU masks for non-NUMA config] Signed-off-by: Christoph Lameter Tested-by: Lee Schermerhorn Acked-by: Lee Schermerhorn Acked-by: Bob Picco Cc: Nishanth Aravamudan Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Lee Schermerhorn Cc: "Serge E. Hallyn" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55144768e100b68447f44c5e5c9deb155ad661bd Author: Nick Piggin Date: Tue Oct 16 01:25:26 2007 -0700 fs: remove some AOP_TRUNCATED_PAGE prepare/commit_write no longer returns AOP_TRUNCATED_PAGE since OCFS2 and GFS2 were converted to the new aops, so we can make some simplifications for that. [michal.k.k.piotrowski@gmail.com: fix warning] Signed-off-by: Nick Piggin Cc: Michael Halcrow Cc: Mark Fasheh Cc: Steven Whitehouse Signed-off-by: Michal Piotrowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03158cd7eb3374843de68421142ca5900df845d9 Author: Nick Piggin Date: Tue Oct 16 01:25:25 2007 -0700 fs: restore nobh Implement nobh in new aops. This is a bit tricky. FWIW, nobh_truncate is now implemented in a way that does not create blocks in sparse regions, which is a silly thing for it to have been doing (isn't it?) ext2 survives fsx and fsstress. jfs is converted as well... ext3 should be easy to do (but not done yet). [akpm@linux-foundation.org: coding-style fixes] Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6af1bcd8720cb3062c8c4d4c8ba02bee10ff03f Author: Nick Piggin Date: Tue Oct 16 01:25:24 2007 -0700 ocfs2: convert to new aops Plug ocfs2 into the ->write_begin and ->write_end aops. A bunch of custom code is now gone - the iovec iteration stuff during write and the ocfs2 splice write actor. Signed-off-by: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2b6a16eb8f5b4851b01625a21e0c71207c2ce77 Author: Nick Piggin Date: Tue Oct 16 01:25:24 2007 -0700 fs: affs convert to new aops Cc: Roman Zippel Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4585729f0b616c95aacafb8c8cb5e1af0d4242f Author: Nick Piggin Date: Tue Oct 16 01:25:23 2007 -0700 fs: adfs convert to new aops Acked-by: Russell King Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5c5f84ba9b9138b03ba90f1b7f83a379cfaea6a Author: Nick Piggin Date: Tue Oct 16 01:25:22 2007 -0700 jfs: convert to new aops Signed-off-by: Nick Piggin Acked-by: Dave Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a66af9eaa9531372cfcb9e20103ed147c729ff9 Author: Nick Piggin Date: Tue Oct 16 01:25:21 2007 -0700 minixfs: convert to new aops Signed-off-by: Nick Piggin Cc: Andries Brouwer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26a6441aadde864132672750b3cf0892e5acaaf4 Author: Nick Piggin Date: Tue Oct 16 01:25:21 2007 -0700 sysv: convert to new aops Signed-off-by: Nick Piggin Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be021ee41a8b65d181fe22799de6be62adf72efb Author: Nick Piggin Date: Tue Oct 16 01:25:20 2007 -0700 udf: convert to new aops Convert udf to new aops. Also seem to have fixed pagecache corruption in udf_adinicb_commit_write -- page was marked uptodate when it is not. Also, fixed the silly setup where prepare_write was doing a kmap to be used in commit_write: just do kmap_atomic in write_end. Use libfs helpers to make this easier. Signed-off-by: Nick Piggin Cc: Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82b9d1d0da8046088b0f505f92a97d12d9804613 Author: Nick Piggin Date: Tue Oct 16 01:25:19 2007 -0700 ufs: convert to new aops Signed-off-by: Nick Piggin Cc: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 205c109a7a96d9a3d8ffe64c4068b70811fef5e8 Author: Nick Piggin Date: Tue Oct 16 01:25:18 2007 -0700 jffs2: convert to new aops Signed-off-by: Nick Piggin Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae361ff46ba93b2644675d9de19e885185f0d0c1 Author: Nick Piggin Date: Tue Oct 16 01:25:17 2007 -0700 hostfs: convert to new aops This also gets rid of a lot of useless read_file stuff. And also optimises the full page write case by marking a !uptodate page uptodate. Signed-off-by: Nick Piggin Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e6f58a1d7ce2fd5ef099f9aec5b3e3f7ba176b4 Author: Nick Piggin Date: Tue Oct 16 01:25:17 2007 -0700 fuse: convert to new aops [mszeredi] - don't send zero length write requests - it is not legal for the filesystem to return with zero written bytes Signed-off-by: Nick Piggin Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb53b3094888be0cf8ddf052277654268904bdf5 Author: Nick Piggin Date: Tue Oct 16 01:25:16 2007 -0700 smbfs: convert to new aops Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4899f9c852564ce7b6d0ca932ac6674bf471fd28 Author: Nick Piggin Date: Tue Oct 16 01:25:16 2007 -0700 nfs: convert to new aops [akpm@linux-foundation.org: fix against git-nfs] [peterz@infradead.org: fix against git-nfs] Signed-off-by: Nick Piggin Acked-by: Trond Myklebust Cc: "J. Bruce Fields" Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a20fa20c549ed569885d871f689a59cfd2f6ff77 Author: Nick Piggin Date: Tue Oct 16 01:25:15 2007 -0700 With reiserfs no longer using the weird generic_cont_expand, remove it completely. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7557e8f7ff785d6c2b5bc914cd1675314ff0fcf Author: Vladimir Saveliev Date: Tue Oct 16 01:25:14 2007 -0700 reiserfs: use generic_cont_expand_simple This patch makes reiserfs to use AOP_FLAG_CONT_EXPAND in order to get rid of the special generic_cont_expand routine Signed-off-by: Vladimir Saveliev Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba9d8cec6c7165e440f9b2413a0464cf3c12fb25 Author: Vladimir Saveliev Date: Tue Oct 16 01:25:14 2007 -0700 reiserfs: convert to new aops Convert reiserfs to new aops Signed-off-by: Vladimir Saveliev Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 797b4cffdf79b9ed66759b8d2d5252eba965fb18 Author: Vladimir Saveliev Date: Tue Oct 16 01:25:12 2007 -0700 reiserfs: use generic write Make reiserfs to write via generic routines. Original reiserfs write optimized for big writes is deadlock rone Signed-off-by: Vladimir Saveliev Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f87061842877cf822251c65b39cc624cc94046da Author: Nick Piggin Date: Tue Oct 16 01:25:12 2007 -0700 qnx4: convert to new aops Signed-off-by: Nick Piggin Acked-by: Anders Larsen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eedcbba5e012978ec1bf972723aa02ab4df972e6 Author: Nick Piggin Date: Tue Oct 16 01:25:11 2007 -0700 bfs: convert to new aops Signed-off-by: Nick Piggin Cc: Tigran Aivazian Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6091b720184c72909ef4dc4059b73bf68abea56 Author: Nick Piggin Date: Tue Oct 16 01:25:10 2007 -0700 hpfs: convert to new aops Signed-off-by: Nick Piggin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c0efc627738c840a685ea0f2c23d09aad7d5d3b Author: Nick Piggin Date: Tue Oct 16 01:25:09 2007 -0700 hfsplus: convert to new aops Signed-off-by: Nick Piggin Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7903d9eed82db81c15ee8b4114187dfdcad7650f Author: Nick Piggin Date: Tue Oct 16 01:25:09 2007 -0700 hfs: convert to new aops Signed-off-by: Nick Piggin Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7777a25a07e88fcfceb30f1a6f799e2ed87abb5 Author: Nick Piggin Date: Tue Oct 16 01:25:08 2007 -0700 fat: convert to new aops Signed-off-by: Nick Piggin Cc: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89e107877b65bf6eff1d63a1302dee9a091586f5 Author: Nick Piggin Date: Tue Oct 16 01:25:07 2007 -0700 fs: new cont helpers Rework the generic block "cont" routines to handle the new aops. Supporting cont_prepare_write would take quite a lot of code to support, so remove it instead (and we later convert all filesystems to use it). write_begin gets passed AOP_FLAG_CONT_EXPAND when called from generic_cont_expand, so filesystems can avoid the old hacks they used. Signed-off-by: Nick Piggin Cc: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7765ec26ae1c01bb29bedf910e4efcced8cc81d2 Author: Steven Whitehouse Date: Tue Oct 16 01:25:07 2007 -0700 gfs2: convert to new aops Cc: Nick Piggin Cc: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d79689c7038ea07182e8d7340786f7fcf8c77780 Author: Nick Piggin Date: Tue Oct 16 01:25:06 2007 -0700 xfs: convert to new aops Signed-off-by: Nick Piggin Cc: David Chinner Cc: Timothy Shimmin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfc1af650a8f36feba6b90a6c398325f885c00bc Author: Nick Piggin Date: Tue Oct 16 01:25:05 2007 -0700 ext4: convert to new aops Convert ext4 to use write_begin()/write_end() methods. Signed-off-by: Badari Pulavarty Signed-off-by: Nick Piggin Cc: Dmitriy Monakhov Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4fc66a894546bdc88a775d0e83ad20a65210bcb Author: Nick Piggin Date: Tue Oct 16 01:25:05 2007 -0700 ext3: convert to new aops Various fixes and improvements Signed-off-by: Badari Pulavarty Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f34fb6eccc962e4137b77c4bbe1e9a31d27a30e6 Author: Nick Piggin Date: Tue Oct 16 01:25:04 2007 -0700 ext2: convert to new aops Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6272b5a5868f3d5fbf9815f9984891ced343dabc Author: Nick Piggin Date: Tue Oct 16 01:25:04 2007 -0700 block_dev: convert to new aops Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 800d15a53e7d14fa26495b7b95d3bfe7877dd69d Author: Nick Piggin Date: Tue Oct 16 01:25:03 2007 -0700 implement simple fs aops Implement new aops for some of the simpler filesystems. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 674b892ede247ef4fb8d00918f02e29c32b9bbaf Author: Nick Piggin Date: Tue Oct 16 01:25:03 2007 -0700 mm: restore KERNEL_DS optimisations Restore the KERNEL_DS optimisation, especially helpful to the 2copy write path. This may be a pretty questionable gain in most cases, especially after the legacy 2copy write path is removed, but it doesn't cost much. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8268f5a7415d914fc855a86aa2284ac819dc6b2e Author: Dmitry Monakhov Date: Tue Oct 16 01:25:02 2007 -0700 deny partial write for loop dev fd Partial write can be easily supported by LO_CRYPT_NONE mode, but it is not easy in LO_CRYPT_CRYPTOAPI case, because of its block nature. I don't know who still used cryptoapi, but theoretically it is possible. So let's leave things as they are. Loop device doesn't support partial write before Nick's "write_begin/write_end" patch set, and let's it behave the same way after. Signed-off-by: Dmitriy Monakhov Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afddba49d18f346e5cc2938b6ed7c512db18ca68 Author: Nick Piggin Date: Tue Oct 16 01:25:01 2007 -0700 fs: introduce write_begin, write_end, and perform_write aops These are intended to replace prepare_write and commit_write with more flexible alternatives that are also able to avoid the buffered write deadlock problems efficiently (which prepare_write is unable to do). [mark.fasheh@oracle.com: API design contributions, code review and fixes] [akpm@linux-foundation.org: various fixes] [dmonakhov@sw.ru: new aop block_write_begin fix] Signed-off-by: Nick Piggin Signed-off-by: Mark Fasheh Signed-off-by: Dmitriy Monakhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 637aff46f94a754207c80c8c64bf1b74f24b967d Author: Nick Piggin Date: Tue Oct 16 01:25:00 2007 -0700 fs: fix data-loss on error New buffers against uptodate pages are simply be marked uptodate, while the buffer_new bit remains set. This causes error-case code to zero out parts of those buffers because it thinks they contain stale data: wrong, they are actually uptodate so this is a data loss situation. Fix this by actually clearning buffer_new and marking the buffer dirty. It makes sense to always clear buffer_new before setting a buffer uptodate. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f718ffc16c43a435d12919c75dbfad518abd056 Author: Nick Piggin Date: Tue Oct 16 01:24:59 2007 -0700 mm: buffered write iterator Add an iterator data structure to operate over an iovec. Add usercopy operators needed by generic_file_buffered_write, and convert that function over. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08291429cfa6258c4cd95d8833beb40f828b194e Author: Nick Piggin Date: Tue Oct 16 01:24:59 2007 -0700 mm: fix pagecache write deadlocks Modify the core write() code so that it won't take a pagefault while holding a lock on the pagecache page. There are a number of different deadlocks possible if we try to do such a thing: 1. generic_buffered_write 2. lock_page 3. prepare_write 4. unlock_page+vmtruncate 5. copy_from_user 6. mmap_sem(r) 7. handle_mm_fault 8. lock_page (filemap_nopage) 9. commit_write 10. unlock_page a. sys_munmap / sys_mlock / others b. mmap_sem(w) c. make_pages_present d. get_user_pages e. handle_mm_fault f. lock_page (filemap_nopage) 2,8 - recursive deadlock if page is same 2,8;2,8 - ABBA deadlock is page is different 2,6;b,f - ABBA deadlock if page is same The solution is as follows: 1. If we find the destination page is uptodate, continue as normal, but use atomic usercopies which do not take pagefaults and do not zero the uncopied tail of the destination. The destination is already uptodate, so we can commit_write the full length even if there was a partial copy: it does not matter that the tail was not modified, because if it is dirtied and written back to disk it will not cause any problems (uptodate *means* that the destination page is as new or newer than the copy on disk). 1a. The above requires that fault_in_pages_readable correctly returns access information, because atomic usercopies cannot distinguish between non-present pages in a readable mapping, from lack of a readable mapping. 2. If we find the destination page is non uptodate, unlock it (this could be made slightly more optimal), then allocate a temporary page to copy the source data into. Relock the destination page and continue with the copy. However, instead of a usercopy (which might take a fault), copy the data from the pinned temporary page via the kernel address space. (also, rename maxlen to seglen, because it was confusing) This increases the CPU/memory copy cost by almost 50% on the affected workloads. That will be solved by introducing a new set of pagecache write aops in a subsequent patch. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a9e5ef1f4f15205e477817a5cefc34bd3f65f55 Author: Nick Piggin Date: Tue Oct 16 01:24:58 2007 -0700 mm: write iovec cleanup Hide some of the open-coded nr_segs tests into the iovec helpers. This is all to simplify generic_file_buffered_write, because that gets more complex in the next patch. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb2be189317d031895b5ca534fbf735eb546158b Author: Nick Piggin Date: Tue Oct 16 01:24:57 2007 -0700 mm: buffered write cleanup Quite a bit of code is used in maintaining these "cached pages" that are probably pretty unlikely to get used. It would require a narrow race where the page is inserted concurrently while this process is allocating a page in order to create the spare page. Then a multi-page write into an uncached part of the file, to make use of it. Next, the buffered write path (and others) uses its own LRU pagevec when it should be just using the per-CPU LRU pagevec (which will cut down on both data and code size cacheline footprint). Also, these private LRU pagevecs are emptied after just a very short time, in contrast with the per-CPU pagevecs that are persistent. Net result: 7.3 times fewer lru_lock acquisitions required to add the pages to pagecache for a bulk write (in 4K chunks). [this gets rid of some cond_resched() calls in readahead.c and mpage.c due to clashes in -mm. What put them there, and why? ] Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64649a58919e66ec21792dbb6c48cb3da22cbd7f Author: Nick Piggin Date: Tue Oct 16 01:24:56 2007 -0700 mm: trim more holes If prepare_write fails with AOP_TRUNCATED_PAGE, or if commit_write fails, then we may have failed the write operation despite prepare_write having instantiated blocks past i_size. Fix this, and consolidate the trimming into one place. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fe172370687e03cc6ba8dca990b75db18ff9bb3 Author: Nick Piggin Date: Tue Oct 16 01:24:56 2007 -0700 mm: debug write deadlocks Allow CONFIG_DEBUG_VM to switch off the prefaulting logic, to simulate the Makes the race much easier to hit. This is useful for demonstration and testing purposes, but is removed in a subsequent patch. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae37461c70bc8c8416cad1bab13a9898ed030aa1 Author: Andrew Morton Date: Tue Oct 16 01:24:55 2007 -0700 mm: clean up buffered write code Rename some variables and fix some types. Signed-off-by: Andrew Morton Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6814d7a91289ceb143285975e244a8f00fd3a830 Author: Andrew Morton Date: Tue Oct 16 01:24:54 2007 -0700 Revert "[PATCH] generic_file_buffered_write(): deadlock on vectored write" This reverts commit 6527c2bdf1f833cc18e8f42bd97973d583e4aa83, which fixed the following bug: When prefaulting in the pages in generic_file_buffered_write(), we only faulted in the pages for the firts segment of the iovec. If the second of successive segment described a mmapping of the page into which we're write()ing, and that page is not up-to-date, the fault handler tries to lock the already-locked page (to bring it up to date) and deadlocks. An exploit for this bug is in writev-deadlock-demo.c, in http://www.zip.com.au/~akpm/linux/patches/stuff/ext3-tools.tar.gz. (These demos assume blocksize < PAGE_CACHE_SIZE). The problem with this fix is that it takes the kernel back to doing a single prepare_write()/commit_write() per iovec segment. So in the worst case we'll run prepare_write+commit_write 1024 times where we previously would have run it once. The other problem with the fix is that it fix all the locking problems. And apparently this change killed NFS overwrite performance, because, I suppose, it talks to the server for each prepare_write+commit_write. So just back that patch out - we'll be fixing the deadlock by other means. Nick says: also it only ever actually papered over the bug, because after faulting in the pages, they might be unmapped or reclaimed. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b49643fbb3fa8bf4910f82be02d45e94e8972a4 Author: Andrew Morton Date: Tue Oct 16 01:24:54 2007 -0700 Revert "[PATCH] generic_file_buffered_write(): handle zero-length iovec segments" This reverts commit 81b0c8713385ce1b1b9058e916edcf9561ad76d6, which was a bugfix against 6527c2bdf1f833cc18e8f42bd97973d583e4aa83 ("[PATCH] generic_file_buffered_write(): deadlock on vectored write"), which we also revert. Signed-off-by: Andrew Morton Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41cb8ac025dbbf6782eae10d231e7e2336ad3724 Author: Nick Piggin Date: Tue Oct 16 01:24:53 2007 -0700 mm: revert KERNEL_DS buffered write optimisation Revert the patch from Neil Brown to optimise NFSD writev handling. Cc: Neil Brown Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 902aaed0d983dfd459fcb2b678608d4584782200 Author: Hisashi Hifumi Date: Tue Oct 16 01:24:52 2007 -0700 mm: use pagevec to rotate reclaimable page While running some memory intensive load, system response deteriorated just after swap-out started. The cause of this problem is that when a PG_reclaim page is moved to the tail of the inactive LRU list in rotate_reclaimable_page(), lru_lock spin lock is acquired every page writeback . This deteriorates system performance and makes interrupt hold off time longer when swap-out started. Following patch solves this problem. I use pagevec in rotating reclaimable pages to mitigate LRU spin lock contention and reduce interrupt hold off time. I did a test that allocating and touching pages in multiple processes, and pinging to the test machine in flooding mode to measure response under memory intensive load. The test result is: -2.6.23-rc5 --- testmachine ping statistics --- 3000 packets transmitted, 3000 received, 0% packet loss, time 53222ms rtt min/avg/max/mdev = 0.074/0.652/172.228/7.176 ms, pipe 11, ipg/ewma 17.746/0.092 ms -2.6.23-rc5-patched --- testmachine ping statistics --- 3000 packets transmitted, 3000 received, 0% packet loss, time 51924ms rtt min/avg/max/mdev = 0.072/0.108/3.884/0.114 ms, pipe 2, ipg/ewma 17.314/0.091 ms Max round-trip-time was improved. The test machine spec is that 4CPU(3.16GHz, Hyper-threading enabled) 8GB memory , 8GB swap. I did ping test again to observe performance deterioration caused by taking a ref. -2.6.23-rc6-with-modifiedpatch --- testmachine ping statistics --- 3000 packets transmitted, 3000 received, 0% packet loss, time 53386ms rtt min/avg/max/mdev = 0.074/0.110/4.716/0.147 ms, pipe 2, ipg/ewma 17.801/0.129 ms The result for my original patch is as follows. -2.6.23-rc5-with-originalpatch --- testmachine ping statistics --- 3000 packets transmitted, 3000 received, 0% packet loss, time 51924ms rtt min/avg/max/mdev = 0.072/0.108/3.884/0.114 ms, pipe 2, ipg/ewma 17.314/0.091 ms The influence to response was small. [akpm@linux-foundation.org: fix uninitalised var warning] [hugh@veritas.com: fix locking] [randy.dunlap@oracle.com: fix function declaration] [hugh@veritas.com: fix BUG at include/linux/mm.h:220!] [hugh@veritas.com: kill redundancy in rotate_reclaimable_page] [hugh@veritas.com: move_tail_pages into lru_add_drain] Signed-off-by: Hisashi Hifumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 754af6f5a85fcd1ecb456851d20c65e4c6ce10ab Author: Lee Schermerhorn Date: Tue Oct 16 01:24:51 2007 -0700 Mem Policy: add MPOL_F_MEMS_ALLOWED get_mempolicy() flag Allow an application to query the memories allowed by its context. Updated numa_memory_policy.txt to mention that applications can use this to obtain allowed memories for constructing valid policies. TODO: update out-of-tree libnuma wrapper[s], or maybe add a new wrapper--e.g., numa_get_mems_allowed() ? Also, update numa syscall man pages. Tested with memtoy V>=0.13. Signed-off-by: Lee Schermerhorn Acked-by: Christoph Lameter Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32a4330d4156e55a4888a201f484dbafed9504ed Author: Rik van Riel Date: Tue Oct 16 01:24:50 2007 -0700 mm: prevent kswapd from freeing excessive amounts of lowmem The current VM can get itself into trouble fairly easily on systems with a small ZONE_HIGHMEM, which is common on i686 computers with 1GB of memory. On one side, page_alloc() will allocate down to zone->pages_low, while on the other side, kswapd() and balance_pgdat() will try to free memory from every zone, until every zone has more free pages than zone->pages_high. Highmem can be filled up to zone->pages_low with page tables, ramfs, vmalloc allocations and other unswappable things quite easily and without many bad side effects, since we still have a huge ZONE_NORMAL to do future allocations from. However, as long as the number of free pages in the highmem zone is below zone->pages_high, kswapd will continue swapping things out from ZONE_NORMAL, too! Sami Farin managed to get his system into a stage where kswapd had freed about 700MB of low memory and was still "going strong". The attached patch will make kswapd stop paging out data from zones when there is more than enough memory free. We do go above zone->pages_high in order to keep pressure between zones equal in normal circumstances, but the patch should prevent the kind of excesses that made Sami's computer totally unusable. Signed-off-by: Rik van Riel Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8691f3a72f32f8b3ed535faa27140b3ae293c90b Author: Jesper Juhl Date: Tue Oct 16 01:24:49 2007 -0700 mm: no need to cast vmalloc() return value in zone_wait_table_init() vmalloc() returns a void pointer, so there's no need to cast its return value in mm/page_alloc.c::zone_wait_table_init(). Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26fb1589cb0aaec3a0b4418c54f30c1a2b1781f6 Author: Jeff Moyer Date: Tue Oct 16 01:24:49 2007 -0700 fix the max path calculation in radix-tree.c A while back, Nick Piggin introduced a patch to reduce the node memory usage for small files (commit cfd9b7df4abd3257c9e381b0e445817b26a51c0c): -#define RADIX_TREE_MAP_SHIFT 6 +#define RADIX_TREE_MAP_SHIFT (CONFIG_BASE_SMALL ? 4 : 6) Unfortunately, he didn't take into account the fact that the calculation of the maximum path was based on an assumption of having to round up: #define RADIX_TREE_MAX_PATH (RADIX_TREE_INDEX_BITS/RADIX_TREE_MAP_SHIFT + 2) So, if CONFIG_BASE_SMALL is set, you will end up with a RADIX_TREE_MAX_PATH that is one greater than necessary. The practical upshot of this is just a bit of wasted memory (one long in the height_to_maxindex array, an extra pre-allocated radix tree node per cpu, and extra stack usage in a couple of functions), but it seems worth getting right. It's also worth noting that I never build with CONFIG_BASE_SMALL. What I did to test this was duplicate the code in a small user-space program and check the results of the calculations for max path and the contents of the height_to_maxindex array. Signed-off-by: Jeff Moyer Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4b0672db3a698d0684ee6e54f44e2e162a3da1b Author: Nick Piggin Date: Tue Oct 16 01:24:48 2007 -0700 fs: fix nobh error handling nobh mode error handling is not just pretty slack, it's wrong. One cannot zero out the whole page to ensure new blocks are zeroed, because it just brings the whole page "uptodate" with zeroes even if that may not be the correct uptodate data. Also, other parts of the page may already contain dirty data which would get lost by zeroing it out. Thirdly, the writeback of zeroes to the new blocks will also erase existing blocks. All these conditions are pagecache and/or filesystem corruption. The problem comes about because we didn't keep track of which buffers actually are new or old. However it is not enough just to keep only this state, because at the point we start dirtying parts of the page (new blocks, with zeroes), the handling of IO errors becomes impossible without buffers because the page may only be partially uptodate, in which case the page flags allone cannot capture the state of the parts of the page. So allocate all buffers for the page upfront, but leave them unattached so that they don't pick up any other references and can be freed when we're done. If the error path is hit, then zero the new buffers as the regular buffer path does, then attach the buffers to the page so that it can actually be written out correctly and be subject to the normal IO error handling paths. As an upshot, we save 1K of kernel stack on ia64 or powerpc 64K page systems. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68671f35fe8d785277118a333c88768a4f894917 Author: Dmitry Monakhov Date: Tue Oct 16 01:24:47 2007 -0700 mm: add end_buffer_read helper function Move duplicated code from end_buffer_read_XXX methods to separate helper function. Signed-off-by: Dmitry Monakhov Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef8b4520bd9f8294ffce9abd6158085bde5dc902 Author: Christoph Lameter Date: Tue Oct 16 01:24:46 2007 -0700 Slab allocators: fail if ksize is called with a NULL parameter A NULL pointer means that the object was not allocated. One cannot determine the size of an object that has not been allocated. Currently we return 0 but we really should BUG() on attempts to determine the size of something nonexistent. krealloc() interprets NULL to mean a zero sized object. Handle that separately in krealloc(). Signed-off-by: Christoph Lameter Acked-by: Pekka Enberg Cc: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0da7e01f5f37f441cccd7c8c0586e06db0981907 Author: Dean Nelson Date: Tue Oct 16 01:24:45 2007 -0700 calculation of pgoff in do_linear_fault() uses mixed units The calculation of pgoff in do_linear_fault() should use PAGE_SHIFT and not PAGE_CACHE_SHIFT since vma->vm_pgoff is in units of PAGE_SIZE and not PAGE_CACHE_SIZE. At the moment linux/pagemap.h has PAGE_CACHE_SHIFT defined as PAGE_SHIFT, but should that ever change this calculation would break. Signed-off-by: Dean Nelson Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2408c55037c3f7d51a8a100025c47595e71b838c Author: Satyam Sharma Date: Tue Oct 16 01:24:44 2007 -0700 {slub, slob}: use unlikely() for kfree(ZERO_OR_NULL_PTR) check Considering kfree(NULL) would normally occur only in error paths and kfree(ZERO_SIZE_PTR) is uncommon as well, so let's use unlikely() for the condition check in SLUB's and SLOB's kfree() to optimize for the common case. SLAB has this already. Signed-off-by: Satyam Sharma Cc: Pekka Enberg Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c92ff1bde06f69d59b40f3194016aee51cc5da55 Author: Martin Schwidefsky Date: Tue Oct 16 01:24:43 2007 -0700 move mm_struct and vm_area_struct Move the definitions of struct mm_struct and struct vma_area_struct to include/mm_types.h. This allows to define more function in asm/pgtable.h and friends with inline assemblies instead of macros. Compile tested on i386, powerpc, powerpc64, s390-32, s390-64 and x86_64. [aurelien@aurel32.net: build fix] Signed-off-by: Martin Schwidefsky Signed-off-by: Aurelien Jarno Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0bc9875b701c588e448302d41181995c21e8040 Author: Nick Piggin Date: Tue Oct 16 01:24:42 2007 -0700 radix-tree: use indirect bit Rather than sign direct radix-tree pointers with a special bit, sign the indirect one that hangs off the root. This means that, given a lookup_slot operation, the invalid result will be differentiated from the valid (previously, valid results could have the bit either set or clear). This does not affect slot lookups which occur under lock -- they can never return an invalid result. Is needed in future for lockless pagecache. Signed-off-by: Nick Piggin Acked-by: Peter Zijlstra Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b55ed816235cf41c29159d22a4cdeec7deb5821c Author: Nick Piggin Date: Tue Oct 16 01:24:42 2007 -0700 mm: clarify __add_to_swap_cache locking __add_to_swap_cache unconditionally sets the page locked, which can be a bit alarming to the unsuspecting reader: in the code paths where the page is visible to other CPUs, the page should be (and is) already locked. Instead, just add a check to ensure the page is locked here, and teach the one path relying on the old behaviour to call SetPageLocked itself. [hugh@veritas.com: locking fix] Signed-off-by: Nick Piggin Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45726cb43d11b288c58243a26010f397054222f0 Author: Nick Piggin Date: Tue Oct 16 01:24:41 2007 -0700 mm: improve find_lock_page find_lock_page does not need to recheck ->index because if the page is in the right mapping then the index must be the same. Also, tree_lock does not need to be retaken after the page is locked in order to test that ->mapping has not changed, because holding the page lock pins its mapping. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 001281881067a5998384c6669bc8dbbbab8456c4 Author: Nick Piggin Date: Tue Oct 16 01:24:40 2007 -0700 mm: use lockless radix-tree probe Probing pages and radix_tree_tagged are lockless operations with the lockless radix-tree. Convert these users to RCU locking rather than using tree_lock. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 557ed1fa2620dc119adb86b34c614e152a629a80 Author: Nick Piggin Date: Tue Oct 16 01:24:40 2007 -0700 remove ZERO_PAGE The commit b5810039a54e5babf428e9a1e89fc1940fabff11 contains the note A last caveat: the ZERO_PAGE is now refcounted and managed with rmap (and thus mapcounted and count towards shared rss). These writes to the struct page could cause excessive cacheline bouncing on big systems. There are a number of ways this could be addressed if it is an issue. And indeed this cacheline bouncing has shown up on large SGI systems. There was a situation where an Altix system was essentially livelocked tearing down ZERO_PAGE pagetables when an HPC app aborted during startup. This situation can be avoided in userspace, but it does highlight the potential scalability problem with refcounting ZERO_PAGE, and corner cases where it can really hurt (we don't want the system to livelock!). There are several broad ways to fix this problem: 1. add back some special casing to avoid refcounting ZERO_PAGE 2. per-node or per-cpu ZERO_PAGES 3. remove the ZERO_PAGE completely I will argue for 3. The others should also fix the problem, but they result in more complex code than does 3, with little or no real benefit that I can see. Why? Inserting a ZERO_PAGE for anonymous read faults appears to be a false optimisation: if an application is performance critical, it would not be doing many read faults of new memory, or at least it could be expected to write to that memory soon afterwards. If cache or memory use is critical, it should not be working with a significant number of ZERO_PAGEs anyway (a more compact representation of zeroes should be used). As a sanity check -- mesuring on my desktop system, there are never many mappings to the ZERO_PAGE (eg. 2 or 3), thus memory usage here should not increase much without it. When running a make -j4 kernel compile on my dual core system, there are about 1,000 mappings to the ZERO_PAGE created per second, but about 1,000 ZERO_PAGE COW faults per second (less than 1 ZERO_PAGE mapping per second is torn down without being COWed). So removing ZERO_PAGE will save 1,000 page faults per second when running kbuild, while keeping it only saves less than 1 page clearing operation per second. 1 page clear is cheaper than a thousand faults, presumably, so there isn't an obvious loss. Neither the logical argument nor these basic tests give a guarantee of no regressions. However, this is a reasonable opportunity to try to remove the ZERO_PAGE from the pagefault path. If it is found to cause regressions, we can reintroduce it and just avoid refcounting it. The /dev/zero ZERO_PAGE usage and TLB tricks also get nuked. I don't see much use to them except on benchmarks. All other users of ZERO_PAGE are converted just to use ZERO_PAGE(0) for simplicity. We can look at replacing them all and maybe ripping out ZERO_PAGE completely when we are more satisfied with this solution. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus "snif" Torvalds commit aadb4bc4a1f9108c1d0fbd121827c936c2ed4217 Author: Christoph Lameter Date: Tue Oct 16 01:24:38 2007 -0700 SLUB: direct pass through of page size or higher kmalloc requests This gets rid of all kmalloc caches larger than page size. A kmalloc request larger than PAGE_SIZE > 2 is going to be passed through to the page allocator. This works both inline where we will call __get_free_pages instead of kmem_cache_alloc and in __kmalloc. kfree is modified to check if the object is in a slab page. If not then the page is freed via the page allocator instead. Roughly similar to what SLOB does. Advantages: - Reduces memory overhead for kmalloc array - Large kmalloc operations are faster since they do not need to pass through the slab allocator to get to the page allocator. - Performance increase of 10%-20% on alloc and 50% on free for PAGE_SIZEd allocations. SLUB must call page allocator for each alloc anyways since the higher order pages which that allowed avoiding the page alloc calls are not available in a reliable way anymore. So we are basically removing useless slab allocator overhead. - Large kmallocs yields page aligned object which is what SLAB did. Bad things like using page sized kmalloc allocations to stand in for page allocate allocs can be transparently handled and are not distinguishable from page allocator uses. - Checking for too large objects can be removed since it is done by the page allocator. Drawbacks: - No accounting for large kmalloc slab allocations anymore - No debugging of large kmalloc slab allocations. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57f6b96c09c30e444e0d3fc3080feba037657a7b Author: Fengguang Wu Date: Tue Oct 16 01:24:37 2007 -0700 filemap: convert some unsigned long to pgoff_t Convert some 'unsigned long' to pgoff_t. Signed-off-by: Fengguang Wu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2c3843b1e25e2c67347c4671f33fbe6f5067e6b Author: Fengguang Wu Date: Tue Oct 16 01:24:37 2007 -0700 filemap: trivial code cleanups - remove unused local next_index in do_generic_mapping_read() - remove a redudant page_cache_read() declaration Signed-off-by: Fengguang Wu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2e189827a914b66e435e68b1c9e37775cb995ed Author: Fengguang Wu Date: Tue Oct 16 01:24:36 2007 -0700 readahead: remove the limit max_sectors_kb imposed on max_readahead_kb Remove the size limit max_sectors_kb imposed on max_readahead_kb. The size restriction is unreasonable. Especially when max_sectors_kb cannot grow larger than max_hw_sectors_kb, which can be rather small for some disk drives. Cc: Jens Axboe Signed-off-by: Fengguang Wu Acked-by: Jens Axboe Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 535443f51543df61111bbd234300ae549d220448 Author: Fengguang Wu Date: Tue Oct 16 01:24:36 2007 -0700 readahead: remove several readahead macros Remove VM_MAX_CACHE_HIT, MAX_RA_PAGES and MIN_RA_PAGES. Signed-off-by: Fengguang Wu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ff81078d8b9f3d05a27b7bd3786ffb1ef1b0d1f Author: Fengguang Wu Date: Tue Oct 16 01:24:35 2007 -0700 readahead: remove the local copy of ra in do_generic_mapping_read() The local copy of ra in do_generic_mapping_read() can now go away. It predates readanead(req_size). In a time when the readahead code was called on *every* single page. Hence a local has to be made to reduce the chance of the readahead state being overwritten by a concurrent reader. More details in: Linux: Random File I/O Regressions In 2.6 Cc: Nick Piggin Signed-off-by: Fengguang Wu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b10c6c9fbfe754e8482efb8c8b84f8e40c0f2eb Author: Fengguang Wu Date: Tue Oct 16 01:24:34 2007 -0700 readahead: basic support of interleaved reads This is a simplified version of the pagecache context based readahead. It handles the case of multiple threads reading on the same fd and invalidating each others' readahead state. It does the trick by scanning the pagecache and recovering the current read stream's readahead status. The algorithm works in a opportunistic way, in that it does not try to detect interleaved reads _actively_, which requires a probe into the page cache (which means a little more overhead for random reads). It only tries to handle a previously started sequential readahead whose state was overwritten by another concurrent stream, and it can do this job pretty well. Negative and positive examples(or what you can expect from it): 1) it cannot detect and serve perfect request-by-request interleaved reads right: time stream 1 stream 2 0 1 1 1001 2 2 3 1002 4 3 5 1003 6 4 7 1004 8 5 9 1005 Here no single readahead will be carried out. 2) However, if it's two concurrent reads by two threads, the chance of the initial sequential readahead be started is huge. Once the first sequential readahead is started for a stream, this patch will ensure that the readahead window continues to rampup and won't be disturbed by other streams. time stream 1 stream 2 0 1 1 2 2 1001 3 3 4 1002 5 1003 6 4 7 5 8 1004 9 6 10 1005 11 7 12 1006 13 1007 Here stream 1 will start a readahead at page 2, and stream 2 will start its first readahead at page 1003. From then on the two streams will be served right. Cc: Rusty Russell Signed-off-by: Fengguang Wu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6df8ba4f8a4c4abca9ccad10441d0dddbdff301c Author: Fengguang Wu Date: Tue Oct 16 01:24:33 2007 -0700 radixtree: introduce radix_tree_next_hole() Introduce radix_tree_next_hole(root, index, max_scan) to scan radix tree for the first hole. It will be used in interleaved readahead. The implementation is dumb and obviously correct. It can help debug(and document) the possible smart one in future. Cc: Nick Piggin Signed-off-by: Fengguang Wu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4e6b498d6e06742d72706ef50593a9c4dd72214 Author: Fengguang Wu Date: Tue Oct 16 01:24:33 2007 -0700 readahead: combine file_ra_state.prev_index/prev_offset into prev_pos Combine the file_ra_state members unsigned long prev_index unsigned int prev_offset into loff_t prev_pos It is more consistent and better supports huge files. Thanks to Peter for the nice proposal! [akpm@linux-foundation.org: fix shift overflow] Cc: Peter Zijlstra Signed-off-by: Fengguang Wu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0bb7ba6b9c358c12084a3cbc6ac08c8d1e973937 Author: Fengguang Wu Date: Tue Oct 16 01:24:32 2007 -0700 readahead: mmap read-around simplification Fold file_ra_state.mmap_hit into file_ra_state.mmap_miss and make it an int. Signed-off-by: Fengguang Wu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 937085aa35cc873d427d250a1e304d641af24628 Author: Fengguang Wu Date: Tue Oct 16 01:24:31 2007 -0700 readahead: compacting file_ra_state Use 'unsigned int' instead of 'unsigned long' for readahead sizes. This helps reduce memory consumption on 64bit CPU when a lot of files are opened. CC: Andi Kleen Signed-off-by: Fengguang Wu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43fac94dd62667c83dd2daa5b7ac548512af780a Author: Jesper Juhl Date: Tue Oct 16 01:24:30 2007 -0700 Clean up duplicate includes in mm/ This patch cleans up duplicate includes in mm/ Signed-off-by: Jesper Juhl Acked-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39e91e433169bdfd5a312654e5988986662afd7f Author: Jesper Juhl Date: Tue Oct 16 01:24:30 2007 -0700 Clean up duplicate includes in include/linux/memory_hotplug.h This patch cleans up duplicate includes in include/linux/memory_hotplug.h Signed-off-by: Jesper Juhl Acked-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcca2bde4f86a14d3291660bede8f1844fe2b3df Author: Will Schmidt Date: Tue Oct 16 01:24:18 2007 -0700 During VM oom condition, kill all threads in process group We have had complaints where a threaded application is left in a bad state after one of it's threads is killed when we hit a VM: out_of_memory condition. Killing just one of the process threads can leave the application in a bad state, whereas killing the entire process group would allow for the application to restart, or be otherwise handled, and makes it very obvious that something has gone wrong. This change allows the entire process group to be taken down, rather than just the one thread. Signed-off-by: Will Schmidt Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Russell King Cc: Ian Molton Cc: Haavard Skinnemoen Cc: Mikael Starvik Cc: David Howells Cc: Andi Kleen Cc: "Luck, Tony" Cc: Hirokazu Takata Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Ralf Baechle Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Paul Mundt Cc: Kazumoto Kojima Cc: Richard Curnow Cc: William Lee Irwin III Cc: "David S. Miller" Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1cd7daa51baf0934882bf24a7ae378ec75df665e Author: Adrian Bunk Date: Tue Oct 16 01:24:18 2007 -0700 slub.c:early_kmem_cache_node_alloc() shouldn't be __init WARNING: mm/built-in.o(.text+0x24bd3): Section mismatch: reference to .init.text:early_kmem_cache_node_alloc (between 'init_kmem_cache_nodes' and 'calculate_sizes') ... Signed-off-by: Adrian Bunk Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d29eff7bca60c9ee401d691d4562a4abca8de543 Author: Andy Whitcroft Date: Tue Oct 16 01:24:17 2007 -0700 ppc64: SPARSEMEM_VMEMMAP support Enable virtual memmap support for SPARSEMEM on PPC64 systems. Slice a 16th off the end of the linear mapping space and use that to hold the vmemmap. Uses the same size mapping as uses in the linear 1:1 kernel mapping. [pbadari@gmail.com: fix warning] Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Cc: Christoph Lameter Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: KAMEZAWA Hiroyuki Signed-off-by: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46644c2477c58906e95281636d04e9cc42b39352 Author: David Miller Date: Tue Oct 16 01:24:16 2007 -0700 SPARC64: SPARSEMEM_VMEMMAP support [apw@shadowen.org: style fixups] [apw@shadowen.org: vmemmap sparc64: convert to new config options] Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Acked-by: Christoph Lameter Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef229c5a5e7701ab08a6a06258f415b150348bcc Author: Christoph Lameter Date: Tue Oct 16 01:24:15 2007 -0700 IA64: SPARSEMEM_VMEMMAP 16K page size support Equip IA64 sparsemem with a virtual memmap. This is similar to the existing CONFIG_VIRTUAL_MEM_MAP functionality for DISCONTIGMEM. It uses a PAGE_SIZE mapping. This is provided as a minimally intrusive solution. We split the 128TB VMALLOC area into two 64TB areas and use one for the virtual memmap. This should replace CONFIG_VIRTUAL_MEM_MAP long term. [apw@shadowen.org: convert to new helper based initialisation] Signed-off-by: Christoph Lameter Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Cc: "Luck, Tony" Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0889eba5b38f66d7d892a167d88284daddd3d43b Author: Christoph Lameter Date: Tue Oct 16 01:24:15 2007 -0700 x86_64: SPARSEMEM_VMEMMAP 2M page size support x86_64 uses 2M page table entries to map its 1-1 kernel space. We also implement the virtual memmap using 2M page table entries. So there is no additional runtime overhead over FLATMEM, initialisation is slightly more complex. As FLATMEM still references memory to obtain the mem_map pointer and SPARSEMEM_VMEMMAP uses a compile time constant, SPARSEMEM_VMEMMAP should be superior. With this SPARSEMEM becomes the most efficient way of handling virt_to_page, pfn_to_page and friends for UP, SMP and NUMA on x86_64. [apw@shadowen.org: code resplit, style fixups] [apw@shadowen.org: vmemmap x86_64: ensure end of section memmap is initialised] Signed-off-by: Christoph Lameter Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Cc: Andi Kleen Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29c71111d0557385328211b130246a90f9223b46 Author: Andy Whitcroft Date: Tue Oct 16 01:24:14 2007 -0700 vmemmap: generify initialisation via helpers Convert the common vmemmap population into initialisation helpers for use by architecture vmemmap populators. All architecture implementing the SPARSEMEM_VMEMMAP variant supply an architecture specific vmemmap_populate() initialiser, which may make use of the helpers. This allows us to clean up and remove the initialisation Kconfig entries. With this patch there is a single SPARSEMEM_VMEMMAP_ENABLE Kconfig option to indicate use of that variant. Signed-off-by: Andy Whitcroft Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f6aac419bd590f535fb110875a51f7db2b62b5b Author: Christoph Lameter Date: Tue Oct 16 01:24:13 2007 -0700 Generic Virtual Memmap support for SPARSEMEM SPARSEMEM is a pretty nice framework that unifies quite a bit of code over all the arches. It would be great if it could be the default so that we can get rid of various forms of DISCONTIG and other variations on memory maps. So far what has hindered this are the additional lookups that SPARSEMEM introduces for virt_to_page and page_address. This goes so far that the code to do this has to be kept in a separate function and cannot be used inline. This patch introduces a virtual memmap mode for SPARSEMEM, in which the memmap is mapped into a virtually contigious area, only the active sections are physically backed. This allows virt_to_page page_address and cohorts become simple shift/add operations. No page flag fields, no table lookups, nothing involving memory is required. The two key operations pfn_to_page and page_to_page become: #define __pfn_to_page(pfn) (vmemmap + (pfn)) #define __page_to_pfn(page) ((page) - vmemmap) By having a virtual mapping for the memmap we allow simple access without wasting physical memory. As kernel memory is typically already mapped 1:1 this introduces no additional overhead. The virtual mapping must be big enough to allow a struct page to be allocated and mapped for all valid physical pages. This vill make a virtual memmap difficult to use on 32 bit platforms that support 36 address bits. However, if there is enough virtual space available and the arch already maps its 1-1 kernel space using TLBs (f.e. true of IA64 and x86_64) then this technique makes SPARSEMEM lookups even more efficient than CONFIG_FLATMEM. FLATMEM needs to read the contents of the mem_map variable to get the start of the memmap and then add the offset to the required entry. vmemmap is a constant to which we can simply add the offset. This patch has the potential to allow us to make SPARSMEM the default (and even the only) option for most systems. It should be optimal on UP, SMP and NUMA on most platforms. Then we may even be able to remove the other memory models: FLATMEM, DISCONTIG etc. [apw@shadowen.org: config cleanups, resplit code etc] [kamezawa.hiroyu@jp.fujitsu.com: Fix sparsemem_vmemmap init] [apw@shadowen.org: vmemmap: remove excess debugging] [apw@shadowen.org: simplify initialisation code and reduce duplication] [apw@shadowen.org: pull out the vmemmap code into its own file] Signed-off-by: Christoph Lameter Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Cc: "Luck, Tony" Cc: Andi Kleen Cc: "David S. Miller" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: KAMEZAWA Hiroyuki Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 540557b9439ec19668553830c90222f9fb0c2e95 Author: Andy Whitcroft Date: Tue Oct 16 01:24:11 2007 -0700 sparsemem: record when a section has a valid mem_map We have flags to indicate whether a section actually has a valid mem_map associated with it. This is never set and we rely solely on the present bit to indicate a section is valid. By definition a section is not valid if it has no mem_map and there is a window during init where the present bit is set but there is no mem_map, during which pfn_valid() will return true incorrectly. Use the existing SECTION_HAS_MEM_MAP flag to indicate the presence of a valid mem_map. Switch valid_section{,_nr} and pfn_valid() to this bit. Add a new present_section{,_nr} and pfn_present() interfaces for those users who care to know that a section is going to be valid. [akpm@linux-foundation.org: coding-syle fixes] Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Cc: Christoph Lameter Cc: "Luck, Tony" Cc: Andi Kleen Cc: "David S. Miller" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd881a6b22902b356cacf8fd2e4e895871068eec Author: Andy Whitcroft Date: Tue Oct 16 01:24:10 2007 -0700 sparsemem: clean up spelling error in comments SPARSEMEM is a pretty nice framework that unifies quite a bit of code over all the arches. It would be great if it could be the default so that we can get rid of various forms of DISCONTIG and other variations on memory maps. So far what has hindered this are the additional lookups that SPARSEMEM introduces for virt_to_page and page_address. This goes so far that the code to do this has to be kept in a separate function and cannot be used inline. This patch introduces a virtual memmap mode for SPARSEMEM, in which the memmap is mapped into a virtually contigious area, only the active sections are physically backed. This allows virt_to_page page_address and cohorts become simple shift/add operations. No page flag fields, no table lookups, nothing involving memory is required. The two key operations pfn_to_page and page_to_page become: #define __pfn_to_page(pfn) (vmemmap + (pfn)) #define __page_to_pfn(page) ((page) - vmemmap) By having a virtual mapping for the memmap we allow simple access without wasting physical memory. As kernel memory is typically already mapped 1:1 this introduces no additional overhead. The virtual mapping must be big enough to allow a struct page to be allocated and mapped for all valid physical pages. This vill make a virtual memmap difficult to use on 32 bit platforms that support 36 address bits. However, if there is enough virtual space available and the arch already maps its 1-1 kernel space using TLBs (f.e. true of IA64 and x86_64) then this technique makes SPARSEMEM lookups even more efficient than CONFIG_FLATMEM. FLATMEM needs to read the contents of the mem_map variable to get the start of the memmap and then add the offset to the required entry. vmemmap is a constant to which we can simply add the offset. This patch has the potential to allow us to make SPARSMEM the default (and even the only) option for most systems. It should be optimal on UP, SMP and NUMA on most platforms. Then we may even be able to remove the other memory models: FLATMEM, DISCONTIG etc. The current aim is to bring a common virtually mapped mem_map to all architectures. This should facilitate the removal of the bespoke implementations from the architectures. This also brings performance improvements for most architecture making sparsmem vmemmap the more desirable memory model. The ultimate aim of this work is to expand sparsemem support to encompass all the features of the other memory models. This could allow us to drop support for and remove the other models in the longer term. Below are some comparitive kernbench numbers for various architectures, comparing default memory model against SPARSEMEM VMEMMAP. All but ia64 show marginal improvement; we expect the ia64 figures to be sorted out when the larger mapping support returns. x86-64 non-NUMA Base VMEMAP % change (-ve good) User 85.07 84.84 -0.26 System 34.32 33.84 -1.39 Total 119.38 118.68 -0.59 ia64 Base VMEMAP % change (-ve good) User 1016.41 1016.93 0.05 System 50.83 51.02 0.36 Total 1067.25 1067.95 0.07 x86-64 NUMA Base VMEMAP % change (-ve good) User 30.77 431.73 0.22 System 45.39 43.98 -3.11 Total 476.17 475.71 -0.10 ppc64 Base VMEMAP % change (-ve good) User 488.77 488.35 -0.09 System 56.92 56.37 -0.97 Total 545.69 544.72 -0.18 Below are some AIM bencharks on IA64 and x86-64 (thank Bob). The seems pretty much flat as you would expect. ia64 results 2 cpu non-numa 4Gb SCSI disk Benchmark Version Machine Run Date AIM Multiuser Benchmark - Suite VII "1.1" extreme Jun 1 07:17:24 2007 Tasks Jobs/Min JTI Real CPU Jobs/sec/task 1 98.9 100 58.9 1.3 1.6482 101 5547.1 95 106.0 79.4 0.9154 201 6377.7 95 183.4 158.3 0.5288 301 6932.2 95 252.7 237.3 0.3838 401 7075.8 93 329.8 316.7 0.2941 501 7235.6 94 403.0 396.2 0.2407 600 7387.5 94 472.7 475.0 0.2052 Benchmark Version Machine Run Date AIM Multiuser Benchmark - Suite VII "1.1" vmemmap Jun 1 09:59:04 2007 Tasks Jobs/Min JTI Real CPU Jobs/sec/task 1 99.1 100 58.8 1.2 1.6509 101 5480.9 95 107.2 79.2 0.9044 201 6490.3 95 180.2 157.8 0.5382 301 6886.6 94 254.4 236.8 0.3813 401 7078.2 94 329.7 316.0 0.2942 501 7250.3 95 402.2 395.4 0.2412 600 7399.1 94 471.9 473.9 0.2055 open power 710 2 cpu, 4 Gb, SCSI and configured physically Benchmark Version Machine Run Date AIM Multiuser Benchmark - Suite VII "1.1" extreme May 29 15:42:53 2007 Tasks Jobs/Min JTI Real CPU Jobs/sec/task 1 25.7 100 226.3 4.3 0.4286 101 1096.0 97 536.4 199.8 0.1809 201 1236.4 96 946.1 389.1 0.1025 301 1280.5 96 1368.0 582.3 0.0709 401 1270.2 95 1837.4 771.0 0.0528 501 1251.4 96 2330.1 955.9 0.0416 601 1252.6 96 2792.4 1139.2 0.0347 701 1245.2 96 3276.5 1334.6 0.0296 918 1229.5 96 4345.4 1728.7 0.0223 Benchmark Version Machine Run Date AIM Multiuser Benchmark - Suite VII "1.1" vmemmap May 30 07:28:26 2007 Tasks Jobs/Min JTI Real CPU Jobs/sec/task 1 25.6 100 226.9 4.3 0.4275 101 1049.3 97 560.2 198.1 0.1731 201 1199.1 97 975.6 390.7 0.0994 301 1261.7 96 1388.5 591.5 0.0699 401 1256.1 96 1858.1 771.9 0.0522 501 1220.1 96 2389.7 955.3 0.0406 601 1224.6 96 2856.3 1133.4 0.0340 701 1252.0 96 3258.7 1314.1 0.0298 915 1232.8 96 4319.7 1704.0 0.0225 amd64 2 2-core, 4Gb and SATA Benchmark Version Machine Run Date AIM Multiuser Benchmark - Suite VII "1.1" extreme Jun 2 03:59:48 2007 Tasks Jobs/Min JTI Real CPU Jobs/sec/task 1 13.0 100 446.4 2.1 0.2173 101 533.4 97 1102.0 110.2 0.0880 201 578.3 97 2022.8 220.8 0.0480 301 583.8 97 3000.6 332.3 0.0323 401 580.5 97 4020.1 442.2 0.0241 501 574.8 98 5072.8 558.8 0.0191 600 566.5 98 6163.8 671.0 0.0157 Benchmark Version Machine Run Date AIM Multiuser Benchmark - Suite VII "1.1" vmemmap Jun 3 04:19:31 2007 Tasks Jobs/Min JTI Real CPU Jobs/sec/task 1 13.0 100 447.8 2.0 0.2166 101 536.5 97 1095.6 109.7 0.0885 201 567.7 97 2060.5 219.3 0.0471 301 582.1 96 3009.4 330.2 0.0322 401 578.2 96 4036.4 442.4 0.0240 501 585.1 98 4983.2 555.1 0.0195 600 565.5 98 6175.2 660.6 0.0157 This patch: Fix some spelling errors. Signed-off-by: Christoph Lameter Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Cc: "Luck, Tony" Cc: Andi Kleen Cc: "David S. Miller" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74a0b5762713a26496db72eac34fbbed46f20fce Author: Christoph Hellwig Date: Tue Oct 16 01:24:07 2007 -0700 x86: optimize page faults like all other achitectures and kill notifier cruft x86(-64) are the last architectures still using the page fault notifier cruft for the kprobes page fault hook. This patch converts them to the proper direct calls, and removes the now unused pagefault notifier bits aswell as the cruft in kprobes.c that was related to this mess. I know Andi didn't really like this, but all other architecture maintainers agreed the direct calls are much better and besides the obvious cruft removal a common way of dealing with kprobes across architectures is important aswell. [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: fix sparc64] Signed-off-by: Christoph Hellwig Cc: Andi Kleen Cc: Cc: Prasanna S Panchamukhi Cc: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5a7430ddcdb598261d70f7eb1bf450b5be52085 Author: Mike Travis Date: Tue Oct 16 01:24:05 2007 -0700 Convert cpu_sibling_map to be a per cpu variable Convert cpu_sibling_map from a static array sized by NR_CPUS to a per_cpu variable. This saves sizeof(cpumask_t) * NR unused cpus. Access is mostly from startup and CPU HOTPLUG functions. Signed-off-by: Mike Travis Cc: Andi Kleen Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "David S. Miller" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 083576112940fda783d716fd5ccc744f81667b2f Author: Mike Travis Date: Tue Oct 16 01:24:04 2007 -0700 x86: Convert cpu_core_map to be a per cpu variable This is from an earlier message from 'Christoph Lameter': cpu_core_map is currently an array defined using NR_CPUS. This means that we overallocate since we will rarely really use maximum configured cpu. If we put the cpu_core_map into the per cpu area then it will be allocated for each processor as it comes online. This means that the core map cannot be accessed until the per cpu area has been allocated. Xen does a weird thing here looping over all processors and zeroing the masks that are not yet allocated and that will be zeroed when they are allocated. I commented the code out. Signed-off-by: Christoph Lameter Signed-off-by: Mike Travis Cc: Andi Kleen Cc: Christoph Lameter Cc: "Siddha, Suresh B" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc84634f29d5a92932400a2d52ca17dee2c8a462 Author: Maik Broemme Date: Tue Oct 16 01:24:03 2007 -0700 Add support for Wacom WACF007 and WACF008 to serial pnp driver Notebook manufacturer seems to built a newer Wacom pen enabled tablet to recent tablet pcs which are not recognized by the serial pnp driver. Attached is a patch which makes the newer Wacom WACF007 and WACF008 tablets useable with the serial driver. The device is fully compatible with it. Signed-off-by: Maik Broemme Cc: Andrey Panin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37a6c7d0096bb54daa2cf3cc66a66bdbb57cb204 Author: Atsushi Nemoto Date: Tue Oct 16 01:24:02 2007 -0700 serial_txx9: Use UPF_FIXED_PORT The UPF_FIXED_PORT flags was introduced in 2.6.22 and it can be used instead of the driver specific verify_port routine. Signed-off-by: Atsushi Nemoto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3b708fa2780cd2b5d8266a8f0c3a1cab364d4d2 Author: Guennadi Liakhovetski Date: Tue Oct 16 01:24:02 2007 -0700 wake up from a serial port Enable wakeup from serial ports, make it run-time configurable over sysfs, e.g., echo enabled > /sys/devices/platform/serial8250.0/tty/ttyS0/power/wakeup Requires # CONFIG_SYSFS_DEPRECATED is not set Following suggestions from Alan and Russell moved the may_wake_up checks to serial_core.c. This time actually tested - it does even work. Could someone, please, verify, that put_device after device_find_child is correct? Also would be nice to test with a Natsemi UART, that can wake up the system, if such systems exist. For this you just have to apply the patch below, issue the above "echo" command to one of your Natsemi port, suspend and resume your system, and verify that your Natsemi port still works. If you are actually capable of waking up the system from that port, would be nice to test that as well. Signed-off-by: Guennadi Liakhovetski Cc: Alan Cox Cc: Russell King Cc: Kay Sievers Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa5346a2126ea65e8ef04eebea0f2481f701bdb8 Author: Guennadi Liakhovetski Date: Tue Oct 16 01:24:01 2007 -0700 provide stubs for enable_irq_wake() and disable_irq_wake() Provide {enable,disable}_irq_wakeup dummies for undefined cross-compilers for platforms without CONFIG_GENERIC_IRQ. Needed by wake-up-from-a-serial-port.patch Signed-off-by: Guennadi Liakhovetski Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf0df636e5ddf43cbacff8435962ee8aa40f563e Author: Alan Cox Date: Tue Oct 16 01:24:00 2007 -0700 8250_pci: Autodetect mainpine cards Add support for a whole range of boards. Some are partly autodetected but not fully correctly others (PCI Express notably) not at all. Stick all the right entries in. Thanks to Mainpine for information and testing. Signed-off-by: Alan Cox Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7201863ca7a97e83daea1ea2755750a256245600 Author: Atsushi Nemoto Date: Tue Oct 16 01:23:59 2007 -0700 serial_txx9: cleanup includes Do not include some header files already indluded by serial_core.h. Signed-off-by: Atsushi Nemoto Cc: Ralf Baechle Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43d9f7fda11a3413c99fbbde35005ec3138eb865 Author: James Bottomley Date: Tue Oct 16 01:23:58 2007 -0700 pcmcia: use DMA_MASK_NONE for the default for all pcmcia devices Most non cardbus devices can't do dma, so flag them as such in the device creation routine. Signed-off-by: James Bottomley Cc: Andi Kleen Cc: Alan Cox Cc: Tejun Heo Cc: Natalie Protasevich Cc: Jeff Garzik Cc: Dominik Brodowski Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32e8f70230c0c417490787b3f48b6ed6c48e7ec9 Author: James Bottomley Date: Tue Oct 16 01:23:55 2007 -0700 introduce DMA_MASK_NONE as a signal for unable to do DMA Some devices are incapable of DMA and need to be recognised as such. Introduce a NONE dma mask to facilitate this plus an inline function: is_device_dma_capable() to check this. Signed-off-by: James Bottomley Cc: Andi Kleen Cc: Alan Cox Cc: Tejun Heo Cc: Natalie Protasevich Cc: Jeff Garzik Cc: Dominik Brodowski Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64da82efae0d7b5f7c478021840fd329f76d965d Author: Eric Leblond Date: Tue Oct 16 01:23:54 2007 -0700 Add support for PCMCIA card Sierra WIreless AC850 Add support for Sierra Wireless AC850 which has the same Ids as the AC710/750 but has a different firmware. Cc: Dominik Brodowski Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc0cf6a263d5a094d8c17287407aad1032a613b3 Author: Daniel Ritz Date: Tue Oct 16 01:23:52 2007 -0700 pcmcia: cistpl: use get_unaligned() in CIS parsing Based on a patch by Haavard Skinnemoen posted to linux-pcmcia, but using static inlines for readability reasons. this should fix PCMCIA an AVR32 Signed-off-by: Daniel Ritz Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5446b514c00b3034017609ec4e5a09117b9c8fd Author: Yoichi Yuasa Date: Tue Oct 16 01:23:51 2007 -0700 move a few definitions to au1000_xxs1500.c Only a few definitions is in xxs1500.h . They can be move to au1000_xxs1500.c . [m.kozlowski@tuxland.pl: fix unbalanced parenthesis] Signed-off-by: Yoichi Yuasa Cc: Ralf Baechle Cc: Dominik Brodowski Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24d6572b4f7eae3d015e0e5027df761b3ce4ebcd Author: Milan Plzik Date: Tue Oct 16 01:23:49 2007 -0700 pxa2xx PCMCIA timing issue on iPAQ H5550 Recently I've been trying to get working PCMCIA interface on H5000 ipaq series, using dual PCMCIA sleeve. So far things work correctly, but I had to do one modification to drivers/pcmcia/pxa2xx_base.c to get the interface working with orinoco gold PCMCIA card (wired pcnet_cs ethernet card worked even without this modification). The issue has something to do with assert time on PCMCIA bus, but I'm not really sure what -- I found the working value just by trial&error approach. I'm not sure how is the assert value in pxa2xx_mcxx_asst calculated (I know, simple formula, but the reason why is it calculated that way is not obvious for me), neither that my modification is correct. It just works with iPAQ. Cc: Russell King Cc: Richard Purdie Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42c5323cdd6a30df9ff681dd0adefbe4037c7fd9 Author: Jan Engelhardt Date: Tue Oct 16 01:23:48 2007 -0700 Use menuconfig objects: PCMCIA 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: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0322a2b84096270c238da45f444bd3c9eb6f5e9c Author: Ralf Baechle Date: Tue Oct 16 01:23:47 2007 -0700 Add assembler equivalents to __init{,date}_refok I need __INIT_REFOK to fix a MODPOST warning for a few MIPS configs which have to call init code from .text very early in the game due to bootloader issues. __INITDATA_REFOK is just for consistency. Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfe8df3d314bddf30758bd738e0087e80964760c Author: Randy Dunlap Date: Tue Oct 16 01:23:46 2007 -0700 slow down printk during boot Optionally add a boot delay after each kernel printk() call, crudely measured in milliseconds, with a maximum delay of 10 seconds per printk. Enable CONFIG_BOOT_PRINTK_DELAY=y and then add (e.g.): "lpj=loops_per_jiffy boot_delay=100" to the kernel command line. It has been useful in cases like "during boot, my machine just reboots or the screen goes black" by slowing down printk, (and adding initcall_debug), we can usually see the last thing that happened before the lights went out which is usually a valuable clue. [akpm@linux-foundation.org: not all architectures implement CONFIG_HZ] [akpm@linux-foundation.org: fix lots of stuff] [bunk@stusta.de: kernel/printk.c: make 2 variables static] [heiko.carstens@de.ibm.com: fix slow down printk on boot compile error] Signed-off-by: Randy Dunlap Signed-off-by: Dave Jones Signed-off-by: Adrian Bunk Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bcf548293aef19b0797348332cf1dfbf2116cef Author: Alexey Dobriyan Date: Tue Oct 16 01:23:45 2007 -0700 Consolidate PTRACE_DETACH Identical handlers of PTRACE_DETACH go into ptrace_request(). Not touching compat code. Not touching archs that don't call ptrace_request. Signed-off-by: Alexey Dobriyan Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24837e6f249a2c83667552e6871c1543b4a6b934 Author: Jaroslav Kysela Date: Tue Oct 16 16:57:46 2007 +0200 [ALSA] version 1.0.15 Signed-off-by: Jaroslav Kysela commit b875d650527e1980cc88b2731ac4c209d2e4a0ca Author: Takashi Iwai Date: Tue Sep 11 10:12:14 2007 +0200 [ALSA] Fix thinko in cs4231 mce down check The last patches to replace with schedule_timeout() don't work as expected. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 56f91585b48bb3ca8ec38b84c92d3df2a2f2bf66 Author: Krzysztof Helt Date: Tue Sep 11 00:55:46 2007 +0200 [ALSA] sun-cs4231: improved waiting after MCE down This patch sync sparc driver with x86 isa cs4231 driver patches. It fixes wrong waiting for the auto calibration bit and makes further waiting use much finer granularity. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7e52f3dac7fe08ae7c3e82178c95a43aa0911c33 Author: Krzysztof Helt Date: Wed Sep 5 15:08:23 2007 +0200 [ALSA] sun-cs4231: use cs4231-regs.h This patch replaces cs4231 registers definitions with common include. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e31b6656a81d6332cdf6af17d38a0573128a6aac Author: Krzysztof Helt Date: Tue Oct 16 14:54:58 2007 +0200 [ALSA] This simplifies and fixes waiting loops of the mce_down() function after Trent Piepho's patch for AD1848. It also makes busy_wait() function call not atomic. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f81b953d43c2c12f617da3ecec25e04b5c9e6eb2 Author: Krzysztof Helt Date: Tue Oct 16 14:54:37 2007 +0200 [ALSA] This patch adds support for a wavetable chip on the BTC 1817DW board. The QS1000 is connected through the digital input to the Opti931 chip. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ca2df45a072cef11143f9be8d36c3c256cbebd7b Author: Krzysztof Helt Date: Tue Oct 16 14:54:14 2007 +0200 [ALSA] This patch removes open_mutex from the ad1848-lib as open and close operations are called only from pcm layer and mutexed there with pcm->open_mutex. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c2cbdbb1583830b77f169a717407f035d6627793 Author: Ingo Molnar Date: Tue Oct 16 14:42:30 2007 +0200 [ALSA] fix bootup crash in snd_gus_interrupt() when simulating a storm of fake GUS interrupts (without actually owning this venerable piece of ISA hardware) the driver falls over (crashes) in two ways: 1) spinlocks being initialized too late: INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. [<401058ca>] show_trace_log_lvl+0x1a/0x30 [<401064b2>] show_trace+0x12/0x20 [<401064d6>] dump_stack+0x16/0x20 [<4014a72b>] __lock_acquire+0xcfb/0x1030 [<4014aac0>] lock_acquire+0x60/0x80 [<40721a68>] _spin_lock_irqsave+0x38/0x50 [<4058fc12>] snd_gf1_i_look8+0x22/0x60 [<405906fe>] snd_gus_interrupt+0x13e/0x270 [<401548e8>] handle_IRQ_event+0x28/0x60 [<40155cc1>] handle_fasteoi_irq+0x71/0xe0 [<40107238>] do_IRQ+0x48/0xa0 [<401051fe>] common_interrupt+0x2e/0x40 [<40156822>] register_handler_proc+0x92/0xf0 [<401550c2>] setup_irq+0xe2/0x190 [<40155224>] request_irq+0xb4/0xd0 [<4058f524>] snd_gus_create+0x124/0x3c0 [<40aa4087>] snd_gusclassic_probe+0x2a7/0x4b0 [<403f5eff>] isa_bus_probe+0x1f/0x30 [<403f1944>] driver_probe_device+0x84/0x190 [<403f1a58>] __device_attach+0x8/0x10 [<403f0e63>] bus_for_each_drv+0x53/0x80 [<403f1b1b>] device_attach+0x8b/0x90 [<403f0dd8>] bus_attach_device+0x48/0x80 [<403efdbd>] device_add+0x45d/0x5a0 [<403eff12>] device_register+0x12/0x20 [<403f60c3>] isa_register_driver+0xb3/0x140 [<40aa3dd2>] alsa_card_gusclassic_init+0x12/0x20 [<40a665c3>] kernel_init+0x133/0x310 [<401054a7>] kernel_thread_helper+0x7/0x10 ======================= 2) callback functions not being filled in yet: BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000 printing eip: 00000000 *pde = 00000000 Oops: 0000 [#1] SMP DEBUG_PAGEALLOC CPU: 0 EIP: 0060:[<00000000>] Not tainted VLI EFLAGS: 00010002 (2.6.23 #37) EIP is at 0x0 eax: 7fe94000 ebx: 7fe94000 ecx: 00000000 edx: 00000226 esi: 00000000 edi: 00000005 ebp: 7ff87c28 esp: 7ff87bf4 ds: 007b es: 007b fs: 00d8 gs: 0000 ss: 0068 Process swapper (pid: 1, ti=7ff86000 task=7ff84000 task.ti=7ff86000) Stack: 40590683 408424a9 408db87c 00000029 40787406 00000064 00000046 ff000000 000000ff 00000001 7faefaf0 00000000 00000005 7ff87c40 401548e8 00000000 40a52000 7faefaf0 00000005 7ff87c58 40155cc1 40a52030 00000005 00000000 Call Trace: [<401058ca>] show_trace_log_lvl+0x1a/0x30 [<4010598b>] show_stack_log_lvl+0xab/0xd0 [<40105b7c>] show_registers+0x1cc/0x2d0 [<40105d96>] die+0x116/0x240 [<4011d7bb>] do_page_fault+0x18b/0x670 [<40721d22>] error_code+0x72/0x80 [<401548e8>] handle_IRQ_event+0x28/0x60 [<40155cc1>] handle_fasteoi_irq+0x71/0xe0 [<40107238>] do_IRQ+0x48/0xa0 [<401051fe>] common_interrupt+0x2e/0x40 [<401a344e>] proc_create+0x3e/0x120 [<401a3733>] proc_mkdir_mode+0x23/0x50 [<401a376f>] proc_mkdir+0xf/0x20 [<40156864>] register_handler_proc+0xd4/0xf0 [<401550c2>] setup_irq+0xe2/0x190 [<40155224>] request_irq+0xb4/0xd0 [<4058f524>] snd_gus_create+0x124/0x3c0 [<40aa4087>] snd_gusclassic_probe+0x2a7/0x4b0 [<403f5eff>] isa_bus_probe+0x1f/0x30 [<403f1944>] driver_probe_device+0x84/0x190 [<403f1a58>] __device_attach+0x8/0x10 [<403f0e63>] bus_for_each_drv+0x53/0x80 [<403f1b1b>] device_attach+0x8b/0x90 [<403f0dd8>] bus_attach_device+0x48/0x80 [<403efdbd>] device_add+0x45d/0x5a0 [<403eff12>] device_register+0x12/0x20 [<403f60c3>] isa_register_driver+0xb3/0x140 [<40aa3dd2>] alsa_card_gusclassic_init+0x12/0x20 [<40a665c3>] kernel_init+0x133/0x310 [<401054a7>] kernel_thread_helper+0x7/0x10 ======================= Code: Bad EIP value. EIP: [<00000000>] 0x0 SS:ESP 0068:7ff87bf4 Kernel panic - not syncing: Fatal exception in interrupt with these things fixed, i get the expected 'no such hardware' result from the driver initialization: Calling initcall 0x40aa3dc0: alsa_card_gusclassic_init+0x0/0x20() ALSA sound/isa/gus/gusclassic.c:136: [0x220] check 1 failed - 0xff initcall 0x40aa3dc0: alsa_card_gusclassic_init+0x0/0x20() returned 0. initcall 0x40aa3dc0 ran for 133 msecs: alsa_card_gusclassic_init+0x0/0x20() Signed-off-by: Ingo Molnar Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c9b58006be7e471a5f55d171cbaa08f4aa8078ea Author: Kailang Yang Date: Tue Oct 16 14:30:01 2007 +0200 [ALSA] hda-codec - Fix SKU ID function for realtek codecs Fixed SKU ID function for realtek codecs. It's used by the automatic BIOS configuration mode. Now it supports the correct jack-detection mechanism, too. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 291702f017efdfe556cb87b8530eb7d1ff08cbae Author: Kailang Yang Date: Tue Oct 16 14:28:03 2007 +0200 [ALSA] Support ASUS P701 eeepc [0x1043 0x82a1] support Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f6e9852ad05fa28301c83d4e2b082620de010358 Author: Takashi Iwai Date: Tue Oct 16 14:27:04 2007 +0200 [ALSA] hda-codec - Add array terminator for dmic in STAC codec Reported by Jan-Marek Glogowski. The dmic array is passed to snd_hda_parse_pin_def_config() and should be zero-terminated. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2a3988f6d2c5be9d02463097775d1c66a8290527 Author: Takashi Iwai Date: Tue Oct 16 14:26:32 2007 +0200 [ALSA] hdsp - Fix zero division Fix zero-division bug in the calculation dds offset. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ea045ee4d381428ec9c056ff5848bc619d84986a Author: Takashi Iwai Date: Tue Oct 16 14:26:09 2007 +0200 [ALSA] usb-audio - Fix double comment Remove superfluous comment line (maybe a merge failure). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9066f2443122c1501da64b6faa0038c13f0209f9 Author: Takashi Iwai Date: Tue Oct 16 14:25:16 2007 +0200 [ALSA] hda-codec - Fix STAC922x volume knob control Reported by zhejiang 'I found that STAC_VOLKNOB hardwired the KNOB nid to 0x24. It is okay for stac9205 and stac927x. But the VolumeKnob nid of stac9220-9221 is 0x16.' Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c1017a4cdb68ae5368fbc9ee42c77f1f5dca8916 Author: Jaroslav Kysela Date: Mon Oct 15 09:50:19 2007 +0200 [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz Signed-off-by: Jaroslav Kysela commit 39d3ed381877246719184897c853c0c58028fe54 Author: Takashi Iwai Date: Fri Oct 12 15:03:48 2007 +0200 [ALSA] hda-codec - Fix for Fujitsu Lifebook C1410 Fixed ALC262 fujitsu model to support Fujitsu Lifebook C1410 properly. It requires EAPD and has separate int/ext mic inputs (which was missing in the current driver). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c1099fcb74ddc005c85beaef33bbe68c9bf3b5bb Author: Clemens Ladisch Date: Thu Oct 11 14:42:23 2007 +0200 [ALSA] mpu-401: remove MPU401_INFO_UART_ONLY flag Since the last patch made the ENTER_UART command optional, the enter_uart option and its corresponding flag have become superfluous. The uart_enter option remains for backward compatibility but just prints a warning when used. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 69d8d3eb4df40194485b842c00047bb80e51c6a8 Author: Clemens Ladisch Date: Thu Oct 11 14:15:06 2007 +0200 [ALSA] mpu-401: do not require an ACK byte for the ENTER_UART command The original MPU-401 does not send an ACK byte after processing the ENTER_UART command, so we better do not try to wait for it. Many clones get this wrong and do send an ACK, but when interpreting it as MIDI, it is just a harmless Active Sensing message, and it is likely to be read and discarded by the interrupt handler before the MIDI input device is triggered. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 11be265f7fd4976a1139d6ec9b2ef1e8adaf835f Author: Takashi Iwai Date: Thu Oct 11 14:35:00 2007 +0200 [ALSA] via82xx - Add DXS quirk for Shuttle AK31v2 Shuttle AK31v2 works well with dxs_support=5 (ALSA bug#2926). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a3a2f429e55997e3b7a0c23baf1208991970ecc1 Author: Takashi Iwai Date: Thu Oct 11 11:21:21 2007 +0200 [ALSA] hda-codec - Fix input_mux numbers for vaio stac92xx My bad, I forgot to update the num_items field when added a new item to vaio_mux items table, so the last item 'PCM' disappeared. Now it has the right number 3. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5e915bb3677f1369223a87e488c340236f81bfc2 Author: Tim Gardner Date: Wed Oct 10 10:42:00 2007 +0200 [ALSA] hda-codec - Re-add quirk support for Dell XPS 1330 and Inspiron 1420 Signed-off-by: Tim Gardner Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e6382cf8b0c34be26e667d45911fa827aea8df5c Author: Takashi Iwai Date: Wed Oct 10 10:06:46 2007 +0200 [ALSA] pcxhr - Fix dB level information Some dB level information is wrong in pcxhr driver according to the datasheet. Fixed now. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1194b5b70a0a000a4ace54d94d8df5cc3ec6e3e0 Author: Takashi Iwai Date: Wed Oct 10 10:04:26 2007 +0200 [ALSA] hda-codec - Fix Gateway laptops with STAC9200 Fix the output of Gateway laptops with STAC9200 codec chip. They require the EAPD control for some pins. These pins shouldn't be powered down. To enable EAPD control, a new model 'gateway' was added to STAC9200. The known PCI SSIDs are included in the quirk list. The fix was originally suggested by Brian Hinz, in ALSA bug#2948. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5513b0c58222d21b704cf352c554d9ab86c3fd97 Author: Takashi Iwai Date: Tue Oct 9 11:58:41 2007 +0200 [ALSA] hda-codec - Add zero checks in input-mux helper functions Added zero checks in input-mux helper functions to avoid Oops. Some devices may have no input pins while the driver registers control elements calling these functions. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2469049e728ee0542d6617f81311a18a14e73826 Author: Mariusz Kozlowski Date: Tue Oct 9 10:34:06 2007 +0200 [ALSA] sound: snd_register_device_for_dev fix snd_register_device_for_dev() can oops when device_create() returns ERR_PTR(err). Scenario: preg->dev = device_create(...); /* fails */ if (preg->dev) /* contains ERR_PTR(err) */ dev_set_drvdata(preg->dev, private_data); and dev_set_drvdata() looks like this: static inline void dev_set_drvdata (struct device *dev, void *data) { dev->driver_data = data; <--- boom } This patch should prevent that. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1e74190bc0f8a5ab7e83bdf6688fcaebbed25316 Author: James Courtier-Dutton Date: Mon Oct 8 18:49:43 2007 +0100 [ALSA] snd-usb-audio: Add basic support for E-Mu USB devices. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit 6eda7cf184670764a6f6bfc883bd5005379d7251 Author: Andrew Morton Date: Fri Sep 21 23:25:00 2007 +0200 [ALSA] git-alsa kconfig fix Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 213e84ec71abf596be76abcf18b988afeb2c210e Author: Randy Dunlap Date: Fri Sep 21 18:25:40 2007 +0200 [ALSA] sound/hda: fix help text Fix hda help text typo. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c10710676728846f5c0a92431ebab2161f9c0b7e Author: Peer Chen Date: Fri Sep 21 18:20:25 2007 +0200 [ALSA] alsa: Add the MCP79 support to hda_intel driver Add the MCP79 support to hda driver. The patch base on kernel 2.6.23-rc7 Signed-off-by: Peer Chen Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4eb4550ab37d351ab0973ccec921a5a2d8560ec7 Author: Takashi Iwai Date: Thu Sep 20 17:34:57 2007 +0200 [ALSA] Workaround for invalid signature read of CS8427 Reading the signature of CS8427 over SPI/I2C fails on some devices by mysterious reason. In most cases, however, it succeeds at the sequential read. So, let's give a second chance to check the signature again. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ac8842a0391a776dfa8f59cc83582f6feffa913b Author: Kailang Yang Date: Thu Sep 20 12:51:39 2007 +0200 [ALSA] hda-codec - Missing support ASUS A7J Added the missing support for ASUS A7J [0x1043 0x1243] Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b60dd394f8af01d1b0a8b1d9d1aa6b75c645eb8e Author: Kailang Yang Date: Thu Sep 20 12:50:29 2007 +0200 [ALSA] hda-codec - Fix ALC662 codec support * Fixed ALC662 init verbs (wrong NIDs) * Fixed ALC662 auto model issue (wrong DAC index) Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit fe1b5e874dad88646d344b092d3066cb21b279eb Author: Trent Piepho Date: Wed Sep 19 21:20:17 2007 +0200 [ALSA] ad1848: simplify MCE down code The polling loop to check for ACI to go down was more convoluted than it needed to be. New loop should be more efficient and it is a lot simpler. The old loop checked for a timeout before checking for ACI down, which could result in an erroneous timeout. It's only a failure if the timeout expires _and_ ACI is still high. There is nothing wrong with the timeout expiring while the task is sleeping if ACI went low. A polling loop to check for the device to leaving INIT mode is removed. The device must have already left init for the previous ACI loop to have finished. Acked-by: Rene Herman Signed-off-by: Trent Piepho Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b438f817b16eec5b497fe78cc2b889f3276e6508 Author: Trent Piepho Date: Wed Sep 19 21:19:57 2007 +0200 [ALSA] ad1848: Fix msleep while atomic Simplest fix. Acked-by: Rene Herman Signed-off-by: Trent Piepho Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 43115f58e215f2c88c3cc2514dbf47e4643cab5b Author: Keita Maehara Date: Wed Sep 19 14:29:37 2007 +0200 [ALSA] ac97: YMF743 missing controls support (2/2) These patches enable a few YMF743 controls (Tone/3D/IEC958) that won't be detected with the current version of ALSA. The second one contains following changes: - A chip-specific SPDIF support for YMF743 (It doesn't have AC97 standard SPDIF registers seen on YMF753). - The implementation for 'IEC958 Playback Source' and 'IEC958 Mute' are identical to the ones for YMF753. But there is no 'IEC958 Output Pin' for YMF743. Signed-off-by: Keita Maehara Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 13043984e7e3952b0030ec8f27eb1e66b6529770 Author: Keita Maehara Date: Wed Sep 19 14:27:38 2007 +0200 [ALSA] ac97: YMF743 missing controls support (1/2) These patches enable some YMF743 controls (Tone/3D/IEC958) that won't be detected with the current version of ALSA. The first one contains only cosmetic changes to share a few YMF753-specific symbols with YMF743. Signed-off-by: Keita Maehara Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c929e5ef4f1b2ef52f707e7ffcedc492a199741e Author: Rene Herman Date: Tue Sep 18 18:33:15 2007 +0200 [ALSA] schedule_timeout() fix for core/seq/seq_instr.c Replace schedule_timeout() with schedule_timeout_uninterruptible() to avoid signals in loop. Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d86d01935a4c4c818514d8c23579703abd768329 Author: Rene Herman Date: Tue Sep 18 18:10:49 2007 +0200 [ALSA] alsa-kernel: schedule_timeout() fixes Fix schedule_timeout() use in alsa-kernel. Mostly just schedule_timeout(1) --> schedule_timeout_uninterruptible(1) The wavefront_synth one fixes the surrounding loop as well. In ymfpci_main, delete a superfluous set_current_state() and in soc/soc-dapm.c replace an _interruptible with _uninterruptible in some debug code; it's not waiting for signals. Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b44ef2f1544a0a8d3d8907890662924082d0f1fa Author: Matthew Ranostay Date: Tue Sep 18 00:52:38 2007 +0200 [ALSA] hda: More subsystem id BIOS changes More laptop BIOS changes the subsystem id for STAC9205 cards if the microphone is toggled on/off in the settings. The patch removes the old STAC_9205_M43xx and use STAC_9205_DELL_M43. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3723e2d25151f919e55da98f89a2787802ad5494 Author: Takashi Iwai Date: Mon Sep 17 19:08:32 2007 +0200 [ALSA] Add description about power-saving mode Added the description about power-saving mode on AC97 and HD-audio drivers. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7a5a27cfaedf8589600b7ae585f3ca42b2d3c78a Author: Takashi Iwai Date: Mon Sep 17 19:07:46 2007 +0200 [ALSA] Add default values for power-saving as Kconfig options Added CONFIG_SND_AC97_POWER_SAVE_DEFAULT and CONFIG_SND_HDA_POWER_SAVE_DEFAULT Kconfig options as the default values for power-saving mode of AC97 and HD-audio drivers, respectively. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ec1e7949327a709c83fc7338f89a8c2d1f978fa9 Author: Krzysztof Helt Date: Mon Sep 17 17:57:37 2007 +0200 [ALSA] sscape: support for audio part of VIVO cards This patch adds support for audio part of the Ensoniq SoundScape VIVO cards. The MIDI part is not supported. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1ea73412b27ddd88decbdafb83bb2bfc288fe56c Author: Takashi Iwai Date: Mon Sep 17 16:44:06 2007 +0200 [ALSA] opti9xx: adjust OPL3 FM resource value The OPTi ISA-PnP chips advertise their OPL4 base at 0x380 (to 0x3f0) through pnp and put their on-chip OPL3 at +8. The driver assumes the provided value is the ALBase (OPL3 address) though and checks for an OPL4 at -8, which means that simply adding 8 to the pnp provides value works to fix detection of both OPL3 and OPL4. Problem spotted on 931 and 933 by Krzysztof Helt and confirmed on 924 and 925 (together all OPTi ISA-PnP chips) by me. Signed-off-by; Rene Herman Acked-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit adf1295bf4edf91ed1780a43c82b352aeec1edbd Author: Takashi Iwai Date: Mon Sep 17 16:26:16 2007 +0200 [ALSA] Add descriptions for new module options of snd-sscape driver Add descriptions for new module options of snd-sscape driver, wss_port and dma2. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4996bca9850c0d6a1dd6c541efda3738ba2305ae Author: Krzysztof Helt Date: Mon Sep 17 16:23:13 2007 +0200 [ALSA] sscape: driver extension to 2nd DMA and WSS port This patch adds second DMA channel and WSS port settings to the sscape driver. Also, it adds internal card type setting. The Ensoniq SoundScape VIVO PnP id is added but not handled yet. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ad1e34b5653f86cbff2ea45dd166e2e58949d9bb Author: Daniel Mack Date: Mon Sep 17 14:45:14 2007 +0200 [ALSA] caiaq - support for Native Instrument's RigKontrol3 This patch adds support for Native Instrument's upcoming RigKontrol3 sound interface. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1cf0bc7e730c4148605164ac542c1c191c1d2e09 Author: Krzysztof Helt Date: Mon Sep 17 14:43:14 2007 +0200 [ALSA] sc6000: 2 minor fixes This patch zeroes buffer for the card name and fixes incorrect jump in the probe function. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7b758d2f74be4f255d8c80b5c302d4c3b8fc3863 Author: Krzysztof Helt Date: Mon Sep 17 14:42:49 2007 +0200 [ALSA] sc6000: documentation fix This patch fixes MPU-401 irq values list in documentation. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c2d7051ed1727e6a7b0debe448b5f6ba915e246b Author: Matthias Kaehlcke Date: Mon Sep 17 14:41:16 2007 +0200 [ALSA] Routines for effect processor FX8010: Use list_for_each_entry Routines for effect processor FX8010: Use list_for_each_entry instead of list_for_each Signed-off-by: Matthias Kaehlcke Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 33206e862edb930615a586f5156c2760ddb4bac0 Author: Matthias Kaehlcke Date: Mon Sep 17 14:40:04 2007 +0200 [ALSA] Intel HD Audio: Use list_for_each_entry(_safe) Intel HD Audio: Use list_for_each_entry(_safe) instead of list_for_each(_safe) Signed-off-by: Matthias Kaehlcke Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 50f47ff1b9295f126a1256d607e5b6e951d6f34e Author: Matthias Kaehlcke Date: Mon Sep 17 14:39:05 2007 +0200 [ALSA] ESS Maestro 1/2/2E Sound Card: Use list_for_each_entry ESS Maestro 1/2/2E Sound Card: Use list_for_each_entry instead of list_for_each Signed-off-by: Matthias Kaehlcke Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f79415207ea60109d34bed89b2f3ed303a18d24b Author: Krzysztof Helt Date: Mon Sep 17 12:52:43 2007 +0200 [ALSA] ad1848_lib: waiting loops done after cs4231_lib This patch fixes ad1848_lib waiting loops to be the same as in the cs4231_lib. Acked-by: Rene Herman Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3a5bdee5fa98bfd7d04c61b37b746eb918472e82 Author: Andrew Morton Date: Mon Sep 17 12:50:38 2007 +0200 [ALSA] sc6000 build fix sound/isa/sc6000.c: In function 'sc6000_dsp_reset': sound/isa/sc6000.c:270: error: implicit declaration of function 'udelay' sound/isa/sc6000.c: In function 'sc6000_init_mss': sound/isa/sc6000.c:327: error: implicit declaration of function 'msleep' {standard input}: Assembler messages: Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 22d3a20030439420bf2795c60529ba0e89b4d82c Author: Giuliano Pochini Date: Mon Sep 17 12:49:40 2007 +0200 [ALSA] echoaudio - Add barrier() to prevent compiler optimization This patch adds a barrier() to prevent the compiler from moving the read outside of the loop. It also fixes a comment. Signed-off-by: Giuliano Pochini Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 11370ee2c1c578a704f47d5513d57274c335db43 Author: Tobin Davis Date: Mon Sep 17 12:46:12 2007 +0200 [ALSA] hda-codec: Add two new systems to ALC883 This patch adds support for the Asus M2A-VM HDMI and Abit IP35-PRO motherboards. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b201131c43c155c62e799d9410708d10b2c9a6ad Author: Tobin Davis Date: Mon Sep 17 12:45:11 2007 +0200 [ALSA] hda-codec: Add 4 channel support for Realtek ALC883 I had a request for a 4 channel mode. This should implement front and surround outputs, leaving the 3rd plug for mic input. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c36fd8c3cd682fa9bbe5b2cb4b99e16625a37c94 Author: Clemens Ladisch Date: Mon Sep 17 09:41:36 2007 +0200 [ALSA] cmipci: fix distortion on rear channels When playing multichannel data, the rear channels can get distorted if the last sample of the last played stereo stream was not zero. To avoid this, add a hack to play a few silence samples after the stream is stopped. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit ebe9e289d870816b5d5dd6992a253f9a87f26cba Author: Clemens Ladisch Date: Mon Sep 17 09:40:57 2007 +0200 [ALSA] cmipci: clean up struct cmipci_pcm Remove some unused field from the struct cmipci_pcm, and change the type of some others to save some space. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 0f28eca32b3064db29d4718156e692f4db75c7aa Author: Clemens Ladisch Date: Mon Sep 17 09:40:24 2007 +0200 [ALSA] cmipci: fix lookup of double rates When using one of the double sampling rates, use half the sample rate to look up in the rates[] table, otherwise we stumble over the BUG(). Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 8ffbc01e2cb2e203df910468f236c7b4e7b36f25 Author: Clemens Ladisch Date: Mon Sep 17 09:39:51 2007 +0200 [ALSA] cmipci: reorganize set_dac_channels() By reorganizing the code that sets the CHB3DxC bits we can not only simplify this code but also fix the bug where the CHB3D8C bit was not reset when playing a stereo stream after a 7.1 stream. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 35add1c295c634fdbb1072189286e4eab3fd64fa Author: Clemens Ladisch Date: Mon Sep 17 09:39:10 2007 +0200 [ALSA] cmipci: remove 5.0 format Disallow playback of five channels because the hardware does not support it (or nobody knows how to do it). Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 22a22f5aacdbb73ca605d34df76201a2df0fe8ac Author: Clemens Ladisch Date: Mon Sep 17 09:37:47 2007 +0200 [ALSA] cmipci: allow 96 kHz playback on non-multichannel rear Move the code that enables 96 kHz out of the if() that checks for availability of both DMA channels so that it is enabled even when another stream is playing on the front channels. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 4ee72717188767b127b22f7a582762b71d448408 Author: Clemens Ladisch Date: Mon Sep 17 09:37:19 2007 +0200 [ALSA] cmipci: initialize 0x90 registers Initialize the registers at 0x90 and 0x91 with some undocumented values. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 3042ef75203947920adc0ab7ae25bc62a1fec978 Author: Clemens Ladisch Date: Mon Sep 17 09:36:49 2007 +0200 [ALSA] cmipci: reset the chip when initializing When the chip is initialized, reset it. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 54d030cc400ef5565a90e71288c23c0a18299dba Author: Clemens Ladisch Date: Mon Sep 17 09:36:16 2007 +0200 [ALSA] cmipci: show more registers in proc file Show a dump of all registers in the 0x00-0x27 and 0x90-0x93 ranges in the 'cmipci' proc file. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit a839a33d85184b88735ca3d88c4f7123c5ebb6a1 Author: Clemens Ladisch Date: Mon Sep 17 09:35:46 2007 +0200 [ALSA] cmipci: update register definitions Update comments for many register symbols, add some new register symbols, and rename a few ones. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 6935e68877a875137ea3fe7b690b0bec6504b7ff Author: Clemens Ladisch Date: Mon Sep 17 09:34:59 2007 +0200 [ALSA] cmipci: fix version 37 detection Use the proper value for the bit that identifies chip version 37. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit c818e0a152bcb138411b07f4495b8e6fb9bacf52 Author: Clemens Ladisch Date: Mon Sep 17 09:33:37 2007 +0200 [ALSA] bt87x: fix detection of generic boards Add an 'unknown' board type so that it is possible to differentiate between unknown and generic boards. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 2ea547dcdd4216370f00dd65a18ee5a0271646a0 Author: Clemens Ladisch Date: Mon Sep 17 09:33:17 2007 +0200 [ALSA] usb-audio: add Ozone Academic support Add a quirk to detect the MIDI port on the M-Audio Ozone Academic. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 5683bc6e9eff5b40c56d1683419a9770140aee94 Author: Jaroslav Kysela Date: Wed Sep 12 13:29:51 2007 +0200 [ALSA] SC6000 driver - add HAS_IOPORT dependency Signed-off-by: Jaroslav Kysela commit f189e14cc41a1fb7db225cacdb2df7498f5ad67a Author: Takashi Iwai Date: Tue Sep 11 22:11:08 2007 +0200 [ALSA] echoaudio - Remove superfluous volatile prefix Remove superfluous volatile prefix in the communication struct definition. This eventually fixes the compile warnings with the recent gcc, too. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 074a6e9f4fe14141027b0d23ab63548ecc3cb331 Author: Takashi Iwai Date: Tue Sep 11 22:10:14 2007 +0200 [ALSA] Add description of sc6000 driver Added the description of the new sc6000 driver to ALSA-Configuration.txt. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e307258d5b27e3f9cde56df4038c89470710e2e4 Author: Krzysztof Helt Date: Tue Sep 11 21:53:05 2007 +0200 [ALSA] Gallant SC-6000 driver This is port of the Gallant SC-6000 driver from the OSS aedsp16 driver. This card was also sold as AudioExcel DSP 16 and Zoltrix AV302 (Audio Plus True 16). Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e8a7f136f5edb6ae83b14faaa0da2a3c4558f431 Author: Danny Tholen Date: Tue Sep 11 21:41:56 2007 +0200 [ALSA] hda-intel - Improve HD-audio codec probing robustness When modem is disabled in the BIOS, detection of the number of codecs always fails after booting if STATESTS is not cleared first. This patch fixes this problem and also adds an error check in a place where a read error would lead to a very large number of pointless loops. Signed-off-by: Danny Tholen Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 768d8c7df886fc5cc9d6057cc987ef8e52d197b5 Author: Takashi Iwai Date: Tue Sep 11 21:28:50 2007 +0200 [ALSA] pcxhr - Fix trigger start with non-linked streams The non-linked streams couldn't be started properly due to missing setting of stream->status. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bfc4e8616679226b1f113a46df491e233c8dc338 Author: Timur Tabi Date: Tue Sep 11 00:45:50 2007 +0200 [ALSA] Fix CS4270 volume control and optimize I2C operations The volume control for the CS4270 ASoC driver was inverted - raising the volume level with alsamixer would decrease the actual volume. This patch also improves the performance of the I2C code (used to change register settings) by only performing an I2C write if the new value is different from the value that's in the register cache. Signed-off-by: Timur Tabi Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 23d4635ed336c7dadb3590ee7d275ac612f06ebf Author: Krzysztof Helt Date: Tue Sep 11 00:40:42 2007 +0200 [ALSA] cs4231-lib: improved waiting after mce_down This patch replaces long msleeps in waiting loops with schedule_timeout() calls. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 503fc85a3b15b0e939ad9672e376ffc9c4840591 Author: Takashi Iwai Date: Tue Sep 11 00:35:06 2007 +0200 [ALSA] Kill useless volatile in pcm.h The volatile prefix is just useless there. Let's kill them, and then gcc will be happier, too. sound/acore/pcm.c:867: warning: passing argument 1 of ‘__constant_c_and_count_memset’ discards qualifiers from pointer target type Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b9f09a485937d9c3fb524b2fa140fee1d94856d0 Author: Takashi Iwai Date: Tue Sep 11 00:33:48 2007 +0200 [ALSA] Fix 'discards qualifiers' compile warnings in pcm.h Fixed cast messes in pcm.h. include/sound/pcm.h: In function ‘hw_param_interval_c’: include/sound/pcm.h:800: warning: passing argument 1 of ‘hw_param_interval’ discards qualifiers from pointer target type Simply redefine the inline functions again for const pointers. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d44df2d0f22a688f4f3af3e0d6cbcf9a4516e1b5 Author: Rene Herman Date: Mon Sep 10 23:22:55 2007 +0200 [ALSA] ad1848/cs4231: replace commented out debug code with snd-printd{,d} While I'm at it another 'while I'm there' -- replace commented out debug code with snd-printd{,d}. Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bc962efa6cd864d8bd29d2634da4ef14873d020c Author: Rene Herman Date: Mon Sep 10 23:20:34 2007 +0200 [ALSA] ad1848: replace HZ calculus with msecs_to_jiffies() If I'm not mistaken, any (new) use of HZ these days is considered a bug so while I'm there... Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 90cf9b853281a39555cce8a42fc0fabad75b42a8 Author: Rene Herman Date: Mon Sep 10 23:19:55 2007 +0200 [ALSA] ad1838/cs4231 - fix MCE timeout upon initial load When the ad1848/cs2431 is first being initialized, auto-calibration may not be set causing a timeout waiting for it in snd_ad1848/cs4231_mce_down(). This has no dire consequences other than an alarming printk, but since what we need to wait for is for the calibration to _finish_, let's just check for that instead. The early chips need a slight delay (as commented -- 5 sample periods) to be sure that _if_ calibration is going to happen, it has started when we check While the CS4231A datasheet implies it'll happen immediately on downing MCE, some testing is showing that there's a window there as well, so just do the delay everywhere. Thanks to Krysztof Helt for pinpointing this problem. Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 51c80cb65ff9b7bdf172f9075138793c2bce6883 Author: Adrian Bunk Date: Mon Sep 10 23:15:50 2007 +0200 [ALSA] au88x0_synth.c bugfix This patch fixes the code in vortex_wt_SetFrequency() to what seems to have been intended. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3304cd361025e4d3fdad1971c93ddc05995a5d3a Author: Rene Herman Date: Mon Sep 10 23:13:26 2007 +0200 [ALSA] ad1848: fix AD1848P macro Consistent variable naming is a good thing, but let's be a little less sneaky about enforcing it... ;-/ Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e45e459e88b81fe49129cc9a704fead0fc7d32ed Author: Matthew Ranostay Date: Mon Sep 10 23:09:42 2007 +0200 [ALSA] hda: BIOS changing subsystem id Some laptop BIOS change the subsystem id for STAC9205 cards if the microphone isn't toggled on/off in the settings. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9ecf60df450b9a85f7c05b0ac3580bdac04da784 Author: Adrian Bunk Date: Mon Sep 10 23:08:34 2007 +0200 [ALSA] unexport snd_ctl_elem_{read,write} snd_ctl_elem_{read,write} no longer have any modular users Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9e9abb4f1ee0412e5430c88a61df02ec0a3c11ff Author: Krzysztof Helt Date: Mon Sep 10 23:06:55 2007 +0200 [ALSA] sun-cs4231: checkpatch fixes This patch fixes white spaces and issues pointed by the checkpatch.pl script. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d1761d1b14158498d4782d555a9b367ea4647224 Author: Clemens Ladisch Date: Mon Sep 10 08:05:19 2007 +0200 [ALSA] document basic TLV stuff Add documentation about how to define dB scale information for mixer controls. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 950fb626dc28e17ae4ad01dba07957bdc6e0b997 Author: Trent Piepho Date: Fri Sep 7 13:18:50 2007 +0200 [ALSA] snd-bt87x: Power down audio ADC when not in use Sets a bit to power down the Bt87x's internal audio ADC when the ALSA device isn't open, or when it is in 'digital mode' using an external ADC. Signed-off-by: Trent Piepho Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 57bd68b8b18608cf2729f97fcb984b8521d19551 Author: Clemens Ladisch Date: Fri Sep 7 10:44:13 2007 +0200 [ALSA] cmipci: add msbits constraint for 24-bit format Add a msbits constraint to the SPDIF output device to indicate that S32_LE samples use only 24 bits for data. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 8e7f00f9248c2dc6b36f3c4d1932aa975b454c48 Author: Takashi Iwai Date: Fri Sep 7 10:58:58 2007 +0200 [ALSA] hda-codec - Add support for Toshiba A305 Added the proper model=toshiba for Toshiba A305 with ALC268 codec. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 96fe7cc867b73690e806406be1562b0e6fa42d2d Author: Takashi Iwai Date: Fri Sep 7 10:57:44 2007 +0200 [ALSA] hda-codec - Add missing Mic Boost for some ALC882 models Mic Boost mixer volume was missing in some ALC882 models. Added now. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dcfb4140328eed2d73797f278786eb99efd9f41c Author: Trent Piepho Date: Thu Sep 6 15:06:44 2007 +0200 [ALSA] snd-bt87x: Improve support for different board types Different cards have different audio configurations, but the driver didn't support this. The only setting it had was the digital rate. This patch adds a board configuration list. Currently, configurable items are the digital rate and the digital data format (for cards with an external ADC), a flag for the absence of an external ADC, and a flag for no connection to the Bt87x internal ADC. This allows cards that don't use the internal ADC to omit the ALSA 'Bt87x analog' device and related controls. Cards without an external ADC can omit the 'Bt87x digital' device. In order to support the CS5331A ADC used on the Osprey 440 and 2x0 cards, the digital format needs to be different than the default. Support could be added for defining: The connections or lack of them to the Bt87x's internal ADC mux Multiple sample rates for an external ADC (e.g. Osprey) Control of an external mux for an external ADC (e.g. Osprey) The card definitions for cards other than the Ospreys are kept equivalent to their old values. This is likely inaccurate for most cards, as it is doubtful that both an external and the internal ADC would be used. Lacking information on those cards, the behavior is left unchanged. Signed-off-by: Trent Piepho Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6c041b5eae5a3e5c950c1d99f59d907c680922d2 Author: Krzysztof Helt Date: Thu Sep 6 15:03:59 2007 +0200 [ALSA] cs4231-lib: replace common delay loop by function This patch replaces a common delay loop by a function. It also uses ARRAY_SIZE macro for the rates table. Acked-by: Rene Herman Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8e6a2c2ec9e7c99128425e6b73bea8437efd3a93 Author: Krzysztof Helt Date: Thu Sep 6 15:03:22 2007 +0200 [ALSA] ad1848_lib: replace common delay loop by function This patch replaces a common delay loop by a function. It also uses ARRAY_SIZE macro for the rates table. Acked-by: Rene Herman Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ef285fe6ef3620fbac5d7fc4c0560e276adb0fc2 Author: Krzysztof Helt Date: Thu Sep 6 15:02:33 2007 +0200 [ALSA] dbri - Use linux/of.h instead of asm/prom.h The linux/of.h header should be used instead of asm/prom.h. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b875bf3aaf743fb461ab97e07752fbd825c2d78f Author: Takashi Iwai Date: Thu Sep 6 15:00:27 2007 +0200 [ALSA] hda-codec - Add quirk entry for Casper CPR2000 Added the quirk entry for Casper CPR2000 (model=acer) with ALC268 codec (ALSA bug#3343). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0438a00e64f38b2f655a10167f9f2d9759856069 Author: Takashi Iwai Date: Thu Sep 6 14:54:11 2007 +0200 [ALSA] hda-codec - Add missing model names for ALC882 codecs Added the missing model option strings for ALC882 codecs. Also added the corresponding description in ALSA-Configuration.txt. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 914759b79e28ce74606e99d9f6aaabeec58394ab Author: Takashi Iwai Date: Thu Sep 6 14:52:04 2007 +0200 [ALSA] hda-codec - Add support for ASUS A7M Added the support for ASUS A7M with ALC882 codec. It's slightly different from ASUS A7J. The patch taken from ALSA bug#3000 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3000 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8ab78c7424588c6b1600dcfd70418617a09326b8 Author: Takashi Iwai Date: Thu Sep 6 14:29:53 2007 +0200 [ALSA] hda-codec - Add laptop-automute model for AD1986A Added a new model laptop-automute for AD1986A, which has the HP jack detection and auto-muting of the speaker. Currently, it's used for Lenovo N100. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 966a4d595ca7ef848cec7673ad03961d8303a40a Author: Takashi Iwai Date: Wed Sep 5 23:48:45 2007 +0200 [ALSA] Add missing models for Dell with STAC9200 codec Added the missing description of models for Dell machines with STAC9200 HD-audio codec chip. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit af6c016ecfd908203217a2d78715adeaa51b003d Author: Takashi Iwai Date: Wed Sep 5 23:46:03 2007 +0200 [ALSA] hda-codec - Fix wrong pin config order in STAC92xx dell models The last patch to change/add Dell models have wrong pin config orders. This patch fixes the pin positions. Taken from ALSA bug#3319, https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3319 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8da6470efbfd022c6d228f8829870ba018092b31 Author: Takashi Iwai Date: Wed Sep 5 19:14:38 2007 +0200 [ALSA] hda-codec - Add support for Acer Aspire 9303 Add the entry for Acer Aspire 9303 (model=acer-aspire) with ALC883 codec. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 01db9953a70e8ad33fbcf91d629f8a8ee59b3484 Author: Tony Li Date: Tue Oct 16 15:15:23 2007 +0800 [POWERPC] Add missing semicolon for fsl_pci.c Signed-off-by: Tony Li Signed-off-by: Kumar Gala commit ba02946a903015840ef672ccc9dc8620a7e83de6 Author: Kumar Gala Date: Thu Oct 11 17:07:34 2007 -0500 [POWERPC] Fix handling of stfiwx math emulation Its legal for the stfiwx instruction to have RA = 0 as part of its effective address calculation. This is illegal for all other XE form instructions. Add code to compute the proper effective address for stfiwx if RA = 0 rather than treating it as illegal. Signed-off-by: Kumar Gala commit 7b85b4f088de8856c5cc5fee18630708ab28dfe8 Author: Krzysztof Helt Date: Wed Sep 5 15:07:57 2007 +0200 [ALSA] sun-cs4231: memory management fix The chip structure is now allocated by snd_card_new() and it must not be released by separate kfree(). Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit afeacfd5f7ee76fe90f95039170f70e3699a6b94 Author: Krzysztof Helt Date: Wed Sep 5 15:05:08 2007 +0200 [ALSA] dbri: conversion to OpenFirmware framework This patch converts the dbri driver to use OF framework. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f545714ece023b8cf10b41d56b9fdac605797aff Author: Krzysztof Helt Date: Tue Sep 4 13:24:14 2007 +0200 [ALSA] cs4231 header split This patch splits the cs4231.h file into two parts: - cs4231-regs.h which contain register constants and macros - cs4231.h which includes the above and contain rest of the definitions This will allow to share register definitions between x86 ISA cs4231 and SPARC cs4231. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cf68d212d522db70887d63befc9941fa1d78acc4 Author: Krzysztof Helt Date: Tue Sep 4 13:09:20 2007 +0200 [ALSA] dbri: more cleanups This patch: - removes redundant constant suffices - removes redundant parentheses - removes redundant curly brackets - removes check if a spinlock is locked inside method which is only called with the spinlock locked - moves few functions to the __init section - removes line which appears twice after the previous patch - minor comments improvements Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c6c2d57b8c2959787e47f2c936d5d22fc49032e8 Author: Krzysztof Helt Date: Tue Sep 4 13:08:24 2007 +0200 [ALSA] sun-cs4231: code improvements This patch does some code improvements to make driver (both code and binary) shorter. It also make use of card->private_data pointer to store chip information. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4ea24163986e65f8ea6208525a135df2ebfe070a Author: Andres Salomon Date: Mon Sep 3 15:43:43 2007 +0200 [ALSA] cs5535audio: drop unused bus master stuff We really only care about the first two bus masters (playback and capture). There's no need to have unused BM code lying around, so let's get rid of it. If for some reason we trigger an IRQ for some BM that we're not using.. well, that warrants spitting out an error message (imo). Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 506ea68cd9e8899ac2b97f466956e670d60026dc Author: Andres Salomon Date: Mon Sep 3 15:43:18 2007 +0200 [ALSA] cs5535audio: fix ACC_BM[x]_CMD register handling According to 6.3.2.7 of the cs5535/cs5536 data sheets, the ACC_BM[x]_CMD registers are only 8 bits wide. This driver treats them as 32 bits wide, and also has bits in the wrong place. Simple fix to the definitions. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1caae3682e2a712b64ce682702ed56bb3dc9f435 Author: Andres Salomon Date: Mon Sep 3 15:42:52 2007 +0200 [ALSA] cs5535audio: update PCI device handling in suspend/resume Save the PCI state before disabling the device, and add some error checking. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 222fa0b0d2fdb2373a71d532c2cabd2ec920b3b3 Author: Andres Salomon Date: Mon Sep 3 15:42:16 2007 +0200 [ALSA] cs5535audio: fix PRD register save/restore power management race In the suspend path, we currently save the PRD registers and then disable DMA. This is racy; the sound hardware might update the PRD register as it finishes processing some DMA pages between when we've saved the PRD registers and when DMA actually gets disabled. Furthermore, we actively check whether or not DMA is enabled before saving PRD registers; there's no reason to do that, as the PRD registers should not update when we twiddle the ACC_BM[x]_CMD register(s). Worst case, we save the PRD registers twice; even powering down the ACC shouldn't mess with the PRD registers (according to the 5536 data sheet, section 5.3.7.4, power-down procedure). This patch reworks all that to first disable DMA, and then save PRD registers. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7abcacb09ac0f9c6848f1e7d86b284427fa83cee Author: Andres Salomon Date: Mon Sep 3 15:41:47 2007 +0200 [ALSA] cs5535audio: correctly set dma->substream We're never actually setting dma->substream to the current substream; that means the dma->substream checks that we do in the suspend/resume path are never satisfied, and the PRD registers are never correctly managed. This changes it so that we set the substream when constructing the specific bus master DMA, and unsetting it when we tear down the BM's DMA. Signed-off-by: Andres Salomon Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9e05b7a3d936ac5eb6c10291b69aee0af1ad03fb Author: Maxim Levitsky Date: Mon Sep 3 15:31:02 2007 +0200 [ALSA] hda-codec - Fix support for sigmatel codecs that have 2 or more ADCs 1) Create seperate mixer controls for each ADC 2) Make number of substreams of capture PCM device be equal to number of ADCs Signed-off-by: Maxim Levitsky Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6e6b88ffea81d7bc5c5da0b8433b4a21131ae340 Author: Maxim Levitsky Date: Mon Sep 3 15:30:26 2007 +0200 [ALSA] hda-codec - make volume knob, the master volume for sigmatel codecs VolumeKnob is present on most sigmatel codecs, it allows to decrease volume of all DACs at once, it is a kind of post-procesing volume. Note that all output amps of sigmatel only decrease volume, and all input amps only increase volume. Signed-off-by: Maxim Levitsky Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5f10c4a9a0c02597206fe2f027026ee25d3e07ad Author: Maxim Levitsky Date: Mon Sep 3 15:29:37 2007 +0200 [ALSA] hda-codec - add support for analog loopback to STAC9204/9205/922x/927x The analog loopback routes the sound just before it enters ADC0 to output of DAC0. Signed-off-by: Maxim Levitsky Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0fb87bb474f978446786263deff6263284e6e011 Author: Maxim Levitsky Date: Mon Sep 3 15:29:04 2007 +0200 [ALSA] hda-codec - add support for swapping center/LFE channels to STAC codecs Center/LFE channels are located on same jack, so it can be usefull to swap them. Signed-off-by: Maxim Levitsky Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d804ad9258c1460916a5e5854655a0dc543fd8a5 Author: Maxim Levitsky Date: Mon Sep 3 15:28:04 2007 +0200 [ALSA] hda-intel - Fix resume logic, when dynamic power managment is on Comment in hda_intel.c states that 'the explicit resume is needed only when POWER_SAVE isn't set', but this is not true. There is no code that will automaticly power up the codec on resume, but only code that powers it up when user accesses it. So if user leaves a sound playing, codec will not be powered To fix that I check if there are any codecs that should be powered codec->power_count, and if so I power them up together with main controller. Signed-off-by: Maxim Levitsky Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2e4924628ad957f702631a7a049c586a780f00f8 Author: Maxim Levitsky Date: Mon Sep 3 15:26:57 2007 +0200 [ALSA] hda-intel - fix a race in dynamic power managment codec->power_transition is supposed to be true while codec is going to be shut off if in the mean time somebody calls snd_hda_power_up, hda_power_work will not shut down the codec, but nether will clear codec->power_transition, thus it stays on forever. Fix this. Signed-off-by: Maxim Levitsky Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b7e054a76fdc42b442c003f8d19ee5dce6b55f02 Author: Clemens Ladisch Date: Mon Sep 3 09:56:45 2007 +0200 [ALSA] cmipci: show real chip name in card name The '-MCx' suffix that is expected by alsa-lib is only needed in the card driver string, so we can show the actual chip name in the shortname. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 88039815d8868fb507eb69448f5a3a65c90b0bf2 Author: Clemens Ladisch Date: Mon Sep 3 09:56:23 2007 +0200 [ALSA] cmipci: check that the legacy MIDI port works Check that the UART_EN bit actually enabled the MPU-401 port. Apparently, C-Media thinks that it is a good idea to be paranoid here. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit c78c950d28df984e39ad028a90bcdadcd3eda3b6 Author: Clemens Ladisch Date: Mon Sep 3 09:55:49 2007 +0200 [ALSA] cmipci: do not check for integrated FM/MIDI ports with chip version 37 Integrated MPU-401/OPL3 ports are available with chip version 39 and later, so we do not test for the port with version 37. Now that the test is known to work, we can again enable the MIDI port by default. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 8992e18db32f5df55fd4b458def7dccd2a5c3266 Author: Clemens Ladisch Date: Mon Sep 3 09:54:55 2007 +0200 [ALSA] cmipci: add 96 kHz support Add support for 88.2 kHz and 96 kHz analog and digital playback on CMI8768/CMI8770 chips. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit f19a82a119b41d4607b63e6fd0412498a87d30bc Author: Clemens Ladisch Date: Mon Sep 3 09:54:27 2007 +0200 [ALSA] cmipci: remove invalid channels constraint Remove the constraint that sets the channel limit for the first playback device to that of the second one; the first device supports only stereo. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit c480f79bdca58923e605ff5e4698cfe1779bae70 Author: Takashi Iwai Date: Mon Sep 3 09:43:38 2007 +0200 [ALSA] hda-codec - Avoid zero NID in line_out_pins[] of STAC codecs The STAC codes adds line_out_pins[] for shared mic/line-inputs accordingly. But, the current code may give a hole with NID=0 in some setting, which results in an error at probe. This patch fixes the problem. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dc81bed127a93e20d2100624273a27369738ffc7 Author: Takashi Iwai Date: Mon Sep 3 09:36:36 2007 +0200 [ALSA] hda-codec - Fix wrong pin-setup at resume of STAC codecs The resume procedure for STAC codecs overrides the cached values and results in the wrong (reset) PIN state. The patch gets rid of the overriding part and simplifies the resume. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3a7788b751c488c11cdfa8e29f0bc3d8648142e6 Author: Mark Hills Date: Mon Sep 3 08:20:09 2007 +0200 [ALSA] usb-audio: update quirk for Rane SL 1 (aka. Serato Scratch Live) Allow the interface's mixer to be used, and give the interface its correct name. Signed-off-by: Mark Hills Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit ca7c5a8b4b4f61087851bb440118e62a688c1688 Author: Maxim Levitsky Date: Fri Aug 31 12:52:19 2007 +0200 [ALSA] hda-codec - code cleanups in patch_sigmatel.c Clean up the mixer entries for Input Source using a macro. Signed-off-by: Maxim Levitsky Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit accbe4988c5cf3dc86f0a042396163ed279536a6 Author: zhejiang Date: Fri Aug 31 12:36:05 2007 +0200 [ALSA] hda-codec - Fix capture on ALC262 HP machines Fix the index for Front Mic capture source on ALC262 HP machines. Also, added the new capture source list for HP BPC DC7000 series to work properly. From: zhejiang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a3a68c85bfb7acc874ce6d334964b95943d4ed43 Author: Remy Bruno Date: Fri Aug 31 12:33:54 2007 +0200 [ALSA] hdsp - Add support for latset RME9632 revisions added support for the latest revision of the 9632 (and hopefully a few following ones). The DSP matrix was not working because of wrong identification of the card in this part of the code. Signed-off-by: Remy Bruno Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6534599d14892c5b0838b7170f071c850f5ea8e9 Author: Remy Bruno Date: Fri Aug 31 12:21:08 2007 +0200 [ALSA] hdspm - Fix autosync bug * better report of speed mode change failures * autosync_ref control bugfix (was reporting pref_sync_ref instead) (changed HDSPM_AES32_AUTOSYNC_FROM_NONE value to comply with array indexing in snd_hdspm_info_autosync_ref()) * added support for master modes up to 192kHz (clock source control value was restricted up to 96kHz) Signed-off-by: Remy Bruno Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5149fe2c15e2dfe349bfde27e1fea5593b40671f Author: Oliver Neukum Date: Fri Aug 31 12:15:27 2007 +0200 [ALSA] missing error check in usb sound driver usb_set_interface() can fail, even for altsetting 0 Signed-off-by: Oliver Neukum Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 15944806e247076c0886aabe160bee391ce0629c Author: Clemens Ladisch Date: Wed Aug 29 17:38:14 2007 +0200 [ALSA] usb-audio: add quirk for Serato Scratch Live DJ Box Add a quirk to detect the Serato Scratch Live DJ Box. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit d6c3cf81f05c8dd8e5e656d4bcb8d5f2569d0262 Author: Takashi Iwai Date: Wed Aug 29 15:12:46 2007 +0200 [ALSA] ac97 - Suppress the reset of audio-codec from modem-codec at resume On codec chips with both audio and modem functions (e.g. Conexant one), performing AC97_RESET resets the whole registers. When both audio and modem drivers are resumed at the same time, the modem one often is resumed after the audio, and it results in the reset of audio registers (ALSA bug#3333). This patch fixes such a problem. Since the modem codec basically doesn't need AC97_RESET, skip this initialization unless specified as audio. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 776e184e8082a4ec9bf4fe18b11dae6dc4e43d1f Author: Takashi Iwai Date: Wed Aug 29 15:07:11 2007 +0200 [ALSA] hda-codec - Add Mic Boost control with auto-configuration Some codecs need Mic Boost mixer controls for obtaining a proper recording level, but the auto-configuration doesn't create them. This patch adds the creation of mic-boost controls on corresponding codecs. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2d4a485b3d02fe65b0a0bcec3c53760c17bdece3 Author: Takashi Iwai Date: Wed Aug 29 12:54:25 2007 +0200 [ALSA] Allow shared IRQ for CS5530 device CS5530 is a PCI device and often shares the IRQ although the SB common routine tries to allocate it exclusively. This patch allows shared IRQ for CS5530. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 36726d9df7746efc2f71bb63f39f8ac7f7951a26 Author: Jesper Juhl Date: Tue Aug 28 15:21:33 2007 +0200 [ALSA] emu10k1: There's no need to cast vmalloc() return value in snd_emu10k1_create() vmalloc() returns void *. no need to cast. Signed-off-by: Jesper Juhl Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d6426257d2c960399ff675b7807cde54b769e543 Author: Clemens Ladisch Date: Mon Aug 27 09:22:31 2007 +0200 [ALSA] cmipci: show actual chip name in card longname Show the actual name of CMI8762/CMI8768/CMI8769/CMI8770 chips in the card longname instead of just using 'CMI8738' for all of them. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit b080ebbf92f8d98a048b100e0b0c4aa7e6354ab9 Author: Clemens Ladisch Date: Mon Aug 27 09:21:02 2007 +0200 [ALSA] cmipci: remove has_dual_dac Remove the has_dual_dac variable because it was always set. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 133271fef52c06de52ea9a8ee27899f18dae9af2 Author: Clemens Ladisch Date: Mon Aug 27 09:20:31 2007 +0200 [ALSA] cmipci: reorganize chip version detection Add a case for chip version 39 where no bit is set in register 0Ch, and move the detection of version 39 before that of 8768. This makes the logic more compatible with the driver on that other OS. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit c9116ae45bd10eabe1e5cf88798092e184d8dbc2 Author: Clemens Ladisch Date: Fri Aug 24 09:18:04 2007 +0200 [ALSA] cmipci: make the test for integrated MIDI port address more robust Unused bytes in the I/O register range are likely to have the value 0x00 instead of 0xff, so test against both values when checking for the presence of the integrated MIDI port. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit dfe495d0a51e20325b51760f34a2f53bfe1f3b52 Author: Takashi Iwai Date: Thu Aug 23 19:04:28 2007 +0200 [ALSA] hda-codec - Fix Dell laptops support with STAC codecs Fixed Dell laptops support with STAC92xx codecs. Many pin-config models are introduced. See ALSA-Configuration.txt for details. The patch taken from ALSA bug#3319, originally by Jorg Prante: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3319 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 889c43955115ea7412d71335e3ceff6bad118dce Author: Takashi Iwai Date: Thu Aug 23 18:56:52 2007 +0200 [ALSA] hda-codec - Fix ALC268 unsol event The unsol event of ALC268 is in the standard bit 26. Also, fixed the Acer master controls, and added Extensa 5210 to the quirk list. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0724ea2a85a804e151d960359b599ae8a7c1cad1 Author: Takashi Iwai Date: Thu Aug 23 00:31:43 2007 +0200 [ALSA] hda-codec - Fix mater mixer switch of ALC262 sony-amd model Fixed the master mixer switch of ALC272 sony-amd model. It used a simple bind-control, but it resulted in unexpected unmute of speaker output. Now the control checks the HP jack state apropriately, just like fujitsu model. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1fcaee6ee212fc214c1327d788afa10899c22e3a Author: Takashi Iwai Date: Thu Aug 23 00:01:09 2007 +0200 [ALSA] hda-intel - Fix compile with gcc-3.x gcc-3.x doesn't like forward inlining: CC [M] sound/pci/hda/hda_codec.o sound/pci/hda/hda_codec.c: In function 'snd_hda_codec_free': sound/pci/hda/hda_codec.c:517: sorry, unimplemented: inlining failed in call to 'free_hda_cache': function body not available sound/pci/hda/hda_codec.c:534: sorry, unimplemented: called from here sound/pci/hda/hda_codec.c:517: sorry, unimplemented: inlining failed in call to 'free_hda_cache': function body not available sound/pci/hda/hda_codec.c:535: sorry, unimplemented: called from here Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit abaeeb59c94b6efc368f5058009c1d82ce031abd Author: Takashi Iwai Date: Wed Aug 22 14:19:45 2007 +0200 [ALSA] bt87x - Add known PCI ID entries Added the PCI ID entries for known working devices - Prolink PixelView PV-M4900 - Pinnacle Studio PCTV rave Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 45c41b4868c9dbec5d43a4023e77994afa94470f Author: Clemens Ladisch Date: Wed Aug 22 09:45:03 2007 +0200 [ALSA] cmipci: fix handling of FM/MIDI port addresses Make sure that the MPU-401 MIDI and OPL-3 FM devices are used only on those chips where they are supported, and that the correct port addresses are used. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit c2b1239a9f22f19c53543b460b24507d0e21ea0c Author: Takashi Iwai Date: Tue Aug 21 15:20:26 2007 +0200 [ALSA] wavefront - Use standard firmware loader Use the standard firmware loader for loading ICS2115 OS firmware file. This is the last old bad guy that is still using sys_open() and sys_read() calls, and now all should be gone. The patch also adds the missing description of module options related with wavefront_synth.c. Due to this rewrite, user will have to copy or make symlink the firmware file appropriately to the standard firmware path such as /lib/firmware. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 33bf17abf98087d7a6eec9476cd767c6e998fc05 Author: Takashi Iwai Date: Tue Aug 21 11:51:42 2007 +0200 [ALSA] hda-codec - Add missing capture boost for ALC268 Added missing capture boost controls for ALC268 codec. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1e02d6ea85e5ca3a8c49a7e2ef1656bfba902fc9 Author: Clemens Ladisch Date: Tue Aug 21 08:58:35 2007 +0200 [ALSA] cmipci: fix MIDI device name Initialize card->shortname early enough so that the MIDI device can pick it up and does not need to have a generic name. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 56162aabb2fb8b9f4a8266feb7eb4edd9d1a4d49 Author: Clemens Ladisch Date: Tue Aug 21 08:57:34 2007 +0200 [ALSA] usb-audio: add workaround for ESI MIDI Mate/RomIO II Force low speed USB MIDI devices like the ESI MIDI Mate and RomIO II to use interrupt transfers because the USB core would not be happy about low speed bulk transfers. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 076639f6aca365d83a01ee48343f13ec62b23af1 Author: Clemens Ladisch Date: Tue Aug 21 08:56:54 2007 +0200 [ALSA] usb-audio: allow low speed MIDI devices Allow low speed MIDI devices because newer devices from ESI do not support full speed. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit a6a712aeb17ff30206ae1bc827d50497d884602a Author: Clemens Ladisch Date: Tue Aug 21 08:56:08 2007 +0200 [ALSA] usb-audio: allow output interrupt transfers for MIDI Allow output interrupt transfers for some MIDI devices that require them. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit d53d7d9e5e6bce747e8b8b2f825db1b32d8f6647 Author: Takashi Iwai Date: Mon Aug 20 15:20:02 2007 +0200 [ALSA] hda-codec - Add SPDIF support on ALC880 fujitsu model Some Fujitsu laptops have SPDIF output jack (ALSA bug#3009). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 098ccbc558294d83b53b041728938af827939a34 Author: Krzysztof Helt Date: Mon Aug 20 12:30:54 2007 +0200 [ALSA] dbri: driver cleanup This patch fixes white spaces, spelling and formatting to conform closer to the coding standard of the kernel. It contains few fixes pointed out by the checkpatch.pl script. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 189609ae1e4db898d9a933753348ca19544c5903 Author: Kailang Yang Date: Mon Aug 20 11:31:23 2007 +0200 [ALSA] hda-codec - Add support for Haier W66 1. Support Lenovo 420A (PCI SSID: 0x17aa 0x3bfc) 2. Support Haier W66 (PCI SSID: 0x1991 0x5625) Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 669ba27a6e25251427bde8f4980f62733a8f0c7e Author: Takashi Iwai Date: Fri Aug 17 09:17:36 2007 +0200 [ALSA] hda-intel - Add probe_mask blacklist Added the black-list of probe_mask option to set the default value for known non-working devices. Currently, Thinkpad *60 and *61 series are set. I'm afraid more will be added to the list in near future... Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6bc9685796529754acd819d9c979227d823c408d Author: Takashi Iwai Date: Fri Aug 17 09:02:12 2007 +0200 [ALSA] hda-codec - Fix ALC268 acer model ALC268 has different NIDs from ALC262. Acer model should use NID 0x02 and 0x03 instead of 0x0c and 0x0d for the master volume. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7583cb51a1e276591f57a2fae05489c878f8ef54 Author: Takashi Iwai Date: Thu Aug 16 19:32:16 2007 +0200 [ALSA] emu10k1 - Fix memory corruption The number of mixer elements for SPDIF control don't match with the actual array size (3). This may result in a memory corruption that overwrites the i2c_capture_source field (ALSA bug#3095). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 542d7c66201439f98dd44e62a8186ec33a15b1a7 Author: Takashi Iwai Date: Thu Aug 16 18:57:30 2007 +0200 [ALSA] hda-codec - Add support for Toshiba Satellite P205 Add model=lenovo for Toshiba Satellite P205 with ALC861VD codec chip. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 87350ad0cf05d734309ca40e1524a07cf12190aa Author: Takashi Iwai Date: Thu Aug 16 18:19:38 2007 +0200 [ALSA] hda-codec - Add support for Macbook Pro rev3 Added the support for Macbook Pro rev3 with ALC885 codec chip. The patch taken from ALSA bug#3242. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 38baf5ad8b7d24be16a2cf0e4c1d7429aeb4aa45 Author: Takashi Iwai Date: Thu Aug 16 17:52:43 2007 +0200 [ALSA] hda-codec - Fix Toshiba A135 model selection Fixed the double entries in the model presets. Toshib A135 prefers model=lenovo rather than dallas. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 72e7b0ddf52d334939778fc71e9d013519a3ee8c Author: Takashi Iwai Date: Thu Aug 16 17:33:55 2007 +0200 [ALSA] hda-codec - Add auto-mute function to Sony VAIO with STAC9872 Added auto-mute function with HP jack to Sony VAIO laptop with STAC9872 codec. The patch taken from ALSA bug#3275. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 64ca1c294c94579af68197d5f4af6911236b5a51 Author: Takashi Iwai Date: Thu Aug 16 17:23:32 2007 +0200 [ALSA] hda-codec - Add model for MSI m673x Added model=targa-dig for MSI m673x with ALC883 codec. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a221e287ab39a0d169809cb79536abd75392c3c1 Author: Takashi Iwai Date: Thu Aug 16 16:35:33 2007 +0200 [ALSA] hda-intel - Avoid unnecessary work scheduling Avoid unnecessary work scheduling for power-off. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 676a9b53dcb0843a98f7339a492e42baf4b9a734 Author: Takashi Iwai Date: Thu Aug 16 15:23:35 2007 +0200 [ALSA] hda-codec - Add unsol_event to ALC883 Acer Aspire Added unsol_event handling to ALC883 Acer Aspire codes. Also, removed unneeded channel-mode mixer control from 2-ch only presets. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6c726dc672d82749e09345a79350838d4558fae4 Author: Takashi Iwai Date: Thu Aug 16 15:02:16 2007 +0200 [ALSA] hda-codec - Remove superfluous code Remove the superfluous code that's actually not used at all. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7debbe51cc001a6deb549999f9d8f53d99c6fd9e Author: Takashi Iwai Date: Thu Aug 16 15:01:03 2007 +0200 [ALSA] hda-codec - Fix PM on ALC885 Intel Macs Fix power-management on ALC885 Intel Macs. It fixes the problem with power-saving mode, too. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d273809e2e512d0638d443dce408ac0342ab73cf Author: Takashi Iwai Date: Thu Aug 16 14:59:45 2007 +0200 [ALSA] hda-codec - Add ALC268 acer model Added model=acer for ALC268 codec support. The configuration is: headphone = 0x14, speaker = 0x15 needs hp-jack auto-detection. The same routine as alc262-fujitsu model is used. Also, added the auto-muting routine for ALC268 model=toshiba. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0cb65f2262776e07c2b8ec1121738b97f8941dae Author: Takashi Iwai Date: Thu Aug 16 12:32:45 2007 +0200 [ALSA] hda-intel - Add position_fix quirk for Dell Precision 390 Dell Precision 390 needs position_fix=1 as default (ALSA bug#3295). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 61870aed229519e7cd7f1899a19e4e7c8ba915e4 Author: Clemens Ladisch Date: Thu Aug 16 08:44:51 2007 +0200 [ALSA] usb-audio: fix parsing of SysEx messages from CME keyboards When CME keyboards send a SysEx message (e.g. master volume), the USB packet uses a format different from the standard format. Parsing this packet according to the specification corrupts the SysEx message itself and can cause the following MIDI messages to be misinterpreted, too. This patch adds a workaround for this case. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 20a45e8644ef4f5e7dfd727859301c4c581e9489 Author: Takashi Iwai Date: Wed Aug 15 22:20:45 2007 +0200 [ALSA] hda-codec - Fix Master volume with AD1986A laptop model Use the bind-control for NID 0x1a and 0x1b as Master volume control on AD1986 model=laptop as well as model=laptop-eapd. This will fix the missing output on some devices. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2525fdc42fdc4bb943ec2fa5a37e2ae139e1b6d3 Author: Takashi Iwai Date: Wed Aug 15 22:18:22 2007 +0200 [ALSA] hda-intel - Add flush_scheduled_work() in snd_hda_codec_free() Added flush_scheduled_work() in snd_hda_codec_free() to make sure that the all work is gone. Also, optimized the condition to schedule the delayed work in snd_hda_power_down(). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 983f8ae4067cf0731f19fc6bda3bc3ef200c32e7 Author: Takashi Iwai Date: Wed Aug 15 16:44:04 2007 +0200 [ALSA] hda-codec - Add option texts and descriptions for new Realtek models Added the missing text entries and descriptions for the newly added model values for Realtek codec chips. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 39c5d41ffef0e176968079f2f84f657e8511cdf9 Author: Takashi Iwai Date: Wed Aug 15 16:24:17 2007 +0200 [ALSA] hda-codec - Add support for Biostar NF61S SE mobo Added the support for Biostar NF61S SE mobo with ALC861VD codec, model=6stack-digout (ALSA bug#3190). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d1a991a682f6718db6c611ccfd36d903732d946c Author: Kailang Yang Date: Wed Aug 15 16:21:59 2007 +0200 [ALSA] hda-codec - Update realtek codec support 1. Support Acer Aspire 9810 2. Support TOSHIBA A205 3. Support HP TX1000 Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 765c24efa55752b715d9122f36eee485d4903839 Author: Takashi Iwai Date: Wed Aug 15 15:43:06 2007 +0200 [ALSA] hda-codec - Remove conflicting capture mixers for ALC861VD Removed conflicting capture mixers for ALC861VD model=dallas. It fixes the ALSA bug#3236. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0b7a2e9cefd7614e68520127751f76583498df6c Author: Takashi Iwai Date: Tue Aug 14 15:18:26 2007 +0200 [ALSA] hda-intel - Don't do suspend if already powered down In the power-saving mode, the suspend is done dynamically at power-down. So we don't have to call suspend stuff explicitly if it's already powered down. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9d99f312629802f4c45306ee07618ee4978b4adc Author: Takashi Iwai Date: Tue Aug 14 15:15:52 2007 +0200 [ALSA] hda-intel - Fix NULL dereference in resume codec->patch_ops.init can be NULL. Check before calling it. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 918f3a0e8cf67b5db966516f255eaf24d814fac0 Author: Clemens Ladisch Date: Mon Aug 13 17:40:54 2007 +0200 [ALSA] pcm: add snd_pcm_rate_to_rate_bit() helper Add a snd_pcm_rate_to_rate_bit() function to factor out common code used by several drivers. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 7653d557606c7cae921557a6a0ebb7c510e458eb Author: Clemens Ladisch Date: Mon Aug 13 17:38:54 2007 +0200 [ALSA] pcm: merge rates[] from pcm_misc.c and pcm_native.c Merge the rates[] arrays from pcm_misc.c and pcm_native.c because they are both the same. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit b83f346bc4d6ab358fd0da85b7eab08bf0234c0b Author: Clemens Ladisch Date: Mon Aug 13 17:37:55 2007 +0200 [ALSA] remove incorrect usage of SNDRV_PCM_INFO_SYNC_START and snd_pcm_set_sync() Set the SNDRV_PCM_INFO_SYNC_START flag and the substream's sync ID (only) if the substream actually can be linked to another one. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit f9ff161a14baca1a4ead5f12377ab25b9dd332e1 Author: Takashi Iwai Date: Mon Aug 13 16:16:53 2007 +0200 [ALSA] mixart - Check ioremap error Check ioremap error and handle properly at initialization. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dee1b66ce4f406d36fef70d1dd4360c5f1d26218 Author: Takashi Iwai Date: Mon Aug 13 16:10:30 2007 +0200 [ALSA] hda-intel - Add power_save_controller module option Add power_save_controller module option instead of define flag. Also, added descriptions of new module options in ALSA-Configuration.txt. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ae0a8ed8bf9c2edee4b831dee91ae914b9641fdd Author: Tobin Davis Date: Mon Aug 13 15:50:29 2007 +0200 [ALSA] This patch adds more support for Dell systems with Stac9205 codecs. Tested against a couple of different systems (with different pin configs), but the others should also work. Also cleaned up some of the 9205 patch code. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 95e99fdadb34debebd8dd35bb5a18b253dece22d Author: Takashi Iwai Date: Mon Aug 13 15:29:04 2007 +0200 [ALSA] hda-intel - Fix resume with power save The controller power wasn't turned on properly at resume due to the power-saving patch. Now fixed. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 51882453a729675aa7266aa87d99f33eca310c86 Author: Mariusz Kozlowski Date: Sat Aug 11 11:06:09 2007 +0200 [ALSA] This patch removes memset() from snd_emu10k1_fx8010_info() which apparently isn't needed there. Upatched code uses: memset(info, 0, sizeof(info)); where 'info' is a pointer and therefore only first 4 bytes of 'info' gets cleared on a 32bit machine. Anyway looking at the code zeoring this memory region isn't needed at all because the snd_emu10k1_fx8010_info() function initializes all the 'info' fields on its own. So that's why this code works at all in its original form. This patch removes this redundant code. Also snd_emu10k1_fx8010_info() can't fail so lets save some bytes and change its return type to void. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6ca2cdcc5e40286e6bf5286056b50a56c8ce327e Author: Takashi Iwai Date: Fri Aug 10 17:22:34 2007 +0200 [ALSA] hda-codec - update of documentation Update the documentation to reflect the last changes regarding the power-saving mode and register caches. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cb53c626e1145edf1d619bc4953f6293d3a77ace Author: Takashi Iwai Date: Fri Aug 10 17:21:45 2007 +0200 [ALSA] hda-intel - Add POWER_SAVE option Added CONFIG_SND_HDA_POWER_SAVE kconfig. It's an experimental option to achieve an aggressive power-saving. With this option, the driver will turn on/off the power of each codec and controller chip dynamically on demand. The patch introduces a new module option 'power_save'. It specifies the second of time-out for automatic power-down. As default, it's 10 seconds. Setting 0 means to suppress the power-saving feature. The codec may have analog-input loopbacks, which are usually represented by mixer elements such as 'Mic Playback Switch' or 'CD Playback Switch'. When these are on, we cannot turn off the mixer and the codec chip has to be kept on. For bookkeeping these states, a new codec-callback is introduced. For the bus-controller side, a new callback pm_notify is introduced, which can be used to turn on/off the contoller appropriately. Note that this power-saving might cause slight click-noise at power-on/off. Also, it might take some time to wake up the codec, and might even drop some tones at the very beginning. This seems to be the side-effect of turning off the controller chip. This turn-off of the controller can be disabled by undefining HDA_POWER_SAVE_RESET_CONTOLLER in hda_intel.c. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cca3b3718ca96dca51daf1129ac03003bcede751 Author: Takashi Iwai Date: Fri Aug 10 17:12:15 2007 +0200 [ALSA] hda-codec - Clean up bind-controls We have already a generic bind-control helper, so let's clean up the codes using it. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 47fd830acf0b6b5bc75db55d0f2cc64f59a23b5f Author: Takashi Iwai Date: Fri Aug 10 17:11:07 2007 +0200 [ALSA] hda-codec - add snd_hda_codec_stereo() function Added snd_hda_codec_amp_stereo() function that changes both of stereo channels with the same mask and value bits. It simplifies most of amp-handling codes. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 82beb8fd365afe3891b277c46425083f13e23c56 Author: Takashi Iwai Date: Fri Aug 10 17:09:26 2007 +0200 [ALSA] hda-codec - optimize resume using caches So far, the driver looked the table of snd_kcontrol_new used for creating mixer elements and forces to call each of its put callbacks in PM resume code. This is too ugly and hackish. Now, the resume is simplified using the codec amp and command register caches. The driver simply restores the values that have been written in the cache table. With this simplification, most codec support codes don't require any special resume callback. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b3ac56364126f78cae94eb2a75b72d9ea85aca9d Author: Takashi Iwai Date: Fri Aug 10 17:03:40 2007 +0200 [ALSA] hda-codec - introduce command register cache This patch adds the cache for codec command registers. snd_hda_codec_write_cache() and snd_hda_sequence_write_cache() do the write operations with caching, which values can be resumed via snd_hda_codec_resume_cache(). The patch introduces only the framework, and no codec code is using this cache yet. It'll be implemented in the following patch. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 01751f54ff23b9d59e07f9c9ef189d4733525463 Author: Takashi Iwai Date: Fri Aug 10 16:59:39 2007 +0200 [ALSA] hda-codec - rewrite amp cache more generic Rewrite the code to handle amp cache and hash tables to be more generic. This routine will be used by the register caches in the next patch. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 45cffef1ff4679f5961146101ea1b8235bdd25b5 Author: Takashi Iwai Date: Fri Aug 10 16:50:37 2007 +0200 [ALSA] Use msecs_to_jiffies() in ac97_codec.c Replace the direct calculation of jiffies with msecs_to_jiffies(). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9b0d39be53b057e05e2f796a071ff1cead3a2506 Author: Takashi Iwai Date: Fri Aug 10 15:07:06 2007 +0200 [ALSA] usb-audio - Add advanced mode support for Edirol UA-1EX Add the quirk to support Advanced mode of Edirol UA-1EX. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ab9914f840be0938587fd3134a9877fb9d024173 Author: Krzysztof Helt Date: Fri Aug 10 12:04:42 2007 +0200 [ALSA] isa libs Makefiles cleanup This patch uses the Kconfig parameters SND_AD1848_LIB and SND_CS4231_LIB instead of mentioning each driver that requires the ad1848-lib or cs4231-lib separately in the Makefiles. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0e75182cf34ab7f7f1d88c1231fcc04780a7dc7d Author: Clemens Ladisch Date: Fri Aug 10 09:41:07 2007 +0200 [ALSA] seq_midi_event: fix parsing of F9/FD bytes Check for a valid event type when encoding a system real-time message to prevent the bytes F9 or FD resulting in an empty sequencer message. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit bf8c1382c0339e95e89394f59a149610dd2d828f Author: Clemens Ladisch Date: Fri Aug 10 09:40:09 2007 +0200 [ALSA] seq_midi_event: fix parsing of missing data bytes Reorganize the encoder logic to prevent status bytes that appear where data bytes are expected from being interpreted as data bytes. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 0b664f7206fac9676559e0012d8accc2dc0fc9fd Author: Clemens Ladisch Date: Fri Aug 10 09:39:14 2007 +0200 [ALSA] seq_midi_event: prevent running status after system messages Reset the event type after encoding a system message to prevent any following data bytes from being interpreted as data for a running status system message, which is not allowed in MIDI. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 394d051686d846c6cd86fe086166a4ea5507ccb5 Author: Clemens Ladisch Date: Fri Aug 10 09:38:36 2007 +0200 [ALSA] seq_midi_event: fix encoding of data bytes after end of sysex Create a new state ST_INVALID for the encoder to prevent data bytes at the beginning of a stream or after a sysex message being interpreted as note-off parameters. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 0f28ecd3323bb7df52e50493f78803fe4d61794a Author: Mark Hills Date: Fri Aug 10 08:01:54 2007 +0200 [ALSA] This patch is a USB quirk to ensure the Stanton Scratchamp v1 is detected (bugtrack #2932). The interface is two USB devices in the same physical box. Note that this is the USB ScratchAmp v1 and not the later v2 (firewire) model. Signed-off-by: Mark Hills Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 24038a25e707fe08ff343d72dd667acefcc50f6f Author: Takashi Iwai Date: Wed Aug 8 17:00:32 2007 +0200 [ALSA] Add new AFMT_* formats for OSS emulation The recent OSS includes the support for 32bit and other formats, which we already have, too. Let's define and map them. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 100eb7c2843dec83a7d16cf6412ade6cb928d11d Author: Takashi Iwai Date: Wed Aug 8 16:58:45 2007 +0200 [ALSA] Fix OSS documentation about 3bytes format Now the OSS emulation supports 3bytes format, too. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 64d27f96cb719cf8b5dae634c4c548049d4ae6bf Author: Takashi Iwai Date: Wed Aug 8 16:49:08 2007 +0200 [ALSA] Support 3-bytes 24bit format in PCM OSS emulation Add the support of 3-bytes 24bit formats in PCM OSS emulation. Also removed snd_pcm_build_linear_format() function. It's exported just for OSS emulation, and now the code was changed without calling this function. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9390ec85c0ab98444140190f936a37fa4eb945a2 Author: Takashi Iwai Date: Wed Aug 8 15:50:58 2007 +0200 [ALSA] Simplify the format conversion in PCM OSS emulation Simplify the format conversion code in PCM OSS emulation. This patch also adds the support of 3bytes 24bit formats with linear and mulaw, but they are not enabled in pcm_plugin.c yet. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 887f9f0253ba4a52f38810f3056cdf040a6157b3 Author: Takashi Iwai Date: Wed Aug 8 15:20:48 2007 +0200 [ALSA] Remove ifdefs from OSS PCM emulation codes Fix Makefile to compile files conditionally to CONFIG_SND_PCM_OSS_PLUGINS, and remove unneeded ifdefs in these files. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a110133d4c56a56d927e4fba68317212969fddbd Author: Takashi Iwai Date: Tue Aug 7 16:16:07 2007 +0200 [ALSA] doc - Remove IRQF_DISABLED from the example description Remove the bogus IRQF_DISBLAED together with IRQF_SHARED from the example code in the document. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7034632d88b02960abee258056d2269e606707e9 Author: Eugene Teo Date: Tue Aug 7 14:34:23 2007 +0200 [ALSA] seq: resource leak fix and various code cleanups This patch fixes: 1) a resource leak (CID: 1817) 2) various code cleanups Signed-off-by: Eugene Teo Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2880a8670d45f66bbdd3c5dd8f4ba46fe1ce9329 Author: Tobin Davis Date: Tue Aug 7 11:50:26 2007 +0200 [ALSA] hda-codec - Add support for Acer Aspire laptops This patch adds support for some Acer Aspire systems. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4ff076e5d925d8f714b88a1d3992796f89b45450 Author: Tobin Davis Date: Tue Aug 7 11:48:12 2007 +0200 [ALSA] hda-codec - Add more Dell systems This patch adds support for Dell E520 and a couple of other 965 based systems. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 38977e96cb32e658716e11a05ec7f1fc4618e0f3 Author: Russ Cox Date: Mon Aug 6 15:37:58 2007 +0200 [ALSA] fix selector unit bug affecting some USB speakerphones Following the suggestion in this thread: https://bugs.launchpad.net/ubuntu/+source/alsa-lib/+bug/26683 the correct upper bound on desc[0] is 5 + num_ins not 6 + num_ins, because the index used later is 5+i, not 6+i. This change makes my Vosky Chatterbox speakerphone work. Apparently it also helps with the Minivox MV100. Signed-off-by: Russ Cox Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6ed44ad3ebec52059f6f534deeb08f1d701852c5 Author: Jesper Juhl Date: Mon Aug 6 14:05:27 2007 +0200 [ALSA] au88x0: mem leak fix in snd_vortex_create() In sound/pci/au88x0/au88x0.c::snd_vortex_create() : The Coverity checker found that if we allocate storage for 'chip' but then leave via the regions_out: label, then we end up leaking the storage allocated for 'chip'. I believe simply freeing 'chip' before the 'return err;' line is all we need to fix this, but please double-check me :) Signed-off-by: Jesper Juhl Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 12f288bffeaa3196ebd5da49c5c7ac06c6188b61 Author: Takashi Iwai Date: Thu Aug 2 15:51:59 2007 +0200 [ALSA] hda-intel - Remove invalid __devinit Some functions in hda_codec.c are called from patch ops, which are kept in the codec instance even after initialization. Thus they shouldn't be marked as __devinit. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 350a29b457de480ee517dbb194a934421b2e9f37 Author: Michal Piotrowski Date: Thu Aug 2 14:26:43 2007 +0200 [ALSA] Get rid of dead code in sound/arm/sa11xx-uda1341.c File /home/devel/linux-rdc/sound/arm/sa11xx-uda1341.c line 82 Unknown CONFIG option! CONFIG_H3600_HAL File /home/devel/linux-rdc/sound/arm/sa11xx-uda1341.c line 103 Unknown CONFIG option! CONFIG_H3600_HAL File /home/devel/linux-rdc/sound/arm/sa11xx-uda1341.c line 241 Unknown CONFIG option! CONFIG_H3600_HAL File /home/devel/linux-rdc/sound/arm/sa11xx-uda1341.c line 310 Unknown CONFIG option! CONFIG_H3600_HAL File /home/devel/linux-rdc/sound/arm/sa11xx-uda1341.c line 334 Unknown CONFIG option! CONFIG_H3600_HAL File /home/devel/linux-rdc/sound/arm/sa11xx-uda1341.c line 344 Unknown CONFIG option! CONFIG_H3600_HAL File /home/devel/linux-rdc/sound/arm/sa11xx-uda1341.c line 357 Unknown CONFIG option! CONFIG_H3600_HAL Signed-off-by: Michal Piotrowski Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 609bb2ea397cd9947d8898f6077d33c1fa81b24f Author: Michal Piotrowski Date: Thu Aug 2 14:15:05 2007 +0200 [ALSA] Coding style fix sound/pci/ca0106/ca_midi.h Coding style fix Signed-off-by: Michal Piotrowski Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c9988dce19c1ba867f58f30366466e776c51607a Author: Takashi Iwai Date: Thu Aug 2 00:01:43 2007 +0200 [ALSA] hda-intel - Fix a typo in Kconfig Fix a typo in Kconfig help text for CONFIG_SND_HDA_HWDEP. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4848ffe520b5929acd157025d0969d455da1e57a Author: Rene Herman Date: Wed Aug 1 23:50:21 2007 +0200 [ALSA] add the ESS1879 pnpbios ID to the es18xx driver As reported by Troy Heidner, the 'Gateway Solo 5150' laptop (for one) has an onboard ESS1879 that identifies itself through PNPBIOS as just that. He also confirmed that other than not knowing about it, snd-es18xx drives the chip fine, so this adds the ID to the driver. Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8642a4ba6462e25f709f8899e1b4fd5b8f5d93a4 Author: Scott Thompson Date: Wed Aug 1 13:38:59 2007 +0200 [ALSA] sound/soc ioremap/iounmap balancing ioremap / iounmap balancing in sound/soc tree Signed-off-by: Scott Thompson hushmail.com> Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9dbd627b50e80e0552af66f7b9d2ae53f5b4a7fb Author: Timur Tabi Date: Wed Aug 1 12:22:07 2007 +0200 [ALSA] CS4270 driver does not compile with I2C disabled Fix compilation errors with the CS4270 when I2C is not enabled. Updated some comments to indicate that that stand-alone mode is not fully implemented, because there is no mechanism for the CS4270 driver and the machine driver to communicate the values of various input pins. Signed-off-by: Timur Tabi Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b0c813ceee8963790bebe73956574336604ae574 Author: Timur Tabi Date: Tue Jul 31 18:18:44 2007 +0200 [ALSA] ASoC CS4270 codec device driver This patch adds ALSA SoC support for the Cirrus Logic CS4270 codec. The following features are suppored: 1) Stand-alone and software mode 2) Software mode via I2C only 3) Master mode, not Slave 4) No power management Signed-off-by: Timur Tabi Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8259980ebcecd8096a04cc43c1c1d72e1c0ed165 Author: Takashi Iwai Date: Tue Jul 31 15:56:24 2007 +0200 [ALSA] hda-codec - Fix GPIO in resume Reinitialize GPIO in resume callback if necessary. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d71a5c50ca9b1e24987df3cdd3a1a4fb06d265e4 Author: Takashi Iwai Date: Tue Jul 31 11:09:16 2007 +0200 [ALSA] hda-intel - Fix a typo in Makefile Fixed a typo of CONFIG_SND_HDA_GENERIC. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 312d045c75fc76e7de51520c3c1b6b5bec565cc9 Author: Takashi Iwai Date: Tue Jul 31 11:08:10 2007 +0200 [ALSA] hda-intel - Fix compile warning in snd_hwdep_ioctl_compat() Fix missing cast: sound/pci/hda/hda_hwdep.c:86: warning: passing argument 4 of 'hda_hwdep_ioctl' makes integer from pointer without a cast Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 625dc0bf4d91d379e8b4d5c3c9e05ad6fa978c51 Author: Tobin Davis Date: Mon Jul 30 21:42:10 2007 +0200 [ALSA] hda-codec - Add support for the ASRock K8NF6G-VSTA motherboard This patch adds ALC861VD support for the ASRock K8NF6G-VSTA motherboard. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8e6c962cd3fbbd4bbde58421a07e63397c07696a Author: Adrian Bunk Date: Mon Jul 30 15:40:43 2007 +0200 [ALSA] sound/synth/util_mem.c: remove pointless check The Coverity checker spotted that if anyone would call this function with 'prev == NULL', he would still get an Oops a few lines below. Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6ddc9d2e82cd488aa117de8dd0a91862cb3656c1 Author: Takashi Iwai Date: Mon Jul 30 14:52:41 2007 +0200 [ALSA] Add missing static in ac97_codec.c Added missing static to snd_ac97_restore_status() and snd_ac97_restore_iec958() functions. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 29998d24ab5ec488cd127488246cc749b0ac52d6 Author: Clemens Ladisch Date: Mon Jul 30 08:14:31 2007 +0200 [ALSA] check for linked substreams of different cards It is possible to have linked substreams that belong to different cards and/or different drivers. This patch changes some drivers to make sure that they do not incorrectly try to handle substreams of a different card. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 82467611ffc41fba534c95f8b4ae3887a90f5a66 Author: Takashi Iwai Date: Fri Jul 27 19:15:54 2007 +0200 [ALSA] hda-codec - kernel config for each codec Create kernel configs to choose the codec support codes to build. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 532d5381793f3c824f8ff68d7067fab8c76bb811 Author: Takashi Iwai Date: Fri Jul 27 19:02:40 2007 +0200 [ALSA] hda-codec - Add a generic bind-control helper Added callbacks for a generic bind-control of mixer elements. This can be used for creating a mixer element controlling multiple widgets at the same time. Two macros, HDA_BIND_VOL() and HDA_BIND_SW(), are introduced for creating bind-volume and bind-switch, respectively. It taks the mixer element name and struct hda_bind_ctls pointer, which contains the real control callbacks in ops field and long array for private_value of each bound widget. All widgets have to be the same type (i.e. the same amp capability). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2807314d467e7dd929c42050031aabbd28e78f0b Author: Takashi Iwai Date: Fri Jul 27 18:58:06 2007 +0200 [ALSA] hda-intel - Add hwdep interface Added a hwdep interface for each codec (enabled per kconfig). This interface can be used for reading/writing HD-audio verbs and other purposes as future extensions. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ef5fa1a49fc3b5fe8e734f25fa61bc73ccba344e Author: Takashi Iwai Date: Fri Jul 27 16:52:46 2007 +0200 [ALSA] hdspm - Coding style fixes Fix codes to follow more to the standard kernel coding style. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d01ce99fc53271cd8ef0ef6b9a2790177fd410a1 Author: Takashi Iwai Date: Fri Jul 27 16:52:19 2007 +0200 [ALSA] hda-intel - Coding style fixes Fix codes to follow more to the standard kernel coding style. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e2340465ec9587362a057524d3e2163377366771 Author: Paul Vojta Date: Fri Jul 27 12:20:38 2007 +0200 [ALSA] Fix bugs in mode change/recalibration for opl3sa2 driver The mode change / recalibration doesn't work always with opl3sa2 devices, e.g. the first time it's played back. The patch fixes the problem. Signed-off-by: Paul Vojta Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 01ade528d424420093973ede20d7394d2cd81190 Author: Karsten Wiese Date: Fri Jul 27 12:15:42 2007 +0200 [ALSA] snd_usb_caiaq_input_free() fix input_free_device()'s comment says: input_free_device() should only be used if input_register_device() was not called yet or if it failed. Once device was registered use input_unregister_device() and memory will be freed once last refrence to the device is dropped. Signed-off-by: Karsten Wiese Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 52a6db82efe345af62aa72c6ce9dcb89a4d993b5 Author: Takashi Iwai Date: Thu Jul 26 19:10:47 2007 +0200 [ALSA] Clean up Makefile Clean up Makefile using xxx- style instead of ifeq(CONFIG_XXX,y). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8f11551b1798170dcffdd28475075ca4f1c6c990 Author: Takashi Iwai Date: Thu Jul 26 18:59:36 2007 +0200 [ALSA] Fix build error without CONFIG_HAS_DMA The recent change of include/asm-generic/dma-mapping-broken.h breaks the build without CONFIG_HAS_DMA. This patch is an ad hoc fix. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c93d1c25be410c0378d1d3d9e7efab06bf6a1261 Author: James Courtier-Dutton Date: Thu Jul 26 18:44:49 2007 +0100 [ALSA] snd-emu10k1:Unmute the Audio/Micro Dock after firmware load. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit f93abe51e8dc7e929d29e6a9a1991bf7fd234d4a Author: James Courtier-Dutton Date: Thu Jul 26 18:31:39 2007 +0100 [ALSA] snd-emu10k1:Implement SPDIF/ADAT status. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit 95a5b0850a96c155f6b8dac03f45c19bc482ced7 Author: Takashi Iwai Date: Thu Jul 26 16:50:09 2007 +0200 [ALSA] Fixes to follow the standard coding style Fixed the tutorial to follow the standard kernel coding style. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5b31954e4b364f811450311e3b31d3512e575f63 Author: Takashi Iwai Date: Thu Jul 26 11:49:22 2007 +0200 [ALSA] hda-codec - Fix the initial mixer state of ALC262 sony-assamd model Many of ALC262 codes don't call the automute function at the beginning, which may keep the silence until the HP jack is replugged. Now proper init_hook is added. Also, sony-assamd model doesn't handle the widget 0x14 properly, thus calling automute isn't enough. Now Front switch handles both widgets. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b87c464ea2c27005f592aaf351af40989f90f574 Author: Trent Piepho Date: Wed Jul 25 18:41:17 2007 +0200 [ALSA] ca0106: remove extra commands in SPI DAC init sequence The init sequence set a number of registers more than once to different values. It's only necessary to set them once to their final values. It also never actually updated the digital attenuation settings. Signed-off-by: Trent Piepho Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 18b5d32f201462ef7ed3c01773a88b4645128158 Author: Trent Piepho Date: Wed Jul 25 18:40:39 2007 +0200 [ALSA] ca0106: Add more symbol SPI register names and use them Add more symbol name for SPI register values. Change the SPI_XXX_BIT defines from the bit number to a mask. Saves having to write (1< Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 485100706b4b397f8072c756839878f634e21f85 Author: Trent Piepho Date: Wed Jul 25 18:39:59 2007 +0200 [ALSA] ca0106: power down SPI DAC channels when not in use For cards with an SPI DAC (SB Live 24-bit / Audigy SE), power down channels 0-2 when not in use. They are powered up on PCM open and down again on PCM close. Channel 4 (== Front) is not powered down, as it is used for capture feedback. Powering it down would effectively kill line in pass-through. Signed-off-by: Trent Piepho Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bddcf5411ffd17bfb86c2baed4a1b859c7071c98 Author: Takashi Iwai Date: Tue Jul 24 18:04:05 2007 +0200 [ALSA] hda-codec - Fix AD1988 SPDIF output The SPDIF output on AD1988 had some problems due to the wrongly routed analog loopback to SPDIF. This patch fixes the implementation of 'IEC958 Playback Source' mixer to handle the amp bits of mixer widget 0x1d correctly. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 646ab160ff5e672838209dbd679d50af63fbd366 Author: Harald Welte Date: Tue Jul 24 12:49:39 2007 +0200 [ALSA] s3c24xx-pcm: fix hw_params dma handling Since the PCM emulation can call multiple times to hw_setup(), but we can only once allocate/request the DMA channel, we have to handle this gracefully. Signed-off-by: Harald Welte Signed-off-by: Arnaud Patard Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit fca7f38892fa713d5221e26fd3ee57817b4bc031 Author: Trent Piepho Date: Tue Jul 24 12:10:34 2007 +0200 [ALSA] ca0106: replaced control add sequences with macro Turn a rather long lined for loop that is duplicated multiple times into a macro. Signed-off-by: Trent Piepho Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b18cd538a92247307247a53f57c477edbcedbb79 Author: Trent Piepho Date: Tue Jul 24 12:06:16 2007 +0200 [ALSA] ca0106: Add analog mute controls for cards with SPI DAC Add four mute controls for the analog output channels for cards that use an SPI DAC, like the SB0570 SB Live! 24-bit / Audigy SE. The Wolfson DAC doesn't support muting left/right so the controls are mono. The chip state struct gets a 32-byte array to act as a shadow of the spi dac registers. Only two registers are used for mute, but more would be needed for analog gain, de-emphasis, DAC power down, phase inversion, and other features. Signed-off-by: Trent Piepho Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 69b311a4dabc9163288be1fe993cb7db47541e67 Author: Adrian Bunk Date: Tue Jul 24 11:56:45 2007 +0200 [ALSA] sound/pci/cs46xx/: fix an off-by-one This patch fixes an off-by-one in a snd_assert() spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 00283886fae4005feeb84bddda6cf5da5675be4d Author: Takashi Iwai Date: Tue Jul 24 11:21:21 2007 +0200 [ALSA] ice1712 - Fix missing replacement to snd_ctl_boolean_mono_info There were some places I forgot to replace with snd_ctl_boolean_mono_info. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit edec7bbb22dafdab5f8eae4f049ad9d0f615abc4 Author: James Courtier-Dutton Date: Mon Jul 23 20:30:22 2007 +0100 [ALSA] snd-emu10k1:Support for ADAT and S/PDIF. Patch submitted by Ctirad Fertr Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit aaccf54f638dfd39ebd1220936b0ce261e5fced7 Author: James Courtier-Dutton Date: Mon Jul 23 18:12:41 2007 +0100 [ALSA] snd-ca0106:Add recognition for new variant. Fixes ALSA bug#3251 Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit 42f53226953b0f2ad16bf55d0c11e08fe86c3666 Author: James Courtier-Dutton Date: Mon Jul 23 17:52:27 2007 +0100 [ALSA] snd-emu10k1:Improves firmware loading for E-Mu cards. Details: Fixes http://bugzilla.kernel.org/show_bug.cgi?id=8176 Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit 177a7cdbd1d88be5cbf957a2793a59ffa50cbef9 Author: Clemens Ladisch Date: Mon Jul 23 17:38:44 2007 +0200 [ALSA] ymfpci: fix volume handling of the 44.1 kHz slot The existing code for handling the 44.1 slot's volume has two problems: the volume is not affected by the 'Wave Playback Volume' mixer control, and the BUF441OUTVOL register, which is used to control the per- substream volume for this slot, uses a different scale than the gain fields of the other slots. This patch makes the BUF441OUTVOL register a shadow of the NATIVEDACOUTVOL register so that the Wave volume is consistent for all substreams. As a consequence of this, the per-substream PCM volume control gets no longer activated for the substream using this slot. The code for (de)activating the mixer control is moved from the open/close to the prepare/trigger_stop callbacks so that it is able to determine the substream's slot. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit eafe57084786d5711e434165297f13864697f9f9 Author: Hans-Christian Egtvedt Date: Mon Jul 23 16:01:38 2007 +0200 [ALSA] ALSA sound driver for the AT73C213 DAC using Atmel SSC driver This patch adds support for the AT73C213 DAC using the misc Atmel SSC driver in I2S mode. The driver also requires a SPI to setup the registers and control volume. It has been tested with an AT32AP7000 on the ATSTK1000 development board. The driver should also work with any Atmel device with an SSC module supported by the Atmel SSC driver (atmel-ssc). The atmel-ssc driver is just submitted to the Linux kernel. Please see mail thread http://lkml.org/lkml/2007/7/16/32 Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3b0a899ca0fca7801127757cfaafb4d8671793f0 Author: Hans-Christian Egtvedt Date: Mon Jul 23 15:52:42 2007 +0200 [ALSA] Add SPI devices to ALSA Kconfig and Makefile This patch adds SPI devices in the ALSA diretory, including the Kconfig and Makefile. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9c638cd641f2822ff4a2cdafe4ec415e446a64da Author: Arnaud Patard Date: Mon Jul 23 15:43:37 2007 +0200 [ALSA] Fix Kconfig entry for SND_S3C24XX_SOC_NEO1973_WM8753 SND_S3C24XX_SOC_NEO1973_WM8753 depends on MACH_GTA01 but the Kconfig entry which is going to be merged is MACH_NEO1973_GTA01. Signed-off-by: Arnaud Patard Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a5ce88909d3007caa7b65996a8f6784350beb2a6 Author: Takashi Iwai Date: Mon Jul 23 15:42:26 2007 +0200 [ALSA] Clean up with common snd_ctl_boolean_*_info callbacks Clean up codes using the new common snd_ctl_boolean_*_info() callbacks. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b9ed4f2b68dc47b0c35c1a3ae8ae97c2517d5177 Author: Takashi Iwai Date: Mon Jul 23 15:41:34 2007 +0200 [ALSA] Add helper functions for frequently used callbacks Added helper functions for frequenty used callbacks: snd_ctl_boolean_mono_info() and snd_ctl_boolean_stereo_info() Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 90fd5ce5f67968d3250eeab9bc1f6822644347ef Author: James Courtier-Dutton Date: Mon Jul 23 14:01:46 2007 +0100 [ALSA] snd-emu10k1: Add support for E-Mu 1616 PCI, 1616M PCI, 0404 PCI, E-Mu Notebook. Description: The .device=0x0008 chips have new, but different EMU32 in/out channels. Driver updated to make use of these EMU32 channels. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit 25765c4e5de8edcd06b60993b63feeed9e7885c1 Author: Jesper Juhl Date: Mon Jul 23 12:15:42 2007 +0200 [ALSA] Clean up duplicate includes in sound/core/ This patch cleans up duplicate includes in sound/core/ Signed-off-by: Jesper Juhl Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bc8e5771702837c05fa60a005d7c2f388ad89647 Author: Jesper Juhl Date: Mon Jul 23 12:15:16 2007 +0200 [ALSA] Clean up duplicate includes in sound/soc/ This patch cleans up duplicate includes in sound/soc/ Signed-off-by: Jesper Juhl Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 285ded7459c0b4a8573cc5809533fdccc8758952 Author: Jesper Juhl Date: Mon Jul 23 12:14:53 2007 +0200 [ALSA] Clean up duplicate includes in sound/ppc/ This patch cleans up duplicate includes in sound/ppc/ Signed-off-by: Jesper Juhl Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1f28960b465afe0dc3ccb8bd53354cb435ea0384 Author: Stephen Rothwell Date: Mon Jul 23 12:10:07 2007 +0200 [ALSA] Fix tas_suspend/resume build warning sound/aoa/codecs/snd-aoa-codec-tas.c:750: warning: 'tas_suspend' defined but not used sound/aoa/codecs/snd-aoa-codec-tas.c:760: warning: 'tas_resume' defined but not used Acked-by: Johannes Berg Signed-off-by: Stephen Rothwell Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 644bd2f048972d75eb1979b1fdca257d528ce687 Author: Neil Brown Date: Tue Oct 16 13:48:46 2007 +0200 Fix memory leak in dm-crypt dm-crypt used the ->bi_size member in the bio endio handling to free the appropriate pages, but it frees all of it from both call paths. With the ->bi_end_io() changes, ->bi_size was always 0 since we don't do partial completes. This caused dm-crypt to leak memory. Fix this by removing the size argument from crypt_free_buffer_pages(). Signed-off-by: Neil Brown Signed-off-by: Jens Axboe commit 2c941a204070ab32d92d40318a3196a7fb994c00 Author: Jens Axboe Date: Tue Aug 7 09:37:10 2007 +0200 SPARC64: sg chaining support This updates the sparc64 iommu/pci dma mappers to sg chaining. Acked-by: David S. Miller Later updated to newer kernel with unified sparc64 iommu sg handling. Signed-off-by: Jens Axboe commit 0912a5db0ea45d8aef3ee99a882e093285e32c3c Author: Jens Axboe Date: Mon May 14 15:44:38 2007 +0200 SPARC: sg chaining support This updates the sparc iommu/pci dma mappers to sg chaining. Acked-by: David S. Miller Signed-off-by: Jens Axboe commit 78bdc3106a877cfa50439fa66b52acbc4e7868df Author: Jens Axboe Date: Fri Oct 12 13:44:12 2007 +0200 PPC: sg chaining support This updates the ppc iommu/pci dma mappers to sg chaining. Includes further fixes from FUJITA Tomonori . Signed-off-by: Jens Axboe commit d1ed455e30e439e0d1483c2e236d7e15e1010704 Author: Jens Axboe Date: Thu Jul 19 08:22:17 2007 +0200 PS3: sg chaining support Acked-by: Geoff Levand Signed-off-by: Jens Axboe commit 9b6eccfccbfb2cde5405021beaad2ebb8081a2e9 Author: Jens Axboe Date: Tue Oct 16 11:27:26 2007 +0200 IA64: sg chaining support This updates the ia64 iommu/pci dma mappers to sg chaining. Signed-off-by: Jens Axboe commit 46856afa01769db3a5b16c3f57aa5bca45729edd Author: Jens Axboe Date: Thu May 10 11:59:55 2007 +0200 x86-64: enable sg chaining Signed-off-by: Jens Axboe commit 9ee1bea4694f99d7f9cc85a93599411ad9f80f47 Author: Jens Axboe Date: Thu Oct 4 09:35:37 2007 +0200 x86-64: update pci-gart iommu to sg helpers Signed-off-by: Jens Axboe commit b922f53bd02f2017a3a47f29abaee18f91fb8fb4 Author: Jens Axboe Date: Tue Jul 24 12:39:27 2007 +0200 x86-64: update nommu to sg helpers Acked-by: Muli Ben-Yehuda Signed-off-by: Jens Axboe commit 8b87d9f48a2f0e44fac57aca344d407df39a9901 Author: Jens Axboe Date: Tue Jul 24 12:38:15 2007 +0200 x86-64: update calgary iommu to sg helpers Acked-by: Muli Ben-Yehuda Signed-off-by: Jens Axboe commit dbfd49fe9dd7d234a4e195c6ed422cafa25813f2 Author: Jens Axboe Date: Fri May 11 14:56:18 2007 +0200 swiotlb: sg chaining support Signed-off-by: Jens Axboe commit 38d375561f0f89e76f28ed9e69706bb2c980200f Author: Jens Axboe Date: Fri May 11 12:57:30 2007 +0200 i386: enable sg chaining We don't need to do more on x86, there's no iommu to be worried about. Signed-off-by: Jens Axboe commit a17b4904206eda7d1120a099a9717e73113b275d Author: Jens Axboe Date: Wed May 9 09:15:27 2007 +0200 i386 dma_map_sg: convert to using sg helpers The dma mapping helpers need to be converted to using sg helpers as well, so they will work with a chained sglist setup. Signed-off-by: Jens Axboe commit d3ad0aa4248956399b79a82f9e8ab8155a0f98db Author: Jens Axboe Date: Thu Oct 4 20:11:30 2007 +0200 mmc: need to zero sglist on init Otherwise we could have junk in the sg fields, fooling the sg chaining into thinking ->page is valid. Acked-by: Pierre Ossman Signed-off-by: Jens Axboe commit a683d652d334a546be9175b894f42dbd8e399536 Author: Lee Schermerhorn Date: Fri Sep 21 08:33:55 2007 +0200 Panic in blk_rq_map_sg() from CCISS driver New scatter/gather list chaining [sg_next()] treats 'page' member of struct scatterlist with low bit set [0x01] as a chain pointer to another struct scatterlist [array]. The CCISS driver request function passes an uninitialized, temporary, on-stack scatterlist array to blk_rq_map_sq(). sg_next() interprets random data on the stack as a chain pointer and eventually tries to de-reference an invalid pointer, resulting in: [] blk_rq_map_sg+0x70/0x170 PGD 6090c3067 PUD 0 Oops: 0000 [1] SMP last sysfs file: /block/cciss!c0d0/cciss!c0d0p1/dev CPU 6 Modules linked in: ehci_hcd ohci_hcd uhci_hcd Pid: 1, comm: init Not tainted 2.6.23-rc6-mm1 #3 RIP: 0010:[] [] blk_rq_map_sg+0x70/0x170 RSP: 0018:ffff81060901f768 EFLAGS: 00010206 RAX: 000000040b161000 RBX: ffff81060901f7d8 RCX: 000000040b162c00 RDX: 0000000000000000 RSI: ffff81060b13a260 RDI: ffff81060b139600 RBP: 0000000000001400 R08: 00000000fffffffe R09: 0000000000000400 R10: 0000000000000000 R11: 000000040b163000 R12: ffff810102fe0000 R13: 0000000000000001 R14: 0000000000000001 R15: 00001e0000000000 FS: 00000000026108f0(0063) GS:ffff810409000b80(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 000000010000001e CR3: 00000006090c6000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process init (pid: 1, threadinfo ffff81060901e000, task ffff810409020800) last branch before last exception/interrupt from [] blk_rq_map_sg+0x10a/0x170 to [] blk_rq_map_sg+0x70/0x170 Stack: 000000018068ea00 ffff810102fe0000 0000000000000000 ffff810011400000 0000000000000002 0000000000000000 ffff81040b172000 ffffffff803acd3d 0000000000003ec1 ffff8106090d5000 ffff8106090d5000 ffff810102fe0000 Call Trace: [] do_cciss_request+0x15d/0x4c0 [] new_slab+0x1c8/0x270 [] __slab_alloc+0x22d/0x470 [] mempool_alloc+0x4b/0x130 [] cfq_set_request+0xee/0x380 [] mempool_alloc+0x4b/0x130 [] get_request+0x168/0x360 [] rb_insert_color+0x8d/0x110 [] elv_rb_add+0x58/0x60 [] cfq_add_rq_rb+0x69/0xa0 [] elv_merged_request+0x5b/0x60 [] __make_request+0x23d/0x650 [] __slab_alloc+0x22d/0x470 [] generic_write_checks+0x140/0x190 [] generic_make_request+0x1c2/0x3a0 Kernel panic - not syncing: Attempted to kill init! This patch initializes the tmp_sg array to zeroes. Perhaps not the ultimate fix, but an effective work-around. I can now boot 23-rc6-mm1 on an HP Proliant x86_64 with CCISS boot disk. Signed-off-by: Lee Schermerhorn drivers/block/cciss.c | 1 + 1 file changed, 1 insertion(+) Signed-off-by: Jens Axboe commit 2a7c59e79ce060c746358b08521de0acbca6a4f1 Author: FUJITA Tomonori Date: Tue Sep 18 12:17:28 2007 +0200 remove sglist_len Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 8889e3c129780cdbe15fed3c366ba3aa3026684d Author: FUJITA Tomonori Date: Tue Sep 18 12:16:45 2007 +0200 remove blk_queue_max_phys_segments in libata LIBATA_MAX_PRD is the maximum number of DMA scatter/gather elements permitted by the HBA's DMA engine. It's properly set to q->max_hw_segments via the sg_tablesize parameter. libata shouldn't call blk_queue_max_phys_segments. Now LIBATA_MAX_PRD is equal to SCSI_MAX_PHYS_SEGMENTS by default (both is 128), so everything is fine. But if they are changed, some code (like the scsi mid layer, sg chaining, etc) might not work properly. (Addition from Jens) The basic issue is that the physical segment setting is purely a driver issue. And since SCSI is managing the sglist, libata has no business changing the setting. All libata should care about is the hw segment setting. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit fd820f405574a30aacf9a859886e173d641f080b Author: FUJITA Tomonori Date: Tue Sep 18 12:14:37 2007 +0200 revert sg segment size ifdefs This reverts sg segment size ifdefs that the current code has in order to provide a way to reduce sgpool memory consumption. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 7530c20f2ab2f55b99c666b03728df7d8b59a80c Author: Andrew Morton Date: Mon Sep 17 15:29:44 2007 +0200 Fixup u14-34f ENABLE_SG_CHAINING Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 633ed113d477c1a8c77d5fe3574c410ea52f58cc Author: FUJITA Tomonori Date: Mon Sep 17 15:28:22 2007 +0200 qla1280: enable use_sg_chaining option Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 9cb83c7529d929c00f37d821daed1942a1b20602 Author: FUJITA Tomonori Date: Tue Oct 16 11:24:32 2007 +0200 [SCSI] add use_sg_chaining option to scsi_host_template This option is true if a low-level driver can support sg chaining. This will be removed eventually when all the drivers are converted to support sg chaining. q->max_phys_segments is set to SCSI_MAX_SG_SEGMENTS if false. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit c0dcffd71d5064efefa620231152c38eca8e066b Author: FUJITA Tomonori Date: Mon Sep 10 04:17:13 2007 +0100 qla1280: sg chaining fixes Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 0874ee76bcd06e2f53c32a56773ad82f5920f0f9 Author: FUJITA Tomonori Date: Sat Aug 18 18:27:36 2007 +0900 libata sg chaining support fix Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit f1346372f9c73154727bf2cadb7f78126597efd2 Author: FUJITA Tomonori Date: Mon Jul 30 23:01:32 2007 +0900 zfcp: sg chaining support Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit e0eaf8882879ee2118ae830f6999cc4a71deb9ac Author: FUJITA Tomonori Date: Mon Jul 16 15:24:14 2007 +0200 ips: sg chaining support ips properly uses scsi_for_each_sg for the normal I/O path, however, the breakup path doesn't. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 55c16a70041ba55e235c5944dccb9c1de0dd3ca6 Author: Jens Axboe Date: Wed Jul 25 08:13:56 2007 +0200 IDE: sg chaining support Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit ba2da2f8d61a9d2e24754c6311a4ab6a5e70060a Author: Jens Axboe Date: Tue Jul 24 14:42:11 2007 +0200 i2o: sg chaining support Acked-by: Alan Cox Signed-off-by: Jens Axboe commit ed17b031e0aa83177c38ad48c3b9fcc3895653f6 Author: Jens Axboe Date: Mon Jul 16 15:30:33 2007 +0200 Fusion: sg chaining support Signed-off-by: Jens Axboe commit 1f6f31a03e3aed0854a6aa3ab763c3d3b2ff42ff Author: Jens Axboe Date: Fri May 11 12:33:09 2007 +0200 USB storage: sg chaining support [PATCH] USB storage: sg chaining support Modify usb_stor_access_xfer_buf() to take a pointer to an sg entry pointer, so we can keep track of that instead of passing around an integer index (which we can't use when dealing with multiple scatterlist arrays). Signed-off-by: Jens Axboe commit 53d412fce05e73dd0b25b0ebfa83c7ee94f16451 Author: Jens Axboe Date: Tue Jul 24 14:41:13 2007 +0200 infiniband: sg chaining support Signed-off-by: Jens Axboe commit 51cf22495ae2fe60ba28123e04059cff4ddd9461 Author: Jens Axboe Date: Mon Jul 16 10:00:31 2007 +0200 aha1542: convert to use the data buffer accessors Signed-off-by: Jens Axboe commit d274a9878bcd028712ea4f3d96db72b63d3eba4d Author: Jens Axboe Date: Tue Oct 16 11:20:52 2007 +0200 ide-scsi: sg chaining support Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit 2f08fe5221b79aa1e240aa3938e9de6ab0baf1d3 Author: Jens Axboe Date: Wed May 9 13:43:12 2007 +0200 qlogicpti: sg chaining support Signed-off-by: Jens Axboe commit 8145bfe463f4dcd644304933e6b80460557daa44 Author: Jens Axboe Date: Wed May 9 13:18:54 2007 +0200 aic94xx: sg chaining support Signed-off-by: Jens Axboe commit a0441891373fe2db582075a4639fdfcccea470c1 Author: Jens Axboe Date: Wed May 9 13:02:43 2007 +0200 qla1280: sg chaining support Interesting hardware setup... Signed-off-by: Jens Axboe commit b0f655d0ef02468232b69acad1d935db921db46b Author: Jens Axboe Date: Fri May 11 15:01:01 2007 +0200 scsi generic: sg chaining support Signed-off-by: Jens Axboe commit 852e034de7727f91dd51995c460a04db2955f1b3 Author: Jens Axboe Date: Mon Jul 16 10:19:24 2007 +0200 scsi_debug: support sg chaining Signed-off-by: Douglas Gilbert Signed-off-by: Jens Axboe commit 8726021626780a73e795c9b939e1ee49ac8c9136 Author: Jens Axboe Date: Tue Oct 16 11:14:12 2007 +0200 libata: convert to using sg helpers This converts libata to using the sg helpers for looking up sg elements, instead of doing it manually. Signed-off-by: Jens Axboe commit a8474ce23a73185dd2bae4c884b1716474032d31 Author: Jens Axboe Date: Tue Aug 7 09:02:51 2007 +0200 SCSI: support for allocating large scatterlists This is what enables large commands. If we need to allocate an sgtable that doesn't fit in a single page, allocate several SCSI_MAX_SG_SEGMENTS sized tables and chain them together. SCSI defaults to large chained sg tables, if the arch supports it. Signed-off-by: Jens Axboe commit 0cde8d9510e242c73b2d68f9949cd3c456c863b4 Author: Jens Axboe Date: Tue Oct 16 11:12:37 2007 +0200 scsi: simplify scsi_free_sgtable() Just pass in the command, no point in passing in the scatterlist and scatterlist pool index seperately. Signed-off-by: Jens Axboe commit 4c2f6d4c282c4d5210221697b9895ad90bc697cb Author: saeed bishara Date: Wed Aug 8 13:09:00 2007 +0200 use sg helper function in DMA mapping documentation Signed-off-by: Saeed Bishara Signed-off-by: Jens Axboe commit 563063a808de6b2004d5b8a09ddcb6125481f4b2 Author: Jens Axboe Date: Thu May 10 13:29:51 2007 +0200 ll_rw_blk: temporarily enable max_segments tweaking Expose this setting for now, so that users can play with enabling large commands without defaulting it to on globally. This is a debug patch, it will be dropped for the final versions. Signed-off-by: Jens Axboe commit 70eb8040dc81212c884a464b75e37dca8014f3ad Author: Jens Axboe Date: Mon Jul 16 21:17:16 2007 +0200 Add chained sg support to linux/scatterlist.h The core of the patch - allow the last sg element in a scatterlist table to point to the start of a new table. We overload the LSB of the page pointer to indicate whether this is a valid sg entry, or merely a link to the next list. Includes a fix from Bartlomiej Zolnierkiewicz correcting the ifdef ARCH_HAS_SG_CHAIN guarding sg_last(). Signed-off-by: Jens Axboe commit c6132da1704be252ee6c923f47501083d835c238 Author: Jens Axboe Date: Tue Oct 16 11:08:49 2007 +0200 scsi: convert to using sg helpers This converts the SCSI mid layer to using the sg helpers for looking up sg elements, instead of doing it manually. Signed-off-by: Jens Axboe commit f565913ef8a8d0cfa46a1faaf8340cc357a46f3a Author: Jens Axboe Date: Fri Sep 21 10:44:19 2007 +0200 block: convert to using sg helpers Convert the main rq mapper (blk_rq_map_sg()) to the sg helper setup. Signed-off-by: Jens Axboe commit 96b418c960af0d5c7185ff5c4af9376eb37ac9d3 Author: Jens Axboe Date: Wed May 9 09:02:57 2007 +0200 Add sg helpers for iterating over a scatterlist table First step to being able to change the scatterlist setup without having to modify drivers (a lot :-) Signed-off-by: Jens Axboe commit ab83407e9ee35a4972457aa487be6a7a21afd715 Author: Jens Axboe Date: Wed May 9 08:58:32 2007 +0200 crypto: don't pollute the global namespace with sg_next() It's a subsystem function, prefix it as such. Acked-by: Herbert Xu Signed-off-by: Jens Axboe commit 7e3da6c4b9a69f44b758b2c88190ac33ac4ea1a1 Author: Laurent Riffard Date: Fri Sep 21 08:32:28 2007 +0200 pktcdvd: don't rely on bio_init() preserving bio->bi_destructor Signed-off-by: Laurent Riffard Signed-off-by: Jens Axboe commit 761a15e7ac0be7df0c86a55f38a84c080fa179ae Author: Jens Axboe Date: Fri Sep 14 13:06:53 2007 +0200 pktcdvd: don't rely on bio_init() preserving bio->bi_io_vec Signed-off-by: Jens Axboe commit bb879463b5346302a3891ebb7406247c53cebac1 Author: Adrian Bunk Date: Fri Sep 14 10:02:06 2007 +0200 remove ide_get_error_location() Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit fd5d806266935179deda1502101624832eacd01f Author: Jens Axboe Date: Tue Oct 16 11:05:02 2007 +0200 block: convert blkdev_issue_flush() to use empty barriers Then we can get rid of ->issue_flush_fn() and all the driver private implementations of that. Signed-off-by: Jens Axboe commit bf2de6f5a4faf0197268f18d08969b003b87b6e8 Author: Jens Axboe Date: Thu Sep 27 13:01:25 2007 +0200 block: Initial support for data-less (or empty) barrier support This implements functionality to pass down or insert a barrier in a queue, without having data attached to it. The ->prepare_flush_fn() infrastructure from data barriers are reused to provide this functionality. Signed-off-by: Jens Axboe commit c07e2b41291853b19fff11ceee3657df252a4e42 Author: Jens Axboe Date: Wed Jul 18 13:27:58 2007 +0200 block: factor our bio_check_eod() End of device check is done twice in __generic_make_request() and it's fully inlined each time. Factor out bio_check_eod(). Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit a0cd128542cd9c67f27458a08e989db486a293ce Author: Jens Axboe Date: Fri Sep 21 10:41:07 2007 +0200 block: add end_queued_request() and end_dequeued_request() helpers We can use this helper in the elevator core for BLKPREP_KILL, and it'll also be useful for the empty barrier patch. Signed-off-by: Jens Axboe commit 992c5ddaf1b8b85d2252339c4c89adf7469c09ca Author: Jens Axboe Date: Wed Jul 18 13:18:08 2007 +0200 bio: make freeing of ->bi_io_vec conditional in bio_free() The empty barrier patches do not carry data, so they have no iovec attached. Signed-off-by: Jens Axboe commit 2b94de552e07610dfa79fc49ea49d1cfa5cd9ce8 Author: Jens Axboe Date: Wed Jul 18 13:14:03 2007 +0200 bio: use memset() in bio_init() Use memset() to clear the bio, instead of doing each field manually. Signed-off-by: Jens Axboe commit 4fa253f33c1d4d6402de9eaacefdb45a47ed116d Author: Jens Axboe Date: Wed Jul 18 13:13:10 2007 +0200 block: ll_rw_blk.c: cosmetics Fix ?: construct, a typo, whitespace, and similar. Signed-off-by: Jens Axboe commit 8b6800fbced0c6745a9b8f5f72f15ef8bce8a6be Author: Rob Landley Date: Tue Oct 16 10:11:28 2007 +0200 Add Documentation/block/00-INDEX Add Documentation/block/00-INDEX Signed-off-by: Rob Landley Signed-off-by: Jens Axboe commit 6866bef40d06f7c2baac3a855b1917a8ca75456c Author: Jens Axboe Date: Tue Oct 16 10:01:29 2007 +0200 splice: fix double kunmap() in vmsplice copy path The out label should not include the unmap, the only way to jump there already has unmapped the source. 00002000 f7c21a00 00000000 00000000 c0489036 00018e32 00000002 00000000 00001000 Call Trace: [] pipe_to_user+0xca/0xd3 [] __splice_from_pipe+0x53/0x1bd [] ------------[ cut here ]------------ filemap_fault+0x221/0x380 [] pipe_to_user+0x0/0xd3 [] sys_vmsplice+0x3b7/0x422 [] kernel BUG at mm/highmem.c:206! handle_mm_fault+0x4d5/0x8eb [] kmap_atomic+0x1c/0x20 [] unmap_vmas+0x3d1/0x584 [] free_pgtables+0x90/0xa0 [] pgd_dtor+0x0/0x1 [] audit_syscall_exit+0x2aa/0x2c6 [] do_syscall_trace+0x124/0x169 [] syscall_call+0x7/0xb ======================= Code: 2d 00 d0 5b 00 25 00 00 e0 ff 29 invalid opcode: 0000 [#1] c2 89 d0 c1 e8 0c 8b 14 85 a0 6c 7c c0 4a 85 d2 89 14 85 a0 6c 7c c0 74 07 31 c9 4a 75 15 eb 04 <0f> 0b eb fe 31 c9 81 3d 78 38 6d c0 78 38 6d c0 0f 95 c1 b0 01 EIP: [] kunmap_high+0x51/0x8e SS:ESP 0068:f5960df0 SMP Modules linked in: netconsole autofs4 hidp nfs lockd nfs_acl rfcomm l2cap bluetooth sunrpc ipv6 ib_iser rdma_cm ib_cm iw_cmib_sa ib_mad ib_core ib_addr iscsi_tcp libiscsi scsi_transport_iscsi dm_mirror dm_multipath dm_mod video output sbs batteryac parport_pc lp parport sg i2c_piix4 i2c_core floppy cfi_probe gen_probe scb2_flash mtd chipreg tg3 e1000 button ide_cd serio_raw cdrom aic7xxx scsi_transport_spi sd_mod scsi_mod ext3 jbd ehci_hcd ohci_hcd uhci_hcd CPU: 3 EIP: 0060:[] Not tainted VLI EFLAGS: 00010246 (2.6.23 #1) EIP is at kunmap_high+0x51/0x8e Signed-off-by: Jens Axboe commit 23c76983e23628c7762137a00651e3e371aa97d3 Author: Alan D. Brunelle Date: Mon Oct 15 13:22:26 2007 +0200 Some IO scheduler cleanup in Documentation/block as-iosched.txt: o Changed IO scheduler selection text to a reference to the switching-sched.txt file. o Fixed typo: 'for up time...' -> 'for up to...' o Added short description of the est_time file. deadline-iosched.txt: o Changed IO scheduler selection text to a reference to the switching-sched.txt file. o Removed references to non-existent seek-cost and stream_unit. o Fixed typo: 'write_starved' -> 'writes_starved' switching-sched.txt: o Added in boot-time argument to set the default IO scheduler. (From as-iosched.txt) o Added in sysfs mount instructions. (From deadline-iosched.txt) Signed-off-by: Alan D. Brunelle Signed-off-by: Jens Axboe commit 26bbb29a2a4e1491238ae49bf3294955dc0ab662 Author: Rob Landley Date: Mon Oct 15 11:42:52 2007 +0200 Update Jens Axboe's email in Documentation/* Jens Axboe's old email address bounces. Signed-off-by: Rob Landley Signed-off-by: Jens Axboe commit 87ad90016483f7f112021c7c82d3d72e682324f6 Author: Jeff Garzik Date: Mon Oct 15 11:02:15 2007 +0200 drivers/block/cpqarray,cciss: kill unused var The recent bio work and subsequent fixups created unused variables. Signed-off-by: Jeff Garzik Signed-off-by: Jens Axboe commit 7344be053ab9a1910e77ba6472883a5c83dda569 Author: Arjan van de Ven Date: Mon Oct 15 11:01:53 2007 +0200 bsg: mark struct file_operations const struct file_operations is generally const (to avoid false sharing and get compile time errors on accidental writing to this shared structure); bsg recently added one of these without the const keyword. Patch below marks it const.... Signed-off-by: Arjan van de Ven Signed-off-by: Jens Axboe commit 150f29ef2e96392c6ddf24d49289dd40df2783f0 Author: Tim Shimmin Date: Tue Oct 16 16:20:12 2007 +1000 [XFS] no longer using io_vnode, as was remaining from 23 cherrypick Because we cherrypicked SGI-Modid xfs-linux-melb:xfs-kern:29675a and it depended on the sgi mod which removed io_vnode (which was not cherrypicked in 23) it was hand modified. This fixes things back up (to the originial mod) now we have moved on again. Reviewed-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 479ba36bbb322a21aa65cc89223c50adf78f4a56 Author: Tim Shimmin Date: Tue Oct 16 15:32:57 2007 +1000 [XFS] Remove STATIC which was missing from prior manual merge Removes STATIC on xfs_freeze function which was not manually applied for SGI-Modid: xfs-linux-melb:xfs-kern:29504a. Reviewed-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit cd514bdaa87e48b52d4074390043f19ce43ea2c4 Author: Tim Shimmin Date: Mon Oct 15 13:18:59 2007 +1000 [XFS] Put back the QUEUE_ORDERED_NONE test in the barrier check. Put back the QUEUE_ORDERED_NONE test which caused us grief in sles when it was taken out as, IIRC, it allowed md/lvm to be thought of as supporting barriers when they weren't in some configurations. This patch will be reverting what went in as part of a change for the SGI-pv 964544 (SGI-Modid: xfs-linux-melb:xfs-kern:28568a). SGI-PV: 971783 SGI-Modid: xfs-linux-melb:xfs-kern:29882a Signed-off-by: Tim Shimmin Signed-off-by: David Chinner commit bebf963fec2f319d162c18d06b6592f572c9c101 Author: Lachlan McIlroy Date: Mon Oct 15 13:18:02 2007 +1000 [XFS] Turn off XBF_ASYNC flag before re-reading superblock. SGI-PV: 971603 SGI-Modid: xfs-linux-melb:xfs-kern:29871a Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit e893bffd4cf2f000f3058319eea5abeeb1755969 Author: Lachlan McIlroy Date: Fri Oct 12 11:13:35 2007 +1000 [XFS] avoid race in sync_inodes() that can fail to write out all dirty data In xfs_fs_sync_super() treat a sync the same as a filesystem freeze. This is needed to force the log to disk for inodes which are not marked dirty in the Linux inode (the inodes are marked dirty on completion of the log I/O) and so sync_inodes() will not flush them. In xfs_fs_write_inode() a synchronous flush will not get an EAGAIN from xfs_inode_flush() and if an asynchronous flush returns EAGAIN we should pass it on to the caller. If we get an error while flushing the inode then re-dirty it so we can try again later. SGI-PV: 971670 SGI-Modid: xfs-linux-melb:xfs-kern:29860a Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit c2cba57e83dd7d2dda4ec425998b536669632c82 Author: Lachlan McIlroy Date: Fri Oct 12 11:12:20 2007 +1000 [XFS] This fix prevents bulkstat from spinning in an infinite loop. Here 'agino' increments through the inodes in an allocation group. At the end of the innermost 'for' loop it will hold the value of the next inode to look at (ie the first inode in the next cluster/chunk). Assigning 'lastino' to 'agino' resets it to the last inode in the last inode cluster we just looked at. This causes us to look up the very same cluster and examine all the inodes all over again, and again, and again... We also want to set 'lastino' for the cases when we're not interested in the inode so that the next call to bulkstat won't re-examine the same uninteresting inodes. SGI-PV: 971064 SGI-Modid: xfs-linux-melb:xfs-kern:29840a Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 3e5daf05a0c7cce36dc2db41933b14b36d2048dc Author: Christoph Hellwig Date: Thu Oct 11 18:09:12 2007 +1000 [XFS] simplify xfs_create/mknod/symlink prototype Simplify the prototype for xfs_create/xfs_mkdir/xfs_symlink by not passing down a bhv_vattr_t that just hogs stack space. Instead pass down the mode in a mode_t and in case of xfs_create the rdev as a scalar type as well. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29794a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit ab8403c424a35364a3a2c753f7c5917fcbb4d809 Author: Roland Dreier Date: Sun Oct 14 20:40:27 2007 -0700 IB/mthca: Avoid alignment traps when writing doorbells Architectures such as ia64 see alignment traps when doing a 64-bit read from __be32 doorbell[2] arrays to do doorbell writes in mthca_write64(). Fix this by just passing the two halves of the doorbell value into mthca_write64(). This actually improves the generated code by allowing the compiler to see what's going on better. Signed-off-by: Roland Dreier commit c83bfab1faec9c32297d2079c06adaaaea2650d9 Author: Christoph Hellwig Date: Thu Oct 11 17:47:00 2007 +1000 [XFS] avoid xfs_getattr in XFS_IOC_FSGETXATTR ioctl No need to call into xfs_getattr and put a big bhv_vattr_t on the stack just to get a little information from the XFS inode. Add a helper called xfs_ioc_fsgetxattr instead that deals with retrieving the information in a clean way. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29780a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 859d718279b6e1d6bc27a701db47c1be720b5907 Author: Vlad Apostolov Date: Thu Oct 11 17:44:18 2007 +1000 [XFS] get_bulkall() could return incorrect inode state In the following scenario xfs_bulkstat() returns incorrect stale inode state: 1. File_A is created and its inode synced to disk. 2. File_A is unlinked and doesn't exist anymore. 3. Filesystem sync is invoked. 4. File_B is created. File_B happens to reclaim File_A's inode. 5. xfs_bulkstat() is called and detects File_B but reports the incorrect File_A inode state. Explanation for the incorrect inode state is that inodes are not immediately synced on file create for performance reasons. This leaves the on-disk inode buffer uninitialized (or with old state from a previous generation inode) and this is what xfs_bulkstat() would report. The patch marks the on-disk inode buffer "dirty" on unlink. When the inode is reclaimed (by a new file create), xfs_bulkstat() would filter this inode by the "dirty" mark. Once the inode is flushed to disk, the on-disk buffer "dirty" mark is automatically removed and a following xfs_bulkstat() would return the correct inode state. Marking the on-disk inode buffer "dirty" on unlink is achieved by setting the on-disk di_nlink field to 0. Note that the in-core di_nlink has already been set to 0 and a corresponding transaction logged by xfs_droplink(). This is an exception from the rule that any on-disk inode buffer changes has to be followed by a disk write (inode flush). Synchronizing the in-core to on-disk di_nlink values in advance (before the actual inode flush to disk) should be fine in this case because the inode is already unlinked and it would never change its di_nlink again for this inode generation. SGI-PV: 970842 SGI-Modid: xfs-linux-melb:xfs-kern:29757a Signed-off-by: Vlad Apostolov Signed-off-by: Alex Elder Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Mark Goodwin Signed-off-by: Tim Shimmin commit ba532a980b7dcccf5eebd2cd409a9cb37faa2bb4 Author: Christoph Hellwig Date: Wed Sep 19 15:27:18 2007 +1000 [XFS] Kill unused IOMAP_EOF flag SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29705a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 574342f4ad450b33bc85ec53210b8aa8bfff2fcf Author: Vlad Apostolov Date: Fri Sep 14 15:23:44 2007 +1000 [XFS] fix when DMAPI mount option processing happens Fix for a regression caused by a recent patch that moved the DMAPI mount option processing inside xfs_parseargs(). The DMAPI mount option used to be processed in the DMAPI module loaded before xfs_parseargs() was invoked. SGI-PV: 970451 SGI-Modid: xfs-linux-melb:xfs-kern:29683a Signed-off-by: Vlad Apostolov Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 5903c4956f7b429f515ba107d9c04bbbe7ce8f9d Author: Lachlan McIlroy Date: Fri Sep 14 15:22:08 2007 +1000 [XFS] ensure file size is logged on synchronous writes Synchronous writes currently log inode changes before syncing pages to disk. Since the file size is updated on I/O completion we wont be writing out the updated file size and if we crash the file will have the wrong size. This change moves the logging after the syncing of the pages to ensure we log the correct file size. SGI-PV: 970334 SGI-Modid: xfs-linux-melb:xfs-kern:29649a Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit cc92e7ac8d96418d99f0c31a9a132e9fccc54553 Author: Christoph Hellwig Date: Thu Aug 30 17:21:54 2007 +1000 [XFS] growlock should be a mutex m_growlock only needs plain binary mutex semantics, so use a struct mutex instead of a semaphore for it. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29512a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 0adba5363ccbee073f127feb1d6942e64ee63ab3 Author: Christoph Hellwig Date: Thu Aug 30 17:21:46 2007 +1000 [XFS] replace some large xfs_log_priv.h macros by proper functions ... or in the case of XLOG_TIC_ADD_OPHDR remove a useless macro entirely. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29511a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit b267ce9952374c51099f21d6c3a59c78fa0d7586 Author: Christoph Hellwig Date: Thu Aug 30 17:21:30 2007 +1000 [XFS] kill struct bhv_vfs Now that struct bhv_vfs doesn't have any members left we can kill it and go directly from the super_block to the xfs_mount everywhere. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29509a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 743944967021f3759d3540b0dfbc7ee7215bc4b0 Author: Christoph Hellwig Date: Thu Aug 30 17:21:22 2007 +1000 [XFS] move syncing related members from struct bhv_vfs to struct xfs_mount SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29508a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit bd186aa901c183d6e25257711b6c64b42a90dde0 Author: Christoph Hellwig Date: Thu Aug 30 17:21:12 2007 +1000 [XFS] kill the vfs_flags member in struct bhv_vfs All flags are added to xfs_mount's m_flag instead. Note that the 32bit inode flag was duplicated in both of them, but only cleared in the mount when it was not nessecary due to the filesystem beeing small enough. Two flags are still required here - one to indicate the mount option setting, and one to indicate if it applies or not. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29507a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 0ce4cfd4f7dde5891d5b3e3c1a28ff7a7b4d36b3 Author: Christoph Hellwig Date: Thu Aug 30 17:20:53 2007 +1000 [XFS] kill the vfs_fsid and vfs_altfsid members in struct bhv_vfs vfs_altfsid was just a pointer to mp->m_fixedfsid so we can trivially replace it with the latter. vfs_fsid also was identical to m_fixedfsid through rather obfuscated ways so we can kill it as well and simply its only user. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29506a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 745f691912b700ac98607b525f3c892204c7f12f Author: Christoph Hellwig Date: Thu Aug 30 17:20:39 2007 +1000 [XFS] call common xfs vfs-level helpers directly and remove vfs operations Also remove the now dead behavior code. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29505a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 48c872a9f3ec4cdc37801aae9ef16c80026503ea Author: Christoph Hellwig Date: Thu Aug 30 17:20:31 2007 +1000 [XFS] decontaminate vfs operations from behavior details All vfs ops now take struct xfs_mount pointers and the behaviour related glue is split out into methods of its own. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29504a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit b09cc77109dbf33463480952de10511a2b67bba6 Author: Christoph Hellwig Date: Thu Aug 30 17:19:57 2007 +1000 [XFS] remove dependency of the quota module on behaviors Mount options are now parsed by the main XFS module and rejected if quota support is not available, and there are some new quota operation for the quotactl syscall and calls to quote in the mount, unmount and sync callchains. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29503a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 293688ec420f1160ed93ea4c7948ed5baf8bafa7 Author: Christoph Hellwig Date: Wed Aug 29 11:59:36 2007 +1000 [XFS] remove dependency of the dmapi module on behaviors Mount options are now parsed by the main XFS module and rejected if dmapi support is not available, and there is a new dm operation to send the mount event. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29502a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit f541d270dbce375b7bd8cef466bdaf0cff945b45 Author: Christoph Hellwig Date: Wed Aug 29 11:53:22 2007 +1000 [XFS] move freeing the mount structure from xfs_mount_free into the callers In the next patch we need to look at the mount structure until just before it's freed, so we need to be able to free it as the very last thing in xfs_unmount. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29501a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 0a74cd1964501fdb577176f14ed3d02b8e148127 Author: Christoph Hellwig Date: Wed Aug 29 11:53:12 2007 +1000 [XFS] kill struct bhv_vnode Now that struct bhv_vnode is empty we can just kill it. Retain bhv_vnode_t as a typedef for struct inode for the time being until all the fallout is cleaned up. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29500a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 2aeaa258c0527026228c43148ec6dffdc56bea1c Author: Christoph Hellwig Date: Wed Aug 29 11:46:57 2007 +1000 [XFS] kill the v_number member in struct bhv_vnode It's entirely unused except for ignored arguments in the mrlock initialization, so remove it. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29499a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 1543d79c45a374f934f95ca34d87e2eeeb2039b4 Author: Christoph Hellwig Date: Wed Aug 29 11:46:47 2007 +1000 [XFS] move v_trace from bhv_vnode to xfs_inode struct bhv_vnode is on it's way out, so move the trace buffer to the XFS inode. Note that this makes the tracing macros rather misnamed, but this kind of fallout will be fixed up incrementally later on. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29498a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit b677c210cec0d6755335ffc01691982c417dd39e Author: Christoph Hellwig Date: Wed Aug 29 11:46:28 2007 +1000 [XFS] move v_iocount from bhv_vnode to xfs_inode struct bhv_vnode is on it's way out, so move the I/O count to the XFS inode. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29497a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 09262b4339de5417a10803fbfac277eebb38ca5a Author: Christoph Hellwig Date: Wed Aug 29 11:44:50 2007 +1000 [XFS] Create xfs_iflags_test_and_clear helper function SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29496a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit b3aea4edc2903fdee34920630b8b2433f6452f02 Author: Christoph Hellwig Date: Wed Aug 29 11:44:37 2007 +1000 [XFS] kill the v_flag member in struct bhv_vnode All flags previously handled at the vnode level are not in the xfs_inode where we already have a flags mechanisms and free bits for flags previously in the vnode. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29495a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 2f6f7b3d9b5600e1f6e7622c62ab30f36bd0f57f Author: Christoph Hellwig Date: Wed Aug 29 11:44:18 2007 +1000 [XFS] kill v_vfsp member from struct bhv_vnode We can easily get at the vfsp through the super_block but it will soon be gone anyway. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29494a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit e6716b87d5c9edf19c711212785cd30c6ec21868 Author: Randy Dunlap Date: Mon Oct 15 17:30:19 2007 -0700 docbook: fix filesystems content Fix filesystems docbook warnings. Warning(linux-2.6.23-git8//fs/debugfs/file.c:241): No description found for parameter 'name' Warning(linux-2.6.23-git8//fs/debugfs/file.c:241): No description found for parameter 'mode' Warning(linux-2.6.23-git8//fs/debugfs/file.c:241): No description found for parameter 'parent' Warning(linux-2.6.23-git8//fs/debugfs/file.c:241): No description found for parameter 'value' Warning(linux-2.6.23-git8//include/linux/jbd.h:404): No description found for parameter 'h_lockdep_map' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit fd39c86b3d8910fbafe41207135c1d72bc895614 Author: Randy Dunlap Date: Mon Oct 15 17:30:02 2007 -0700 docbook: fix usb content Fix USB docbook warnings. Warning(linux-2.6.23-git8//include/linux/usb/gadget.h:487): No description found for parameter 'g' Warning(linux-2.6.23-git8//include/linux/usb/gadget.h:506): No description found for parameter 'g' Warning(linux-2.6.23-git8//drivers/usb/core/hub.c:1416): No description found for parameter 'usb_dev' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit c5d0e6a0d225c03b59a0a70f940e439085235ba2 Author: Randy Dunlap Date: Mon Oct 15 17:29:46 2007 -0700 docbook: fix libata content Fix libata docbook warnings. Warning(linux-2.6.23-git8//drivers/ata/libata-scsi.c:3251): No description found for parameter 'dev' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 23f9b75e79f6fbe438a20d10a11ca45a14b8a584 Author: Randy Dunlap Date: Mon Oct 15 17:29:33 2007 -0700 docbook: fix kernel-api content Fix kernel-api docbook warnings. Warning(linux-2.6.23-git8//drivers/message/fusion/mptscsih.c:2618): No description found for parameter 'sc' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 739bfb2a7dfa369324f74aad1d020d6e0775e4f0 Author: Christoph Hellwig Date: Wed Aug 29 10:58:01 2007 +1000 [XFS] call common xfs vnode-level helpers directly and remove vnode operations SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29493a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 3d8a67b9f0428de3d8b76984c5c38675a7f4abd4 Author: Jeff Garzik Date: Mon Oct 15 18:10:12 2007 -0400 [libata] pata_cs5536: new API build fix This driver was using hooks that were very recently removed. Signed-off-by: Jeff Garzik commit fba956c46a72f9e7503fd464ffee43c632307e31 Author: Jeremy Katz Date: Mon Oct 15 16:45:10 2007 -0400 Map volume and brightness events on thinkpads There are standard keycodes for brightness and volume; map the events to emit them so that things work properly Signed-off-by: Jeremy Katz Signed-off-by: Linus Torvalds commit 0df333ce01fedad1f7a4f281063a02d76ba33a7d Author: Tony Luck Date: Mon Oct 15 13:49:43 2007 -0700 [IA64] build fix for scatterlist include/scsi/scsi_eh.h:79: error: field `sense_sgl' has incomplete type x86 resolves this by including scatterlist.h from dma-mapping.h which seems as good a place as any. Signed-off-by: Tony Luck commit f77bf01425b11947eeb3b5b54685212c302741b8 Author: Sam Ravnborg Date: Mon Oct 15 22:25:06 2007 +0200 kbuild: introduce ccflags-y, asflags-y and ldflags-y Introduce ccflags-y, asflags-y and ldflags-y so we soon can deprecate use of EXTRA_CFLAGS, EXTRA_AFLAGS and EXTRA_LDFLAGS. This patch does not touch any in-tree users - thats next round. Lets get this committed first and then fix the users of the soon to be deprecated variants next. The rationale behind this change is to introduce support for makefile fragments like: ccflags-$(CONFIG_WHATEVER_DEBUG) := -DDEBUG As a replacement for the uglier: ifeq ($(CONFIG_WHATEVER_DEBUG),y) EXTRA_CFLAGS := -DDEBUG endif Signed-off-by: Sam Ravnborg commit 06c5040cdb13d27adad118f2fbfae905a1911b37 Author: Sam Ravnborg Date: Mon Oct 15 22:17:25 2007 +0200 kbuild: enable 'make CPPFLAGS=...' to add additional options to CPP The variable CPPFLAGS is a wellknown variable and the usage by kbuild may result in unexpected behaviour. This patch replace use of CPPFLAGS with KBUILD_CPPFLAGS all over the tree and enabling one to use: make CPPFLAGS=... to specify additional CPP commandline options. Patch was tested on following architectures: alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k, s390 Signed-off-by: Sam Ravnborg commit 84284d3c1d6372bc9ab496607661d230d9c45de4 Author: Jeremy Fitzhardinge Date: Mon Oct 15 12:59:53 2007 -0700 xen-netfront: rearrange netfront structure to separate tx and rx Keep tx and rx elements separate on different cachelines to prevent bouncing. Signed-off-by: Jeremy Fitzhardinge Acked-by: Jeff Garzik Cc: Stephen Hemminger Cc: Christoph Hellwig Signed-off-by: Jeff Garzik commit 63bd8c48e04bbbc9cee3d752857914609d8d406f Author: Geert Uytterhoeven Date: Mon Oct 15 21:51:10 2007 +0200 Atari keyboard: incorporate additional review comments Atari keyboard: incorporate additional review comments: o Kill reference to source file name o Return error value from input_register_device() instead of -ENOMEM Signed-off-by: Geert Uytterhoeven Cc: Dmitry Torokhov Cc: Michael Schmitz Signed-off-by: Linus Torvalds commit 52bcc3308ae3344266f55bf98a22c1ac0201eda7 Author: Sam Ravnborg Date: Mon Oct 15 22:03:58 2007 +0200 kbuild: enable use of AFLAGS and CFLAGS on commandline The previous patches was preparation. With this patch we can now say: make CFLAGS=-Os vmlinux And the option specified will be appended to the options passed to gcc for C files. For assembler use: make AFLAGS=-foo vmlinux for the same functionality. Signed-off-by: Sam Ravnborg commit 4acad72ded8e3f0211bd2a762e23c28229c61a51 Author: Pavel Emelyanov Date: Mon Oct 15 13:02:51 2007 -0700 [IPV6]: Consolidate the ip6_pol_route_(input|output) pair The difference in both functions is in the "id" passed to the rt6_select, so just pass it as an extra argument from two outer helpers. This is minus 60 lines of code and 360 bytes of .text Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f78a1b389288d8327db5a0f4526935b0da1d0967 Author: Ilpo Järvinen Date: Mon Oct 15 12:59:43 2007 -0700 [TCP]: Make snd_cwnd_cnt 32-bit Very little point of having 32-bit snd_cnwd if this is not 32-bit as well, as a number of snd_cwnd incrementation formulas assume that snd_cwnd_cnt can be at least as large as snd_cwnd. Whether 32-bit is useful was discussed when e0ef57cc56c3c96 was made: http://marc.info/?l=linux-netdev&m=117218144409825&w=2 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 222d394d30e74bb7a2a65029fcea68107b0d0eb6 Author: Sam Ravnborg Date: Mon Oct 15 21:59:31 2007 +0200 kbuild: enable 'make AFLAGS=...' to add additional options to AS The variable AFLAGS is a wellknown variable and the usage by kbuild may result in unexpected behaviour. On top of that several people over time has asked for a way to pass in additional flags to gcc. This patch replace use of AFLAGS with KBUILD_AFLAGS all over the tree. Patch was tested on following architectures: alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k, s390 Signed-off-by: Sam Ravnborg commit d603d0ab863245050025a79a1f14ff84f2222f09 Author: Jean Delvare Date: Mon Oct 15 12:58:35 2007 -0700 [TCP]: Update the /proc/net/tcp documentation * Say that this interface is deprecated. * Update function name references to match the current code. Signed-off-by: Jean Delvare Signed-off-by: David S. Miller commit e9edda697ed7697f1288d0656570e49c47e204ae Author: Alejandro Martinez Ruiz Date: Mon Oct 15 03:37:43 2007 +0200 netdev: convert non-obvious instances to use ARRAY_SIZE() This will convert remaining non-obvious or naive calculations of array sizes to use ARRAY_SIZE() macro. Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Jeff Garzik commit 9d6dda32c7570bbf189cf74fbc36338d0a94e999 Author: Pavel Emelyanov Date: Mon Oct 15 12:55:33 2007 -0700 [NETNS]: Don't panic on creating the namespace's loopback When the loopback device is failed to initialize inside the new namespaces, panic() is called. Do not do it when the namespace in question is not the init_net. Plus cleanup the error path a bit. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 355aaffdaf82c95a004daedd1ea64fc61a25b8db Author: Linus Torvalds Date: Mon Oct 15 12:55:20 2007 -0700 Reinstate lost flush_ioremap_region() fix to pxa2xx-flash driver Commit 90833fdab89da02fc0276224167f0a42e5176f41 ("[ARM] 4554/1: replace consistent_sync() with flush_ioremap_region()") introduced a new "flush_ioremap_region()" function to be used by the MTD mainstone-flash and lubbock-flash drivers to fix a regression from around 2.6.18. Those drivers were independently merged into a single driver by Todd Poynor in commit e644f7d6289456657996df4192de76c5d0a9f9c7 ("[MTD] MAPS: Merge Lubbock and Mainstone drivers into common PXA2xx driver") Later, those two commits were merged into the main MTD tree by commit b160292cc216a50fd0cd386b0bda2cd48352c73b ("Merge Linux 2.6.23") by David Woodhouse, but in that merge, the fix to use flush_iomap_region() got lost (as it was to files that now no longer existed). This reinstates the fix in the new driver. Noticed-by: Russell King Tested-and-acked-by: Nicolas Pitre Cc: David Woodhouse Cc: Jared Hulbert Cc: Todd Poynor Signed-off-by: Linus Torvalds commit 4ae289444b968b4cefd776ada8da519ce10e56fa Author: Pavel Emelyanov Date: Mon Oct 15 12:54:15 2007 -0700 [NEIGH]: Ensure that pneigh_lookup is protected with RTNL The pnigh_lookup is used to lookup proxy entries and to create them in case lookup failed. However, the "creation" code does not perform the re-lookup after GFP_KERNEL allocation. This is done because the code is expected to be protected with the RTNL lock, so add the assertion (mainly to address future questions from new network developers like me :) ). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f1673ca52c04f1b311abe03fd67cd4d650d19435 Author: Denis V. Lunev Date: Mon Oct 15 12:53:13 2007 -0700 [INET]: kmalloc+memset -> kzalloc in frag_alloc_queue kmalloc + memset -> kzalloc in frag_alloc_queue Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit c749b01351d249a924d1dd061dd1431bd3ad0579 Author: Denis V. Lunev Date: Mon Oct 15 12:52:20 2007 -0700 [ISDN]: Fix compile with CONFIG_ISDN_X25 disabled. On Mon, Oct 15, 2007 at 06:44:56PM +0400, Denis V. Lunev wrote: Compilation fix. The problem appears after 7c076d1de869256848dacb8de0050a3a390f95df by Karsten Keil Acked-by: Karsten Keil Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 77ec15cc265af2c165b7e39cadcaddb9e64aac3d Author: Kristoffer Ericson Date: Mon Oct 15 15:51:42 2007 -0400 [libata] pata_pcmcia: Add additional id string (corsair, 1GB) Signed-off-by: Kristoffer Ericson Signed-off-by: Jeff Garzik commit e5bbef20e017efcb10700398cc048c49b98628e0 Author: Herbert Xu Date: Mon Oct 15 12:50:28 2007 -0700 [IPV6]: Replace sk_buff ** with sk_buff * in input handlers With all the users of the double pointers removed from the IPv6 input path, this patch converts all occurances of sk_buff ** to sk_buff * in IPv6 input handlers. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c596cc46ba1c5769866efe586daff3422bc31afe Author: Linus Torvalds Date: Mon Oct 15 12:46:16 2007 -0700 scsi/gdth: fix crash in gdth_timeout if no gdth controllers found If the gdth module is loaded (or compiled in), the gdth_timeout function gets started even if no actual gdth controllers are found b the probing. That ends up not only being unnecessary, but also causes a crash due to the function blindly just trying to pick the first entry off the "gdth_instances" list, and accessing it - which obviously doesn't work if the list is empty! Noticed by Ingo Molnar. Tested-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 317b50b8ad2f544a12c8f29d99a91225e8c5db1d Author: Andrew Paprocki Date: Mon Oct 15 15:43:12 2007 -0400 libata: prevent devices with blank model names from being DMA blacklisted The strn_pattern_cmp routine does not handle a blank name parameter properly. The only patterns which should match a blank name are "*" and an explicit "". If the function is passed a blank name in current code, it will always match against the patt parameter. The bug manifests itself as the device with the empty model name always matching the first device in the DMA blacklist, forcing it to revert to PIO mode. Signed-off-by: Andrew Paprocki Signed-off-by: Jeff Garzik commit 8f73a6880183dd11b97d70e738cf82d15931d98b Author: Jason Gaston Date: Thu Oct 11 16:05:15 2007 -0700 ata_piix: SATA 2port controller port map fix This patch adds a port map for ICH9 and ICH8 SATA controllers that have only 2 ports available in that mode. Signed-off-by: Jason Gaston Signed-off-by: Jeff Garzik commit 3957df6160c90955979229b230cb5202e6a5ee2b Author: Martin K. Petersen Date: Thu Oct 11 03:38:19 2007 -0400 pata_cs5536: ATA driver for Geode companion chip This is a driver for the ATA controller on the Geode CS5536 companion chip. The PCI device ID for this device was previously claimed by pata_amd.c but the PIO timings were not correct. This driver also works around a bug in some BIOSes that handle unaligned access to the PCI config registers poorly. Finally, the driver allows fallback to using MSR registers for configuration on BIOSes that are truly broken. Signed-off-by: Martin K. Petersen Signed-off-by: Jeff Garzik commit a224be766bf593f7bcd534ca0c48dbd3eaf7bfce Author: David S. Miller Date: Mon Oct 15 02:58:25 2007 -0700 [SELINUX]: Update for netfilter ->hook() arg changes. They take a "struct sk_buff *" instead of a "struct sk_buff **" now. Signed-off-by: David S. Miller commit 762cc40801ad757a34527d5e548816cf3b6fc606 Author: Pavel Emelyanov Date: Mon Oct 15 02:41:56 2007 -0700 [INET]: Consolidate the xxx_put These ones use the generic data types too, so move them in one place. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4b6cb5d8e3f5707d7a2e55cf7b05f1ea8bfc7a6d Author: Pavel Emelyanov Date: Mon Oct 15 02:41:09 2007 -0700 [INET]: Small cleanup for xxx_put after evictor consolidation After the evictor code is consolidated there is no need in passing the extra pointer to the xxx_put() functions. The only place when it made sense was the evictor code itself. Maybe this change must got with the previous (or with the next) patch, but I try to make them shorter as much as possible to simplify the review (but they are still large anyway), so this change goes in a separate patch. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8e7999c44ee95e1e90ac91c83557a04e2948f160 Author: Pavel Emelyanov Date: Mon Oct 15 02:40:06 2007 -0700 [INET]: Consolidate the xxx_evictor The evictors collect some statistics for ipv4 and ipv6, so make it return the number of evicted queues and account them all at once in the caller. The XXX_ADD_STATS_BH() macros are just for this case, but maybe there are places in code, that can make use of them as well. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 1e4b82873af0f21002e37a81ef063d2e5410deb3 Author: Pavel Emelyanov Date: Mon Oct 15 02:39:14 2007 -0700 [INET]: Consolidate the xxx_frag_destroy To make in possible we need to know the exact frag queue size for inet_frags->mem management and two callbacks: * to destoy the skb (optional, used in conntracks only) * to free the queue itself (mandatory, but later I plan to move the allocation and the destruction of frag_queues into the common place, so this callback will most likely be optional too). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 321a3a99e4717b960e21c62fc6a140d21453df7f Author: Pavel Emelyanov Date: Mon Oct 15 02:38:08 2007 -0700 [INET]: Consolidate xxx_the secret_rebuild This code works with the generic data types as well, so move this into inet_fragment.c This move makes it possible to hide the secret_timer management and the secret_rebuild routine completely in the inet_fragment.c Introduce the ->hashfn() callback in inet_frags() to get the hashfun for a given inet_frag_queue() object. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 277e650ddfc6944ef5f5466fd898b8da7f06cd82 Author: Pavel Emelyanov Date: Mon Oct 15 02:37:18 2007 -0700 [INET]: Consolidate the xxx_frag_kill Since now all the xxx_frag_kill functions now work with the generic inet_frag_queue data type, this can be moved into a common place. The xxx_unlink() code is moved as well. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 04128f233f2b344f3438cde09723e9946463a573 Author: Pavel Emelyanov Date: Mon Oct 15 02:33:45 2007 -0700 [INET]: Collect common frag sysctl variables together Some sysctl variables are used to tune the frag queues management and it will be useful to work with them in a common way in the future, so move them into one structure, moreover they are the same for all the frag management codes. I don't place them in the existing inet_frags object, introduced in the previous patch for two reasons: 1. to keep them in the __read_mostly section; 2. not to export the whole inet_frags objects outside. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7eb95156d9dce2f59794264db336ce007d71638b Author: Pavel Emelyanov Date: Mon Oct 15 02:31:52 2007 -0700 [INET]: Collect frag queues management objects together There are some objects that are common in all the places which are used to keep track of frag queues, they are: * hash table * LRU list * rw lock * rnd number for hash function * the number of queues * the amount of memory occupied by queues * secret timer Move all this stuff into one structure (struct inet_frags) to make it possible use them uniformly in the future. Like with the previous patch this mostly consists of hunks like - write_lock(&ipfrag_lock); + write_lock(&ip4_frags.lock); To address the issue with exporting the number of queues and the amount of memory occupied by queues outside the .c file they are declared in, I introduce a couple of helpers. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 5ab11c98d3a950faf6922b6166e5f8fc874590e7 Author: Pavel Emelyanov Date: Mon Oct 15 02:24:19 2007 -0700 [INET]: Move common fields from frag_queues in one place. Introduce the struct inet_frag_queue in include/net/inet_frag.h file and place there all the common fields from three structs: * struct ipq in ipv4/ip_fragment.c * struct nf_ct_frag6_queue in nf_conntrack_reasm.c * struct frag_queue in ipv6/reassembly.c After this, replace these fields on appropriate structures with this structure instance and fix the users to use correct names i.e. hunks like - atomic_dec(&fq->refcnt); + atomic_dec(&fq->q.refcnt); (these occupy most of the patch) Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 114342f2d38439cb1a54f1f724fa38729b093c48 Author: Michael Chan Date: Mon Oct 15 02:12:26 2007 -0700 [TG3]: Fix performance regression on 5705. A performance regression was introduced by the following commit: commit ee6a99b539a50b4e9398938a0a6d37f8bf911550 Author: Michael Chan Date: Wed Jul 18 21:49:10 2007 -0700 [TG3]: Fix msi issue with kexec/kdump. In making that change, the PCI latency timer and cache line size registers were not restored after chip reset. On the 5705, the latency timer gets reset to 0 during chip reset and this causes very poor performance. Update version to 3.84. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit faca94ffaed31528e2e859ee3c26d7d4dba6702f Author: Karsten Keil Date: Mon Oct 15 02:11:44 2007 -0700 [ISDN]: Remove local copy of device name to make sure renames work. Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit f885c5b08e76f920a4ed4dc63b8b19514272de7b Author: Ilpo Järvinen Date: Mon Oct 15 02:10:32 2007 -0700 [TCP]: high_seq parameter removed (all callers use tp->high_seq) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit ad643a793bfb933e1b9e37ad4a5edf389ae160ea Author: Patrick McHardy Date: Mon Oct 15 01:51:38 2007 -0700 [IPV6]: Uninline netfilter okfns Uninline netfilter okfns for those cases where gcc can generate tail-calls. Before: text data bss dec hex filename 8994153 1016524 524652 10535329 a0c1a1 vmlinux After: text data bss dec hex filename 8992761 1016524 524652 10533937 a0bc31 vmlinux ------------------------------------------------------- -1392 All cases have been verified to generate tail-calls with and without netfilter. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9c2842bd94dd72d77bddb498bdd76342a0089168 Author: Patrick McHardy Date: Mon Oct 15 01:50:09 2007 -0700 [BRIDGE]: Remove SKB share checks in br_nf_pre_routing(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 861d04860725dc85944bf9fa815af338d9e56b43 Author: Patrick McHardy Date: Mon Oct 15 01:48:39 2007 -0700 [IPV4]: Uninline netfilter okfns Now that we don't pass double skb pointers to nf_hook_slow anymore, gcc can generate tail calls for some of the netfilter hook okfn invocations, so there is no need to inline the functions anymore. This caused huge code bloat since we ended up with one inlined version and one out-of-line version since we pass the address to nf_hook_slow. Before: text data bss dec hex filename 8997385 1016524 524652 10538561 a0ce41 vmlinux After: text data bss dec hex filename 8994009 1016524 524652 10535185 a0c111 vmlinux ------------------------------------------------------- -3376 All cases have been verified to generate tail-calls with and without netfilter. The okfns in ipmr and xfrm4_input still remain inline because gcc can't generate tail-calls for them. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a030847e9f0eed2a080f6114381c649a7aa43d25 Author: Herbert Xu Date: Mon Oct 15 01:47:15 2007 -0700 [NET]: Avoid copying TCP packets unnecessarily TCP packets all have writable heads, that is, even though it's cloned, it is writable up to the end of the TCP header. This patch makes skb_checksum_help aware of this fact by using skb_clone_writable and avoiding a copy for TCP. I've also modified the BUG_ON tests to be unsigned. The only case where this makes a difference is if csum_start points to a location before skb->data. Since skb->data should always include the header where the checksum field is (and all currently callers adhere to that), this change is safe and may uncover bugs later. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 172a863f2bfbacf4b6bfc06db219b946a058ce1a Author: Herbert Xu Date: Mon Oct 15 01:46:08 2007 -0700 [NET]: Fix csum_start update in pskb_expand_head I got confused by the dual nature of the off variable in the function pskb_expand_head. The csum_start offset should use nhead instead of off which can change depending on whether we are using offsets or pointers. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a9d41192b96559aa3658bc7886468a46da911c76 Author: Al Viro Date: Mon Oct 15 01:42:31 2007 -0700 [NIU]: getting rid of __ucmpdi2 in niu.o By the time we get to that switch by PHY type, we have 8bit value. No need to keep it in u64 when u8 would do. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f937f1f46b6d2f9bef94e0d6b769a4c67615d34e Author: Jesper Juhl Date: Mon Oct 15 01:39:12 2007 -0700 [NETLINK]: Don't leak 'listeners' in netlink_kernel_create() The Coverity checker spotted that we'll leak the storage allocated to 'listeners' in netlink_kernel_create() when the if (!nl_table[unit].registered) check is false. This patch avoids the leak. Signed-off-by: Jesper Juhl Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit 1dff92e09eb3adfcf3d3dffd0507b850f911f280 Author: Adrian Bunk Date: Mon Oct 15 01:37:55 2007 -0700 [IPV6] __inet6_csk_dst_store(): fix check-after-use The Coverity checker spotted that we have already oops'ed if "dst" was NULL. Since "dst" being NULL doesn't seem to be possible at this point this patch removes the NULL check. Signed-off-by: Adrian Bunk Acked-by: Masahide NAKAMURA Acked-by: Noriaki TAKAMIYA Signed-off-by: David S. Miller commit e6a5fdf56e3a5fc179cd8c8c19081a9a11882b0c Author: David S. Miller Date: Mon Oct 15 01:36:24 2007 -0700 [NIU]: Fix write past end of array in niu_pci_probe_sprom(). Noticed by Coverity checker and reported by Adrian Bunk. Signed-off-by: David S. Miller commit 65c88466602c61b639f75623e5ba72c1534df9bd Author: Herbert Xu Date: Mon Oct 15 01:29:10 2007 -0700 [IPV6]: Avoid skb_copy/pskb_copy/skb_realloc_headroom on input This patch replaces unnecessary uses of skb_copy by pskb_expand_head on the IPv6 input path. This allows us to remove the double pointers later. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f61944efdf0d2569721ed6d7b0445e9f1214b295 Author: Herbert Xu Date: Mon Oct 15 01:28:47 2007 -0700 [IPV6]: Make ipv6_frag_rcv return the same packet This patch implements the same change taht was done to ip_defrag. It makes ipv6_frag_rcv return the last packet received of a train of fragments rather than the head of that sequence. This allows us to get rid of the sk_buff ** argument later. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 3db05fea51cdb162cfa8f69e9cfb9e228919d2a9 Author: Herbert Xu Date: Mon Oct 15 00:53:15 2007 -0700 [NETFILTER]: Replace sk_buff ** with sk_buff * With all the users of the double pointers removed, this patch mops up by finally replacing all occurances of sk_buff ** in the netfilter API by sk_buff *. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 2ca7b0ac022aa0158599178fe1056b1ba9ec8b97 Author: Herbert Xu Date: Sun Oct 14 00:39:55 2007 -0700 [NETFILTER]: Avoid skb_copy/pskb_copy/skb_realloc_headroom This patch replaces unnecessary uses of skb_copy, pskb_copy and skb_realloc_headroom by functions such as skb_make_writable and pskb_expand_head. This allows us to remove the double pointers later. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit af1e1cf073e3d038b7aac417a20585ecdcab7de6 Author: Herbert Xu Date: Sun Oct 14 00:39:33 2007 -0700 [IPVS]: Replace local version of skb_make_writable This patch removes the IPVS-specific version of skb_make_writable and replaces it with the netfilter one. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 37d41879224108d6c24578ba6a3eeafce106ce84 Author: Herbert Xu Date: Sun Oct 14 00:39:18 2007 -0700 [NETFILTER]: Do not copy skb in skb_make_writable Now that all callers of netfilter can guarantee that the skb is not shared, we no longer have to copy the skb in skb_make_writable. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7b995651e373d6424f81db23f2ec503306dfd7f0 Author: Herbert Xu Date: Sun Oct 14 00:39:01 2007 -0700 [BRIDGE]: Unshare skb upon entry Due to the special location of the bridging hook, it should never see a shared packet anyway (certainly not with any in-kernel code). So it makes sense to unshare the skb there if necessary as that will greatly simplify the code below it (in particular, netfilter). Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f697c3e8b35c18b2698d64137c0fa84b0cdb3d10 Author: Herbert Xu Date: Sun Oct 14 00:38:47 2007 -0700 [NET]: Avoid unnecessary cloning for ingress filtering As it is we always invoke pt_prev before ing_filter, even if there are no ingress filters attached. This can cause unnecessary cloning in pt_prev. This patch changes it so that we only invoke pt_prev if there are ingress filters attached. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 776c729e8d91b2740583a2169678f2d3f383458b Author: Herbert Xu Date: Sun Oct 14 00:38:32 2007 -0700 [IPV4]: Change ip_defrag to return an integer Now that ip_frag always returns the packet given to it on input, we can change it to return an integer indicating error instead. This patch does that and updates all its callers accordingly. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1706d58763c36133d7fce6cc78b1444fd40db28c Author: Herbert Xu Date: Sun Oct 14 00:38:15 2007 -0700 [IPV4]: Make ip_defrag return the same packet This patch is a bit of a hack. However it is worth it if you consider that this is the only reason why we have to carry around the struct sk_buff ** pointers in netfilter. It makes ip_defrag always return the packet that was given to it on input. It does this by cloning the packet and replacing its original contents with the head fragment if necessary. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e0053ec07e32ec94535c47b10af3377255f00836 Author: Herbert Xu Date: Sun Oct 14 00:37:52 2007 -0700 [SKBUFF]: Add skb_morph This patch creates a new function skb_morph that's just like skb_clone except that it lets user provide the spare skb that will be overwritten by the one that's to be cloned. This will be used by IP fragment reassembly so that we get back the same skb that went in last (rather than the head skb that we get now which requires us to carry around double pointers all over the place). Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit dec18810c52ed564c1aedc7f93dbf278b7fdf6d5 Author: Herbert Xu Date: Sun Oct 14 00:37:30 2007 -0700 [SKBUFF]: Merge common code between copy_skb_header and skb_clone This patch creates a new function __copy_skb_header to merge the common code between copy_skb_header and skb_clone. Having two functions which are largely the same is a source of wasted labour as well as confusion. In fact the tc_verd stuff is almost certainly a bug since it's treated differently in skb_clone compared to the callers of copy_skb_header (skb_copy/pskb_copy/skb_copy_expand). I've kept that difference in tact with a comment added asking for clarification. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 135879600834124881ee37eabaaa56818c44bca3 Author: Tejun Heo Date: Thu Oct 11 10:49:26 2007 +0900 libata: add ST9160821AS / 3.CCD to NCQ blacklist ST9160821AS / 3.CCD does spurious completions too. Blacklist it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f58db80267c24e15d959e372d23651a43443c5f3 Author: Tejun Heo Date: Wed Oct 10 15:57:44 2007 +0900 libata: fix revalidation issuing after configuration commands After commands which can change device configuration, EH is scheduled to revalidate and reconfigure the device. Host link was incorrectly used unconditionally when scheduling EH action. This resulted in bogus revalidation request and mismatched configuration between device and driver. Fix it. This bug was reported by Igor Durdanovic. Signed-off-by: Tejun Heo Cc: Igor Durdanovic Signed-off-by: Jeff Garzik commit f140f0f12fc8dc7264d2f97cbe663564e7d24f6d Author: Kuan Luo Date: Mon Oct 15 15:16:53 2007 -0400 [libata] sata_nv: add SW NCQ support for MCP51/MCP55/MCP61 Add the Software NCQ support to sata_nv.c for MCP51/MCP55/MCP61 SATA controller. NCQ function is disable by default, you can enable it with 'swncq=1'. NCQ will be turned off if the drive is Maxtor on MCP51 or MCP55 rev 0xa2 platform. [akpm@linux-foundation.org: build fix] Signed-off-by: Kuan Luo Signed-off-by: Peer Chen Cc: Zoltan Boszormenyi Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 714055ede4ffd60933397d4b61d285d0dfc9ecaf Author: Sam Ravnborg Date: Mon Oct 15 21:03:59 2007 +0200 kbuild: fix AFLAGS use in h8300 and m68knommu In most cases when AFALGS is manipuled direct this is a bug and EXTRA_AFLAGS should have been used. Fix the obvious candidates. Signed-off-by: Sam Ravnborg Cc: Greg Ungerer Cc: Yoshinori Sato commit 2b9e68f728d6b2cf38b252650f017576e8dae2ad Author: Benjamin Herrenschmidt Date: Fri Jul 6 19:21:22 2007 -0400 [libata] pata_sil680: Add MMIO support This patch adds MMIO support to the pata_sil680 for taskfile IOs, based on what the old siimage does. I haven't bothered changing the chip setup stuff from PCI config cycles to MMIO though (siimage does it), I don't think it matters, I've only adapted it to use MMIO for taskfile accesses. I've tested it on a Cell blade and it seems to work fine. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit 88a15f2e28bd6a908b2925f1b76e70ef3a88297d Author: Emil Medve Date: Mon Oct 15 08:43:50 2007 -0500 ucc_geth: Fix build break introduced by commit 09f75cd7bf13720738e6a196cc0107ce9a5bd5a0 drivers/net/ucc_geth.c: In function 'ucc_geth_rx': drivers/net/ucc_geth.c:3483: error: 'dev' undeclared (first use in this function) drivers/net/ucc_geth.c:3483: error: (Each undeclared identifier is reported only once drivers/net/ucc_geth.c:3483: error: for each function it appears in.) make[2]: *** [drivers/net/ucc_geth.o] Error 1 Signed-off-by: Emil Medve Signed-off-by: Jeff Garzik commit 293c8513398657f6263fcdb03c87f2760cf61be4 Author: Li Yang Date: Mon Oct 15 23:01:12 2007 +0800 gianfar: Fix regression caused by new napi interface Protect all new napi function calls with CONFIG_GFAR_NAPI. Otherwise the driver will stop working when CONFIG_GFAR_NAPI disabled. Signed-off-by: Li Yang Signed-off-by: Jeff Garzik commit 20ef2bb0085a53e2b040c9e3016799e058a761c4 Author: Li Yang Date: Fri Oct 12 21:53:53 2007 +0800 gianfar: Cleanup compile warning caused by 0795af57 Signed-off-by: Li Yang Signed-off-by: Jeff Garzik commit 94e8cc35bc300ccae91b08587029291d1ca001d6 Author: Li Yang Date: Fri Oct 12 21:53:51 2007 +0800 gianfar: Fix compile regression caused by bea3348e Signed-off-by: Li Yang Signed-off-by: Jeff Garzik commit 25b31cb118f399e9996ed7a3766b86c69a6bb07e Author: Yoichi Yuasa Date: Mon Oct 15 19:11:24 2007 +0900 add new prom.h for AU1x00 Add new prom.h for AU1x00. Signed-off-by: Yoichi Yuasa Acked-by: Ralf Baechle Signed-off-by: Jeff Garzik commit 2de889235d0e820a6b256b834ee6a64e12fede08 Author: Yoichi Yuasa Date: Mon Oct 15 19:06:20 2007 +0900 update AU1000 get_ethernet_addr() Update AU1000 get_ethernet_addr(). Three functions were brought together in one. Signed-off-by: Yoichi Yuasa Acked-by: Ralf Baechle Signed-off-by: Jeff Garzik commit c2af68e5f550a671ac9f67f566f04e1580a103a0 Author: Ralf Baechle Date: Fri Oct 12 14:59:56 2007 +0100 MIPSsim: General cleanup General cleanups mostly as suggested by checkpatch plus getting rid of homebrew version of offsetof(). Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit 6629b97d5790795a554f27a64ea9233064f4b1a9 Author: Ralf Baechle Date: Mon Oct 15 10:58:40 2007 +0100 Jazzsonic: Fix warning about unused variable. Caused by "[NET]: Introduce and use print_mac() and DECLARE_MAC_BUF()" aka 0795af5729b18218767fab27c44b1384f72dc9ad. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit 2843e7f7d6ffd61da6fe1503eb42c25fa33fbfee Author: Michael Ellerman Date: Mon Oct 15 19:34:38 2007 +1000 Remove msic_dcr_read() in axon_msi.c msic_dcr_read() doesn't really do anything useful, just replace it with direct calls to dcr_read(). Signed-off-by: Michael Ellerman Signed-off-by: Jeff Garzik commit cdbd3865acc2e98a349b41d130985e6f5f2dfc19 Author: Michael Ellerman Date: Mon Oct 15 19:34:37 2007 +1000 Use dcr_host_t.base in dcr_unmap() With the base stored in dcr_host_t, there's no need for callers to pass the dcr_n into dcr_unmap(). In fact this removes the possibility of them passing the incorrect value, which would then be iounmap()'ed. Signed-off-by: Michael Ellerman Signed-off-by: Jeff Garzik commit 83f34df4e7c8794a5a81ede663fe184f4201308a Author: Michael Ellerman Date: Mon Oct 15 19:34:36 2007 +1000 Add dcr_host_t.base in dcr_read()/dcr_write() Now that all users of dcr_read()/dcr_write() add the dcr_host_t.base, we can save them the trouble and do it in dcr_read()/dcr_write(). As some background to why we just went through all this jiggery-pokery, benh sayeth: Initially the goal of the dcr_read/dcr_write routines was to operate like mfdcr/mtdcr which take absolute DCR numbers. The reason is that on 4xx hardware, indirect DCR access is a pain (goes through a table of instructions) and it's useful to have the compiler resolve an absolute DCR inline. We decided that wasn't worth the API bastardisation since most places where absolute DCR values are used are low level 4xx-only code which may as well continue using mfdcr/mtdcr, while the new API is designed for device "instances" that can exist on 4xx and Axon type platforms and may be located at variable DCR offsets. Signed-off-by: Michael Ellerman Signed-off-by: Jeff Garzik commit 0f18e719dc0d36ad91fe94b0b3dd08fdcdd2faa2 Author: Michael Ellerman Date: Mon Oct 15 19:34:35 2007 +1000 Use dcr_host_t.base in ibm_emac_mal This requires us to do a sort-of fake dcr_map(), so that base is set properly. This will be fixed/removed when the device-tree-aware emac driver is merged. Signed-off-by: Michael Ellerman Signed-off-by: Jeff Garzik commit 792036952123a0670c7dd6960ca5458cdfd5e4fd Author: Michael Ellerman Date: Mon Oct 15 19:34:34 2007 +1000 Update ibm_newemac to use dcr_host_t.base Now that dcr_host_t contains the base address, we can use that in the ibm_newemac code, rather than storing it separately. Signed-off-by: Michael Ellerman Signed-off-by: Jeff Garzik commit bc2618f7528d4b6ea0c2c53539a3b8cff2b33b24 Author: Florin Malita Date: Sat Oct 13 13:03:38 2007 -0400 tehuti: possible leak in bdx_probe If pci_enable_device fails, bdx_probe returns without freeing the allocated pci_nic structure. Coverity CID 1908. Signed-off-by: Florin Malita Signed-off-by: Jeff Garzik commit 7e7b968a07022d6aa369b38b095570db241c7bea Author: Ralf Baechle Date: Sun Oct 14 14:40:26 2007 +0100 TC35815: Fix build bea3348eef27e6044b6161fd04c3152215f96411 broke the build of tc35815.c for the non-NAPI case: CC drivers/net/tc35815.o drivers/net/tc35815.c: In function 'tc35815_interrupt': drivers/net/tc35815.c:1464: error: redefinition of 'lp' drivers/net/tc35815.c:1443: error: previous definition of 'lp' was here Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit b77eb35e64745ebe82bdcf03123d5c66961253a1 Author: Ralf Baechle Date: Sun Oct 14 14:13:58 2007 +0100 SAA9730: Fix build Fix build breakage by the recent statistics cleanup in cset 09f75cd7bf13720738e6a196cc0107ce9a5bd5a0. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit d95b39c3909237a945447453c9b1026bd6bbed62 Author: Matteo Croce Date: Sun Oct 14 18:10:13 2007 +0200 AR7 ethernet New version which uses less locking and drops old API Signed-off-by: Matteo Croce Signed-off-by: Eugene Konev Signed-off-by: Felix Fietkau Signed-off-by: Jeff Garzik commit e0d7c5269a3417489300943e7db7449f64351b5e Author: Brice Goglin Date: Sat Oct 13 12:34:36 2007 +0200 myri10ge: update driver version to 1.3.2-1.287 The myri10ge driver is now at version 1.3.2-1.287. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 4f93fde06b0623319bc1cd6c9adad8d730813433 Author: Brice Goglin Date: Sat Oct 13 12:34:01 2007 +0200 myri10ge: add IPv6 TSO support Add support for IPv6 TSO to the myri10ge driver. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit eabd7e35c0061dc250fcb8b77c472cb66d770774 Author: Brice Goglin Date: Sat Oct 13 12:33:32 2007 +0200 Add skb_is_gso_v6 Add skb_is_gso_v6(). Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit af793e08b748223d04ec4ba6aa70e3686a4ba4f7 Author: Brice Goglin Date: Sat Oct 13 12:32:58 2007 +0200 myri10ge: update firmware headers Update myri10ge firmware headers to latest upstream version with TSO6 and RSS support. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit e636b2ead8260aca514a95f2dcb73b0454d1a869 Author: Brice Goglin Date: Sat Oct 13 12:32:21 2007 +0200 myri10ge: fix some indentation, white spaces, and comments Fix one comment in myri10ge.c and update indendation and white spaces to match the code generated by indent from upstream CVS. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit dd957c57c52a3964b8446a3e868a08186274b628 Author: Jay Vosburgh Date: Tue Oct 9 19:57:24 2007 -0700 net/bonding: Optionally allow ethernet slaves to keep own MAC Update the "don't change MAC of slaves" functionality added in previous changes to be a generic option, rather than something tied to IB devices, as it's occasionally useful for regular ethernet devices as well. Adds "fail_over_mac" option (which is automatically enabled for IB slaves), applicable only to active-backup mode. Includes documentation update. Updates bonding driver version to 3.2.0. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit d90a162a4ee280201e84944a84f86d6728dc0c27 Author: Moni Shoua Date: Tue Oct 9 19:43:43 2007 -0700 net/bonding: Destroy bonding master when last slave is gone When bonding enslaves non Ethernet devices it takes pointers to functions in the module that owns the slaves. In this case it becomes unsafe to keep the bonding master registered after last slave was unenslaved because we don't know if the pointers are still valid. Destroying the bond when slave_cnt is zero ensures that these functions be used anymore. Signed-off-by: Moni Shoua Acked-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 1053f62c24faa6d4ee6f5bfddeca847b84f67a95 Author: Moni Shoua Date: Tue Oct 9 19:43:42 2007 -0700 net/bonding: Delay sending of gratuitous ARP to avoid failure Delay sending a gratuitous_arp when LINK_STATE_LINKWATCH_PENDING bit in dev->state field is on. This improves the chances for the arp packet to be transmitted. Signed-off-by: Moni Shoua Acked-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 3158bf7d414b69fdc0c715d0a4d82e12b74ef974 Author: Moni Shoua Date: Tue Oct 9 19:43:41 2007 -0700 net/bonding: Handlle wrong assumptions that slave is always an Ethernet device bonding sometimes uses Ethernet constants (such as MTU and address length) which are not good when it enslaves non Ethernet devices (such as InfiniBand). Signed-off-by: Moni Shoua Acked-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 6b1bf096508c870889c2be63c7757a04d72116fe Author: Moni Shoua Date: Tue Oct 9 19:43:40 2007 -0700 net/bonding: Enable IP multicast for bonding IPoIB devices Allow to enslave devices when the bonding device is not up. Over the discussion held at the previous post this seemed to be the most clean way to go, where it is not expected to cause instabilities. Normally, the bonding driver is UP before any enslavement takes place. Once a netdevice is UP, the network stack acts to have it join some multicast groups (eg the all-hosts 224.0.0.1). Now, since ether_setup() have set the bonding device type to be ARPHRD_ETHER and address len to be ETHER_ALEN, the net core code computes a wrong multicast link address. This is b/c ip_eth_mc_map() is called where for multicast joins taking place after the enslavement another ip_xxx_mc_map() is called (eg ip_ib_mc_map() when the bond type is ARPHRD_INFINIBAND) Signed-off-by: Moni Shoua Signed-off-by: Or Gerlitz Acked-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 2ab82852a2706b47c257ac87675ab8b06bc214dd Author: Moni Shoua Date: Tue Oct 9 19:43:39 2007 -0700 net/bonding: Enable bonding to enslave netdevices not supporting set_mac_address() This patch allows for enslaving netdevices which do not support the set_mac_address() function. In that case the bond mac address is the one of the active slave, where remote peers are notified on the mac address (neighbour) change by Gratuitous ARP sent by bonding when fail-over occurs (this is already done by the bonding code). Signed-off-by: Moni Shoua Signed-off-by: Or Gerlitz Acked-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 872254dd6b1f80cb95ee9e2e22980888533fc293 Author: Moni Shoua Date: Tue Oct 9 19:43:38 2007 -0700 net/bonding: Enable bonding to enslave non ARPHRD_ETHER This patch changes some of the bond netdevice attributes and functions to be that of the active slave for the case of the enslaved device not being of ARPHRD_ETHER type. Basically it overrides those setting done by ether_setup(), which are netdevice **type** dependent and hence might be not appropriate for devices of other types. It also enforces mutual exclusion on bonding slaves from dissimilar ether types, as was concluded over the v1 discussion. IPoIB (see Documentation/infiniband/ipoib.txt) MAC address is made of a 3 bytes IB QP (Queue Pair) number and 16 bytes IB port GID (Global ID) of the port this IPoIB device is bounded to. The QP is a resource created by the IB HW and the GID is an identifier burned into the HCA (i have omitted here some details which are not important for the bonding RFC). Signed-off-by: Moni Shoua Signed-off-by: Or Gerlitz Acked-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 200d1713b47200aa478f27e454e3d957264d49be Author: Moni Shoua Date: Tue Oct 9 19:43:37 2007 -0700 IB/ipoib: Verify address handle validity on send When the bonding device senses a carrier loss of its active slave it replaces that slave with a new one. In between the times when the carrier of an IPoIB device goes down and ipoib_neigh is destroyed, it is possible that the bonding driver will send a packet on a new slave that uses an old ipoib_neigh. This patch detects and prevents this from happenning. Signed-off-by: Moni Shoua Signed-off-by: Or Gerlitz Acked-by: Roland Dreier Signed-off-by: Jeff Garzik commit 732a2170f499ce7cf5f0bdd4f9e0b0c8337b67e1 Author: Moni Shoua Date: Tue Oct 9 19:43:36 2007 -0700 IB/ipoib: Bound the net device to the ipoib_neigh structue IPoIB uses a two layer neighboring scheme, such that for each struct neighbour whose device is an ipoib one, there is a struct ipoib_neigh buddy which is created on demand at the tx flow by an ipoib_neigh_alloc(skb->dst->neighbour) call. When using the bonding driver, neighbours are created by the net stack on behalf of the bonding (master) device. On the tx flow the bonding code gets an skb such that skb->dev points to the master device, it changes this skb to point on the slave device and calls the slave hard_start_xmit function. Under this scheme, ipoib_neigh_destructor assumption that for each struct neighbour it gets, n->dev is an ipoib device and hence netdev_priv(n->dev) can be casted to struct ipoib_dev_priv is buggy. To fix it, this patch adds a dev field to struct ipoib_neigh which is used instead of the struct neighbour dev one, when n->dev->flags has the IFF_MASTER bit set. Signed-off-by: Moni Shoua Signed-off-by: Or Gerlitz Acked-by: Roland Dreier Signed-off-by: Jeff Garzik commit a8a935dae5de65a8f5a5371a58ad2aa73a0ea2da Author: Mark Brown Date: Wed Oct 10 17:11:12 2007 +0100 natsemi: Check return value for pci_enable_device() pci_enable_device() is __must_check so do that in natsemi_resume(). Signed-off-by: Mark Brown Signed-off-by: Jeff Garzik commit 0e5d5442cbe3399d789d6a75c6e3a0db37f846f5 Author: Mark Brown Date: Wed Oct 10 11:05:44 2007 +0100 natsemi: Use round_jiffies() for slow timers Unless we have failed to fill the RX ring the timer used by the natsemi driver is not particularly urgent and can use round_jiffies() to allow grouping with other timers. Signed-off-by: Mark Brown Signed-off-by: Jeff Garzik commit 87944f3361fc033b73617aa663135c6e468957a7 Author: Mike Rapoport Date: Sun Sep 23 16:00:20 2007 +0100 [ARM] 4578/1: CM-x270: PCMCIA support This patch provides support for PCMCIA on CM-X270 Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit a8fc0789558d81d2898b87473404b71b7f7cd0fc Author: Mike Rapoport Date: Sun Sep 23 15:59:52 2007 +0100 [ARM] 4577/1: ITE 8152 PCI bridge support This patch provides driver for ITE 8152 PCI bridge. Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 3696a8a426f8caebd97463e9b5cf9f06c1c36759 Author: Mike Rapoport Date: Sun Sep 23 15:59:26 2007 +0100 [ARM] 4576/1: CM-X270 machine support This patch provides core support for CM-X270 platform. Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 3e0cc7ee045fb53e8215fed7442455c0cee0ee93 Author: Russell King Date: Tue Oct 2 14:28:01 2007 +0100 [ARM] pxa: Avoid pxa_gpio_mode() in gpio_direction_{in,out}put() pxa_gpio_mode() is a universal call that fiddles with the GAFR (gpio alternate function register.) GAFR does not exist on PXA3 CPUs, but instead the alternate functions are controlled via the MFP support code. Platforms are expected to configure the MFP according to their needs in their platform support code rather than drivers. We extend this idea to the GAFR, and make the gpio_direction_*() functions purely operate on the GPIO level. This means platform support code is entirely responsible for configuring the GPIOs alternate functions on all PXA CPU types. Signed-off-by: Russell King commit 39cbd4896e39e2b93c33635a9abc1a4405827e14 Author: Russell King Date: Tue Oct 2 11:29:02 2007 +0100 [ARM] pxa: move pxa_set_mode() from pxa2xx_mainstone.c to mainstone.c Signed-off-by: Russell King commit 693d9d95d6392074d63755b0df67865c63828fa4 Author: Russell King Date: Tue Oct 2 11:28:26 2007 +0100 [ARM] pxa: move pxa_set_mode() from pxa2xx_lubbock.c to lubbock.c Signed-off-by: Russell King commit 36d8b17b4364915615aff312ba20a1b90e22b963 Author: Russell King Date: Mon Oct 1 16:22:24 2007 +0100 [ARM] pxa: Make cpu_is_pxaXXX dependent on configuration symbols Make the cpu_is_pxaXXX() macros define to zero when support for a particular CPU is disabled. This allows us to eliminate code for CPUs which aren't enabled. Signed-off-by: Russell King commit 2c8086a5d073e8e72122a5b84febde236a39845b Author: eric miao Date: Tue Sep 11 19:13:17 2007 -0700 [ARM] pxa: PXA3xx base support Signed-off-by: eric miao Signed-off-by: Russell King commit 073ac8fd4a3e9a9265e8a59e0a79bc4b0b3822c3 Author: Russell King Date: Sat Sep 1 21:27:18 2007 +0100 [NET] smc91x: fix PXA DMA support code The PXA DMA support code for smc91x doesn't pass a struct device to the dma_*map_single() functions, which leads to an oops in the dma bounce code. We have a struct device which was used to probe the SMC chip. Use it. (This patch is slightly larger because it requires struct smc_local to move into the header file.) Signed-off-by: Russell King commit 97d97224ff361e08777fb33e0fd193ca877dac28 Author: Russell King Date: Sat Sep 1 21:25:09 2007 +0100 [SERIAL] Fix console initialisation ordering Ensure pm callback is called upon initialisation to place port in correct power saving state. Ensure console is initialised prior to deciding whether to power down the port. Signed-off-by: Russell King commit a06748ab546fa95c497f10c290221f4a9f249f9b Author: Russell King Date: Wed Sep 19 09:21:51 2007 +0100 [ARM] pxa: tidy up arch/arm/mach-pxa/Makefile Signed-off-by: Russell King commit 4271e0f7e12bdbbd7ce131187aaae2ba5233a309 Author: Linus Torvalds Date: Mon Oct 15 09:07:58 2007 -0700 Get rid of unused variable warning in drivers/pci/hotplug/pci_hotplug_core.c Commit 5a7ad7f044941316dc98eda2a087a12a7a50649d removed all uses of 'retval', but didn't remove the variable itself. Signed-off-by: Linus Torvalds commit 432a7d6587fc5028421342785f6c9552c9fba175 Author: Jes Sorensen Date: Wed Sep 19 11:54:55 2007 +0200 [IA64] update sn2_defconfig Update defonfig file for sn2 to match recent changes in config options. Signed-off-by: Jes Sorensen Signed-off-by: Tony Luck commit b9090071a57185707c27b9d61b81bf941dbdf122 Author: Geert Uytterhoeven Date: Mon Oct 15 11:51:03 2007 +0200 PS3 system bus add_uevent_var() fallout Kill unused variables Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 57d292bd7e6e72898e533687af481603597b1ca7 Author: Jiri Kosina Date: Mon Oct 15 15:17:41 2007 +0200 HID: fix HIDIOCGRDESC memory access in hidraw Fix bogus copying of data into userspace when HIDIOCGRDESC is issued. HID-transport layer makes sure that dev->hid->rdesc is not larger than HID_MAX_DESCRIPTOR_SIZE. Noticed-by: Al Viro Signed-off-by: Jiri Kosina Signed-off-by: Linus Torvalds commit 9c63d9c021f375a2708ad79043d6f4dd1291a085 Author: Ingo Molnar Date: Mon Oct 15 17:00:20 2007 +0200 sched: sync wakeups preempt too make sure sync wakeups preempt too - the scheduler will not overschedule as we've got various throttles against that. As a result, sync wakeups can be used more widely in the kernel (to signal wakeup affinity between tasks), and no arbitrary latencies will be introduced either. Signed-off-by: Ingo Molnar commit 71e20f1873d46e138c26ce83f8fe54b7221f572f Author: Ingo Molnar Date: Mon Oct 15 17:00:19 2007 +0200 sched: affine sync wakeups make sync wakeups affine for cache-cold tasks: if a cache-cold task is woken up by a sync wakeup then use the opportunity to migrate it straight away. (the two tasks are 'related' because they communicate) Signed-off-by: Ingo Molnar commit d172fcd3ae1ca7ac27ec8904242fd61e0e11d332 Author: Laurent Vivier Date: Mon Oct 15 17:00:19 2007 +0200 sched: guest CPU accounting: maintain guest state in KVM Modify KVM to update guest time accounting. [ mingo@elte.hu: ported to 2.6.24 KVM. ] Signed-off-by: Laurent Vivier Acked-by: Avi Kivity Signed-off-by: Ingo Molnar commit 94886b84b1bcdc95f34f70e7fce407efefe472e1 Author: Laurent Vivier Date: Mon Oct 15 17:00:19 2007 +0200 sched: guest CPU accounting: maintain stats in account_system_time() modify account_system_time() to add cputime to cpustat->guest if we are running a VCPU. We add this cputime to cpustat->user instead of cpustat->system because this part of KVM code is in fact user code although it is executed in the kernel. We duplicate VCPU time between guest and user to allow an unmodified "top(1)" to display correct value. A modified "top(1)" is able to display good cpu user time and cpu guest time by subtracting cpu guest time from cpu user time. Update "gtime" in task_struct accordingly. Signed-off-by: Laurent Vivier Acked-by: Avi Kivity Signed-off-by: Ingo Molnar commit 9ac52315d4cf5f561f36dabaf0720c00d3553162 Author: Laurent Vivier Date: Mon Oct 15 17:00:19 2007 +0200 sched: guest CPU accounting: add guest-CPU /proc//stat fields like for cpustat, introduce the "gtime" (guest time of the task) and "cgtime" (guest time of the task children) fields for the tasks. Modify signal_struct and task_struct. Modify /proc//stat to display these new fields. Signed-off-by: Laurent Vivier Acked-by: Avi Kivity Signed-off-by: Ingo Molnar commit 5e84cfde51cf303d368fcb48f22059f37b3872de Author: Laurent Vivier Date: Mon Oct 15 17:00:19 2007 +0200 sched: guest CPU accounting: add guest-CPU /proc/stat field as recent CPUs introduce a third running state, after "user" and "system", we need a new field, "guest", in cpustat to store the time used by the CPU to run virtual CPU. Modify /proc/stat to display this new field. Signed-off-by: Laurent Vivier Acked-by: Avi Kivity Signed-off-by: Ingo Molnar commit 6323469f9b72530eb90c96ba162cc70f2f4611de Author: Milton Miller Date: Mon Oct 15 17:00:19 2007 +0200 sched: domain sysctl fixes: add terminator comment we had an incorrect-terminator bug in sd_alloc_ctl_domain_table() before, so add a comment that documents it. Signed-off-by: Milton Miller Signed-off-by: Ingo Molnar commit ad1cdc1d7883e88f936f7888a092e4e3e6d8c631 Author: Milton Miller Date: Mon Oct 15 17:00:19 2007 +0200 sched: domain sysctl fixes: do not crash on allocation failure Now that we are calling this at runtime, a more relaxed error path is suggested. If an allocation fails, we just register the partial table, which will show empty directories. Signed-off-by: Milton Miller Signed-off-by: Ingo Molnar commit 6382bc90f5664c450afc1f896e7ddb35ba182af9 Author: Milton Miller Date: Mon Oct 15 17:00:19 2007 +0200 sched: domain sysctl fixes: unregister the sysctl table before domains Unregister and free the sysctl table before destroying domains, then rebuild and register after creating the new domains. This prevents the sysctl table from pointing to freed memory for root to write. Signed-off-by: Milton Miller Signed-off-by: Ingo Molnar commit 97b6ea7b6369d51a451a7d5747a7939a593fdd9c Author: Milton Miller Date: Mon Oct 15 17:00:19 2007 +0200 sched: domain sysctl fixes: use for_each_online_cpu() init_sched_domain_sysctl was walking cpus 0-n and referencing per_cpu variables. If the cpus_possible mask is not contigious this will result in a crash referencing unallocated data. If the online mask is not contigious then we would show offline cpus and miss online ones. Signed-off-by: Milton Miller Signed-off-by: Ingo Molnar commit 5cf9f062c8e33d5a09eaa447550330162b2a96ed Author: Milton Miller Date: Mon Oct 15 17:00:19 2007 +0200 sched: domain sysctl fixes: use kcalloc() kcalloc checks for n * sizeof(element) overflows and it zeros. Signed-off-by: Milton Miller Signed-off-by: Ingo Molnar commit 0dbee3a6b006dbe814d002cb18e94bf24a216451 Author: Arjan van de Ven Date: Mon Oct 15 17:00:19 2007 +0200 Make scheduler debug file operations const In general, struct file_operations are const in the kernel, to not have false cacheline sharing and to catch bugs at compiletime with accidental writes to them. The new scheduler code introduces a new non-const one; fix this up. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 7a6c6bcee029a978f866511d6e41dbc7301fde4c Author: Ingo Molnar Date: Mon Oct 15 17:00:19 2007 +0200 sched: enable wake-idle on CONFIG_SCHED_MC=y most multicore CPUs today have shared L2 caches, so tune things so that the spreading amongst cores is more aggressive. Signed-off-by: Ingo Molnar commit 95dbb421d12fdd9796ed153853daf3679809274f Author: Ingo Molnar Date: Mon Oct 15 17:00:19 2007 +0200 sched: reintroduce topology.h tunings reintroduce the 2.6.22 topology.h tunings again - they result in slightly better balancing. Signed-off-by: Ingo Molnar commit 6bc1665ba71de0f207391b01b187b21b2619c15c Author: Ingo Molnar Date: Mon Oct 15 17:00:18 2007 +0200 sched: allow the immediate migration of cache-cold tasks allow the immediate migration of cache-cold tasks. Signed-off-by: Ingo Molnar commit cc367732ff0b1c63d0d7bdd11e6d1661794ef6a3 Author: Ingo Molnar Date: Mon Oct 15 17:00:18 2007 +0200 sched: debug, improve migration statistics add new migration statistics when SCHED_DEBUG and SCHEDSTATS is enabled. Available in /proc//sched. Signed-off-by: Ingo Molnar commit 2d92f22784b7b8879ebe3254e44c92cb8792b0dd Author: Ingo Molnar Date: Mon Oct 15 17:00:18 2007 +0200 sched: debug: increase width of debug line increase width of debug line - in preparation of more debugging info. Signed-off-by: Ingo Molnar commit ff56b2f01537aef7237d5ac8bf6bfbb409c1a127 Author: Peter Zijlstra Date: Mon Oct 15 17:00:18 2007 +0200 sched: activate task_hot() only on fair-scheduled tasks activate task_hot() only for fair-scheduled tasks (i.e. disable it for RT tasks). Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit da84d96176729fb48a8458561e5d8647103168b8 Author: Ingo Molnar Date: Mon Oct 15 17:00:18 2007 +0200 sched: reintroduce cache-hot affinity reintroduce a simplified version of cache-hot/cold scheduling affinity. This improves performance with certain SMP workloads, such as sysbench. Signed-off-by: Ingo Molnar commit e5f32a3856caabe745381279f7f32e3b581b59dc Author: Ingo Molnar Date: Mon Oct 15 17:00:18 2007 +0200 sched: speed up context-switches a bit speed up context-switches a bit by not clearing p->exec_start. (as a side-effect, this also makes p->exec_start a universal timestamp available to cache-hot estimations.) Signed-off-by: Ingo Molnar commit 91c234b4e3419c786cac2d5b7a7b96443e512e3a Author: Ingo Molnar Date: Mon Oct 15 17:00:18 2007 +0200 sched: do not wakeup-preempt with SCHED_BATCH tasks do not wakeup-preempt with SCHED_BATCH tasks, their preemption is batched too, driven by the tick. Signed-off-by: Ingo Molnar commit fb7dde37ece82e13de383afd7042c45df67a9d17 Author: Srivatsa Vaddagiri Date: Mon Oct 15 17:00:18 2007 +0200 sched: generate uevents for user creation/destruction Generate uevents when a user is being created/destroyed. These events can be used to configure cpu share of a new user. Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar commit 178be793485d70d871a0fd46b29e9e3e7da636ad Author: Ingo Molnar Date: Mon Oct 15 17:00:18 2007 +0200 sched: do not normalize kernel threads via SysRq-N do not normalize kernel threads via SysRq-N: the migration threads, softlockup threads, etc. might be essential for the system to function properly. So only zap user tasks. pointed out by Andi Kleen. Signed-off-by: Ingo Molnar commit 1666703af948ae87c87c2bc7121aa34271cc52ab Author: Andi Kleen Date: Mon Oct 15 17:00:18 2007 +0200 sched: remove stale comment from sched_group_set_shares() remove stale comment from sched_group_set_shares(). Function never returns -EINVAL. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar commit d5036e89dcf7c19b3d03219d7d385bc96965b7fe Author: Ingo Molnar Date: Mon Oct 15 17:00:15 2007 +0200 sched: clean up is_migration_thread() clean up is_migration_thread() and turn it into an inline function. Signed-off-by: Ingo Molnar commit 3a5e4dc12f23fb96fafd4f5d0f61e6c3070f80a5 Author: Andi Kleen Date: Mon Oct 15 17:00:15 2007 +0200 sched: cleanup: refactor normalize_rt_tasks Replace a particularly ugly ifdef with an inline and a new macro. Also split up the function to be easier to read. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar commit 8cbbe86dfcfd68ad69916164bdc838d9e09adca8 Author: Andi Kleen Date: Mon Oct 15 17:00:14 2007 +0200 sched: cleanup: refactor common code of sleep_on / wait_for_completion Refactor common code of sleep_on / wait_for_completion These functions were largely cut'n'pasted. This moves the common code into single helpers instead. Advantage is about 1k less code on x86-64 and 91 lines of code removed. It adds one function call to the non timeout version of the functions; i don't expect this to be measurable. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar commit 3a5c359a58c39801d838c508f127bdb228af28b0 Author: Andi Kleen Date: Mon Oct 15 17:00:14 2007 +0200 sched: cleanup: remove unnecessary gotos Replace loops implemented with gotos with real loops. Replace err = ...; goto x; x: return err; with return ...; No functional changes. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar commit d274a4cee190c880ec25b60501efe50c4435b3d7 Author: Ingo Molnar Date: Mon Oct 15 17:00:14 2007 +0200 sched: update comment update comment: clarify time-slices and remove obsolete tuning detail. Signed-off-by: Ingo Molnar commit 95938a35c5562afa7af7252821e44132391a3db8 Author: Mike Galbraith Date: Mon Oct 15 17:00:14 2007 +0200 sched: prevent wakeup over-scheduling Prevent wakeup over-scheduling. Once a task has been preempted by a task of the same or lower priority, it becomes ineligible for repeated preemption by same until it has been ticked, or slept. Instead, the task is marked for preemption at the next tick. Tasks of higher priority still preempt immediately. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit ce6c131131df442f0d49d064129ecc52d9fe8ca9 Author: Peter Zijlstra Date: Mon Oct 15 17:00:14 2007 +0200 sched: disable forced preemption by default Implement feature bit to disable forced preemption. This way it can be checked whether a workload is overscheduling or not. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit e62dd02ed0af35631c6ca473e50758c9594773cf Author: Dmitry Adamushko Date: Mon Oct 15 17:00:14 2007 +0200 sched: fix group scheduling for SCHED_BATCH The following patch (sched: disable sleeper_fairness on SCHED_BATCH) seems to break GROUP_SCHED. Although, it may be 'oops'-less due to the possibility of 'p' being always a valid address. Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit ace8b3d633f93da8535921bf3e3679db3c619578 Author: Zou Nan hai Date: Mon Oct 15 17:00:14 2007 +0200 sched: some proc entries are missed in sched_domain sys_ctl debug code cache_nice_tries and flags entry do not appear in proc fs sched_domain directory, because ctl_table entry is skipped. This patch fixes the issue. Signed-off-by: Zou Nan hai Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 638e13ac37a1a89473415f407cbffc1688a20fe2 Author: Gautham R Shenoy Date: Mon Oct 15 17:00:14 2007 +0200 sched: fix rt ptracer monopolizing CPU yield() in wait_task_inactive(), can cause a high priority thread to be scheduled back in, and there by loop forever while it is waiting for some lower priority thread which is unfortunately still on the runqueue. Use schedule_timeout_uninterruptible(1) instead. Signed-off-by: Gautham R Shenoy Credit: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 5cb350baf580017da38199625b7365b1763d7180 Author: Dhaval Giani Date: Mon Oct 15 17:00:14 2007 +0200 sched: group scheduling, sysfs tunables Add tunables in sysfs to modify a user's cpu share. A directory is created in sysfs for each new user in the system. /sys/kernel/uids//cpu_share Reading this file returns the cpu shares granted for the user. Writing into this file modifies the cpu share for the user. Only an administrator is allowed to modify a user's cpu share. Ex: # cd /sys/kernel/uids/ # cat 512/cpu_share 1024 # echo 2048 > 512/cpu_share # cat 512/cpu_share 2048 # Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar commit 8ca0e14ffb12c257de591571a9e96102acdb1c64 Author: Peter Zijlstra Date: Mon Oct 15 17:00:14 2007 +0200 sched: disable sleeper_fairness on SCHED_BATCH disable sleeper fairness for batch tasks - they are about batch processing after all. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 810e95ccd58d91369191aa4ecc9e6d4a10d8d0c8 Author: Peter Zijlstra Date: Mon Oct 15 17:00:14 2007 +0200 sched: another wakeup_granularity fix unit mis-match: wakeup_gran was used against a vruntime Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a58f6f253d268f7b9712bd13c344a1fd89a3192f Author: Paul E. McKenney Date: Mon Oct 15 17:00:14 2007 +0200 sched: export cpu_clock() export cpu_clock() - the preferred API instead of sched_clock(). Signed-off-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 00bf7bfc2eaf775b634774e9ec435d720b6ecee7 Author: Ingo Molnar Date: Mon Oct 15 17:00:14 2007 +0200 sched: fix: move the CPU check into ->task_new_fair() noticed by Peter Zijlstra: fix: move the CPU check into ->task_new_fair(), this way we can call place_entity() and get child ->vruntime right at initial wakeup time. (without this there can be large latencies) Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit 0702e3ebc1e42576a04d29f8adacf13be825b800 Author: Ingo Molnar Date: Mon Oct 15 17:00:14 2007 +0200 sched: cleanup: function prototype cleanups noticed by Thomas Gleixner: cleanup: function prototype cleanups - move into single line wherever possible. Signed-off-by: Ingo Molnar commit 4cf86d77f5942336e7cd9de874b38b3c83b54d5e Author: Ingo Molnar Date: Mon Oct 15 17:00:14 2007 +0200 sched: cleanup: rename task_grp to task_group cleanup: rename task_grp to task_group. No need to save two characters and 'grp' is annoying to read. Signed-off-by: Ingo Molnar commit 06877c33fe9261ccdf143492c28de93c56493079 Author: Ingo Molnar Date: Mon Oct 15 17:00:13 2007 +0200 sched: cleanup: rename SCHED_FEAT_USE_TREE_AVG to SCHED_FEAT_TREE_AVG cleanup: rename SCHED_FEAT_USE_TREE_AVG to SCHED_FEAT_TREE_AVG, to make SCHED_FEAT_ names more consistent. Signed-off-by: Ingo Molnar commit a65914b3658043da27c159b8a28c5811bb0a88c9 Author: Ingo Molnar Date: Mon Oct 15 17:00:13 2007 +0200 sched: kfree(NULL) is valid kfree(NULL) is valid. pointed out by checkpatch.pl. the fix shrinks the code a bit: text data bss dec hex filename 40024 3842 100 43966 abbe sched.o.before 40002 3842 100 43944 aba8 sched.o.after Signed-off-by: Ingo Molnar commit 8927f49479756c1aff76e8202ad32733c965864f Author: Ingo Molnar Date: Mon Oct 15 17:00:13 2007 +0200 sched: style cleanup fix up __setup() style bug - noticed via checkpatch.pl. Signed-off-by: Ingo Molnar commit 26797a34a24cfeab9951a6f42f27432c0b2546af Author: Ingo Molnar Date: Mon Oct 15 17:00:13 2007 +0200 sched: break out if printing a warning in sched_domain_debug() checkpatch.pl and Andy Whitcroft noticed the following bug: we did not break out after printing an error. Signed-off-by: Ingo Molnar commit 3e9830dcabdeb3656855ec1b678b6bcf3b50261c Author: Ingo Molnar Date: Mon Oct 15 17:00:13 2007 +0200 sched: run sched_domain_debug() if CONFIG_SCHED_DEBUG=y run sched_domain_debug() if CONFIG_SCHED_DEBUG=y, instead of relying on the hand-crafted SCHED_DOMAIN_DEBUG switch. Signed-off-by: Ingo Molnar commit af92723262f3e0c431083f668b605a1dcdbe8f3d Author: Mike Galbraith Date: Mon Oct 15 17:00:13 2007 +0200 sched: cleanup, remove the TASK_NONINTERACTIVE flag Here's another piece of low hanging obsolete fruit. Remove obsolete TASK_NONINTERACTIVE. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit a2a2d680735ad7c3b5250704b3863abf54ff4020 Author: Dmitry Adamushko Date: Mon Oct 15 17:00:13 2007 +0200 sched: cleanup, make dequeue_entity() and update_stats_wait_end() similar make dequeue_entity() / enqueue_entity() and update_stats_dequeue() / update_stats_enqueue() look similar, structure-wise. zero effect, functionality-wise: text data bss dec hex filename 34550 3026 100 37676 932c sched.o.before 34550 3026 100 37676 932c sched.o.after Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit a03c9061d93822f66eb6287f8e9cf5833a12b49c Author: Dmitry Adamushko Date: Mon Oct 15 17:00:13 2007 +0200 sched: cleanup, remove calc_weighted() remove obsolete code -- calc_weighted() Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit a4ec24b48ddef1e93f7578be53270f0b95ad666c Author: Dmitry Adamushko Date: Mon Oct 15 17:00:13 2007 +0200 sched: tidy up SCHED_RR - make timeslices of SCHED_RR tasks constant and not dependent on task's static_prio [1] ; - remove obsolete code (timeslice related bits); - make sched_rr_get_interval() return something more meaningful [2] for SCHED_OTHER tasks. [1] according to the following link, it's not compliant with SUSv3 (not sure though, what is the reference for us :-) http://lkml.org/lkml/2007/3/7/656 [2] the interval is dynamic and can be depicted as follows "should a task be one of the runnable tasks at this particular moment, it would expect to run for this interval of time before being re-scheduled by the scheduler tick". (i.e. it's more precise if a task is runnable at the moment) yeah, this seems to require task_rq_lock/unlock() but this is not a hot path. results: (SCHED_FIFO) dimm@earth:~/storage/prog$ sudo chrt -f 10 ./rr_interval time_slice: 0 : 0 (SCHED_RR) dimm@earth:~/storage/prog$ sudo chrt 10 ./rr_interval time_slice: 0 : 99984800 (SCHED_NORMAL) dimm@earth:~/storage/prog$ ./rr_interval time_slice: 0 : 19996960 (SCHED_NORMAL + a cpu_hog of similar 'weight' on the same CPU --- so should be a half of the previous result) dimm@earth:~/storage/prog$ taskset 1 ./rr_interval time_slice: 0 : 9998480 Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit a9957449b08ab561a33e1e038df06843b8d8dd9f Author: Alexey Dobriyan Date: Mon Oct 15 17:00:13 2007 +0200 sched: uninline scheduler * save ~300 bytes * activate_idle_task() was moved to avoid a warning bloat-o-meter output: add/remove: 6/0 grow/shrink: 0/16 up/down: 438/-733 (-295) <=== function old new delta __enqueue_entity - 165 +165 finish_task_switch - 110 +110 update_curr_rt - 79 +79 __load_balance_iterator - 32 +32 __task_rq_unlock - 28 +28 find_process_by_pid - 24 +24 do_sched_setscheduler 133 123 -10 sys_sched_rr_get_interval 176 165 -11 sys_sched_getparam 156 145 -11 normalize_rt_tasks 482 470 -12 sched_getaffinity 112 99 -13 sys_sched_getscheduler 86 72 -14 sched_setaffinity 226 212 -14 sched_setscheduler 666 642 -24 load_balance_start_fair 33 9 -24 load_balance_next_fair 33 9 -24 dequeue_task_rt 133 67 -66 put_prev_task_rt 97 28 -69 schedule_tail 133 50 -83 schedule 682 594 -88 enqueue_entity 499 366 -133 task_new_fair 317 180 -137 Signed-off-by: Alexey Dobriyan Signed-off-by: Ingo Molnar commit 155bb293ae8387526e6e07d42b1691104e55d9a2 Author: Ingo Molnar Date: Mon Oct 15 17:00:13 2007 +0200 sched: tweak wakeup granularity tweak wakeup granularity. Signed-off-by: Ingo Molnar commit 1e819950660e6a811b549422ffb652273257e45e Author: Ingo Molnar Date: Mon Oct 15 17:00:13 2007 +0200 sched: optimize schedule() a bit on SMP optimize schedule() a bit on SMP, by moving the rq-clock update outside the rq lock. code size is the same: text data bss dec hex filename 25725 2666 96 28487 6f47 sched.o.before 25725 2666 96 28487 6f47 sched.o.after Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit 08ec3df5109e0555da5b9deb4382fd29733c852c Author: Dmitry Adamushko Date: Mon Oct 15 17:00:13 2007 +0200 sched: fix __pick_next_entity() The thing is that __pick_next_entity() must never be called when first_fair(cfs_rq) == NULL. It wouldn't be a problem, should 'run_node' be the very first field of 'struct sched_entity' (and it's the second). The 'nr_running != 0' check is _not_ enough, due to the fact that 'current' is not within the tree. Generic paths are ok (e.g. schedule() as put_prev_task() is called previously)... I'm more worried about e.g. migration_call() -> CPU_DEAD_FROZEN -> migrate_dead_tasks()... if 'current' == rq->idle, no problems.. if it's one of the SCHED_NORMAL tasks (or imagine, some other use-cases in the future -- i.e. we should not make outer world dependent on internal details of sched_fair class) -- it may be "Houston, we've got a problem" case. it's +16 bytes to the ".text". Another variant is to make 'run_node' the first data member of 'struct sched_entity' but an additional check (se ! = NULL) is still needed in pick_next_entity(). Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit 647e7cac2d215fb8890f79252d7eaee3d6743d66 Author: Ingo Molnar Date: Mon Oct 15 17:00:13 2007 +0200 sched: vslice fixups for non-0 nice levels Make vslice accurate wrt nice levels, and add some comments while we're at it. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit 3a2520157234d58abce89526756a32c272824f3f Author: Ingo Molnar Date: Mon Oct 15 17:00:12 2007 +0200 sched: whitespace cleanups more whitespace cleanups. No code changed: text data bss dec hex filename 26553 2790 288 29631 73bf sched.o.before 26553 2790 288 29631 73bf sched.o.after Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit 5522d5d5f70005faeffff3ffc0cfa8eec0155de4 Author: Ingo Molnar Date: Mon Oct 15 17:00:12 2007 +0200 sched: mark scheduling classes as const mark scheduling classes as const. The speeds up the code a bit and shrinks it: text data bss dec hex filename 40027 4018 292 44337 ad31 sched.o.before 40190 3842 292 44324 ad24 sched.o.after Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit b9fa3df33f9166daf81bfa8253d339f5a7726122 Author: Srivatsa Vaddagiri Date: Mon Oct 15 17:00:12 2007 +0200 sched: group scheduler, fix latency There is a possibility that because of task of a group moving from one cpu to another, it may gain more cpu time that desired. See http://marc.info/?l=linux-kernel&m=119073197730334 for details. This is an attempt to fix that problem. Basically it simulates dequeue of higher level entities as if they are going to sleep. Similarly it simulate wakeup of higher level entities as if they are waking up from sleep. Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit fad095a7b963d9e914e0cdb73e27355c47709441 Author: Srivatsa Vaddagiri Date: Mon Oct 15 17:00:12 2007 +0200 sched: group scheduler, fix bloat Recent fix to check_preempt_wakeup() to check for preemption at higher levels caused a size bloat for !CONFIG_FAIR_GROUP_SCHED. Fix the problem. 42277 10598 320 53195 cfcb kernel/sched.o-before_this_patch 42216 10598 320 53134 cf8e kernel/sched.o-after_this_patch Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit fb615581c78efee25e4d04f1145e8fa8ec705dc3 Author: Srivatsa Vaddagiri Date: Mon Oct 15 17:00:12 2007 +0200 sched: group scheduler, fix coding style issues Fix coding style issues reported by Randy Dunlap and others Signed-off-by: Dhaval Giani Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit b39c5dd7f938775fd0a1df5b4b1c26f854d15231 Author: Ingo Molnar Date: Mon Oct 15 17:00:12 2007 +0200 sched: cleanup, remove stale comment cleanup, remove stale comment. Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit 5f6d858ecca78f71755859a346d845e302973cd1 Author: Peter Zijlstra Date: Mon Oct 15 17:00:12 2007 +0200 sched: speed up and simplify vslice calculations speed up and simplify vslice calculations. [ From: Mike Galbraith : build fix ] Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit b0ffd246ea947a037746e725bd461bb7e809a4b3 Author: Peter Zijlstra Date: Mon Oct 15 17:00:12 2007 +0200 sched: clean up min_vruntime use clean up min_vruntime use. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 2830cf8c90f37526d401f1999250312df970bfa3 Author: Srivatsa Vaddagiri Date: Mon Oct 15 17:00:12 2007 +0200 sched: group scheduler SMP migration fix group scheduler SMP migration fix: use task_cfs_rq(p) to get to the relevant fair-scheduling runqueue of a task, rq->cfs is not the right one. Signed-off-by: Ingo Molnar commit 2d72376b3af1e7d4d4515ebfd0f4383f2e92c343 Author: Ingo Molnar Date: Mon Oct 15 17:00:12 2007 +0200 sched: clean up schedstats, cnt -> count rename all 'cnt' fields and variables to the less yucky 'count' name. yuckage noticed by Andrew Morton. no change in code, other than the /proc/sched_debug bkl_count string got a bit larger: text data bss dec hex filename 38236 3506 24 41766 a326 sched.o.before 38240 3506 24 41770 a32a sched.o.after Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit 2b1e315dd2822c99793485f9e53a73459fb399c1 Author: Dmitry Adamushko Date: Mon Oct 15 17:00:12 2007 +0200 sched: yield fix fix yield bugs due to the current-not-in-rbtree changes: the task is not in the rbtree so rbtree-removal is a no-no. [ From: Srivatsa Vaddagiri : build fix. ] also, nice code size reduction: kernel/sched.o: text data bss dec hex filename 38323 3506 24 41853 a37d sched.o.before 38236 3506 24 41766 a326 sched.o.after Signed-off-by: Ingo Molnar Signed-off-by: Dmitry Adamushko Reviewed-by: Thomas Gleixner commit 8651a86c342ab79a956afec0c5971acaad38d3a1 Author: Srivatsa Vaddagiri Date: Mon Oct 15 17:00:12 2007 +0200 sched: group scheduler wakeup latency fix group scheduler wakeup latency fix: when checking for preemption we must check cross-group too, not just intra-group. Signed-off-by: Ingo Molnar commit 57cb499df26d80ec11cd49e56d20835334ac4ab9 Author: Ingo Molnar Date: Mon Oct 15 17:00:11 2007 +0200 sched: remove set_leftmost() Lee Schermerhorn noticed that set_leftmost() contains dead code, remove this. Reported-by: Lee Schermerhorn Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit 2ddbf952508fb9911036c484a87f6351106b917c Author: Hiroshi Shimamoto Date: Mon Oct 15 17:00:11 2007 +0200 sched: clean up sched_fork() The adjusting sched_class is a missing part of the already existing "do not leak PI boosting priority to the child" at the sched_fork(). This patch moves the adjusting sched_class from wake_up_new_task() to sched_fork(). this also shrinks the code a bit: text data bss dec hex filename 40111 4018 292 44421 ad85 sched.o.before 40102 4018 292 44412 ad7c sched.o.after Signed-off-by: Hiroshi Shimamoto Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit 368059a977871def0f88a92eefb6ecc1f7b6132f Author: Peter Zijlstra Date: Mon Oct 15 17:00:11 2007 +0200 sched: max_vruntime() simplification max_vruntime() simplification. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit 02e4bac2a5b097e23d757bf2953740b3d51b7976 Author: Ingo Molnar Date: Mon Oct 15 17:00:11 2007 +0200 sched: fix sched_fork() fix sched_fork(): large latencies at new task creation time because the ->vruntime was not fixed up cross-CPU, if the parent got migrated after the child's CPU got set up. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit b8487b924177385e3932f846f430b73ce8e69bba Author: Ingo Molnar Date: Mon Oct 15 17:00:11 2007 +0200 sched: fix sign check error in place_entity() fix sign check error in place_entity() - we'd get excessive latencies due to negatives being converted to large u64's. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit 94359f05cb7e1fed0deccc83ebc30a1175a9ae16 Author: Ingo Molnar Date: Mon Oct 15 17:00:11 2007 +0200 sched: undo some of the recent changes undo some of the recent changes that are not needed after all, such as last_min_vruntime. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit dc1f31c90cfa067af6f7000db7a5383c7667ccba Author: Ingo Molnar Date: Mon Oct 15 17:00:11 2007 +0200 sched: remove last_min_vruntime effect remove last_min_vruntime use - prepare to remove it. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit 785c29ef9573d98b31493c9a68c3589449082108 Author: Ingo Molnar Date: Mon Oct 15 17:00:11 2007 +0200 sched: remove condition from set_task_cpu() remove condition from set_task_cpu(). Now that ->vruntime is not global anymore, it should (and does) work fine without it too. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit 8465e792e82c567b80358e38732164b770ed4b7f Author: Ingo Molnar Date: Mon Oct 15 17:00:11 2007 +0200 sched: entity_key() fix entity_key() fix - we'd occasionally end up with a 0 vruntime in the !initial case. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit ddc972975091ba5f839bf24d0f9ef54fe90ee741 Author: Peter Zijlstra Date: Mon Oct 15 17:00:10 2007 +0200 sched debug: check spread debug feature: check how well we schedule within a reasonable vruntime 'spread' range. (note that CPU overload can increase the spread, so this is not a hard condition, but normal loads should be within the spread.) Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit d822cecedad88b69a7d68aa8d49e1f238aa320c7 Author: Ingo Molnar Date: Mon Oct 15 17:00:10 2007 +0200 sched debug: more width for parameter printouts more width for parameter printouts in /proc/sched_debug. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 67e9fb2a39a1d454218d50383094940982be138f Author: Peter Zijlstra Date: Mon Oct 15 17:00:10 2007 +0200 sched: add vslice add vslice: the load-dependent "virtual slice" a task should run ideally, so that the observed latency stays within the sched_latency window. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 1aa4731eff7dab7bd01747b46f654f449f1cfc2c Author: Ingo Molnar Date: Mon Oct 15 17:00:10 2007 +0200 sched debug: print settings print the current value of all tunables in /proc/sched_debug output. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit c18b8a7cbcbac46497ee1ce656b0e68197c7581d Author: Ingo Molnar Date: Mon Oct 15 17:00:10 2007 +0200 sched: remove unneeded tunables remove unneeded tunables. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit fdd71d132badad542a9ab99ab4a9c3c08fa6412f Author: S.Caglar Onur Date: Mon Oct 15 17:00:10 2007 +0200 sched debug: BKL usage statistics, fix build fix for the SCHED_DEBUG && !SCHEDSTATS case. Signed-off-by: S.Ceglar Onur Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit b8efb56172bc55082b8490778b07ef73eea0b551 Author: Ingo Molnar Date: Mon Oct 15 17:00:10 2007 +0200 sched debug: BKL usage statistics add per task and per rq BKL usage statistics. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit de8d585a12aef40676f12ddc63e97daaf7752ba1 Author: Ingo Molnar Date: Mon Oct 15 17:00:09 2007 +0200 sched: enable CONFIG_FAIR_GROUP_SCHED=y by default enable CONFIG_FAIR_GROUP_SCHED=y by default. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 7ed2be459b61c66fcc4926ffb073a25fc077d51f Author: Ingo Molnar Date: Mon Oct 15 17:00:09 2007 +0200 sched: fair-group sched, cleanups fair-group sched, cleanups. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 24e377a83220ef05c9b5bec7e01d65eed6609aa6 Author: Srivatsa Vaddagiri Date: Mon Oct 15 17:00:09 2007 +0200 sched: add fair-user scheduler Enable user-id based fair group scheduling. This is useful for anyone who wants to test the group scheduler w/o having to enable CONFIG_CGROUPS. A separate scheduling group (i.e struct task_grp) is automatically created for every new user added to the system. Upon uid change for a task, it is made to move to the corresponding scheduling group. A /proc tunable (/proc/root_user_share) is also provided to tune root user's quota of cpu bandwidth. Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 9b5b77512dce239fa168183fa71896712232e95a Author: Srivatsa Vaddagiri Date: Mon Oct 15 17:00:09 2007 +0200 sched: clean up code under CONFIG_FAIR_GROUP_SCHED With the view of supporting user-id based fair scheduling (and not just container-based fair scheduling), this patch renames several functions and makes them independent of whether they are being used for container or user-id based fair scheduling. Also fix a problem reported by KAMEZAWA Hiroyuki (wrt allocating less-sized array for tg->cfs_rq[] and tf->se[]). Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 75c28ace9f2b2f403674e045939424a77c95b47c Author: Srivatsa Vaddagiri Date: Mon Oct 15 17:00:09 2007 +0200 sched: print &rq->cfs stats - Print &rq->cfs statistics as well (useful for group scheduling) Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 545f3b18152355acbb8da59873506fcf66c7c60e Author: Srivatsa Vaddagiri Date: Mon Oct 15 17:00:09 2007 +0200 sched: print nr_running and load in /proc/sched_debug - print nr_running and load information for cfs_rq in /proc/sched_debug Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 72ea22f8fbc893425faefa60641f45a4cdef2261 Author: Srivatsa Vaddagiri Date: Mon Oct 15 17:00:08 2007 +0200 sched: fix minor bug in yield - fix a minor bug in yield (seen for CONFIG_FAIR_GROUP_SCHED), group scheduling would skew when yield was called. Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 83b699ed20f5218580a1b7042064082e2e05f8c5 Author: Srivatsa Vaddagiri Date: Mon Oct 15 17:00:08 2007 +0200 sched: revert recent removal of set_curr_task() Revert removal of set_curr_task. Use put_prev_task/set_curr_task when changing groups/policies Signed-off-by: Srivatsa Vaddagiri < vatsa@linux.vnet.ibm.com> Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit edcb60a309769a5f6e7c9e76d7c98b34d1757448 Author: Ingo Molnar Date: Mon Oct 15 17:00:08 2007 +0200 sched: kernel/sched_fair.c whitespace cleanups some trivial whitespace cleanups. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit c86da3a3d40f6e7a032edfaea191fb51e9626c8f Author: Mike Galbraith Date: Mon Oct 15 17:00:08 2007 +0200 sched: fix formatting of /proc/sched_debug fix formatting of /proc/sched_debug Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit ef83a5714d9a817b2e9b97f04a6d070fbd6ecf80 Author: Ingo Molnar Date: Mon Oct 15 17:00:08 2007 +0200 sched: enhance debug output enhance debug output by changing 12345678 nsecs to 12.345678 output, this is more human-readable. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 1a75b94f7bda591f4c53af86baa50e1eaee35927 Author: Ingo Molnar Date: Mon Oct 15 17:00:08 2007 +0200 sched: prettify /proc/sched_debug output print the correct amount of dashes in /proc/sched_debug. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit f6b53205e17c8ca481c69ed579a35a650a4b481a Author: Dmitry Adamushko Date: Mon Oct 15 17:00:08 2007 +0200 sched: rework enqueue/dequeue_entity() to get rid of set_curr_task() rework enqueue/dequeue_entity() to get rid of sched_class::set_curr_task(). This simplifies sched_setscheduler(), rt_mutex_setprio() and sched_move_tasks(). text data bss dec hex filename 24330 2734 20 27084 69cc sched.o.before 24233 2730 20 26983 6967 sched.o.after Signed-off-by: Dmitry Adamushko Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 4530d7ab0fb8d5056b68c376949e2d5c4db7817e Author: Dmitry Adamushko Date: Mon Oct 15 17:00:08 2007 +0200 sched: simplify sched_class::yield_task() the 'p' (task_struct) parameter in the sched_class :: yield_task() is redundant as the caller is always the 'current'. Get rid of it. text data bss dec hex filename 24341 2734 20 27095 69d7 sched.o.before 24330 2734 20 27084 69cc sched.o.after Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 87fefa381ef27f46c1182622ea01eb9504cd2e24 Author: Dmitry Adamushko Date: Mon Oct 15 17:00:08 2007 +0200 sched: optimize task_new_fair() due to the fact that we no longer keep the 'current' within the tree, dequeue/enqueue_entity() is useless for the 'current' in task_new_fair(). We are about to reschedule and sched_class->put_prev_task() will put the 'current' back into the tree, based on its new key. text data bss dec hex filename 24388 2734 20 27142 6a06 sched.o.before 24341 2734 20 27095 69d7 sched.o.after Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 75d4ef16a6aa84f708188bada182315f80aab6fa Author: Ingo Molnar Date: Mon Oct 15 17:00:08 2007 +0200 sched: fix delay accounting performance regression fix delay accounting performance regression - those sched_clock() calls are not needed. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 30cfdcfc5f180fc21a3dad6ae3b7b2a9ee112186 Author: Dmitry Adamushko Date: Mon Oct 15 17:00:07 2007 +0200 sched: do not keep current in the tree and get rid of sched_entity::fair_key Get rid of 'sched_entity::fair_key'. As a side effect, 'current' is not kept withing the tree for SCHED_NORMAL/BATCH tasks anymore. This simplifies some parts of code (e.g. entity_tick() and yield_task_fair()) and also somewhat optimizes them (e.g. a single update_curr() now vs. dequeue/enqueue() before in entity_tick()). Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 7074badbcb4212d404a243e5c50efeb778ec3fc6 Author: Dmitry Adamushko Date: Mon Oct 15 17:00:07 2007 +0200 sched: add set_curr_task() calls p->sched_class->set_curr_task() has to be called before activate_task()/enqueue_task() in rt_mutex_setprio(), sched_setschedule() and sched_move_task() in order to set up 'cfs_rq->curr'. The logic of enqueueing depends on whether a task to be inserted is 'current' or not. Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit d02e5ed8d55e2a2b2735232ea1da40ffbf4c0932 Author: Dmitry Adamushko Date: Mon Oct 15 17:00:07 2007 +0200 sched: sched_setscheduler() fix Fix a problem in the 'sched-group' patch for !CONFIG_FAIR_GROUP_SCHED. description: sched_setscheduler() { ... if (task_running()) p->sched_class->put_prev_entity(); [ this one sets up cfs_rq->curr to NULL ] ... if (task_running) p->sched_class->set_curr_task(); [ and this one is a _NOP_ (empty) for !CONFIG_FAIR_GROUP_SCHED ] As a result, the task continues to run with cfs_rq->curr == NULL... no crashes (due to checks for !NULL in place) but e.g. update_curr() effectively becomes a NOP... i.e. runtime statistics for this task is not accounted untill it's rescheduled anew. Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 29f59db3a74b0bdf78a1f5b53ef773caa82692dc Author: Srivatsa Vaddagiri Date: Mon Oct 15 17:00:07 2007 +0200 sched: group-scheduler core Add interface to control cpu bandwidth allocation to task-groups. (not yet configurable, due to missing CONFIG_CONTAINERS) Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit 119fe5e06800afc197781ebc8c2d8ca7d03497c8 Author: Mike Galbraith Date: Mon Oct 15 17:00:07 2007 +0200 sched: fix SMP migration latencies fix SMP migration latencies: the vruntimes of different CPUs are at incompatible offsets so they have to be fixed up when migrating a task across CPUs. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 02e0431a3db554019b816936b597d618256b705d Author: Peter Zijlstra Date: Mon Oct 15 17:00:07 2007 +0200 sched: better min_vruntime tracking Better min_vruntime tracking: update it every time 'curr' is updated - not just when a task is enqueued into the tree. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 35a6ff5417bf94c9e19b6b55a9eb6eea14cc7be7 Author: Ingo Molnar Date: Mon Oct 15 17:00:07 2007 +0200 sched: x86: allow single-depth wchan output sched.o gets smaller and faster if we compile it with -fomit-frame-pointers, so make this a config option. The cost is the loss of multi-depth wchan lookups - but SysRq-T is a sufficient replacement for them anyway, so their utility is much lower these days. the size difference is significant: text data bss dec hex filename 34005 3462 24 37491 9273 sched.o.before 33470 3462 24 36956 905c sched.o.after Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit db36cc7d6d9e538481e60fae7f56646b92557526 Author: Dmitry Adamushko Date: Mon Oct 15 17:00:06 2007 +0200 sched: clean up schedstat block in dequeue_entity() Better placement of #ifdef CONFIG_SCHEDSTAT block in dequeue_entity(). Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit bbdba7c0e1161934ae881ad00e4db49830f5ef59 Author: Ingo Molnar Date: Mon Oct 15 17:00:06 2007 +0200 sched: remove wait_runtime fields and features remove wait_runtime based fields and features, now that the CFS math has been changed over to the vruntime metric. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit e22f5bbf86d8cce710d5c8ba5bf57832e73aab8c Author: Ingo Molnar Date: Mon Oct 15 17:00:06 2007 +0200 sched: remove wait_runtime limit remove the wait_runtime-limit fields and the code depending on it, now that the math has been changed over to rely on the vruntime metric. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 495eca494aa6006df55e3a04e105462c5940ca17 Author: Dmitry Adamushko Date: Mon Oct 15 17:00:06 2007 +0200 sched: clean up struct load_stat 'struct load_stat' is redundant now so let's get rid of it. Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 7a62eabc4d60980eb39fff659f168d903b55c6d7 Author: Ingo Molnar Date: Mon Oct 15 17:00:06 2007 +0200 sched: debug: update exec_clock only when SCHED_DEBUG micro-optimization: update cfs_rq->exec_clock only if CONFIG_SCHED_DEBUG=y. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 86d9560cb6bd85986e98b4c63705daec94406bd4 Author: Ingo Molnar Date: Mon Oct 15 17:00:06 2007 +0200 sched: add more vruntime statistics add more vruntime statistics. Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Reviewed-by: Thomas Gleixner commit 9014623c0e3545be58a7f19f55793f6517bdc274 Author: Peter Zijlstra Date: Mon Oct 15 17:00:05 2007 +0200 sched: handle vruntime 64-bit overflow Handle vruntime overflow by centering the key space around min_vruntime. ( otherwise we could overflow 64-bit vruntime in a few days with SCHED_IDLE tasks - or in a few years with nice +19. ) Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 94dfb5e75ef59068a8cf68fa6e18f25ebdcd20b9 Author: Peter Zijlstra Date: Mon Oct 15 17:00:05 2007 +0200 sched: add tree based averages add support for tree based vruntime averages. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 28a1f6fa2f7ecec7e5da28b03a24abbecbd2e864 Author: Ingo Molnar Date: Mon Oct 15 17:00:05 2007 +0200 sched: remove SCHED_FEAT_SKIP_INITIAL remove SCHED_FEAT_SKIP_INITIAL - it was off by default and even when enabled it never made any real difference. Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit 67e12eac328b276dca7e61640632ed996ff1a93a Author: Ingo Molnar Date: Mon Oct 15 17:00:05 2007 +0200 sched: add se->vruntime debugging debug se->vruntime fields. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith commit aeb73b040399f94698b4f64dd058cae39187e18d Author: Peter Zijlstra Date: Mon Oct 15 17:00:05 2007 +0200 sched: clean up new task placement clean up new task placement. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith commit 2e09bf556fbe1a4cd8d837a3e6607de55f7cf4fd Author: Ingo Molnar Date: Mon Oct 15 17:00:05 2007 +0200 sched: wakeup granularity increase increase wakeup granularity - we were overscheduling a bit. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith commit 5c6b5964a0629bd39fbf4e5648a8aca32de5bcaf Author: Ingo Molnar Date: Mon Oct 15 17:00:05 2007 +0200 sched: simplify check_preempt() methods simplify the check_preempt() methods. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith commit 6d0f0ebd063e36cd0ebae9be15973b02c4245a99 Author: Peter Zijlstra Date: Mon Oct 15 17:00:05 2007 +0200 sched: simplify adaptive latency simplify adaptive latency. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 4d78e7b656aa6440c337302fe065338ce840a64e Author: Peter Zijlstra Date: Mon Oct 15 17:00:04 2007 +0200 sched: new task placement for vruntime add proper new task placement for the vruntime based math too. ( note: introduces a swap() macro, but the swap token is too widely used in the kernel namespace for a generic version to be added without changing non-scheduler code - so this cleanup will be done separately. ) Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 6cb58195143b55d4c427d92f8425bec2b0d9c56c Author: Ingo Molnar Date: Mon Oct 15 17:00:04 2007 +0200 sched: optimize vruntime based scheduling optimize vruntime based scheduling. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit bf5c91ba8c629b84413c761f529627195fd0a935 Author: Ingo Molnar Date: Mon Oct 15 17:00:04 2007 +0200 sched: move sched_feat() definitions move sched_feat() definitions so that it can be used sooner by generic code too. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit e9acbff6484df51fd880e0f5fe0224e8be34c17b Author: Ingo Molnar Date: Mon Oct 15 17:00:04 2007 +0200 sched: introduce se->vruntime introduce se->vruntime as a sum of weighted delta-exec's, and use that as the key into the tree. the idea to use absolute virtual time as the basic metric of scheduling has been first raised by William Lee Irwin, advanced by Tong Li and first prototyped by Roman Zippel in the "Really Fair Scheduler" (RFS) patchset. also see: http://lkml.org/lkml/2007/9/2/76 for a simpler variant of this patch. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 08e2388aa1e40cb06f7d04ac621e2ae94e1d8fdc Author: Ingo Molnar Date: Mon Oct 15 17:00:04 2007 +0200 sched: clean up calc_weighted() clean up calc_weighted() - we always use the normalized shift so it's not needed to pass that in. Also, push the non-nice0 branch into the function. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 1091985b482fdd577a5c511059b9d7b4467bd15d Author: Ingo Molnar Date: Mon Oct 15 17:00:04 2007 +0200 sched: speed up update_load_add/_sub() speed up update_load_add/_sub() by not delaying the division - this reduces CPU pipeline dependencies. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 19ccd97a03a026c2341b35af3ed2078a83c4a22b Author: Ingo Molnar Date: Mon Oct 15 17:00:04 2007 +0200 sched: uninline __enqueue_entity()/__dequeue_entity() suggested by Roman Zippel: uninline __enqueue_entity() and __dequeue_entity(). this reduces code size: text data bss dec hex filename 25385 2386 16 27787 6c8b sched.o.before 25257 2386 16 27659 6c0b sched.o.after Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit e59c80c5bbc0d3d6b0772edb347ce2dd303121b3 Author: Peter Zijlstra Date: Mon Oct 15 17:00:03 2007 +0200 sched: simplify SCHED_FEAT_* code Peter Zijlstra suggested to simplify SCHED_FEAT_* checks via the sched_feat(x) macro. No code changed: text data bss dec hex filename 38895 3550 24 42469 a5e5 sched.o.before 38895 3550 24 42469 a5e5 sched.o.after Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 429d43bcc026b92b9dfaccd3577fec290f6a67ce Author: Ingo Molnar Date: Mon Oct 15 17:00:03 2007 +0200 sched: cleanup: simplify cfs_rq_curr() methods cleanup: simplify cfs_rq_curr() methods - now that the cfs_rq->curr pointer is unconditionally present, remove the wrappers. kernel/sched.o: text data bss dec hex filename 11784 224 2012 14020 36c4 sched.o.before 11784 224 2012 14020 36c4 sched.o.after Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 62160e3f4a06d948ec89665d29f1173e551deedc Author: Ingo Molnar Date: Mon Oct 15 17:00:03 2007 +0200 sched: track cfs_rq->curr on !group-scheduling too Noticed by Roman Zippel: use cfs_rq->curr in the !group-scheduling case too. Small micro-optimization and cleanup effect: text data bss dec hex filename 36269 3482 24 39775 9b5f sched.o.before 36177 3486 24 39687 9b07 sched.o.after Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 53df556e06d85245cf6aacedaba8e4da684859c3 Author: Ingo Molnar Date: Mon Oct 15 17:00:03 2007 +0200 sched: remove precise CPU load calculations #2 continued removal of precise CPU load calculations. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit a25707f3aef9cf68c341eba5960d580f364e4e6f Author: Ingo Molnar Date: Mon Oct 15 17:00:03 2007 +0200 sched: remove precise CPU load CPU load calculations are statistical anyway, and there's little benefit from having it calculated on every scheduling event. So remove this code, it gets rid of a divide from the scheduler wakeup and context-switch fastpath. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 8ebc91d93669af39dbed50914d7daf457eeb43be Author: Ingo Molnar Date: Mon Oct 15 17:00:03 2007 +0200 sched: remove stat_gran remove the stat_gran code - it was disabled by default and it causes unnecessary overhead. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 2bd8e6d422a4f44c0994f909317eba80b0fe08a1 Author: Ingo Molnar Date: Mon Oct 15 17:00:02 2007 +0200 sched: use constants if !CONFIG_SCHED_DEBUG use constants if !CONFIG_SCHED_DEBUG. this speeds up the code and reduces code-size: text data bss dec hex filename 27464 3014 16 30494 771e sched.o.before 26929 3010 20 29959 7507 sched.o.after Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 38ad464d410dadceda1563f36bdb0be7fe4c8938 Author: Ingo Molnar Date: Mon Oct 15 17:00:02 2007 +0200 sched: uniform tunings use the same defaults on both UP and SMP. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit eba1ed4b7e52720e3099325874811c38a5ec1562 Author: Ingo Molnar Date: Mon Oct 15 17:00:02 2007 +0200 sched: debug: track maximum 'slice' track the maximum amount of time a task has executed while the CPU load was at least 2x. (i.e. at least two nice-0 tasks were runnable) Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit a4b29ba2f72673aaa60ba11ced74d579771dd578 Author: Ingo Molnar Date: Mon Oct 15 17:00:02 2007 +0200 sched: small sched_debug cleanup small kernel/sched_debug.c cleanup - break up multi-variable assignment. no code changed: text data bss dec hex filename 38869 3550 24 42443 a5cb sched.o.before 38869 3550 24 42443 a5cb sched.o.after Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 2e45874c5aabe573b6ab4328f303c765701394f9 Author: Matthias Kaehlcke Date: Mon Oct 15 17:00:02 2007 +0200 sched: use list_for_each_entry_safe() in __wake_up_common() Use list_for_each_entry_safe() instead of list_for_each_safe() in __wake_up_common() Signed-off-by: Matthias Kaehlcke Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit bb61c210835db95b0e9fb612a316422e7cc675e3 Author: Ingo Molnar Date: Mon Oct 15 17:00:02 2007 +0200 sched: resched task in task_new_fair() to get full child-runs-first semantics make sure the parent is rescheduled. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 44142fac3446d08c08c5d717ec11d50a737e8640 Author: Ingo Molnar Date: Mon Oct 15 17:00:01 2007 +0200 sched: fix sysctl_sched_child_runs_first flag fix the sched_child_runs_first flag: always call into ->task_new() if we are on the same CPU, as SCHED_OTHER tasks depend on it for correct initial setup. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Signed-off-by: Mike Galbraith Reviewed-by: Thomas Gleixner commit 993386c19afa53fa54d00c7721e56ba820b3400d Author: Christoph Hellwig Date: Tue Aug 28 16:12:30 2007 +1000 [XFS] decontaminate vnode operations from behavior details All vnode ops now take struct xfs_inode pointers and the behaviour related glue is split out into methods of it's own. This required fixing xfs_create/mkdir/symlink to not mess with the inode pointer but rather use a separate boolean for error handling. Thanks to Dave Chinner for that fix. SGI-PV: 969608 SGI-Modid: xfs-linux-melb:xfs-kern:29492a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit b93bd20cd59eb7ec172f95d08b100fea688d8bcf Author: Vlad Apostolov Date: Tue Aug 28 14:00:28 2007 +1000 [XFS] do not have XFSMNT_IDELETE as default when mounted with XFSMNT_DMAPI XFS inodes are dynamically allocated on demand, rather than being allocated at mkfs time. Chunks of 64 inodes are allocated at once, but they are never freed. Over time, this can lead to filesystem fragmentation, clusters of inodes and the btrees which point at them can be scattered around the system. By freeing clusters as they are emptied, we will reduce fragmentation of the free space after removing files. This in turn will allow us to make better placement decisions when repopulating a filesystem. The XFSMNT_IDELETE mount option enables freeing clusters when they get empty. Unfortunately a side effect of freeing inode clusters is that the inode generation numbers of such inodes would be reset to zero when the cluster is reclaimed. This is a problem in particular for a DMAPI enabled filesystem as the the DMAPI handles need to be unique and persistent in time. An unique DMAPI handle is built with the help of the inode generation number. When the last one is prematurely reset by an inode cluster reclaim, there is a high probability of different generation inodes to end up having identical DMAPI handles. To avoid the problem with identical DMAPI handles, the XFSMNT_IDELETE mount option should be set as default, only if the filesystem is not mounted with XFSMNT_DMAPI. SGI-PV: 969192 SGI-Modid: xfs-linux-melb:xfs-kern:29486a Signed-off-by: Vlad Apostolov Signed-off-by: David Chinner Signed-off-by: Mark Goodwin Signed-off-by: Tim Shimmin commit da353b0d64e070ae7c5342a0d56ec20ae9ef5cfb Author: David Chinner Date: Tue Aug 28 14:00:13 2007 +1000 [XFS] Radix tree based inode caching One of the perpetual scaling problems XFS has is indexing it's incore inodes. We currently uses hashes and the default hash sizes chosen can only ever be a tradeoff between memory consumption and the maximum realistic size of the cache. As a result, anyone who has millions of inodes cached on a filesystem needs to tunes the size of the cache via the ihashsize mount option to allow decent scalability with inode cache operations. A further problem is the separate inode cluster hash, whose size is based on the ihashsize but is smaller, and so under certain conditions (sparse cluster cache population) this can become a limitation long before the inode hash is causing issues. The following patchset removes the inode hash and cluster hash and replaces them with radix trees to avoid the scalability limitations of the hashes. It also reduces the size of the inodes by 3 pointers.... SGI-PV: 969561 SGI-Modid: xfs-linux-melb:xfs-kern:29481a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 39cd9f877e63ce7e02cdc7f5dbf1b908451c9532 Author: Christoph Hellwig Date: Tue Aug 28 13:59:21 2007 +1000 [XFS] kill move.[ch] Kill uio related functions and defines now that they're unused. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29480a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 804c83c37607efe415774c3a170ad72a789e5992 Author: Christoph Hellwig Date: Tue Aug 28 13:59:03 2007 +1000 [XFS] stop using uio in the readlink code Simplify the readlink code to get rid of the last user of uio. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29479a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 051e7cd44ab8f0f7c2958371485b4a1ff64a8d1b Author: Christoph Hellwig Date: Tue Aug 28 13:58:24 2007 +1000 [XFS] use filldir internally Currently xfs has a rather complicated internal scheme to allow for different directory formats in IRIX. This patch rips all code related to this out and pushes useage of the Linux filldir callback into the lowlevel directory code. This does not make the code any less portable because filldir can be used to create dirents of all possible variations (including the IRIX ones as proved by the IRIX binary emulation code under arch/mips/). This patch get rid of an unessecary copy in the readdir path, about 400 lines of code and one of the last two users of the uio structure. This version is updated to deal with dmapi aswell which greatly simplifies the get_dirattrs code. The dmapi part has been tested using the get_dirattrs tools from the xfstest dmapi suite1 with various small and large directories. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29478a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 2bdf7cd0baa67608ada1517a281af359faf4c58c Author: Christoph Hellwig Date: Tue Aug 28 13:58:06 2007 +1000 [XFS] superblock endianess annotations Creates a new xfs_dsb_t that is __be annotated and keeps xfs_sb_t for the incore one. xfs_xlatesb is renamed to xfs_sb_to_disk and only handles the incore -> disk conversion. A new helper xfs_sb_from_disk handles the other direction and doesn't need the slightly hacky table-driven approach because we only ever read the full sb from disk. The handling of shared r/o filesystems has been buggy on little endian system and fixing this required shuffling around of some code in that area. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29477a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 347d1c01956d567c18afef0cc253eb235cafacd8 Author: Christoph Hellwig Date: Tue Aug 28 13:57:51 2007 +1000 [XFS] dinode endianess annotations Biggest bit is duplicating the dinode structure so we have one annotated for native endianess and one for disk endianess. The other significant change is that xfs_xlate_dinode_core is split into one helper per direction to allow for proper annotations, everything else is trivial. As a sidenode splitting out the incore dinode means we can move it into xfs_inode.h in a later patch and severely improving on the include hell in xfs. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29476a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit ddc6d3b32a8a732c343dc225048fae06c129e48a Author: Michal Piotrowski Date: Thu Aug 23 16:20:10 2007 +1000 [XFS] Fix build regression from mod/commit which did cleanup of xfs_bmbt_*set_allf In sgi mod# xfs-linux-melb:xfs-kern:29319a, the variable renaming was not complete and variable 'b' was left unchanged for non-lbd 32 bit machines. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29469a Signed-off-by: Michal Piotrowski Signed-off-by: Tim Shimmin commit 948c6d4fd894d9c7f9ad764cedbe443aa866def2 Author: Eric Sandeen Date: Thu Aug 23 16:19:57 2007 +1000 [XFS] optimize dmapi event tests w/o dmapi config SGI-PV: 969372 SGI-Modid: xfs-linux-melb:xfs-kern:29444a Signed-off-by: Eric Sandeen Signed-off-by: Vlad Apostolov Signed-off-by: Tim Shimmin commit eb9df39daf870d6f9e9528f092d506be04ebad2f Author: Christoph Hellwig Date: Thu Aug 16 18:42:07 2007 +1000 [XFS] remove unessecary vfs argument to DM_EVENT_ENABLED SGI-PV: 968690 SGI-Modid: xfs-linux-melb:xfs-kern:29340a Signed-off-by: Christoph Hellwig Signed-off-by: Vlad Apostolov Signed-off-by: Tim Shimmin commit 49ee6c911f0ae5b3a9a04e0589e3265e52f94f53 Author: Jesper Juhl Date: Thu Aug 16 16:25:42 2007 +1000 [XFS] Fix a potential NULL pointer deref in XFS on failed mount. If we fail to open the the log device buftarg, we can fall through to error handling code that fails to check for a NULL log device buftarg before calling xfs_free_buftarg(). This patch fixes the issue by checking mp->m_logdev_targp against NULL in xfs_unmountfs_close() and doing the proper xfs_blkdev_put(logdev); and xfs_blkdev_put(rtdev); on (!mp->m_rtdev_targp) in xfs_mount(). Discovered by the Coverity checker. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29328a Signed-off-by: Jesper Juhl Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit dcb3b83febd1028afbc4a32cf7642a6580e349c6 Author: Eric Sandeen Date: Thu Aug 16 16:25:33 2007 +1000 [XFS] clean up xfs_start_flags xfs_start_flags can make use of is_power_of_2 to tidy up the test a little bit. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29327a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit af3a2e8a3f3055ef269b09433bb28e33a0d1b8c0 Author: Eric Sandeen Date: Thu Aug 16 16:25:23 2007 +1000 [XFS] move linux/log2.h header to xfs_linux.h Generally we try not to directly include linux header files in core xfs code; xfs_linux.h is the spot for that. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29326a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 6385f4d5579ccada7bd1d9fefbdea5515457b10d Author: Eric Sandeen Date: Thu Aug 16 16:25:10 2007 +1000 [XFS] Remove xfs_physmem Now that nobody's using it, remove xfs_physmem & friends. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29325a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 425f9ddd534573f58df8e7b633a534fcfc16d44d Author: Eric Sandeen Date: Thu Aug 16 16:24:55 2007 +1000 [XFS] Pick a single default inode cluster size. Remove scaling of inode "clusters" based on machine memory; small cluster cut-point was an unrealistic 32MB and was probably never tested. Removes another user of xfs_physmem. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29324a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 1cb51258758d725028e9ee9688d462de125a053d Author: Eric Sandeen Date: Thu Aug 16 16:24:43 2007 +1000 [XFS] choose single default logbuf count & size Remove sizing of logbuf size & count based on physical memory; this was never a very good gauge as it's looking at global memory, but deciding on sizing per-filesystem; no account is made of the total number of filesystems, for example. For now just take the largest "default" case, as was set for machines with >400MB - 8 x 32k buffers. This can always be tuned higher or lower with mount options if necessary. Removes one more user of xfs_physmem. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29323a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 40906630f18fdf5ac27f5928c20f76eeac8fb0f0 Author: Eric Sandeen Date: Thu Aug 16 16:24:31 2007 +1000 [XFS] Remove m_nreadaheads m_nreadaheads in the mount struct is never used; remove it and the various macros assigned to it. Also remove a couple other unused macros in the same areas. Removes one user of xfs_physmem. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29322a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit cd8b0a97bd9216578a44a9bf82188cd901295964 Author: Christoph Hellwig Date: Thu Aug 16 16:24:15 2007 +1000 [XFS] endianess annotations for xfs_bmbt_rec_t SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29321a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit e05596643d4bb5ab7d813d1ac5724178ca4c7134 Author: Christoph Hellwig Date: Thu Aug 16 16:24:02 2007 +1000 [XFS] cleanup defintions of BMBT_*BITLEN macros The BMBT_*BITLEN are currently defined in a complicated way depending on XFS_NATIVE_HOST. But if all the macros are expanded they (obviously) expand to the same value for both cases. This patch defines the macros in the most simple way and updates the comment describing them to remove outdated bits. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29320a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 8cba43447e7a843cd446a73baa91fe686f01e565 Author: Christoph Hellwig Date: Thu Aug 16 16:23:53 2007 +1000 [XFS] clean up xfs_bmbt_set_all/xfs_bmbt_disk_set_all xfs_bmbt_set_all/xfs_bmbt_disk_set_all are identical to xfs_bmbt_set_allf/xfs_bmbt_disk_set_allf except that the former take a xfs_bmbt_irec_t and the latter take the individual extent fields as scalar values. This patch reimplements xfs_bmbt_set_all/xfs_bmbt_disk_set_all as trivial wrappers around xfs_bmbt_set_allf/xfs_bmbt_disk_set_allf and cleans up the variable naming in xfs_bmbt_set_allf/xfs_bmbt_disk_set_allf to have some meaning instead of one char variable names. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29319a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit a6f64d4aea0d0c8483e910c7dd2d1ee48e42245c Author: Christoph Hellwig Date: Thu Aug 16 16:23:40 2007 +1000 [XFS] split ondisk vs incore versions of xfs_bmbt_rec_t currently xfs_bmbt_rec_t is used both for ondisk extents as well as host-endian ones. This patch adds a new xfs_bmbt_rec_host_t for the native endian ones and cleans up the fallout. There have been various endianess issues in the tracing / debug printf code that are fixed by this patch. SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29318a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit d580ef6eaae6eaaef1e06c7d689fc9949faee9da Author: Christoph Hellwig Date: Thu Aug 16 16:23:11 2007 +1000 [XFS] remove confusing INT_ comments in xfs_bmap_btree.c SGI-PV: 968563 SGI-Modid: xfs-linux-melb:xfs-kern:29317a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 3bacbcd8830f89fc527f5c7dc13f24d0ce692980 Author: Vlad Apostolov Date: Thu Aug 16 15:20:25 2007 +1000 [XFS] hole not shown when file is created with resvsp SGI-PV: 967674 SGI-Modid: xfs-linux-melb:xfs-kern:29211a Signed-off-by: Vlad Apostolov Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 0bfefc46dc028df60120acdb92062169c9328769 Author: David Chinner Date: Mon May 14 18:24:23 2007 +1000 [XFS] Barriers need to be dynamically checked and switched off If the underlying block device suddenly stops supporting barriers, we need to handle the -EOPNOTSUPP error in a sane manner rather than shutting down the filesystem. If we get this error, clear the barrier flag, reissue the I/O, and tell the world bad things are occurring. SGI-PV: 964544 SGI-Modid: xfs-linux-melb:xfs-kern:28568a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 744ea922c901b6557bffe8bff7af1ef18181f370 Author: Roland Dreier Date: Sun Oct 14 20:17:39 2007 -0700 mlx4_core: Kill mlx4_write64_raw() It's a leftover from development that's never used in the real driver. Signed-off-by: Roland Dreier commit ace3dff5b7f0bf5a647e60dcd0c0a7d46792f5d9 Author: Xavier Bachelot Date: Mon Oct 15 11:09:35 2007 +1000 via invalid device ids removal 0x1106, 0x7204 is unknown and thus is not an IGP/GPU. 0x1106, 0x3304 is K8M800 hostbridge, not an IGP/GPU. None of them are in drm git tree. Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit eed0f722b3fccb1eb2706b5f484cb511d46f70b8 Author: chaohong guo Date: Mon Oct 15 10:45:49 2007 +1000 radeon: Commit the ring after each partial texture upload blit. This makes sure each blit starts as early as possible, which may improve texture upload performance in some cases. Signed-off-by: Dave Airlie commit 54583bf4efda79388fc13163e35c016c8bc5de81 Author: Dave Airlie Date: Sun Oct 14 21:21:30 2007 +1000 i915: fix vbl swap allocation size. Oops... Signed-off-by: Dave Airlie commit c153f45f9b7e30289157bba3ff5682291df16caa Author: Eric Anholt Date: Mon Sep 3 12:06:45 2007 +1000 drm: Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE. The data is now in kernel space, copied in/out as appropriate according to t This results in DRM_COPY_{TO,FROM}_USER going away, and error paths to deal with those failures. This also means that XFree86 4.2.0 support for i810 DR is lost. Signed-off-by: Dave Airlie commit b589ee5943a9610ebaea6e4e3433f2ae4d812b0b Author: Dave Airlie Date: Tue Aug 28 15:16:47 2007 +1000 drm: remove XFREE86_VERSION macros. These are no longer needed or being used. Signed-off-by: Dave Airlie commit 6c340eac0285f3d62406d2d902d0e96fbf2a5dc0 Author: Eric Anholt Date: Sat Aug 25 20:23:09 2007 +1000 drm: Replace filp in ioctl arguments with drm_file *file_priv. As a fallout, replace filp storage with file_priv storage for "unique identifier of a client" all over the DRM. There is a 1:1 mapping, so this should be a noop. This could be a minor performance improvement, as everyth on Linux dereferenced filp to get file_priv anyway, while only the mmap ioct went the other direction. Signed-off-by: Dave Airlie commit 20caafa6ecb2487d9b223aa33e7cc704f912a758 Author: Eric Anholt Date: Sat Aug 25 19:22:43 2007 +1000 drm: Remove DRM_ERR OS macro. This was used to make all ioctl handlers return -errno on linux and errno on *BSD. Instead, just return -errno in shared code, and flip sign on return f shared code to *BSD code. Signed-off-by: Dave Airlie commit bdc3e603cda3433c2ccc2069d28f7f3cd319cfc6 Author: Jesper Juhl Date: Mon Oct 15 10:24:05 2007 +1000 fix use after free in amd create gatt pages Coverity spotted a "use after free" bug in drivers/char/agp/amd-k7-agp.c::amd_create_gatt_pages(). The problem is this: If "entry = kzalloc(sizeof(struct amd_page_map), GFP_KERNEL);" fails, then there's a loop in the function to free all entries allocated so far and break out of the allocation loop. That in itself is pretty sane, but then the (now freed) 'tables' is assigned to amd_irongate_private.gatt_pages and 'retval' is set to -ENOMEM which causes amd_free_gatt_pages(); to be called at the end of the function. The problem with this is that amd_free_gatt_pages() will then loop 'amd_irongate_private.num_tables' times and try to free each entry in tables[] - this is bad since tables has already been freed and furthermore it will call kfree(tables) at the end - a double free. This patch removes the freeing loop in amd_create_gatt_pages() and instead relies entirely on the call to amd_free_gatt_pages() to free everything we allocated in case of an error. It also sets amd_irongate_private.num_tables to the actual number of entries allocated instead of just using the value passed in from the caller - this ensures that amd_free_gatt_pages() will only attempt to free stuff that was actually allocated. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit a2721e998ede079db10f65e4b42310f79dc8f135 Author: Dave Airlie Date: Mon Oct 15 10:19:16 2007 +1000 AGP fix race condition between unmapping and freeing pages With Andi's clflush fixup, we were getting hangs on server exit, flushing the mappings after freeing each page helped. This showed up a race condition where the pages after being freed could be reused before the agp mappings had been flushed. Flushing after each single page is a bad thing for future drm work, so make the page destroy a two pass unmapping all the pages, flushing the mappings, and then destroying the pages. Signed-off-by: Dave Airlie Signed-off-by: Andrew Morton commit 23fd50450a34f2558070ceabb0bfebc1c9604af5 Author: David Brownell Date: Sun Oct 14 14:50:25 2007 -0700 Fix compile while compiling drivers/mmc/host/mmc_spi.o with !BLOCK Make sure the mmc_spi driver can build without CONFIG_BLOCK. Issue noted by "Avuton Olrich" and randconfig. While that won't be a common configuration, sometimes embedded boards use SDIO to interface WLAN or Bluetooth chips (vs some parallel interface), and don't provide an MMC/SD socket for use with flash memory cards. Signed-off-by: David Brownell Signed-off-by: Linus Torvalds commit 5c0d6b34d6ee11ff979cbdac9a59b47a74cb9f43 Author: Stephen Hemminger Date: Sun Oct 14 13:25:22 2007 -0700 sky2: reboot fix The call to napi_disable() in the PCI shutdown handler is problematic, and is aggravated by the new NAPI. Also, make sure watchdog timer doesn't go off. Signed-off-by: Stephen Hemminger Signed-off-by: Linus Torvalds commit 89039b37be7c34194db0e72f956a5f02cfa30941 Author: Thomas Gleixner Date: Sun Oct 14 22:57:45 2007 +0200 x86: force timer broadcast on late AMD C1E detection The 64bit SMP bootup is slightly different to the 32bit one. It enables the boot CPU local APIC timer before all CPUs are brought up. Some AMD C1E systems have the C1E feature flag only set in the secondary CPU. Due to the early enable of the boot CPU local APIC timer the APIC timer is registered as a fully functional device. When we detect the wreckage during the bringup of the secondary CPU, we need to force the boot CPU into broadcast mode. Check the C1E caused APIC timer disable, when the secondary APIC timer is initialized. If the boot CPU APIC timer was registered as a functional clock event device, then fix this up and utilize the CLOCK_EVT_NOTIFY_BROADCAST_FORCE mechanism to force the already registered boot CPU APIC timer into broadcast mode. Tested by force injecting the failure mode. Signed-off-by: Thomas Gleixner commit 3ac508be76bf4ef5861365d9f337f990d523be8f Author: Thomas Gleixner Date: Sun Oct 14 22:57:45 2007 +0200 x86: move local APIC timer init to the end of start_secondary() Preparatory patch for the AMD C1E wreckage fixup. Signed-off-by: Thomas Gleixner commit 1595f452f3d8daa066bfd3ba4120754bed3329e1 Author: Thomas Gleixner Date: Sun Oct 14 22:57:45 2007 +0200 clockevents: introduce force broadcast notifier The 64bit SMP bootup is slightly different to the 32bit one. It enables the boot CPU local APIC timer before all CPUs are brought up. Some AMD C1E systems have the C1E feature flag only set in the secondary CPU. Due to the early enable of the boot CPU local APIC timer the APIC timer is registered as a fully functional device. When we detect the wreckage during the bringup of the secondary CPU, we need to force the boot CPU into broadcast mode. Add a new notifier reason and implement the force broadcast in the clock events layer. Signed-off-by: Thomas Gleixner commit b097976e8d6f6e6220161fa6b72b0798ce9f4f4c Author: Dave Jones Date: Sun Oct 14 22:57:45 2007 +0200 x86: fix missing include for vsyscall > Maybe I just picked a bad time to try, but... > > arch/x86/kernel/alternative.c: In function 'apply_alternatives': > arch/x86/kernel/alternative.c:191: error: 'VSYSCALL_START' undeclared (first use in this function) > arch/x86/kernel/alternative.c:191: error: (Each undeclared identifier is reported only once > arch/x86/kernel/alternative.c:191: error: for each function it appears in.) > arch/x86/kernel/alternative.c:191: error: 'VSYSCALL_END' undeclared (first use in this function) > make[1]: *** [arch/x86/kernel/alternative.o] Error 1 > make: *** [arch/x86/kernel] Error 2 Try this. Include missing header for vsyscall. Signed-off-by: Dave Jones Signed-off-by: Thomas Gleixner commit 0c53c8e6eb456cde30f2305421c605713856abc8 Author: Sam Ravnborg Date: Sun Oct 14 22:26:53 2007 +0200 kbuild: check for wrong use of CFLAGS External modules have in a few cases modifed gcc option by modifying CFLAGS. This has never been documented and was a bad practice. With the check to use KBUILD_CFLAGS it will no longer work so we better error out and tell what was wrong as a service to the external module users. This check can be overruled if KBUILD_NOPEDANTIC is set to something. Addid this possibility may allow older external module to build without any code modifications but potentially only loosing some un-important gcc options. Signed-off-by: Sam Ravnborg commit a0f97e06a43cf524e616f09e6af3398e1e9c1c5b Author: Sam Ravnborg Date: Sun Oct 14 22:21:35 2007 +0200 kbuild: enable 'make CFLAGS=...' to add additional options to CC The variable CFLAGS is a wellknown variable and the usage by kbuild may result in unexpected behaviour. On top of that several people over time has asked for a way to pass in additional flags to gcc. This patch replace use of CFLAGS with KBUILD_CFLAGS all over the tree and enabling one to use: make CFLAGS=... to specify additional gcc commandline options. One usecase is when trying to find gcc bugs but other use cases has been requested too. Patch was tested on following architectures: alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k Test was simple to do a defconfig build, apply the patch and check that nothing got rebuild. Signed-off-by: Sam Ravnborg commit 9a39e273d4df0560c724c5fe71f6314a0583ca2b Author: Sam Ravnborg Date: Sun Oct 14 21:49:42 2007 +0200 kbuild: fix up CFLAGS usage Only in very rare cases is it needed to change CFLAGS outside of arch/*/Makefile. Fix up all wrong cases - in most cases the use of EXTRA_CFLAGS is the only thing needed. Signed-off-by: Sam Ravnborg commit 7441dd12e607651128e676866630a848b664d6e7 Author: Martin Bachem Date: Sun Oct 14 18:10:30 2007 +0200 hisax: hfc_usb: update to current CVS version - killed paranoid NULL Pointer check - human readable LED states - support for "Eicon DIVA USB 4.0" (0x071d/0x1005) Signed-off-by: Martin Bachem Signed-off-by: Linus Torvalds commit 325a80715f6dba4b12479f8bb011d96093a47374 Author: Al Viro Date: Sun Oct 14 19:41:29 2007 +0100 ipg: endianness fixes if your mask is host-endian, you should apply it after le64_to_cpu(); if it's little-endian - before. Doing both (for the same mask and little-endian value) is broken. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 857e37dc367142f25836fac42e045f08114bd4be Author: Al Viro Date: Sun Oct 14 19:41:19 2007 +0100 ipg: endianness annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit f53f4137baedc1be179880d35f390e20445428ba Author: Al Viro Date: Sun Oct 14 19:41:09 2007 +0100 fix endianness bug in inet_lro all uses of and almost all assignments to lro_desc->tcp_ack assume that it's net-endian; one converts net-endian to host-endian and sticks it in lro_desc->tcp_ack. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 9df7c98a0f7e0b7f4b547761ab64f39a13f20355 Author: Al Viro Date: Sun Oct 14 19:40:59 2007 +0100 inet_lro: trivial endianness annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit d9a19d200f00533b56fb109b6c538b6ea2961ab2 Author: Al Viro Date: Sun Oct 14 19:40:49 2007 +0100 hamradio: ->hard_header() takes packet type in host-endian Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit fa8a4b63da9886a40d5a67529a2b7282ca9b8fd2 Author: Al Viro Date: Sun Oct 14 19:40:39 2007 +0100 more tulip endianness annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit eb4d84f18598211ccfdecc0a7f14a048cb86e657 Author: Al Viro Date: Sun Oct 14 19:36:10 2007 +0100 ibm_newemac annotations (iomem, NULL noise) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c6b44e50b8958d9bfe3003c81e70d9a53852ae52 Author: Al Viro Date: Sun Oct 14 19:36:00 2007 +0100 endianness annotations in arm io.h Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 5ba253313d014364a9b87b6fa975ce2fc9759aa6 Author: Al Viro Date: Sun Oct 14 19:35:50 2007 +0100 more low-hanging fruits - kernel, fs, lib signedness Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b4482a4b2e2ff5ed96d8d16d72e83e75064062c5 Author: Al Viro Date: Sun Oct 14 19:35:40 2007 +0100 more trivial signedness fixes in drivers Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 64a6f9500d8e8a8e1b1adc2120e56cc88df5727f Author: Al Viro Date: Sun Oct 14 19:35:30 2007 +0100 signedness: module_param_array nump argument ... should be unsigned int Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 64b33619a30ff18c1535ee779572ecffcc4711d2 Author: Al Viro Date: Sun Oct 14 19:35:20 2007 +0100 long vs. unsigned long - low-hanging fruits in drivers deal with signedness of the stuff passed to set_bit() et.al. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 0cc0844bc6d0bfca97fda48fa28d1f0a7cf878cb Author: Al Viro Date: Sun Oct 14 19:35:10 2007 +0100 frv: missing casts in cmpxchg() Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 51ef9c57f0be4945aa78b83d64aca34f41e351ce Author: Al Viro Date: Sun Oct 14 19:34:30 2007 +0100 synclink_gt endianness annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit bda76dd1600cc32a753bb9ae45dbe1d625aba92a Author: Al Viro Date: Sun Oct 14 19:35:00 2007 +0100 endian-clean in_le64/out_le64 Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b1519d047ca55406e0fc3dd2b8de266f971ea210 Author: Al Viro Date: Sun Oct 14 19:34:50 2007 +0100 fs/partitions/sun.c endianness annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 1ccc9147f6a063c42fef67acff34de18435a4a6b Author: Al Viro Date: Sun Oct 14 19:34:40 2007 +0100 fw-cdev __user annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit a39f9d028a48c9dfbc98e8c1504bf96578c65164 Author: Al Viro Date: Sun Oct 14 19:34:20 2007 +0100 mpc5200_wdt: __user annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 9d966d495c4ac2fcbd010f681425f67141f80bad Author: Al Viro Date: Sun Oct 14 19:34:10 2007 +0100 mm/migrate.c __user annotation Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 411223c01a51163e995dbc2679bf8e963a136a5f Author: Al Viro Date: Sun Oct 14 19:21:20 2007 +0100 fix breakage in sctp getsockopt copy_to_user() into on-stack array Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 47063d6b11fdeb166a323315a9e19f565b73d352 Author: Al Viro Date: Sun Oct 14 19:22:59 2007 +0100 remove duplicate initializer (macvlan) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit bef1bc95f32bd7603c3682dbb8695cf4d5841732 Author: Al Viro Date: Sun Oct 14 19:20:30 2007 +0100 skb->tail in ibm_newemac should be skb_tail_pointer() ... since that sucker is not 32bit-only and on 64bit skb->tail is an offset, not a pointer. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit a022fef5a2b19086b329d1cc64a5d78aa83e2908 Author: Mark M. Hoffman Date: Sun Oct 14 15:00:24 2007 -0400 hwmon: (vt8231) fix sparse warning Signed-off-by: Mark M. Hoffman commit 5460a9d0ffc860a370631e096a8a6f3682f3fc94 Author: Mark M. Hoffman Date: Sun Oct 14 14:57:35 2007 -0400 hwmon: (sis5595) fix sparse warning Signed-off-by: Mark M. Hoffman commit 8f2376adfb57d95973b64ecdf016937f436b9bf0 Author: Cyril Gorcunov Date: Sun Oct 14 17:58:43 2007 +0000 [CIFS] Fix endian conversion problem in posix mkdir Signed-off-by: Cyrill Gorcunov Signed-off-by: Steve French commit 5dd80d5d096f58b7a83ae493a20bfc9d0de30226 Author: Grant Likely Date: Sat Oct 13 22:37:02 2007 -0600 mpc52xx-uart: fix compile warning (format type mismatch) Trivial compile warning fix Signed-off-by: Grant Likely Signed-off-by: Linus Torvalds commit 80d4b4169e46949e1919d470ebc508cf4fbf0996 Author: Grant Likely Date: Sat Oct 13 22:36:57 2007 -0600 mpc52xx-ata: fix compile warning (unused variable) Trivial unused variable fix Signed-off-by: Grant Likely Signed-off-by: Linus Torvalds commit 86a2249d69ff8bb9ecadb5830c2fcfdf10dc70b9 Author: Grant Likely Date: Sat Oct 13 22:13:32 2007 -0600 XilinxFB: typo bugfix Signed-off-by: Grant Likely Signed-off-by: Linus Torvalds commit 24cf273e2b7186903c8842b9d0044ea442d31553 Author: Grant Likely Date: Sat Oct 13 22:13:27 2007 -0600 Lite5200 shouldn't mess with ROOT_DEV There is no good reason for board platform code to mess with the ROOT_DEV. Remove it from all in-tree platforms except powermac This is a follow on to commit 745e1027751acbc1f14f8bbef378b491242b9c83. The original patch had this change to lite5200.c, but it got dropped in the psycho madness that is the 2.6.24 merge window. Signed-off-by: Grant Likely Signed-off-by: Linus Torvalds commit 9ec0fd4e37c7167e4f9780d5834a1d1ed8263566 Author: Al Viro Date: Sun Oct 14 06:53:45 2007 +0100 more uevent fallout (drivers/base/memory.c) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 409f2435205803634b67210040d785455e807b58 Author: Al Viro Date: Sun Oct 14 05:51:51 2007 +0100 missing include in ssb Using readw() and friends => needs to pull io.h and not all targets are doing that via indirect chains. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 97be91c183275fbf3eb5e0a44b0c1a7a36ccc040 Author: Al Viro Date: Sun Oct 14 05:50:12 2007 +0100 typo in ibm_newemac/rgmii.c Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 7ac0326c3fd3f7cd2426dbbce896a0f8c91b962f Author: Al Viro Date: Sun Oct 14 05:46:09 2007 +0100 uevent environment changes fallout Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 709d27c04f4eccbc99d57a5569bce028915a4345 Author: Mariusz Kozlowski Date: Thu Sep 27 11:24:55 2007 +0200 HID: hidraw_connect() memleak fix It looks like hidraw_connect() is leaking memory in case of failure. Also it should return -ENOMEM when kzalloc fails. Signed-off-by: Mariusz Kozlowski Signed-off-by: Jiri Kosina commit 86166b7bcda0bcb53525114fa1c87ac432be478e Author: Jiri Kosina Date: Mon May 14 09:57:40 2007 +0200 HID: add hidraw interface hidraw is an interface that is going to obsolete hiddev one day. Many userland applications are using libusb instead of using kernel-provided hiddev interface. This is caused by various reasons - the HID parser in kernel doesn't handle all the HID hardware on the planet properly, some devices might require its own specific quirks/drivers, etc. hiddev interface tries to do its best to parse all the received reports properly, and presents only parsed usages into userspace. This is however often not enough, and that's the reason why many userland applications just don't use hiddev at all, and rather use libusb to read raw USB events and process them on their own. Another drawback of hiddev is that it is USB-specific. hidraw interface provides userspace readers with really raw HID reports, no matter what the low-level transport layer is (USB/BT), and gives the userland applications all the freedom to process the HID reports in a way they wish to. Signed-off-by: Jiri Kosina commit efc493f9d5463d933a64a2758fbe6d9bb8300cbb Author: Jiri Kosina Date: Mon May 14 09:54:30 2007 +0200 USB HID: provide hook for hidraw write() Add hook in usbhid for write() callback from hidraw. Sends the report to the device through control pipe. Signed-off-by: Jiri Kosina commit a2e1b833d9e0231d67e722b7e2f4d79daf919baf Author: Chris Paulson-Ellis Date: Fri Oct 12 10:54:06 2007 +0100 [MTD] fix mtdconcat for subpage-write NAND This allows the mtdconcat driver to work with NAND flash devices that support sub-page writes. Signed-off-by: Chris Paulson-Ellis Signed-off-by: David Woodhouse commit 3cd3a86b6fdcb80ad097850a0990bcf6251422fe Author: Adrian Hunter Date: Fri Oct 12 10:34:01 2007 +0300 [MTD] [OneNAND] Avoid deadlock in erase callback; release chip lock first. When the erase callback performs some other action on the flash, it's highly likely to deadlock unless we actually release the chip lock before calling it. This patch mirrors that same change already done for NAND. Signed-off-by: Adrian Hunter Signed-off-by: David Woodhouse commit 30a7eb298af849bae3050e0a3f4c130995da22b0 Author: Adrian Hunter Date: Fri Oct 12 10:19:38 2007 +0300 [MTD] [OneNAND] Return only negative error codes The OneNAND driver was confusing JFFS2 by returning positive error codes. Signed-off-by: Adrian Hunter Acked-by: Kyungmin Park Signed-off-by: David Woodhouse commit 34627f0e768de6af95e3523c29a16cbb95ce3197 Author: Adrian Hunter Date: Fri Oct 12 10:19:26 2007 +0300 [MTD] [OneNAND] Synchronize block locking operations Ensure OneNAND's block locking operations are synchronized like all other operations. Signed-off-by: Adrian Hunter Acked-by: Kyungmin Park Signed-off-by: David Woodhouse commit bb6c8d8fa9b5587eea18078ce0bcf6bb2905789f Author: Philip Langdale Date: Sun Oct 14 12:03:58 2007 +0200 HID: hiddev: Add 32bit ioctl compatibilty The hiddev driver currently lacks 32bit ioctl compatibility, so if you're running with a 64bit kernel and 32bit userspace, it won't work. I'm pretty sure that the only thing missing is a compat_ioctl implementation as all structs have fixed size fields. With this change I can use revoco to configure my MX Revolution mouse. Signed-off-by: Philip Langdale Signed-off-by: Jiri Kosina commit 446943593e6e2cb7133cb6c969afd4626c96a916 Author: Ilya Frolov Date: Thu Oct 11 14:21:23 2007 +0200 HID: Add GeneralTouch touchscreen to the blacklist GeneralTouch touchscreens are handled by usbtouchscreen driver, make sure HID ignores them. Signed-off-by: Ilya Frolov Signed-off-by: Dmitry Torokhov Signed-off-by: Jiri Kosina commit 3cc5f916050be1d1910c5dd5732110b0a8f27ac8 Author: Khelben Blackstaff Date: Thu Oct 4 10:35:41 2007 +0200 HID: add support for Microsoft Wireless Laser Keyboard 6000 This keyboard emits a few usages that are not handled properly by hid-input. Changed IS_MS_NEK4K macro to IS_MS_KB to reflect the addition of another keyboard. Signed-off-by: Khelben Blackstaff Signed-off-by: Jiri Kosina commit e2bca0749c3fef4e3eb39e8aaca7a0c923a70396 Author: Khelben Blackstaff Date: Thu Oct 4 10:32:03 2007 +0200 Input: add KEY_LOGOFF HUT 1.12 defines Logoff usage 0x19c in Consumer page. There are keyboards out there emitting this usage code (for example Microsoft Wireless Laser Keyboard 6000). Add this key so that HID code could map usages to it. Signed-off-by: Khelben Blackstaff Signed-off-by: Dmitry Torokhov Signed-off-by: Jiri Kosina commit 08f06177f4089abeba904cc12a2a50cffa9ffce6 Author: Tomoya Adachi Date: Wed Oct 3 23:27:49 2007 +0200 USBHID: report descriptor fix for MacBook JIS keyboard This patch fixes the problem, that Japanese MacBook doesn't recognize some keys like '\'(yen, or backslash), '|'(pipe), and '_'(underscore). It is due to that MacBook JIS keyboard (jp106) sends wrong report descriptor. It saids "logical maximum = 0x65", so Keyboard.0089 is mapped to Key.Unknown, while it should be accepted as Key.Yen. Signed-off-by: Tomoya Adachi Signed-off-by: Jiri Kosina commit 0ce1ac3b3ca0f44682aed210ba6062bafc2e32fa Author: Joe Perches Date: Wed Sep 26 16:29:53 2007 +0200 HID: trivial fixes in hid-debug - added KERN_DEBUG to output lines - fixed preffered -> preferred typo - added const to char *'s Also, exported symbol hid_resolv_event is unused by the current kernel tree and perhaps should be removed. Signed-off-by: Joe Perches Signed-off-by: Jiri Kosina commit f14d5d206cf84357a7072ddb2bbc7d3454639f11 Author: Jiri Kosina Date: Tue Sep 25 16:32:08 2007 +0200 HID: fix input mapping for Microsoft Ergonomic Keyboard Special keys 1-5 on Microsoft Ergonomic Keyboard were mistakenly mapped to buttons, which doesn't make a lot of sense. Fix this mapping to KEY_F{13,18}. Signed-off-by: Jiri Kosina commit 5edc41ee8717ef44f6f96347000c8f2c825c823e Author: Anssi Hannula Date: Wed Sep 19 16:13:20 2007 +0200 HID: use hid-plff driver for GreenAsia 0e8f:0003 devices Add 0e8f:0003 into the list of devices supported by the hid-plff force feedback driver. These devices identify themselves as "GreenAsia Inc. USB Joystick " and can be either adapters or actual game controllers. The testing was done with a Köng Gaming gamepad. Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit d500d11615db64b99c24f92c07427879581fde4b Author: Mike Crowe Date: Fri Sep 14 10:18:07 2007 +0200 USBHID: Add HID_QUIRK_NOGET for ELO Touch Screen 2700 display Use HID_QUIRK_NOGET for the ELO TS2700 touch screen USB HID device in order to avoid a timeout during initialisation. Signed-off-by: Mike Crowe Signed-off-by: Jiri Kosina commit 0ce91cf9ce23127932e8b5241d8a7d2bf62df017 Author: Stelian Pop Date: Tue Sep 11 23:34:55 2007 +0200 HID: enable hiddev for the SantaRosa MacBookPro IR receiver The infrared remote receiver found in the SantaRosa MacBookPro laptops (MacBookPro3,1) need to be forced to expose a HIDDEV interface (instead of HIDINPUT) so that lirc can access it using the 'macmini' driver. The patch below adds the required quirk for forcing the HIDDEV interface to be activated (HID_QUIRK_HIDDEV) and introduces a new quirk which forces the HIDINPUT interface to be ignored (HID_QUIRK_IGNORE_HIDINPUT). Note that Apple calls this receiver 'IRController4' (info taken from Apple's driver Info.plist). Older Mac{Book,Mini,Pro}s seem to all use the 'IRController1' device (USB id 05ac:8240) which doesn't need those quirks. Signed-off-by: Stelian Pop Signed-off-by: Jiri Kosina commit c4025aded3eab4a50d5070d96ae3a46a25bdc59d Author: Alfred E. Heggestad Date: Wed Aug 29 15:53:03 2007 +0200 USBHID: add CM109 device to blacklist There is a separate driver cm109 for handling this device. Signed-off-by: Alfred E. Heggestad Signed-off-by: Jiri Kosina commit c01d50d181f074a60bf3ed54eb055ce1679afb98 Author: Jiri Kosina Date: Mon Aug 20 12:13:34 2007 +0200 HID: Report usage codes of keys as EV_MSC scancode events Current HID layer does not report usage codes to the input layer. This feature was previously removed, because it caused unnecessary storm of events in cases of positioning devices, etc. This patch adds reporting of usage codes as EV_MSC events only for key events. We issue the EV_MSC event only if the state of the key corresponding to the given code has changed, so that we don't report usages that are sent in every report even if the state hasn't changed (for example Shift/Caps Lock/... states as sent by various keyboards). This functionality is required at least by KeyTouch in order to provide convenient means for remapping the usage codes. Cc: Marvin Raaijmakers Signed-off-by: Jiri Kosina commit 82eb121989c06e3de33b56ade1fa52c9e86c014e Author: Jiri Kosina Date: Sat Aug 11 23:39:42 2007 +0200 HID: ignore all non-LED usages in output fields in hid-input We have to ignore all non-LED usages in output fields if the report descriptor of the device specifies any. If we don't do so, the devices which contain the same usages both in input and output reports with different parameters will mess things up. In hid-input, we currently care only for the input usages, with exception for LEDs. All other output usages should be properly handled by appropriate force-feedback driver. Fixes auto-calibration for Saitek Cyborg Evo Force joystick. Reported-by: Renato Golin Signed-off-by: Jiri Kosina commit 77b296629d6e938e68de40195a9d500f209f6d10 Author: Jiri Kosina Date: Thu Aug 9 14:04:56 2007 +0200 HID: fix whitespace damage Fixes some trivial whitespace damage in hid-input.c Signed-off-by: Jiri Kosina commit b27c9590ca0f44681fe2504a7ec427ff1bb77e82 Author: Dmitry Torokhov Date: Mon Jul 30 14:56:26 2007 +0200 HID: add support for Thrustmaster FGT Force Feedback wheel Rework thrustmaster force-feedback module to support devices having different types of force feedback effects. Add signatures of Thrustmaster FGT Rumble Force and Thrustmaster FGT Force Feedback wheels to the list of devices dupported by the module. Parts of the patch were lifted off a simalar patch by Anssi Hannula Signed-off-by: Dmitry Torokhov Signed-off-by: Jiri Kosina commit 933e3187d0042d9381d932757dc1f931d984e56d Author: Oliver Neukum Date: Wed Jul 11 14:48:58 2007 +0200 HID: minimal autosuspend support for USB HID devices Autosuspend for USB HID devices remains problematic as far as mice and keyboards are concerned. While I am working on a grand solution, here's a minimalist patch that works for those devices not continously in use. Signed-off-by: Oliver Neukum Signed-off-by: Jiri Kosina commit 1fe8736da695c2b14961438c73d5600538bd92d9 Author: Jiri Kosina Date: Thu Aug 9 13:24:11 2007 +0200 HID: add support for Microsoft Natural Ergonomic Keyboard 4000 This keyboard emits a few usages that are not handled properly by hid-input. The usages from MSVENDOR page are colliding with Chicony Tactical Pad device, so we have to distinguish in runtime. Ugly ... Also, the buttons 1-5 have to be handled in a non-standard way, as they are emitted by the keyboard in a bitfield-like fashion, but the field is not presented as bit-field by the keyboard. The keys can't be pressed simultaneously, so the handling we have is correct. This patch also extends hid_keyboard[] with KPLeftParenthesis and KPRightParenthesis as defined by Keyboard page in HUT 1.12. The corresponding usages are also emitted by this keyboard. Signed-off-by: Jiri Kosina commit 4dc21a8005216ee3784df545f028775242c6f499 Author: Jiri Kosina Date: Wed Aug 8 17:19:08 2007 +0200 Input: add KEY_SPELLCHECK HUT 1.12 defines Spell Check usage 0x1ab in Consumer page. There are keyboards out there emitting this usage code (for example Microsoft Natural Ergonomic Keyboard 4000). Add this key so that HID code could map usages to it. Acked-by: Dmitry Torokhov Signed-off-by: Jiri Kosina commit cc5f4f28755b3b152297fd7bc3e03781dd8008e2 Author: Artem Bityutskiy Date: Sun Oct 14 13:01:58 2007 +0300 UBI: return correct error code Fix the following warning: drivers/mtd/ubi/eba.c: In function 'ubi_eba_init_scan': drivers/mtd/ubi/eba.c:1116: warning: 'err' may be used uninitialized in this function Pointed-to-by: Andrew Morton Signed-off-by: Artem Bityutskiy commit 5abde384e350e44e9d0584238b9ee327f2062f93 Author: Artem Bityutskiy Date: Thu Sep 13 14:48:20 2007 +0300 UBI: remove useless inlines Signed-off-by: Artem Bityutskiy commit e8823bd63d50bb1f9bd73f1197230e1f7217456a Author: Artem Bityutskiy Date: Thu Sep 13 14:28:14 2007 +0300 UBI: fix atomic LEB change problems When the UBI device is nearly full, i.e. all LEBs are mapped, we have only one spare LEB left - the one we reserved for WL purposes. Well, I do not count the LEBs which were reserved for bad PEB handling - suppose NOR flash for simplicity. If an "atomic LEB change operation" is run, and the WL unit is moving a LEB, we have no spare LEBs to finish the operation and fail, which is not good. Moreover, if there are 2 or more simultanious "atomic LEB change" requests, only one of them has chances to succeed, the other will fail with -ENOSPC. Not good either. This patch does 2 things: 1. Reserves one PEB for the "atomic LEB change" operation. 2. Serealize the operations so that only on of them may run at a time (by means of a mutex). Pointed-to-by: Brijesh Singh Signed-off-by: Artem Bityutskiy commit 6986646ba752fef150286926aa922ef04e9d19dd Author: Artem Bityutskiy Date: Wed Aug 29 14:56:20 2007 +0300 UBI: use byte hexdump More handy since word hexdump prints in host endian. Signed-off-by: Artem Bityutskiy commit e88d6e10e5c848fd5be8f89e09e3bce2570886b7 Author: Artem Bityutskiy Date: Wed Aug 29 14:51:52 2007 +0300 UBI: do not use vmalloc on I/O path Similar reason as in case of the previous patch: it causes deadlocks if a filesystem with writeback support works on top of UBI. So pre-allocate needed buffers when attaching MTD device. We also need mutexes to protect the buffers, but they do not cause much contantion because they are used in recovery, torture, and WL copy routines, which are called seldom. Signed-off-by: Artem Bityutskiy commit 33818bbb84cd371b63ed8849cc5264d24c8b3aa2 Author: Artem Bityutskiy Date: Tue Aug 28 21:29:32 2007 +0300 UBI: allocate memory with GFP_NOFS Use GFP_NOFS flag when allocating memory on I/O path, because otherwise we may deadlock the filesystem which works on top of us. We observed the deadlocks with UBIFS. Example: VFS->FS lock a lock->UBI->kmalloc()->VFS writeback->FS locks the same lock again. Signed-off-by: Artem Bityutskiy commit ef6075fbfca9139f428d52d60e671da38aa2e212 Author: Artem Bityutskiy Date: Tue Aug 7 23:34:20 2007 +0300 UBI: use linux print_hex_dump(), not home-grown one Signed-off-by: Artem Bityutskiy commit 0169b49d52400a6035cd0f2ccd08bcba061a1a9b Author: Jesper Juhl Date: Sat Aug 4 01:25:26 2007 +0200 UBI: don't use array index before testing if it is negative I can't find anything guaranteeing that 'ubi_num' cannot be <0 in drivers/mtd/ubi/kapi.c::ubi_open_volume(), and in fact the code even tests for that and errors out if so. Unfortunately the test for "ubi_num < 0" happens after we've already used 'ubi_num' as an array index - bad thing to do if it is negative. This patch moves the test earlier in the function and then moves the indexing using that variable after the check. A bit safer :-) Signed-off-by: Jesper Juhl Signed-off-by: Artem Bityutskiy commit 8d2d4011f1398d984819c65043abb559c451a3c8 Author: Artem Bityutskiy Date: Sun Jul 22 22:32:51 2007 +0300 UBI: add more prints I hit those situations and found out lack of print messages. Add more prints when erase problems occur. Signed-off-by: Artem Bityutskiy commit 8bc22961966b845aa5f965be30771902146c2fcc Author: Artem Bityutskiy Date: Sun Jul 22 15:25:02 2007 +0300 UBI: fix sparse warnings Fix "symbol shadows an earlier one" warnings. Although they are harmless but it does not hurt to fix them and make sparse happy. Signed-off-by: Artem Bityutskiy commit dcec4c3bdc4d5f4bd2d858ee1ce11e3424cbaed7 Author: Florin Malita Date: Thu Jul 19 15:22:41 2007 -0400 UBI: fix leak in ubi_scan_erase_peb Coverity (1769) found the following problem: if the erase counter overflow check triggers, ec_hdr is leaked. Moving the allocation after the overflow check should take care of it. Signed-off-by: Florin Malita Signed-off-by: Artem Bityutskiy commit 45b3f4cc6025bdb14beb65b8a3a732bf55d1bc41 Author: David S. Miller Date: Sat Oct 13 23:52:14 2007 -0700 [SPARC64]: virt_to_real_irq_table --> virt_irq_table It no longer translates to "real irqs" (aka. INO buckets) so reflect that by using a simpler name for it. Signed-off-by: David S. Miller commit 256c1df36bbec6530c6f9b5a840cc5e87315c19e Author: David S. Miller Date: Sat Oct 13 23:50:38 2007 -0700 [SPARC64]: virt_irq --> bucket mapping no longer necessary We used to need this to compute virt_irq --> ino, but that is no longer necessary. Signed-off-by: David S. Miller commit 771823007fa2acb15a726e7e1f8502d4f350b1fa Author: David S. Miller Date: Sat Oct 13 23:41:28 2007 -0700 [SPARC64]: Kill ugly __bucket() macro. All the users go through virt_irq_to_bucket() and essentially want to go from a virt_irq to an INO, but we have a way to do that already via virt_to_real_irq_table[].dev_ino. This also allows us to kill both virt_to_real_irq() and virt_irq_to_bucket(). Signed-off-by: David S. Miller commit bb74b734a68544ad8f1537a33a7e22c73c87ed1c Author: David S. Miller Date: Sat Oct 13 23:27:48 2007 -0700 [SPARC64]: Kill ugly __irq_ino() macro. We have a place to stick INO information in the virt_to_real_irq_table[], which is currently only used for VIRQs. And that is readily accessible from the one __irq_ino() call site. Signed-off-by: David S. Miller commit 42d5f99b1d801b87c45c87d7392f610d5aef351b Author: David S. Miller Date: Sat Oct 13 23:03:21 2007 -0700 [SPARC64]: Only use bypass accesses to INO buckets. Signed-off-by: David S. Miller commit f14356de1c9eef6cd7ca9679457d8f5f2411f617 Author: David S. Miller Date: Sat Oct 13 21:54:12 2007 -0700 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit b80e6998120eecec00781658bc43702494117ea8 Author: David S. Miller Date: Sat Oct 13 21:51:37 2007 -0700 [SPARC64]: Use sun4v VIRQ interfaces as intended. We were simply concatenating the devhandle and devino and using that as the cookie, which defeats the entire purpose of the VIRQ hypervisor interfaces. Now that we use physical addresses for the INO buckets, we can allocate them dynamically for VIRQs and encode the cookies as ~__pa(bucket). This allows us to test for and decode the cookie with a simple: brlz $reg1, 1f xnor $reg1, %g0, $reg2 sequence. This works because bit 64 is never set in traditional INO vectors, and it is also never set in a physical address. So xnor'ing the physical address of the bucket always gives us a negative number, and thus a unique condition we can test cheaply. Inspired by ideas from Greg Onufer. Signed-off-by: David S. Miller commit 10397e4069bbcc8219537e7c1e0d6a6935432156 Author: David S. Miller Date: Sat Oct 13 21:43:31 2007 -0700 [SPARC64]: Allocate ivector_table dynamically. Shrinks kernel by 16K compared to before the IVEC physical address changes. Signed-off-by: David S. Miller commit eb2d8d60327bec172ec80efbda94d0c492088204 Author: David S. Miller Date: Sat Oct 13 21:42:46 2007 -0700 [SPARC64]: Access ivector_table[] using physical addresses. Signed-off-by: David S. Miller commit a650d3839e7a68321e5b76264398a63019b0928b Author: David S. Miller Date: Fri Oct 12 02:59:40 2007 -0700 [SPARC64]: Make IVEC pointers 64-bit. Currently we chain IVEC entries using 32-bit "pointers" because we know that the ivector_table is in the main kernel image, thus below 4GB. This uses proper 64-bit pointers instead. Whilst this bloats up the kernel image size, this sets the infrastructure necessary to significantly shrink the kernel size by using physical addresses and dynamically allocating the ivector table. Signed-off-by: David S. Miller commit d060db63fd38a8a75f666576ef9999c28cdc31cf Author: David S. Miller Date: Fri Oct 12 01:52:19 2007 -0700 [SPARC64]: Fix register usage in xor_raid_4(). Some typos led to using %i6/%i7 instead of %l6/%l7 in loads which is really really bad because those are the frame pointer and return PC. Based upon a raid5 crash report by Bertrand Joel. Signed-off-by: David S. Miller commit bbe0b5eb578155e4e716c8cf5b23ba67bab338e2 Author: David S. Miller Date: Thu Oct 11 15:41:01 2007 -0700 [SPARC64]: Kill pci_memspace_mask. It is totally unnecessary as the needed information is properly encoded in the resources. Signed-off-by: David S. Miller commit 759f89e03c9e5656ff18c02e21b439506f7c0cdc Author: David S. Miller Date: Thu Oct 11 03:16:13 2007 -0700 [SPARC64]: Consolidate MSI support code. This also makes us use the MSI queues correctly. Each MSI queue is serviced by a normal sun4u/sun4v INO interrupt handler. This handler runs the MSI queue and dispatches the virtual interrupts indicated by arriving MSIs in that MSI queue. All of the common logic is placed in pci_msi.c, with callbacks to handle the PCI controller specific aspects of the operations. This common infrastructure will make it much easier to add MSG support. Signed-off-by: David S. Miller commit a2cd15586e630b0870bf34783568d83901890743 Author: Stephen Rothwell Date: Wed Oct 10 23:27:34 2007 -0700 [SPARC/64]: Move of_platform_driver initialisations: arch/sparc{,64}. We no longer initialise the name field of the of_platform_driver, but use the name field of the embedded device_driver's name field instead. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 7379b42b607782695f49d05c80d3eb99e5072908 Author: David S. Miller Date: Tue Oct 9 20:56:31 2007 -0700 [SPARC64]: Fix bugs in SYSV IPC handling in 64-bit processes. Thanks to Tom Callaway for the excellent bug report and test case. sys_ipc() has several problems, most to due with semaphore call handling: 1) 'err' return should be a 'long' 2) "union semun" is passed in a register on 64-bit compared to 32-bit which provides it on the stack and therefore by reference 3) Second and third arguments to SEMCTL are swapped compared to 32-bit. Signed-off-by: David S. Miller commit fa7744dbb69c06b69c7449063c440d8a53df9e6c Author: Stephen Rothwell Date: Thu Sep 27 13:21:43 2007 -0700 [SPARC/64]: Prepare to remove of_platform_driver name. The name field of of_platform_driver is just copied into the included device_driver. By not overriding an already initialised device_driver name, we can convert the drivers over time to stop using the of_platform_driver name. Also we were not copying the owner field from of_platform_driver, so do the same with it. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit e8dd16129fad13e5b8b05b6a0a02d10d06f30301 Author: Robert Reif Date: Thu Sep 27 13:15:31 2007 -0700 [SPARC32]: Add irqflags.h to sparc32 and use it from generic code. Added asm-sparc/irqflags.h and moved irq related code from system.h to it. Renamed local_irq functions to raw_local_irq in irq.c. Modified system.h to include linux/irqflags.h which includes asm/irqflags.h. Added TRACE_IRQFLAGS_SUPPORT to Kconfig.debug. This is the first step in adding IRQ-flags state tracing as outlined in Documentation/irqflags-tracing.txt. These changes should be harmless because they just move things around and rename them. The next step is making the lowlevel entry code modifications which to be honest are beyond my capabilities at this point. Boot tested on an ss20 running an SMP kernel. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 72be7e542c67a5a134e99ba19d1846498ef8f9d2 Author: Sam Ravnborg Date: Mon Sep 17 19:02:57 2007 -0700 [SPARC64]: beautify vmlinux.lds Apply a consistent format to vmlinux.lds. The file is now to some degree readable. In addition move several labels inside the braces such that they reflect the actual start address of a section. Without this the label would not reflect if ld added alignment. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit bcbe40ebdd6ab832793448c8e611cfa904968e9a Author: Sam Ravnborg Date: Mon Sep 17 19:02:30 2007 -0700 [SPARC]: beautify vmlinux.lds Make vmlinux.lds almost readable. When going through the file fixed the following: - Use PAGE_SIZE as replacement for hardcoded 4096 - Moves label definitions inside {} to avoid ld alignment that may be added between label and section Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 9bb3c227c47b23280eb50fac0872d96ef3e160a7 Author: David S. Miller Date: Thu Aug 30 22:33:25 2007 -0700 [SPARC64]: Enable MSI on sun4u Fire PCI-E controllers. The support code is identical to the hypervisor sun4v stuff, just replacing the hypervisor calls with register reads and writes in the Fire controller. Signed-off-by: David S. Miller commit f9c97e5d7cd9ff5e51e16d5db08d7e54fa4cb6bb Author: Krzysztof Helt Date: Sun Aug 5 18:06:52 2007 -0700 [FFB]: source cleanup This patch cleans up the driver a bit. It contains coding style fixes (pointed by Lindent and checkpatch) and white space clean ups. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit a140e94d92f82db7406e116b63e78bd024907657 Author: Krzysztof Helt Date: Sun Aug 5 18:05:29 2007 -0700 [CG6]: accelerated copyarea This patch adds accelerated copyarea and sets READS_FAST flag. This doubles scrolling speed on SparcStation20 85MHz. It also fixes a comment in cg6_fillrect function. Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 6993bea1b6ff49312f19339b3469db5887dfd633 Author: Krzysztof Helt Date: Sun Aug 5 18:04:18 2007 -0700 [CG6]: code cleanup This patch: - corrects coding style errors pointed by Lindent and checkpatch - replaces space chunks with tabs - removes one redundant include - improves indentations of defines - removes from comments leftovers from skeletonfb - adds __devinit attribute to two init functions Signed-off-by: Krzysztof Helt Signed-off-by: David S. Miller commit 4735b37cf434175c2b7b36b3b68f1e60e8ec8527 Author: Al Viro Date: Sat Oct 13 22:29:47 2007 +0100 Fix ohci-ssb with !CONFIG_PM ohci_bus_{suspend,resume} exists only if we have CONFIG_PM; do the same thing as other subdrivers... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit d58df9cd788e6fb4962e1c8d5ba7b8b95d639a44 Author: Jean Delvare Date: Wed Oct 10 16:30:23 2007 +0200 hwmon: (w83627hf) don't assume bank 0 The bank switching code assumes that the bank selector is set to 0 when the driver is loaded. This might not be the case. This is exactly the same bug as was fixed in the w83627ehf driver two months ago: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0956895aa6f8dc6a33210967252fd7787652537d In practice, this bug was causing the sensor thermal types to be improperly reported for my W83627THF the first time I was loading the w83627hf driver. From the driver history, I'd say that it has been broken since September 2005 (when we stopped resetting the chip by default at driver load.) Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 14358e6ddaed27499d7d366b3e65c3e46b39e1c4 Author: Peter Zijlstra Date: Sun Oct 14 01:38:33 2007 +0200 lockdep: annotate dir vs file i_mutex On Mon, 2007-09-24 at 22:13 -0400, Steven Rostedt wrote: > The circular lock seems to be this: > > #1: > > sys_mmap2: down_write(&mm->mmap_sem); > nfs_revalidate_mapping: mutex_lock(&inode->i_mutex); > > > #0: > > vfs_readdir: mutex_lock(&inode->i_mutex); > - during the readdir (filldir64), we take a user fault (missing page?) > and call do_page_fault - > do_page_fault: down_read(&mm->mmap_sem); > > > So it does indeed look like a circular locking. Now the question is, "is > this a bug?". Looking like the inode of #1 must be a file or something > else that you can mmap and the inode of #0 seems it must be a directory. > I would say "no". > > Now if you can readdir on a file or mmap a directory, then this could be > an issue. > > Otherwise, I'd love to see someone teach lockdep about this issue! ;-) Make a distinction between file and dir usage of i_mutex. The inode should be complete and unused at unlock_new_inode(), re-init i_mutex depending on its type. Signed-off-by: Peter Zijlstra commit d475fd428ce77aa2a8bc650d230e17663a4f49c3 Author: Peter Zijlstra Date: Mon Oct 15 14:51:31 2007 +0200 lockdep: per filesystem inode lock class Give each filesystem its own inode lock class. The various filesystems have different locking order wrt the inode locks; esp. the pseudo filesystems differ from the rest. Signed-off-by: Peter Zijlstra commit ac3f5753ea37d55c85aaf96211c13038fcc69aef Author: Jean Delvare Date: Sat Oct 13 23:56:33 2007 +0200 i2c-nforce2: Declare PEC as supported The i2c-nforce2 driver has SMBus PEC support, so it should say so. Signed-off-by: Jean Delvare commit d49584c4a37c7228e7778bcb60f79e7a08472fa8 Author: Oleg Ryjkov Date: Sat Oct 13 23:56:33 2007 +0200 i2c-nforce2: Abort the transaction on error This patch is to add an abort function that will bring back the MCP51/55 controller if it was blocked by a block-read operation, in particular. (When a slave sends a wrong byte count on a byte read, the host gets locked up). I've only tested it on an MCP51 and MCP55. However, I'm almost certain it will also work on MCP65, I just did not have the board to test it on. Thus for now the abort function will only be called if an MCP51/55 was detected. Signed-off-by: Oleg Ryjkov Signed-off-by: Jean Delvare commit 4153549734cbdba24e9cf5eb200b70b7b1572e15 Author: Oleg Ryjkov Date: Sat Oct 13 23:56:33 2007 +0200 i2c-nforce2: Move status checking to a separate function This is the first part of the patch that adds a function to reset the nvidia MCP51/55 i2c controller, if something bad happens to it (e.g. a slave sends a wrong byte count during a block transaction). This patch just adds nforce2_check_status function. It was originally written by Hans-Frieder Vogt. The reason that I'm the one sending it is: - I relied on it for the second part of the patch, - It makes the driver code cleaner/better. Signed-off-by: Oleg Ryjkov Signed-off-by: Jean Delvare commit a202707e71ff16d5e3a92f40eeaa41f3099dd8c5 Author: Chris David Date: Sat Oct 13 23:56:33 2007 +0200 i2c-au1550: Fix a misused register problem Fix a "mis-used register" problem on the AMD MIPS Alchemy au1550 I2C interface. In summary, the programmable serial controller seems to hang the kernel when I send a single 'address' byte on the I2C bus. The patch essentially uses the PSC_SMBSTAT register's TE (transmit FIFO empty) bit to check when the transmit FIFO is empty, instead of using the PSC_SMBEVNT register's TU (transmit underflow) bit. Using the TE bit fixed the hang problem. Signed-off-by: Chris David Acked-by: Ralf Baechle Signed-off-by: Jean Delvare commit 6662cbb989ee71712176570759bdc4e596aed417 Author: David Brownell Date: Sat Oct 13 23:56:33 2007 +0200 i2c: Rename the PEC functionality bit Rename I2C_FUNC_SMBUS_HWPEC_CALC as I2C_FUNC_SMBUS_PEC, and list that functionality as always available through the software implementation. Update documentation accordingly (and list similar requirements). The way it's currently packaged doesn't present the capability in a useful way. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 24d0fb423ca18adf509dec8a7326c0bdd6653e41 Author: David Brownell Date: Sat Oct 13 23:56:32 2007 +0200 i2c-at91: Mark as broken Mark the i2c-at91 driver BROKEN in Kconfig, and explain just why it's broken. (Summary: hardware design issues.) Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 08fb68bb4bbc9c5970e4ed4920cb6144a70684cd Author: David Brownell Date: Sat Oct 13 23:56:32 2007 +0200 i2c: Move i2c-dev interfaces to i2c-dev.h Move the i2c-dev support into where it should always have lived. Now no longer holds stuff related to the optional userspace /dev/i2c-X interface. Improve the descriptions for these ioctl requests. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 53be79593452e568a856f8393985131848d59b72 Author: David Brownell Date: Sat Oct 13 23:56:32 2007 +0200 i2c: Remove i2c_algorithm.algo_control() This removes: - An effectively unused hook: i2c_algorithm.algo_control. - The i2c_control() call, used only by i2c-dev to call that unused hook or set two barely supported adapter params. (That param setting moves into i2c-dev.c ... still iffy due to lack of locking, but no other changes.) As shown by diffstat, this is a net code shrink. It also reduces the complexity of the I2C adapter and /dev interfaces. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit cdeec3cc79c7b1acfa89fb362b01e544ecfb285c Author: Jean Delvare Date: Sat Oct 13 23:56:32 2007 +0200 cx23885: Drop empty i2c algorithm control callback i2c_algorithm.algo_control is about to be removed. Signed-off-by: Jean Delvare Reviewed-by: Michael Krufky Acked-by: Mauro Carvalho Chehab commit 3be27d37c257fa5f99363f9c8e06e405cbad712e Author: David Brownell Date: Sat Oct 13 23:56:32 2007 +0200 i2c: Remove NOP i2c_algorithm.algo_control() methods This removes NOP implementations of i2c_algorithm.algo_control. With this change, there are no implementations of this hook in the kernel.org tree ... that hook seems about ripe to remove. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit e265cfa19c1220938de5f0291ed8d549a523de3c Author: David Brownell Date: Sat Oct 13 23:56:31 2007 +0200 i2c-dev: Reject I2C_M_RECV_LEN The I2C_M_RECV_LEN calling convention for i2c_mesg.flags involves playing games with reported buffer lengths. (They start out less than their actual size, and the length is then modified to reflect how many bytes were delivered ... which one hopes is less than the presumed actual size.) Refuse to play such error prone games across the boundary between userspace and kernel. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 9d90c1fd9bdbffb456d1b1ef05215343503fd0b0 Author: Jean Delvare Date: Sat Oct 13 23:56:31 2007 +0200 i2c-stub: Support multiple chips Add support for multiple chips to i2c-stub. I've changed the memory allocation scheme from static to dynamic, so that we don't waste too much memory. Signed-off-by: Jean Delvare Acked-by: Mark M. Hoffman commit 567a244b8b431ee8399bb43c7e65df605bdd5458 Author: Francis Moreau Date: Sat Oct 13 23:56:31 2007 +0200 i2c-bfin-twi: Remove useless twi_lock mutex Remove this unneeded mutex. Indeed it was used to serialize access to the hardware, but this is already done by the i2c-core layer, see 'bus_lock' mutex used by i2c_transfer(). Signed-off-by: Francis Moreau Acked-by: Bryan Wu Signed-off-by: Jean Delvare commit e07bc679fbf59f1bf569d443e286911319480e87 Author: Jason Gaston Date: Sat Oct 13 23:56:31 2007 +0200 i2c-i801: Add support for the Intel Tolapai SMBus Add the Intel Tolapai SMBus Controller DID. Signed-off-by: Jason Gaston Signed-off-by: Jean Delvare commit a64ec07d3daeb7cdd363e66ed5929beacdd94652 Author: David Brownell Date: Sat Oct 13 23:56:31 2007 +0200 i2c: Document struct i2c_msg Clarify use of the I2C_M_* flags by highlighting the fact that most of them depend on I2C_FUNC_PROTOCOL_MANGLING. Also provide kerneldoc for i2c_smbus_read_block_data() and also for "struct i2c_msg". Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 553515e5c54dbf3340cd6773aaf0acb53291d6ad Author: Jean Delvare Date: Sat Oct 13 23:56:31 2007 +0200 i2c/pcf8574: No arbitrary initialization Do not initialize the PCF8574 with an arbitrary value. Users will have to write the initial value to sysfs themselves. Signed-off-by: Jean Delvare Acked-by: Aurelien Jarno commit 95a7f10eadcd88cfd6640e44c7b8cf9ac1afafe7 Author: Vladimir Barinov Date: Sat Oct 13 23:56:30 2007 +0200 i2c: Add DaVinci I2C controller support Signed-off-by: Vladimir Barinov Acked-by: Trilok Soni Signed-off-by: Jean Delvare commit 7589a326d1d8c9da575ca4cbc6a3e6af02b57ead Author: Stefan Roese Date: Sat Oct 13 23:56:30 2007 +0200 i2c-ibm_iic: Add support for new-style clients Use i2c_bit_add_numbered_adapter() if device id specified, so that the i2c-ibm_iic adapter works well with new-style pre-declared devices. Signed-off-by: Stefan Roese Signed-off-by: Jean Delvare commit 8056c6cb2bb1632aa9221dce0e43a61db37b420f Author: David Brownell Date: Sat Oct 13 23:56:30 2007 +0200 i2c/tps65010: New-style driver updates, part 2 Switch the tps65010 driver into a "new-style" I2C driver, and convert all of its in-tree users (board support for OSK, H2, H3) accordingly. That accounts for most of the board-specific code in this driver; the rest of that code is now moved into board-specific initcalls. Also remove some of the many now-superfluous #includes. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit b5067f8ff37ed6cfa024170a9819bb09d55e9c1f Author: David Brownell Date: Sat Oct 13 23:56:30 2007 +0200 i2c/tps65010: New-style driver updates, part 1 Prepare to convert tps65010 driver to "new style" driver by changing how it references the i2c_client. This lets the eventual patch with driver and platform updates be smaller. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 83eaaed0d00c4c8e3081dc29286910899fed3182 Author: Adrian Bunk Date: Sat Oct 13 23:56:30 2007 +0200 i2c-core: Make some code static After the i2c-isa removal some code can become static. Signed-off-by: Adrian Bunk Signed-off-by: Jean Delvare commit 3bbb835d4c53faf0bca62f0e39835926bef40b1f Author: David Brownell Date: Sat Oct 13 23:56:29 2007 +0200 i2c: New-style devices can support driver model wakeup flags We need to be able to flag I2C devices, such as RTCs, which can issue wake events (usually through IRQ lines). This adds an i2c_board_info.flags bit, and uses it to initialize the i2c device node. (And shrinks a few lines that were overly long.) Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit cee37ae4071740cb190d1ac4ddb7aa77484aa7b3 Author: Jean Delvare Date: Sat Oct 13 23:56:29 2007 +0200 i2c: Kill struct i2c_device_id I2C devices do not have any form of ID as PCI or USB devices have. No driver uses "MODULE_DEVICE_TABLE(i2c, ...)" because it doesn't make sense. So we can get rid of struct i2c_device_id and the associated support code. Signed-off-by: Jean Delvare Cc: Greg KH commit b027cacdabc3ffe2d2b97a55375203add64a5d29 Author: Roland Dreier Date: Sat Oct 13 14:10:50 2007 -0700 mlx4_core: Fix infinite loop on device initialization Commit 3d73c288 ("mlx4_core: Fix section mismatches") introduced a stupid bug in device init: when some of mlx4_init_one() was split off into __mlx4_init_one(), the call from the main mlx4_init_one() function was back to mlx4_init_one() rather than to __mlx4_init_one(), which leads to an obvious infinite loop if the function is every called. Signed-off-by: Roland Dreier commit 82ba56c273911f7eda79849cfa0fc2d2e5a3b75b Author: Dmitry Torokhov Date: Sat Oct 13 15:46:55 2007 -0400 Input: use full RCU API RT guys alerted me to the fact that in their tree spinlocks are preemptible and it is better to use full RCU API (rcu_read_lock()/rcu_read_unlock()) to be safe. Signed-off-by: Dmitry Torokhov commit c1f807efe8cc8ce93aae238e9da55adc41a4c2f2 Author: Al Viro Date: Sat Oct 13 19:40:08 2007 +0100 missing includes in arch/powerpc/platforms/52xx/lite5200.c Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit cc119427bd8663d772c92c1ce43d8ed1831b4d54 Author: Al Viro Date: Sat Oct 13 19:42:42 2007 +0100 fallout from elsa setup split ... and yes, caller wants it to return int. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8d8fe64237646fdd2c2de2722ec4189a5999119d Author: Dave Kleikamp Date: Sat Oct 13 12:58:00 2007 -0500 JFS: Bio cleanup: Replace missing return statements commit e30408b2a99cb7b8bf529c7dc2328a19d71894cf ("JFS: fix bio-related build breakage") removed some "return 0;" statements, rather than changing them to null returns. Signed-off-by: Dave Kleikamp Cc: Jeff Garzik Cc: Randy Dunlap Cc: Jens Axboe Signed-off-by: Linus Torvalds commit 835c34a1687f524c37d4fb8bad18d642c74bed8d Author: Dave Jones Date: Fri Oct 12 21:10:53 2007 -0400 Delete filenames in comments. Since the x86 merge, lots of files that referenced their own filenames are no longer correct. Rather than keep them up to date, just delete them, as they add no real value. Additionally: - fix up comment formatting in scx200_32.c - Remove a credit from myself in setup_64.c from a time when we had no SCM - remove longwinded history from tsc_32.c which can be figured out from git. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds commit 23ec23c2d3496d1cdf74f73d60ab1051405ca774 Author: Al Viro Date: Sat Oct 13 08:40:24 2007 +0100 fix sparc32 breakage (result of vmlinux.lds.S bug) In commit 4665079cbb2a3e17de82f2ab2940b9f97f37d65e ("[NETNS]: Move some code into __init section when CONFIG_NET_NS=n") we got a new section - .exit.text.refok (more of 'let's tell modpost that some bogus calls are not bogus', a-la text.init.refok). Unfortunately, the commit in question forgot to add it to TEXT_TEXT, with rather amusing results. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c5d6471ff9172e4d8f7a5b484b459c56904ae1f0 Author: Al Viro Date: Sat Oct 13 08:30:26 2007 +0100 fallout from DECLARE_MAC_BUF patches Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 13bcd5d0e21e3ca726965371ada8ff6c64af288f Author: Al Viro Date: Sat Oct 13 08:25:24 2007 +0100 v4l: copy_to_user() is not a good method name Breaks on any target that has copy_to_user() defined as a non-trivial macro. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 2b8232ce512105e28453f301d1510de8363bccd1 Author: Al Viro Date: Sat Oct 13 08:16:04 2007 +0100 minimal build fixes for uml (fallout from x86 merge) a) include/asm-um/arch can't just point to include/asm-$(SUBARCH) now b) arch/{i386,x86_64}/crypto are merged now c) subarch-obj needed changes d) cpufeature_64.h should pull "cpufeature_32.h", not since it can be included from asm-um/cpufeature.h e) in case of uml-i386 we need CONFIG_X86_32 for make and gcc, but not for Kconfig f) sysctl.c shouldn't do vdso_enabled for uml-i386 (actually, that one should be registered from corresponding arch/*/kernel/*, with ifdef going away; that's a separate patch, though). With that and with Stephen's patch ("[PATCH net-2.6] uml: hard_header fix") we have uml allmodconfig building both on i386 and amd64. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c4ea43c552ecc9ccc564e11e70d397dbdf09484b Author: Randy Dunlap Date: Fri Oct 12 21:17:49 2007 -0700 net core: fix kernel-doc for new function parameters Fix networking code kernel-doc for newly added parameters. Warning(linux-2.6.23-git2//net/core/sock.c:879): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:570): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:594): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:617): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:641): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:667): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:722): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:959): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:1195): No description found for parameter 'dev' Warning(linux-2.6.23-git2//net/core/dev.c:2105): No description found for parameter 'n' Warning(linux-2.6.23-git2//net/core/dev.c:3272): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:3445): No description found for parameter 'net' Warning(linux-2.6.23-git2//include/linux/netdevice.h:1301): No description found for parameter 'cpu' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 22e67bb6c1554dc804ee44569f43b2e9c8e591e7 Author: Randy Dunlap Date: Fri Oct 12 21:17:35 2007 -0700 docbook/mcabook: fixup x86 path/file names Fix docbook templates for new x86 path/filenames: docproc: linux-2.6.23-git2/include/asm-i386/mca_dma.h: No such file or directory Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit f3cf31ad1f287d7705593fdc3628ee5e45e56592 Author: Randy Dunlap Date: Fri Oct 12 21:17:23 2007 -0700 docbook/kernel-api: fixup x86 path/file names Fix docbook templates for new x86 path/filenames. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 34ca81026eee69224c8707c7877a343dff96db62 Author: Randy Dunlap Date: Fri Oct 12 21:17:12 2007 -0700 docbook/kernel-hacking: fixup x86 path/file names Fix docbook templates for modified x86 path/filenames. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 08d7b5ac29f76ccd21f5f692cb1a34d08c37ab59 Author: Randy Dunlap Date: Fri Oct 12 21:17:00 2007 -0700 docbook/deviceiobook: fixup x86 path/file names Fix docbook templates for new x86 path/filenames: docproc: linux-2.6.23-git2/include/asm-i386/io.h: No such file or directory Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit c09c5184a26158da32801e89d5849d774605f0dd Author: Jean Delvare Date: Fri Oct 12 21:53:07 2007 +0200 hwmon: (w83627hf) Fix setting fan min right after driver load We need to read the fan clock dividers at initialization time, otherwise the code in store_fan_min() may use uninitialized values. That's pretty much the same bug and same fix as for the w83627ehf driver last month. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 6faf035cf9fdd8283c2b2b2c34b76b5445ec6fc4 Author: Geert Uytterhoeven Date: Sat Oct 13 14:31:31 2007 +0200 ssb bus needs ssb bus needs linux/drivers/ssb/main.c: In function 'ssb_ssb_read16': linux/drivers/ssb/main.c:518: error: implicit declaration of function 'readw' linux/drivers/ssb/main.c: In function 'ssb_ssb_read32': linux/drivers/ssb/main.c:526: error: implicit declaration of function 'readl' linux/drivers/ssb/main.c: In function 'ssb_ssb_write16': linux/drivers/ssb/main.c:534: error: implicit declaration of function 'writew' linux/drivers/ssb/main.c: In function 'ssb_ssb_write32': linux/drivers/ssb/main.c:542: error: implicit declaration of function 'writel' Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 50e36ebe65ff1b96e35a703fab28314ee4f984f7 Author: Geert Uytterhoeven Date: Sat Oct 13 14:31:30 2007 +0200 b43 wireless needs b43 wireless needs linux/drivers/net/wireless/b43/pio.h: In function 'b43_pio_write': linux/drivers/net/wireless/b43/pio.h:89: error: implicit declaration of function 'mmiowb' linux/drivers/net/wireless/b43/phy.c: In function 'b43_phy_write': linux/drivers/net/wireless/b43/phy.c:301: error: implicit declaration of function 'mmiowb' linuxdrivers/net/wireless/b43/sysfs.c: In function 'b43_attr_interfmode_store': linuxdrivers/net/wireless/b43/sysfs.c:147: error: implicit declaration of function 'mmiowb' Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 3649ba001b5d037e2cead173b6cff54d32ef154a Author: Geert Uytterhoeven Date: Sat Oct 13 14:31:29 2007 +0200 m68k: fix net drivers after recent get_stats updates m68k: fix net drivers after recent get_stats updates Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 0dddfd46f07db880df7d99e6ebe8baca11591f29 Author: Geert Uytterhoeven Date: Sat Oct 13 14:31:28 2007 +0200 dm: emc_endio returns void emc_endio returns void: linux/drivers/md/dm-emc.c: In function 'emc_endio': linux/drivers/md/dm-emc.c:58: warning: 'return' with a value, in function returning void Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit e92042e5c009d84ba741ec4a978a13f260e6ee24 Author: Matthew Wilcox Date: Sat Oct 13 14:31:27 2007 +0200 m68k: Export cachectl.h libffi in GCC 4.2 needs cachectl.h to do its cache flushing. But we don't currently export it. I believe this patch should do the trick. Signed-off-by: Matthew Wilcox Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit a55444494db35c55bd7cdefcc4af3e6863ac7a0e Author: Geert Uytterhoeven Date: Sat Oct 13 14:31:26 2007 +0200 m68k: ignore restart_syscall m68k: ignore restart_syscall, which is not needed on m68k. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 3d83a2a501f4e525286f179c905ebd440471c137 Author: Geert Uytterhoeven Date: Sat Oct 13 14:31:25 2007 +0200 m68k: Atari keyboard ACIA driver cleanup m68k: Atari keyboard ACIA driver cleanup: - removed dead key autorepeat code - removed hardcoded initial keymap Signed-off-by: Michael Schmitz Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 6615c5b25e0bffcb3c4463cc68e55a7f7df0b109 Author: Geert Uytterhoeven Date: Sat Oct 13 14:31:24 2007 +0200 m68k: Atari input drivers cleanup m68k: Atari input drivers cleanup: - memleak on failed init/register of input devices fixed - correct keycodes table (Atari keycodes are almost, but not entirely, equal to Linux keycodes). Signed-off-by: Michael Schmitz Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 07584c762541672e35735b52af031183ca17a5a2 Author: Jim Cromie Date: Fri Oct 12 21:08:00 2007 +0200 hwmon: (w83627hf) De-macro sysfs callback functions This patch to drivers/hwmon/w83627hf converts many sysfs items from DEVICE_ATTRs to SENSOR_DEVICE_ATTRs, and replaces macros which expand to define redundant callbacks, with callbacks which use the SENSOR_DEV.nr to know what to do. Signed-off-by: Jim Cromie Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 99149a485958ada512eafc34fe36a80cb63fa56c Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:53 2007 +0200 alim15x3: remove redundant m5229_revision check init_dma_ali15x3() guarantees that hwif->dma_base will never be set for m5229_revision < 0x20 so remove redundant m5229_revision >= 0x20 check from init_hwif_common_ali15x3(). While at it remove incorrect comment. Signed-off-by: Bartlomiej Zolnierkiewicz commit 88ae4d8c3829fe3d7be9b1e3ed79a37814752d61 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:53 2007 +0200 sc1200: fix ->dma_base equal zero handling Set hwif->atapi_dma/{ultra,mwdma}_mask and drive->autodma after checking that ->dma_base exists. If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. OTOH hwif->set_{pio,dma}_mode hooks should be set even if hwif->dma_base == 0. Signed-off-by: Bartlomiej Zolnierkiewicz commit dfb2311226539e0496c0a7c65ceebaaff2120a0b Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:52 2007 +0200 cs5520: fix ->dma_base equal zero handling Set hwif->ide_dma_{check,on} and hwif->autodma to 1 after checking that ->dma_base exists. If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. Signed-off-by: Bartlomiej Zolnierkiewicz commit b9d9e61abb85ecf4e4aa55328b21eac17840a3fb Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:52 2007 +0200 sgiioc4: add missing ->dma_base check If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7bda292d12795877ade9a7ccc044a7bb0ea8e8b4 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:52 2007 +0200 cs5535: add missing ->dma_base check If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 76bb7782c6831bf450b964eb7596e21bcd23fc32 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:52 2007 +0200 ide: remove CONFIG_IDEDMA_IVB config option Devices which don't set word 93 validation bit should be now handled by ide-iops.c::ivb_list[] and for debugging purposes cable detection can be completely overriden with "idex=ata66" parameter. Signed-off-by: Bartlomiej Zolnierkiewicz commit b140b99c413ce410197cfcd4014e757cd745226a Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:51 2007 +0200 ide: change master/slave IDENTIFY order Need to probe slave device first to make it release PDIAG- (this is required for correct device side cable detection). Based on libata commit f31f0cc2f0b7527072d94d02da332d9bb8d7d94c. Thanks to Craig for testing this patch. Cc: Craig Block Signed-off-by: Bartlomiej Zolnierkiewicz commit 88b2b32babd46cd54d2de4d17eb869aea3383e11 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:51 2007 +0200 ide: move ide_config_drive_speed() calls to upper layers (take 2) * Convert {ide_hwif_t,ide_pci_device_t}->host_flag to be u16. * Add IDE_HFLAG_POST_SET_MODE host flag to indicate the need to program the host for the transfer mode after programming the device. Set it in au1xxx-ide, amd74xx, cs5530, cs5535, pdc202xx_new, sc1200, pmac and via82cxxx host drivers. * Add IDE_HFLAG_NO_SET_MODE host flag to indicate the need to completely skip programming of host/device for the transfer mode ("smart" hosts). Set it in it821x host driver and check it in ide_tune_dma(). * Add ide_set_pio_mode()/ide_set_dma_mode() helpers and convert all direct ->set_pio_mode/->speedproc users to use these helpers. * Move ide_config_drive_speed() calls from ->set_pio_mode/->speedproc methods to callers. * Rename ->speedproc method to ->set_dma_mode, make it void and update all implementations accordingly. * Update ide_set_xfer_rate() comments. * Unexport ide_config_drive_speed(). v2: * Fix issues noticed by Sergei: - export ide_set_dma_mode() instead of moving ->set_pio_mode abuse wrt to setting DMA modes from sc1200_set_pio_mode() to do_special() - check IDE_HFLAG_NO_SET_MODE in ide_tune_dma() - check for (hwif->set_pio_mode) == NULL in ide_set_pio_mode() - check for (hwif->set_dma_mode) == NULL in ide_set_dma_mode() - return -1 from ide_set_{pio,dma}_mode() if ->set_{pio,dma}_mode == NULL - don't set ->set_{pio,dma}_mode on it821x in "smart" mode - fix build problem in pmac.c - minor fixes in au1xxx-ide.c/cs5530.c/siimage.c - improve patch description Changes in behavior caused by this patch: - HDIO_SET_PIO_MODE ioctl would now return -ENOSYS for attempts to change PIO mode if it821x controller is in "smart" mode - removal of two debugging printk-s (from cs5530.c and sc1200.c) - transfer modes 0x00-0x07 passed from user space may be programmed twice on the device (not really an issue since 0x00 is not supported correctly by any host driver ATM, 0x01 is not supported at all and 0x02-0x07 are invalid) Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6e249395eace037ef139a1c8996b31e3797e412a Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:51 2007 +0200 pdc202xx_new: check ide_config_drive_speed() return value Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 249aa4ff1778b318346d8ba4a7fa62c169a29410 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:51 2007 +0200 cs5535: check ide_config_drive_speed() return value Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3b4024d4297279ef85631f3c19a6fa4312b4c401 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:51 2007 +0200 amd74xx/via82cxxx: check ide_config_drive_speed() return value * Check ide_config_drive_speed() return value. * While at also call ide_config_drive_speed() if the transfer mode is XFER_PIO_SLOW (this case happens iff the transfer mode has already been set on the device by ide-proc.c::set_xfer_rate()) and remove redundant setting of ->{init,current}_speed. * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0f458943e0247906b7a3f534f9e9e7ff3d901296 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:51 2007 +0200 au1xxx: fix au1xxx_set_pio_mode() Set transfer mode on the device before programming the host controller for the new timings (matches what auide_tune_chipset() is doing wrt DMA modes). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 75d7d963e3dcf8a1410000ab246921709e276cd9 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:50 2007 +0200 icside: use ide_tune_dma() * Add "good DMA drives" hack for icside to ide-dma.c::ide_find_dma_mode() (in the long-term it should be either removed or generalized for all hosts). * Use ide_tune_dma() in icside.c::icside_dma_check(). This results in the following changes in behavior: - pre-EIDE SWDMA modes are now also respected - drive->autodma is checked instead of hwif->autodma (doesn't really matter as icside sets both to "1") * Make ide-dma.c::__ide_dma_good_drive() static and drop "__" prefix. Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 0b46ff2ea2d817dc7883b80cd4e05ce41cce9158 Author: Benjamin Herrenschmidt Date: Sat Oct 13 17:47:50 2007 +0200 ide-pmac: fix PIO setup and enable autotune Signed-off-by: Bartlomiej Zolnierkiewicz commit 254bb5503611da57240ed6df1cfe6d7f0f185027 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:50 2007 +0200 ide-pmac: use ide_tune_dma() (take 2) * Add missing initialization of hwif->autodma and drive->autodma to pmac_ide_setup_dma(). * Use ide_tune_dma() in pmac_ide_dma_check(). While at it: * Fix pmac_ide_dma_check() return value if DMA mode is not programmed (should be "-1" otherwise ide_set_dma() will try to enable DMA). * Remove unnecessary drive->using_dma fiddling (->dma_off_quietly is always called before ide_set_dma() call and ide_set_dma() calls ->ide_dma_on if ->ide_dma_check returns "0"). v2: * No reason to blacklist all ide_floppy devices and the old code was always enabling DMA anyway (without even programming controller/device if the device was ide_floppy). Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit aedea5910ce44fea79e2c517bb22e0006372156f Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:50 2007 +0200 ide-pmac: remove pmac_ide_do_setfeature() (take 2) Use ide_config_drive_speed() instead of pmac_ide_do_setfeature() and remove the latter, also ide-iops.c::__ide_wait_stat() could be static again. Since for IDE PMAC host driver IDE_CONTROL_REG is always true, device's ->quirk_list is always zero and ->ide_dma_host_{on,off} are nops than the only changes in behavior are: * if PIO mode is set then ->dma_off_queitly is called to disable DMA * if setting transfer mode fails ide_dump_status() is called to dump status v2: * IDE PMAC controllers allow separate PIO and DMA timings and PPC userland depends on this fact, and calls "hdparm -p" without calling "hdparm -d". Therefore to compensate for DMA being disabled by ide_config_drive_speed() for PIO modes: - add IDE_HFLAG_SET_PIO_MODE_KEEP_DMA flag and set it in PMAC host driver - add handling of the new flag to ide-io.c::do_special() Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 3b2d0093b8eb2b0b4adc86138edee9f6d376cafb Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:49 2007 +0200 ide-pmac: remove nIEN clearing from pmac_ide_do_setfeature() Upper layers are responsible for controlling nIEN so don't clear nIEN after command execution in pmac_ide_do_setfeature(). Cc: Benjamin Herrenschmidt Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ddf151026a293725507fedc39b18ae6edb86d775 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:49 2007 +0200 ide-pmac: use __ide_wait_stat() * Use __ide_wait_stat() instead of wait_for_ready() in pmac_ide_do_setfeature(). While at it do following changes to match __ide_wait_stat() call in ide_config_drive_speed(): * Wait WAIT_CMD time (20 sec) instead of 2 sec for device to clear BUSY_STAT. * Check DRQ_STAT bit (shouldn't be set for good device status). Also remove no longer needed wait_for_ready() from ide-iops.c. Acked-by: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 218ee5f364ed006403f1bbe3c1da5af51b1bdb2a Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:49 2007 +0200 ide-pmac: remove extra good status wait from pmac_ide_do_setfeature() Don't check for good device status before executing the command in pmac_ide_do_setfeature() (ide_config_drive_speed() doesn't do this). It is a job of upper layers to guarantee that the device is ready to accept new command before we get here. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 74af21cf4d0ab67df53608753a443dc7904ec12e Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:49 2007 +0200 ide: add __ide_wait_stat() helper * Split off checking of the status register from ide_wait_stat() to __ide_wait_stat() helper. * Use the new helper in ide_config_drive_speed(). The only change in the functionality is that the function now fails if after 20 sec (WAIT_CMD) device is still busy (BUSY_STAT bit is set) while previously instead of failing the function continued with checking for the correct device status (which would give the device additional 10 usec to clear BUSY_STAT bit). * Remove stale comment for ide_config_drive_speed(). * Remove duplicate comment for ide_wait_stat() from . Cc: Benjamin Herrenschmidt Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit fd553ce86893e0a54ec0d07d1f1d241f2fb2aef3 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:49 2007 +0200 ide-pmac: remove pmac_ide_{m,u}dma_enable() (take 2) * Fix pmac_ide_dma_check() to use pmac_ide_tune_chipset() and remove no longer necessary pmac_ide_{m,u}dma_enable(). * While at it remove some dead code from pmac_ide_dma_check() (leftovers from conversion to use ide_max_dma_mode()). There should be no functionality changes caused by this patch. v2: * Fix compile by replacing "id" with "drive->id" in pmac_ide_dma_check() (Noticed by Ben). Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 78103940e4f8084de2bf8ca81c4bd09b48e9ac16 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:49 2007 +0200 ide-pmac: remove control register messing from pmac_ide_dma_check() pmac_ide_do_setfeature() contains matching nIEN setting/clearing so this Device Control register messing in pmac_ide_dma_check() is totally unnecessary. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 90f72eca36e92d5756cf312535d94d7f21f34d2e Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:48 2007 +0200 ide-pmac: fix set_timings_mdma() * Move adjusting of cycle time for devices providing explicit DMA cycle time from pmac_ide_mdma_enable() to set_timings_mdma(). * Remove no longer needed drive_cycle_time argument. * BUG() if unsupported speed argument value is passed (shouldn't happen). * Matching access/recovery timings always exist so remove redundant check. * Make set_timings_mdma() void. * Update pmac_ide_tune_chipset()'s comment. Acked-by: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 085798b12ffebd69c13c8ce05fabc8ed5ac43e63 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:48 2007 +0200 ide-pmac: pmac_ide_tune_chipset() fixes * Don't check check for pmif == NULL (it should never be NULL if we got here). * Make a local copy of the timings and set the pmif->timings[] only after setting the transfer mode on the device (otherwise SELECT_DRIVE() call in pmac_ide_do_setfeature() will program new timings before the transfer mode is set on the device - this was pointed out by Sergei). This change makes pmac_ide_tune_chipset() behavior match this of pmac_ide_{m,u}dma_enable(). Acked-by: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 90a87ea480ce50e7a1553568395c024294db1808 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:48 2007 +0200 ide-pmac: don't check kauai_lookup_timing() return value kauai_lookup_timing() should always return non-zero return value: * BUG() in kauai_lookup_timing() if the timing info cannot be found. * Remove code checking for zero return value from all callers. Acked-by: Benjamin Herrenschmidt Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 39e5f590b6dea070f17d44e1e6af1188777085d3 Author: Adrian Bunk Date: Sat Oct 13 17:47:48 2007 +0200 ide: unexport ide_acpi_set_state This patch removes the unused EXPORT_SYMBOL_GPL(ide_acpi_set_state) Signed-off-by: Adrian Bunk Cc: Shaohua Li Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit ceec1827e29b9b3d5cac225fee554bd31e565b58 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:47 2007 +0200 ide_platform: set hwif->chipset We need to set hwif->chipset or IDE PCI host drivers may try to claim our ide_hwifs[] slot. Signed-off-by: Bartlomiej Zolnierkiewicz commit b37bde147890c8fea8369a5a4e230dabdea4ebfb Author: Bryan Wu Date: Tue Oct 2 13:56:05 2007 -0700 [MTD] [NAND] Blackfin on-chip NAND Flash Controller driver This is the driver for latest Blackfin on-chip nand flash controller - use nand_chip and mtd_info common nand driver interface - provide both PIO and dma operation - compiled with ezkit bf548 configuration - use hardware 1-bit ECC - tested with YAFFS2 and can mount YAFFS2 filesystem as rootfs ChangeLog from try#1 - use hweight32() instead of count_bits() - replace bf54x with bf5xx and BF54X with BF5XX - compare against plat->page_size in 2 cases when enable hardware ECC ChangeLog from try#2 - passed nand_test suites - use cpu_relax() instead of busy wait loop - some coding style issue pointed out by Andrew Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit c4a9f88daf6c382fedde4cdddef0b30f1d0a20db Author: Kevin Hao Date: Tue Oct 2 13:56:04 2007 -0700 [MTD] [NOR] fix ctrl-alt-del can't reboot for intel flash bug When we press ctrl-alt-del,kernel_restart_prepare will invoke cfi_intelext_reboot which will set flash to read array mode, but later when device_shutdown is invoked which may put current work queue to sleep and other process may be scheduled to running and programming flash in not FL_READY mode again. So we can't boot up if this flash is used for bootloader. Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit f96880d1e859e3937eb691da8293700b8eec17b3 Author: akpm@linux-foundation.org Date: Thu Oct 11 00:02:06 2007 -0700 [MTD] [NAND] Fix compiler warning in Alauda driver drivers/mtd/nand/alauda.c: In function 'alauda_bounce_read': drivers/mtd/nand/alauda.c:412: warning: comparison of distinct pointer types lacks a cast Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 4fc8a6078660be781d6ddf4daddfd9d817d2a455 Author: David Woodhouse Date: Sat Oct 13 14:29:39 2007 +0100 [JFFS2] Remove stray debugging printk Signed-off-by: David Woodhouse commit b534e70cf5529378a1ed994492641ec0330554eb Author: David Woodhouse Date: Sat Oct 13 11:35:58 2007 +0100 [JFFS2] Handle dirents on the flash with embedded zero bytes in names. In three places: summary scan, normal scan, REF_PRISTINE GC. Just truncate at the NUL, since that was the correct thing to do in the only case where this (inexplicable) breakage has been seen. Signed-off-by: David Woodhouse commit 69ca4378aa376cf2c49657d4f6951da56c27cd3a Author: David Woodhouse Date: Sat Oct 13 11:33:50 2007 +0100 [JFFS2] Check for creation of dirents with embedded zero bytes in name. I have no idea how this happened, but OLPC trac #4184 suggests that it did. Catch it early. Signed-off-by: David Woodhouse commit a8c68f32644fc8942b25af9239967dd01be621fa Author: David Woodhouse Date: Sat Oct 13 11:32:16 2007 +0100 [JFFS2] Don't count all 'very dirty' blocks except in debug mode ... where we'll actually print the count in a debug message. Signed-off-by: David Woodhouse commit 2665ea842dc9f4c04bdb57f8b7c2023759ac8c85 Author: David Woodhouse Date: Sat Oct 13 11:31:23 2007 +0100 [JFFS2] Check whether garbage-collection actually obsoleted its victim. In OLPC trac #4184 we found a case where a corrupted node didn't actually get obsoleted when we tried to garbage-collect it. So we wrote out many million copies of it, in repeated attempts to obsolete it, until the flash became full. Don't Do That. Signed-off-by: David Woodhouse commit 85becc535b7f33be5aefdb8ecea9fac4998e4b6f Author: David Woodhouse Date: Sat Oct 13 11:29:07 2007 +0100 [JFFS2] Relax threshold for triggering GC due to dirty blocks. Instead of matching resv_blocks_gcmerge, which is only about 3, instead match resv_blocks_gctrigger, which includes a proportion of the total device size. These ought to become tunable from userspace, at some point. Signed-off-by: David Woodhouse commit 1437085c3780f064a06df662195a2695e7d75c09 Author: Kyungmin Park Date: Wed Oct 10 13:48:14 2007 +0900 [MTD] [OneNAND] Fix typo related with recent commit Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit 8a45450d0a559912873428077908f9bc1411042c Author: Avi Kivity Date: Wed Oct 10 14:03:16 2007 +0200 KVM: Replace enum by #define Easier for existence test (#ifdef) in userspace. Signed-off-by: Avi Kivity commit 0967b7bf1c22b55777aba46ff616547feed0b141 Author: Avi Kivity Date: Sat Sep 15 17:34:36 2007 +0300 KVM: Skip pio instruction when it is emulated, not executed If we defer updating rip until pio instructions are executed, we have a problem with reset: a pio reset updates rip, and when the instruction completes we skip the emulated instruction, pointing rip somewhere completely unrelated. Fix by updating rip when we see decode the instruction, not after emulation. Signed-off-by: Avi Kivity commit 535eabcf0e55804b53d27fe45217d874b19bcfa9 Author: Nitin A Kamble Date: Sat Sep 15 10:45:05 2007 +0300 KVM: x86 emulator: popf Implement emulation of instruction: popf opcode: 0x9d Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 12fa272e315af43d549ce22f9988392d0121350e Author: Nitin A Kamble Date: Sat Sep 15 10:43:33 2007 +0300 KVM: x86 emulator: fix src, dst value initialization Some operand fetches are less than the machine word size and can result in stale bits if used together with operands of different sizes. Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 26a3e983d154beca544afd36f293cfef10657f24 Author: Nitin A Kamble Date: Sat Sep 15 10:41:26 2007 +0300 KVM: x86 emulator: jmp abs Implement emulation of instruction: jump absolute r/m opcode: 0xff /4 Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 7e0b54b149315743f5743dbc0cf758012682024e Author: Nitin A Kamble Date: Sat Sep 15 10:35:36 2007 +0300 KVM: x86 emulator: lea Implement emulation of instruction lea r16/r32, m opcode: 0x8d: Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 55bebde45ec252295b08cb3990f15df2228dbf0e Author: Nitin A Kamble Date: Sat Sep 15 10:25:41 2007 +0300 KVM: X86 emulator: jump conditional short Implement emulation of more jump conditional instructions jcc shortrel opcodes: 0x70 - 0x7f Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit bbe9abbdaca366510db1f2df25f4c7b48cba38eb Author: Nitin A Kamble Date: Sat Sep 15 10:23:07 2007 +0300 KVM: x86 emulator: imlpement jump conditional relative Implement emulation of instruction: jump conditional rel opcodes: 0x0f 0x80 - 0x0f 0x8f Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 7de752482c71e1ef72ac9650deaeb6d293b8416d Author: Nitin A Kamble Date: Sat Sep 15 10:13:07 2007 +0300 KVM: x86 emulator: sort opcodes into ascending order Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 054b1369679fb97582fc77f25a700d4290ff3e89 Author: Avi Kivity Date: Wed Sep 12 13:21:09 2007 +0300 KVM: Improve emulation failure reporting Report failed opcodes from all locations. Signed-off-by: Avi Kivity commit fd2a76086527cbe074b08a8820253228cd919ece Author: Nitin A Kamble Date: Tue Aug 28 18:22:47 2007 -0700 KVM: x86 emulator: pushf Implement emulation of instruction pushf opcode: 0x9c Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit f6eed39135c03d39ff4095b1ddd947672469dfee Author: Nitin A Kamble Date: Tue Aug 28 18:08:37 2007 -0700 KVM: x86 emulator: call near Implement emulation of instruction opcode: 0xe8 call (near) Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 7d316911632acb8ba8cb7c1dd318ba723c9f1d50 Author: Nitin A Kamble Date: Tue Aug 28 17:58:52 2007 -0700 KVM: x86 emulator: push imm8 Implement the instruction push imm8 opcode: 0x6a Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit bfdaab090386e7dda8c442721eeb91179258dad4 Author: He, Qing Date: Wed Sep 12 14:18:28 2007 +0800 KVM: VMX: Fix exit qualification width on i386 According to Intel Software Developer's Manual, Vol. 3B, Appendix H.4.2, exit qualification should be of natural width. However, current code uses u64 as the data type for this register, which occasionally introduces invalid value to VMExit handling logics. This patch fixes this bug. I have tested Windows and Linux guest on i386 host, and they can boot successfully with this patch. Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 04d2cc7780d48a212843e38d46402d97fa1f4774 Author: Avi Kivity Date: Mon Sep 10 18:10:54 2007 +0300 KVM: Move main vcpu loop into subarch independent code This simplifies adding new code as well as reducing overall code size. Signed-off-by: Avi Kivity commit 29bd8a78082f2d7e2165a735f50b5c716ef3213b Author: Avi Kivity Date: Mon Sep 10 17:27:03 2007 +0300 KVM: VMX: Move vm entry failure handling to the exit handler This will help moving the main loop to subarch independent code. Signed-off-by: Avi Kivity commit 2e3e5882dca3ab409aa8c9c96f47610b576719f8 Author: Avi Kivity Date: Mon Sep 10 11:28:17 2007 +0300 KVM: MMU: Don't do GFP_NOWAIT allocations Before preempt notifiers, kvm needed to allocate memory with GFP_NOWAIT so as not to have to enable preemption and take a heavyweight exit. On oom, we'd fall back to a GFP_KERNEL allocation. With preemption notifiers, we can do a GFP_KERNEL allocation, and perform the heavyweight exit only if the kernel decides to put us to sleep. Signed-off-by: Avi Kivity commit cbdd1bea2a2dce4c0b45c5f0122c150d9f07f0bc Author: Christian Ehrhardt Date: Sun Sep 9 15:41:59 2007 +0300 KVM: Rename kvm_arch_ops to kvm_x86_ops This patch just renames the current (misnamed) _arch namings to _x86 to ensure better readability when a real arch layer takes place. Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 0d8d2bd4f20c8a2a254b4fe3bc114f12214a6d73 Author: Laurent Vivier Date: Thu Aug 30 14:56:21 2007 +0200 KVM: Simplify memory allocation The mutex->splinlock convertion alllows us to make some code simplifications. As we can keep the lock longer, we don't have to release it and then have to check if the environment has not been modified before re-taking it. We can remove kvm->busy and kvm->memory_config_version. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 1747fb71fd7c9389696e91f354d2f841b5c85790 Author: Rusty Russell Date: Thu Sep 6 01:21:32 2007 +1000 KVM: Hoist SVM's get_cs_db_l_bits into core code. SVM gets the DB and L bits for the cs by decoding the segment. This is in fact the completely generic code, so hoist it for kvm-lite to use. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 81f50e3bfdf864103ef890ca156e7a9c922c7089 Author: Rusty Russell Date: Thu Sep 6 01:20:38 2007 +1000 KVM: Keep control regs in sync We don't update the vcpu control registers in various places. We should do so. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit b85b9ee9259917f248ee1507d7d1f575f4fc27dd Author: Rusty Russell Date: Sun Sep 9 14:12:54 2007 +0300 KVM: Clean up unloved invlpg emulation invlpg shouldn't fetch the "src" address, since it may not be valid, however SVM's "solution" which neuters emulation of all group 7 instruction is horrible and breaks kvm-lite. The simplest fix is to put a special check in for invlpg. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit c9a1185c945c8db3185ad40092963cbb39192e31 Author: Rusty Russell Date: Sun Sep 9 14:10:57 2007 +0300 KVM: Remove the unused invlpg member of struct kvm_arch_ops. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 380102c8e431ba8b25a5b3a29e4529ca02ede4c8 Author: Amit Shah Date: Sat Aug 25 11:35:52 2007 +0300 KVM: Set the ET flag in CR0 after initializing FX This was missed when moving stuff around in fbc4f2e Fixes Solaris guests and bug #1773613 Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit c5ec153402b6d276fe20029da1059ba42a4b55e5 Author: He, Qing Date: Mon Sep 3 17:07:41 2007 +0300 KVM: enable in-kernel APIC INIT/SIPI handling This patch enables INIT/SIPI handling using in-kernel APIC by introducing a ->mp_state field to emulate the SMP state transition. [avi: remove smp_processor_id() warning] Signed-off-by: Qing He Signed-off-by: Xin Li Signed-off-by: Avi Kivity commit 932f72adbe76f098922c746737cb0bd75fc21e27 Author: He, Qing Date: Mon Sep 3 17:01:36 2007 +0300 KVM: round robin for APIC lowest priority delivery mode Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 40487c680d5855459dfdce340df13d40071bb774 Author: Qing He Date: Mon Sep 17 14:47:13 2007 +0800 KVM: deliver PIC interrupt only to vcpu0 This patch changes the PIC interrupts delivery. Now it is only delivered to vcpu0 when either condition is met (on vcpu0): 1. local APIC is hardware disabled 2. LVT0 is unmasked and configured to delivery mode ExtInt It fixes the 2x faster wall clock on x86_64 and SMP i386 Linux guests Signed-off-by: Eddie (Yaozu) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 5cd4f6fd8506f59cb8a232f364c54f6bd8e5150a Author: He, Qing Date: Thu Aug 30 17:04:26 2007 +0800 KVM: disable tpr/cr8 sync when in-kernel APIC is used Signed-off-by: Qing He Signed-off-by: Avi Kivity commit a3d7f85f471f889e4477863a7ca42828ae74e77d Author: Eddie Dong Date: Mon Sep 3 16:15:12 2007 +0300 KVM: Migrate lapic hrtimer when vcpu moves to another cpu This reduces overhead by accessing cachelines from the wrong node, as well as simplifying locking. [Qing: fix for inactive or expired one-shot timer] Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 1b9778dae71dc64d3678d766c0f1fbed79c80f9f Author: Eddie Dong Date: Mon Sep 3 16:56:58 2007 +0300 KVM: Keep track of missed timer irq injections APIC timer IRQ is set every time when a certain period expires at host time, but the guest may be descheduled at that time and thus the irq be overwritten by later fire. This patch keep track of firing irq numbers and decrease only when the IRQ is injected to guest or buffered in APIC. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 6e5d865c0b9679b00b5e5f0754c9fc2b6b9894d6 Author: Yang, Sheng Date: Wed Sep 12 18:03:11 2007 +0800 KVM: VMX: Use shadow TPR/cr8 for 64-bits guests This patch enables TPR shadow of VMX on CR8 access. 64bit Windows using CR8 access TPR frequently. The TPR shadow can improve the performance of access TPR by not causing vmexit. Signed-off-by: Sheng Yang Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 2a8067f17b8442ecce0b14e134823020ff33b4fa Author: Eddie Dong Date: Mon Aug 6 16:29:07 2007 +0300 KVM: pending irq save/restore Add in kernel irqchip save/restore support for pending vectors. [avi: fix compile warning on i386] [avi: remove printk] Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 96ad2cc6132479aa0aea485d0838a13fda765bd5 Author: Eddie Dong Date: Thu Sep 6 12:22:56 2007 +0300 KVM: in-kernel LAPIC save and restore support This patch adds a new vcpu-based IOCTL to save and restore the local apic registers for a single vcpu. The kernel only copies the apic page as a whole, extraction of registers is left to userspace side. On restore, the APIC timer is restarted from the initial count, this introduces a little delay, but works fine. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 6bf9e962d14deb9e460afbbfd83ea2f450325c2d Author: He, Qing Date: Sun Aug 5 10:49:16 2007 +0300 KVM: in-kernel IOAPIC save and restore support This patch adds support for in-kernel ioapic save and restore (to and from userspace). It uses the same get/set_irqchip ioctl as in-kernel PIC. Signed-off-by: Qing He Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit c52fb35a8b5dada749d35fbe15ac1f9857b22896 Author: He, Qing Date: Thu Aug 2 14:03:07 2007 +0300 KVM: Bypass irq_pending get/set when using in kernel irqchip vcpu->irq_pending is saved in get/set_sreg IOCTL, but when in-kernel local APIC is used, doing this may occasionally overwrite vcpu->apic to an invalid value, as in the vm restore path. Signed-off-by: Qing He commit 6ceb9d791eeeb0a5493958f5d6d4dc7d91e59cf7 Author: He, Qing Date: Thu Jul 26 11:05:18 2007 +0300 KVM: Add get/set irqchip ioctls for in-kernel PIC live migration support This patch adds two new ioctls to dump and write kernel irqchips for save/restore and live migration. PIC s/r and l/m is implemented in this patch. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 9cf98828d12285d1fb43e774c8c100a55f8f34e1 Author: Eddie Dong Date: Sun Jul 22 10:36:31 2007 +0300 KVM: Protect in-kernel pio using kvm->lock pio operation and IRQ_LINE kvm_vm_ioctl is not kvm->lock protected. Add lock to same with IOAPIC MMIO operations. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit b6958ce44a11a9e9425d2b67a653b1ca2a27796f Author: Eddie Dong Date: Wed Jul 18 12:15:21 2007 +0300 KVM: Emulate hlt in the kernel By sleeping in the kernel when hlt is executed, we simplify the in-kernel guest interrupt path considerably. Signed-off-by: Gregory Haskins Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 1fd4f2a5ed8f80cf6e23d2bdf78554f6a1ac7997 Author: Eddie Dong Date: Wed Jul 18 12:03:39 2007 +0300 KVM: In-kernel I/O APIC model This allows in-kernel host-side device drivers to raise guest interrupts without going to userspace. [avi: fix level-triggered interrupt redelivery on eoi] [avi: add missing #include] [avi: avoid redelivery of edge-triggered interrupt] [avi: implement polarity] [avi: don't deliver edge-triggered interrupts when unmasking] [avi: fix host oops on invalid guest access] Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 97222cc8316328965851ed28d23f6b64b4c912d2 Author: Eddie Dong Date: Wed Sep 12 10:58:04 2007 +0300 KVM: Emulate local APIC in kernel Because lightweight exits (exits which don't involve userspace) are many times faster than heavyweight exits, it makes sense to emulate high usage devices in the kernel. The local APIC is one such device, especially for Windows and for SMP, so we add an APIC model to kvm. It also allows in-kernel host-side drivers to inject interrupts without going through userspace. [compile fix on i386 from Jindrich Makovicka] Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 7017fc3d1a12e30ea7df4992152978a188433457 Author: Eddie Dong Date: Wed Jul 18 11:34:57 2007 +0300 KVM: Define and use cr8 access functions This patch is to wrap APIC base register and CR8 operation which can provide a unique API for user level irqchip and kernel irqchip. This is a preparation of merging lapic/ioapic patch. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 85f455f7ddbed403b34b4d54b1eaf0e14126a126 Author: Eddie Dong Date: Fri Jul 6 12:20:49 2007 +0300 KVM: Add support for in-kernel PIC emulation Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 152d3f2f246ce3c2a0cf2fc6c2214663cd99aa83 Author: Laurent Vivier Date: Thu Aug 23 16:33:11 2007 +0200 KVM: VMX: Split segments reload in vmx_load_host_state() vmx_load_host_state() bundles fs, gs, ldt, and tss reloading into one in the hope that it is infrequent. With smp guests, fs reloading is frequent due to fs being used by threads. Unbundle the reloads so reduce expensive gs reloads. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit d39dba54ce71ab3234c387219b175dc36d37f85a Author: Avi Kivity Date: Wed Aug 22 18:09:29 2007 +0300 KVM: X86 emulator: fix 'push reg' writeback Pointed out by Rusty Russell. Signed-off-by: Avi Kivity commit 2e2c618dad6d5768da4a891ff71fc1ca0cbd3fe0 Author: Izik Eidus Date: Mon Aug 20 18:11:00 2007 +0300 KVM: Support more memory slots Needed for mapping memory at 4GB. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 33f5fa1664046208b890e9231a47e377fdfc7762 Author: Izik Eidus Date: Sun Aug 19 22:24:58 2007 +0300 KVM: VMX: allow rmode_tss_base() to work with >2G of guest memory Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 7e778161fb4612d2ceac9604f10e1061f5f4cf48 Author: Nitin A Kamble Date: Sun Aug 19 11:07:06 2007 +0300 KVM: x86 emulator: implement 'push reg' (opcodes 0x50-0x57) Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit c53ce170a9e8531f293e402c7d8c65e38452a551 Author: Nitin A Kamble Date: Sun Aug 19 11:03:13 2007 +0300 KVM: x86 emulator: Implement 'jmp rel short' instruction (opcode 0xeb) Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 098c937ba30acc5b7dcb6a4ad7cc8d63c7117546 Author: Nitin A Kamble Date: Sun Aug 19 11:00:36 2007 +0300 KVM: x86 emulator: implement 'jmp rel' instruction (opcode 0xe9) Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 19eb938e0115693414a83b6bde2b67896bd9953a Author: Nitin A Kamble Date: Fri Aug 17 15:17:41 2007 +0300 KVM: x86 emulator: implement 'and $imm, %{al|ax|eax}' Implement emulation of instruction and al imm8 (opcode 0x24) and ax/eax imm16/imm32 (opcode 0x25) Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 253abdee5ec2edd0a7f6dc2358bef42e3fdf1f39 Author: Yang, Sheng Date: Thu Aug 16 13:01:00 2007 +0300 KVM: Communicate cr8 changes to userspace This allows running 64-bit Windows. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 7e66f350cfc853043bfa71b281581dd6f92fa347 Author: Avi Kivity Date: Wed Aug 15 15:23:34 2007 +0300 KVM: Close minor race in signal handling We need to check for signals inside the critical section, otherwise a signal can be sent which we will not notice. Also move the check before entry, so that if the signal happens before the first entry, we exit immediately instead of waiting for something to happen to the guest. Signed-off-by: Avi Kivity commit 3090dd7377c7eb5cbe229e2a538f9dc7e5b06814 Author: Laurent Vivier Date: Sun Aug 5 10:43:32 2007 +0300 KVM: Clean up kvm_setup_pio() Split kvm_setup_pio() into two functions, one to setup in/out pio (kvm_emulate_pio()) and one to setup ins/outs pio (kvm_emulate_pio_string()). Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit e70669abd4e60dfea3ac1639848e20e2b8dd1255 Author: Laurent Vivier Date: Sun Aug 5 10:36:40 2007 +0300 KVM: Cleanup string I/O instruction emulation Both vmx and svm decode the I/O instructions, and both botch the job, requiring the instruction prefixes to be fetched in order to completely decode the instruction. So, if we see a string I/O instruction, use the x86 emulator to decode it, as it already has all the prefix decoding machinery. This patch defines ins/outs opcodes in x86_emulate.c and calls emulate_instruction() from io_interception() (svm.c) and from handle_io() (vmx.c). It removes all vmx/svm prefix instruction decoders (get_addr_size(), io_get_override(), io_address(), get_io_count()) Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 9fdaaac38e8c8a63c6383b807b91fea2d51da95d Author: Laurent Vivier Date: Wed Aug 1 21:51:09 2007 +0300 KVM: Remove useless assignment Line 1809 of kvm_main.c is useless, value is overwritten in line 1815: 1809 now = min(count, PAGE_SIZE / size); 1810 1811 if (!down) 1812 in_page = PAGE_SIZE - offset_in_page(address); 1813 else 1814 in_page = offset_in_page(address) + size; 1815 now = min(count, (unsigned long)in_page / size); 1816 if (!now) { Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 1e4e6e00136b82a5595de903c28912afee1178cb Author: Li, Xin B Date: Wed Aug 1 21:49:10 2007 +0300 KVM: VMX: Remove a duplicated ia32e mode vm entry control Remove a duplicated ia32e mode VM Entry control definition and use the proper one. Signed-off-by: Xin Li Signed-off-by: Avi Kivity commit a477034750ce59df7fc17823f085df5a30e316f0 Author: Rusty Russell Date: Wed Aug 1 14:46:11 2007 +1000 KVM: Use kmem_cache_free for kmem_cache_zalloc'ed objects We use kfree in svm.c and vmx.c, and this works, but it could break at any time. kfree() is supposed to match up with kmalloc(). Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit f02424785ab83bab8283ad33044284f749c08db8 Author: Rusty Russell Date: Wed Aug 1 10:48:02 2007 +1000 KVM: Add and use pr_unimpl for standard formatting of unimplemented features All guest-invokable printks should be ratelimited to prevent malicious guests from flooding logs. This is a start. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 33830b4f5bdf2bc21d0c10d38beffdce8edcded7 Author: Rusty Russell Date: Wed Aug 1 10:17:06 2007 +1000 KVM: Remove unneeded kvm_dev_open and kvm_dev_release functions. Devices don't need open or release functions. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 3dea7ca7160f80dd6d31c0bbeb2d871e51b567b6 Author: Rusty Russell Date: Wed Aug 1 10:12:22 2007 +1000 KVM: Remove stat_set from debugfs We shouldn't define stat_set on the debug attributes, since that will cause silent failure on writing: without a set argument, userspace will get -EACCESS. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 54e11fa1f87771df0fc1bb42a75be0740c3babb9 Author: Gabriel C Date: Wed Aug 1 16:23:10 2007 +0200 KVM: Fix defined but not used warning in drivers/kvm/vmx.c move_msr_up() is used only on X86_64 and generates a warning on !X86_64 Signed-off-by: Gabriel Craciunescu Signed-off-by: Avi Kivity commit 37c00051b53861929a910309c1823b415d55cfdf Author: Rusty Russell Date: Tue Jul 31 20:46:12 2007 +1000 KVM: Remove redundant alloc_vmcs_cpu declaration alloc_vmcs_cpu is already declared (static) above, no need to redeclare. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit bfc733a7a32612fe213a7492c385f2b03f592d7f Author: Rusty Russell Date: Tue Jul 31 20:42:42 2007 +1000 KVM: SVM: Make set_msr_interception more reliable set_msr_interception() is used by svm to set up which MSRs should be intercepted. It can only fail if someone has changed the code to try to intercept an MSR without updating the array of ranges. The return value is ignored anyway: it should just BUG() if it doesn't work. (A build-time failure would be better, but that's tricky). Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 7e9d619d2aa28b71d547edfa15c66d6ab9a3a39c Author: Rusty Russell Date: Tue Jul 31 20:41:14 2007 +1000 KVM: Cleanup mark_page_dirty For some reason, mark_page_dirty open-codes __gfn_to_memslot(). Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit fb764416492a1204c20fdf4507019012d27bd1a2 Author: Rusty Russell Date: Tue Jul 31 20:45:03 2007 +1000 KVM: Don't assign vcpu->cr3 if it's invalid: check first, set last sSigned-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 002c7f7c32a6123f0894d7d579ffae8e98911830 Author: Yang, Sheng Date: Tue Jul 31 14:23:01 2007 +0300 KVM: VMX: Add cpu consistency check All the physical CPUs on the board should support the same VMX feature set. Add check_processor_compatibility to kvm_arch_ops for the consistency check. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 39214915f50f6ac2350355f2db63910d968fa790 Author: Rusty Russell Date: Tue Jul 31 19:57:47 2007 +1000 KVM: kvm_vm_ioctl_get_dirty_log restore "nothing dirty" optimization kvm_vm_ioctl_get_dirty_log scans bitmap to see it it's all zero, but doesn't use that information. Avi says: Looks like it was used to guard kvm_mmu_slot_remove_write_access(); optimizing the case where the guest just leaves the screen alone (which it usually does, especially in benchmarks). I'd rather reinstate that optimization. See 90cb0529dd230548a7f0d6b315997be854caea1b where the damage was done. It's pretty simple: if the bitmap is all zero, we don't need to do anything to clean it. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit b114b0804df7131cb6764b948c1c530c834fa3c0 Author: Rusty Russell Date: Mon Jul 30 21:13:43 2007 +1000 KVM: Use alignment properties of vcpu to simplify FPU ops Now we use a kmem cache for allocating vcpus, we can get the 16-byte alignment required by fxsave & fxrstor instructions, and avoid manually aligning the buffer. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit c16f862d0257349607b7a9be7b4a4b7ed419a3ab Author: Rusty Russell Date: Mon Jul 30 21:12:19 2007 +1000 KVM: Use kmem cache for allocating vcpus Avi wants the allocations of vcpus centralized again. The easiest way is to add a "size" arg to kvm_init_arch, and expose the thus-prepared cache to the modules. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit e7d5d76cae970117affe07f809faf0f18bbac675 Author: Laurent Vivier Date: Mon Jul 30 13:41:19 2007 +0300 KVM: Remove kvm_{read,write}_guest() ... in favor of the more general emulator_{read,write}_*. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit cebff02b11b02a81d21b6cc8390938dc9bdf0a12 Author: Laurent Vivier Date: Mon Jul 30 13:35:24 2007 +0300 KVM: Change the emulator_{read,write,cmpxchg}_* functions to take a vcpu ... instead of a x86_emulate_ctxt, so that other callers can use it easily. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 0e5017d4ae981b0311a3ec1ca04806a4ae7d7446 Author: Rusty Russell Date: Mon Jul 30 20:08:05 2007 +1000 KVM: SVM: internal function name cleanup Changes some svm.c internal function names: 1) io_adress -> io_address (de-germanify the spelling) 2) kvm_reput_irq -> reput_irq (it's not a generic kvm function) 3) kvm_do_inject_irq -> (it's not a generic kvm function) Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit e756fc626d7d8a220864dd6bc6634d9d933650b0 Author: Rusty Russell Date: Mon Jul 30 20:07:08 2007 +1000 KVM: SVM: de-containization container_of is wonderful, but not casting at all is better. This patch changes svm.c's internal functions to pass "struct vcpu_svm" instead of "struct kvm_vcpu" and using container_of. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 3077c4513c46f66537c1205acc464e49c9847dc0 Author: Rusty Russell Date: Mon Jul 30 16:41:57 2007 +1000 KVM: Remove three magic numbers There are several places where hardcoded numbers are used in place of the easily-available constant, which is poor form. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 8b9cf98cc7ea7354d6d4cbc4ffdb18a26a1129d3 Author: Rusty Russell Date: Mon Jul 30 16:31:43 2007 +1000 KVM: VMX: pass vcpu_vmx internally container_of is wonderful, but not casting at all is better. This patch changes vmx.c's internal functions to pass "struct vcpu_vmx" instead of "struct kvm_vcpu" and using container_of. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 9bd01506ee551689b90ba5822c28ef55207146af Author: Rusty Russell Date: Mon Jul 30 16:29:56 2007 +1000 KVM: fx_init() needs preemption disabled while it plays with the FPU state Now that kvm generally runs with preemption enabled, we need to protect the fpu intialization sequence. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 11ec2804711896546ee3c945f3786c7f9fdd175a Author: Shaohua Li Date: Mon Jul 23 14:51:37 2007 +0800 KVM: Convert vm lock to a mutex This allows the kvm mmu to perform sleepy operations, such as memory allocation. Signed-off-by: Shaohua Li Signed-off-by: Avi Kivity commit 15ad71460d75fd7ca41bb248a2310f3f39b302ba Author: Avi Kivity Date: Wed Jul 11 18:17:21 2007 +0300 KVM: Use the scheduler preemption notifiers to make kvm preemptible Current kvm disables preemption while the new virtualization registers are in use. This of course is not very good for latency sensitive workloads (one use of virtualization is to offload user interface and other latency insensitive stuff to a container, so that it is easier to analyze the remaining workload). This patch re-enables preemption for kvm; preemption is now only disabled when switching the registers in and out, and during the switch to guest mode and back. Contains fixes from Shaohua Li . Signed-off-by: Avi Kivity commit 519ef35341b4f360f072ea74e398b70a5a2fc270 Author: Jeff Dike Date: Mon Jul 16 15:24:47 2007 -0400 KVM: add hypercall nr to kvm_run Add the hypercall number to kvm_run and initialize it. This changes the ABI, but as this particular ABI was unusable before this no users are affected. Signed-off-by: Jeff Dike Signed-off-by: Avi Kivity commit 1c3d14fe0ab75337a3f6c06b6bc18bcbc2b3d0bc Author: Yang, Sheng Date: Sun Jul 29 11:07:42 2007 +0300 KVM: VMX: Improve the method of writing vmcs control Put cpu feature detecting part in hardware_setup, and stored the vmcs condition in global variable for further check. [glommer: fix for some i386-only machines not supporting CR8 load/store exiting] Signed-off-by: Sheng Yang Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Avi Kivity commit fb3f0f51d92d1496f9628ca6f0fb06a48dc9ed2a Author: Rusty Russell Date: Fri Jul 27 17:16:56 2007 +1000 KVM: Dynamically allocate vcpus This patch converts the vcpus array in "struct kvm" to a pointer array, and changes the "vcpu_create" and "vcpu_setup" hooks into one "vcpu_create" call which does the allocation and initialization of the vcpu (calling back into the kvm_vcpu_init core helper). Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit a2fa3e9f52d875f7d4ca98434603b8756be71ba8 Author: Gregory Haskins Date: Fri Jul 27 08:13:10 2007 -0400 KVM: Remove arch specific components from the general code struct kvm_vcpu has vmx-specific members; remove them to a private structure. Signed-off-by: Gregory Haskins Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit c820c2aa27bb5b6069aa708b0a0b44b59a16bfa7 Author: Rusty Russell Date: Wed Jul 25 13:29:51 2007 +1000 KVM: load_pdptrs() cleanups load_pdptrs can be handed an invalid cr3, and it should not oops. This can happen because we injected #gp in set_cr3() after we set vcpu->cr3 to the invalid value, or from kvm_vcpu_ioctl_set_sregs(), or memory configuration changes after the guest did set_cr3(). We should also copy the pdpte array once, before checking and assigning, otherwise an SMP guest can potentially alter the values between the check and the set. Finally one nitpick: ret = 1 should be done as late as possible: this allows GCC to check for unset "ret" should the function change in future. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 3ccb8827fb3bd389ed15320da83543d016a94822 Author: Aurelien Jarno Date: Wed Jul 25 11:41:57 2007 +0200 KVM: Remove dead code in the cmpxchg instruction emulation The writeback fixes (02c03a326a5df825cc01de426f72e160db2b9538) let some dead code in the cmpxchg instruction emulation. Remove it. Signed-off-by: Aurelien Jarno Signed-off-by: Avi Kivity commit 62b3ffb8b357a791491726cff8d395027e5245b7 Author: Yang, Sheng Date: Wed Jul 25 12:17:06 2007 +0300 KVM: VMX: Import some constants of vmcs from IA32 SDM This patch mainly imports some constants and rename two exist constants of vmcs according to IA32 SDM. It also adds two constants to indicate Lock bit and Enable bit in MSR_IA32_FEATURE_CONTROL, and replace the hardcode _5_ with these two bits. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit fe5518819463d57ed032bc12458ed681bc790609 Author: Shaohua Li Date: Mon Jul 23 14:51:39 2007 +0800 KVM: Move gfn_to_page out of kmap/unmap pairs gfn_to_page might sleep with swap support. Move it out of the kmap calls. Signed-off-by: Shaohua Li Signed-off-by: Avi Kivity commit 9ae0448f53324b3c476f68bd134d97ac4ec27e0c Author: Shaohua Li Date: Mon Jul 23 14:51:32 2007 +0800 KVM: Hoist kvm_mmu_reload() out of the critical section vmx_cpu_run doesn't handle error correctly and kvm_mmu_reload might sleep with mutex changes, so I move it above. Signed-off-by: Shaohua Li Signed-off-by: Avi Kivity commit 310bc76c2b6829cd280def4927b7ccf8b8c795df Author: Rusty Russell Date: Mon Jul 23 17:11:02 2007 +1000 KVM: Return if the pdptrs are invalid when the guest turns on PAE. Don't fall through and turn on PAE in this case. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 394b6e5944865a558fe25f0c5903b34c434038ee Author: Avi Kivity Date: Sun Jul 22 15:51:58 2007 +0300 KVM: x86 emulator: fix faulty check for two-byte opcode Right now, the bug is harmless as we never emulate one-byte 0xb6 or 0xb7. But things may change. Noted by the mysterious Gabriel C. Signed-off-by: Avi Kivity commit e3243452f4f35ed5f79d575100521bf257504b81 Author: Avi Kivity Date: Fri Jul 20 12:30:58 2007 +0300 KVM: x86 emulator: fix cmov for writeback changes The writeback fixes (02c03a326a5df825cc01de426f72e160db2b9538) broke cmov emulation. Fix. Signed-off-by: Avi Kivity commit 7075bc816cfad142da92207ed5a6f3da55b143ef Author: Rusty Russell Date: Tue Jul 17 23:37:17 2007 +1000 KVM: Use standard CR8 flags, and fix TPR definition Intel manual (and KVM definition) say the TPR is 4 bits wide. Also fix CR8_RESEVED_BITS typo. Signed-off-by: Rusty Russell Acked-by: H. Peter Anvin Signed-off-by: Avi Kivity commit 8fc0d085f521a2a76418f8f569cf1cd27f0e43d4 Author: Jeff Dike Date: Tue Jul 17 12:26:59 2007 -0400 KVM: Set exit_reason to KVM_EXIT_MMIO where run->mmio is initialized. Signed-off-by: Jeff Dike Signed-off-by: Avi Kivity commit 9eb829ced8c6f2e43a3a644ddf1279ffeee38a33 Author: Rusty Russell Date: Wed Jul 18 13:05:58 2007 +1000 KVM: Trivial: Use standard BITMAP macros, open-code userspace-exposed header Creating one's own BITMAP macro seems suboptimal: if we use manual arithmetic in the one place exposed to userspace, we can use standard macros elsewhere. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 66aee91aaab8f998d28a61ed7733be17ad8e6d8f Author: Rusty Russell Date: Tue Jul 17 23:34:16 2007 +1000 KVM: Use standard CR4 flags, tighten checking On this machine (Intel), writing to the CR4 bits 0x00000800 and 0x00001000 cause a GPF. The Intel manual is a little unclear, but AFIACT they're reserved, too. Also fix spelling of CR4_RESEVED_BITS. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit f802a307cb2cabdd0c6b48067dbe901d6fe27246 Author: Rusty Russell Date: Tue Jul 17 23:32:55 2007 +1000 KVM: Use standard CR3 flags, tighten checking The kernel now has asm/cpu-features.h: use those macros instead of inventing our own. Also spell out definition of CR3_RESEVED_BITS, fix spelling and tighten it for the non-PAE case. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 707d92fa72b425bc919a84670c01402e81505c58 Author: Rusty Russell Date: Tue Jul 17 23:19:08 2007 +1000 KVM: Trivial: Use standard CR0 flags macros from asm/cpu-features.h The kernel now has asm/cpu-features.h: use those macros instead of inventing our own. Also spell out definition of CR0_RESEVED_BITS (no code change) and fix typo. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 9a2b85c620b9779360c7726de4caeda78cac38d4 Author: Rusty Russell Date: Tue Jul 17 23:17:55 2007 +1000 KVM: Trivial: Avoid hardware_disable predeclaration Don't pre-declare hardware_disable: shuffle the reboot hook down. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit dcc0766b22e165bcb80518bf367e86b81fcf4351 Author: Rusty Russell Date: Tue Jul 17 23:16:56 2007 +1000 KVM: Trivial: Comment spelling may escape grep Speling error in comment. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 1e3c5cb0d5a63b7169708614bfba0c7f25aa493e Author: Rusty Russell Date: Tue Jul 17 23:16:11 2007 +1000 KVM: Trivial: Make decode_register() static I have shied away from touching x86_emulate.c (it could definitely use some love, but it is forked from the Xen code, and it would be more productive to cross-merge fixes). Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 5eb549a085c3500f2b9d8b48d40393b6e50b68a9 Author: Rusty Russell Date: Tue Jul 17 23:15:29 2007 +1000 KVM: Trivial: Remove unused struct cpu_user_regs declaration Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit dea8caee7b6971ae90e9d303b5d98dbf2dafed53 Author: Rusty Russell Date: Tue Jul 17 23:12:26 2007 +1000 KVM: Trivial: /dev/kvm interface is no longer experimental. KVM interface is no longer experimental. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 65619eb5a88dae3dadbb1050f957ed357aa54a50 Author: Eddie Dong Date: Tue Jul 17 11:52:33 2007 +0300 KVM: In-kernel string pio write support Add string pio write support to support some version of Windows. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 24cbc7e9cb0488095e4e144a762276c85ff55f9b Author: Avi Kivity Date: Tue Jul 17 11:45:55 2007 +0300 KVM: Future-proof the exit information union ABI Note that as the size of struct kvm_run is not part of the ABI, we can add things at the end. Signed-off-by: Avi Kivity commit dad3795d2baa4e02cbfd161d9089c73dea16b4ba Author: Qing He Date: Thu Jul 12 12:33:56 2007 +0300 KVM: SMP: Add vcpu_id field in struct vcpu This patch adds a `vcpu_id' field in `struct vcpu', so we can differentiate BSP and APs without pointer comparison or arithmetic. Signed-off-by: Qing He Signed-off-by: Avi Kivity commit cd0d91379776cb6850c7b11c0a8843ca75967558 Author: Nguyen Anh Quynh Date: Wed Jul 11 14:30:54 2007 +0300 KVM: Fix *nopage() in kvm_main.c *nopage() in kvm_main.c should only store the type of mmap() fault if the pointers are not NULL. This patch fixes the problem. Signed-off-by: Nguyen Anh Quynh Signed-off-by: Avi Kivity commit 81fe96bde7db24c02adf245604f073ea9e8d941a Author: Avi Kivity Date: Thu Sep 27 10:07:04 2007 +0200 i386: Expose IOAPIC register definitions even if CONFIG_X86_IO_APIC is not set KVM reuses the IOAPIC register definitions, and needs them even if the host is not compiled with IOAPIC support. Move the #ifdef below so that only the IOAPIC variables and functions are protected, and the register definitions are available to all. Signed-off-by: Avi Kivity commit 70093178b6eda34e4a4fb18cc4a48a9eacc01d98 Author: Richard Purdie Date: Sat Oct 13 00:38:52 2007 -0400 Input: remove tsdev interface Remove the obsolete tsdev.c driver as scheduled. Signed-off-by: Richard Purdie Signed-off-by: Dmitry Torokhov commit 8f740ef391fc81cb887fa08d213cf67b843cb3b7 Author: Michael Hennerich Date: Sat Oct 13 00:36:46 2007 -0400 Input: add support for Blackfin BF54x Keypad controller Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Dmitry Torokhov commit 937ad5c1e35191d29d305280525394fe87f4ac4f Author: Soeren Sonnenburg Date: Sat Oct 13 00:31:15 2007 -0400 Input: appletouch - another fix for idle reset logic Make sure we reset idlecount when we get a good (non-empty) packet. Signed-off-by: Soeren Sonnenburg Signed-off-by: Dmitry Torokhov commit 752097cec53eea111d087c545179b421e2bde98a Author: Jeff Garzik Date: Fri Oct 12 22:34:40 2007 -0400 x86/pci/acpi: fix DMI const-ification fallout Fix DMI const-ification fallout that appeared when merging subsystem trees. Signed-off-by: Jeff Garzik Signed-off-by: Linus Torvalds commit b6c7347fffa655a3000d9d41640d222c19fc3065 Author: Nick Piggin Date: Sat Oct 13 03:07:38 2007 +0200 x86: optimise barriers According to latest memory ordering specification documents from Intel and AMD, both manufacturers are committed to in-order loads from cacheable memory for the x86 architecture. Hence, smp_rmb() may be a simple barrier. Also according to those documents, and according to existing practice in Linux (eg. spin_unlock doesn't enforce ordering), stores to cacheable memory are visible in program order too. Special string stores are safe -- their constituent stores may be out of order, but they must complete in order WRT surrounding stores. Nontemporal stores to WB memory can go out of order, and so they should be fenced explicitly to make them appear in-order WRT other stores. Hence, smp_wmb() may be a simple barrier. http://developer.intel.com/products/processor/manuals/318147.pdf http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/24593.pdf In userspace microbenchmarks on a core2 system, fence instructions range anywhere from around 15 cycles to 50, which may not be totally insignificant in performance critical paths (code size will go down too). However the primary motivation for this is to have the canonical barrier implementation for x86 architecture. smp_rmb on buggy pentium pros remains a locked op, which is apparently required. Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds commit 4071c718555d955a35e9651f77086096ad87d498 Author: Nick Piggin Date: Sat Oct 13 03:06:55 2007 +0200 x86: fix IO write barrier wmb() on x86 must always include a barrier, because stores can go out of order in many cases when dealing with devices (eg. WC memory). Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds commit df1bdc0667eb3132fe60b3562347ca9133694ee0 Author: Nick Piggin Date: Sat Oct 13 03:06:00 2007 +0200 x86: fence oostores on 64-bit movnt* instructions are not strongly ordered with respect to other stores, so if we are to assume stores are strongly ordered in the rest of the 64 bit code, we must fence these off (see similar examples in 32 bit code). [ The AMD memory ordering document seems to say that nontemporal stores can also pass earlier regular stores, so maybe we need sfences _before_ movnt* everywhere too? ] Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds commit aefca8ba5f1b95431e33a52736bab128fc4f80d4 Author: Dmitry Torokhov Date: Fri Oct 12 21:30:36 2007 -0400 HWMON: hdaps - switch to using input-polldev Switch to using input-polldev skeleton instead of implementing polling loop by itself. This also fixes problem with trylock on a mutex in atomic context. Signed-off-by: Dmitry Torokhov commit 2b9e0aae1d50e880c58d46788e5e3ebd89d75d62 Author: Linus Torvalds Date: Fri Oct 12 17:58:36 2007 -0700 Only enable BLOCK_COMPAT if COMPAT is needed IOW, it needs to depend on both CONFIG_BLOCK and CONFIG_COMPAT. Signed-off-by: Linus Torvalds commit b11d2127c4893a7315d1e16273bc8560049fa3ca Author: Adrian McMenamin Date: Fri Oct 12 20:36:13 2007 -0400 Input: add support for SEGA Dreamcast keyboard Signed-off by: Adrian McMenamin Acked-by: Arjan van de Ven Signed-off-by: Dmitry Torokhov commit ece8a9e4f011b038396c7649a8407ca9171be4a9 Author: Ralf Baechle Date: Fri Oct 12 15:03:38 2007 +0100 [MIPS] SMP: Fix use of cpumasks. Noticed by Nick Piggin . Signed-off-by: Ralf Baechle commit 6f1ca1d2869814711bcf983cfc0803cfd0b29f27 Author: Ralf Baechle Date: Fri Oct 12 15:39:45 2007 +0100 [MIPS] Revert "[MIPS] tlbex.c: Cleanup __init usage." This reverts commit aaf76a3245c02faba51c96b9a340c14d6bb0dcc0. As requested by ranck Bui-Huu . Signed-off-by: Ralf Baechle commit 57f17e8e15a8e392312450e28f80d6a90470e066 Author: Ralf Baechle Date: Fri Oct 12 12:29:21 2007 +0100 [MIPS] CFE: Add missing parenthesis. Signed-off-by: Ralf Baechle commit 8bd0983e05757e5c1f7a3342cd09badae93c167d Author: Andi Kleen Date: Sat Oct 13 01:01:08 2007 +0200 Update maintainers file Since there is no x86-64 architecture anymore it cannot be maintained. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 58273e553d3d2a6b1a302f1b79eb263190554345 Author: Russell King Date: Fri Oct 12 22:24:09 2007 +0100 [ARM] Update arch/arm/Kconfig for drivers/Kconfig changes Signed-off-by: Russell King commit 1e621a8e3752367d4aae78a8ab00a18fb2793f34 Author: Lennert Buytenhek Date: Fri Oct 12 14:38:54 2007 +0100 [ARM] 4600/1: fix kernel build failure with build-id-supporting binutils Newer versions of binutils support --build-id, which adds an ELF note section called ".note.gnu.build-id" to the output. On the ARM kernel build, because there is no explicit mention of this section in the shipped ld script, this section is placed at vaddr 0x00000000 (whereas the normal kernel text/data typically starts at vaddr 0xc0008000), causing the output of objcopy (Image) to produce a 3G+ file. This patch makes objcopy strip the .note.gnu.build-id section from the Image file along with all other note sections, which fixes the build. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 033b8ffe3f1ea8174d51d125838ac6deea60f63f Author: Mike Westerhof Date: Thu Oct 11 03:18:14 2007 +0100 [ARM] 4599/1: Preserve ATAG list for use with kexec (2.6.23) This patch resolves a kexec boot failure that can occur because no ATAGs are passed in to the kexec'd kernel. Currently the newly-kexec'd kernel may fail if it requires specific ATAGs, or it may fail because the fixed memory location at which it expects to find the ATAGs may contain random data instead of ATAGs. The patch ensures that any ATAGs passed to the current kernel at boot time are copied to a static buffer, and are copied back when kexec copies the new kernel into place. Thus the new kernel sees the same ATAGs from kexec and the boot loader. The boot parameters are copied without regard to type, content, or length -- this patch's scope is limited soley to saving and restoring a fixed-size block of memory containing the kernel's boot parameters. Additional functionality to examine, alter, or replace the ATAGs (using kexec, for example) can be implemented by manipulating the static buffer containing the preserved ATAGs. Note: the size of the buffer (1.5KB) is selected to comfortably hold one of each ATAG type, including a maximum-length command line and the maximum number of ATAG_MEM structures currently supported by the kernel. Should an ATAG list exceed that limit, the list will be silently truncated to that limit (to do other- wise at that point in the boot process would make a simple problem exceedingly complicated). [Note: this is the same patch as 4579, modified to accomodate the ATAG changes introduced in 2.6.23] Signed-off-by: Mike Westerhof Signed-off-by: Russell King commit 84aa462e2c2cd1b921f6b8e283f8d41666e02e8e Author: Russell King Date: Tue Oct 9 14:17:01 2007 +0100 [ARM] Rename consistent_sync() as dma_cache_maint() consistent_sync() is used to handle the cache maintainence issues with DMA operations. Since we've now removed the misuse of this function from the two MTD drivers, rename it to prevent future mis-use. Signed-off-by: Russell King commit 353ba84acdd551c737ac71577322393fceb969f0 Author: Herbert Valerio Riedel Date: Sun Sep 23 08:30:16 2007 +0100 [ARM] 4572/1: ep93xx: add cirrus logic edb9307 support This patch adds support for the Cirrus Logic EDB9307, an evaluation board based on the Cirrus Logic EP9307 SoC, which features amongst other things 64M RAM, 32M NOR flash, 3 USB host ports, audio in/out, two serial ports and a 10/100 ethernet interface. Signed-off-by: Herbert Valerio Riedel Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit f3fb5a556c99118186581e6546a9c41e1f73cf6f Author: Ben Dooks Date: Thu Oct 4 21:41:20 2007 +0100 [ARM] 4596/1: S3C2412: Correct IRQs for SDI+CF and add decoding support Fix the IRQ numbers of the CF and SDI interface on the S3C2412 and S3C2413. Add support to handle these IRQs properly and ensure that the SDI controller platform device is correctly renumbered. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 361c7ad607bc0e84ef0fef8c3f11c47b33c06e41 Author: Uwe Kleine-König Date: Sun Sep 30 20:36:33 2007 +0100 [ARM] 4595/1: ns9xxx: define registers as void __iomem * instead of volatile u32 As a consequence registers are now accessed with __raw_{read,write}[bl]. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit c54ecb2481d464d50520ce60cf36011b68d1e89a Author: Uwe Kleine-König Date: Sun Sep 30 20:36:14 2007 +0100 [ARM] 4594/1: ns9xxx: use the new gpio functions Up to now only board-a9m9750dev.c used GPIOs. It just wrote directly into the corresponding registers. Now it properly reserves the gpio and uses the API function to configure it. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit c0bb87f7b8a145b56d45484713e1b1f37ce7e626 Author: Uwe Kleine-König Date: Sun Sep 30 20:36:00 2007 +0100 [ARM] 4593/1: ns9xxx: implement generic clockevents Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit cef5975d453bbc1bbf29ceb7d80749feebc22a74 Author: Uwe Kleine-König Date: Sun Sep 30 20:35:48 2007 +0100 [ARM] 4592/1: ns9xxx: clocksource driver Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit f02e579558cf2aba06ecc7d4515661286b60f411 Author: Uwe Kleine-König Date: Sun Sep 30 20:35:27 2007 +0100 [ARM] 4591/1: ns9xxx: simplify REGSET, REGGET and introduce ..._IDX variants The semantic of the REGSET macros didn't change, but hopefully it's more obvious as it's now. REGGET is changed to return the unshifted value, analogous to REGSET. REGGETIM behaves as REGGET before. All callers changed. ..._IDX is used to work with registers that need a parameter like BBU_GCONFb1. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 689f2a01e68c0033f59055dd816ff27dc51f9dcc Author: Uwe Kleine-König Date: Sun Sep 30 20:35:09 2007 +0100 [ARM] 4590/1: ns9xxx: add gpio handling functions This implementation conforms to the general GPIO API introduced in 2.6.21. This patch was signed-of by David Brownell before I exported the functions using EXPORT_SYMBOL. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit ba7d850a02c7c3357ec488776405470534e7ccf8 Author: Uwe Kleine-König Date: Sun Sep 30 20:34:41 2007 +0100 [ARM] 4589/1: ns9xxx: acknowledge IRQ_EXT2 in the demux routine for FPGA irqs The FPGA on the a9m9750dev board interrupts the CPU via EXT2. So to acknowledge any FPGA interrupt IRQ_EXT2 must be acknowledged. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit ff9e76aaba13f6f6bae31c9ac2aa2a50f5cdd801 Author: Rob Landley Date: Sun Sep 30 22:23:01 2007 -0500 [ARM] Add missing entries to Documentation/arm/00-INDEX Add several missing entries to Documentation/arm/00-INDEX Signed-off-by: Rob Landley Signed-off-by: Russell King commit cba774ae8731699d39cbaf979aa4a0b351045924 Author: Russell King Date: Sun Sep 30 17:39:05 2007 +0100 [ARM] Add rtc-cmos driver for ISA-based footbridge platforms ... but the rtc-cmos is rather broken; if PNP is enabled, it assumes that we have ACPI (!) which is quite bogus on these platforms - which may have ISAPNP but not ACPI. Something to be solved in the future. Signed-off-by: Russell King commit 883042d6ea31fcaffb0b8763cadfbcb2862ebc48 Author: Russell King Date: Sun Sep 30 17:37:24 2007 +0100 [ARM] Add fallocate syscall entry Signed-off-by: Russell King commit 700dc2b5374cf142da8a2837d162a7b26a2946fc Author: Ben Dooks Date: Sun Sep 30 10:00:10 2007 +0100 [ARM] 4588/1: S3C2412: Sleep configuration updates Make the S3C2412 sleep configuration clearer. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 6c729af9f05c7aae06ce89a27f91e24b1482544d Author: Ben Dooks Date: Sun Sep 30 09:59:15 2007 +0100 [ARM] 4587/1: S3C24XX: Add magic number before resume code Add a magic number before the resume code so that a bootloader can check that there is an image to resume to. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 987240cc01faf90100ace8f554ac145c2dfb085c Author: Ben Dooks Date: Sun Sep 30 09:56:13 2007 +0100 [ARM] 4586/1: S3C2412: power register updates Add the INFORM register block which are retained over sleep. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 180005c4efb76a81fd0abcef4c2412d238eea20c Author: Catalin Marinas Date: Tue Sep 25 16:49:45 2007 +0100 [ARM] 4585/1: Correctly identify the CPU architecture version The cpu_architecture() function in arch/arm/kernel/setup.c only works with cores produced by ARM Ltd. The more generic approach is to read the ID_MMFR0 register and check for the VMSA or PMSA version supported. With this patch, the ARM11MPCore would be reported as ARMv7 since its MMU is compatible with ARMv7. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit c1f438f5eec867707022e5f33bec5e91ec12f6e7 Author: Catalin Marinas Date: Tue Sep 25 15:21:00 2007 +0100 [ARM] 4581/1: Fix the conditional execution of the NWFPE instructions Starting with ARMv7-A, conditional execution of undefined instructions can trigger an exception even if the condition check fails. This patch modifies the NWFPE support to check the condition before emulating the instruction. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit ec6b1482265ec8430fc38c79205567c3601d8901 Author: Mariusz Kozlowski Date: Thu Sep 20 20:02:22 2007 +0100 [ARM] unbalanced parenthesis fix Fix unbalanced parenthesis. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 1a10497cfb3ea79bed1470683d4ec5c189febaa6 Author: Thomas Gleixner Date: Tue Aug 28 09:02:56 2007 +0000 [ARM] cleanup struct irqaction initializers Signed-off-by: Thomas Gleixner Signed-off-by: Russell King commit 4b9ced769177a9e7a96d0e98a09cb5e6b1d506da Author: Adrian Bunk Date: Mon Aug 27 23:29:21 2007 +0200 [ARM] omap1/leds-innovator.c: remove dead code This patch removes dead code. Signed-off-by: Adrian Bunk Signed-off-by: Russell King commit 38598105217f65d21b5f5253c5755af9463c9e9a Author: Adrian Bunk Date: Mon Aug 27 23:28:17 2007 +0200 [ARM] "extern inline" -> "static inline" "extern inline" will have different semantics with gcc 4.3. Signed-off-by: Adrian Bunk Signed-off-by: Russell King commit 5e802dfab7bbbee1e63607a3e6d1ceb78ec4ceeb Author: David Brownell Date: Tue Jul 31 01:41:26 2007 +0100 [ARM] 4539/1: clocksource and clockevents for at91rm9200 GENERIC_TIME and GENERIC_CLOCKEVENTS support for the at91rm9200. - Oneshot mode (used for NO_HZ and high res timers) uses the alarm to emulate a real oneshot timer; the trickiest bit is how to avoid some lowlevel races. Thanks to Remy Bohmer for various fixes to this code. - Tighten up periodic mode support using the PIT. - Streamline reads of the 32KHz counter. Thanks to Marc Pignat for some testing results: the CRTR register has *very* odd behavior. The reread appears to work around stranger glitches than just getting an old clock value (which would quickly self-correct). - Remove the rounding-up of tick_usec to 10.009 msec (32KiHz/100), since that no longer acts correct (time increases too fast). Note that the at91sam9 and at91x40 chips need other solutions, since they don't have the same system timer module. Signed-off-by: David Brownell Acked-by: Bill Gatliff Acked-by:Remy Bohmer Signed-off-by: Russell King commit f2c10d6c669e5b792c48e86da37ec7fde0a2e302 Author: Krzysztof Helt Date: Tue Sep 4 17:19:33 2007 +0100 [ARM] 4566/1: s3c24xx: fix dma functions section mismatch This patch removes section mismatches related to DMA functions. Signed-off-by: Krzysztof Helt Acked-by: Ben Dooks Signed-off-by: Russell King commit 008d931c45cd39f7b8a8b99926b557b183074858 Author: Krzysztof Helt Date: Tue Sep 4 17:18:04 2007 +0100 [ARM] 4565/1: s3c2443: fix section mismatch in irq.c file This patch removes section mismatches related to irq functions. Signed-off-by: Krzysztof Helt Acked-by: Ben Dooks Signed-off-by: Russell King commit e16edefe6532c032d86ee802b63972e3a1e953a9 Author: Alan Hourihane Date: Sun Sep 2 19:59:34 2007 +0100 [ARM] 4564/1: Add tagged list support for Acorn RiscPC's uncompress code arch_decomp_setup() does not understand the new tagged lists for parameter setup. It's fixed in using the older param struct. This patch adds support for tagged lists and allows the older param struct too. Signed-off-by: Alan Hourihane Signed-off-by: Russell King commit bf62e8626963d0002315facb786a8833d404e21e Author: Uwe Kleine-König Date: Tue Aug 7 21:08:21 2007 +0100 [ARM] 4545/1: ns9xxx: simplify irq ack'ing Now the drivers are responsible to clear the irq in the respective device, which seems to be the normal thing to do. So the ack'ing of the timer irq moved to time.c. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 9f1ccefe3f74e642515ba58868cfd6924056d9a8 Author: Greg Ungerer Date: Mon Jul 30 02:39:21 2007 +0100 [ARM] 4536/1: configure support for AT91x40 and EB01 Configuration support for the AT91x40 CPU and EB01 board. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit ea00e30307c9fa4cfe996359982cea2b867b13fc Author: Greg Ungerer Date: Mon Jul 30 02:39:15 2007 +0100 [ARM] 4537/1: build support for AT91x40 and EB01 Makefile build support for the Atmel AT91x40 CPU and EB01 board support. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit d517bd012d866338cdd16884223ee848dfb1e3c0 Author: Greg Ungerer Date: Mon Jul 30 02:39:10 2007 +0100 [ARM] 4538/1: Atmel EB01 board support Support for the Atmel EB01 board (based on the Atmel AT91x40 CPU). Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit 9a7e246b53a74ca0eed7c917aa274fbb25f61a68 Author: Greg Ungerer Date: Mon Jul 30 02:39:02 2007 +0100 [ARM] 4535/1: AT91x40 function prototypes Prototypes for the at91x40 CPU support functions. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit eb1d65aa1b21c9021949c0ece443501b0c135fef Author: Greg Ungerer Date: Mon Jul 30 02:38:57 2007 +0100 [ARM] 4534/1: AT91x40 interrupt support Interrupt setup support for the Atmel AT91x40 CPU family. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit 699a714501f028b1db2bf741111a0df856128899 Author: Greg Ungerer Date: Mon Jul 30 02:38:47 2007 +0100 [ARM] 4533/1: AT91x40 timer support Support for the timers in the Atmel AT91x40 family of CPUs. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit 7a8be08b1be0bb2a973787bdf888e0a4177cdcd8 Author: Greg Ungerer Date: Mon Jul 30 02:26:08 2007 +0100 [ARM] 4532/1: allow configuration of processor ID Allow for configuration of the processor ID for the simplar non-MMU ARM parts. Signed-off-by: Greg Ungerer Signed-off-by: Russell King commit 2010d7fe787b39afd31daba5d5284dd432de4e8f Author: Kenji Kaneshige Date: Sat Sep 1 16:37:48 2007 +0900 [IA64] Fix kernel hangup in kdump on INIT Fix the problem that kdump on INIT hung up if kdump kernel image is not configured. The kdump_init_notifier() on monarch CPU stops its operation at DIE_INIT_MONARCH_LEAVE time if the kdump kernel image is not configured. On the other hand, kdump_init_notifier() on non-monarch CPUs get into spin because they don't know the fact the monarch stops its operation. This is the cause of this problem. To fix this problem, we need to check the kdump kernel image at the top of the kdump_init_notifier() function. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit ac542a513bd7905fa1a700881e0a40a94d3ed46a Author: Kenji Kaneshige Date: Sat Sep 1 16:36:26 2007 +0900 [IA64] Fix kernel panic in kdump on INIT Fix the problem that kdump on INIT causes a kernel panic if kdump kernel image is not configured. The cause of this problem is machine_kexec_on_init() is using printk in INIT context. It should use ia64_mca_printk() instead. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit a62c9fe4637f62e3901f8268778dbc8100281d40 Author: Simon Horman Date: Wed Sep 19 14:02:20 2007 +0900 [IA64] Remove vector from ia64_machine_kexec() The use of vector in ia64_machine_kexec() seems spurious, and removing it simplifies the code slightly. As suggested by Alex Williamson Cc: Alex Williamson Signed-off-by: Simon Horman Signed-off-by: Tony Luck commit e1b1eb011e15190eb859bad0bcae67679bda7d50 Author: Russ Anderson Date: Wed Sep 19 16:58:31 2007 -0500 [IA64] Fix race when multiple cpus go through MCA Additional testing uncovered a situation where the MCA recovery code could hang due to a race condition. According to the SAL spec, SAL sends a rendezvous interrupt to all but the first CPU that goes into MCA. This includes other CPUs that go into MCA at the same time. Those other CPUs will go into the linux MCA handler (rather than the slave loop) with the rendezvous interrupt pending. When all the CPUs have completed MCA processing and the last monarch completes, freeing all the CPUs, the CPUs with the pended rendezvous interrupt then go into the ia64_mca_rendez_int_handler(). In ia64_mca_rendez_int_handler() the CPUs get marked as rendezvoused, but then leave the handler (due to no MCA). That leaves the CPUs marked as rendezvoused _before_ the next MCA event. When the next MCA hits, the monarch will mistakenly believe that all the CPUs are rendezvoused when they are not, opening up a window where a CPU can get stuck in the slave loop. This patch avoids leaving CPUs marked as rendezvoused when they are not. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit 2bc5c282999af41042c2b703bf3a58ca1d7e3ee2 Author: Russ Anderson Date: Thu Sep 20 13:59:12 2007 -0500 [IA64] Remove needless delay in MCA rendezvous While testing the MCA recovery code, noticed that some machines would have a five second delay rendezvousing cpus. What was happening is that ia64_wait_for_slaves() would check to see if all the slave CPUs had rendezvoused. If any had not, it would wait 1 millisecond then check again. If any CPUs had still not rendezvoused, it would wait 5 seconds before checking again. On some configs the rendezvous takes more than 1 millisecond, causing the code to wait the full 5 seconds, even though the last CPU rendezvoused after only a few milliseconds. The fix is to check every 1 millisecond to see if all the cpus have rendezvoused. After 5 seconds the code concludes the CPUs will never rendezvous (same as before). The MCA code is, by definition, not performance critical, but a needless delay of 5 seconds is senseless. The 5 seconds also adds up quickly when running the error injection code in a loop. This patch both simplifies the code and removes the needless delay. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit 28eda5b8b434b65e5feb0c58a7477f3f290d72d4 Author: Bjorn Helgaas Date: Thu Sep 20 14:22:03 2007 -0600 [IA64] add driver for ACPI methods to call native firmware This driver for HPQ5001 devices installs a global ACPI OpRegion handler. AML methods can use this OpRegion to call native firmware entry points. ACPI does not define a mechanism for AML methods to call native firmware interfaces such as PAL or SAL. This OpRegion handler adds such a mechanism. After the handler is installed, an AML method can call native firmware by storing the arguments and firmware entry point to specific offsets in the OpRegion. When AML reads the "return value" offset from the OpRegion, this handler loads up the arguments, makes the firmware call, and returns the result. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Tony Luck commit edbe7075d144b35e8232ca32f373c1e0c26ff085 Author: Bjorn Helgaas Date: Thu Sep 20 14:21:11 2007 -0600 [IA64] abstract SAL_CALL wrapper to allow other firmware entry points SAL_CALL() always calls through the ia64_sal function pointer. I am adding new functionality that needs the same conventions as SAL_CALL (FP regs saved/restored, sal_lock acquired, etc), but doesn't use the ia64_sal function pointer. This patch pulls the body of SAL_CALL out into a new "IA64_FW_CALL" that takes care of these calling conventions, but allows the caller to specify either ia64_sal or some other firmware entry point. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Tony Luck commit f3e6f164c2389853432454c89b316a8ab7485e2f Author: Greg Kroah-Hartman Date: Fri Oct 12 14:07:23 2007 -0700 PCI: merge almost all of pci_32.h and pci_64.h together It was just duplicated code... Signed-off-by: Greg Kroah-Hartman commit a79e4198d1effbba040e9bf407a95fc9b3418789 Author: Jeff Garzik Date: Thu Oct 11 16:58:30 2007 -0400 PCI: X86: Introduce and enable PCI domain support * fix bug in pci_read() and pci_write() which prevented PCI domain support from working (hardcoded domain 0). * unconditionally enable CONFIG_PCI_DOMAINS * implement pci_domain_nr() and pci_proc_domain(), as required of all arches when CONFIG_PCI_DOMAINS is enabled. * store domain in struct pci_sysdata, as assigned by ACPI * support "pci=nodomains" Signed-off-by: Jeff Garzik Cc: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 32a2eea795643929a43cbbba00d8c4a176b309bf Author: Jeff Garzik Date: Thu Oct 11 16:57:27 2007 -0400 PCI: Add 'nodomains' boot option, and pci_domains_supported global * Introduce pci_domains_supported global, hardcoded to zero if !CONFIG_PCI_DOMAINS. * Introduce 'nodomains' boot option, which clears pci_domains_supported on platforms that enable it by default (x86, x86-64, and others when they are converted to use this). Signed-off-by: Jeff Garzik Cc: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 11949255d9433ea6c0908b7390ec4faecd1d4cf0 Author: Gary Hade Date: Mon Oct 8 16:24:16 2007 -0700 PCI: modify PCI bridge control ISA flag for clarity Modify PCI Bridge Control ISA flag for clarity This patch changes PCI_BRIDGE_CTL_NO_ISA to PCI_BRIDGE_CTL_ISA and modifies it's clarifying comment and locations where used. The change reduces the chance of future confusion since it makes the set/unset meaning of the bit the same in both the bridge control register and bridge_ctl field of the pci_bus struct. Signed-off-by: Gary Hade Acked-by: Linas Vepstas Cc: Ivan Kokshaysky Signed-off-by: Greg Kroah-Hartman commit 62f420f828249f686aaae949ac3439d1304a759a Author: Gary Hade Date: Wed Oct 3 15:56:51 2007 -0700 PCI: use _CRS for PCI resource allocation Use _CRS for PCI resource allocation This patch resolves an issue where incorrect PCI memory and i/o ranges are being assigned to hotplugged PCI devices on some IBM systems. The resource mis-allocation not only makes the PCI device unuseable but often makes the entire system unuseable due to resulting machine checks. The hotplug capable PCI slots on the affected systems are not located under a standard P2P bridge but are instead located under PCI root bridges or subtractive decode P2P bridges. For example, the IBM x3850 contains 2 hotplug capable PCI-X slots and 4 hotplug capable PCIe slots with the PCI-X slots each located under a PCI root bridge and the PCIe slots each located under a subtractive decode P2P bridge. The current i386/x86_64 PCI resource allocation code does not use _CRS returned resource information. No other resource information source is available for slots that are not below a standard P2P bridge so incorrect ranges are being allocated from e820 hole causing the bad result. This patch causes the kernel to use _CRS returned resource info. It is roughly based on a change provided by Matthew Wilcox for the ia64 kernel in 2005. Due to possible buggy BIOS factor and possible yet to be discovered kernel issues the function is disabled by default and can be enabled with pci=use_crs. Signed-off-by: Gary Hade Signed-off-by: Greg Kroah-Hartman commit fd64cb4606cbdd592b7119e82341d4ae5b56f2cc Author: Gary Hade Date: Wed Oct 3 15:56:30 2007 -0700 PCI: avoid P2P prefetch window for expansion ROMs Avoid creating P2P prefetch window for expansion ROMs Because of the future possibility that P2P prefetch windows will contain address ranges above 4GB some BIOSes are providing space in the P2P non-prefetch windows for expansion ROMs. This is due to expansion ROM BAR 32-bit limitation. When expansion ROM BARs without BIOS assigned address(es) are currently found behind a P2P bridge, the kernel attempts to create a P2P prefetch window for them even though space for them has already been provided in the non-prefetch window. _CRS on some systems with certain resource conservation conscious BIOSes may not provide the extra 1MB or more memory resource needed for the expansion ROM motivated prefetch window causing resource allocation errors. This change corrects the problem by removing IORESOURCE_PREFETCH from the expansion ROM flags initialization. It also removes IORESOURCE_CACHEABLE which seems inappropriate if only non-cacheable memory is available. Signed-off-by: Gary Hade Signed-off-by: Greg Kroah-Hartman commit 036fff4cf732c4d69f99a2915924935705744b00 Author: Gary Hade Date: Wed Oct 3 15:56:14 2007 -0700 PCI: skip ISA ioresource alignment on some systems Skip ISA ioresource alignment on some systems To conserve limited PCI i/o resource on some IBM multi-node systems, the BIOS allocates (via _CRS) and expects the kernel to use addresses in ranges currently excluded by pcibios_align_resource() [i386/pci/i386.c]. This change allows the kernel to use the currently excluded address ranges on the IBM x3800, x3850, and x3950. Signed-off-by: Gary Hade Signed-off-by: Greg Kroah-Hartman commit 8fa5913d54f3b1e09948e6a0db34da887e05ff1f Author: Gary Hade Date: Wed Oct 3 15:55:51 2007 -0700 PCI: remove transparent bridge sizing Remove transparent bridge sizing. Due to code in pci_read_bridge_bases() [drivers/pci/probe.c] the child bus of a transparent bridge already has access to the parent bus resources so transparent bridge sizing appears unnecessary. The bridge sizing includes alignment and granularity adjustments that can cause significantly more memory to be reserved from the parant bus than required by devices on the child bus and allotted by _CRS. Signed-off-by: Gary Hade Signed-off-by: Greg Kroah-Hartman commit ecb3908046ce9ce7feb44e2c2cf77ccdbe231f70 Author: David Rientjes Date: Thu Sep 27 13:41:17 2007 -0700 pci: write file size to inode on proc bus file write When a /proc/bus/pci file is written to, the size of that PCI device's configuration space must be written to the inode. Otherwise, it is possible for the file to specify a size of 0 on stat if a task is holding the same file open. Signed-off-by: David Rientjes Signed-off-by: Greg Kroah-Hartman commit cd68602f36ceb65b24a9abcae10ca04a933c07fd Author: David Rientjes Date: Thu Sep 27 13:41:16 2007 -0700 pci: use size stored in proc_dir_entry for proc bus files On pci_proc_attach_device(), the size of the PCI configuration space is stored in the proc_dir_entry as the size of the file. Thus, the procfs interface to PCI devices should use it instead of the device directly. Signed-off-by: David Rientjes Signed-off-by: Greg Kroah-Hartman commit 7f785763660e75c9eddaddea3d618696af4ae3a2 Author: Randy Dunlap Date: Fri Oct 5 13:17:58 2007 -0700 pci: implement "pci=noaer" For cases in which CONFIG_PCIEAER=y (such as distro kernels), allow users to disable PCIE Advanced Error Reporting by using "pci=noaer" on the kernel command line. This can be used to work around hardware or (kernel) software problems. Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit fd6e732186ab522c812ab19c2c5e5befb8ec8115 Author: Yoichi Yuasa Date: Tue Oct 2 14:19:23 2007 -0700 PCI: fix IDE legacy mode resources I got the following error on MIPS Cobalt. PCI: Unable to reserve I/O region #1:8@f00001f0 for device 0000:00:09.1 pata_via 0000:00:09.1: failed to request/iomap BARs for port 0 (errno=-16) PCI: Unable to reserve I/O region #3:8@f0000170 for device 0000:00:09.1 pata_via 0000:00:09.1: failed to request/iomap BARs for port 1 (errno=-16) pata_via 0000:00:09.1: no available native port The legacy mode IDE resources set the following order. pci_setup_device() Legacy mode ATA controllers have fixed addresses. IDE resources: 0x1F0-0x1F7, 0x3F6, 0x170-0x177, 0x376 | V pcibios_fixup_bus() MIPS Cobalt PCI bus regions have the -0x10000000 offset from PCI resources. pcibios_fixup_bus() fix PCI bus regions. 0x1F0 - 0x10000000 = 0xF00001F0 | V ata_pci_init_one() PCI: Unable to reserve I/O region #1:8@f00001f0 for device 0000:00:09.1 In some architectures, PCI bus regions have the offset from PCI resources. For this reason, pci_setup_device() should set PCI bus regions to dev->resource[]. [akpm@linux-foundation.org: use struct initialiser] Signed-off-by: Yoichi Yuasa Cc: Alan Cox Cc: Greg KH Cc: Bartlomiej Zolnierkiewicz Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit cbf5d9e6b9bcf03291cbb51db144b3e2773a8a2d Author: Roland Dreier Date: Wed Oct 3 11:15:11 2007 -0700 MSI: Use correct data offset for 32-bit MSI in read_msi_msg() While reading the MSI code trying to find a reason why MSI wouldn't work for devices that have a 32-bit MSI address capability, I noticed that read_msi_msg() seems to read the message data from the wrong offset in this case. Signed-off-by: Roland Dreier Acked-by: Eric W. Biederman Cc: stable Signed-off-by: Greg Kroah-Hartman commit a56bc69a182f501582557af7fad5bc882b1c856c Author: Michael Ellerman Date: Fri Sep 14 15:33:13 2007 +1000 PCI: Fix incorrect argument order to list_add_tail() in PCI dynamic ID code The code for dynamically assigning new ids to PCI drivers, store_new_id(), calls list_add_tail() with the list head and new node arguments in reversed order. The result is that every new id written essentially overwrites the previous list of ids. Caught with the help of Rusty's "horribly bad" list_node patch: http://lkml.org/lkml/2007/6/10/10 Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 5b1ea82fa245d4be6409cdba7e522ecb0b966b3c Author: Juha Laiho Date: Thu Sep 13 21:21:34 2007 +0300 PCI: i386: Compaq EVO N800c needs PCI bus renumbering Force PCI bus renumbering for Compaq EVO N800c laptop, in order to get the cardbus slot recognised. Signed-off-by: Juha Laiho Signed-off-by: Greg Kroah-Hartman commit 4904e23b6b37c748a35bb2bd14ea325d0592e671 Author: Michael Ellerman Date: Thu Sep 20 12:48:23 2007 +1000 PCI: Remove no longer correct documentation regarding MSI vector assignment The MSI vector reservation system described in Documentation/MSI-HOWTO.txt was removed by Eric in 92db6d10bc1bc43330a4c540fa5b64c83d9d865f. Remove the references to it in the documentation. While we're here § 5.5.1 refers to x86 hardware requirements, so make that clear. Signed-off-by: Michael Ellerman Cc: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 346ca04d050ac48ceb8e4a6b1c76c2d7fd5d1a6a Author: Johannes Goecke Date: Mon Sep 10 10:46:52 2007 +0200 PCI: re-enable onboard sound on "MSI K8T Neo2-FIR" On the "MSI K8T Neo2-FIR" board the BIOS disables the onboard soundcard, if a second PCI soundcard is present. This patch sets the korrect register bit to enable the onboard sound. Removed old code in /drivers/pci/quirks.c that only checks for the PCI-ID and fires on any Board with VIA 8237. New code in /arch/i386/pci/fixup.c checks the DMI-tables and only runs on the specific board. Signed-off-by: Johannes Goecke Acked-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 651472fbff71df39d3d734de31bca6e5412a688b Author: Auke Kok Date: Mon Aug 27 16:18:10 2007 -0700 PCI: quirk_vt82c586_acpi: Omit reading PCI revision ID Signed-off-by: Auke Kok Signed-off-by: Greg Kroah-Hartman commit aa288d4d6bc7d150bab3a5be954979a09633ccdd Author: Auke Kok Date: Mon Aug 27 16:17:47 2007 -0700 PCI: quirk amd_8131_mmrbc: Omit reading pci revision ID Signed-off-by: Auke Kok Cc: Peter Oruba Signed-off-by: Greg Kroah-Hartman commit 3799a4e7d8867cfbb137d417beb126d5a2302607 Author: Auke Kok Date: Mon Aug 27 16:17:38 2007 -0700 cpqphp: Use PCI_CLASS_REVISION instead of PCI_REVISION_ID for read While PCI_CLASS_REVISION and PCI_REVISION_ID are identical, the code here discards the revision content and is only interested in the class number. Signed-off-by: Auke Kok Cc: Krosten Accardi Signed-off-by: Greg Kroah-Hartman commit 9f672153ba921fdc6d4ef5ca8f6e65ac58cc970c Author: Alex Chiang Date: Tue Aug 21 17:49:07 2007 -0600 PCI: Add missing PCI capability IDs These IDs are in pciutils, but haven't been added to the kernel yet. Signed-off-by: Alex Chiang Signed-off-by: Matthew Wilcox Signed-off-by: Greg Kroah-Hartman commit b205f6b2679c7fcf761ed726de8093ca69b6c26e Author: Thomas Backlund Date: Fri Aug 10 14:42:15 2007 -0700 i386: add support for picopower irq router Add support for PicoPower PT86C523 IRQ router to be used with the in-kernel yenta driver for CardBus. With this patch cardbus works on e.g. Dell Latitude XPi P150CD. Initial patch for kernel 2.4 series by Sune Mølgaard http://molgaard.org/code/linux-2.4.31-picopower.patch Ported to 2.6.20 by Chmouel Boudjnah (http://www.chmouel.com) Testing and confirmation that it works by Austin Acton Cleaned up a little for inclusion in a 2.6.21-rc7 based kernel. Added some more cleanups according to CodingStyle, as noted by Randy Dunlap on LKML. [akpm@linux-foundation.org: build fixes] Signed-off-by: Thomas Backlund Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 3d034aecd8b70d34388a4e40ca50af0d014223e1 Author: Denis V. Lunev Date: Tue Aug 7 13:13:18 2007 +0400 PCI: pci_get_device call from interrupt in reboot fixups The following calltrace is possible now: handle_sysrq machine_emergency_restart mach_reboot_fixups pci_get_device pci_get_subsys down_read The patch skips reboot fixup if called from sysrq-B code. Signed-off-by: Denis V. Lunev Signed-off-by: Greg Kroah-Hartman commit aa24886e379d2b641c5117e178b15ce1d5d366ba Author: David Brownell Date: Fri Aug 10 13:10:27 2007 -0700 dma_free_coherent() needs irqs enabled (sigh) On at least ARM (and I'm told MIPS too) dma_free_coherent() has a newish call context requirement: unlike its dma_alloc_coherent() sibling, it may not be called with IRQs disabled. (This was new behavior on ARM as of late 2005, caused by ARM SMP updates.) This little surprise can be annoyingly driver-visible. Since it looks like that restriction won't be removed, this patch changes the definition of the API to include that requirement. Also, to help catch nonportable drivers, it updates the x86 and swiotlb versions to include the relevant warnings. (I already observed that it trips on the bus_reset_tasklet of the new firewire_ohci driver.) Signed-off-by: David Brownell Cc: David Miller Acked-by: Russell King Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit fa007d8bebc5d812a445c48664b5bcad81f1351c Author: Christoph Hellwig Date: Tue Aug 14 16:17:15 2007 -0700 pci: hotplug: cpqphp: convert to kthread infrastructure Signed-off-by: Christoph Hellwig Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 2d100fe8f6ebe5e4335b26f3749bb0b7f706d1f9 Author: Kristen Carlson Accardi Date: Tue Aug 14 16:07:00 2007 -0700 pci: hotplug: ibmphp: convert to kthread Convert ibmphp to new kthread api Signed-off-by: Kristen Carlson Accardi Cc: Christoph Hellwig Signed-off-by: Greg Kroah-Hartman commit 229f5afded86bf3819b7b67e57c62813ca0648a7 Author: vignesh babu Date: Mon Aug 13 18:23:14 2007 +0530 PCI: is_power_of_2 in drivers/pci/pci.c Replacing n & (n - 1) for power of 2 check by is_power_of_2(n) Signed-off-by: vignesh babu Signed-off-by: Greg Kroah-Hartman commit 40730d1042c595b1e84b28e40021f2c1377b4f8b Author: Kenji Kaneshige Date: Thu Aug 9 16:09:38 2007 -0700 pciehp: minor cleanups for pciehp_hpc.c Minor cleanups for pciehp_hpc.c. The 80 column rules, removing unnecessary lines, and so on. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 9fe8164536c4fa6e630c706c667a2c6e8456d143 Author: Kenji Kaneshige Date: Thu Aug 9 16:09:37 2007 -0700 pciehp: remove trailing whitespace form pciehp_pci.c Remove trailing whitespaces from pciehp_pci.c. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 36ed27b07b873db06c10d2f8f41aa17be6803fdd Author: Kenji Kaneshige Date: Thu Aug 9 16:09:36 2007 -0700 pciehp: remove trailing whitespace from pciehp_ctrl.c Remove trailing whitespaces from pciehp_ctrl.c. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit a073a8267400be2bd8acf808a45bc3ab01cf1b20 Author: Kenji Kaneshige Date: Thu Aug 9 16:09:35 2007 -0700 pciehp: remove trailing whitespace from pciehp_core.c Remove trailing whitespaces from pciehp_core.c. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 71ad556dadcd303b4d32e9b890dcf1ccfbe9aeb3 Author: Kenji Kaneshige Date: Thu Aug 9 16:09:34 2007 -0700 pciehp: remove trailing whitespace from pciehp_hpc.c Remove trailing whitespaces from pciehp_hpc.c. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit c8426483776d913c5bdc3d698a7633496a885b78 Author: Kenji Kaneshige Date: Thu Aug 9 16:09:33 2007 -0700 pciehp: remove DBG_XXX_ROUTINE This patch removes DBG_ENTER_ROUTIN, DBG_LEAVE_ROUTINE and related code, which seem no longer needed. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 57d90c027641169b0724f94d355704e28895bcd6 Author: Kristen Carlson Accardi Date: Thu Aug 9 16:09:32 2007 -0700 PCI Hotplug: pciehp: Request control over PCI Express Capability as well as Native hotplug According to the PCI firmware spec (3.0), the OS must claim control over the PCI Express Capability bits in addition to the PCI Express Native Hot Plug feature when executing _OSC. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 1cf53d5ddb93b77ce1e277da85fe695e4c2a667d Author: Kristen Carlson Accardi Date: Thu Aug 9 16:09:31 2007 -0700 PCI Hotplug: pciehp: Dont check bridge control on remove When removing a device with a bridge on it, only read the bridge control register if the adapter is actually present. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 89913bf77a60fdb6ff204a670d3e191848a7b2c8 Author: Kenji Kaneshige Date: Thu Aug 9 16:09:30 2007 -0700 pciehp: remove CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE Remove unnecessary CONFIG_HOTPLUG_PCI_PCIE_EVENT_MODE. The CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE option is not needed because polling mechanism can be enabled through 'pciehp_poll_mode' module option. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 73a985a140cd0f1b17fa1438af0359d6b9b32b16 Author: Mariusz Kozlowski Date: Tue Jul 31 19:14:28 2007 +0200 PCI Hotplug: cpqphp_ctrl.c: kmalloc + memset conversion to kzalloc drivers/pci/hotplug/cpqphp_ctrl.c | 79698 -> 79638 (-60 bytes) drivers/pci/hotplug/cpqphp_ctrl.o | 192896 -> 192736 (-160 bytes) Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit d1aa3e6aa8edfeb864af7c930523d9e588b28bea Author: Alan Stern Date: Thu Oct 11 16:47:36 2007 -0400 USB: fix race in autosuspend reschedule This patch (as1002) fixes a small race which can occur when a driver expects usbcore to reschedule an autosuspend request. If the request arrives too late, it won't be rescheduled. The patch adds an extra argument to autosuspend_check(), indicating that a reschedule is needed no matter how much time has elapsed. It also tries to avoid letting asynchronous changes to the value of jiffies cause a delay to become negative, by caching a local copy of the current time. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 58ed7b94d98245fbad54a0af7ea3317ab1dd6876 Author: Haavard Skinnemoen Date: Thu Oct 11 13:40:30 2007 -0700 atmel_usba_udc: Keep track of the device status Keep track of the device status (as returned by the GET_STATUS request) and allow it to be manipulated by set_selfpowered() as well as SET_FEATURE/CLEAR_FEATURE (for remote wakeup) Implement the wakeup() op, which refuses to do anything if the DEVICE_REMOTE_WAKEUP feature wasn't set by the host. Now this driver passes USBCV (at least, with gadget zero). Fix one more locking bug; lockdep is every developer's friend. Signed-off-by: Haavard Skinnemoen Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d466a9190ff1ceddfee50686e61d63590fc820d9 Author: Ortwin Glück Date: Thu Oct 11 17:29:43 2007 +0200 USB: Nikon D40X unusual_devs entry Not surprisingly the Nikon D40X DSC needs the same quirks as the D40, but it has a separate ID. See http://bugs.gentoo.org/show_bug.cgi?id=191431 From: Ortwin Glück Signed-off-by: Greg Kroah-Hartman commit 063a2da8f01806906f7d7b1a1424b9afddebc443 Author: Alan Stern Date: Wed Oct 10 16:24:06 2007 -0400 USB: serial core should respect driver requirements This patch (as997) fixes a bug in the USB serial core. The core needs to pay attention to drivers' requirements regarding the number and type of endpoints a device has. At the same time, the patch changes the NUM_DONT_CARE constant (which is stored in a single-byte field) from -1 to a safer, unsigned value. It also improves the kerneldoc for several fields in the usb_serial_driver structure. Finally, the patch replaces a list_for_each() with list_for_each_entry(). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit cd38c1e1ae5273c28a12baacaf17c1faa062661f Author: Alan Stern Date: Wed Oct 10 16:24:56 2007 -0400 USB: documentation for USB power management This patch (as998) adds documentation on how USB power management works and how to use it. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 271f9e68f3450ac8d1ff3bda36581f1ec0d0cc1f Author: Alan Stern Date: Wed Oct 10 16:30:12 2007 -0400 USB: skip autosuspended devices during system resume System suspends and hibernation are supposed to be as transparent as possible. By this reasoning, if a USB device is already autosuspended before the system sleep begins then it should remain autosuspended after the system wakes up. This patch (as1001) adds a skip_sys_resume flag to the usb_device structure and uses it to avoid waking up devices which were suspended when a system sleep began. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 32fe01985aa2cb2562f6fc171e526e279abe10db Author: Alan Stern Date: Wed Oct 10 16:27:07 2007 -0400 USB: mutual exclusion for EHCI init and port resets This patch (as999) fixes a problem that sometimes shows up when host controller driver modules are loaded in the wrong order. If ehci-hcd happens to initialize an EHCI controller while the companion OHCI or UHCI controller is in the middle of a port reset, the reset can fail and the companion may get very confused. The patch adds an rw-semaphore and uses it to keep EHCI initialization and port resets mutually exclusive. Signed-off-by: Alan Stern Acked-by: David Brownell Cc: David Miller Cc: Dely L Sy Signed-off-by: Greg Kroah-Hartman commit 17f060224fb9f435c6f9306b7b61419d038def13 Author: Richard Sharpe Date: Wed Oct 10 10:56:28 2007 -0700 USB: allow usbstorage to have LUNS greater than 2Tb Attached is a very small patch (several comment lines) and a one-line coded change) that allows for USB storage devices that are larger than 2TB. At the company where I work we need such support, and one of my co-workers, Jane Liu, pointed out that SCSI low-layer drivers need to specify what size CDBs they accept. After looking through the code it became obvious that the current USB Storage code accepted the default of 12-byte CDBs, so I changed it to accept 16-byte CDBs. This allows our device to work. Signed-off-by: Richard Sharpe Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit eecfb911a03a48ef5f7114246343128bd01c1b5f Author: Nobuhiro Iwamatsu Date: Thu Oct 11 00:37:50 2007 +0900 USB: Adding support for SHARP WS011SH to ipaq.c This patch supports for SHARP WS011SH[0] to ipaq.c [0]: http://www.willcom-inc.com/ja/lineup/ws/011sh/index.html (Sorry , Japanese only.) Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Greg Kroah-Hartman commit 914a3f3b375493eb44ad652a431939258cf34f71 Author: Haavard Skinnemoen Date: Wed Oct 10 02:29:43 2007 -0700 USB: add atmel_usba_udc driver This is a driver for the Atmel USBA UDC which can be found integrated on AT32AP700x AVR32 processors. For hardware documentation, please see the AT32AP7000 data sheet: http://www.atmel.com/dyn/resources/prod_documents/doc32003.pdf This is a dual speed controller (connects at high or full speed). The driver supports up to 7 control, bulk, interrupt and isochronous endpoints with some constraints. Bulk, interrupt and isochronous transfers are driven by DMA. Signed-off-by: Haavard Skinnemoen Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c604e851486eabcbeb73e984279d436ce121fd5d Author: Michael Buesch Date: Tue Oct 9 23:47:17 2007 -0700 USB: ohci SSB bus glue This adds SSB bus glue for the USB OHCI HCD. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b24896c6b7ddb37ab20ba0bbfd0ed36a38923f67 Author: David Brownell Date: Tue Oct 9 22:04:16 2007 -0700 USB: ehci build fixes on au1xxx, ppc-soc Cleanup: references to two PM routines (and HCD entry points) that no longer exist are swapped with their replacements. Evidently au1xxx and ppc-soc EHCI support doesn't get compiled with power management very much, or these build bugs would have been patched long ago. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4f45426cfd6170311e116442ccd8ce0e31979237 Author: Valentine Barshak Date: Tue Oct 9 15:00:05 2007 -0700 USB: add runtime frame_no quirk for big-endian OHCI Add OHCI big endian frame_no quirk. The frame_no value stored in the HCCA is a 16 bit field at a specific offset, but since not all CPUs can do 16-bit memory accesses it's used as a 32 bit field. And that's why big-endian OHCI must shift 16 bits ... unless the spec is not followed. Currently there's one MPC52xx platform that doesn't need the shift. This patch adds a new "big endian frame_no" quirk to control that at runtime. Signed-off-by: Valentine Barshak Acked-by: Dale Farnsworth Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f621b8437d6ae502dde45797f56407e48c7a68b4 Author: Alan Cox Date: Wed Sep 26 23:22:36 2007 +0100 USB: funsoft: Fix termios Funsoft has a bogus ioctl handler doing bogus termios handling in a bogus manner. Fortunately we can simply delete all the bogus bits and get the right default behaviour ! Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit d9c563626d9a136636385209d59d0c4f16c4a7ab Author: Alan Cox Date: Wed Sep 26 23:34:18 2007 +0100 USB: visor: termios bits Visor has a huge complex routine which displays termios bits for debug but doesn't do anything. Get the correct behaviour by removing it all Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 3046c6db575019ba4ce6b9deac352d438ddf733d Author: Alan Stern Date: Fri Oct 5 14:43:00 2007 -0400 USB: unusual_devs entry for Nikon DSC D2Xs This patch (as996) adds an unusual_devs entry for the Nikon DSC D2Xs camera. Signed-off-by: Alan Stern Cc: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 27f5d75afaa1b65e4cc1e4ac8a2a5095d24f1576 Author: David Brownell Date: Thu Oct 4 18:06:16 2007 -0700 USB: re-remove Remove ... somehow this was recreated when the Blackfin arch was merged, instead of using which is the correct header. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9454a57ab5922e5cd25321cae9d1a8cbeb3e2e85 Author: David Brownell Date: Thu Oct 4 18:05:17 2007 -0700 USB: move to Move to , reducing some of the clutter in the main include directory. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4d59d8a11383ebf0e0260ee481a4e766959fd7d9 Author: Sarah Sharp Date: Wed Oct 3 14:56:03 2007 -0700 USB: Export URB statistics for powertop powertop currently tracks interrupts generated by uhci, ehci, and ohci, but it has no way of telling which USB device to blame USB bus activity on. This patch exports the number of URBs that are submitted for a given device. Cat the file 'urbnum' in /sys/bus/usb/devices/.../ Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 437f375f262417b484f28007c3e8d21bd01d0e01 Author: Vitaly Bordug Date: Thu Sep 27 00:36:22 2007 +0400 USB: serial gadget: Disable endpoints on unload After Serial gadget is being unloaded, neither serial itself, nor other gadget stuff can be loaded subsequently. Signed-off-by: Vitaly Bordug Signed-off-by: Greg Kroah-Hartman commit a59048d46303c4146993c37f51ed97a760fc4c0a Author: WANG Cong Date: Tue Oct 2 14:40:49 2007 -0700 USB: drivers/usb/misc/sisusbvga/sisusb.c: kill two unused variables Kill two unused variables in drivers/usb/misc/sisusbvga/sisusb.c. Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 5395353e0c8272fe73ac914acd7e4add0da2bef0 Author: Benedikt Spranger Date: Tue Oct 2 14:40:48 2007 -0700 usb-gadget-ether: prevent oops caused by error interrupt race Fix a longstanding race in the Ethernet gadget driver, which can cause an oops on device disconnect. The fix is just to make the TX path check whether its freelist is empty. That check is otherwise not necessary, since the queue is always stopped when that list empties (and restarted when request completion puts an entry back on that freelist). The race window starts when the network code decides to transmit a packet, and ends when hard_start_xmit() grabs the freelist lock. When disconnect() is called inside that window, it shuts down the TX queue and breaks the otherwise-solid assumption that packets are never sent through a TX queue that's stopped. Signed-off-by: Benedikt Spranger Signed-off-by: Thomas Gleixner Signed-off-by: David Brownell Signed-off-by: Andrew Morton Cc: stable Signed-off-by: Greg Kroah-Hartman commit 9dcfbd97a695a3c28a867501127fa35ac49bc805 Author: Andrew Morton Date: Tue Oct 2 14:40:46 2007 -0700 USB: fix gregkh-usb-usb-sisusb2vga-convert-printk-to-dev_-macros drivers/usb/misc/sisusbvga/sisusb.c: In function 'sisusb_open': drivers/usb/misc/sisusbvga/sisusb.c:2444: warning: 'sisusb' is used uninitialized in this function I can tell that'll oops just by looking at it. How come this code assume a 7,000 column xterm? :( Cc: Felipe Balbi Cc: Thomas Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit ca0677a29bddee35918bf3c0c55cc3badd69079e Author: Yoshihiro Shimoda Date: Fri Oct 5 15:53:12 2007 +0900 USB: r8a66597-hcd: fix driver removing Fixed the problem that accessed register of this controller after having called iounmap(). Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 05eac910b69209164b1d9357bf8877a7c81b2e4e Author: Yoshihiro Shimoda Date: Wed Oct 3 18:53:28 2007 +0900 USB: r8a66597-hcd: fix endian problem Fixed the problem that does not work in the big endian machine. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit e3a09051a16fcdb190ad0b7dc6064904c8118409 Author: Yoshihiro Shimoda Date: Wed Oct 3 18:53:13 2007 +0900 USB: r8a66597-hcd: fix Class or Vendor Request Fixed the problem that does not work in the case of bRequest = 0x05 in Class or Vendor Request. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 93b6497da99978742ffa9d9db6177397436278f5 Author: Adrian Bunk Date: Sun Sep 9 22:25:04 2007 +0200 USB: usb/serial/ch341.c: make 4 functions static This patch makes four needlessly global functions static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 6ce76104781a10554129791dc62c3104424f6d48 Author: Frank A Kingswood Date: Wed Aug 22 20:48:58 2007 +0100 USB: Driver for CH341 USB-serial adaptor This patch implements a USB serial port driver for the Winchiphead CH341 USB-RS232 Converter. This chip also implements an IEEE 1284 parallel port, I2C and SPI, but that is not supported by the driver. Signed-off-by: Frank A Kingswood Signed-off-by: Greg Kroah-Hartman commit 4ac0718e83821db53451614e098399004694aa81 Author: Simon Arlott Date: Tue Sep 25 20:20:10 2007 +0100 USB: cxacru: Use appropriate logging for errors When an error occurs, existing logging uses dbg() so the cause of a problem is hard to determine. Error conditions shouldn't only be properly reported with debugging enabled. A side effect of this change is that when an uninitialised device is started, a log message similar to the following is sent: cxacru 5-2:1.0: receive of cm 0x90 failed (-104) This is normal - the device did not respond so firmware will be loaded. Signed-off-by: Simon Arlott Acked-by: Duncan Sands Signed-off-by: Greg Kroah-Hartman commit 1f4f714f88955cfb61fba0cd43fe3b07e4212257 Author: Edouard Lafargue Date: Tue Sep 25 10:15:36 2007 +0200 USB: cp2101.c: add additional device ID This patch adds an additional device ID to the cp2101 USB serial driver. This device is a Gemalto Prox-PU or CU contactless card reader (ISO14443-A/B and Mifare). The reader is a standard Gemalto serial proximity reader using the Gemalto Block Protocol (see reader's documentation) bundled with a built-in CP2102 for serial/USB conversion. Signed-off-by: Edouard Lafargue (edouard@lafargue.name) Signed-off-by: Greg Kroah-Hartman commit 16eb345f4d9189b59bae576ae63cba7ca77817b2 Author: Phil Dibowitz Date: Sat Sep 22 20:58:12 2007 -0700 USB: unusual_devs modification for Nikon D200 Upgrade the unusual_devs.h file to support the Nikon D200 Signed-off-by: Mike Pagano Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit a691efa9888e71232dfb4088fb8a8304ffc7b0f9 Author: Alan Stern Date: Fri Sep 21 16:57:54 2007 -0400 USB: remove USB_QUIRK_NO_AUTOSUSPEND This patch (as995) cleans up the remains of the former NO_AUTOSUSPEND quirk. Since autosuspend is disabled by default, we will let userspace worry about which devices can safely be suspended. Thus the lengthy series of quirk entries is no longer needed, and neither is the quirk ID. I suppose someone might eventually run across a hub that can't be suspended; let's ignore the possibility for now. The patch also cleans up the hasty way in which autosuspend gets disabled. Setting udev->autosuspend_delay to -1 wasn't quite right, because the value is always supposed to be a multiple of HZ. It's better to leave the delay value alone and set autosuspend_disabled, which is what the quirk routine used to do. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 7108f28465a0a37d5afc05c5ad788938423b74a7 Author: Alan Stern Date: Thu Sep 20 12:37:50 2007 -0400 USB: don't propagate FREEZE or PRETHAW suspends This patch (as992) fixes a recently-added bug. During a FREEZE or PRETHAW suspend notification, non-root devices don't actually get suspended. So we shouldn't tell their parent hubs that they did. (This code path used to be skipped over, until the FREEZE/PRETHAW test got moved out of usb_suspend_both() into generic_suspend().) Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 393e5511a5f58e82b88589f1dd2464f6b661df06 Author: Alan Stern Date: Tue Sep 18 10:09:32 2007 -0400 USB: unusual_devs update for Nokia 6131 This patch (as991) updates the unusual_devs entry for the Nokia 6131 phone. As reported by Juan Ignacio Cherrutti, there's new firmware available but it still has the same old transfer-size limit. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 403fae78d7388876b96fbe30ccf2cb551c49ae5a Author: jidong xiao Date: Fri Sep 14 00:08:51 2007 +0800 USB: fix limited_power setting mistake in hub.c This patch (jx001) fixes a variable assignment mistake in hub driver. limited_power should be set to 0 if the hub is self-powered,and 1 if the hub is bus-powered. However, the effect of the code was exactly opposite to the spec's statement for the Local Power Source field. The spec says, this field is 1 meaning Local power supply lost while this field is 0 indicating Local power supply good.(This statement is very confusing.) So this patch switchs the 0 and 1. Signed-off-by: Jason Xiao Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ed6590a861a16276db34ee626375fa79f3369ac3 Author: Oliver Neukum Date: Mon Sep 17 20:15:53 2007 +0200 USB: fix double frees in error code paths of ipaq driver the error code paths can be enter with buffers to freed buffers. Serial core would do a kfree() on memory already freed. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 0e66fb3492442faa17fc7f27a3eba35b3c811e38 Author: Adrian Bunk Date: Tue Sep 11 19:10:21 2007 +0200 USB: always visit drivers/usb/misc/ Currently, every driver under drivers/usb/misc/ also has to be listed in drivers/usb/Makefile. This has been forgotten more than once, and this patch changes drivers/usb/Makefile to simply always visit drivers/usb/misc/ when building the USB code. Signed-off-by: Adrian Bunk Cc: Toralf Förster Acked-by: Satyam Sharma Signed-off-by: Greg Kroah-Hartman commit f7294055a7a5bf1ea7da16dffb0cb0f7a282c04b Author: Mark Gross Date: Mon Sep 24 09:28:14 2007 -0700 USB: usb-skeleton leaking locks on open This weekend I was hacking around with a trivial USB driver for talking to the boot load firmware of a USB Bit Whacker. It's running the MicroChip Pic18 boot loader firmware and I'm putting together a flash program for writing new FW to the thing. Anyway in my use of the usb-skeleton.c as my starting point I discovered my test program was getting hung up after attempting to write a buffer. The application and driver where hung in a way that required me to reboot to get it to clean up so I could try again. It turned out the code path through skel_open can grap the driver's io_mutex lock and forget to release it. The following patch fixes the problem for me. Signed-off-by: Mark Gross Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 6840d2555afd66290be7a39b400b5e66a840b82d Author: Alan Stern Date: Mon Sep 10 11:34:26 2007 -0400 USB: flush outstanding URBs when suspending This patch (as989) makes usbcore flush all outstanding URBs for each device as the device is suspended. This will be true even when CONFIG_USB_SUSPEND is not enabled. In addition, an extra can_submit flag is added to the usb_device structure. That flag will be turned off whenever a suspend request has been received for the device, even if the device isn't actually suspended because CONFIG_USB_SUSPEND isn't set. It's no longer necessary to check for the device state being equal to USB_STATE_SUSPENDED during URB submission; that check can be replaced by a check of the can_submit flag. This also permits us to remove some questionable references to the deprecated power.power_state field. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 95cf82f99cfbd697c15572c444bd4f54f19745b0 Author: Alan Stern Date: Mon Sep 10 11:33:05 2007 -0400 USB: break apart flush_endpoint and disable_endpoint This patch (as988) breaks usb_hcd_endpoint_disable() apart into two routines. The first, usb_hcd_flush_endpoint() does the -ESHUTDOWN unlinking of all URBs in the endpoint's queue and waits for them to complete. The second, usb_hcd_disable_endpoint() -- renamed for better grammatical style -- merely calls the HCD's endpoint_disable method. The changeover is easy because the routine currently has only one caller. This separation of function will be exploited in the following patch: When a device is suspended, the core will be able to cancel all outstanding URBs for that device while leaving the HCD's endpoint-related data structures intact for later. As an added benefit, HCDs no longer need to check for existing URBs in their endpoint_disable methods. It is now guaranteed that there will be none. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 5ad4f71e2f19a06f738463da1f09ea7fda3a3db2 Author: Alan Stern Date: Mon Sep 10 11:31:43 2007 -0400 USB: move decision to ignore FREEZE events This patch (as987) changes the way FREEZE and PRETHAW suspend events are handled in usbcore. The decision about whether or not to ignore them for non-root devices is pushed down into the USB-device driver, instead of being made in the core code. This is appropriate, since devices exported to a virtualized guest or over a network may indeed need to handle these types of suspend, even though normal devices don't. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 7477120e34eef65a530cfb3fea5fe612c89669e5 Author: Alan Stern Date: Mon Sep 10 11:35:14 2007 -0400 USB: Get rid of annoying endpoint-release message This patch (as990) removes an annoying debugging message. Nobody really cares when endpoint pseudo-devices are released. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 1d3ee41e9549609a6151216a0bcb06b758a64b6b Author: Auke Kok Date: Mon Aug 27 16:16:13 2007 -0700 USB: AMD5536: use pdev->revision Signed-off-by: Auke Kok Cc: Thomas Dahlmann Signed-off-by: Greg Kroah-Hartman commit e6d42f0e962390e956545aa282efb05a9d6a41d1 Author: Satyam Sharma Date: Mon Sep 3 01:37:31 2007 +0530 USB: sisusbvga: Fix bug drivers/usb/misc/sisusbvga/sisusb.c: In function sisusb_open drivers/usb/misc/sisusbvga/sisusb.c:2444: warning: sisusb is used uninitialized in this function is a genuine bug (which will cause oops). We cannot use "sisusb" in error path for (!interface), because sisusb will itself be derived from "interface" later. Signed-off-by: Satyam Sharma Signed-off-by: Greg Kroah-Hartman commit 5adceac5da3d353dd1318d0482cab94a79472adf Author: Oliver Neukum Date: Fri Aug 17 14:01:38 2007 +0200 USB: fix errornous assumption in the usb serial framework revealed by iuu_phoenix the iuu_phoenix driver submits another URB from a completion handler. This dictates a certain order of calls to usb_kill_urb() in kill_traffic(). As other drivers may do it the other way round, we need to use both orders in kill_traffic(). This patch does so and should be merged before iuu_phoenix is merged. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit b5b80f2b20c833f979060cf48ae3ee6fbfa552be Author: Matthias Kaehlcke Date: Thu Sep 6 23:18:15 2007 +0200 USB: ELAN U132 Host Controller Driver: convert sw_lock to mutex The ELAN U132 Host Controller Driver uses the semaphore sw_lock as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Greg Kroah-Hartman commit d853d872c14b9adc4adad29e56cd378b291f86e0 Author: Johann Wilhelm Date: Wed Sep 5 13:49:29 2007 +0200 USB: usb-storage: Initialize Huawei E220 properly This is a reworked version of this patch: http://www.mail-archive.com/linux-usb-devel%40lists.sourceforge.net/msg55094/activate_huawei_dev.patch That properly initializes the HUAWEI E220 devices into multi-port mode. Signed-off-by: Johann Wilhelm Signed-off-by: Greg Kroah-Hartman commit 63f991b2871bdb1431e8ff62cae2b7b94b4e5b0c Author: Alan Stern Date: Tue Sep 4 09:53:24 2007 -0400 USB: fix location of statement label in dummy-hcd This patch (as984) fixes a rather elementary mistake in dummy_hcd. The new statement label should come before the spin_unlock_irqrestore, not after it. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e015268d2fcfcaef70a1ec535e6381f75aafbf81 Author: Alan Stern Date: Fri Aug 24 15:42:52 2007 -0400 USB: remove traces of urb->status from usbcore This patch (as981) removes the remaining nontrivial usages of urb->status from usbcore. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 1431d2a44ccf68a547094976f363f94177ab00c6 Author: Alan Stern Date: Fri Aug 24 15:42:39 2007 -0400 USB: get rid of urb->lock Now that urb->status isn't used, urb->lock doesn't protect anything. This patch (as980) removes it and replaces it with a private mutex in the one remaining place it was still used: usb_kill_urb. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4a00027dcb088bf90fa8fb14a7e8ba3506d78f22 Author: Alan Stern Date: Fri Aug 24 15:42:24 2007 -0400 USB: Eliminate urb->status usage! This patch (as979) removes the last vestiges of urb->status from the host controller drivers and the root-hub emulator. Now the field doesn't get set until just before the URB's completion routine is called. Signed-off-by: Alan Stern CC: David Brownell CC: Olav Kongas CC: Yoshihiro Shimoda CC: Tony Olech Signed-off-by: Greg Kroah-Hartman commit 9347d51c52afcf1a77d2104f162cf8a085624c83 Author: Alan Stern Date: Fri Aug 24 15:41:41 2007 -0400 USB: reorganize urb->status use in usbmon This patch (as978) reorganizes the way usbmon uses urb->status. It now accepts the status value as an argument. Signed-off-by: Alan Stern Acked-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 888fda47051716765175d0008450126c837adb32 Author: Alan Stern Date: Fri Aug 24 15:41:18 2007 -0400 USB: reorganize urb->status use in r8a66597-hcd This patch (as977) reorganizes the way r8a66597-hcd sets urb->status. It now keeps the information in a local variable until the last moment. Parts of this patch were written by Yoshihiro Shimoda. Signed-off-by: Alan Stern CC: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 65e51098d9094c7e840b6d6291867b95538d9442 Author: Alan Stern Date: Fri Aug 24 15:40:47 2007 -0400 USB: reorganize urb->status use in sl811-hcd This patch (as976) reorganizes the way sl811-hcd sets urb->status. It now keeps the information in a local variable until the last moment. The patch also improves the handling of faults during the status stage of a control transfer, since it no longer needs to retain the error information from the earlier stages. Signed-off-by: Alan Stern CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit 55d8496837cf124f68656e4242a5e20eb592fd54 Author: Alan Stern Date: Fri Aug 24 15:40:34 2007 -0400 USB: reorganize urb->status use in ohci-hcd This patch (as975) reorganizes the way ohci-hcd sets urb->status. It now keeps the information in a local variable until the last moment. Signed-off-by: Alan Stern CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit 14c04c0f88f228fee1f412be91d6edcb935c78aa Author: Alan Stern Date: Fri Aug 24 15:40:19 2007 -0400 USB: reorganize urb->status use in ehci-hcd This patch (as974) reorganizes the way ehci-hcd sets urb->status. It now keeps the information in a local variable until the last moment. The patch also simplifies the handling of -EREMOTEIO, since the only use of that code is to set the do_status flag. Signed-off-by: Alan Stern CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4d2f110c51eec853c50f68cf068888a77551c8d3 Author: Alan Stern Date: Fri Aug 24 15:40:10 2007 -0400 USB: reorganize urb->status use in dummy-hcd This patch (as973) reorganizes the way dummy-hcd sets urb->status. It now keeps the information in a local variable until the last moment. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e7beb667842ad0f6ec95a22e7c88e71dfbd60649 Author: Andreas Loibl Date: Fri Aug 24 01:51:11 2007 +0200 usb: serial/pl2303: support for BenQ Siemens Mobile Phone EF81 This patch adds support for the BenQ Mobile Phone EF81 to pl2303 Signed-off-by: Andreas Loibl Signed-off-by: Greg Kroah-Hartman commit b84d2bf07ffb962733ba56307c61539a301a742e Author: Jesper Juhl Date: Fri Aug 24 02:35:14 2007 +0200 usb: avoid redundant cast of kmalloc() return value in OTi-6858 driver In drivers/usb/serial/oti6858.c::pl2303_buf_alloc() the return value of kmalloc() is being cast to "struct pl2303_buf *", but that need not be done here since kmalloc() returns "void *". Signed-off-by: Jesper Juhl Signed-off-by: Greg Kroah-Hartman commit 092a212e8e3eb49ab7360d652f457d0a360d5383 Author: Paolo 'Blaisorblade' Giarrusso Date: Fri Aug 24 12:19:22 2007 +0200 USB: usbmon doc update - mention new wildcard ('0') bus Update usbmon documentation, mentioning the "zero" (wildcard) bus. Possibly, in my first hunk, the 'either ... or ...' should be rephrased a bit to be expressed better. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Pete Zaitcev Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ce0d9325b19555f05b08cbb1ea4c2393eec188ec Author: Roman Kagan Date: Fri Aug 24 20:22:52 2007 +0400 usb-serial: show port number in sysfs Some usb-serial devices (e.g. certain Edgeport models) have more than one serial port on the same USB device/interface. Currently the only way to distinguish these ports in userspace is by their minor device number: the driver makes them consecutive and in stable order. However, for the purpose of stable naming with udev this is insufficient: when udev handles the ADD event for one of the ports it doesn't know what minor number the other one has. To make stable naming easier, export the port number via sysfs. Signed-off-by: Roman Kagan Signed-off-by: Dmitry Guryanov Signed-off-by: Greg Kroah-Hartman commit fdf99c9ec10cb9cd44be3ac0bd007a49ac6dc751 Author: Greg Kroah-Hartman Date: Thu Aug 23 15:55:34 2007 -0700 USB: fix memory leak in berry_charge driver This fixes a small memory leak that happens every time the device is plugged in. Signed-off-by: Greg Kroah-Hartman commit 12943f097e5a4a0550f52f98ab8f476435e2ce15 Author: Alan Stern Date: Fri Aug 24 16:27:50 2007 -0400 USB: less-restrictive command checking in g-file-storage This patch (as983) makes a test for minimum-length command sizes in g_file_storage less restrictive. It doesn't matter because commands with bad lengths will be detected later on anyway, and doing it like this makes the driver interoperable with certain buggy hosts such as the JVC HiFi (reported by Samuel Hangouet). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 94d0f7eac77a84da2cee41b8038796891f75f09e Author: Alan Cox Date: Wed Aug 22 23:09:16 2007 +0100 USB: kobil_sct: Rework driver No hardware but this driver is currently totally broken so we can't make it much worse. Remove all tbe broken invalid termios handling and replace it with a proper set_termios method. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c4e41562e09961df6ba72b49269793d21c0034dc Author: Alan Cox Date: Wed Aug 22 23:06:48 2007 +0100 USB: cp2101: Coding style police Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6e8fe43b26085a64327d1cbb751ab895f3ad3f5d Author: Alan Stern Date: Wed Aug 22 13:08:40 2007 -0400 USB: avoid the donelist after an error in ohci-hcd This patch (as972) changes ohci-hcd so that after an error occurs, the remaining TDs for the URB will be skipped over entirely instead of going through the donelist. This enables the driver to give back the URB as soon as the error is detected, avoiding the need to store the error status in urb->status. Signed-off-by: Alan Stern CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1f5a3d0f34fd5719081c6b8f3dbbcbe328d4da31 Author: Alan Stern Date: Wed Aug 22 13:06:53 2007 -0400 USB: fix mistake in usb_hcd_giveback_urb This patch (as971) fixes a small mistake: The URB's completion status needs to be adjusted before the URB is passed to usmon_urb_complete(), not afterward. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ed6e52829c113ca18f042ac55cc77b1b90745eab Author: Andrew M. Bishop Date: Tue Aug 21 19:08:56 2007 +0100 USB: ftdi_sio: Handle FT232RL devices like FT232BM devices Handle the FT232RL device type in exactly the same way as FT232BM devices (FT232RL detection was added around kernel 2.6.20 but not code for handling it). Signed-off-by: Andrew M. Bishop Signed-off-by: Greg Kroah-Hartman commit eb23105462304fd35571fd0cab1de7aec79a9ec5 Author: Alan Stern Date: Tue Aug 21 15:40:36 2007 -0400 USB: add urb->unlinked field This patch (as970) adds a new urb->unlinked field, which is used to store the status of unlinked URBs since we can't use urb->status for that purpose any more. To help simplify the HCDs, usbcore will check urb->unlinked before calling the completion handler; if the value is set it will automatically override the status reported by the HCD. Signed-off-by: Alan Stern CC: David Brownell CC: Olav Kongas CC: Yoshihiro Shimoda CC: Tony Olech Signed-off-by: Greg Kroah-Hartman commit b0d9efba3ec53468984aecef8eeaf079089f2e5a Author: Alan Stern Date: Tue Aug 21 15:39:21 2007 -0400 USB: centralize -EREMOTEIO handling This patch (as969) continues the ongoing changes to the way HCDs report URB statuses. The programming interface has been simplified by making usbcore responsible for clearing urb->hcpriv and for setting -EREMOTEIO status when an URB with the URB_SHORT_NOT_OK flag ends up as a short transfer. By moving the work out of the HCDs, this removes a fair amount of repeated code. Signed-off-by: Alan Stern CC: David Brownell CC: Olav Kongas CC: Yoshihiro Shimoda CC: Tony Olech Signed-off-by: Greg Kroah-Hartman commit ee7d1f3f0c32d8abe9627aa73dc62ee5bf2daf7f Author: Alan Stern Date: Tue Aug 21 15:37:50 2007 -0400 USB: remove Iso status value in uhci-hcd This patch (968) changes the way uhci-hcd reports status for Isochronous URBs. Until now urb->status has been set to the last detected error code. But other HCDs don't do this; they leave the status set to 0 and report errors only in the individual iso packet descriptors. So this patch removes the extra computation and makes uhci-hcd behave like the others. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit dfd1e53777afe1050e3a0a3f0dd063a64242b818 Author: Alan Stern Date: Tue Aug 21 15:36:52 2007 -0400 USB: minor fixes for r8a66597 driver This patch (as967) makes a few relatively minor changes to the r8a66597 driver: finish_request() does nothing but call done(), so merge the two routines. Detect and report -EOVERFLOW errors. Fix the calculation that checks for short packets. Signed-off-by: Alan Stern CC: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit af1c51fcb2aea23ec2dfe73b7d66515d1622e689 Author: Marcelo Tosatti Date: Mon Aug 20 18:13:27 2007 -0700 USB: EHCI restart speedup It is not necessary to powerdown the ports on ehci_pci_reinit() when the chip reset already did that. Removing this saves 20ms during restart after poweroff paths (which OLPC uses a lot). To ensure driver startup then behaves consistently, force a reset during driver startup. (Not doing this was an accident of some previous changes to the init sequence.) Make the corresponding change in the PS3 support. It's not clear what ehci-fsl should do here; it has similar code to the PS3. Signed-off-by: Marcelo Tosatti Signed-off-by: David Brownell Cc: Acked-by: Geoff Levand Signed-off-by: Greg Kroah-Hartman commit 0eb0226c9d819fd2af31ae4fc52bbca81c215369 Author: Stanislaw Gruszka Date: Mon Aug 20 23:21:19 2007 +0200 UEAGLE: Cosmetic Update copyrights and remove not necessary warning (ueagle-atm works well on suspend/resume). Signed-off-by: Stanislaw Gruszka Signed-off-by: Greg Kroah-Hartman commit 337427f91f844ebe84442dc0b5e24577a8139600 Author: Stanislaw Gruszka Date: Mon Aug 20 23:21:14 2007 +0200 UEAGLE: Do not sleep when device is disconnected Do not sleep in kernel thread when device is disconnected, this make faster suspending and module unloading. Use one wait queue for sleeping. Signed-off-by: Stanislaw Gruszka Signed-off-by: Greg Kroah-Hartman commit 04ea02f5746a2e01a38edae2de3eafc40eac17aa Author: Stanislaw Gruszka Date: Mon Aug 20 23:21:10 2007 +0200 UEAGLE: Avoid keyboard driver blocking Ueagle-atm driver load DSP firmware in function, which is running from common workqueue. In some (error) circumstances loading firmware may sleep for long periods (even 60 seconds, depending on timeout). This block keyboard driver, which also use common workqueue. To fix problem use custom workqueue in ueagle-atm. Signed-off-by: Stanislaw Gruszka Signed-off-by: Greg Kroah-Hartman commit 503add467d4dd2355fe16ebffa7f6d5e9fcd10a8 Author: Stanislaw Gruszka Date: Mon Aug 20 23:21:06 2007 +0200 UEAGLE: Allow user to choose input interface alternate setting Let's user control how much USB bus bandwidth will be reserved by ueagle-atm device. This make possible to share bus with other devices when ueagle-atm driver works in isochronous mode. Signed-off-by: Stanislaw Gruszka Signed-off-by: Greg Kroah-Hartman commit 603cf6087c5f3ee054bb257195b023848d26d76f Author: Stanislaw Gruszka Date: Mon Aug 20 23:21:01 2007 +0200 UEAGLE: Devolo and Elsa chipsets support Support for Devolo and Elsa chipsets. These chipsets have no information about ADSL annex (line type) encoded in USB descriptors. Driver try to get this information from USB VID and PID or it can be explicitly set by the user through module parameter. Thanks to Johann Hanne, whose make most of this patch. Signed-off-by: Stanislaw Gruszka Signed-off-by: Greg Kroah-Hartman commit c8e463796c7ae6d8dda39b0c7eb3d627600ffe2e Author: Stanislaw Gruszka Date: Mon Aug 20 23:23:12 2007 +0200 UEAGLE: Eagle IV chipset support Add support to newest chipset of eagle family. It is compatible with older chipsets at USB level. However DSP firmware and CMVs (Configuration and Management Variables) have different format of data and are sent/received by different way. Signed-off-by: Stanislaw Gruszka Signed-off-by: Greg Kroah-Hartman commit e39ab592f182cd0be48acc4ad49f93ef4100017c Author: Alan Stern Date: Thu Aug 16 16:17:49 2007 -0400 USB: remove unnecessary tests in isp116x and sl811 This patch (as962) cleans up some code I forgot to remove earlier in the isp116x and sl811 HCDs. There is no longer any need to check for unlink-during-submit; it can't happen since the endpoint queues are now under the protection of the HCD-private spinlock. Signed-off-by: Alan Stern CC: David Brownell CC: Olav Kongas Signed-off-by: Greg Kroah-Hartman commit f311cf58bd04adc683067f8d66daa5925b80f082 Author: Adrian Bunk Date: Tue Aug 14 23:22:50 2007 +0200 USB: ark3116.c: fix check-after-use The Coverity checker spotted that we'd have already oops'ed if one of these was NULL. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit f6c1ceaa3844b7a7787816cc97d15b9fea8b0909 Author: Oliver Neukum Date: Thu Aug 16 16:02:08 2007 +0200 USB: missing test for ESHUTDOWN in adutux driver this driver lacks a test for unlink due to ESHUTDOWN Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 60b69a966fddeb3bdd79712d52b34b8696a27f88 Author: Mariusz Kozlowski Date: Fri Aug 10 14:53:37 2007 -0700 usb: remove redundant memset from amd5536udc Remove redundant memset() call from udc_pci_probe(). No functional change. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 5280d6083a77cc06a8c8360a2c461fd12d780fb8 Author: Mariusz Kozlowski Date: Fri Aug 10 14:53:35 2007 -0700 USB: ftdi-elan.c: kmalloc + memset conversion to kzalloc drivers/usb/misc/ftdi-elan.c | 121253 -> 121196 (-57 bytes) drivers/usb/misc/ftdi-elan.o | 209425 -> 209265 (-160 bytes) Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b3aceb2bab988e514e65dd37f385221a095ad477 Author: Andrew Morton Date: Fri Aug 10 14:53:35 2007 -0700 USB: mct_u232-convert-to-proper-speed-handling-api-fix Make Pete happy Cc: Alan Cox Cc: Pete Zaitcev Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 3f6ff6ef044bc7078daa01412c911015d6cbaa39 Author: Alan Cox Date: Fri Aug 10 14:53:34 2007 -0700 USB: kl5kusb105: witch to new speed API Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 42cb967fd01b1f50374fdfa811f86db103eea532 Author: Pete Zaitcev Date: Tue Aug 14 13:19:16 2007 -0700 usblp: Fix a double kfree If submit fails, slab hits a BUG() because of a double kfree. The today's lesson is, you cannot just slap USB_FREE_BUFFER on code without adjusting the error paths. The patch is made bigger by opportunistic refactoring. Signed-Off-By: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit c36d54ab380fb8edeaa22776af869c64bfda43bd Author: Pete Zaitcev Date: Tue Aug 14 00:42:53 2007 -0700 usbmon: Smooth the core code Two things: - mbus can be NULL (in case of bus removal while reader is reading) - Remove a useless assignment Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit cdd5a8fd24f5be43417a25c6feb8e7ebdce63098 Author: Pete Zaitcev Date: Tue Aug 14 00:37:51 2007 -0700 usbmon: Drop DMA mapping for setup packet Setup packet must be visible in virtual space. There's absolutely no good reason to implement any kind of zero-copy transfer of 8 bytes, and the documentation in usb.h is explicit about it. So, drop DMA remapping. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 30c7431de3631d6a5482a87b7c2453b937e8aa51 Author: Pete Zaitcev Date: Tue Aug 14 00:33:40 2007 -0700 usbmon: Update pipe removal to suit my taste This is a set of small updates to Alan's work to make the code more to my liking. Mostly premature optimizations, but also direction of control transfers in the binary interface was always out. Signed-off-by: Pete Zaitcev Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 283face86b002e670053e9189604852ccb81d357 Author: Pete Zaitcev Date: Mon Aug 13 22:54:29 2007 -0700 usblp: Cosmetics This is a small bunch of cosmetic fixes: - Timeout is not a write timeout anymore, rename - Condition in poll was confusingly backwards, invert and simplify - The comment log gave a wrong impression of version 0.13, terminate it. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit fc401e697f8c00ad1178a6758e86e3881dfa3181 Author: Pete Zaitcev Date: Mon Aug 13 22:50:13 2007 -0700 usblp: mutex in usblp_check_status Add a mutex to protect the ->statusbuf. Not really an issue, because CUPS is single-threaded when it talks to the printer, but I feel safer this way. This should be deadlock-free, but I kept this as a separate patch in case someone ends running a git bisect. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 7b5cd5fefbe023625a7ff7604e8beb9a15a9efab Author: Felipe Balbi Date: Wed Aug 15 10:38:12 2007 -0400 USB: SisUSB2VGA: Convert printk to dev_* macros This patch convert printk entries to dev_* macros, this provide better debugging and better readability to the code. Signed-off-by: Felipe Balbi Cc: Thomas Signed-off-by: Greg Kroah-Hartman commit ecb8b190bcf49e67a6bd955340ecc07d243b6efa Author: Felipe Balbi Date: Fri Aug 10 16:04:56 2007 -0400 USB: SisUSB2VGA: Lindent drivers/usb/misc/sisusbvga/sisusb_struct.h Better indentation Signed-off-by: Felipe Balbi Cc: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman commit 7c59901421e22cff3fa9b8ea83e7a2fe37951497 Author: Felipe Balbi Date: Fri Aug 10 09:34:32 2007 -0400 USB: SisUSB2VGA: Lindent drivers/usb/misc/sisusbvga/sisusb_init.h Better indentation Signed-off-by: Felipe Balbi Cc: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman commit 22b2c526e70741ce8a244cab339fe0f56ace8cb6 Author: Felipe Balbi Date: Fri Aug 10 09:34:31 2007 -0400 USB: SisUSB2VGA: Lindent drivers/usb/misc/sisusbvga/sisusb_init.c Better indentation Signed-off-by: Felipe Balbi Cc: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman commit 1c1772a2609a16b3b590f8390a337dbe25859118 Author: Felipe Balbi Date: Fri Aug 10 09:34:29 2007 -0400 USB: SisUSB2VGA: Lindent drivers/usb/misc/sisusbvga/sisusb.h Better indentation Signed-off-by: Felipe Balbi Cc: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman commit 2acbd647315017c07537287857ea2db36c70eacf Author: Felipe Balbi Date: Fri Aug 10 09:34:27 2007 -0400 USB: SisUSB2VGA: Mis-spelled word Trivial fix Signed-off-by: Felipe Balbi Cc: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman commit 9dedd36778f9d9bd043df27c8fc62088ce93813f Author: Felipe Balbi Date: Fri Aug 10 09:34:26 2007 -0400 USB: SisUSB2VGA: Remove if 0'ed code Unused code should be removed. We don't need to increase the size of the file with dead code inside if 0 statements. Signed-off-by: Felipe Balbi Cc: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman commit ed86d97068c7d53561d3e9b59db6c6b11f6091c7 Author: Felipe Balbi Date: Fri Aug 10 09:34:24 2007 -0400 USB: SisUSB2VGA: Whitespace Cleanups This patches clean some trailing whitespaces in sisusb2vga driver. Signed-off-by: Felipe Balbi Cc: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman commit 79a7d9ee1a2e8b8dc44dd217f07496911850ec0e Author: Alan Stern Date: Wed Aug 8 17:10:11 2007 -0400 USB: cleanups for g_file_storage This patch (as957) makes some minor cleanups to the g_file_storage driver: Update the copyright date and version string; Uniformize the logging macros for the gadget and the LUNs; Remove "inline" markers -- nowadays we rely on the compiler to decide which routines are best inlined; Use the print_hex_dump() library routines; Remove some unnecessary assignments within conditionals and fix some close-brace indenting levels; Fix some column-80 violations. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d74d4a69dc1cc7ddc0eabb9c9f1e45005e2984eb Author: Alan Stern Date: Wed Aug 8 11:59:18 2007 -0400 USB: don't touch sysfs stuff when altsetting is unchanged This patch (as955) prevents the interface-related sysfs files and endpoint pseudo-devices from being deleted and recreated when a call to usb_set_interface() specifies the current altsetting. Since the altsetting doesn't get changed, there's no need to do anything. Furthermore, avoiding changes to the endpoint devices will be necessary in the future. This code is called from usb_reset_device(), which gets invoked for reset-resume processing, but upcoming changes to the PM and driver cores will make it impossible to register devices while a suspend/resume transition is in progress. Since we don't need to re-register those endpoint devices anyhow, it's best to skip the whole thing. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e9df41c5c5899259541dc928872cad4d07b82076 Author: Alan Stern Date: Wed Aug 8 11:48:02 2007 -0400 USB: make HCDs responsible for managing endpoint queues This patch (as954) implements a suggestion of David Brownell's. Now the host controller drivers are responsible for linking and unlinking URBs to/from their endpoint queues. This eliminates the possiblity of strange situations where usbcore thinks an URB is linked but the HCD thinks it isn't. It also means HCDs no longer have to check for URBs being dequeued before they were fully enqueued. In addition to the core changes, this requires changing every host controller driver and the root-hub URB handler. For the most part the required changes are fairly small; drivers have to call usb_hcd_link_urb_to_ep() in their urb_enqueue method, usb_hcd_check_unlink_urb() in their urb_dequeue method, and usb_hcd_unlink_urb_from_ep() before giving URBs back. A few HCDs make matters more complicated by the way they split up the flow of control. In addition some method interfaces get changed. The endpoint argument for urb_enqueue is now redundant so it is removed. The unlink status is required by usb_hcd_check_unlink_urb(), so it has been added to urb_dequeue. Signed-off-by: Alan Stern CC: David Brownell CC: Olav Kongas CC: Tony Olech CC: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit b0e396e3097ce4914c643bc3f0c2fe0098f551eb Author: Greg Kroah-Hartman Date: Thu Aug 2 22:44:27 2007 -0600 USB: make usb_release_interface static No one else calls it, this makes sparse happy. Signed-off-by: Greg Kroah-Hartman commit b5ea060f1e19c6a3f409d3472c723da4517547b8 Author: Greg Kroah-Hartman Date: Thu Aug 2 22:44:27 2007 -0600 USB: rename choose_configuration As it is global, give it a usb specific name in the global namespace. Cc: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 732bb9ee8195053a7dc00b9eec7be48891ad8668 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:08 2007 -0700 usb: document device authorization Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit e03f2e8a530e0ed46af43093e23a70b7c7215263 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:07 2007 -0700 usb: hook up device authorization to sysfs Makes it possible to control the authorization of USB devices through sysfs's /sys/usb/devices/*/authorize. Update: per Adrian Bunk's suggestion, make dev_attr_authorized_default static Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 93993a0a3e528357ae4b9b0eb82fd4b428ebbf64 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:06 2007 -0700 usb: introduce usb_authorize/deauthorize() These USB API functions will do the full authorization/deauthorization to be used for a device. When authorized we effectively allow a configuration to be set. Reverse that when deauthorized. Effectively this means that we have to clean all the configuration descriptors on deauthorize and reload them when we authorized. We could do without throwing them out for wired devices, but for wireless, we can read them only after authenticating, and thus, when authorizing an authenticated device we would need to read them. So to simplify, always release them on deauthorize(), re-read them on authorize(). Also fix leak reported by Ragner Magalhaes; in usb_deauthorize_device(), bNumConfigurations was being set to zero before the for loop, and thus the different raw descriptors where never being freed. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit d9d16e8a92e385c9f57d2081b7aa737770a0a829 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:05 2007 -0700 usb: split usb_new_device for clarity and refactoring This patch takes hub.c:usb_new_device() and splits it in three parts: - The actual actions of adding a new device (quirk detection, announcement and autoresume tracking) - Actual discovery and probing of the configuration and interfaces (split into __usb_configure_device()) - Configuration of the On-the-go parameters (split into __usb_configure_device_otg()). The fundamental reasons for doing this split are clarity (smaller functions are easier to maintain) and to allow part of the code to be reused when authorizing devices to connect. When a device is authorized connection, we need to run through the hoops we didn't run when it was connected but not authorized, which is basically parsing the configurations and probing them. usb_configure_device() will do that for us. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit f8a374648b58e5cfa14447eca866aed14a4fbfa8 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:04 2007 -0700 usb: usb_generic_probe() obeys authorization If called and the device is not authorized to be used, then we won't choose a configuration (as they are not a concept that exists for an unauthorized device). However, the device is added to the system. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 72230abb21349cda54d6cce0d6fd325c023b958e Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:03 2007 -0700 usb: usb_probe_interface() obeys authorization If called and the device is not authorized to be used, it won't configure the interface and print a message saying so. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 1145065cd0434b0fd5cd7c0efe0f1438fb154ed0 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:02 2007 -0700 usb: usb_get_configuration() obeys authorization If called and the device is not authorized to be used, then we don't allow reading the configurations. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 16bbab2966309ae82cda3d378964c56096d4858c Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:01 2007 -0700 usb: usb_set_configuration() obeys authorization Will refuse to configure a non-authorized device. Update: simplified if statement--thanks to Ragner Magalhaes for the heads up. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit d7d07255d3f5607802b0af29e11448d18e9ed558 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:00 2007 -0700 usb: initialize authorization and wusb bits in USB devices Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit eb579f5811ddbc052c8d6b3bba38dd4e5148cf7b Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:33:59 2007 -0700 usb: cleanup usb_register_bus() and hook up sysfs group This path cleans the exit paths of usb_register_bus() [to use a goto schema], maximum line length (keeping it under ~75). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 5234ce1b02ae2574098ebe9839dcf241076a9367 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:33:58 2007 -0700 usb: add the concept of default authorization to USB hosts This introduces /sys/bus/devices/usb*/authorized_default; it dictates what is going to be the default authorization state for devices connected to the host. User space can set that using the sysfs file. We hook to the root hub instead of to the device controller as it is quite easy to get to it in sysfs from the device structure (device 5-4.3 is usb5) vs. backtracking to the controller device. By default it is set to be 'authorized' (!0) for normal, wired USB devices and 'unauthorized' (0) for Wireless USB devices. As suggested by Adrian Bunk, make authorized_default static Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit da04b7a42711c1d1d8d9fbc2565cdd83efcfee40 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:33:57 2007 -0700 usb: introduce usb_device authorization bits This just modifies 'struct usb_device' to contain the 'authorized' bit. It also adds a 'wusb' bit. This is needed because nonauthorized (and thus non-authenticated) wusb devices will fail certain kind of simple requests (such as string descriptors). By knowing the device is WUSB, we just avoid them. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit ca2bdf4bcc91818f03e009b87c348609c2578d1d Author: David Brownell Date: Thu Aug 2 12:20:05 2007 -0700 USB: gadget: gadget zero cleanups Clean up gadget zero, using newer APIs and conventions: - gadget_is_dualspeed() and gadget_is_otg() ... #ifdef removal - Remove many now-needless #includes - Use the VERBOSE_DEBUG convention - Some whitespace fixes. - A few comment updates - Plus a few other small cleanups: don't pass gfp_t around when it's always going to be GFP_ATOMIC, and do static init of serial number. Also go to straight GPL; there's no real point in dual licensing this stuff any more. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 2e806f67cc570d25395469a0ded0df8ffbd4d82f Author: David Brownell Date: Thu Aug 2 00:03:39 2007 -0700 USB: gadget: file storage gadget cleanups Clean up the file storage gadget, using newer APIs and conventions: - gadget_is_dualspeed() and gadget_is_otg() ... #ifdef removal - Remove many now-needless #includes - Use the DEBUG (from Kconfig+Makefile) and VERBOSE_DEBUG conventions. - Remove some "sparse" warnings (it still dislikes the __user annotations) This gave only a minor object code shrinkage. Signed-off-by: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 51a0e85cd9b47e2e6332b40ea486cc1659d8a3ec Author: David Brownell Date: Thu Aug 2 00:02:47 2007 -0700 USB: gadget: serial gadget cleanups Clean up the serial gadget, using newer APIs and conventions: - gadget_is_dualspeed() and gadget_is_otg() ... #ifdef removal - Remove many now-needless #includes - Use the DEBUG and VERBOSE_DEBUG conventions; turned up a bug in the original debug messaging - Various whitespace fixes. This gave only a minor object code shrinkage, but the source looks much cleaner in various places. Signed-off-by: David Brownell Cc: Al Borchers Signed-off-by: Greg Kroah-Hartman commit 8c07021635a10c9a4969cbff0f2325a94c860f77 Author: David Brownell Date: Thu Aug 2 00:01:27 2007 -0700 USB: gadget: gmidi cleanups Clean up the midi gadget, using newer APIs and conventions: - Remove many now-needless #includes - Use the DEBUG (from Kconfig+Makefile) and VERBOSE_DEBUG conventions. - Whitespace fixes There should be no effect on object code size. Signed-off-by: David Brownell Cc: Ben Williamson Signed-off-by: Greg Kroah-Hartman commit 0cf4f2de0a0f4100795f38ef894d4910678c74f8 Author: David Brownell Date: Thu Aug 2 00:00:38 2007 -0700 USB: gadget: ethernet gadget cleanups, shrinkage Clean up the ethernet gadget, using newer APIs and conventions: - gadget_is_dualspeed() and gadget_is_otg() ... #ifdef removal - Remove many now-needless #includes - Use the VERBOSE_DEBUG convention - Minor whitespace fixes. - Fix a warning from "sparse". Surprisingly, this saved about 2K of code (16%) on a fullspeed-only ARMv4 platform. I'm bit puzzled by that (it's so much!), but approve of the result. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit a4e3ef5597e26dad006544d38b9ab6ff42382b76 Author: David Brownell Date: Wed Aug 1 23:58:22 2007 -0700 USB: gadget: gadget_is_{dualspeed,otg} predicates and cleanup This adds two small inlines to the gadget stack, which will often evaluate to compile-time constants. That can help shrink object code and remove #ifdeffery. - gadget_is_dualspeed(), currently always a compile-time constant (depending on which controller is selected). - gadget_is_otg(), usually a compile time "false", but this is a runtime test if the platform enables OTG (since it's reasonable to populate boards with different USB sockets). It also updates two peripheral controller drivers to use these: - fsl_usb2_udc, mostly OTG-related bugfixes: non-OTG devices must follow the rules about drawing VBUS power, and OTG ones need to reject invalid SET_FEATURE requests. - omap_udc, just scrubbing a bit of #ifdeffery. And also gadgetfs, which lost some #ifdefs and moved to a more standard handling of DEBUG and VERBOSE_DEBUG. The main benefits come from patches which will follow. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit a1d534bb23e5c5c28fb6f6fb48588362df0907e8 Author: Nico Erfurth Date: Thu Aug 2 22:25:20 2007 +0200 USB: Add drivers/usb/misc/iowarrior.c to the Makefile This patch adds the new iowarrior module to the Makefile in drivers/usb. Currently the module isn't build unless another driver from usb/misc is selected. Signed-off-by: Nico Erfurth Signed-off-by: Greg Kroah-Hartman commit 9a9bf406df3ce238089d14f4cb41157ca56d8ad3 Author: Alan Stern Date: Thu Aug 2 15:06:54 2007 -0400 USB: separate out endpoint queue management and DMA mapping routines This patch (as953) separates out three key portions from usb_hcd_submit_urb(), usb_hcd_unlink_urb(), and usb_hcd_giveback_urb() and puts them in separate functions of their own. In the next patch, these functions will be called directly by host controller drivers while holding their private spinlocks, which will remove the possibility of some unpleasant races. The code responsible for mapping and unmapping DMA buffers is also placed into a couple of separate subroutines, for the sake of cleanliness and consistency. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 9439eb94b5c374d5b02699f8897fc43aa3603701 Author: Alan Stern Date: Thu Aug 2 15:05:45 2007 -0400 USB: update spinlock usage for root-hub URBs This patch (as952) adjusts the spinlock usage in the root-hub emulation part of usbcore, to make it match more closely the pattern used by regular host controller drivers. To wit: The private lock (usb_hcd_root_hub_lock) is held throughout the important parts, and it is dropped temporarily without re-enabling interrupts around the call to usb_hcd_giveback_urb(). A nice side effect is that the code now avoids calling local_irq_save(), thereby becoming more RT-friendly. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d617bc83ff48ebf0df253605529d8b3bef15773a Author: Alan Stern Date: Thu Aug 2 15:04:52 2007 -0400 USB: cleanup for previous patches This patch (as951) cleans up a few loose ends from earlier patches. Redundant checks for non-NULL urb->dev are removed, as are checks of urb->dev->bus (which can never be NULL). Conversely, a check for non-NULL urb->ep is added to the unlink paths. A homegrown round-down-to-power-of-2 loop is simplified by using the ilog2 routine. The comparison in usb_urb_dir_in() is made more transparent. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 18ea5d00d05fa6300606f0711748016c95fb26dc Author: Alan Stern Date: Mon Jul 30 17:10:36 2007 -0400 USB: avoid urb->pipe in usbmon This patch (as949) changes the usbmon driver to use the new urb->ep field rather than urb->pipe. Signed-off-by: Alan Stern Cc: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 93cf9b909efb773f74b5d87659d41f957ccbce7e Author: Alan Stern Date: Mon Jul 30 17:09:28 2007 -0400 USB: avoid urb->pipe in usbfs This patch (as948) removes most of the references to urb->pipe from the usbfs routines in devio.c. The one tricky aspect is in snoop_urb(), which can be called before the URB is submitted and which uses usb_urb_dir_in(). For this to work properly, the URB's direction flag must be set manually in proc_do_submiturb(). The patch also fixes a minor bug; the wValue, wIndex, and wLength fields were snooped in proc_do_submiturb() without conversion from le16 to CPU-byte-ordering. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4326ed0be93574dac5b5e475713015159108bd88 Author: Alan Stern Date: Mon Jul 30 17:08:43 2007 -0400 USB: address-0 handling during device initialization This patch (as947) changes the device initialization and enumeration code in hub.c; now udev->devnum will be set to 0 while the device is being accessed at address 0. Until now this wasn't needed because the address value was passed as part of urb->pipe; without that field the device address must be stored elsewhere. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 5e60a16139c2a48b9876b0ff910671eee5fb32ec Author: Alan Stern Date: Mon Jul 30 17:07:21 2007 -0400 USB: avoid using urb->pipe in usbcore This patch (as946) eliminates many of the uses of urb->pipe in usbcore. Unfortunately there will have to be a significant API change, affecting all USB drivers, before we can remove it entirely. This patch contents itself with changing only the interface to usb_buffer_map_sg() and friends: The pipe argument is replaced with a direction flag. That can be done easily because those routines get used in only one place. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit fea3409112a93581db18da4c4332c8bf8d68af6b Author: Alan Stern Date: Mon Jul 30 17:06:16 2007 -0400 USB: add direction bit to urb->transfer_flags This patch (as945) adds a bit to urb->transfer_flags for recording the direction of the URB. The bit is set/cleared automatically in usb_submit_urb() so drivers don't have to worry about it (although as a result, it isn't valid until the URB has been submitted). Inline routines are added for easily checking an URB's direction. They replace calls to usb_pipein in the DMA-mapping parts of hcd.c. For non-control endpoints, the direction is determined directly from the endpoint descriptor. However control endpoints are bi-directional; for them the direction is determined from the bRequestType byte and the wLength value in the setup packet. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit bdd016ba64d909329cb4bacacc8443901c00e112 Author: Alan Stern Date: Mon Jul 30 17:05:22 2007 -0400 USB: add ep->enable This patch (as944) adds an explicit "enabled" field to the usb_host_endpoint structure and uses it in place of the current mechanism. This is merely a time-space tradeoff; it makes checking whether URBs may be submitted to an endpoint simpler. The existing mechanism is efficient when converting urb->pipe to an endpoint pointer, but it's not so efficient when urb->ep is used instead. As a side effect, the procedure for enabling an endpoint is now a little more complicated. The ad-hoc inline code in usb.c and hub.c for enabling ep0 is now replaced with calls to usb_enable_endpoint, which is no longer static. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 5b653c79c04c6b152b8dc7d18f8c8a7f77f4b235 Author: Alan Stern Date: Mon Jul 30 17:04:37 2007 -0400 USB: add urb->ep This patch (as943) prepares the way for eliminating urb->pipe by introducing an endpoint pointer into struct urb. For now urb->ep is set by usb_submit_urb() from the pipe value; eventually drivers will set it themselves and we will remove urb->pipe completely. The patch also adds new inline routines to retrieve an endpoint descriptor's number and transfer type, essentially as replacements for usb_pipeendpoint and usb_pipetype. usb_submit_urb(), usb_hcd_submit_urb(), and usb_hcd_unlink_urb() are converted to use the new field and new routines. Other parts of usbcore will be converted in later patches. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit a96173af521a173f45d3a27fa24265081f12e978 Author: Adrian Bunk Date: Tue Jul 31 00:28:22 2007 +0200 USB: Storage: usbat_check_status(): fix check-after-use The Coverity checker spotted that we have already oops'ed if "us" was NULL. Since "us" can't be NULL in the only caller this patch removes the NULL check. Signed-off-by: Adrian Bunk Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit efc9052e01fd316b7bd6b108feff7689c927ebe9 Author: David Brownell Date: Wed Aug 1 16:04:53 2007 -0700 USB: usb_gadget.h whitespace fixes This just fixes some whitespace bugs in , mostly extraneous spaces where a single tab suffices. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9f705bde6e77c24a3ba737ac45abc0f8e619e92e Author: Robert P. J. Day Date: Wed Aug 1 18:16:55 2007 -0400 USB: Remove dead references to "SAFE_SERIAL" CONFIG variables. Remove the references to CONFIG_USBD_SAFE_SERIAL_{VENDOR,PRODUCT}, which aren't defined in any Kconfig file. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 89a0fd18a96eb1f8732714b575073f8a8d69c009 Author: Mike Nuss Date: Wed Aug 1 13:24:30 2007 -0700 USB: OHCI handles more ZFMicro quirks The ZF Micro OHCI controller exhibits unexpected behavior that seems to be related to high load. Under certain conditions, the controller will complete a TD, remove it from the endpoint's queue, and fail to add it to the donelist. This causes the endpoint to appear to stop responding. Worse, if the device is removed while in that state, OHCI will hang while waiting for the orphaned TD to complete. The situation is not recoverable without rebooting. This fix enhances the scope of the existing OHCI_QUIRK_ZFMICRO flag: 1. A watchdog routine periodically scans the OHCI structures to check for orphaned TDs. In these cases the TD is taken back from the controller and completed normally. 2. If a device is removed while the endpoint is hung but before the watchdog catches the situation, any outstanding TDs are taken back from the controller in the 'sanitize' phase. The ohci-hcd driver used to print "INTR_SF lossage" in this situation; this changes it to the universally accurate "ED unlink timeout". Other instances of this message presumably have different root causes. Both this Compaq quirk and a NEC quirk are now properly compiled out for non-PCI builds of this driver. Signed-off-by: Mike Nuss Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e8fa0ce65c58dbb60be279c4e33534650dcacc31 Author: Pete Zaitcev Date: Mon Jul 23 02:17:49 2007 -0700 usblp: Make use of URB_FREE_BUFFER Employ the new API URB_FREE_BUFFER that we've got. There was talk of a combined constructor for this case, but apparently it's not happening, so just set the flag explicitly for now. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 7f477358e2384c54b190cc3b6ce28277050a041b Author: Pete Zaitcev Date: Mon Jul 23 01:58:15 2007 -0700 usblp: Implement the ENOSPC convention This patch implements a mode when a printer returns ENOSPC when it runs out of paper. The default remains the same as before. An application which wishes to use this function has to enable it explicitly with an ioctl LPABORT. This is done on a request by our (Fedora) CUPS guy, Tim Waugh. The API is similar enough to the lp0's one that CUPS works with both (but see below), but it's has some differences. Most importantly, the abort mode is persistent in case of lp0: once tunelp was run your cat fill blow up until you reboot or run tunelp again. For usblp, I made it so the abort mode is only in effect as long as device is open. This way you can mix and match CUPS and cat(1) freely and nothing bad happens even if you run out of paper. It is also safer in the face of any unexpected crashes. It has to be noted that mixing LPABORT and O_NONBLOCK is not advised. It probably does not do what you want: instead of returning -ENOSPC it will always return -EAGAIN (because it would otherwise block while waiting for the paper). Applications which use O_NONBLOCK should continue to use LPGETSTATUS like before. Finally, CUPS actually requires patching to take full advantage of this. It has several components; those which invoke LPABORT work, but some of them need the ioctl added. This is completely compatible, you can mix old CUPS and new kernels or vice versa. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit ca337db6f92a32347172a20b96f6f51b7bb63b7c Author: Jesper Juhl Date: Sat Jul 21 17:02:59 2007 +0200 USB: Clean up duplicate includes in drivers/usb/ This patch cleans up duplicate includes in drivers/usb/ Signed-off-by: Jesper Juhl Signed-off-by: Greg Kroah-Hartman commit 011db815231f40d4d53531b5d41b82c8dc7c44bf Author: Micah Gruber Date: Wed Sep 5 13:49:58 2007 +0800 USB: Remove unneeded pointer intf from speedtch_upload_firmware() This trivial patch removes the unneeded pointer intf returned from usb_ifnum_to_if(), which is never used. The check for NULL can be simply done by if (!usb_ifnum_to_if(usb_dev, 2)). Signed-off-by: Micah Gruber Signed-off-by: Greg Kroah-Hartman commit cd59abfcc441b2abb4cf2cd62c1eb0f02a60e8dd Author: Alan Stern Date: Fri Sep 21 15:36:56 2007 -0400 PM: merge device power-management source files This patch (as993) merges the suspend.c and resume.c files in drivers/base/power into main.c, making some public symbols private. Signed-off-by: Alan Stern Acked-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 6d66f5cd26e4c482e986130b7572f2735a0f7e8b Author: Tejun Heo Date: Thu Sep 20 17:31:38 2007 +0900 sysfs: add copyrights Sysfs has gone through considerable amount of reimplementation. Add copyrights. Any objections? :-) Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit f0e7e1bd77d450ebfa12153b90f93ad46616ab4a Author: Greg Kroah-Hartman Date: Thu Sep 27 14:48:53 2007 -0700 kobject: update the copyrights I've been hacking on these files for a while now, might as well make it official... Signed-off-by: Greg Kroah-Hartman commit 6adf7554b9c70eac83251e00aa4a55f7dc830cec Author: Greg Kroah-Hartman Date: Thu Sep 27 14:48:53 2007 -0700 kset: add some kerneldoc to help describe what these strange things are Signed-off-by: Greg Kroah-Hartman commit e89a4116ef345cf10c21f722dd1d8bfa9b7c7d58 Author: Greg Kroah-Hartman Date: Thu Oct 11 10:47:49 2007 -0600 Driver core: rename ktype_edd and ktype_efivar This makes it a bit more sane when trying to figure out how to clean up the ktype mess. Based on a larger patch from Kay Sievers Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a1148fb03f3c5d0bb5e6641234c2251a15741361 Author: Greg Kroah-Hartman Date: Thu Oct 11 10:47:49 2007 -0600 Driver core: rename ktype_driver This makes it a bit more sane when trying to figure out how to clean up the ktype mess. Based on a larger patch from Kay Sievers Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 8f4afc410b8d2be49f34835b6bbe788f50471b02 Author: Greg Kroah-Hartman Date: Thu Oct 11 10:47:49 2007 -0600 Driver core: rename ktype_device This makes it a bit more sane when trying to figure out how to clean up the ktype mess. Based on a larger patch from Kay Sievers Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit adc56808f32e15fa0c0fcd5ecb4b30989076ef2b Author: Greg Kroah-Hartman Date: Thu Oct 11 10:47:49 2007 -0600 Driver core: rename ktype_class This makes it a bit more sane when trying to figure out how to clean up the ktype mess. Based on a larger patch from Kay Sievers Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e4bc16621d82ee1fd3685dcbf889a7c49891847b Author: Greg Kroah-Hartman Date: Wed Sep 26 11:12:00 2007 -0700 driver core: remove subsystem_init() There is only one user of it, and it is only a wrapper for kset_init(). Signed-off-by: Greg Kroah-Hartman commit a4e8b912541d5372ae049a3b7c1979968e52c40b Author: Tejun Heo Date: Thu Sep 20 16:05:12 2007 +0900 sysfs: move sysfs file poll implementation to sysfs_open_dirent Sysfs file poll implementation is scattered over sysfs and kobject. Event numbering is done in sysfs_dirent but wait itself is done on kobject. This not only unecessarily bloats both kobject and sysfs_dirent but is also buggy - if a sysfs_dirent is removed while there still are pollers, the associaton betwen the kobject and sysfs_dirent breaks and kobject may be freed with the pollers still sleeping on it. This patch moves whole poll implementation into sysfs_open_dirent. Each time a sysfs_open_dirent is created, event number restarts from 1 and pollers sleep on sysfs_open_dirent. As event sequence number is meaningless without any open file and pollers should have open file and thus sysfs_open_dirent, this ephemeral event counting works and is a saner implementation. This patch fixes the dnagling sleepers bug and reduces the sizes of kobject and sysfs_dirent by one pointer. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 85a4ffad3de77177591f7c2c18c26c3c8dd28bff Author: Tejun Heo Date: Thu Sep 20 16:05:12 2007 +0900 sysfs: implement sysfs_open_dirent Implement sysfs_open_dirent which represents an open file (attribute) sysfs_dirent. A file sysfs_dirent with one or more open files have one sysfs_dirent and all sysfs_buffers (one for each open instance) are linked to it. sysfs_open_dirent doesn't actually do anything yet but will be used to off-load things which are specific for open file sysfs_dirent from it. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit bc747f37a0f089b9366f7385ff870e12911f2383 Author: Tejun Heo Date: Thu Sep 20 16:05:12 2007 +0900 sysfs: move sysfs_dirent->s_children into sysfs_dirent->s_dir Children list head is only meaninful for directory nodes. Move it into s_dir. This doesn't save any space currently but it will with further changes. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit dc2f75f0e0cac645c22c85bcf429683b3fa0d2d9 Author: Tejun Heo Date: Thu Sep 20 16:05:12 2007 +0900 sysfs: make sysfs_root a regular directory dirent sysfs_root is different from a regular directory dirent in that it's of type SYSFS_ROOT and doesn't have a name. These differences aren't used by anybody and only adds to complexity. Make sysfs_root a regular directory dirent. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit d6b4fd2faeb9ddf55ce09cf90b88981e579ee010 Author: Tejun Heo Date: Thu Sep 20 16:05:11 2007 +0900 sysfs: open code sysfs_attach_dentry() sysfs_attach_dentry() now has only one caller and isn't doing much other than obfuscating the code. Open code and kill it. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit b1fc3d6144d56360d1373b01c7881826f558b6cd Author: Tejun Heo Date: Thu Sep 20 16:05:11 2007 +0900 sysfs: make s_elem an anonymous union Make s_elem an anonymous union. Prefixing with s_elem makes things needlessly longer without any advantage. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 078ce6409ca54d5fc6eb7d2147cd6efc3eb09078 Author: Tejun Heo Date: Thu Sep 20 16:05:10 2007 +0900 sysfs: make bin attr open get active reference of parent too All bin attr operations require active references of itself and its parent. There's no reason to allow open when its parent has been deactivated and allowing it is inconsistent with regular sysfs file. Use sysfs_get_active_two() in bin attribute open function. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 50ab1a72863b1ad4b117862bc52610f8d4535609 Author: Tejun Heo Date: Thu Sep 20 16:05:10 2007 +0900 sysfs: kill unnecessary NULL pointer check in sysfs_release() In sysfs_release(), sysfs_buffer pointed to by filp->private_data is guaranteed to exist. Kill the unnecessary NULL check. This also makes the code more consistent with the counterpart in fs/sysfs/bin.c. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit b05f0548dabd20433f8c201a0307103721d6a18b Author: Tejun Heo Date: Thu Sep 20 16:05:10 2007 +0900 sysfs: kill unnecessary sysfs_get() in open paths There's no reason to get an extra reference to sysfs_dirent for an open file. Open file has a reference to the dentry which in turn has a reference to sysfs_dirent. This is fairly obvious as otherwise open itself won't be able to access the sysfs_dirent. Kill the extra sysfs_get() and matching sysfs_put(). Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit b13dc89c5a5bd5e34aadb44c0fb7e870959dcd06 Author: Tejun Heo Date: Thu Sep 20 16:05:10 2007 +0900 sysfs: reposition sysfs_dirent->s_mode. Move s_mode downward such that it's side-by-side with s_iattr which is used for the same thing. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 5a7ad7f044941316dc98eda2a087a12a7a50649d Author: Tejun Heo Date: Thu Sep 20 16:05:10 2007 +0900 sysfs: kill sysfs_update_file() sysfs_update_file() depends on inode->i_mtime but sysfs iondes are now reclaimable making the reported modification time unreliable. There's only one user (pci hotplug) of this notification mechanism and it reportedly isn't utilized from userland. Kill sysfs_update_file(). Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 59f69015684b3de7b9472be9a81b1a978f93a496 Author: Tejun Heo Date: Thu Sep 20 16:05:10 2007 +0900 sysfs: clean up header files sysfs is about to go through major overhaul making this a pretty good opportunity to clean up (out-of-tree changes and pending patches will need regeneration anyway). Clean up headers. * Kill space between * and symbolname. * Move SYSFS_* type constants and flags into fs/sysfs/sysfs.h. They're internal to sysfs. * Reformat function prototypes and add argument symbol names. * Make dummy function definition order match that of function prototypes. * Add some comments. * Reorganize fs/sysfs/sysfs.h according to which file the declared variable or feature lives in. This patch does not introduce any behavior change. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit f88123eaf953f13a0c597dde54745d28f81236de Author: Tejun Heo Date: Thu Sep 20 16:05:10 2007 +0900 sysfs: fix sysfs_chmod_file() such that it updates sd->s_mode too sysfs_chmod_file() looked and updated only inode of the target file. Dentry and inode are reclaimable and the update mode data will go away when the inode is reclaimed. This patch makes sysfs_chmod_file() update sd->s_mode too such that the change is permanent. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 181b2e4be1603ce3ccace8322047a548f29f4b20 Author: Tejun Heo Date: Thu Sep 20 16:05:09 2007 +0900 sysfs: fix comments of sysfs_add/remove_one() sysfs_add/remove_one() now link and unlink the target dirent into and from the children list. Update comments accordingly. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 5c3e8964ce87477a12e3e9edc3742156a3929a74 Author: Greg Kroah-Hartman Date: Thu Sep 13 02:53:13 2007 -0700 sysfs: spit a warning to users when they try to create a duplicate sysfs file We want to let people know when we create a duplicate sysfs file, as they need to fix up their code. Signed-off-by: Greg Kroah-Hartman commit dc8c85871c9728c5fddca6854a191fd41eb9438c Author: Kay Sievers Date: Wed Aug 15 12:25:38 2007 +0200 PTY: add kernel parameter to overwrite legacy pty count Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 45aaae9c51d768d5a8fd53fb372b1eb714f37691 Author: Eric W. Biederman Date: Mon Aug 20 21:36:31 2007 +0900 sysfs: Rewrite sysfs_move_dir in terms of sysfs dirents This patch rewrites sysfs_move_dir to perform it's checks as much as possible on the underlying sysfs_dirents instead of the contents of the dcache, making sysfs_move_dir more like the rest of the sysfs directory modification code. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 9918f9a4817cb6241c727b434d5f8ec5564198de Author: Eric W. Biederman Date: Mon Aug 20 21:36:31 2007 +0900 sysfs: Rewrite rename in terms of sysfs dirents This patch rewrites sysfs_rename_dir to perform it's checks as much as possible on the underlying sysfs_dirents instead of the contents of the dcache. It turns out that this version is a little simpler, and a little more like the rest of the sysfs directory modification code. tj: fixed double locking of sysfs_mutex Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 5a26b79c426f8e55ebf7204cb138eb6b1645d4d3 Author: Eric W. Biederman Date: Mon Aug 20 21:36:30 2007 +0900 sysfs: Remove s_dentry The only uses of s_dentry left are the code that maintains s_dentry and trivial users that don't actually need it. So this patch removes the s_dentry maintenance code and restructures the trivial uses to use something else. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit e0712bbfd9cb617fc3a822781c2466fb6b7ede50 Author: Tejun Heo Date: Mon Aug 20 21:36:30 2007 +0900 sysfs: simply sysfs_get_dentry Now that we know the sysfs tree structure cannot change under us and sysfs shadow support is dropped, sysfs_get_dentry() can be simplified greatly. It can just look up from the root and there's no need to retry on failure. Signed-off-by: Tejun Heo Cc: Eric W. Biederman Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 932ea2e374dd1ca26676297a5eccd1cdab86f7cd Author: Eric W. Biederman Date: Mon Aug 20 21:36:30 2007 +0900 sysfs: Introduce sysfs_rename_mutex Looking carefully at the rename code we have a subtle dependency that the structure of sysfs not change while we are performing a rename. If the parent directory of the object we are renaming changes while the rename is being performed nasty things could happen when we go to release our locks. So introduce a sysfs_rename_mutex to prevent this highly unlikely theoretical issue. In addition hold sysfs_rename_mutex over all calls to sysfs_get_dentry. Allowing sysfs_get_dentry to be simplified in the future. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 89bec09705d2033b8b765f3c3ac5093f80bd5bc4 Author: Eric W. Biederman Date: Mon Aug 20 21:36:30 2007 +0900 sysfs: Rewrite sysfs_drop_dentry. Currently we find the dentry to drop by looking at sd->s_dentry. We can just as easily accomplish the same task by looking up the sysfs inode and finding all of the dentries from there, with the added bonus that we don't need to play with the sysfs_assoc_lock. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 3efa65b92d832873ece62b42a4268c2515943977 Author: Eric W. Biederman Date: Mon Aug 20 21:36:30 2007 +0900 sysfs: Simplify readdir. At some point someone wrote sysfs_readdir to insert a cursor into the list of sysfs_dirents to ensure that sysfs_readdir would restart properly. That works but it is complex code and tends to be expensive. The same effect can be achieved by keeping the sysfs_dirents in inode order and using the inode number as the f_pos. Then when we restart we just have to find the first dirent whose inode number is equal or greater then the last sysfs_dirent we attempted to return. Removing the sysfs directory cursor also allows the remove of all of the mysterious checks for sysfs_type(sd) != 0. Which were nonbovious checks to see if a cursor was in a directory list. tj: offset marker for EOF is changed from UINT_MAX to INT_MAX to avoid overflow in case offset is 32bit. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 94777e09180b6249d455baa2dbe34cf630e0c033 Author: Eric W. Biederman Date: Mon Aug 20 21:36:30 2007 +0900 sysfs: In sysfs_lookup don't open code sysfs_find_dirent This is a small cleanup patch that makes the code just a little bit cleaner. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 7d0c7d676cc066413e1583b5af9fba8011972d41 Author: Eric W. Biederman Date: Mon Aug 20 21:36:30 2007 +0900 sysfs: Make sysfs_mount static This patch modifies the users of sysfs_mount to use sysfs_root instead (which is what they are looking for). It then makes sysfs_mount static to keep people from using it by accident. The net result is slightly faster and cleaner code. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 0333cd8a3f4249fde2c50929a6eac35245fc685b Author: Eric W. Biederman Date: Mon Aug 20 21:36:29 2007 +0900 sysfs: Use kill_anon_super Since sysfs no longer stores fs directory information in the dcache on a permanent basis kill_litter_super it is inappropriate and actively wrong. It will decrement the count on all dentries left in the dcache before trying to free them. At the moment this is not biting us only because we never unmount sysfs. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 119dd52be33dfe6285f586ab7354897fdefc7e23 Author: Eric W. Biederman Date: Mon Aug 20 21:36:29 2007 +0900 sysfs: Remove sysfs_instantiate Now that sysfs_get_inode is dropping the inode lock we no longer have a need from sysfs_instantiate. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 372e88bd1922228e0a55228f6dc8e311d1696fa0 Author: Eric W. Biederman Date: Mon Aug 20 21:36:29 2007 +0900 sysfs: Move all of inode initialization into sysfs_init_inode Signed-off-by: "Eric W. Biederman" Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 253280267a7f1ced0c434fb24b7bef92d7d22628 Author: Tejun Heo Date: Mon Aug 20 21:36:29 2007 +0900 sysfs: fix i_mutex locking in sysfs_get_dentry() lookup_one_len_kern() should be called with the parent's i_mutex locked. Fix it. Spotted by Eric W. Biederman. Signed-off-by: Tejun Heo Cc: Eric W. Biederman Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 1359555eb77d240b7c1d7ee75bb07e89e89770e4 Author: Jean Delvare Date: Sun Sep 9 12:54:16 2007 +0200 Driver core: Make platform_device.id an int While platform_device.id is a u32, platform_device_add() handles "-1" as a special id value. This has potential for confusion and bugs. Making it an int instead should prevent problems from happening in the future. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 44b760a825fae65629fb04b1deeab68c6bef5c50 Author: Akinobu Mita Date: Sun Aug 19 16:51:14 2007 +0900 sysdev: remove global sysdev drivers list No one uses sysdev_drivers. Because no one calls sysdev_driver_register with NULL class. And it is difficult to imagine that someone want to implement a global sysdev driver which is called with all sys_device on any kind of sysdev_class. So this patch removes global sysdev_drivers list and update comments for this change. Signed-off-by: Akinobu Mita Cc: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit a93720eeb4b3bedc1fe15e4b6ca364e6be577d20 Author: Rolf Eike Beer Date: Fri Aug 10 13:51:07 2007 -0700 sysfs: Fix typos in fs/sysfs/file.c Signed-off-by: Rolf Eike Beer Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b4d1eb2ccecb76bce4c2125c5a3e77753fcfaeb0 Author: Adrian Bunk Date: Fri Aug 10 13:51:09 2007 -0700 drivers/base/power/: make 2 functions static suspend_device() and resume_device() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 109f0e93b6b728f03c1eb4af02bc25d71b646c59 Author: Markus Rechberger Date: Mon Aug 13 19:20:43 2007 +0200 Fix Firmware class name collision following patch fixes the i2c name collision with i2c-dev. http://mcentral.de/wiki/index.php/Bugtracker#i2c_core_problem This issue has been experienced with em28xx and saa7133 based devices. I discussed that problem with Jean Delvare a while ago and he proposed to add a prefix to the class name. Signed-off-by: Markus Rechberger Acked-by: Marcel Holtmann Signed-off-by: Greg Kroah-Hartman commit ccd490a3c3d9c5960c738c2720fb2dc6830bc334 Author: Kay Sievers Date: Sun Aug 12 20:43:55 2007 +0200 Driver core: kerneldoc - kobject_uevent_env is not "usually KOBJ_MOVE" Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7ac1cf4a87f446c130f7d8a4fe7e519f532a11de Author: Kay Sievers Date: Sun Aug 12 20:43:55 2007 +0200 Driver core: add uevent file for bus and driver This has been in the SuSE kernels for some time now. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 5c5daf657cb5f963a38413f2852279d7a3843144 Author: Kay Sievers Date: Sun Aug 12 20:43:55 2007 +0200 Driver core: exclude kobject_uevent.c for !CONFIG_HOTPLUG Move uevent specific logic from the core into kobject_uevent.c, which does no longer require to link the unused string array if hotplug is not compiled in. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 07c015e7654821f2dda00dcf152c65b2afd46ac3 Author: tonyj@suse.de Date: Tue Aug 7 22:28:44 2007 -0700 Convert from class_device to device in drivers/char Convert from class_device to device in drivers/char. Signed-off-by: Tony Jones Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 60043428a561a5d431ad479b7ecb79805ed04efc Author: tonyj@suse.de Date: Tue Aug 7 22:28:47 2007 -0700 Convert from class_device to device for drivers/video Convert from class_device to device for drivers/video. Signed-off-by: Tony Jones Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 34b51f39e23bc9e529830ddf6108381d4bab95a6 Author: Jean Delvare Date: Mon Aug 13 11:26:26 2007 +0200 dmi-id: Possible cleanup The DEFINE_DMI_ATTR macro has a single user left so we can expand it for slightly shorter/simpler code. Signed-off-by: Jean Delvare Acked-by: Lennart Poettering Signed-off-by: Greg Kroah-Hartman commit 6374475661172d508a9b93a2740a3fdc9d899756 Author: Jean Delvare Date: Mon Aug 13 11:24:33 2007 +0200 dmi-id: Use dynamic sysfs attributes We can use sysfs attributes with an extra parameter for dmi id attributes. This makes it possible to use the same callback function for all attributes, reducing the binary size significantly (-18% on x86_64.) Signed-off-by: Jean Delvare Acked-by: Lennart Poettering Signed-off-by: Greg Kroah-Hartman commit 990e53f880be9ff93072b4cce590ec2826cee0b6 Author: Tejun Heo Date: Thu Aug 2 21:38:03 2007 +0900 sysfs: make sysfs_addrm_finish() return void With the previous sysfs_add_one() update, there is only one user of the return value of sysfs_addrm_finish() and the user can switch to testing @sd easily. Make sysfs_addrm_finish() return void for cleaner semantics as suggested by Satyam Sharma. This patch doesn't introduce any noticeable behavior change. Signed-off-by: Tejun Heo Cc: Satyam Sharma Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 23dc279950a056c33a14d09cf759f5173d41abd9 Author: Tejun Heo Date: Thu Aug 2 21:38:03 2007 +0900 sysfs: make sysfs_add_one() automatically check for duplicate entry Make sysfs_add_one() check for duplicate entry and return -EEXIST if such entry exists. This simplifies node addition code a bit. This patch doesn't introduce any noticeable behavior change. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 41fc1c27452e041a18e5141b8203ee0ea72bc483 Author: Tejun Heo Date: Thu Aug 2 21:38:03 2007 +0900 sysfs: make sysfs_add/remove_one() call link/unlink_sibling() implictly When adding or removing a sysfs_dirent, the user used to be required to call link/unlink separately. It was for two reasons - code looked like that before sysfs_addrm_cxt conversion and to avoid looping through parent_sd->children list twice during removal. Performance optimization during removal just isn't worth it. Make sysfs_add/remove_one() call sysfs_link/unlink_sibing() implicitly. This makes code simpler albeit slightly less efficient. This change doesn't introduce any noticeable behavior change. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit ff869de7bf5e76adffebd3a176c1c73bca7eddb7 Author: Tejun Heo Date: Thu Aug 2 21:38:02 2007 +0900 sysfs: simplify sysfs_rename_dir() With the shadow directories gone, sysfs_rename_dir() can be simplified. * parent doesn't need to be grabbed separately. Just access old_dentry->d_parent. * parent sd can never change. Remove code to move under the new parent. * Massage comments a bit. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit a7a0475497f9018e2e28cd421ee467d2ad68643e Author: Tejun Heo Date: Thu Aug 2 21:38:02 2007 +0900 sysfs: cosmetic changes in sysfs_lookup() * remove space between * and symbol name in variable declaration. * kill unnecessary new line. * kill 'found' and test 'sd' instead. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 90bc61359de0148f8627073d68a22edc7ed9893d Author: Eric W. Biederman Date: Tue Jul 31 19:15:08 2007 +0900 sysfs: Remove first pass at shadow directory support While shadow directories appear to be a good idea, the current scheme of controlling their creation and destruction outside of sysfs appears to be a locking and maintenance nightmare in the face of sysfs directories dynamically coming and going. Which can now occur for directories containing network devices when CONFIG_SYSFS_DEPRECATED is not set. This patch removes everything from the initial shadow directory support that allowed the shadow directory creation to be controlled at a higher level. So except for a few bits of sysfs_rename_dir everything from commit b592fcfe7f06c15ec11774b5be7ce0de3aa86e73 is now gone. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 869512ab5ab93e5e82ad7d4aaf4ed098d23bfc3f Author: Dave Young Date: Thu Jul 26 14:53:53 2007 +0000 sysfs: cleanup semaphore.h Cleanup semaphore.h Signed-off-by: Dave Young Signed-off-by: Greg Kroah-Hartman commit 52e8c209d6d2bae6766b9940a107c73e943583f1 Author: Dave Young Date: Thu Jul 26 11:03:54 2007 +0000 sysfs/file.c - use mutex instead of semaphore Use mutex instead of semaphore in sysfs/file.c : sys_buffer. Signed-off-by: Dave Young Signed-off-by: Greg Kroah-Hartman commit 2ebefc50161a0a1cdebccd62be749e72abdbec37 Author: Robin Getz Date: Thu Aug 2 18:23:50 2007 -0400 debugfs: helper for decimal challenged Allows debugfs helper functions to have a hex output, rather than just decimal Signed-off-by: Robin Getz Signed-off-by: Greg Kroah-Hartman commit d716551e188787effb08bf87a846404cfd239a8b Author: Cornelia Huck Date: Fri Sep 14 13:25:19 2007 +0200 Driver core: clean up removed functions from the documentation Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit ce2c9cb0259acd2aed184499ebe41ab00da13b25 Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 kobject: remove the static array for the name Due to historical reasons, struct kobject contained a static array for the name, and a dynamic pointer in case the name got bigger than the array. That's just dumb, as people didn't always know which variable to reference, even with the accessor for the kobject name. This patch removes the static array, potentially saving a lot of memory as the majority of kobjects do not have a very long name. Thanks to Kay for the idea to do this. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 34980ca8faebfcce31094eba6ffbb0113950361f Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 Drivers: clean up direct setting of the name of a kset A kset should not have its name set directly, so dynamically set the name at runtime. This is needed to remove the static array in the kobject structure which will be changed in a future patch. Signed-off-by: Greg Kroah-Hartman commit 7e7654a92a5a75a350cc3458389bc76273498f6a Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 cdev: remove unneeded setting of cdev names struct cdev does not need the kobject name to be set, as it is never used. This patch fixes up the few places it is set. Signed-off-by: Greg Kroah-Hartman Acked-by: Mauro Carvalho Chehab commit 19c38de88a80913351fcacefdb461cc0b585fa87 Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 kobjects: fix up improper use of the kobject name field A number of different drivers incorrect access the kobject name field directly. This is not correct as the name might not be in the array. Use the proper accessor function instead. commit 5901d0145c6b9e791bacd049eea11c9db9a3006e Author: Greg Kroah-Hartman Date: Thu Sep 13 02:53:13 2007 -0700 Driver core: remove get_bus() get_bus() should not be globally visable as it is not used by anything other than drivers/base/bus.c. This patch removes the visability of it, and renames it to match all of the other *_get() functions in the kernel. Signed-off-by: Greg Kroah-Hartman commit fc1ede5888ab8a9b3e7f8567b945beed35222885 Author: Greg Kroah-Hartman Date: Thu Sep 13 02:53:13 2007 -0700 Driver core: remove put_bus() put_bus() should not be globally visable as it is not used by anything other than drivers/base/bus.c. This patch removes the visability of it, and renames it to match all of the other *_put() functions in the kernel. Signed-off-by: Greg Kroah-Hartman commit 1ef4cfac01fb5e98900f5bdb2a722aac1daff11b Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 Driver core: remove subsys_get() There are no more subsystems, it's a kset now so remove the function and the only two users, which are in the driver core. Signed-off-by: Greg Kroah-Hartman commit 6e9d930d167f8957a12a80515f3c417a98296378 Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 Driver core: remove subsys_put() There are no more subsystems, it's a kset now so remove the function and the only two users, which are in the driver core. Signed-off-by: Greg Kroah-Hartman commit 27f20e5e4e60a7f28010eeb34399fe0cc9a1a235 Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 Driver core: remove kset_set_kset_s This macro is only used by the driver core and is held over from when we had subsystems. It is not needed anymore. Signed-off-by: Greg Kroah-Hartman commit d6b05b84edf590ff872de6310ec20d60b5b37dd2 Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 Driver core: remove subsys_set_kset This macro is only used by the driver core and is held over from when we had subsystems. It is not needed anymore. Signed-off-by: Greg Kroah-Hartman commit 6a8d8abb6e4497ae4132a9b1f0a956ea501f1c46 Author: Kay Sievers Date: Wed Aug 15 15:38:28 2007 +0200 Driver core: add CONFIG_UEVENT_HELPER_PATH The kernel creates a process for every event that is send, even when there is no binary it could execute. We are needlessly creating around 200-300 failing processes during early bootup, until we have the chance to disable it from userspace. This change allows us to disable /sbin/hotplug entirely, if you want to, by setting UEVENT_HELPER_PATH="" in the kernel config. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7eff2e7a8b65c25920207324e56611150eb1cd9a Author: Kay Sievers Date: Tue Aug 14 15:15:12 2007 +0200 Driver core: change add_uevent_var to use a struct This changes the uevent buffer functions to use a struct instead of a long list of parameters. It does no longer require the caller to do the proper buffer termination and size accounting, which is currently wrong in some places. It fixes a known bug where parts of the uevent environment are overwritten because of wrong index calculations. Many thanks to Mathieu Desnoyers for finding bugs and improving the error handling. Signed-off-by: Kay Sievers Cc: Mathieu Desnoyers Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 8380770c842faef3001e44662953d64ad9a93663 Author: Kay Sievers Date: Mon Jul 30 02:28:56 2007 +0200 Driver core: make sysfs uevent-attributes static Attributes do not have an owner(module) anymore, so there is no need to carry the attributes in every single bus instance. Signed-off-by: Kay Sievers Acked-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 3b6662f192fc521b9657f63e68d20ec99979dae6 Author: Tsugikazu Shibata Date: Tue Sep 25 01:54:26 2007 +0900 HOWTO: update ja_JP/HOWTO with latest changes Here is another sync patch of Documentation/ja_JP/HOWTO Japanese developer sent me some cosmetic changes and also follow changes of HOWTO Cross reference URL (sosdg.org/qiyong/lxr) known_regression explanations on kernel dev. process Signed-off-by: Tsugikazu Shibata Cc: stable Signed-off-by: Greg Kroah-Hartman commit 43cc71eed1250755986da4c0f9898f9a635cb3bf Author: Kay Sievers Date: Sat Aug 18 04:40:39 2007 +0200 platform: prefix MODALIAS with "platform:" Prefix platform modalias strings with "platform:", which modprobe config to blacklist alias resolving if userspace configures it. Send uevents for all platform devices. Add MODULE_ALIAS's to: pxa2xx_pcmcia, ds1742 and pcspkr to trigger module autoloading by userspace. $ modinfo pcspkr alias: platform:pcspkr license: GPL description: PC Speaker beeper driver ... $ modprobe -n -v platform:pcspkr insmod /lib/modules/2.6.23-rc3-g28e8351a-dirty/kernel/drivers/input/misc/pcspkr.ko Signed-off-by: Kay Sievers Cc: David Brownell Cc: Atsushi Nemoto Signed-off-by: Greg Kroah-Hartman commit 8e75ad8908bd653191b19347ecccb4078cb17b74 Author: Satyam Sharma Date: Tue Oct 2 13:39:46 2007 -0700 [IA64] perfmon: Remove exit_pfm_fs() Because it is dead code and not referenced by anybody else (that file cannot be built modular). Signed-off-by: Satyam Sharma Cc: "Luck, Tony" Cc: Stephane Eranian Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit db6a5cef7f474a5bad476a31f4e4c69a69fab8b1 Author: Satyam Sharma Date: Tue Oct 2 13:39:45 2007 -0700 [IA64] tree-wide: Misc __cpu{initdata, init, exit} annotations * palinfo.c: palinfo_cpu_notifier is a CPU hotplug notifier_block, and can be marked __cpuinitdata, and the callback function palinfo_cpu_callback() itself can be marked __cpuinit. create_palinfo_proc_entries() is only called from __cpuinit callback or general __init code, therefore a candidate for __cpuinit itself. remove_palinfo_proc_entries() is only called from __cpuinit callback or general __exit code, therefore a candidate for __cpuexit. * salinfo.c: The CPU hotplug notifier_block can be __cpuinitdata. The callback salinfo_cpu_callback() is incorrectly marked __devinit -- it must be __cpuinit instead. * topology.c: cache_sysfs_init() is only called at device_initcall() time so marking it as __cpuinit is wrong and wasteful. It should be unconditionally __init. Also cleanup reference to hotplug notifier callback function from this function and replace with cache_add_dev(), which could also enable us to use other tricks to replace __cpuinit{data} annotations, as recently discussed on this list. cache_shared_cpu_map_setup() is only ever called from __cpuinit-marked functions hence both its definitions (SMP or !SMP) are candidates for __cpuinit itself. Also all_cpu_cache_info can be __cpuinitdata because only referenced from __cpuinit code. Signed-off-by: Satyam Sharma Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit ed6fb174eea8869e88d8bc506a55f3ef76fcb7ed Author: Venki Pallipadi Date: Fri Oct 12 23:04:24 2007 +0200 x86: HPET add another ICH7 PCI id Add another PCI ID for ICH7 force hpet. Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven commit 32a2da64c26d3c886c35f60299259a3497ff96bb Author: Venki Pallipadi Date: Fri Oct 12 23:04:24 2007 +0200 x86: HPET force enable ICH5 suspend/resume fix A bugfix in ich5 hpet force detect which caused resumes to fail. Thanks to Udo A Steinberg for reporting the problem. Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit bfe0c1cc6456bba1f4e3cc1fe29c0ea578ac763a Author: Venki Pallipadi Date: Fri Oct 12 23:04:24 2007 +0200 x86: HPET force enable for ICH5 force_enable hpet for ICH5. [ Build fixes from Andrew Morton ] Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 59c69f2a51b41e9886b85f61c04e8d0d2a35f37b Author: Venki Pallipadi Date: Fri Oct 12 23:04:23 2007 +0200 x86: HPET try to activate force detected hpet Enable HPET later during boot, after the force detect in PCI quirks. Also add a call to repeat the force enabling at resume time. Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit d54bd57d6580250e6551261f3b15c45a9d90c77b Author: Venki Pallipadi Date: Fri Oct 12 23:04:23 2007 +0200 x86: HPET force enable o ICH7 and later Force detect and/or enable HPET on ICH chipsets. This patch just handles the detection part and following patches use this information. Adds a function to repeat the force enabling during resume time. Using HPET this way, instead of PIT increases the time CPUs can reside in C-state when system is totally idle. On my test system with Core 2 Duo, average C-state residency goes up from ~20mS to ~80mS. [ Build fixed from Andrew Morton ] Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 610bf2f143b9c5cda768a2d428d66d3a16769930 Author: Venki Pallipadi Date: Fri Oct 12 23:04:23 2007 +0200 x86: HPET restructure hpet code for hpet force enable Restructure and rename legacy replacement mode HPET timer support. Just the code structural changes and should be zero functionality change. Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 4a93232dab0a07074bcc5291a0f1f39919916f31 Author: Venki Pallipadi Date: Fri Oct 12 23:04:23 2007 +0200 clock events: allow replacement of broadcast timer Change the broadcast timer, if a timer with higher rating becomes available. Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 31c435d75e7d15a5f965c5eb0e33fe0e236f49a4 Author: Chris Wright Date: Fri Oct 12 23:04:23 2007 +0200 i386/x8664: cleanup the shared hpet code Remove hpet_readl/writel from vsyscall.h, where it does not belong anyway. Use the hpet code itself. Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven commit 39d0b7ba7b9c0a2c594073400cde1d0beffa0bea Author: Thomas Gleixner Date: Fri Oct 12 23:04:23 2007 +0200 i386: Remove the useless #ifdef in i8253.h Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 43ca7ec96f01bd921e772112729005d4474fdbf4 Author: Thomas Gleixner Date: Fri Oct 12 23:04:23 2007 +0200 ACPI: remove the now unused ifdef code The conversion of x86-64 to clock events makes the #ifdef CONFIG_GENERIC_CLOCKEVENTS n the timer broadcast functions useless. Remove it. Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 5b94664a3a2a4f3c516a4a2f454f3c811cb25959 Author: Chris Wright Date: Fri Oct 12 23:04:23 2007 +0200 jiffies: remove unused macros The x86 hpet cleanups allow removal of some unused macros. Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit bc1d99c1de85e826765318738e00e6c4e9a0cd12 Author: Chris Wright Date: Fri Oct 12 23:04:23 2007 +0200 x86_64: cleanup apic.c after clock events switch Make variables static. Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 9f75e9b74a45d7d3c343c8979f49d5e6b92bbce3 Author: Thomas Gleixner Date: Fri Oct 12 23:04:23 2007 +0200 x86_64: remove now unused code Remove the unused code after the switch to clock events. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 2f0798a3b1c2155b8f30858e853557aef9da2e4e Author: Thomas Gleixner Date: Fri Oct 12 23:04:23 2007 +0200 x86: unify timex.h variants Combine the timex.h variants and move the TSC related code into tsc.h. Move the set_cyc2ns_scale() call into the tsc calibraction code, where it belongs. Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven commit 5d5a2989b72847e1f5763420ea31383ca63ebf53 Author: Thomas Gleixner Date: Fri Oct 12 23:04:23 2007 +0200 x86: kill 8253pit.h Useless header file with 32 bit and 64 bit variants. Move the single useful line to the place where it is used. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit fb79d22e1d4b06385796cc0db0084a2e07beccee Author: Thomas Gleixner Date: Fri Oct 12 23:04:07 2007 +0200 x86: disable apic timer for AMD C1E enabled CPUs AMDs C1E enabled CPUs stop the local apic timer, when both cores are idle. This is a hardware feature which breaks highres/dynticks. Add the same quirk as we have for 32 bit already. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 4e77ae3e105d28aa9410585715d83818f0abe871 Author: Thomas Gleixner Date: Fri Oct 12 23:04:07 2007 +0200 x86: Fix irq0 / local apic timer accounting The clock events merge introduced a change to the nmi watchdog code to handle the not longer increasing local apic timer count in the broadcast mode. This is fine for UP, but on SMP it pampers over a stuck CPU which is not handling the broadcast interrupt due to the unconditional sum up of local apic timer count and irq0 count. To cover all cases we need to keep track on which CPU irq0 is handled. In theory this is CPU#0 due to the explicit disabling of irq balancing for irq0, but there are systems which ignore this on the hardware level. The per cpu irq0 accounting allows us to remove the irq0 to CPU0 binding as well. Add a per cpu counter for irq0 and evaluate this instead of the global irq0 count in the nmi watchdog code. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit b8ce33590687888ebb900d09557b8807c4539022 Author: Thomas Gleixner Date: Fri Oct 12 23:04:07 2007 +0200 x86_64: convert to clock events Finally switch to the clockevents code. Share code with i386 for hpet and PIT. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit ba7eda4c60e1d070b2f6586d42719ec1d5302d3b Author: Thomas Gleixner Date: Fri Oct 12 23:04:07 2007 +0200 x86_64: Add (not yet used) clock event functions Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 02290683343391a50f45599710295dafa2ddd018 Author: Chris Wright Date: Fri Oct 12 23:04:07 2007 +0200 x86_64: prepare idle loop for dynamic ticks Add tick_nohz_{stop,restart}_sched_tick to idle loop in prepartion for turning on dynticks. These are just noops until NO_HZ is enabled. Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven commit c4d58cbd158dc9b30c55c0e3881ae7c6b8843d5a Author: Thomas Gleixner Date: Fri Oct 12 23:04:07 2007 +0200 x86_64: remove nested irq disables setup_APIC_timer disables interrupts anyway. So no need to do the same in setup_boot_APIC_clock and setup_secondary_APIC_clock. Disable interrupts explicit in the calibration code. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit abc63fcd3cc61876b2d6f5b0d08021bd1538385c Author: Thomas Gleixner Date: Fri Oct 12 23:04:07 2007 +0200 x86_64: apic change setup_APIC_timer calling convention setup_APIC_timer takes the file global calibration result as an argument. Remove it. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit b58eb00df7f7f80b7f456bf8fb740fddf14408ba Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 x86_64: Remove APIC_DIVISOR APIC_DIVISOR is rather useless. It makes the calibration result more accurate in the first place, but we discard this later when we write the value to the APIC timer by dividing the calibration value by APIC_DIVISOR. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit d03030e917047cf7f475e641cd2d6e83647392b0 Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 x86_64: Move apic calibration code around Let the calibration code fill in calibration_result directly and move the variable on top of the file. Fixup a printk w/o log level while at it. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 500ff08b76878a45391fffc7a4c972883503050e Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 x86_64: remove pit synchronization The APIC timer setup code synchronizes the local APIC timer to the PIT/HPET. This is pointless as the PIT and the local APIC timer frequency are not correlated and the APIC timer calibration can never be accurate enough to avoid that the local APIC timer and the PIT/HPET drift apart. Simply remove it. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 801740971af7c6256b7ad2472706d43ed008fd3d Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 x86_64: prepare apic code for clock events Change __setup_APIC_LVTT so it takes the arguments which are necessary for the later clock events switch. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 7ffeeb1e03c4fc1c7e8434c5496018dd035f8924 Author: Yinghai Lu Date: Fri Oct 12 23:04:06 2007 +0200 x86: remove never used apic_mapped [ tglx: arch/x86 adaptation ] Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen Cc: Christoph Lameter Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 0190dae54de62fbb9ced75d134015266987eb6b8 Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 i386: prepare sharing the PIT code PIT clock events work already and the PIT handling is the same for i386 and x86_64. x86_64 does not support PIT as a clock source, so disable the PIT clocksource for x86_64. Use the i386 i8253.h include file for x86_64 as well to share the exports and the PIT constants. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit f5e0e93faf8421083853b2d7a217267f49e27cc3 Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 i386: prepare sharing the PIT code PIT clock events work already and the PIT handling is the same for i386 and x86_64. x86_64 does not support PIT as a clock source, so disable the PIT clocksource for x86_64. Prepare i8253.h to be shared with x8664 Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 28769149c285e0a392d2e601ae0cc71ffc345f7d Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 i386: prepare sharing the hpet code with x86_64 Add the x8664 specific bits (mapping) to share the hpet code later. Move the reserve_platform_timer call to late init. This is necessary for x86_64, as hpet enable() is called before memory is setup. i386 calls it in late_time_init, but it does not hurt to do it later for both. Pull in the x8664 hpet disable command line option as well. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 06a24dec10bc4014fc0974670627efed68f5da27 Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 i386: prepare sharing the hpet code with x86_64 The hpet implementations of i386 and x8664 has been mostly the same before the clock events conversion of i386. The clock events conversion of i386 hpet is already done. So it makes sense to share the code for the x86_64 clock events conversion. Abstract out the mapping functions. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit d371698efd45c3664fd1726780c360f02e1f9580 Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 x86_64: Consolidate tsc calibration Move the TSC calibration code to tsc.c. Reimplement it so the pm timer can be used as a reference as well. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 89b2bbd69b89b4c5efdc112a88d72419bdeb8dfc Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 x86_64: Select clocksource watchdog in Kconfig TSC must be verified by a continous and reliable clocksource to allow high resolution timers and or dynamic ticks. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 8f36881b3c972ebc019195692849f22488f9c0a3 Author: Andres Salomon Date: Fri Oct 12 23:04:06 2007 +0200 x86: Geode MFGPT clock event device support Add support for an MFGPT clock event device; this allows us to use MFGPTs as the basis for high-resolution timers. Signed-off-by: Jordan Crouse Signed-off-by: Andres Salomon Cc: Andi Kleen Cc: Alan Cox Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 83d7384f8d4aa216b49cf9cb286ea743054b119f Author: Andres Salomon Date: Fri Oct 12 23:04:06 2007 +0200 x86: Geode Multi-Function General Purpose Timers support This adds support for Multi-Function General Purpose Timers. It detects the available timers during southbridge init, and provides an API for allocating and setting the timers. They're higher resolution than the standard PIT, so the MFGPTs come in handy for quite a few things. Note that we never clobber the timers that the BIOS might have opted to use; we just check for unused timers. Signed-off-by: Jordan Crouse Signed-off-by: Andres Salomon Cc: Andi Kleen Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 5fa3a246ea2e1be2ffaa01343bc183c8c0bfa472 Author: Venki Pallipadi Date: Fri Oct 12 23:04:06 2007 +0200 x86: block irq balancing for timer Disable irq balancing on IRQ0. Several SIS chipsets lock up when you try to change affinity of IRQ #0. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andi Kleen Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven commit 3c9aea47425885ec8b1f7b0df88c2ebc6f747c9d Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 x86: Fix irq0 / local apic timer accounting The clock events merge introduced a change to the nmi watchdog code to handle the not longer increasing local apic timer count in the broadcast mode. This is fine for UP, but on SMP it pampers over a stuck CPU which is not handling the broadcast interrupt due to the unconditional sum up of local apic timer count and irq0 count. To cover all cases we need to keep track on which CPU irq0 is handled. In theory this is CPU#0 due to the explicit disabling of irq balancing for irq0, but there are systems which ignore this on the hardware level. The per cpu irq0 accounting allows us to remove the irq0 to CPU0 binding as well. Add a per cpu counter for irq0 and evaluate this instead of the global irq0 count in the nmi watchdog code. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit c8a1d398de70a7774359b4720c392891cdd485f9 Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 clockevents: fix periodic broadcast for oneshot devices The next_event member of the clock event device is used to keep track of the next periodic event. For one shot only devices it is wrong to clear the variable, as the next event will be based on it. Pointed out by Ralf Baechle Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit de68d9b173ee657115dd0e584c2365b7954253a5 Author: Thomas Gleixner Date: Fri Oct 12 23:04:05 2007 +0200 clockevents: Allow build w/o run-tine usage for migration purposes Migration aid to allow preparatory patches which introduce not yet used parts of clock events code. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 7f8033b76c8eea89dec9f658f4a31bcd4fe84bbb Author: Thomas Gleixner Date: Fri Oct 12 23:04:05 2007 +0200 clockevents: Remove unused inline function Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 77f1fd6ecd04556cbac1ca72e7a284ae313ea538 Author: Pierre Ossman Date: Fri Oct 12 22:48:46 2007 +0200 mmc: use correct unregister function for led trigger We register a simple trigger so make sure we use the corresponding unregister function. (Also means we get a dummy function when triggers aren't compiled in) Signed-off-by: Pierre Ossman commit c95530c7798b760901c5d6212e528b03e323b8ac Author: eric miao Date: Wed Aug 29 10:22:17 2007 +0100 [ARM] 4560/1: pxa: move processor specific set_wake logic out of irq.c a function pxa_init_irq_set_wake() was introduced, so that processor specific code could install their own version code setting PFER and PRER registers within pxa_gpio_irq_type are removed, and the edge configuration is postponed to the (*set_wake) and copies the GRER and GFER register, which will always be set up correctly by pxa_gpio_irq_type() Signed-off-by: eric miao Signed-off-by: Russell King commit 30f0b40844e5add7ad879e2f5939ff498f72f3e6 Author: eric miao Date: Wed Aug 29 10:18:47 2007 +0100 [ARM] 4559/1: pxa: make PXA_LAST_GPIO a run-time variable This definition produces processor specific code in generic function pxa_gpio_mode(), thus creating inconsistencies for support of pxa25x and pxa27x in a single zImage. As David Brownell suggests, make it a run-time variable and initialize at run-time according to the number of GPIOs on the processor. For now the initialization happens in pxa_init_irq_gpio(), since there is already a parameter for that, besides, this is and MUST be earlier than any subsequent calls to pxa_gpio_mode(). Signed-off-by: eric miao Signed-off-by: Russell King commit 37c2f779a4eabf7c6a39e6f9ded0ec3471ed5995 Author: eric miao Date: Wed Aug 29 10:15:41 2007 +0100 [ARM] 4558/1: pxa: remove MACH_TYPE_LUBBOCK assignment and leave it to boot loader since both u-boot and blob support passing MACH_TYPE_LUBBOCK to the kernel, it should be quite safe to remove this Signed-off-by: eric miao Acked-by: Nicolas Pitre Signed-off-by: Russell King commit cd272ab01141c908ccccb068e6d38b7fcd3240ac Author: eric miao Date: Tue Sep 11 19:13:17 2007 -0700 [ARM] pxa: add PXA3 cpu_is_xxx() macros Extracted from patch by Eric Miao, this adds the cpu_is_xxx() macros for identifying PXA3 SoCs. Signed-off-by: eric miao Signed-off-by: Russell King commit fa0b62513b7cb55b6764b794b63c6f583b26e813 Author: Russell King Date: Wed Sep 19 09:38:32 2007 +0100 [ARM] pxa: Make CPU_XSCALE depend on PXA25x or PXA27x PXA3 SoCs are supported by the Xscale3 CPU code rather than the Xscale CPU code. Signed-off-by: Russell King commit a7073b8b47651ce2ed27564ed8395eff81120c58 Author: Russell King Date: Wed Sep 19 09:33:55 2007 +0100 [ARM] pxa: mark pxa_set_cken deprecated Allow the generic clock support code to fiddle with the CKEN register and mark pxa_set_cken() deprecated. Signed-off-by: Russell King commit a88a447d44648f1dfba4c40b3f4b6f75597150ed Author: Russell King Date: Mon Aug 20 10:34:37 2007 +0100 [ARM] pxa: remove get_lcdclk_frequency_10khz() get_lcdclk_frequency_10khz() is now redundant, remove it. Hide pxa27x_get_lcdclk_frequency_10khz() from public view. Signed-off-by: Russell King commit 82d553c67deef92c6c84ecb70afc56e99863060c Author: Russell King Date: Sun Sep 2 17:09:23 2007 +0100 [ARM] pxa: update pxa irda driver to use clk support Signed-off-by: Russell King commit 435b6e94b88af96c3f5b5798c087978c3793400c Author: Russell King Date: Sun Sep 2 17:08:42 2007 +0100 [ARM] pxa: Make STUART and FICP clocks available Signed-off-by: Russell King commit 6549e6c9575c897514b183071a2b5d839cef9469 Author: Russell King Date: Mon Aug 20 10:33:35 2007 +0100 [ARM] pxa: update PXA UDC driver to use clk support Note: this produces a WARN() dump. Signed-off-by: Russell King commit b049bd9de4959dd9e4b586d14b6de450a52c6f1f Author: Russell King Date: Mon Aug 20 10:28:15 2007 +0100 [ARM] pxa: update pxa serial driver to use clk support Signed-off-by: Russell King commit ebebd9b0a1463d5de89017ad59a6b9cd4044687f Author: Russell King Date: Mon Aug 20 10:20:03 2007 +0100 [ARM] pxa: update PXA MMC interface driver to use clk support Signed-off-by: Russell King commit 22d8a73a8b39ef236c80ea73704884f7a7862193 Author: Russell King Date: Mon Aug 20 10:19:39 2007 +0100 [ARM] pxa: update pxa27x keypad driver to use clk support Signed-off-by: Russell King commit c3cef3f3c07bb98e023e4d5441e60538516a4741 Author: Russell King Date: Mon Aug 20 10:19:10 2007 +0100 [ARM] pxa: update pxa i2c driver to use clk support Signed-off-by: Russell King commit 72e3524c0b591c30c3a2e2058dd78327ec99efed Author: Russell King Date: Mon Aug 20 10:18:42 2007 +0100 [ARM] pxa: update pxafb to use clk support Signed-off-by: Russell King commit a6dba20c5c7b3a18d69bcbd60a1d2ebc0536f0ce Author: Russell King Date: Mon Aug 20 10:18:02 2007 +0100 [ARM] pxa: introduce clk support for PXA SoC clocks Signed-off-by: Russell King commit 00dc4f949e7423769de1a160c590840534ea3a70 Author: Russell King Date: Mon Aug 20 10:09:18 2007 +0100 [ARM] pxa: make pxa27x devices globally visible Signed-off-by: Russell King commit 15a4033354c68eb75e417ab60771f36212610820 Author: Russell King Date: Mon Aug 20 10:07:44 2007 +0100 [ARM] pxa: fix naming of memory/lcd/core clock functions Rename pxa25x and pxa27x memory/lcd/core clock functions, and select the correct version at run time. Signed-off-by: Russell King commit e259a3aecbfb61981175ddc7fc02dd180da7d73e Author: Russell King Date: Mon Aug 20 09:47:41 2007 +0100 [ARM] pxa: convert PXA serial drivers to use platform resources Signed-off-by: Russell King commit 08197f6e3b262f4fb8b164c818d5e54b46c14711 Author: Russell King Date: Sat Sep 1 21:12:50 2007 +0100 [ARM] pxa: make pxa timer initialisation select clock rate at runtime Rather than using the compile-time constant CLOCK_TICK_RATE, select the clock tick rate at run time. We organise the selection so that PXA3 automatically falls out with the right tick rate. Signed-off-by: Russell King commit 6c3a158316598bfb165b8c83b168fa413d5ae2d8 Author: Nicolas Pitre Date: Fri Aug 17 16:55:22 2007 +0100 [ARM] 4550/1: sched_clock on PXA should cope with run time clock rate selection The previous implementation was relying on compile time optimizations based on a constant clock rate. However, support for different PXA flavors in the same kernel binary requires that the clock be selected at run time, so here it is. Let's move this code to a more appropriate location while at it. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit e00498258c215b46bd24f12ab3a2ed1bcb4772fe Author: Kees Cook Date: Sun Sep 16 11:15:46 2007 +0200 kbuild: make modpost detect unterminated device id lists Cause modpost to fail if any device id lists are incorrectly terminated, after reporting the offender. Improved reporting by akpm Signed-off-by: Kees Cook Cc: Greg KH Cc: Alexey Dobriyan Cc: Jeff Garzik Cc: Ben Collins Cc: Michael Wu Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 295ac051861e0c1aa6908bd0b0aafa7636ef4c7c Author: Adrian Bunk Date: Fri Aug 24 23:04:56 2007 +0200 kbuild: call export_report from the Makefile The main feature is that export_report now automatically works for O= builds. Signed-off-by: Adrian Bunk Signed-off-by: Sam Ravnborg commit 516897a208bc1423d561ce2ccce0624c3b652275 Author: Steve French Date: Fri Oct 12 19:24:06 2007 +0000 [CIFS] fix build break when lanman not enabled Signed-off-by: Andrew Morton Signed-off-by: Steve French commit 3b16cc2d4ccc3949455432241fe378448e77d911 Author: Sam Ravnborg Date: Sat Oct 6 09:49:04 2007 +0200 kbuild: move Kai Germaschewski to CREDITS Kai is not active in kernel development these days so give him credit for his major kbuild contribution and ISDN work. Acked-by: Kai Germaschewski Signed-off-by: Sam Ravnborg commit b5d609dbfa3f5a4726ef26cfd8023651aafdfb3b Author: Matej Laitl Date: Tue Oct 2 13:46:50 2007 -0700 kconfig/menuconfig: distinguish between selected-by-another options and comments menuconfig currently represents options implied by another option ('select' directive in Kconfig) by prefixing them with '---'. Unfortunately the same notation is used for comments. If the implied option is module capable, user can still switch between Y and M, all without any feedback until she visits option's help. (try saying M to MAC80211 and then toggling CFG80211) This patch changes notation of selected-by-another items by introducing 2 new representations for implied options: {*} or {M} for options selected by another modularized one, thus builtin or module capable, -*- or -M- for options that cannot be at the moment changed by user. The idea is to represent actual capability of the option by braces (dashes) around and to always report actual state by * or M inside. Signed-off-by: Matej Laitl Acked-by: Randy Dunlap Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit a5bf3d891a6a0fb5aa122792d965e3774108b923 Author: Jan Beulich Date: Tue Oct 2 13:46:49 2007 -0700 kconfig: tristate choices with mixed tristate and boolean values Change kconfig behavior so that mixing bool and tristate config settings in a choice is possible and has the desired effect of offering just the tristate options individually if the choice gets set to M, and a normal boolean selection if the choice gets set to Y. Signed-off-by: Jan Beulich Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 7747f96f02803afb864c095fa6800f562030e7f6 Author: Adrian Bunk Date: Tue Oct 2 13:46:48 2007 -0700 include/linux/Kbuild: remove duplicate entries This patch removes three headers from header-y that were also listed as unifdef-y. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 836caba77c290a62743fa9c5a69ed9605ec9cb28 Author: Sam Ravnborg Date: Sun Sep 30 20:34:36 2007 +0200 kbuild: kill backward compatibility checks These checks has been present for several kernel releases (> 5). So lets just get rid of them. With this we no longer check for use of: EXTRA_TARGETS, O_TARGET, L_TARGET, list-multi, export-objs There were three remaining in-tree users of O_TARGET in some unmaintained sh64 code - mail sent to the maintainer + list. Signed-off-by: Sam Ravnborg commit 5e54d5e5fbc1f7237930af8466caf3cefd13b9bd Author: Sam Ravnborg Date: Sun Sep 30 20:14:58 2007 +0200 kbuild: kill EXTRA_ARFLAGS EXTRA_ARFLAGS have never been used so no need to carry around on this. A google search did not reveal any external module using this either. Signed-off-by: Sam Ravnborg commit a9af33052cee365ee17c03c167b61780a08f4acd Author: Sam Ravnborg Date: Sun Sep 30 20:08:25 2007 +0200 kbuild: fix documentation in makefiles.txt Small error had sneaked in with respect to use of LDFLAGS_$@. LDFLAGS_$@ is not valid in normal kbuild files so do not say so. Fix a reference bug too. Signed-off-by: Sam Ravnborg commit 0b35786d77ba4037f181982cc8ca20a7a3bf0fd2 Author: Milton Miller Date: Fri Sep 21 18:09:02 2007 -0500 kbuild: call make once for all targets when O=.. is used Change the invocations of make in the output directory Makefile and the main Makefile for separate object trees to pass all goals to one $(MAKE) via a new phony target "sub-make" and the existing target _all. When compiling with separate object directories, a separate make is called in the context of another directory (from the output directory the main Makefile is called, the Makefile is then restarted with current directory set to the object tree). Before this patch, when multiple make command goals are specified, each target results in a separate make invocation. With make -j, these invocations may run in parallel, resulting in multiple commands running in the same directory clobbering each others results. I did not try to address make -j for mixed dot-config and no-dot-config targets. Because the order does matter, a solution was not obvious. Perhaps a simple check for MAKEFLAGS having -j and refusing to run would be appropriate. Signed-off-by: Milton Miller Signed-off-by: Sam Ravnborg commit cf851aa75694bdcc27a5092b2e45de6dcdc1cfa8 Author: Roland McGrath Date: Fri Sep 28 20:51:58 2007 +0200 kbuild: pass -g to assembler under CONFIG_DEBUG_INFO The assembler for a while now supports -gdwarf to generate source line info just like the C compiler does. Source-level assembly debugging sounds like an oxymoron, but it is handy to be able to see the right source file and read its comments rather than just the disassembly. This patch enables -gdwarf for assembly files when CONFIG_DEBUG_INFO=y and the assembler supports the option. Signed-off-by: Roland McGrath Cc: Sam Ravnborg Cc: Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 14f31562dbda93500fdf74b8158248fde2d556bb Author: Sam Ravnborg Date: Wed Sep 26 20:15:39 2007 +0200 kbuild: update _shipped files for kconfig syntax cleanup Update _shipped files so regular user does not need to have bison/flex/gperf installed. Code changes were contained in previous commit. Used following program versions (on fedora): bison (GNU Bison) 2.3 flex 2.5.33 GNU gperf 3.0.2 Cc: Adrian Bunk Signed-off-by: Sam Ravnborg commit 247537b9a270b52cc0375adcb0fb2605a160cba5 Author: Adrian Bunk Date: Wed Sep 26 20:02:52 2007 +0200 kconfig: syntax cleanup - drop support for "depends/requires/def_boolean" Remove the following redundant and never or rarely used kconfig syntax: - "def_boolean" (same as "def_bool") - "requires" (same as "depends on") - "depends" (same as "depends on") This patch contains the code changes and Kconfig updates. The shipped files are in next patch to let actual codechange stand out. Signed-off-by: Adrian Bunk Cc: "Randy.Dunlap" Cc: Bryan Wu Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Dmitry Torokhov Cc: "John W. Linville" Cc: Roman Zippel Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 4f1127e204377cbd2a56d112d323466f668e8334 Author: Sam Ravnborg Date: Wed Sep 26 19:38:44 2007 +0200 kbuild: fix infinite make recursion Jan Engelhardt reported: You can cause a recursion in kbuild/make with the following: make O=$PWD kernel/time.o make mrproper Of course no one would use O=$PWD (that's just the testcase), but this happened too often: /ws/linux/linux-2.6.23$ make O=/ws/linux/linux-2.6.23 kernel/time.o (Oops - should have been O=/ws/linux/obj-2.6.23!) Fixed by an explicit test for this case - we error out if output directory and source directory are the same. Tested-by: Jan Engelhardt Signed-off-by: Sam Ravnborg commit a67cb1319f53fa68012a23d6ca45279c6bc627f8 Author: Sam Ravnborg Date: Wed Sep 19 21:23:09 2007 +0200 kconfig: fix segv fault in menuconfig With specific configurations requesting help for certain menu lines caused menuconfig to crash. This was tracked down to a null pointer bug. Thanks to "Miles Lane" for inital reporting and to Gabriel C for the backtrace that helped me locating the bug. Signed-off-by: Sam Ravnborg commit 48874077ddd6c0c444758059af2cf77c10204ece Author: Sam Ravnborg Date: Tue Sep 18 21:12:26 2007 +0200 kconfig: make comments stand out in menuconfig Matěj Laitl noticed that there was no way to distingush between comments and un-selectable menu lines. This patch marks comments with *** comment *** Cc: Matěj Laitl Signed-off-by: Sam Ravnborg commit f5fb976520a53f45f8bbf2e851f16b3b5558d485 Author: Sam Ravnborg Date: Sat Sep 15 08:55:39 2007 +0200 kbuild: fix directory traversal bug Previously kbuild choked over the following: obj-y += ../../../arch/i386/kernel/bootflag.o This has resulted in some rather ugly workarounds in current x86_64 tree. This patch fixes kbuild to allow the above and enable potential cleanups in x86_64 and maybe in other places. Signed-off-by: Sam Ravnborg commit c01b171d91cf642a70477c7ba525ff1096d5c439 Author: Sam Ravnborg Date: Sun Sep 9 18:20:42 2007 +0200 ia64: fix sn to add include files using EXTRA_CFLAGS Changing the global CPPFLAGS is not the recommended way to add additional include dirs. Changed to use EXTRA_CFLAGS. Signed-off-by: Sam Ravnborg Acked-by: Jes Sorensen commit 6dd16f44a94798116c4d35be907f7d4c80de4791 Author: Randy Dunlap Date: Tue Sep 4 21:23:22 2007 -0700 docproc: style & typo cleanups - fix typos/spellos in docproc.c and Makefile - add a little whitespace {while, switch} (coding style) - use NULL instead of 0 for pointer testing Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 70f75246cf37a97da5e80e98c3ebb64db1f12b35 Author: Sam Ravnborg Date: Sat Sep 1 10:26:32 2007 +0200 kbuild: apply genksyms changes This patch updates the _shipped files for genksyms. See previous patch for actual functional changes. Signed-off-by: Sam Ravnborg commit 3550a516d07dda4786c63e86f64f4f440db58782 Author: Sam Ravnborg Date: Tue Aug 28 20:28:55 2007 +0200 kbuild: __extension__ support in genksyms (fix unknown CRC warning) Recently the __extension__ keyword has been introduced in the kernel. Teach genksyms about this keyword so it can generate correct CRC for exported symbols that uses a symbol marked __extension__. For now only the typedef variant: __extension__ typedef ... is supported. Later we may add more variants as needed. This patch contains the actual source file changes. The following patch will hold modifications to the generated files (*_shipped) and only after the second patch the fix has effect. Signed-off-by: Sam Ravnborg commit a3a6261a11b4db5b9712bb8388c9d9d955035e98 Author: Sam Ravnborg Date: Sat Sep 1 10:24:58 2007 +0200 kbuild: fix genksyms Makefile When enabling GENERATE_PARSER the genksyms Makefile failed to create _shipped version of generated files. Modifying keywords.gperf failed to cause a rebuild of genksyms. Fixed by specifying keywowrds .c as explicit prerequisite of the lexer. Signed-off-by: Sam Ravnborg commit cc9eefdb9ed5603e2ab0b77fc1f6b671332ceeed Author: Jesper Juhl Date: Thu Aug 2 01:21:15 2007 +0200 kbuild: scripts/ver_linux : correct printing of binutils version Currently scripts/ver_linux prints "Binutils" or other random information for the version number in the "binutils" output line on some distributions. This patch corrects that. When I initially submitted a patch to correct that, I was not aware that the output from "ld -v" could differ as much as it turned out it can, so my original fix turned out to not cover all bases. This patch works correctly with all the different "ld -v" output that people posted in replys to my first patch, so it should be a clear win over what we have currently. Signed-off-by: Jesper Juhl Signed-off-by: Sam Ravnborg commit 9cc3ef30346da96f3dd7f2e328e8a5ff46a37fd9 Author: Jesper Juhl Date: Wed Aug 22 03:11:56 2007 +0200 kbuild: ver_linux fix glibc version print Fix ver_linux glibc version printing (for real this time) Alexey Dobriyan reported that commit 4a645d5ea65baaa5736bcb566673bf4a351b2ad8 broke ver_linux when glibc has a 3 digit version number, and proposed a patch. Al Viro then suggested a simpler way to solve the problem which I've then simply put into patch form. Signed-off-by: Alexey Dobriyan Signed-off-by: Al Viro Signed-off-by: Jesper Juhl Signed-off-by: Sam Ravnborg commit de47062a17a236543690e0c23dfb30cb11c6e674 Author: Jesper Juhl Date: Sat Aug 4 20:30:42 2007 +0200 kbuild: improve scripts/gcc-version.sh output a bit when called without args Currently, if you call scripts/gcc-version.sh without arguments it will generate this output : $ sh scripts/gcc-version.sh scripts/gcc-version.sh: line 12: [: =: unary operator expected scripts/gcc-version.sh: line 16: -E: command not found scripts/gcc-version.sh: line 17: -E: command not found 0000 Not too pretty. I believe this is an improvement : $ sh scripts/gcc-version.sh Error: No compiler specified. Usage: scripts/gcc-version.sh Signed-off-by: Jesper Juhl Signed-off-by: Sam Ravnborg commit c34114f4acbc89a217148ebe166b2a68f973a7b9 Author: Mike Frysinger Date: Tue Jul 31 19:45:34 2007 -0400 kbuild: clean Modules.symvers in external module dirs At the moment, running `make clean` in an external module directory does a nice job of cleaning up with one exception: it leaves behind Modules.symvers. Attached patch adds this file to the clean list for external modules. Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit a83710e584b8ef46fc44472ec6f0c342003416e8 Author: Petr Stetiar Date: Mon Aug 27 12:15:07 2007 +0200 kbuild: fix segfault in modpost Fix modpost segfault. Before: ------- ynezz@ntbk:~/linux-2.6.git$ scripts/mod/modpost vmlinux ath_pci.o Segmentation fault After: ------ ynezz@ntbk:~/linux-2.6.git$ scripts/mod/modpost vmlinux ath_pci.o FATAL: section header offset=815726848 in file 'ath_pci.o' is bigger then filesize=153968 Sam: This seems to warn for a binutils issue. Anyway modpost should not segfault. Signed-off-by: Petr Stetiar Signed-off-by: Sam Ravnborg commit 88f567f3a3c1901a40150b43fda87adad1b3e807 Author: Ram Pai Date: Fri Aug 24 15:32:22 2007 -0700 kbuild: fix perl usage in export_report.pl Fixes some subtle perl coding bug observed by Jan Engelhardt This patch applies on top of Adrian's fix. Signed-off-by: Ram Pai Acked-by: Jan Engelhardt Signed-off-by: Sam Ravnborg commit cf9a6adeae706849990e5bdd4f32cb45d667e0c5 Author: Adrian Bunk Date: Fri Aug 24 23:04:51 2007 +0200 kbuild: fix export_report.pl This patch fixes an annoying bug of export_report.pl missing the usages of some exports. Signed-off-by: Adrian Bunk Signed-off-by: Sam Ravnborg commit 0bce67352b580e9025059ecc71e13e0ffd281254 Author: Paolo 'Blaisorblade' Giarrusso Date: Sat Aug 25 09:45:28 2007 +0200 kbuild: script to check for undefined Kconfig symbols To avoid having to look manually for used but undefined Kconfig variables, I've written a script which tries do this efficiently, in case all other attention fail. It accounts for _MODULE suffix and for UML_ prefixes to Kconfig variable, but otherwise looks for exact matches (i.e. \ Cc: Roman Zippel Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit aa1e5ef5c1d95e7ebf0821d9ba27debe43a87a22 Author: Sam Ravnborg Date: Sun Aug 12 23:15:44 2007 +0200 kbuild: check if we can link gettext not just compile cygwin provides the header file but the lib file needs to be added manually. A generic fix is to check if we can compile and link a program that uses gettext() and if it fails fall back to NO_NLS. International users of cygwin may have to specify HOST_LOADLIBES := "-lintl" on the make command line. Signed-off-by: Sam Ravnborg commit 4f4c4ee1b79b9102db19ff39f7cb11abddaa43e1 Author: Sam Ravnborg Date: Sun Aug 12 23:17:54 2007 +0200 kbuild: Use Elfnn_Half as replacement for Elfnn_Section The Elfnn_Section is not available on all platforms, noteworthy are cygwin. Use the safe replacement _Half. Signed-off-by: Sam Ravnborg commit 2c2130e16f0e134aa65515fd0c2436fda465b1b6 Author: Steve French Date: Fri Oct 12 19:10:28 2007 +0000 [CIFS] remove two sparse warnings Signed-off-by: Cyrill Gorcunov Signed-off-by: Steve French commit c8e91b0a8fc8493e3bf3efcb3c8f866e9453cf1c Author: Dhaval Giani Date: Fri Oct 12 15:12:31 2007 +0530 [SCSI] gdth: fix CONFIG_ISA build failure drivers/scsi/gdth.c: In function ‘gdth_search_dev’: drivers/scsi/gdth.c:646: warning: ‘pci_find_device’ is deprecated (declared at include/linux/pci.h:482) drivers/scsi/gdth.c: In function ‘gdth_init_isa’: drivers/scsi/gdth.c:857: error: ‘gdth_irq_tab’ undeclared (first use in this function) drivers/scsi/gdth.c:857: error: (Each undeclared identifier is reported only once drivers/scsi/gdth.c:857: error: for each function it appears in.) drivers/scsi/gdth.c: In function ‘gdth_copy_internal_data’: drivers/scsi/gdth.c:2362: warning: unused variable ‘sg’ Looking into the code I notice that gdth_irq_tab is not declared with CONFIG_ISA=y and !CONFIG_EISA. The values seem to be same in 2.6.23 (I am not sure why it has been put with #ifdefs in -mm) so I have just modified the #ifdef to take care of CONFIG_ISA as well. Signed-off-by: Dhaval Giani Signed-off-by: James Bottomley commit 76246808248ac4c94ec3b57e37f35f8e05dfa0b3 Author: Adrian Bunk Date: Thu Oct 11 17:35:20 2007 +0200 [SCSI] esp_scsi: remove __dev{init,exit} Since scsi_esp_{,un}register() are EXPORT_SYMBOL'ed, these functions (and the functions they use) can't be __dev{init,exit}. Based on a bug report by Rob Landley. Signed-off-by: Adrian Bunk Acked-by: David S. Miller Signed-off-by: James Bottomley commit 3892d88ae6fb186ff6205f764213b556d70800b0 Author: Boaz Harrosh Date: Tue Oct 2 23:18:03 2007 +0200 [SCSI] gdth: !use_sg cleanup and use of scsi accessors gdth_execute() will issue an internal, none scsi-standard commands onto __gdth_queuecommand(). Since it is not recommended to set struct scsi_cmnd IO members in llds, gdth now uses internal IO members for IO. In the case of gdth_execute() these members will be set properly. In case the command was issued from scsi-ml (by gdth_queuecommand) they will be set from scsi IO accessors. * define gdth IO accessors and use them throughout the driver. * use an sg-of-one in gdth_execute() and fix gdth_special_cmd() accordingly. * Clean the not use_sg code path and company Signed-off-by Boaz Harrosh Signed-off-by: James Bottomley commit f842b64e0ffbcc9ce48a3bf799d0b005094107c1 Author: Boaz Harrosh Date: Tue Oct 2 23:16:01 2007 +0200 [SCSI] gdth: Move members from SCp to gdth_cmndinfo, stage 2 - Cleanup the rest of the scsi_cmnd->SCp members and move them to gdth_cmndinfo: SCp.this_residual => priority SCp.buffers_residual => timeout SCp.Status => status and dma_dir SCp.Message => info SCp.have_data_in => volatile wait_for_completion SCp.sent_command => OpCode SCp.phase => phase - Two more members will be naturally removed in the !use_sg cleanup TODO: What is the meaning of gdth_cmndinfo.phase? (rhetorically) Signed-off-by Boaz Harrosh Signed-off-by: James Bottomley commit 3058d5de47ce09ac0e531290566937c7d94d0653 Author: Boaz Harrosh Date: Tue Oct 2 23:14:39 2007 +0200 [SCSI] gdth: Setup proper per-command private data - scsi_cmnd and specifically ->SCp of, where heavily abused with internal meaning members and flags. So introduce a new struct gdth_cmndinfo, put it on ->host_scribble and define a gdth_cmnd_priv() accessor to retrieve it from a scsi_cmnd. - The structure now holds two members: internal_command - replaces the IS_GDTH_INTERNAL_CMD() croft. sense_paddr - which was a 64-bit spanning on 2 32-bit members of SCp. More overloaded members from SCp and scsi_cmnd will be moved in a later patch (For easy review). - Split up gdth_queuecommand to an additional internal_function. The later is the one called by gdth_execute(). This will be more evident later in the scsi accessors patch, but it also facilitates in the differentiation between internal_command and external. And the setup of gdth_cmndinfo of each command. Signed-off-by Boaz Harrosh Signed-off-by: James Bottomley commit 884f7fba09646714f94d945162e698f0822a6fdd Author: Boaz Harrosh Date: Tue Oct 2 23:11:24 2007 +0200 [SCSI] gdth: Remove gdth_ctr_tab[] - Places like Initialization and Reset that Just loop on all devices can use the link list with the list_for_each_entry macro. But the io_ctrl from user mode now suffers performance-wise because code has to do a sequential search for the requested host number. I have isolated this search in a gdth_find_ha(int hanum) member for future enhancement if needed. Signed-off-by Boaz Harrosh Signed-off-by: James Bottomley commit 835cc24aff0fd4b9da9d0a45d9bd043adcb2cf89 Author: Christoph Hellwig Date: Tue Oct 2 23:09:56 2007 +0200 [SCSI] gdth: switch to modern scsi host registration - Use scsi_add_host and friends and track instances ourselves. And generally modernize the driver's structure. - TODO: Next we can remove the controller table - TODO: Fix use of deprecated pci_find_device() Signed-off-by: Christoph Hellwig Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 10e1b4bc9238687a4b1311bd5b6769d6b8c704e6 Author: Boaz Harrosh Date: Tue Oct 2 23:08:10 2007 +0200 [SCSI] gdth: gdth_interrupt() gdth_get_status() & gdth_wait() fixes - gdth_get_status() returns a single device interrupt IStatus - gdth_interrupt split to __gdth_interrupt() that receives flags if is called from gdth_wait(). - Use dev_id passed from kernel and do not loop on all controllers. - gdth_wait(), get read of all global variables and call the new __gdth_interrupt with these variables on the stack Signed-off-by Boaz Harrosh Signed-off-by: James Bottomley commit 2855568b1ee4f58ef2c0a13ddfceb4b0b216b7ed Author: Jeff Garzik Date: Thu Oct 11 17:12:35 2007 -0400 [libata] struct pci_dev related cleanups * remove pointless pci_dev_to_dev() wrapper. Just directly reference the embedded struct device like everyone else does. * pata_cs5520: delete cs5520_remove_one(), it was a duplicate of ata_pci_remove_one() * linux/libata.h: don't bother including linux/pci.h, we don't need it. Simply declare 'struct pci_dev' and assume interested parties will include the header, as they should be doing anyway. * linux/libata.h: consolidate all CONFIG_PCI declarations into a single location in the header. Signed-off-by: Jeff Garzik commit b06ce3e51e3df4394a584c234f11240b1c6f8d5b Author: Tejun Heo Date: Tue Oct 9 15:06:48 2007 +0900 libata: use ata_exec_internal() for PMP register access PMP registers used to be accessed with dedicated accessors ->pmp_read and ->pmp_write. During reset, those callbacks are called with the port frozen so they should be able to run without depending on interrupt delivery. To achieve this, they were implemented polling. However, as resetting the host port makes the PMP to isolate fan-out ports until SError.X is cleared, resetting fan-out ports while port is frozen doesn't buy much additional safety. This patch updates libata PMP support such that PMP registers are accessed using regular ata_exec_internal() mechanism and kills ->pmp_read/write() callbacks. The following changes are made. * PMP access helpers - sata_pmp_read_init_tf(), sata_pmp_read_val(), sata_pmp_write_init_tf() are folded into sata_pmp_read/write() which are now standalone PMP register access functions. * sata_pmp_read/write() returns err_mask instead of rc. This is consistent with other functions which issue internal commands and allows more detailed error reporting. * ahci interrupt handler is modified to ignore BAD_PMP and spurious/illegal completion IRQs while reset is in progress. These conditions are expected during reset. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit afaa5c373d2c49ee4865847031b82f1377f609d0 Author: Tejun Heo Date: Tue Oct 9 15:06:10 2007 +0900 libata: implement ATA_PFLAG_RESETTING Implement ATA_PFLAG_RESETTING. This flag is set while reset is in progress. It's set before prereset is called and cleared after reset fails or postreset is finished. This flag itself doesn't have any function. It will be used by LLDs to tell whether reset is in progress if it needs to behave differently during reset. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 2b789108fc1dcba22050a7e6e29ae5ebaea427dd Author: Tejun Heo Date: Tue Oct 9 15:05:44 2007 +0900 libata: add @timeout to ata_exec_internal[_sg]() Add @timeout argument to ata_exec_internal[_sg](). If 0, default timeout ata_probe_timeout is used. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5f226c6bf78edab023ed1ea679531731d9df92a6 Author: Tejun Heo Date: Tue Oct 9 15:02:23 2007 +0900 ahci: fix notification handling Asynchronous notification on ICH9 didn't work because it didn't write AN FIS into the RX area - it only updates SNotification. Also, snooping SDB_FIS RX area is racy against further SDB FIS receptions. Let sata_async_notification() determine using SNTF if it's available and snoop RX area iff SNTF isn't available Signed-off-by: Tejun Heo Cc: Kristen Carlson Accardi Signed-off-by: Jeff Garzik commit 1c954a4d9a9e351fa3509533fd8dd5f3821206cd Author: Tejun Heo Date: Tue Oct 9 15:01:37 2007 +0900 ahci: clean up PORT_IRQ_BAD_PMP enabling Now that we have pp->intr_mask, move PORT_IRQ_BAD_PMP enabling to ahci_pmp_attach/detach() where it belongs. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 45f1a41b2b2e02e91d29bde66a8da4d050959f65 Author: Boaz Harrosh Date: Tue Oct 2 23:05:53 2007 +0200 [SCSI] gdth: clean up host private data - Based on same patch from Christoph Hellwig - Get rid of all the indirection in the Scsi_Host private data and always put the gdth_ha_str directly into it. - Change all internal functions prototype to recieve an "gdth_ha_str *ha" pointer directlly and kill all that redundent access to the "gdth_ctr_tab[]" controller-table. Signed-off-by: Boaz Harrosh Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 75da6d2b8f518bec40546bc0b0696a2cebecf6cc Author: Tejun Heo Date: Tue Oct 9 14:59:50 2007 +0900 ahci: kill leftover from enabling NCQ over PMP ahci had problems with NCQ over PMP and NCQ used to be disabled while PMP was attached. After fixing the problem, the temporary NCQ disabling code wasn't removed completely. Kill the remaining piece. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9073868376ed5fa1f247327ccb2e6f766d5b7eed Author: Tejun Heo Date: Tue Oct 9 14:58:33 2007 +0900 libata: wrap schedule_timeout_uninterruptible() in loop Tasks in uninterruptible sleep might be woken up by unrelated events and should check whether the condition it was waiting for has actually triggered. Wrap schedule_timeout_uninterruptible() in loop to achieve it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 94ff3d54080975686a3c41e73b8926030ee0c31f Author: Tejun Heo Date: Tue Oct 9 14:57:56 2007 +0900 libata: skip suppress reporting if ATA_EHI_QUIET ATA_EHI_NO_AUTOPSY and ATA_EHI_QUIET are used during initial probing to skip exception analysis and reporting. Usually, there's nothing to report but on some allowed but rare corner cases (e.g. phy status changed interrupt when IRQ is enabled on frozen port - this happens if IRQ pending status isn't cleared in the IRQ router or controller) exception messages get printed. Skip reporting if ATA_EHI_QUIET is set. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit abf6e8ed07213bdd9734be2e42639b79310bd81c Author: Tejun Heo Date: Tue Oct 9 14:57:25 2007 +0900 libata: clear ehi description after initial host report ehi description field is used to carry LLD specific controller description. Sometimes, it's used without clearing before and LLD description gets printed with exception information one more time. Clear after printing. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a01f48b8e7f5ca1000d662fe205e6fe884e0d132 Author: Tejun Heo Date: Sun Oct 7 07:04:50 2007 +0900 pata_jmicron: match vendor and class code only PATA part of all current JMB controllers behave the same way and JMicron confirms that all future ones will stay compatible. Drop device matching and match only vendor and class. Signed-off-by: Tejun Heo Cc: Ethan Hsiao Cc: Justin Tsai Signed-off-by: Jeff Garzik commit 954bb005c9d5368188ef03ff1d723ff3c0e8ae99 Author: Tejun Heo Date: Fri Oct 5 08:54:39 2007 +0900 libata: add ST9160821AS / 3.ALD to NCQ blacklist ST9160821AS / 3.ALD also does spurious NCQ completions. Disable NCQ. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 025621f9a7c0efe1139d43d246136a0f3e8ea675 Author: Alan Cox Date: Thu Oct 4 21:32:58 2007 +0100 pata_acpi: ACPI driver support On a cable there may be eighty wires or perhaps forty and we learn about its type In the world of ACPI So we call the GTM And we find the the timing rate And we look through it to see If eighty wire it must be Timing lives in ACPI routines ACPI routines, ACPI routines Timing lives in ACPI routines ACPI routes ACPI routines And the drivers last you see Picking up unknown pci ids and the code begins to work Timing lives in ACPI routines ACPI routines, ACPI routines Timing lives in ACPI routines ACPI routes ACPI routines [Full speed ahead, Mr Hacker, full speed ahead] Full speed over here sir! Checking Cable, checking cable Aye aye, 80 wire, Heaven heaven] If we use ACPI (ACPI) Every box (every box) has all we need (has all we need) Cable type (cable type) and mode timing (mode timing) In our ATA (in our ATA) subroutines (subroutines, ha ha) Timing lives in ACPI routines ACPI routines, ACPI routines Timing lives in ACPI routines ACPI routes ACPI routines Timing lives in ACPI routines ACPI routines, ACPI routines Timing lives in ACPI routines ACPI routes ACPI routines Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit badff03df7a005d13ea2ae8ddc2f5ec0cfc049e8 Author: Alan Cox Date: Thu Oct 4 21:28:18 2007 +0100 libata-core: Expose gtm methods for driver use Talk to the dark side our driver has to, yes. Much misleading is the data. Store it in a structure we do so that it may be parsed. Signed-off-by: Alan Cox -- Whats small, old and shouts phrases out of order across mountains ? Yodla.. Signed-off-by: Jeff Garzik commit 70edb185dbaa8a9ec0d6f3e50bb5698a4e85ded6 Author: Tejun Heo Date: Thu Oct 4 17:27:59 2007 +0900 libata: add HDT722516DLA380 to NCQ blacklist HDT722516DLA380 does spurious completion of NCQ commands. Blacklist it. Signed-off-by: Tejun Heo Cc: Frans Pop Signed-off-by: Jeff Garzik commit da6f0ec2d54acf545e784363aa5bad0dafc5ffa8 Author: Paolo Ornati Date: Thu Oct 4 11:06:56 2007 +0900 libata: blacklist NCQ on Seagate Barracuda ST380817AS Seagate Barracuda ST380817AS has troubles with NCQ. For example, unpacking a tarball on an XFS filesystem gives this: ata1.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x2 frozen ata1.00: cmd 61/40:00:29:a3:98/00:00:00:00:00/40 tag 0 cdb 0x0 data 32768 out res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout) More info here: http://lkml.org/lkml/2007/1/21/76 Blacklist it! Signed-off-by: Paolo Ornati Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6ebe9d8667d3f449350cbc6686cd917ecf1f40dd Author: Jeff Garzik Date: Fri Oct 5 16:28:36 2007 -0400 [libata] Turn on ACPI by default Let's see what explodes. Signed-off-by: Jeff Garzik commit 2db78dd302d26d242d3e8e5c4c5024b6c3ea93c2 Author: Alan Cox Date: Tue Oct 2 13:53:04 2007 -0700 libata_scsi: Fix ATAPI transfer lengths Some controller variants snoop the ATAPI length value for Packet transfers to do state machine and FIFO management. Thus we want to set it properly, even for cases where it is otherwise meaningless. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 681c80b5d96076f447e8101ac4325c82d8dce508 Author: Alan Cox Date: Wed Oct 3 13:23:18 2007 +0100 libata: correct handling of SRST reset sequences Correct handling of SRST reset sequences. After an SRST it is undefined whether the drive has gone back to PIO0. In order to talk safely we should talk slowly and carefully until we know. Thus when we do the reset if the controller has a pio setup method we call it to flip back to PIO 0 and a known state. After the reset completes the identify will then be done at the safe speed and the drive/controller will pick suitable faster modes and reconfigure the controller to these timings. As a side effect it means we force the controller to PIO 0 as we bring it up which fixes funnies on a few systems where the BIOS firmware leaves us in an interesting choice of modes, or embedded boxes with no firmware which come up in random states. For smart controllers there is nothing to do - they know about this internally. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 237d8440cb2b104a3b97fc971a9bce67960bb616 Author: Matthew Garrett Date: Wed Oct 3 01:24:16 2007 +0100 libata: Integrate ACPI-based PATA/SATA hotplug - version 5 Modern laptops with hotswap bays still tend to utilise a PATA interface on a SATA bridge, generally with the host controller in some legacy emulation mode rather than AHCI. This means that the existing hotplug code in libata is unable to work. The ACPI specification states that these devices can send notifications when hotswapped, which avoids the need to obtain notification from the controller. This patch uses the existing libata-acpi code and simply registers a notification in order to trigger a rescan whenever the firmware signals an event. Signed-off-by: Matthew Garrett Signed-off-by: Jeff Garzik commit b3a706014e56b1356e7b275fd25b833c63175bf0 Author: Alan Cox Date: Tue Oct 2 12:38:26 2007 -0400 libata: Add a drivers/ide style DMA disable This is useful when debugging, handling problem systems, or for distributions just to get the system installed so it can be sorted out later. This is a bit smarter than the old IDE one and lets you do libata.dma=0 Disable all PATA DMA like old IDE libata.dma=1 Disk DMA only libata.dma=2 ATAPI DMA only libata.dma=4 CF DMA only (or combinations thereof - 0,1,3 being the useful ones I suspect) (I've split CF as it seems to be a seperate case of pain and suffering different to the others and caused by assorted PIO wired adapters etc) Signed-off-by: Alan Cox [edited to work on SATA too, changing name from 'pata_dma' to 'dma'] Signed-off-by: Jeff Garzik commit 7100819f5f9b99eb7c7dd5597f293388a405bf7b Author: Peer Chen Date: Mon Sep 24 10:16:25 2007 +0800 ahci: Add MCP79 support to AHCI driver Signed-off-by: Peer Chen Signed-off-by: Jeff Garzik commit 1333e19434da116bc832e1b8925359d1565fedc9 Author: Robert Hancock Date: Tue Oct 2 11:22:02 2007 -0400 libata: add human-readable error value decoding This adds human-readable decoding of the ATA status and error registers (similar to what drivers/ide does) as well as the SATA Serror register to libata error handling output. This prevents the need to pore through standards documents to figure out the meaning of the bits in these registers when looking at error reports. Some bits that drivers/ide decoded are not decoded here, since the bits are either command-dependent or obsolete, and properly parsing them would add too much complexity. Signed-off-by: Robert Hancock [edited slightly to make output a bit more symmetric] Signed-off-by: Jeff Garzik commit 6949b9148d3656afc13a2ccc06d13c071ec71bdc Author: Tejun Heo Date: Sun Sep 23 13:19:55 2007 +0900 ahci: implement AHCI_HFLAG_NO_PMP Of course some controllers lie about PMP support. Black list them. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 417a1a6d3d7abad4c5288135f640e6e38e7a65c5 Author: Tejun Heo Date: Sun Sep 23 13:19:55 2007 +0900 ahci: move host flags over to pi.private_data Private pi.flags area is full and we need more private flags. Move host private flags over to pi.private_data. During initialization, these flags are copied to hpriv->flags. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 7d50b60b5e38f910ad69f0187af00f5d6a8970d4 Author: Tejun Heo Date: Sun Sep 23 13:19:54 2007 +0900 ahci: implement PMP support Implement AHCI PMP support. ahci only supports command based switching. Also, for some reason, NCQ over PMP doesn't work now. Other than that, everything works. Tested on ICH9R, JMB360/363 + SIMG3726, 4726 and 5744. Signed-off-by: Tejun Heo Cc: Forrest Zhao Signed-off-by: Jeff Garzik commit 238180343eff95697ed71eea137cf61ba3cea6ad Author: Tejun Heo Date: Sun Sep 23 13:19:54 2007 +0900 sata_sil24: implement PORT_RST As DEV_RST (hardreset) sometimes fail to recover the controller (especially after PMP DMA CS errata). In such cases, perform PORT_RST prior to DEV_RST. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3454dc6922dc550c0d3ccf292c4e227403b10b6e Author: Tejun Heo Date: Sun Sep 23 13:19:54 2007 +0900 sata_sil24: implement PMP support Implement PMP support. sil24 supports full FIS-switching. However, it has a PMP DMA CS errata which requires port-wide resetting if commands are outstanding to three or more devices when an error occurs on one of them. ATAPI commands often result in CHECK SENSE and it's crucial to not reset them before fetching sense data. Unfortunately, ATAPI CHECK SENSE causes a lot of problem if command is outstanding to any other device usually resulting in port-wide reset. So, sata_sil24 implements sil24_qc_defer() which guarantees ATAPI command is run by itself. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 31f88384443b3e0d7e2c9d36a96647b7e82edad3 Author: Tejun Heo Date: Sun Sep 23 13:19:54 2007 +0900 libata-pmp: implement qc_defer for command switching PMP support Implement sata_pmp_qc_defer_cmd_switch() - standard qc_defer for command switching PMP support. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit d0df8b5d0fb547a3351c2a4b1ded7f7cde5d713a Author: Tejun Heo Date: Sun Sep 23 13:19:54 2007 +0900 libata-pmp: extend ACPI support to cover PMP Extend ata_acpi_associate_sata_port() such that it can handle PMP and call it when PMP is attached and detached. Build breakage when !CONFIG_ATA_ACPI was spotted and fixed by Petr Vandrovec. Signed-off-by: Tejun Heo Cc: Petr Vandrovec Signed-off-by: Jeff Garzik commit 633273a3ed1cf37ced90475b0f95cf81deab04f1 Author: Tejun Heo Date: Sun Sep 23 13:19:54 2007 +0900 libata-pmp: hook PMP support and enable it Hook PMP support into libata and enable it. Connect SCR and probing functions, and update ata_dev_classify() to detect PMP. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3af9a77af9e2b72366363864bfcd3d51465ff98a Author: Tejun Heo Date: Sun Sep 23 13:19:54 2007 +0900 libata-pmp: implement Port Multiplier support Implement Port Multiplier support. To support PMP, a LLDD has to supply ops->pmp_read() and pmp_write(). If non-null, ->pmp_attach and ->pmp_detach are called on PMP attach and detach, respectively. ->pmp_read/write() can be called while the port is frozen, so they must be implemented by polling. This patch supplies several helpers to ease ->pmp_read/write() implementation. Also, irq_handler and error_handler must be PMP aware. Most of PMP aware EH can be done by calling ata_pmp_do_eh() with appropriate methods. PMP EH uses separate set of reset methods and this patch implements standard prereset, hardreset and postreset methods. This patch only implements PMP support. The next patch will integrate PMP into the reset of libata and thus enable PMP support. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3495de733633d24ee97852080b737b436c110d6e Author: Tejun Heo Date: Sun Sep 23 13:19:53 2007 +0900 libata-pmp: update ata_eh_reset() for PMP PMP always requires SRST to be enabled. Also, hardreset reports classification code from the first device when PMP is attached, not from the PMP. Update ata_eh_reset() such that followup softreset is performed if the controller is PMP capable and the host link is being reset. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 93328e1145c1989d1a214d34ac4e968dea7f7ed7 Author: Alan Cox Date: Sat Sep 29 04:06:48 2007 -0400 [PATCH] libata: Fix HPA handling regression Restore the support for handling drives that report one sector too many (ie SCSI not ATA style). This worked before the HPA update but was removed in that process. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 54174db300ee1bac632d62e4ac37fe02e47d1f18 Author: Jeff Garzik Date: Sat Sep 29 04:01:43 2007 -0400 [libata] ata_piix: add HP compaq laptop to short cable list Reported by Andreas Messer. Signed-off-by: Jeff Garzik commit c4b5b7b6c4423ec4ced4177c87d2da04de324028 Author: Alan Cox Date: Sat Sep 29 02:35:10 2007 -0400 pata_ns87415: Initial cut at 87415/87560 IDE support Signed-off-by: Alan Cox [plus SuperIO fixes by Kyle McMartin] [plus a cleanup from me] Signed-off-by: Jeff Garzik commit 0b0a43e04ea671adc3cac085ee567d63c9ab3507 Author: David Milburn Date: Fri Sep 28 14:29:06 2007 -0500 libata-core: blacklist HITACHI HDS drives using wildcard blacklist matching Blacklist HITACHI HDS7250SASUN500G and HITACHI HDS7225SBSUN250G drives using wildcard matching. Signed-off-by David Milburn Signed-off-by: Jeff Garzik commit 7f567620ed32bea40a2acc25900c79db4dff96aa Author: Tejun Heo Date: Fri Sep 28 06:29:23 2007 -0700 libata: update spurious NCQ completion blacklist * The firmware version of ST3160812AS is "3.ADJ" no "3.AD". * Add several entries from various sources. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 52759e6abc88fe007a080772ee01ef1154f96f30 Author: Christoph Hellwig Date: Tue Oct 2 22:59:53 2007 +0200 [SCSI] gdth: Remove virt hosts The virt_ctr option allows to register a new scsi_host for each bus on the raid controller. This non-default option makes no sense with the current scsi code and prevents cleaning up the host registration, so remove it. Signed-off-by: Christoph Hellwig Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 78e70c237ffbf219680fb967624e1423e5c1f25a Author: Dave Jones Date: Thu Sep 27 11:50:13 2007 -0400 libata: correct kernel parameter in documentation. 'noacpi' isn't a standalone parameter, give it its prefix. Signed-off-by: Dave Jones Signed-off-by: Jeff Garzik commit 06b74dd28fa607249c5e41e5f1f6dd1885fe0a0d Author: Alan Cox Date: Wed Sep 26 15:23:17 2007 +0100 pata_pdc202xx_old MWDMA fixes, and notes I've been doing an audit of this driver to try and find out why we have problems with some Clevo boxes that use it. Didn't get anywhere other than to discover all the bug reporters I have use vmware, which may or may not be chance. In the process however I did find out our MWDMA2 performance was a bit low and code review showed the MWDMA0/2 timings are reversed due to a thinko in the table ordering Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 21d2c925d3da6aabf9a0b34e95787202379f682a Author: Alan Cox Date: Wed Sep 26 23:02:52 2007 +0100 pata_atiixp: Audit notes on locking Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 3cc3eb1148e4b2dfabf7a1dcf36fd8be1331ca95 Author: Jeff Garzik Date: Wed Sep 26 00:02:41 2007 -0400 [libata] AHCI: enable AHCI mode, before using AHCI reset AHCI spec says host-reset bit may only be set when the ahci-enable bit is also set. Noticed by Peer Chen Signed-off-by: Jeff Garzik commit b90fe23bd51c6b1c298159591c833bdd24f55002 Author: Satyam Sharma Date: Sat Sep 22 08:20:09 2007 +0530 libata: Fix build failure on ppc64 drivers/ata/pata_scc.c Little fixlets, that the build started erroring / warning about: drivers/ata/pata_scc.c: In function 'scc_bmdma_status': drivers/ata/pata_scc.c:734: error: structure has no member named 'active_tag' drivers/ata/pata_scc.c: In function 'scc_pata_prereset': drivers/ata/pata_scc.c:866: warning: passing arg 1 of 'ata_std_prereset' from incompatible pointer type drivers/ata/pata_scc.c: In function 'scc_error_handler': drivers/ata/pata_scc.c:908: warning: passing arg 2 of 'ata_bmdma_drive_eh' from incompatible pointer type drivers/ata/pata_scc.c:908: warning: passing arg 3 of 'ata_bmdma_drive_eh' from incompatible pointer type drivers/ata/pata_scc.c:908: warning: passing arg 5 of 'ata_bmdma_drive_eh' from incompatible pointer type make[2]: *** [drivers/ata/pata_scc.o] Error 1 Signed-off-by: Satyam Sharma Cc: Alan Cox Cc: Mel Gorman Signed-off-by: Jeff Garzik commit b6d6c74628767e1bd33c735b3b2ee7b132b4198e Author: Tejun Heo Date: Fri Sep 21 17:55:44 2007 +0900 sata_via: kill SATA_PATA_SHARING register handling The SATA_PATA_SHARING register doesn't have anything to do with the SATA part of the controller. It indicates whether an extern SATA PHY is attached to the PATA part of the controller and if so how it is wired. As the PATA part is driven by pata_via, sata_via has no reason to care about that. Also, pata_via should work fine under all configurations. This patch removes unnecessary attach failures. It seems recent via chipsets are defaulting to different values or are actually connected to SATA PHY triggering this more often. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 1e582ba4ef6264dd8cb73250ebff767d0624d684 Author: Tejun Heo Date: Fri Sep 21 20:07:14 2007 +0900 libata: fix ata_set_max_sectors() In ata_set_max_sectors(), the highest nibble in LBA28 mode was missing. This made drives sized between 8G and 128G with HPA turned on to be resized to under 8G. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 7d77b247088fb360aa74bfdd9e19bce1e1987668 Author: Tejun Heo Date: Sun Sep 23 13:14:13 2007 +0900 libata-pmp-prep: implement sata_async_notification() AN serves multiple purposes. For ATAPI, it's used for media change notification. For PMP, for downstream PHY status change notification. Implement sata_async_notification() which demultiplexes AN. To avoid unnecessary port events, ATAPI AN is not enabled if PMP is attached but SNTF is not available. Signed-off-by: Tejun Heo Cc: Kriten Carlson Accardi Signed-off-by: Jeff Garzik commit e31e8531d668c9c4dc7883054788f89805188003 Author: Tejun Heo Date: Sun Sep 23 13:14:13 2007 +0900 libata-pmp-prep: implement ATA_HORKAGE_SKIP_PM Some pseudo devices fail PM commands unnecessarily aborting system suspend. Implement ATA_HORKAGE_SKIP_PM which makes libata skip PM commands for these devices. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 668108d73bbb1ae85f01db38d6be822fd28ece1f Author: Tejun Heo Date: Sun Sep 23 13:14:13 2007 +0900 libata-pmp-prep: implement EH fast-fail path If PMP itself becomes inaccessible while trying to link a downstream link, spending time to recover the downstream link doesn't make any sense. Make EH skip retry and fail fast if -ERESTART is received. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f9df58cb27dfd605eced643bb3aa599fe4feeee8 Author: Tejun Heo Date: Sun Sep 23 13:14:13 2007 +0900 libata-pmp-prep: implement ATA_LFLAG_DISABLED Implement ATA_LFLAG_DISABLED. The flag indicates the link is disabled due to EH recovery failure. While a link is disabled, no EH action is taken on the link and suspend/resume become noop too. This will be used by PMP links to manage failed links. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fd995f7039f1955ccc6b43e1e2d168060b31e4b2 Author: Tejun Heo Date: Sun Sep 23 13:14:12 2007 +0900 libata-pmp-prep: implement ATA_LFLAG_NO_RETRY Some PMP links are connected to internal pseudo devices which may come and go depending on situation. There's no reason to try hard to recover them. ATA_LFLAG_NO_RETRY tells EH to not retry if the device attached to the link fails. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ae791c05694d7391ee9261a0450a50f7e95aedfd Author: Tejun Heo Date: Sun Sep 23 13:14:12 2007 +0900 libata-pmp-prep: implement ATA_LFLAG_NO_SRST, ASSUME_ATA and ASSUME_SEMB Some links on some PMPs locks up on SRST and/or report incorrect device signature. Implement ATA_LFLAG_NO_SRST, ASSUME_ATA and ASSUME_SEMB to handle these quirky links. NO_SRST makes EH avoid SRST. ASSUME_ATA and SEMB forces class code to ATA and SEMB_UNSUP respectively. Note that SEMB isn't currently supported yet so the _UNSUP variant is used. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit da917d69d0ea63f5390716cba6e77f490ce96df9 Author: Tejun Heo Date: Sun Sep 23 13:14:12 2007 +0900 libata-pmp-prep: implement qc_defer helpers Implement ap->nr_active_links (the number of links with active qcs), ap->excl_link (pointer to link which can be used by ->qc_defer and is cleared when a qc with ATA_QCFLAG_CLEAR_EXCL completes), and ata_link_active(). These can be used by ->qc_defer() to implement proper command exclusion. This set of helpers seem enough for both sil24 (ATAPI exclusion needed) and cmd-switching PMP. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 31cc23b34913bc173680bdc87af79e551bf8cc0d Author: Tejun Heo Date: Sun Sep 23 13:14:12 2007 +0900 libata-pmp-prep: implement ops->qc_defer() Controllers which support PMP have various restrictions on which combinations of commands are allowed to what number of devices concurrently. This patch implements ops->qc_defer() which determines whether a qc can be issued at the moment or should be deferred. If the function returns ATA_DEFER_LINK, the qc will be deferred until a qc completes on the link. If ATA_DEFER_PORT, until a qc completes on any link. The defer conditions are advisory and in general ATA_DEFER_LINK can be considered as lower priority deferring than ATA_DEFER_PORT. ops->qc_defer() replaces fixed ata_scmd_need_defer(). For standard NCQ/non-NCQ exclusion, ata_std_qc_defer() is implemented. ahci and sata_sil24 are converted to use ata_std_qc_defer(). ops->qc_defer() is heavier than the original mechanism because full qc is prepped before determining to defer it, but various information is needed to determine defer conditinos and fully translating a qc is the only way to supply such information in generic manner. IMHO, this shouldn't cause any noticeable performance issues as * for most cases deferring occurs rarely (except for NCQ-aware cmd-switching PMP) * translation itself isn't that expensive * once deferred the command won't be repeated until another command completes which usually is a very long time cpu-wise. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fb7fd61454c8681cd2621051a710b78a00369203 Author: Tejun Heo Date: Sun Sep 23 13:14:12 2007 +0900 libata-pmp-prep: make a number of functions global to libata Make a number of functions from libata-core.c and libata-eh.c global to libata (drivers/ata/libata.h). These will be used by PMP. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 422c9daa8b5bea09f3393b11a106afd68850b39b Author: Tejun Heo Date: Sun Sep 23 13:14:12 2007 +0900 libata-pmp-prep: add @new_class to ata_dev_revalidate() Consider newly found class code while revalidating. PMP resetting always results in valid class code and issuing PMP commands to ATA/ATAPI device isn't very attractive. Add @new_class to ata_dev_revalidate() and check class code for revalidation. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e0a7175263db4a226558883a51a88a5d2bc5d9fe Author: Tejun Heo Date: Sun Sep 23 13:14:12 2007 +0900 libata-pmp-prep: add PMP related constants, fields, ops and update helpers Add PMP related constants, fields and ops. Also, update ata_class_enabled/disabled() such that PMP classes are considered. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 854c73a2f1c3bcc4aa88c25e208dc597e8efb795 Author: Tejun Heo Date: Sun Sep 23 13:14:11 2007 +0900 libata: misc updates for AN Update AN support in preparation of PMP support. * s/ata_id_has_AN/ata_id_has_atapi_AN/ * add AN enabled reporting during configuration * add err_mask to AN configuration failure reporting * update LOCKING comment for ata_scsi_media_change_notify() * check whether ATA dev is attached to SCSI dev ata_scsi_media_change_notify() * set ATA_FLAG_AN in ahci and sata_sil24 Signed-off-by: Tejun Heo Cc: Kriten Carlson Accardi Signed-off-by: Jeff Garzik commit c78968bb0f7714ceba1cdfa23714454fc98cefdf Author: Jeff Garzik Date: Fri Sep 21 21:03:28 2007 -0400 [libata] SCSI: simulator version, not device version, belongs in VPD Signed-off-by: Jeff Garzik commit 24f756866676b40446e361c1f87738707161da93 Author: Jeff Garzik Date: Fri Sep 21 07:54:49 2007 -0400 [libata] SCSI: clean up R/W recovery mode page Clear ARRE, we don't do auto-reallocation on reads, just on writes. Also, hardcode the size of the array using RW_RECOVERY_MPAGE_LEN, following the style of the surrounding code. Signed-off-by: Jeff Garzik commit 00bd02027fc4a5cf92a3e538896b3642b40515df Author: Jeff Garzik Date: Fri Sep 21 07:26:08 2007 -0400 [libata] SCSI: improve FORMAT UNIT; minor code cleanups * SAT specifies that FORMAT UNIT should be translated into a series of READ and WRITE commands that zero the ATA device. That is far too cumbersome to bother with. Since we don't actually format the device, the old behavior of always returning success was inaccurate. Change FORMAT UNIT from returning success immediately (old behavior) to always returning an error (new behavior). * Add some comments around SYNCHRONIZE CACHE * Shuffle scsi command code around a bit, so that things are close to alphabetic order. Signed-off-by: Jeff Garzik commit 453941455218a81eedcea5dbafa38b8815920a8c Author: Jeff Garzik Date: Fri Sep 21 06:23:42 2007 -0400 [libata] Slightly improved no-op REQUEST SENSE, SEND DIAGNOSTIC A few pedantic apps care about missing or lame "mandatory" SCSI commands, so REQUEST SENSE -- as we autosense, R.S. just returns zeroes SEND DIAGNOSTIC -- our default (no-op) self-test succeeds, all other requests for testing fail. Signed-off-by: Jeff Garzik commit ad355b4628a19ba2af30409e13083edda221a5c9 Author: Jeff Garzik Date: Fri Sep 21 20:38:03 2007 -0400 [libata] SCSI: support INQUIRY page 89h (ATA info page) Signed-off-by: Jeff Garzik commit d4155e6f13e931048036976d9fb47b5db53ee7a3 Author: Jason Gaston Date: Thu Sep 20 17:35:00 2007 -0400 ahci: RAID mode SATA patch for Intel Tolapai Signed-off-by: Jason Gaston Signed-off-by: Jeff Garzik commit d7fbee050753e153622b5d41bc8bd1cb19cda9b9 Author: Tejun Heo Date: Sun Sep 2 23:24:48 2007 +0900 libata: assume ATA_DEV_ATA on diagnostic failure Certain device which reports diagnostic failure also reports invalid device signature. Assume ATA_DEV_ATA on diagnostic failure if reset indicates device presence. This is fix for bugzilla bug 8784. http://bugzilla.kernel.org/show_bug.cgi?id=8784 Signed-off-by: Tejun Heo Acked-by: Alan Cox Cc: Edward Amsden Signed-off-by: Jeff Garzik commit 3f19859ee95a38c066a0420eb8a30c76ecd67a42 Author: Tejun Heo Date: Sun Sep 2 23:23:57 2007 +0900 libata: update ata_dev_try_classify() arguments Make ata_dev_try_classify() take a pointer to ata_device instead of ata_port/port_number combination for consistency and add @present argument. @present indicates whether the device seems present during reset. It's the result of TF access during softreset and link onlineness during hardreset. @present will be used to improve diagnostic failure handling. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 7a234aff3d83728fd83cf19df32d3df52566d2ac Author: Tejun Heo Date: Mon Sep 3 12:44:57 2007 +0900 ahci: reimplement port_map handling Reimplement port_map handling such that 1. Non-zero PORTS_IMPL value is always examined and used if consistent with cap.n_ports. 2. When PI and cat.n_ports are inconsistent, honor cap.n_ports and force port_map to be ((1 << cap.n_ports) - 1). 3. There were two separate places dealing with port_map. Unify them to one. As all newer ahci chips seem to get PI correct and older ones usually have zero PI. Controllers with holes in PI are very unlikely to screw up PI, so #2 makes more sense than following inconsistent PI. Without this change, not setting ATA_FLAG_HONOR_PI when it's needed results in weird detection failure. This changed logic should be able to handle all known cases correctly automatically. Verified on ICH6 (reports 0 PI), ICH8 (with holes in port_map), ICH9, JMB360 and JMB363. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 05027adccc09401a7e31d5ef51040dc75ab03c22 Author: Tejun Heo Date: Mon Sep 3 12:32:57 2007 +0900 libata: remiplement ata_hpa_resize() This patch reimplement ata_hpa_resize() such that... * All HPA related decisions are made inside ata_hpa_resize() proper. ata_hpa_resize() returns 0 if configuration can proceed, -errno if device needs to be reset and reconfigured. * All errors are handled properly. If HPA unlocking isn't requested, HPA handling is disabled automatically to avoid unnecessary device detection failure. * Messages are trimmed. HPA detection message is printed only during initial configuration. HPA unlocked message is printed only during initial configuration or unlocking results in different size. * Instead of using sectors returned in TF of SET_MAX, re-read IDENTIFY data as that's the value the device is going to use. * It's called early during ata_dev_configure() as IDENTIFY data might change after resizing. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c728a9149f519cbb9f610962873f4e22ed4a6efd Author: Tejun Heo Date: Mon Sep 3 12:32:30 2007 +0900 libata: clean up read/set native_max address functions Merge ata_read_native_max_addres_ext() into ata_read_native_max_address() and combine ata_set_native_max_address_ext() and ata_set_native_max_address() into ata_set_max_sectors(). * reduce duplicate code * return 0 or -errno depending on error conditions * report if command fails * use ATA_LBA instead of 0x40 This is in preparation of ata_hpa_resize() update. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit db6f8759d05d2082f09a45b5674edc0fb5e92b1b Author: Tejun Heo Date: Mon Sep 3 12:31:58 2007 +0900 libata: move ata_id_n_sectors() upward Move ata_id_n_sectors() upward right below ata_id_c_string(). This is to accomodate later changes. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 2557164e0b18e78a7772632a2a90832f56181fc5 Author: Kristen Carlson Accardi Date: Tue Sep 11 11:41:59 2007 -0700 ata: increase allowed config flags In anticipation of more features, increase number of config flags allowed, and move the init flags. Signed-off-by: Kristen Carlson Accardi Cc: Hugh Dickens Signed-off-by: Jeff Garzik commit e2d352af6d8f1734394bc1bcf0afe345cc3ef235 Author: Jason Gaston Date: Fri Sep 7 17:21:03 2007 -0700 ata_piix: replace spaces with tabs This patch removes some incorrect formatting spaces and replaces them with tabs. Signed-off-by: Jason Gaston Signed-off-by: Jeff Garzik commit 69916b7ceac0dfbbc868ae5451062cb789b1b58a Author: Jeff Garzik Date: Tue Oct 2 22:57:58 2007 +0200 [SCSI] gdth: Reorder scsi_host_template intitializers shuffle scsi_host_template members such that they appear in the order in which they are defined in the header. this makes is easier to verify when initializers are missing members. Signed-off-by: Jeff Garzik Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 7120165cf31e989baf7836218ca0a13643074735 Author: Boaz Harrosh Date: Tue Sep 18 17:48:50 2007 +0200 libata-scsi: convert to use the data buffer accessors simple search-and-replace of direct scsi_cmnd access to use the data buffer accessors. Signed-off-by: Boaz Harrosh Signed-off-by: Jeff Garzik commit e10b8c3f5f23188e065b1845ba732570eca007fe Author: Boaz Harrosh Date: Tue Sep 18 17:46:12 2007 +0200 libata-scsi: Remove !use_sg code paths This is a minimal patch needed to remove use of !use_sg but it is not a complete clean up of the !use_sg paths. Libata-core still has the qc->flags & ATA_QCFLAG_SG and !qc->n_elem code paths. Perhaps an ata maintainer would have a go at it. - TODO: further cleanup of qc->flags & ATA_QCFLAG_SG and !qc->n_elem code paths in libata-core - TODO: Use scsi_dma_{map,unmap} where applicable. Signed-off-by: Jeff Garzik commit d2a84f47899d1efc24fa610696f7b793692279c7 Author: Alan Cox Date: Thu Sep 20 15:07:12 2007 +0100 pdc2027x: Switch properly to ioread/iowrite Some iomap functions were still using readl/writel and friends which happens to work on most platforms but is not correct. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit c645fd34256e8ef4986d3e8acd569890cc421e5d Author: Alan Cox Date: Thu Sep 20 14:58:48 2007 +0100 libata: Update experimental tags to reflect reality better Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 539cc7c70c12fbdad4ee11f901cd7a0d7f52b186 Author: Jeff Garzik Date: Thu Sep 20 16:31:47 2007 -0400 [libata] blacklist Maxtor*BANC* using new wildcard blacklist matching Support the use of '*' in model_num and model_rev entries in ata_device_blacklist[]. Based largely on David Milburn's "libata-core: support wildcard matching in ata_blacklist_entry" patch. Signed-off-by: Jeff Garzik commit ec300d99ef8699a6f383889b8f8c0d0ebadc2a74 Author: Jeff Garzik Date: Sat Sep 1 07:17:36 2007 -0400 [libata] ata_piix: Use more-robust form of array initialization Use a form of array init that is less fragile, less sensitive to trivial typos and ordering mismatches. Signed-off-by: Jeff Garzik commit 7c9ef8e418374aec0a62e64d9b40d457634fd039 Author: Kristoffer Nyborg Gregertsen Date: Wed Aug 8 16:57:08 2007 +0200 AVR32 PATA driver Updated and simplified driver. Use only register transfer timing for both data and register transfers. This gives poorer performance in PIO1 and 2, but should not be a problem in PIO3 and 4, correct me if I'm wrong :) The driver works very we'll but I still wonder about the interrupts. I have an interrupt line, that works nicely when POLLING flag is not set. The problem is the number of interrupts that eat away my CPU cycles. When using the POLLING flag there seem to be some interrupts that dosen't get cleared. Furthermore the device dosen't drive INTRQ high, it stays at 2.5 volts and generates a lot of interrupts due to ripple / noise. What to do? Signed-off-by: Kristoffer Nyborg Gregertsen Signed-off-by: Jeff Garzik commit d830d1731fa5906aad20c228ac8b73005b13d468 Author: Sonic Zhang Date: Tue Aug 21 13:12:31 2007 +0800 libata driver for bf548 on chip ATAPI controller. Fix all issues pointed out in Jeff's email. Acked-by: Alan Cox Signed-off-by: Sonic Zhang Signed-off-by: Jeff Garzik commit a1e10f7e68a544c80081fee4fa550dc28389f44a Author: Tejun Heo Date: Sat Aug 18 13:28:49 2007 +0900 libata: move EH repeat reporting into ata_eh_report() EH is sometimes repeated without any error or action. For example, this happens when probing IDENTIFY fails because of a phantom device. In these cases, all the repeated EH does is making sure there is no unhandled error or pending action and return. This repeation is necessary to avoid losing any event which occurred while EH was in progress. Unfortunately, this dry run causes annonying "EH pending after completion" message. This patch moves the repeat reporting into ata_eh_report() such that it's more compact and skipped on dry runs. Signed-off-by: Tejun Heo Cc: Mikael Pettersson Signed-off-by: Jeff Garzik commit cbcdd87593a1d85c5c4b259945a3a09eee12814d Author: Tejun Heo Date: Sat Aug 18 13:14:55 2007 +0900 libata: implement and use ata_port_desc() to report port configuration Currently, port configuration reporting has the following problems. * iomapped address is reported instead of raw address * report contains irrelevant fields or lacks necessary fields for non-SFF controllers. * host->irq/irq2 are there just for reporting and hacky. This patch implements and uses ata_port_desc() and ata_port_pbar_desc(). ata_port_desc() is almost identical to ata_ehi_push_desc() except that it takes @ap instead of @ehi, has no locking requirement, can only be used during host initialization and " " is used as separator instead of ", ". ata_port_pbar_desc() is a helper to ease reporting of a PCI BAR or an offsetted address into it. LLD pushes whatever description it wants using the above two functions. The accumulated description is printed on host registration after "[S/P]ATA max MAX_XFERMODE ". SFF init helpers and ata_host_activate() automatically add descriptions for addresses and irq respectively, so only LLDs which isn't standard SFF need to add custom descriptions. In many cases, such controllers need to report different things anyway. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e923090ddd9fef1d4e06dc6c5295e29baced19f3 Author: Albert Lee Date: Mon Aug 20 16:56:29 2007 +0800 libata: pata_pdc2027x PLL detection minor cleanup Minor cleanup to remove the unneeded rmb()s per Jeff's advice. Also removed the pll_clock < 0 check since pll_clock now guaranteed to be >= 0 after Mikael's patch. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit c7293870a93a99e9ce0f4d98f3a271539c7c6ad6 Author: Alan Cox Date: Wed Aug 22 23:31:43 2007 +0100 libata: Strict checking for identify reporting The ATA specifications require checks on certain flags before assuming the validity of other data. Go through the methods and correct those needing extra checks. Also note limits on ata_id_major_version with respect to ATA-1 and ATA-2. Correct the 32bit PIO check. Wants to sit in -mm for a bit in case of a screwup on my part that I didn't hit on the test drives and also in case someone, somewhere has a drive that gets it wrong. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 614fe29bd91f99cc1c1fbf3274fa918691044f47 Author: Alan Cox Date: Wed Aug 22 23:22:45 2007 +0100 libata: Spot bridge chips If we have a PATA cable with a SATA drive on it then we've found a bridge and we can flip the cable type. This fixes some cable detect problems with SATA bridges on chipsets and misdetected cable types. In theory cable detection and mode limiting is needed if you put a SATA/PATA bridge on a 40 wire cable, but I see no way to deal with that other than to point out its not a good idea anyway. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 4743d0854faa5624148ac6cf3fe9692e977eefa1 Author: Alan Cox Date: Wed Aug 22 23:12:50 2007 +0100 libata-portmap: Remove unused definitions With the PCI layer properly handling legacy IDE and the kernel now using it these can go Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 81ad1837b590775336f68eafcae8dab13a975b3a Author: Alan Cox Date: Wed Aug 22 22:55:41 2007 +0100 libata: Switch most of the remaining SFF drivers to ata_sff_port_start This avoids allocating DMA buffers if not needed but at the moment is mostly just a neatness item. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit ac8869d56d95a8c74403e6f7a47d74fcfcc1b988 Author: Jeff Garzik Date: Thu Aug 16 03:17:03 2007 -0400 [libata] Remove ->port_disable() hook It was always set to ata_port_disable(). Removed the hook, and replaced the very few ap->ops->port_disable() callsites with direct calls to ata_port_disable(). Signed-off-by: Jeff Garzik commit 7d73a363dea186a864f6295bbe842da8044d42cd Author: Alan Cox Date: Thu Jul 26 18:38:06 2007 +0100 libata pata_via: ACPI checks for 80wire cable Testing this on the VIA boards fixes several problems with otherwise undetectable SATA bridge chips Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit e708eb9bc0515f36d77477877e74b6b9056b5879 Author: Alan Cox Date: Thu Jul 26 18:37:28 2007 +0100 libata pata_amd: ACPI checks for 80wire cable We can make use of this on the pata_amd driver as many Nvidia devices don't have reliable cable detect. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit e1ddb4b6a2c9b2c72991eb8640ef2f50691ac502 Author: Alan Cox Date: Thu Aug 16 02:33:36 2007 -0400 [libata] add ACPI cable detect API Combined from two Alan Cox patches: 1) libata: ACPI checks for 80wire cable We can use the ACPI mode information with several drivers as a hint to cable type. If the ACPI mode set by the BIOS is faster than UDMA33 then we know the BIOS thinks there are 80wire cables. If it doesn't set such a mode or it has no ACPI method then we get no further information and can rely on existing approaches Introduce the function headers needed. Null it out for non ACPI boxes Signed-off-by: Alan Cox 2) libata: ACPI checks for 80wire cable Provide actual methods for checking if the ACPI support thinks the cable is 80wire, or doesn't know Signed-off-by: Alan Cox Combined into a single changeset and Signed-off-by: Jeff Garzik commit 6d32d30f55020d766388df7515f771f68c973033 Author: Jeff Garzik Date: Wed Aug 15 05:38:46 2007 -0400 [libata] Remove ->irq_ack() hook, and ata_dummy_irq_on() * ->irq_ack() is redundant to what the irq handler already performs... chk-status + irq-clear. Furthermore, it is only called in one place, when screaming-irq-debugging is enabled, so we don't want to bother with a hook just for that. * ata_dummy_irq_on() is only ever used in drivers that have no callpath reaching ->irq_on(). Remove .irq_on hook from those drivers, and the now-unused ata_dummy_irq_on() Signed-off-by: Jeff Garzik commit cb94c1cf5a6beffbd8935eb91227df0dd1987644 Author: Tejun Heo Date: Mon Jul 30 14:24:15 2007 +0900 libata: add printf format attribute to ehi desc functions Tell the compiler that [__]ata_ehi_push_desc() functions take printf style format string and arguments. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 1552945669b4fb23bff8d3b30221bfe3ade63515 Author: Tejun Heo Date: Mon Jul 30 14:23:03 2007 +0900 libata: use ata_port_printk() in ata_wait_idle() ata_wait_idle() identified controller by printing out the address of the Status register. This is bogus because 1. it's iomapped address 2. some controllers don't have Status register and don't initialize the field. Use ata_port_printk() instead. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a52667f3cd84fa395e98b505967070b984fac4df Author: Jeff Garzik Date: Tue Oct 2 22:55:53 2007 +0200 [SCSI] gdth: kill gdth_{read,write}[bwl] wrappers They are direct equivalents to {read,write}[bwl]. Signed-off-by: Jeff Garzik Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit b8773531cc54c1ed10c8ec301353ee6b53b601a5 Author: Andrew Morton Date: Fri Aug 10 13:59:33 2007 -0700 libata-add-irq_flags-to-struct-pata_platform_info-fix Remove unneeded, undesirable cast of void*. Cc: Jeff Garzik Cc: Sonic Zhang Cc: Tejun Heo Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 2eb829e934abb10db36ddaacd82603c3cdd98b6d Author: Christian Lamparter Date: Fri Aug 10 13:59:51 2007 -0700 ata_piix: disallow UDMA 133 on ICH5 & ICH7 There is another outstanding issue with ata_piix.c. Intel has never officially supported anything faster than PATA 100MB/s. But, the ata_piix.c driver "define" the ICH5 & ICH7 as UDMA6 (aka 133MB/s) capable. [ Well, no one has probably noticed it before, because there is bug in do_pata_set_dmamode... Just look at libata_atapiix_enable_real_udma133.patch and you'll see what wrong with it. ] Here are Intel's datasheets for the affected chipsets: ICH5 Datasheet: http://www.intel.com/design/chipsets/datashts/252516.htm (See note on page 183: "... the ICH5 supports reads at the maximum rate of 100MB/s.") ICH7 Datasheet: http://www.intel.com/design/chipsets/datashts/307013.htm (See first note on page 190: "... the ICH7 supports reads at the maximum rate of 100MB/s.") They are two different ways to deal with it: - Either - 1. replace all ich_pata_133 with ich_pata_100. (libata_atapiix_disable_udma6.diff - diff from 2.6.22 ) - Or - 2. keep all ich_pata_133 and fix the bug in "do_pata_set_dmamode". (libata_atapiix_enable_real_udma133.patch - diff from 2.6.22) If there are any concerns about the safety of the patch patch: http://lkml.org/lkml/2007/7/6/292 (It was already tested by an Intel employee, but I guess a bit more user input is necessary here... ) This patch implements 1. Cc: Alan Cox Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Christian Lamparter Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a738492501eaf6e266acc53a064552b3fcc706b2 Author: Kristen Carlson Accardi Date: Thu Aug 9 14:23:41 2007 -0700 ahci: Store interrupt value Use a stored value for which interrupts to enable. Changing this allows us to selectively turn off certain interrupts later and have them stay off. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jeff Garzik commit 2f2949680ad89d606db838340b17c30216c0bb0f Author: Kristen Carlson Accardi Date: Wed Aug 15 04:11:25 2007 -0400 [libata] ahci: send event when AN received When we get an SDB FIS with the 'N' bit set, we should send an event to user space to indicate that there has been a media change. This will be done via the scsi device. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jeff Garzik commit 9f45cbd3f0fc597530aaf85cad7fe52cd63f1fd8 Author: Kristen Carlson Accardi Date: Wed Aug 15 03:57:11 2007 -0400 [libata] check for SATA async notify support Check to see if an ATAPI device supports Asynchronous Notification. If so, enable it, if the host controller supports AN. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jeff Garzik commit 05d1efffdc9bf84311bb1a3c2e3db55b544ca119 Author: Alan Cox Date: Fri Aug 10 13:59:49 2007 -0700 pata_cmd64x: Set up MWDMA modes properly Set the MWDMA timing by updating the correct registers. Split the PIO path as this is mostly shared code. Wants testing. Signed-off-by: Alan Cox Tested-by: Mikael Pettersson Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4f34337b1f6f7c1e0f2e3c938eb9eadd340593fe Author: Alan Cox Date: Wed Aug 8 14:30:31 2007 +0100 libata: Note that our cache flush code needs fixing up Remembered this while doing auditing and code review versus the specs Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 50a99018787aa1aed812e09ad5b27647475656a0 Author: Alan Cox Date: Wed Aug 8 14:27:00 2007 +0100 libata-core: Document some limits/assumptions about ID_ATA Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit baf4fdfaaf5cb9f4fb1c341c8cef60a64e580582 Author: Mark Lord Date: Wed Aug 8 01:08:45 2007 +0900 libata: add support for ATA_16 on ATAPI Add support for issuing ATA_16 passthru commands to ATAPI devices managed by libata. It requires the previous CDB length fix patch. A boot/module parameter, "atapi_passthru16=0" can be used to globally disable this feature, if ever desired. tj: restructured __ata_scsi_queuecmd() according to Jeff's suggestion. Signed-off-by: Mark Lord Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4cc980b34b2a25f600576dcd11de388bc44e1ebd Author: Albert Lee Date: Wed Aug 15 03:19:45 2007 -0400 libata: move ata_altstatus() to pio data xfer functions Move ata_altstatus() out from ata_hsm_move() to the pio data xfer functions like ata_pio_sectors() and atapi_pio_bytes() where it makes more sense. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit 0bc2a79a2002e3cc1b514c100b6c576983da6a90 Author: Alan Cox Date: Tue Jul 31 14:01:48 2007 +0100 libata: Correct IORDY handling Debugging a report of a problem with an ancient solid state disk showed up some problems in the IORDY handling 1. We check the wrong bit to see if the device has IORDY 2. Even then some ancient creaking piles of crap don't support SETXFER at all. The cases it fixes are obscure and the risk of side effects is slight but possible. This also moves us slightly closer to supporting original MFM/RLL disks with libata. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit e3667ebf857ba744b5211c90d46f6a17dd9a2479 Author: Tejun Heo Date: Mon Aug 6 18:36:24 2007 +0900 libata-link: update Power Management to handle PMP links Update Power Management to consider PMP links. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 41bda9c98035dd3589b02cbc1de02f71d2faf9c8 Author: Tejun Heo Date: Mon Aug 6 18:36:24 2007 +0900 libata-link: update hotplug to handle PMP links Update hotplug to handle PMP links. When PMP is attached, the PMP number corresponds to C of SCSI H:C:I:L. While at it, change argument to ata_find_dev() to @devno from @id to avoid confusion with SCSI device ID. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9b1e2658faf3f3095a96558c333b333c0e29dbc0 Author: Tejun Heo Date: Mon Aug 6 18:36:24 2007 +0900 libata-link: update EH to deal with PMP links Update ata_eh_autopsy(), ata_eh_report(), ata_eh_revalidate_and_attach() and ata_eh_recover() to deal with PMP links. ata_eh_autopsy() and ata_eh_report() updates are straightforward. They just repeat the same operation over all configured links. The only change to ata_eh_revalidate_and_attach() is avoiding calling ->cable_select() on non-host ports. ata_eh_recover() update is more complex as it first processes all resets and then performs the rest. This is necessary as thawing with some links in unknown state can be dangerous. ehi->action is cleared on successful recovery of a link to avoid repeating recovery due to failures in other links. ata_eh_recover() iterates over only PMP links if PMP is attached, and, on failure, the failing link is returned in @failed_link instead of disabling devices directly. These are to integrate ata_eh_recover() into PMP EH later. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit cf1b86c8ab41fe2b2a2eb59c9a2ea9a7e463653a Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: update ata_scsi_error() to handle PMP links Update ata_scsi_error() to handle PMP links. As error conditions can occur on both host and PMP links, __ata_port_for_each_link() is used. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8989805d6d176aa32c0e9a68a536aa4c8ef5231c Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: add PMP links Add link->pmp, ap->nr_pmp_links, ap->pmp_link[], and implement/update link helpers. printk helpers are updated such that port and link are identifed as 'ataP:' if no PMP is attached, while device is identified as 'ataP.DD:'. If PMP is attached, they become 'ataP:', 'ataP.LL:' and 'ataP.LL' - ie. link and device are identified their PMP number. If PPM is attached (ap->nr_pmp_links != 0), ata_for_each_link() iterates over PMP links, while __ata_for_each_link() iterates over the host link + PMP links. If PMP is not attached (ap->nr_pmp_links == 0), both iterate over only the host link. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit dbd826168d6267a26cf20cd233f6730f8d8047d6 Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: implement ata_link_abort() Implement ata_link_abort(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4fb37a25b976e8d1b34461330b3f2c6d9b94c133 Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: separate out link initialization functions Separate out link initialization into ata_link_init() and ata_link_init_sata_spd(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0c88758b5a6325428aaadab619886242db20ceae Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: make two port flags HRST_TO_RESUME and SKIP_D2H_BSY link flags HRST_TO_RESUME and SKIP_D2H_BSY are link attributes. Move them to ata_link->flags. This will allow host and PMP links to have different attributes. ata_port_info->link_flags is added and used by LLDs to specify these flags during initialization. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0260731f0187840e272bfa10d3ba0f3e417976f5 Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: linkify config/EH related functions Make the following functions deal with ata_link instead of ata_port. * ata_set_mode() * ata_eh_autopsy() and related functions * ata_eh_report() and related functions * suspend/resume related functions * ata_eh_recover() and related functions Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit cc0680a580b5be81a1ca321b58f8e9b80b5c1052 Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: linkify reset Make reset methods and related functions deal with ata_link instead of ata_port. * ata_do_reset() * ata_eh_reset() * all prereset/reset/postreset methods and related functions This patch introduces no behavior change. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 955e57dfde4ff75e4d7329ac7a3d645b16015309 Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: linkify EH action helpers Make ata_eh_about_to_do() and ata_eh_done() deal with ata_link instead of ata_port. This patch introduces no behavior change. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 936fd7328657884d5a69a55666c74a55aa83ca27 Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: linkify PHY-related functions Make the following PHY-related functions to deal with ata_link instead of ata_port. * sata_print_link_status() * sata_down_spd_limit() * ata_set_sata_spd_limit() and friends * sata_link_debounce/resume() * sata_scr_valid/read/write/write_flush() * ata_link_on/offline() This patch introduces no behavior change. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f58229f8060055b08b34008ea08f31de1e2f003c Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: implement and use link/device iterators Multiple links and different number of devices per link should be considered to iterate over links and devices. This patch implements and uses link and device iterators - ata_port_for_each_link() and ata_link_for_each_dev() - and ata_link_max_devices(). This change makes a lot of functions iterate over only possible devices instead of from dev 0 to dev ATA_MAX_DEVICES. All such changes have been examined and nothing should be broken. While at it, add a separating comment before device helpers to distinguish them better from link helpers and others. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9af5c9c97dc9d599281778864c72b385f0c63341 Author: Tejun Heo Date: Mon Aug 6 18:36:22 2007 +0900 libata-link: introduce ata_link Introduce ata_link. It abstracts PHY and sits between ata_port and ata_device. This new level of abstraction is necessary to support SATA Port Multiplier, which basically adds a bunch of links (PHYs) to a ATA host port. Fields related to command execution, spd_limit and EH are per-link and thus moved to ata_link. This patch only defines the host link. Multiple link handling will be added later. Also, a lot of ap->link derefences are added but many of them will be removed as each part is converted to deal directly with ata_link instead of ata_port. This patch introduces no behavior change. Signed-off-by: Tejun Heo Cc: James Bottomley Signed-off-by: Jeff Garzik commit 640fdb504941fa2b9f6f274716fc9f97f2bf6bff Author: Jeff Garzik Date: Fri Aug 3 11:10:07 2007 -0400 [libata] pdc_adma: convert to new exception handling (EH) framework Signed-off-by: Jeff Garzik commit 8d7a5da4fc95cb6210cd66e7c886161e10a1307f Author: Jeff Garzik Date: Tue Oct 2 22:54:28 2007 +0200 [SCSI] gdth: Remove 2.4.x support, in-kernel changelog * Remove in-source changelog. It's archived permanently in git and various kernel archives, and changelogs should exist purely in git. * Remove 2.4.x kernel support. It is an active obstacle to modernizing this driver, at this point. This includes killing gdth_kcompat.h which is 100% redundant in modern kernels. Signed-off-by: Jeff Garzik Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 8514ef27ee462747454f26a77982f670d9c3c391 Author: Christoph Hellwig Date: Tue Oct 2 22:51:06 2007 +0200 [SCSI] gdth: split out pci probing Split out per-device pci probing and put it under proper CONFIG_PCI. Signed-off-by: Christoph Hellwig Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 706a5d456762e77e199903e55377a9c00814c007 Author: Christoph Hellwig Date: Tue Oct 2 22:49:35 2007 +0200 [SCSI] gdth: split out eisa probing Split eisa probing into it's own helper, and do proper error unwinding. Protect EISA probind by the proper CONFIG_EISA symbol. Signed-off-by: Christoph Hellwig Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit aed91cb520747d08dd5cb0220d0dd3492bead220 Author: Christoph Hellwig Date: Tue Oct 2 22:48:16 2007 +0200 [SCSI] gdth: split out isa probing (note: this is ontop of Jeff's pci cleanup patch) Split out isa probing into a helper of it's own. Error handling is cleaned up, but errors are not propagated yet. Also enclose the isa probe under the proper CONFIG_ISA symbol instead of the !IA64 hack. Signed-off-by: Christoph Hellwig Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit b8bff2aeafb1959de27bd889d1c103577b36712f Author: Matthew Wilcox Date: Tue Oct 2 22:40:22 2007 +0200 gdth: Make one abuse of scsi_cmnd less obvious Rather than having internal commands abuse scsi_done to call gdth_scsi_done, have all the places that use to call scsi_done directly call gdth_scsi_done, which now checks whether the command was internal, and calls scsi_done if not. Signed-off-by: Matthew Wilcox Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 28424d3a503d43482a5537e556f7b7652d8e56d8 Author: Boaz Harrosh Date: Mon Sep 10 22:37:45 2007 +0300 [SCSI] NCR5380: Use scsi_eh API for REQUEST_SENSE invocation - Use new scsi_eh_prep/restor_cmnd() for synchronous REQUEST_SENSE invocation. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit dff6de73f9d29868729cb1d21d86ba0dbd28871f Author: Boaz Harrosh Date: Mon Sep 10 22:36:31 2007 +0300 [SCSI] usb storage: use scsi_eh API in REQUEST_SENSE execution - Use new scsi_eh_prep/restor_cmnd() for synchronous REQUEST_SENSE invocation. Signed-off-by: Boaz Harrosh Acked-by: Alan Stern Signed-off-by: James Bottomley commit e1c234685c50807e10a3e7873e6e006976a4d8e8 Author: Boaz Harrosh Date: Mon Oct 8 16:36:45 2007 +0200 [SCSI] scsi_error: Refactoring scsi_error to facilitate in synchronous REQUEST_SENSE - Drivers/transports that want to send a synchronous REQUEST_SENSE command as part of their .queuecommand sequence, have 2 new API's that facilitate in doing so and abstract them from scsi-ml internals. void scsi_eh_prep_cmnd(struct scsi_cmnd *scmd, struct scsi_eh_save *sesci, unsigned char *cmnd, int cmnd_size, int sense_bytes) Will hijack a command and prepare it for request sense if needed. And will save any later needed info into a scsi_eh_save structure. void scsi_eh_restore_cmnd(struct scsi_cmnd* scmd, struct scsi_eh_save *sesci); Will undo any changes done to a command by above function. Making it ready for completion. - Re-factor scsi_send_eh_cmnd() to use above APIs Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 55db6c1b8ed52bfc876e87971de8c67c42f36909 Author: Boaz Harrosh Date: Mon Oct 8 16:35:19 2007 +0200 [SCSI] scsi_error: code cleanup before refactoring of scsi_send_eh_cmnd() - regrouped variables for easier reviewing of next patch - Support of cmnd==NULL in call to scsi_send_eh_cmnd() - In the @sense_bytes case set transfer size to the minimum size of sense_buffer and passed @sense_bytes. cmnd[4] is set accordingly. - REQUEST_SENSE is set into cmnd[0] so if @sense_bytes is not Zero passed @cmnd should be NULL. - Also save/restore resid of failed command. - Adjust caller Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 2ca482302f2080e6861eaf753051ac35b6b411ad Author: Gabriel C Date: Tue Oct 2 14:38:02 2007 -0700 [SCSI] fdomain: fix CONFIG_PCI=n warnings I get this warnings on current git when CONFIG_PCI is not set : drivers/scsi/fdomain.c:390: warning: 'PCI_dev' defined but not used drivers/scsi/fdomain.c:1768: warning: 'fdomain_pci_tbl' defined but not used Signed-off-by: Gabriel Craciunescu Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 89932697ce742c094916d8270c282042b24776b3 Author: Joe Korty Date: Tue Oct 2 14:38:08 2007 -0700 [SCSI] dpt_i2o: Fix section mismatch Fix section mismatch in the Adaptec DPT SCSI Raid driver. WARNING: vmlinux.o(.init.text+0x1fcd2): Section mismatch: reference to .exit.text:adpt_exit (between 'adpt_init' and 'ahc_linux_init') This warning is due to adaptec device detection calling the exit routine on failure to properly register the adaptec device. The exit routine + call was added on July 30 by Commit: 55d9fcf57ba5ec427544fca7abc335cf3da78160 Author: Matthew Wilcox Subject: [SCSI] dpt_i2o: convert to SCSI hotplug model. Mathew: isn't a module exit routine a little too strong to be calling on the failure of a single device? Module exit implies that other, non-failing adaptec raid devices will also get shut down. Signed-off-by: Joe Korty Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit e7b34019606ab1dd06196635e931b0c302799228 Author: Mark Fasheh Date: Mon Sep 24 14:25:27 2007 -0700 ocfs2: Optionally return filldir errors Modify ocfs2_dir_foreach_blk() to optionally return any error from the filldir callback. This way ocfs2_dirforeach() can terminate early, as opposed to always passing through the entire directory. This fixes a bug introduced during a previous code refactor where ocfs2_empty_dir() would loop infinitely. Signed-off-by: Mark Fasheh commit 5b6a3a2b4a5f071d170f8122038dd647a84810a8 Author: Mark Fasheh Date: Thu Sep 13 16:33:54 2007 -0700 ocfs2: Write support for directories with inline data Create all new directories with OCFS2_INLINE_DATA_FL and the inline data bytes formatted as an empty directory. Inode size field reflects the actual amount of inline data available, which makes searching for dirent space very similar to the regular directory search. Inline-data directories are automatically pushed out to extents on any insert request which is too large for the available space. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 23193e513d1cd69411469f028d56fd175d4a6b07 Author: Mark Fasheh Date: Wed Sep 12 13:01:18 2007 -0700 ocfs2: Read support for directories with inline data This splits out extent based directory read support and implements inline-data versions of those functions. All knowledge of inline-data versus extent based directories is internalized. For lookups the code uses ocfs2_find_entry_id(), full dir iterations make use of ocfs2_dir_foreach_blk_id(). Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 1afc32b952335f665327a1a9001ba1b44bb76fd9 Author: Mark Fasheh Date: Fri Sep 7 14:46:51 2007 -0700 ocfs2: Write support for inline data This fixes up write, truncate, mmap, and RESVSP/UNRESVP to understand inline inode data. For the most part, the changes to the core write code can be relied on to do the heavy lifting. Any code calling ocfs2_write_begin (including shared writeable mmap) can count on it doing the right thing with respect to growing inline data to an extent tree. Size reducing truncates, including UNRESVP can simply zero that portion of the inode block being removed. Size increasing truncatesm, including RESVP have to be a little bit smarter and grow the inode to an extent tree if necessary. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 6798d35a31c413bbb3f83bbaa844bd2598168ccc Author: Mark Fasheh Date: Fri Sep 7 14:05:51 2007 -0700 ocfs2: Read support for inline data This hooks up ocfs2_readpage() to populate a page with data from an inode block. Direct IO reads from inline data are modified to fall back to buffered I/O. Appropriate checks are also placed in the extent map code to avoid reading an extent list when inline data might be stored. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 15b1e36bdb487d67ef924a37b0967453143be53a Author: Mark Fasheh Date: Fri Sep 7 13:58:15 2007 -0700 ocfs2: Structure updates for inline data Add the disk, network and memory structures needed to support data in inode. Struct ocfs2_inline_data is defined and embedded in ocfs2_dinode for storing inline data. A new inode field, i_dyn_features, is added to facilitate tracking of dynamic inode state. Since it will be used often, we want to mirror it on ocfs2_inode_info, and transfer it via the meta data lvb. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 8553cf4f360d6fc4913a0bdd3b22dd7b5bb9a3be Author: Mark Fasheh Date: Thu Sep 13 16:29:01 2007 -0700 ocfs2: Cleanup dirent size check The check to see if a new dirent would fit in an old one is pretty ugly, and it's done at least twice. Clean things up by putting this in it's own easier-to-read function. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit d773c082da27c445c832324cfb4a357498613a38 Author: Michael S. Tsirkin Date: Tue Oct 2 14:38:05 2007 -0700 [SCSI] scsi_transport_iscsi: add list, mutex includes scsi/scsi_transport_iscsi.h uses struct mutex and struct list_head, so while linux/mutex.h and linux/list.h seem to be pulled in indirectly by one of the headers it includes, the right thing is to include linux/mutex.h and linus/list.h directly. Signed-off-by: Michael S. Tsirkin Acked-by: Mike Christie Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 38760e243249f03b4c6d78ca624dd846a2681b67 Author: Mark Fasheh Date: Tue Sep 11 17:21:56 2007 -0700 ocfs2: Rename cleanups ocfs2_rename() does direct manipulation of the dirent it's gotten back from a directory search. Wrap this manipulation inside of a function so that we can transparently change directory update behavior in the future. As an added bonus, this gets rid of an ugly macro. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit be94d11704ef79030fd2e6a0c41b4a7f65f9e860 Author: Mark Fasheh Date: Tue Sep 11 15:22:06 2007 -0700 ocfs2: Provide convenience function for ino lookup A couple paths which needed to just match a parent dir + name pair to an inode number were a bit messy because they had to deal with ocfs2_find_files_on_disk() which returns a larger number of values. Provide a convenience function, ocfs2_lookup_ino_from_name() which internalizes all the extra accounting. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 0bfbbf62a8b5a129ba2c689283bfece80a601aba Author: Mark Fasheh Date: Wed Sep 12 11:19:00 2007 -0700 ocfs2: Implement ocfs2_empty_dir() as a caller of ocfs2_dir_foreach() We can preserve the behavior of ocfs2_empty_dir(), while getting rid of the open coded directory walk by just providing a smart filldir callback. This also automatically gets to use the dir readahead code, though in this case any advantage is minor at best. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 5eae5b96fc86e6c85f5f90e90fe9e6966f1fec63 Author: Mark Fasheh Date: Mon Sep 10 17:50:51 2007 -0700 ocfs2: Remove open coded readdir() ocfs2_queue_orphans() has an open coded readdir loop which can easily just use a directory accessor function. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 7e8536797d4508ddc790cc3af6a281db1582d485 Author: Mark Fasheh Date: Mon Sep 10 17:30:26 2007 -0700 ocfs2: Pass raw u64 to filldir filldir_t can take this, so don't turn de->inode into a 32 bit value. Right now this doesn't make a difference since no ocfs2 inodes overflow that, but it could be a nasty surprise later on if some kernel code is calling ocfs2_dir_foreach_blk() and expecting real inode numbers back... Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit b8bc5f4fde376c9eee524a9a2b7e85560e604e85 Author: Mark Fasheh Date: Mon Sep 10 17:17:52 2007 -0700 ocfs2: Abstract out core dir listing functionality Put this in it's own function so that the functionality can be overridden. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 316f4b9f98a353ac1be93199694fd97272378815 Author: Mark Fasheh Date: Fri Sep 7 18:21:26 2007 -0700 ocfs2: Move directory manipulation code into dir.c The code for adding, removing, deleting directory entries was splattered all over namei.c. I'd rather have this all centralized, so that it's easier to make changes for inline dir data, and eventually indexed directories. None of the code in any of the functions was changed. I only removed the static keyword from some prototypes so that they could be exported. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 1d410a6e337a0d2d5543ad1d9bccb670a7a05312 Author: Mark Fasheh Date: Fri Sep 7 14:20:45 2007 -0700 ocfs2: Small refactor of truncate zeroing code We'll want to reuse most of this when pushing inline data back out to an extent. Keeping this part as a seperate patch helps to keep the upcoming changes for write support uncluttered. The core portion of ocfs2_zero_cluster_pages() responsible for making sure a page is mapped and properly dirtied is abstracted out into it's own function, ocfs2_map_and_dirty_page(). Actual functionality doesn't change, though zeroing becomes optional. We also turn part of ocfs2_free_write_ctxt() into a common function for unlocking and freeing a page array. This operation is very common (and uniform) for Ocfs2 cluster sizes greater than page size, so it makes sense to keep the code in one place. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 65ed39d6ca78f07d2958814e08440e4264b6b488 Author: Mark Fasheh Date: Tue Aug 28 17:13:23 2007 -0700 ocfs2: move nonsparse hole-filling into ocfs2_write_begin() By doing this, we can remove any higher level logic which has to have knowledge of btree functionality - any callers of ocfs2_write_begin() can now expect it to do anything necessary to prepare the inode for new data. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 92e91ce2a30b2af53ebf077512801dc01e75cca5 Author: Mark Fasheh Date: Thu Sep 20 11:19:20 2007 -0700 ocfs2: Sync ocfs2_fs.h with ocfs2-tools ocfs2-tools added some on-disk fields and flags which are used by tunefs.ocfs2. Signed-off-by: Mark Fasheh commit bddb8eb37f1460fc19e1af16010c9ad4ca3717a6 Author: Denis Cheng Date: Thu Sep 27 02:10:04 2007 +0800 [PATCH] fs/ocfs2/: removed unneeded initial value and function's return value Signed-off-by: Denis Cheng Signed-off-by: Mark Fasheh commit f01f9d59433dd9d244664c19771e078a194e7984 Author: Adrian Bunk Date: Tue Oct 2 14:38:09 2007 -0700 [SCSI] imm: fix check-after-use The Coverity checker spotted that we have already oops'ed if "cmd" was NULL. Since "cmd" being NULL doesn't seem to be possible at this point this patch removes the NULL check. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit d550071c03f129a60dfad60d23dab73f894129a9 Author: Sunil Mushran Date: Thu Sep 6 13:34:16 2007 -0700 ocfs2: Implement show_options() Implement sops->show_options() so as to allow /proc/mounts to show the mount options. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 19b613d41051296be628581e7e21b847e9eaba80 Author: Mark Fasheh Date: Thu Oct 4 14:47:09 2007 -0700 ocfs2: Clear slot map when umounting a local volume This is technically harmless (recovery will clean it out later), but leaves a bogus entry in the slot_map which really shouldn't be there. Signed-off-by: Mark Fasheh commit 015452b15ff6c2d9fa1f82f28d61e7a66e2df86a Author: Mark Fasheh Date: Wed Sep 12 10:21:22 2007 -0700 ocfs2: Remove unused structure field c_used_tail_recs in struct ocfs2_merge_ctxt is only ever set, so we can remove it. Signed-off-by: Mark Fasheh commit 518d7269f3c9129ae51d5f804edff998ab945a40 Author: Tao Mao Date: Tue Aug 28 17:25:35 2007 -0700 ocfs2: remove unused variable delete_tail_recs in ocfs2_try_to_merge_extent() was only ever set, remove it. Signed-off-by: Tao Mao Signed-off-by: Mark Fasheh commit c77534f6fb6d58e27d923b6825ea3b0ef485ab26 Author: Tao Mao Date: Tue Aug 28 17:22:33 2007 -0700 ocfs2: remove mostly unused field from insert structure ocfs2_insert_type->ins_free_records was only used in one place, and was set incorrectly in most places. We can free up some memory and lose some code by removing this. * Small warning fixup contributed by Andrew Mortom Signed-off-by: Tao Mao Signed-off-by: Mark Fasheh commit 5975f643efc39ebb762dfaf18ca6f2c95983dac0 Author: Andrew Morton Date: Tue Oct 2 14:37:59 2007 -0700 [SCSI] arcmsr: build fix drivers/scsi/arcmsr/arcmsr_hba.c:129: error: 'arcmsr_pci_error_detected' undeclared here (not in a function) drivers/scsi/arcmsr/arcmsr_hba.c:130: error: 'arcmsr_pci_slot_reset' undeclared here (not in a function) Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 774251ef64a1ad1e8b895e00d3d075cfa38d2af1 Author: Adrian Bunk Date: Tue Oct 2 14:38:01 2007 -0700 [SCSI] nsp_cs: remove kernel 2.4 code Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit a02676d4bd0a580046b087b2d2fa221173dbb312 Author: Robert P. J. Day Date: Tue Oct 2 14:38:02 2007 -0700 [SCSI] ibmmca: Remove dead references to MODULE_PARM macro Remove the useless references to the obsolete MODULE_PARM macro. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 9d511a4b29de6764931343d03e493f2e04df0271 Author: Matthew Wilcox Date: Tue Oct 2 21:55:42 2007 -0400 [SCSI] advansys: Changes to work on parisc Change PortAddr to be an unsigned int instead of an unsigned short (IO Port address are 24 bit on parisc). Fix a couple of printk argument warnings. Remove the Kconfig marking as 'BROKEN'. I haven't removed the #warning yet because virt_to_bus/bus_to_virt are only eliminated for narrow boards. Wide boards need more work. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 8f18c1316b71df76bb7076c392134864a18636c1 Author: Steve French Date: Fri Oct 12 18:54:12 2007 +0000 [CIFS] remove compile warnings when debug disabled Signed-off-by: Steve French commit d10fb2c7b5ce1b475df50cde9262d2c3fe3d296e Author: Matthew Wilcox Date: Tue Oct 2 21:55:41 2007 -0400 [SCSI] advansys: Use dma mapping for overrun buffer Convert the call to virt_to_bus() into a call to dma_map_single(). Some architectures may require different DMA addresses for different devices, so allocate one overrun buffer per host rather than one for all cards. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit b249c7fda2ca8efcbe37ace1e20a3fffac08bccb Author: Matthew Wilcox Date: Tue Oct 2 21:55:40 2007 -0400 [SCSI] advansys: Remove a couple of uses of bus_to_virt Replace ASC_VADDR_TO_U32 and ASC_U32_TO_VADDR with an auto-expanding array that maps pointers to 32-bit IDs and back. One of the uses of ASC_VADDR_TO_U32 was in error; it should have been using ADV_VADDR_TO_U32. Also replace the use of virt_to_bus when setting the sense_address with a call to dma_map_single() followed by dma_cache_sync. This part cribbed from the 53c700 driver. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 52c334e9450a15230b84ab4ef8ef7b034b37c371 Author: Matthew Wilcox Date: Tue Oct 2 21:55:39 2007 -0400 [SCSI] advansys: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori - convert the statistics to not distinguish between single and sg xfers - replace ASC_CEILING with DIV_ROUND_UP - remove an obsolete comment Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit fd625f4705977de1ad00ac3cb519ec3ee8fd8598 Author: Matthew Wilcox Date: Tue Oct 2 21:55:38 2007 -0400 [SCSI] advansys: Remove DvcGetPhyAddr This rather complex function boiled down to calling virt_to_bus(). Also get rid of some obsolete defines and variables that could never vary. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 98d41c29a4b38c5b5e8ce5e13c4f3ac852615e0b Author: Matthew Wilcox Date: Tue Oct 2 21:55:37 2007 -0400 [SCSI] advansys: Move a couple of fields from struct board to struct adv_dvc board->carrp is a duplicate of asc_dvc->carrier_buf, so cut out the middle-man and assign directly to carrier_buf. Move orig_reqp to adv_dvc too, since it's wide-board specific. Also eliminate an unnecessary BUG_ON (we'll never get there with a NULL carrier_buf, and will crash if we do). The bulk of this patch is rearranging structures so everything's declared in the right order. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit afbb68c35f4bdf0964d88e9e005e6f62ba57d134 Author: Matthew Wilcox Date: Tue Oct 2 21:55:36 2007 -0400 [SCSI] advansys: Make sdtr_period_tbl a pointer It's somewhat neater to make this a pointer to one of two tables than initialising an array in the driver. Also delete the unused AscSynIndexToPeriod and rename host_init_sdtr_index to min_sdtr_index Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 9d0e96eba19e9973a1c21ddd1fdbc049b231bf3b Author: Matthew Wilcox Date: Tue Oct 2 21:55:35 2007 -0400 [SCSI] advansys: Get rid of board index number It's always a mistake to have your own index of boards; just use the scsi host number. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit f092d2290f905b6e9928df6905f2fc9d18b6ae19 Author: Matthew Wilcox Date: Tue Oct 2 21:55:34 2007 -0400 [SCSI] advansys: Remove private lock The board lock was essentially identical with the host lock. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit b352f9237622c64afbac367cadd10d23cb4c5484 Author: Matthew Wilcox Date: Tue Oct 2 21:55:33 2007 -0400 [SCSI] advansys: Sort out debug macros Replace ASC_DBG{,1,2,3,4,5} with a single variadic macro ASC_DBG. As suggested by Jeff Garzik, include DRV_NAME and __FUNCTION__ in the output. Change all callers to no longer include the function name in the string. Enabling ADVANSYS_DEBUG to test this feature shows a lot of other problems that need to be fixed: - Reorder asc_prt_* functions now that their prototypes have been removed. - There is no longer a struct device in ASC_DVC_CFG/ADV_DVC_CFG, and it wasn't necessarily a PCI device to begin with. Print the bus_id from asc_board->dev instead. - isr_callback no longer exists. - ASC_DBG_PRT_SCSI_CMND isn't being used, so delete asc_prt_scsi_cmnd too. - A missing semicolon Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit b08fc565500a6f691edae7c5ce2e0480365f848c Author: Matthew Wilcox Date: Tue Oct 2 21:55:32 2007 -0400 [SCSI] advansys: Remove library version & serial numbers With the ASC and ADV libraries merged into the driver, there really is no point in reporting their version numbers, or even trying to maintain them. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit d24114955846c321a9e94fff4764bbef532524b2 Author: Matthew Wilcox Date: Tue Oct 2 21:55:31 2007 -0400 [SCSI] advansys: Remove asc_board_t typedef and ASC_BOARDP macro asc_board_t was simply a typedef for struct asc_board. ASC_BOARDP() can be replaced by shost_priv() except in the ASC_STATS* macros which rely on the cast; add an explicit cast there. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 720349a879d3e37f3d932bf3ca9b94ac638d59b6 Author: Matthew Wilcox Date: Tue Oct 2 21:55:30 2007 -0400 [SCSI] advansys: Merge ASC_IERR definitions There were two blocks of ASC_IERR definitions; one for narrow and one for wide boards. Some of the same names were used (with the same values), and some of the same values were used with different names. This could only lead to confusion, so I unified them in one block of definitions with no overlapping values. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit d361db483241489fc4b37cd168c2ce7940a7845b Author: Matthew Wilcox Date: Tue Oct 2 21:55:29 2007 -0400 [SCSI] advansys: Sort out irq number mess The interrupt number was being stored in 4-5 different places, each with its own type, rules and usage. Fix this by keeping an unsigned int in the struct asc_board, and filling it in from the bus probe functions (since it's different for each of the four bus types). In order to do this, we have to allocate the Scsi_Host in the bus probe functions too. Then we can return an error from advansys_board_found, which requires a little rearranging of code (and removing of the err_code variable). Move the Wide Board flag setting into the PCI bus probe function. Split the AscGetChipIRQ function into three functions (one for each bus type that needs it) and add some commentary to explain what's going on. Also get rid of the AscSetChipIRQ function as we only ever set the interrupt number to the same value it already had. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 9a256fa50e9a9d6bd03e0d6e8eddce9dca4f15f2 Author: Matthew Wilcox Date: Tue Oct 2 21:55:28 2007 -0400 [SCSI] advansys: Remove ASC_WIDE_BOARD predicate Replace it with !ASC_NARROW_BOARD Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit ae002fec6906622aa96d01f8065ef90023660a68 Author: Matthew Wilcox Date: Tue Oct 2 21:55:27 2007 -0400 [SCSI] advansys: Remove ASC_SELECT_QUEUE_DEPTHS It was only ever set; never tested, nor cleared. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 52fa07770921d9cbe815d3aff36702c88cdec978 Author: Matthew Wilcox Date: Tue Oct 2 21:55:26 2007 -0400 [SCSI] advansys: Improve reset handler - Don't need to set ASC_HOST_IN_RESET any more - Don't need to test scp->device->host for NULL -- if it's NULL, we couldn't've been called. - Use scmd_printk instead of ASC_PRINT Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 05848b6e66ee237c4496c2b49821d2622b0f677e Author: Matthew Wilcox Date: Tue Oct 2 21:55:25 2007 -0400 [SCSI] advansys: Fix simultaneous calls to ->queuecommand The narrow board used two global structures to set up a command; unfortunately they weren't locked, so with two boards in the machine, one call to queuecommand could corrupt the data being used by the other call to queuecommand. Fix this by allocating asc_scsi_q on the stack (64 bytes) and using kmalloc for the asc_sg_head (2k) Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 41d2493d3478942f891b21dff60951ff939c08d9 Author: Matthew Wilcox Date: Tue Oct 2 21:55:24 2007 -0400 [SCSI] advansys: Restructure asc_execute_scsi_cmnd() The wide and narrow boards share identical handling of the return value, except for some trivial error messages. Move the handling to the common end of the function. Also move variable declarations to the arms of the `if' that they're used in and delete some pointless comments. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 6e8905f4a028bd07190fa5b2f90b5a35868c84d8 Author: Matthew Wilcox Date: Tue Oct 2 21:55:23 2007 -0400 [SCSI] advansys: Remove array of scsi targets The driver was saving a scsi_device for each target, but wasn't doing anything useful with them. Just delete the array. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 512193588db0d38ae6aa78802bb15f3ef3104a00 Author: Matthew Wilcox Date: Tue Oct 2 21:55:22 2007 -0400 [SCSI] advansys: Eliminate prototypes Rearrange a lot of the functions in the file to get rid of all the forward declarations. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 6f5391c283d7fdcf24bf40786ea79061919d1e1d Author: Matthew Wilcox Date: Tue Sep 25 12:42:04 2007 -0400 [SCSI] Get rid of scsi_cmnd->done The ULD ->done callback moves into the scsi_driver. By moving the call to scsi_io_completion() from scsi_blk_pc_done() to scsi_finish_command(), we can eliminate the latter entirely. By returning 'good_bytes' from the ->done callback (rather than invoking scsi_io_completion()), we can stop exporting scsi_io_completion(). Also move the prototypes from sd.h to sd.c as they're all internal anyway. Rename sd_rw_intr to sd_done and rw_intr to sr_done. Inspired-by: Christoph Hellwig Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 687d2bc4877081a44c41b5b312e012cc69edda53 Author: Matthew Wilcox Date: Tue Sep 25 12:42:03 2007 -0400 [SCSI] gdth: Stop abusing ->done for internal commands The ->done member was being used to mark commands as being internal. I decided to put a magic number in ->underflow instead. I believe this to be safe as no current user of ->underflow has any of the bottom 9 bits set. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 9ec76fbf7d6da3e98070a7059699d0ca019b0c9b Author: Matthew Wilcox Date: Mon Oct 1 08:07:52 2007 -0600 [SCSI] qlogicpti: Add a slave_configure method By configuring targets in slave_configure, we can eliminate a shadow queuecommand, a shadow scsi_done, a write to the host template, abuse of SCp->Message and SCp->Status, a use of kmap_atomic() and sniffing the results of INQUIRY. Signed-off-by: Matthew Wilcox Acked-by: David S. Miller Signed-off-by: James Bottomley commit 50865c1d38e3fbe17a1843582a8e10f2dbbeb6d3 Author: Rob Landley Date: Sun Sep 30 23:23:39 2007 -0500 [SCSI] Update Documentation/scsi/00-INDEX Update Documentation/scsi/00-INDEX to match current files. Signed-off-by: Rob Landley Signed-off-by: James Bottomley commit 8bd4578e10f8f7973ae3e8dde66b7bd369b271b8 Author: Jeff Garzik Date: Sun Sep 30 10:03:17 2007 -0400 [SCSI] aic94xx: fix SSP IU status print-out The SSP response DPRINTK in asd_get_response_tasklet() was printing a hardcoded status result, rather than the status from the SSP response IU. Arguably, this should not be a DPRINTK either, since the admin might want to know about this. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit ab37128797148edb5993d98b638d668f75ee5119 Author: Eric Moore Date: Sat Sep 29 10:22:54 2007 -0600 [SCSI] mptctl : shutup uninitialized variable warnings drivers/message/fusion/mptctl.c: In function ‘mptctl_mpt_command’: drivers/message/fusion/mptctl.c:1764: warning: ‘bufIn.len’ may be used uninitialized in this function drivers/message/fusion/mptctl.c:1765: warning: ‘bufOut.len’ may be used uninitialized in this function come because gcc gets confused by some "goto" statements in above function. The warnings have been verified to be bogus, however, the function does initialize these later (after the offending goto's) in the function anyway. So let's move those initializations to top of function, thereby also shutting up these warnings. Signed-off-by: Eric Moore Signed-off-by: Satyam Sharma Signed-off-by: James Bottomley commit e1fc2b5167f9c3614099e55d3f49763a26a5a339 Author: Eric Moore Date: Sat Sep 29 10:17:49 2007 -0600 [SCSI] mptlan: bug fix, only half the message frame is dma'd resulting in corruption NB = number of blocks. This represents the number of blocks to transfer. The block size is based on the message frame size provided in the ioc_facts. A value of zero indicates the entire message frame should be copied. This is two bit value. So by setting this to non-zero vaule, you increase performance by reducing amount of data needing to be dma'd. The value that is stored in ioc->ReqeustNB is sometimes a non-zero vaule, which creates a bug in mptlan, where not the entire message frame is getting transfer to firware, resulting in corruption. This fix sets the default to zero, thus entire message frame is copied. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit c51d0beaaed902ef48ed1f3b1834d37b7ffd55e8 Author: Eric Moore Date: Sat Sep 29 10:17:21 2007 -0600 [SCSI] mpt fusion: fix up fusion prints using the sdev_printk, dev_printk, and shost_printk API Cleaning up prints that use the xxx_printk API, in that the fusion preamble "mptbase: iocX" follows the info provided by the print API. The way its currently coded, the [H:C:T] print in sdev_printk will be inbetween "mptbase" and "iocX", instead of before. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit e8206381f5842269691f3164ec0d79b7059bd710 Author: Eric Moore Date: Sat Sep 29 10:16:53 2007 -0600 [SCSI] mpt fusion: lock down ScsiLookup ScsiLookup is an array of pending scmd pointers that the scsi lld maintains. This array is touched from queuecommand, eh threads, and interrupt context. This array should put under locks, hence this patch to synchronize its access. I've added some nice little function wrappers for this, and moved the ScsiLookup array over to MPT_ADAPTER struct. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit bc6e089a13a5c0ac36247616baecd6fc77405e7f Author: Eric Moore Date: Sat Sep 29 10:16:28 2007 -0600 [SCSI] mpt fusion: Fix sparse warnings List below is output from C=2 sparse compilation, which are fixed with this patch. 1) mptspi: pg0 is defined in x86 version of include/asm/pgtable.h 2) mptsas: context imbalance in 'mptsas_probe' different lock contexts for basic block 3) mptbase: from mpt_attach - cast adds address space to expression 4) mptbase: from mpt_do_upload - request[] is bad constant expression Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit e7eae9f6e94cd49261c2997b0b4f768c1351bc02 Author: Eric Moore Date: Sat Sep 29 10:15:59 2007 -0600 [SCSI] mpt fusion: add use of shost_priv and remove all the typecasting The driver is currently typecasting to obtain the shost hostdata. The driver is updated to use the shost_priv macro. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit cce99c6925b8d6a59cf584411277c1c20c330334 Author: Matthew Wilcox Date: Tue Sep 25 12:42:01 2007 -0400 [SCSI] Fix mistaken uses of ->done All these drivers meant to call ->scsi_done() but got confused. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 1d0c7c8dcf289557f13b6b0f6d71b6a03b12b747 Author: Matthew Wilcox Date: Tue Sep 25 12:42:02 2007 -0400 [SCSI] pluto: Don't abuse ->done for internal commands We can simply call the internal done function directly Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 311b581e1d87be87f78e6e17fc50f468f2dec561 Author: James Bottomley Date: Sun Sep 23 09:08:46 2007 -0500 [SCSI] Fix device not ready printk Because scsi_print_sense_hdr prefixes with KERN_INFO, the output from scsi_io_completion looks like: sd 0:0:0:0: [sdb] Device not ready: <6>: Sense Key : 0x2 [current] : ASC=0x4 ASCQ=0x3 By using scsi_show_sense_hdr, we can get the much more appealing output: sd 0:0:0:0: [sdb] Device not ready: Sense Key : 0x2 [current] sd 0:0:0:0: [sdb] Device not ready: ASC=0x4 ASCQ=0x3 Acked-by: Matthew Wilcox Signed-off-by: James Bottomley commit 12a441622b753684cc73d1c6f225e9ac53e0bf77 Author: Matthew Wilcox Date: Tue Sep 18 19:54:43 2007 -0600 [SCSI] Remove ->pid field from scsi_cmnd The pid field is a duplicate of the serial_number field and has been scheduled for removal for a long time. A few drivers were still using it, so just change them to use serial_number instead. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 13ba9bcbfd6741e4c01ac5a505888b7b3a6d99da Author: Kay Sievers Date: Wed Sep 26 19:54:49 2007 +0200 [SCSI] fix scsi_is_sdev_device() after switch to default sdev attributes Signed-off-by: Kay Sievers Signed-off-by: James Bottomley commit 8c8fdc591057956c2ecbba1371a48b8857fe6d9d Author: Bernhard Walle Date: Sat Sep 22 21:55:19 2007 +0200 [SCSI] ips: Update version information This patch just makes the version number in ips.c and ips.h consistent. It seems that this has been forgotten in a60768e2d43eb30a1adb8a119aeac35dc0d03ef6. It also removes code duplication, each number is now only once in the code to avoid similar errors in the future. Signed-off-by: Bernhard Walle Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit a50ee7a72888d072512e4434c44959743bfb1570 Author: Matthew Wilcox Date: Wed Aug 15 12:57:00 2007 -0600 [SCSI] ips: Close narrow race in release We were releasing the IRQ before removing the host, so commands could still be coming in which would never be seen by the interrupt handler. Just remove the host before releasing the IRQ to close this race. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit f01abb362f878b8e2de69c03662d8e7f3ae1d6f8 Author: Matthew Wilcox Date: Wed Aug 15 12:56:55 2007 -0600 [SCSI] aic94xx: Free scsi host on error If an error occurred during initialisation, we would sometimes fail to call scsi_host_put() and thus end up with a leaked scsi_host. It was also possible to miss calling scsi_remove_host(). Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit a60ebc52cbfafc291c6b0b89e41ecaf3685c8e2a Author: Matthew Wilcox Date: Wed Aug 15 12:56:54 2007 -0600 [SCSI] simscsi: Free scsi host on error If scsi_add_host returned an error, the host would never be freed. We need to call scsi_host_put() if an error happens. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit c131993b4cbfb6d564619e609b3d0b471ec52c5d Author: Matthew Wilcox Date: Wed Aug 15 12:56:59 2007 -0600 [SCSI] qlogicfas: Close narrow race in release We were releasing the IRQ before removing the host, so commands could still be coming in which would never be seen by the interrupt handler. Just remove the host before releasing the IRQ to close this race. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 1bd405734651c9ebd1c872a452614f9fe381c673 Author: Matthew Wilcox Date: Wed Aug 15 12:56:57 2007 -0600 [SCSI] aha152x: Close narrow race in release We were releasing the IRQ before removing the host, so commands could still be coming in which would never be seen by the interrupt handler. Just remove the host before releasing the IRQ to close this race. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit dffe807cdbc6d2409b9bcc87a9517bb7c0d25b65 Author: Matthew Wilcox Date: Wed Aug 15 12:56:56 2007 -0600 [SCSI] ncr53c8xx: Call scsi_host_put in release Since ncr53c8xx_attach() calls scsi_host_put(), make ncr53c8xx_release() call scsi_host_put() too, for symmetry. Both callers already expect it to put the host for them, so that works out nicely. While the zalon driver does 'use' the host pointer afterwards, it only compares it for equality and doesn't dereference it, so that's safe. While I'm at it, get rid of pointless checks for NULL, use shost_priv() and change ncr53c8xx_release to return void. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 6fdea8dbbe4fc021afb601ef5339d5c5825c5cb6 Author: Matthew Wilcox Date: Wed Aug 15 12:57:01 2007 -0600 [SCSI] ide-scsi: Close narrow race in release We were releasing the block devices before removing the host, so commands could still be coming in which would cause a panic. Just remove the host before releasing the block devices to close this race. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 34f8f0d294423a7e2ef84a741890b1bfa317aa4e Author: Matthew Wilcox Date: Wed Aug 15 12:56:58 2007 -0600 [SCSI] ibmmca: Stop leaking scsi_hosts on exit There was a missing call to scsi_host_put() causing us to leak a scsi host every time this module was unloaded. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit a57b1fccdfa65b78481f5e651833d979e545de04 Author: Matthew Wilcox Date: Mon Aug 20 09:18:48 2007 -0600 [SCSI] scsi_scan: Cope with kthread_run failing If kthread_run failed, we would fail to scan the host, and leak the allocated async_scan_data. Since using a separate thread is just an optimisation, do the scan synchronously if we fail to spawn a thread. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 31765d7d3da9bb575f80faecae0b931afa3532c6 Author: Matthew Wilcox Date: Fri Aug 17 11:02:10 2007 -0600 [SCSI] Improve error message when offlining a device The current code prints: scsi 13:0:4:0: scsi: Device offlined - not ready after error recovery which is repetitively redundant. This patch changes that message to: scsi 6:0:6:0: Device offlined - not ready after error recovery Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 7c07d613d22680f1caf2bd9ee49838ec7730b9da Author: James Bottomley Date: Sun Aug 5 13:36:11 2007 -0500 [SCSI] sg: use idr to replace static arrays sg uses a scheme to reallocate a single contiguous array of all its pointers for lookup and management. This didn't matter too much when sg could only attach 256 nodes, but now the maximum has been bumped up to 32k we're starting to push the limits of the maximum allocatable contiguous memory. The solution to this is to eliminate the static array and do everything via idr, which this patch does. Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 4390e60163979621f59e3a25a260289986eacb85 Author: Matthias Kaehlcke Date: Fri Aug 10 14:50:44 2007 -0700 [SCSI] osst: Use mutex instead of semaphore The OnStream SCSI Tape driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Reviewed-by: Satyam Sharma Signed-off-by: Andrew Morton Acked-by: Willem Riede Signed-off-by: James Bottomley commit 488a5c8a9a3b67ae117784cd0d73bef53a73d57d Author: Jeff Garzik Date: Fri Jul 27 13:01:15 2007 -0400 [SCSI] arcmsr: irq handler fixes, cleanups, micro-opts * Remove IRQF_DISABLED, it is clearly wrong for this driver. * Remove wasteful spin_lock_irqsave() in interrupt handler. The lighter-weight spin_lock() is all that's needed. * Annotate with FIXME where arcmsr_interrupt() is called without any spinlock being acquired. * Eliminate pointless cast from void pointer in arcmsr_do_interrupt() [jejb: conflict resolution] Signed-off-by: Jeff Garzik Acked-by: Nick Cheng Signed-off-by: James Bottomley commit 24430458bb924e371ff894e26bfa9f73707f53fb Author: Jeff Garzik Date: Fri Jul 27 13:00:48 2007 -0400 [SCSI] arcmsr: Fix hardware wait loops Remove _interruptible, since receiving a signal while waiting on a hardware condition will simply cause the driver to busy-wait. Using msleep_interruptible() is rarely the right thing to do, when waiting on a hardware condition to change. Also, replace msleep with ssleep while doing this, where appropriate. [jejb: fix up merge conflict] Signed-off-by: Jeff Garzik Acked-by: Nick Cheng Signed-off-by: James Bottomley commit 095862ab982a56fb4ea237420bb8fcf1393ca287 Author: Andrew Vasquez Date: Thu Sep 20 14:07:50 2007 -0700 [SCSI] qla2xxx: Update version number to 8.02.00-k4. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 39bd962269f0f10ba890aea4769693f8f9a3cb47 Author: Andrew Vasquez Date: Thu Sep 20 14:07:34 2007 -0700 [SCSI] qla2xxx: Limit iIDMA speed adjustments. Do not adjust the iIDMA speed on ports which have a faster link-speed than the HBA itself. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 87f27015b8d9f19d6de295e2316cff7960c9950b Author: Andrew Vasquez Date: Thu Sep 20 14:07:49 2007 -0700 [SCSI] qla2xxx: Rework MSI-X handlers. Since MSI-X vectors do not require a clearing "handshake" from the system perspective, and the registered handler will not be called more than once for one occurrence of receipt of a vector, there is no requirement to flush the risc register write clearing the interrupt condition in the risc. Also, since the msi-x registered handlers are optimised for a particular vector, it is preferable to handle the one vector received per invocation of the handler. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 8b3253d10f1c7910c96d4acad4ef490f30799b21 Author: Andrew Vasquez Date: Thu Sep 20 14:07:48 2007 -0700 [SCSI] qla2xxx: Clear options-flags while staging firmware-execution. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 26ff776d1dd9147eb658c55f1df42c2c232036b5 Author: Andrew Vasquez Date: Thu Sep 20 14:07:47 2007 -0700 [SCSI] qla2xxx: Sparse cleanups in qla_mid.c Make several needlessly global functions static: - qla2x00_mark_vp_devices_dead() - qla24xx_configure_vp() Remove unused function qla24xx_modify_vport(). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 700ca0e7016008f65f75c2629e309fc03347c856 Author: Andrew Vasquez Date: Thu Sep 20 14:07:46 2007 -0700 [SCSI] qla2xxx: Cleanup several 'sparse' warnings. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit f363b9434a464e72927b468ba33cb548f482669f Author: Andrew Vasquez Date: Thu Sep 20 14:07:45 2007 -0700 [SCSI] qla2xxx: Use shost_priv(). Drop usage of legacy to_qla_host() macro. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e745759a0f662992327537be4ec01d9a43542fc4 Author: Andrew Vasquez Date: Thu Sep 20 14:07:44 2007 -0700 [SCSI] qla2xxx: Remove unused member (list) from srb_t structure. This change reduces by as much as 16% the memory footprint for each allocated sbr_t structure requested from the mempool. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 4d0ea24769c81581b8fd25fd7deff281b1b97dee Author: Seokmann Ju Date: Thu Sep 20 14:07:43 2007 -0700 [SCSI] qla2xxx: Retrieve max-NPIV support capabilities from FW. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c45bcc8e771fa152ed540b8cb2ac8022280173bd Author: Andrew Vasquez Date: Thu Sep 20 14:07:42 2007 -0700 [SCSI] qla2xxx: Use the correct pointer-address during NVRAM writes. Original code, incorrectly passed the address-of a pointer rather than the pointer value itself. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 8a85e17152e8fb5f04a4791416a4642b260b95cb Author: Andrew Vasquez Date: Thu Sep 20 14:07:41 2007 -0700 [SCSI] qla2xxx: Set correct attribute count during FDMI RPA. Also remove legacy '/proc' name during OS_DEVICE_NAME registration. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 63a8651f2548c6bb5132c0b4e7dad4f57a9274db Author: Ravi Anand Date: Thu Sep 20 14:07:40 2007 -0700 [SCSI] qla2xxx: Correct infinite-login-retry issue. Where the DPC logic would get jammed into continuously reloging-into a port. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit b58369273956775c3e8b7bbbe152593d52762099 Author: Andrew Vasquez Date: Thu Sep 20 14:07:39 2007 -0700 [SCSI] qla2xxx: Query additional RISC registers during ISP25XX firmware dump. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c3b058afaea11273835f59694f8645a89915be9c Author: Andrew Vasquez Date: Thu Sep 20 14:07:38 2007 -0700 [SCSI] qla2xxx: Correct staging of RISC while attempting to pause. There's no need to reset the RISC prior to pausing. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 05236a050f8e3a20962bad98ad8ceb94bbdb748c Author: Andrew Vasquez Date: Thu Sep 20 14:07:37 2007 -0700 [SCSI] qla2xxx: Query additional RISC information during a pause. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 14e660e677ddd3574247495aae4ef63eb8899072 Author: Seokmann Ju Date: Thu Sep 20 14:07:36 2007 -0700 [SCSI] qla2xxx: Add PCI error recovery support. Additional cleanups and Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit b7cc176c9eb3aa6989ac099efd8bdd6d0eaa784a Author: Joe Carnuccio Date: Thu Sep 20 14:07:35 2007 -0700 [SCSI] qla2xxx: Allow region-based flash-part accesses. Additional cleanups and Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 338c9161e406591afbc1a6635a68d3b6d5362e00 Author: Andrew Vasquez Date: Thu Sep 20 14:07:33 2007 -0700 [SCSI] qla2xxx: Add flash burst-read/write support. Newer ISPs support a mechanism to read and write flash-memory via the firmware LOAD/DUMP memory mailbox command routines. When supported, utilizing these mechanisms significantly reduces overall access times. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c81d04c9e27966c0e4c5650d130f209bff9671f9 Author: Andrew Vasquez Date: Thu Jul 26 11:41:13 2007 -0700 [SCSI] qla2xxx: Collapse and simplify ISP2XXX firmware dump routines. Add IO-base-window accessor functions. Merge duplicate RISC-pause and soft-reset code segments. Drop 'eye-watering' __iomem casting. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7f9a6bc4e9d59e7fcf03ed23f60cd81ca5d80b65 Author: James Bottomley Date: Sat Aug 4 10:06:25 2007 -0500 [SCSI] move ULD attachment into the prep function One of the intents of the block prep function was to allow ULDs to use it for preprocessing. The original SCSI model was to have a single prep function and add a pointer indirect filter to build the necessary commands. This patch reverses that, does away with the init_command field of the scsi_driver structure and makes ULDs attach directly to the prep function instead. The value is really that it allows us to begin to separate the ULDs from the SCSI mid layer (as long as they don't use any core functions---which is hard at the moment---a ULD doesn't even need SCSI to bind). Acked-by: Jens Axboe Signed-off-by: James Bottomley commit d3849d512fb0ca1e369e3efcaec910a949f55f62 Author: David Woodhouse Date: Sat Sep 22 08:29:36 2007 +1000 [SCSI] Fix ibmvscsi client for multiplatform iSeries+pSeries kernel If you build a multiplatform kernel for iSeries and pSeries, with ibmvscsic support, the resulting client doesn't work on iSeries. This fixes that, using the appropriate low-level operations for the machine detected at runtime. [jejb: fixed up rejections around the srp transport patch] Signed-off-by: David Woodhouse Acked by: Brian King Signed-off-by: Paul Mackerras Signed-off-by: James Bottomley commit 5307b1e8b050f309901acc9c6121061206a70ba5 Author: Alan Cox Date: Thu Sep 20 15:12:11 2007 +0100 [SCSI] dtc: Fix typo (and pointed out by several people) Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit 1a1d641490e59b6d71e3a4b38616161ee6738aac Author: Alan Cox Date: Thu Sep 20 15:15:27 2007 +0100 [SCSI] eata_pio: Clean up proc handling, bracketing and use cpu_relax() So its ancient, its crap, but it kept showing up in my scans for stuff that wanted fixing... - Redo the proc code to be far cleaner - Clean various return (0) type constructs - Use cpu_relax() The various waits ought to time out but thats another issue and probably not worth solving. Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit f72abc2110dc07892ed815f46e433cd97309ab7c Author: Bartlomiej Zolnierkiewicz Date: Wed Sep 19 22:08:56 2007 +0200 [SCSI] MAINTAINERS: mark ide-scsi as Orphan Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: James Bottomley commit 10f4b89a0f0586a67f57efb2f5d12fffbb371490 Author: Masatake YAMATO Date: Wed Sep 19 22:59:16 2007 +0900 [SCSI] Fix signness of parameters in scsi module In scsi module I've found some inconsistency between variable type used in module_param_named and type passed to module_param_named as an argument. Especially the inconsistency of `max_scsi_luns' parameter is a bit serious because the description text says "last scsi LUN (should be between 1 and 2^32-1)". Signed-off-by: Masatake YAMATO Acked-by: Randy Dunlap Signed-off-by: James Bottomley commit 427d0bd4fde60f40e9518817d826e48c05262a98 Author: Boaz Harrosh Date: Tue Sep 18 12:27:43 2007 +0200 [SCSI] ide-scsi.: convert to data accessors and !use_sg cleanup - Convert ide-scsi to the new data accessors and cleanup the !use_sg code paths. In old code the driver was trying to translate narrow commands, if received, to wide commands. This code path still assumed scsi_cmnd->request_buffer is a linear char pointer. This means that this driver was broken since 2.6.17. As suggested by Christoph Hellwig I set use_10_for_rw = 1; and use_10_for_ms = 1; for this device and completely killed the translation. Signed-off-by: Boaz Harrosh Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: James Bottomley commit 52aeeca9001d1b4037a8e5d0c001ebb5fdc61b37 Author: Michael Reed Date: Mon Sep 17 15:11:39 2007 -0700 [SCSI] stale residual returned on write following BUSY retry A BUSY status returned on a write request results in a stale residual being returned when the write ultimately successfully completes. This can be reproduced as follows: 1) issue immediate mode rewind to scsi tape drive 2) issue write request The tape drive returns busy. The low level driver detects underrun and sets the residual into the scsi command. The low level driver responds with (DID_OK << 16) | scsi_status. scsi_status is 8, hence status_byte(result) == 4, i.e., BUSY. scsi_softirq_done() calls scsi_decide_disposition() which returns ADD_TO_MLQUEUE. scsi_softirq_done() then calls scsi_queue_insert() which, on the way to resubmitting the request to the driver, calls scsi_init_cmd_errh(). The attached patch modifies scsi_init_cmd_errh() to clear the resid field. This prevents a "stale" residual from being returned when the scsi command finally completes without a BUSY status. Signed-off-by: Michael Reed Signed-off-by: James Bottomley commit cec744fb2b78e9dcd377a6740f2de05227c7faef Author: Eric Moore Date: Fri Sep 14 19:08:08 2007 -0600 [SCSI] MAINTAINERS : mpt fusion mailing list change Mailing list changed. The former list at mpt_linux_developer@lsi.com is no longer in service. Please use the new email provided listed in this patch. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 2b83224749e5851469b639d27e13e70621d958a4 Author: Eric Moore Date: Fri Sep 14 18:52:28 2007 -0600 [SCSI] mpt fusion: bump version to 3.04.06 bump version Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 448f09e618ab82ad90f01a04eae7f04f2985138f Author: Eric Moore Date: Fri Sep 14 18:50:49 2007 -0600 [SCSI] mpt fusion: Kconfig cleanup Adding 949X, 949E, and 1078 to Kconfig. Adding "depends on FUSION" required in the FUSION_LOGGING section, and fixing a spelling error. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 50847ed8bc3d108d923bb8b6793f453a15af3c3f Author: Eric Moore Date: Fri Sep 14 18:49:53 2007 -0600 [SCSI] mpt fusion: removing Dell copyright Some other vender has concerns over this copyright, and Dell has approved removing it. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit e80b002bfd38263117da93feb4f67f5cf7d9221b Author: Eric Moore Date: Fri Sep 14 18:49:03 2007 -0600 [SCSI] mpt fusion: removing references to hd->ioc Cleaning up code by accesing the ioc pointer directly instead of via hd->ioc. In the future, most data members of struct MPT_SCSI_HOST will be either deleted or moved to struct MPT_ADAPTER. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit a69de507aae293e32d22e873f34f25f49b2db3b2 Author: Eric Moore Date: Fri Sep 14 18:48:19 2007 -0600 [SCSI] mpt fusion: rename vdev to vdevice common naming of vdevice through out driver Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 8d6d83e90b874b0d6027d2bbf1d8c76dbf26e931 Author: Eric Moore Date: Fri Sep 14 18:47:40 2007 -0600 [SCSI] mpt fusion: adding/removing white space cleaning up some white space that was introduce in a recent "cb_idx int to u8" patch. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 29dd3609f2fc70e02ce48123485b14d9417b834f Author: Eric Moore Date: Fri Sep 14 18:46:51 2007 -0600 [SCSI] mpt fusion: standardize printks and debug info Standardize all prints using common MYIOC_s_XXX_FMT macro defined in mptbase.h. Currently the driver uses several different methods to display info, where in some cases the "controller name" generating the printk is not provided. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 685b9e02fb77c6f33319ca59c52ae67e92fb750c Author: James Bottomley Date: Sat Sep 15 11:41:53 2007 -0500 [SCSI] arcmsr: fix compile problems CC [M] drivers/scsi/arcmsr/arcmsr_hba.o drivers/scsi/arcmsr/arcmsr_attr.c:186: warning: initialization from incompatible pointer type drivers/scsi/arcmsr/arcmsr_attr.c:196: warning: initialization from incompatible pointer type drivers/scsi/arcmsr/arcmsr_attr.c:206: warning: initialization from incompatible pointer type drivers/scsi/arcmsr/arcmsr_hba.c: In function 'arcmsr_alloc_ccb_pool': drivers/scsi/arcmsr/arcmsr_hba.c:329: warning: assignment from incompatible pointer type drivers/scsi/arcmsr/arcmsr_hba.c: At top level: drivers/scsi/arcmsr/arcmsr_hba.c:101: warning: 'arcmsr_pci_error_detected' declared 'static' but never defined drivers/scsi/arcmsr/arcmsr_hba.c:102: warning: 'arcmsr_pci_slot_reset' declared 'static' but never defined The majority being incorrect casting or the fact that binary attributes now take an additional argument. Cc: Nick Cheng Signed-off-by: James Bottomley commit 1a4f550a09f89e3a15eff1971bc9db977571b9f6 Author: Nick Cheng Date: Thu Sep 13 17:26:40 2007 +0800 [SCSI] arcmsr: 1.20.00.15: add SATA RAID plus other fixes Description: ** support ARC1200/1201/1202 SATA RAID adapter, which is named ACB_ADAPTER_TYPE_B ** modify the arcmsr_pci_slot_reset function ** modify the arcmsr_pci_ers_disconnect_forepart function ** modify the arcmsr_pci_ers_need_reset_forepart function  Signed-off-by: Nick Cheng Signed-off-by: James Bottomley commit bfd129445f23c037d9a440ebfa4109e11c220301 Author: Kay Sievers Date: Tue Sep 11 17:00:14 2007 +0200 [SCSI] switch sdev sysfs attributes to default attributes This removes the unused sysfs attribute overwriting logic for most of the attributes, and plugs them into the driver core default attribute creation. Without this patch, at the time of the events for the SCSI LUN's, there will be no sysfs files, because their creation is delayed until the sd driver has spun up the disks, which might take several seconds. It is the last WAIT_FOR_SYSFS rule in the default udev setup which can be removed with this change. Signed-off-by: Kay Sievers Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 01fbfe0b8359695a3ff7f4b79ab1e0a777f10ae4 Author: Matthew Wilcox Date: Sun Sep 9 08:56:40 2007 -0600 [SCSI] advansys: Use DRV_NAME Follow the example of some other drivers by defining DRV_NAME to be "advansys". Prevents spelling mistakes. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 95c9f16284960f579205d7da8b5d90e2f3bf44a7 Author: Matthew Wilcox Date: Sun Sep 9 08:56:39 2007 -0600 [SCSI] advansys: Comment/indentation/macro cleanup - Delete comments relating to the previous structure of the driver. I have no intention of honouring them ;-) - Reformat comments > 80 columns - Remove now-obsolete comments from advansys_interrupt - Change adv_get_sglist() from do {} while (1) to for (;;) - Return void from AscInitQLinkVar() - Take out a level of indentation in adv_get_sglist() - Reduce indentation level of AscAsyncFix() - Remove unused macros - Refactor AscSendScsiQueue slightly Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit b009bef6cd2c6c2b870088d9ae67dbc4ec2ca317 Author: Matthew Wilcox Date: Sun Sep 9 08:56:38 2007 -0600 [SCSI] advansys: Remove some custom wrappers - Replace ASC_ASSERT() with BUG_ON(). In a few places, get rid of the assertion altogether -- the ensuing crash will tell us all we need to know. Use BUG() where it fits better than BUG_ON(). Also fix a fencepost error in advansys_proc_info(). - Replace DvcSleepMilliSecond with mdelay. Despite its name using 'sleep', the implementation was a delay. I've marked some places with XXX where we should probably be using msleep instead. They need to be audited to be sure we can sleep in that context. - Replace DvcDelayMicroSecond with udelay. - Replace DvcDelayNanoSecond with udelay too. All callers were multiples of 1000. - Remove DvcEnterCritical and DvcLeaveCritical. These functions are no-ops, and as the comments said, the spinlock protects the critical sections. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit faac48ecf475c8e214190dabe600585e0bd4f455 Author: Matthew Wilcox Date: Sun Sep 9 08:56:37 2007 -0600 [SCSI] advansys: Remove a check for an impossible condition AscExeScsiQueue() has one caller, and it passes the address of a variable; this cannot ever be NULL. This is the only place that ever sets ASCQ_ERR_SCSIQ_NULL_PTR, so delete that error code too, as well as several other unused ASCQ_ERR codes. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit f05ec594fed6890d38bb8767676f626a4035ba55 Author: Matthew Wilcox Date: Sun Sep 9 08:56:36 2007 -0600 [SCSI] advansys: Support 16-byte commands properly The SCSI midlayer won't send commands greater than ->max_cmd_len. So the checks on length in asc_build_req and adv_build_req are obsolete and can be deleted, but also we have to set the max_cmd_len in advansys_board_found(). Also move the length definitions together, and write a helpful comment. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit b2a7a4ba0497f73295e3f4d20a8cedb1e3d2b1a7 Author: Matthew Wilcox Date: Sun Sep 9 08:56:35 2007 -0600 [SCSI] advansys: Enable interrupts earlier in queuecommand Move as much as possible outside the critical section in queuecommand, eg: - Set the scsi_done field before acquiring the lock - Call asc_scsi_done after dropping the lock Also remove a comment suggesting we should enable interrupts (now we do) and do some minor reformatting for readability. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 349d2c44291d922614a273e9a4e6b43ee17c103d Author: Matthew Wilcox Date: Sun Sep 9 08:56:34 2007 -0600 [SCSI] advansys: Remove `active' queue and all remaining internal queueing code The `active' list was used in the reset handler -- but the midlayer guarantees that list is empty by the time the reset handler is invoked. It was also checked in the interrupt routines to be sure that this command belonged to this board, but we don't need to check that either. We can then delete the asc_prt_target_stats() function as it will never print anything, along with asc_enqueue(), asc_dequeue_list(), asc_rmqueue(), asc_scsi_done_list(), struct asc_queue, ASC_QUEUE_EMPTY, ASC_TID_ALL, ASC_FRONT, ASC_BACK, and all the REQ* macros. Also remove this item from the todo list. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 6ed1ef0786094f06d2462aeeb6ad7bf9f5f9fc18 Author: Matthew Wilcox Date: Sun Sep 9 08:56:33 2007 -0600 [SCSI] advansys: Remove `done' queue - Move the guts of asc_scsi_done_list() into a new function, asc_scsi_done. - Call asc_scsi_done() in asc_isr_callback() and adv_isr_callback(). The comment was wrong; scsi_done cannot enable interrupts. - All other places which queued an scp on the done list are error paths for queuecommand, and so we can just call asc_scsi_done() in queuecommand if we receive an error. - We no longer need to keep a list of done requests in advansys_interrupt Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 7686f02aa8a380b3b0322179090f3c83ee4df977 Author: Matthew Wilcox Date: Sun Sep 9 08:56:32 2007 -0600 [SCSI] advansys: Remove a check for an impossible condition The midlayer guarantees it won't call ->queuecommand for a host which is handling a reset condition. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit b66229258f88a06ecdb8998066861b3ad8ad6a2a Author: Matthew Wilcox Date: Sun Sep 9 08:56:31 2007 -0600 [SCSI] advansys: Remove `waiting' queue If the adapter is busy, return the request to the midlayer rather than queueing it in the driver. asc_execute_queue() and asc_dequeue() become unused, and we don't need to print out stats on the waiting queue any more. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit c2dce2fabc7f0b559e920890d13e7b8ecfc91e13 Author: Matthew Wilcox Date: Sun Sep 9 08:56:30 2007 -0600 [SCSI] advansys: Shrink advansys_board_found a little more Move the error reporting into AscInitGetConfig, AdvInitGetConfig and AscInitSetConfig. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 629d688d5c3805194b311ad6dcd6f0e90a924ca6 Author: Matthew Wilcox Date: Sun Sep 9 08:56:29 2007 -0600 [SCSI] advansys: Reformat microcode It's just data, so format it to something that looks more visually appealing (and saves some lines) Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit b9d9661400dde3fb2027f5da8db600c66d0f876b Author: Matthew Wilcox Date: Sun Sep 9 08:56:28 2007 -0600 [SCSI] advansys: Create AdvLoadMicrocode Split AdvLoadMicrocode out of AdvInitAsc3550Driver, AdvInitAsc38C0800Driver and AdvInitAsc38C1600Driver. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit a9f4a59a949c5de6313dcf4ebe2f91448c008a37 Author: Matthew Wilcox Date: Sun Sep 9 08:56:27 2007 -0600 [SCSI] advansys: Create AdvBuildCarrierFreelist Split AdvBuildCarrierFreelist out of AdvInitAsc3550Driver, AdvInitAsc38C0800Driver and AdvInitAsc38C1600Driver. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit b8e5152bf107d7b1b982e682b00a426b515bf15f Author: Matthew Wilcox Date: Sun Sep 9 08:56:26 2007 -0600 [SCSI] advansys: Fix VLB driver name You can't have two drivers for the same bus type with the same name. Since ISA and VLB are both isa_drivers, rename the VLB one to advansys_vlb. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 41fa2adabc0a750a40d6fe86d5ce2f75fb3ad287 Author: Swen Schillig Date: Fri Sep 7 09:15:31 2007 +0200 [SCSI] zfcp: whitespace cleanup Cleanup the whitepace from the entire zfcp driver to prevent to have those changes in future feature or function patches. Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 82d1ce505d1a77a03acb9d22240ef5a63a18b653 Author: Mariusz Kozlowski Date: Fri Aug 10 14:50:53 2007 -0700 [SCSI] mpt fusion: remove redundant memset alloc_fcdev() calls alloc_netdev() which uses kzalloc to alloc all the memory together with dev->priv region hence no zeroing of structs inside struct mpt_lan_priv needed. Signed-off-by: Mariusz Kozlowski Acked-by: "Moore, Eric Dean" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 568761955ad01c6d238d8b12d21a554c1226a37b Author: Jesper Juhl Date: Fri Aug 10 14:50:51 2007 -0700 [SCSI] mpt fusion: fix two potential mem leaks The Coverity checker spotted two potential memory leaks in drivers/message/fusion/mptbase.c::mpt_attach(). There are two returns that may leak the storage allocated for 'ioc' (sizeof(MPT_ADAPTER) bytes). A simple fix would be to simply add two kfree() calls before the return statements, but a better fix (that this patch implements) is to reorder the code so that if we hit the first return condition we don't have to do the allocation at all and then just add a kfree() call for the second case. Signed-off-by: Jesper Juhl Acked-by: "Moore, Eric Dean" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit d7383a234626b58dc6bc210ed806a6911c1f44e1 Author: Mariusz Kozlowski Date: Fri Aug 10 14:50:50 2007 -0700 [SCSI] mpt fusion: mostly kmalloc + memset conversion to kzalloc This patch does kmalloc + memset conversion to kzalloc anSigned-off-by: Mariusz Kozlowski d simplifies mptctl_probe(). drivers/message/fusion/mptctl.c | 82092 -> 81884 (-208 bytes) drivers/message/fusion/mptctl.o | 201784 -> 200648 (-1136 bytes) Signed-off-by: Mariusz Kozlowski Acked-by: "Moore, Eric Dean" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 1d9a3d06511751f02d9767de3e4d28d4dafc63b3 Author: Jan Engelhardt Date: Fri Aug 10 14:50:37 2007 -0700 [SCSI] mpt fusion: Use menuconfig objects Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Acked-by: "Moore, Eric Dean" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 72e39ea7e03d0685945d177dc8cb8fe633ca9400 Author: FUJITA Tomonori Date: Sat Sep 1 02:03:39 2007 +0900 [SCSI] srp_transport: convert to use supported_mode attribute srp transport works for target drivers without supported_mode attribute but it would be better to use it explicitly. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 7525236d0bc7ad17eb5e0733417896cab745d6c8 Author: FUJITA Tomonori Date: Sat Sep 1 02:02:27 2007 +0900 [SCSI] fc_transport: add target driver support This adds minimum target driver support like the srp transport does: - fc_remote_port_{rolechg,delete} calls scsi_tgt_it_nexus_{create,destroy} for target drivers. - add callbacks to notify target drivers of the nexus and tmf operation results to fc_function_template. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5dc2b89e124251662f580f4ba3c9f6195d1eaff6 Author: FUJITA Tomonori Date: Sat Sep 1 02:02:20 2007 +0900 [SCSI] add supported_mode and active_mode attributes to the host This adds supported_mode and active_mode attributes to /sys/class/sys_host/hostX/ for specifying the mode that a lld supports and the currently activated mode. The output format is similar to fc rport roles: luce:/sys/class/scsi_host/host0$ cat supported_mode Initiator luce:/sys/class/scsi_host/host0$ cat active_mode Initiator The mode values uses bitmap since we would support dual-mode llds in the future like this: luce:/sys/class/scsi_host/host0$ cat supported_mode Initiator, Target The supported_mode attribute looks at a scsi_host_template and the active_mode attribute looks at a scsi_host. We would add a hook to a scsi_host_template to change the active_mode attribute dynamically. But now there is no hook since no lld supports that feature. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 8184fe9b6e8928c8d5be3e2a1326b8b9183e409d Author: FUJITA Tomonori Date: Sat Sep 1 02:02:16 2007 +0900 [SCSI] tgt: fix can_queue bug should use host->can_queue instead of host->hostt->can_queue. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit f9755bea9c44aaeae4d7f76e0cd86dfbbd5dfe12 Author: Gilbert Wu Date: Wed Sep 5 16:04:29 2007 -0700 [SCSI] aic94xx: Add new PCI ID for ASC58300 Add new HBA PCI ID (0x416) for ASC58300 which has eight port SAS and SATA PCI-X 133MHz low profile host bus adapter with two mini SAS 4x external connectors. Signed-off-by: Gilbert Wu Signed-off-by: James Bottomley commit c0d9a413a59024e27298c39c2df30eb6076437b8 Author: Salyzyn, Mark Date: Tue Sep 4 12:55:47 2007 -0400 [SCSI] aacraid: Add documentation for new Adaptec, SMC and SUN cards Add the SMC LP, SUN EM and Adaptec 5405 cards to the aacraid documentation list of supported products. These cards are picked up with family match, so no associated code changes. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit db9b6e89ea8dc3f32dea1125c672de1a9710be7c Author: HighPoint Linux Team Date: Thu Aug 30 18:06:21 2007 +0800 [SCSI] hptiop: adding new firmware interface and more PCI device IDs updated patch based on Jeff Garzik's comments. - check adapter firmware version and use appropriate interface accordingly - add new PCI device IDs and use PCI_VDEVICE macro - update driver version string - remove unused data structures - remove unnecessary typecasts Signed-off-by: HighPoint Linux Team Signed-off-by: James Bottomley commit ff17a29d3cd9819a0977a07047e8f54e57dca7ce Author: Christof Schmitt Date: Tue Aug 28 09:31:41 2007 +0200 [SCSI] zfcp: Enable debug feature before setting adapter online Already register the debug feature before the zfcp adapter is set online. This allows to use the debug feature to investigate the online/offline sequence. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 52ef11a7170e1b8a0d5f9a42dbb43c38c335c32e Author: Swen Schillig Date: Tue Aug 28 09:31:09 2007 +0200 [SCSI] zfcp: cleanup, separation of ERP, non ERP-version for exchange_ functions cleanup, using ERP request mempool for all ERP versions of the exchange functions (exchange_config (ECD), exchange_port (EPD) ) providing individual versions of the ECD, EPD functions for ERP and other purposes (_sync). Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 03f002f778e58e9056e8e9a22952c5c6f4d76269 Author: Christof Schmitt Date: Tue Aug 28 09:31:21 2007 +0200 [SCSI] scsi_transport_fc: Introduce disable_target_scan flag This change has already been discussed on linux-scsi: http://marc.info/?t=118771096400003 http://marc.info/?t=118760913100005 Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Acked-by: James Smart Signed-off-by: James Bottomley commit 6b76a72141c57260adaf07977f79760ddb8618ee Author: Christof Schmitt Date: Tue Aug 28 09:30:59 2007 +0200 [SCSI] zfcp: Remove braces for only one statement Remove braces for only one statement Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 6ddd90a5b1618523dbfe3a11c50945f6660135a0 Author: Christof Schmitt Date: Tue Aug 28 09:30:50 2007 +0200 [SCSI] zfcp: Remove unnecessary assignment zfcp_adapter_enqueue initialized adapter->ccw_device twice with the same value. Remove the second assignment, since it is not necessary. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit cc16cebad086090891a3f39957ec771a2292359b Author: Heiko Carstens Date: Tue Aug 28 09:30:42 2007 +0200 [SCSI] zfcp: avoid if (whatever) ; constructs. Avoid "if (whatever) ;" constructs since they seem to confuse people, even if there is a comment. Signed-off-by: Heiko Carstens Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 2282f658914e316ca32fd120fded130d1c0e26e4 Author: Christof Schmitt Date: Tue Aug 28 09:30:22 2007 +0200 [SCSI] zfcp: correct indentation for nested if-else correct indentation for nested if-else Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit bbfbbbc1182f8b44c8cc4c99f4a3f3a512149022 Author: Mariusz Kozlowski Date: Sat Aug 11 10:13:24 2007 +0200 [SCSI] kmalloc + memset conversion to kzalloc In NCR_D700, a4000t, aic7xxx_old, bvme6000, dpt_i2o, gdth, lpfc, megaraid, mvme16x osst, pluto, qla2xxx, zorro7xx Signed-off-by: Mariusz Kozlowski Signed-off-by: James Bottomley commit f36789e22ac32a6554b8e4d05ab6125fc1161745 Author: Prakash, Sathya Date: Tue Aug 14 16:22:54 2007 +0530 [SCSI] mpt fusion: Change company name from LSI Logic to LSI Recently LSI Logic Corp was renamed as LSI Corp, so whereever there is a reference of LSI Logic, it is changed to LSI in mpt fusion driver code. signed-off-by: Sathya Prakash Acked-by: Eric Moore Signed-off-by: James Bottomley commit eb5329f40c13923e84a847204b5c5d62954eaf05 Author: Prakash, Sathya Date: Tue Aug 14 16:19:32 2007 +0530 [SCSI] mpt fusion: Link speed change display support When there is state change in FC links, a message is displayed with old and new link speed. signed-off-by: Sathya Prakash Acked-by: Eric Moore Signed-off-by: James Bottomley commit 56af97ae477cf8c2983edf86db2559d6394ca860 Author: Prakash, Sathya Date: Tue Aug 14 16:15:38 2007 +0530 [SCSI] mpt fusion: Creation of mptsas.h header file The data structure definitions from mptsas.c are moved to a new header file mptsas.h signed-off-by: Sathya Prakash Acked-by: Eric Moore Signed-off-by: James Bottomley commit f606f5718fa5a36e400000f91c44a5725b0f005d Author: Prakash, Sathya Date: Tue Aug 14 16:12:53 2007 +0530 [SCSI] mpt fusion: Change call back indices to u8 from int The call back index requires only u8 but in lot of places it is referred as int, now everywhere the call back index variables are declared as u8 with uniform name cb_idx signed-off-by: Sathya Prakash Acked-by: Eric Moore Signed-off-by: James Bottomley commit 7a195f464e0692607aca8150c8489a838fab684b Author: Prakash, Sathya Date: Tue Aug 14 16:08:40 2007 +0530 [SCSI] mpt fusion: Usage of high priority request FIFO to send task management commands Added support for sending the task management requests through High priority request FIFO instead of Doorbell writes when firmware support High priority FIFO. signed-off-by: Sathya Prakash Acked-by: Eric Moore Signed-off-by: James Bottomley commit 232f08fc82b15fdcaffc68c558115bfb2b34db86 Author: Eric Moore Date: Tue Aug 14 17:28:27 2007 -0600 [SCSI] mpt fusion: Add support for ATTO 4LD: Rebranded LSI 53C1030 Per request from Matthew Wilcox - using PCI_VENDOR_ATTO. Add support for ATTO UL4D, they are rebranded 53C1030. The changes are 1. Adding a new PCI vendor ID in pci table 2. The spi_port_page_2 is in different format than that of LSI generic spi_port_page_2 and hence mapping code is added. signed-off-by: Sathya Prakash signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 6778a35bd02939767a17463d74da113541c9371f Author: Eric Moore Date: Tue Aug 14 16:18:02 2007 -0600 [SCSI] Addition to pci_ids.h for ATTO Technology, Inc. A new PCI_VENDOR_ID for pci_ids.h. signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 1fbe85292f50ce6186619b83ed04d1bb91dda569 Author: Alan Cox Date: Fri Aug 10 14:50:41 2007 -0700 [SCSI] dtc: clean up indent damage and add printk levels Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 8f8bf7e64ef76e1de66eb5212cd50f6a294d459f Author: Adrian Bunk Date: Fri Aug 10 14:50:43 2007 -0700 [SCSI] make scsi_decode_sense_buffer and scsi_decode_sense_extras static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 8d9e0f46b4a37077e112bdec3c6228e31547e3c9 Author: Gabriel C Date: Fri Aug 10 14:50:39 2007 -0700 [SCSI] NCR5380: fix NCR53C400_PSEUDO_DMA is not defined In file included from drivers/scsi/g_NCR5380_mmio.c:9: drivers/scsi/g_NCR5380.c:559:5: warning: "NCR53C400_PSEUDO_DMA" is not defined Signed-off-by: Gabriel Craciunescu Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 79ee8304429b497263734e59747df12117de2ea2 Author: Adrian Bunk Date: Fri Aug 10 14:50:42 2007 -0700 [SCSI] scsi_error.c should #include "scsi_transport_api.h" Every file should #include the headers containing the prototypes for its global functions (in this case for scsi_schedule_eh()). Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 305aad0bf5b3f890bf6f59f8045bd553fd1051df Author: Andrew Morton Date: Fri Aug 10 14:50:52 2007 -0700 [SCSI] ips: warning fix drivers/scsi/ips.c: In function 'ips_insert_device': drivers/scsi/ips.c:6957: warning: 'index' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit ffcde188a82497385139c62c6b6362aa4f29406f Author: Jesper Juhl Date: Fri Aug 10 14:50:38 2007 -0700 [SCSI] NCR_D700, lpfc: Clean up duplicate includes Signed-off-by: Jesper Juhl Acked-by: James Smart Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 87f3bda35e306a449ea75c2bdb79a3c4d84cfa95 Author: Andrew Morton Date: Fri Aug 10 14:50:30 2007 -0700 [SCSI] aacraid: rename check_reset Too generic, clashes with ISDN. Signed-off-by: Andrew Morton Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit a0a74e45057cc3138c29173e7b0b3db8b30939ae Author: Jesper Juhl Date: Thu Aug 9 20:47:15 2007 +0200 [SCSI] lpfc: fix potential overflow of hbqs array The Coverity checker noticed that we may overrun a statically allocated array in drivers/scsi/lpfc/lpfc_sli.c::lpfc_sli_hbqbuf_find(). The case is this; In 'struct lpfc_hba' we have #define LPFC_MAX_HBQS 4 ... struct lpfc_hba { ... struct hbq_s hbqs[LPFC_MAX_HBQS]; ... }; But then in lpfc_sli_hbqbuf_find() we have this code hbqno = tag >> 16; if (hbqno > LPFC_MAX_HBQS) return NULL; if 'hbqno' ends up as exactely 4, then we won't return, and then this list_for_each_entry(d_buf, &phba->hbqs[hbqno].hbq_buffer_list, list) { will cause an overflow of the statically allocated array at index 4, since the valid indices are only 0-3. I propose this patch, that simply changes the 'hbqno > LPFC_MAX_HBQS' into 'hbqno >= LPFC_MAX_HBQS' as a possible fix. Signed-off-by: Jesper Juhl Acked-by: James Smart Signed-off-by: James Bottomley commit a43e6bd1be17573b4f9489190d440677bcb300f6 Author: FUJITA Tomonori Date: Tue Aug 7 17:38:20 2007 +0900 [SCSI] fc4: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 4bd6d7f35661a32ed50b72f02b684f894feeaa48 Author: Matthew Wilcox Date: Mon Jul 30 08:41:03 2007 -0600 [SCSI] advansys: Move documentation to Documentation/scsi The 700+-line comment at the top of the advansys driver fits more comfortably in Documentation/scsi. Delete the sections on: - kernels supported - other files modified (obsolete) - source comments (obsolete) - tests to run - release history (that's what a VCS is for) - contacting connectcom (the domain has expired and the phone number is now in use by another organisation) Known problems/fix list is moved down to the section where jejb put his FIXME. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit d68f4321357165346fb15ef41dbbf9dce7894f29 Author: Matthew Wilcox Date: Thu Jul 26 11:58:12 2007 -0400 [SCSI] advansys: use memcpy instead of open-coded loop Use memcpy to initialise eep_config instead of a loop. For AdvInitFrom38C1600EEP where we need to modify the default EEPROM configuration, do it after the loop, and do it using the structure definition, not by finding the right byte. I think it was wrong for big-endian machines. Also delete some non-useful comments and prototypes. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 13ac2d9c791469d4af51aa65653ab0fbd0916fcc Author: Matthew Wilcox Date: Mon Jul 30 08:10:23 2007 -0600 [SCSI] advansys: Remove pci_slot_info The driver kept a copy of the PCI config address; refer to the pci_dev associated with the card instead. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 895d6b4ca88ecc69b9301675eb220c6a926d8bb1 Author: Matthew Wilcox Date: Thu Jul 26 11:57:06 2007 -0400 [SCSI] advansys: Remove library-style callback routines Convert adv_isr_callback, adv_async_callback and asc_isr_callback into direct calls. Remove the unused asc_exe_callback. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 394dbf3f4005622fa52f1805eb950f08ce20f636 Author: Matthew Wilcox Date: Thu Jul 26 11:56:40 2007 -0400 [SCSI] advansys: Move struct device out of the cfg structures The cfg structures are supposed to be disposable after initialisation; with the 'dev' used for DMA mapping in there, that's not possible. Move the dev to the board. Also inline AscInitFromAscDvcVar into its only caller, remove some unnecessary prototypes and sort out a few minor formatting issues. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 4a2d31c811542d37258b3976975395cb1c0fba1c Author: Matthew Wilcox Date: Thu Jul 26 11:55:34 2007 -0400 [SCSI] advansys: Stop using n_io_port in Scsi_Host structure n_io_port isn't suitable for advansys because some of the boards have more than 255 bytes of io port space. There's already a driver-private replacement, asc_n_io_port, but for some reason the driver was still setting and occasionally reporting n_io_port. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 57ba5fe988f6e0845c459bbe75ecd6aea536805d Author: Matthew Wilcox Date: Thu Jul 26 11:55:07 2007 -0400 [SCSI] advansys: ioremap no longer needs page-aligned addresses At some point during Linux 2.1 development, ioremap() gained the ability to handle addresses which weren't page-aligned. Also expand the CONFIG_PCI range to encompass that entire section of wide board initialisation, since all wide boards are PCI. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 59fcf844095a89fe5e42b4e9bfc4b49dd6909e6b Author: Matthew Wilcox Date: Thu Jul 26 11:54:15 2007 -0400 [SCSI] advansys: delete AscGetChipBusType By moving a test from AscGetChipBusType into its only caller, we can delete the whole function Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit ecec1947479e52eeb4378cc5706d6d46b0cf5172 Author: Matthew Wilcox Date: Mon Jul 30 08:08:22 2007 -0600 [SCSI] advansys: misc reformatting Remove some useless forward declarations Reformat some comments, debug messages, and the occasional piece of real code Removal of unnecessary braces Remove duplicate setting of shost->irq Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 47d853ccbe7fc6b79aeddd97cf6f5b08bf81d58b Author: Matthew Wilcox Date: Thu Jul 26 11:41:33 2007 -0400 [SCSI] advansys: remove INQUIRY sniffing Use slave_configure() to do all the work that used to be done in AscInquiryHandling and AdvInquiryHandling. Split slave_configure into two functions, one for wide and one for narrow controllers. Remove some unused definitions, duplicate definitions, unnecessary declarations, and scsireqq, cap_info and inquiry from struct asc_board. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 2ffb45c672eff6a797712c5c8b5a6ddf3692187a Author: Matthew Wilcox Date: Thu Jul 26 11:39:46 2007 -0400 [SCSI] Add QUANTUM XP34301 to the blacklist According to the AdvanSys driver, this device has a problem with tagged queueing. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit ce3a7f1202e02324841ef87d7d3f08ff351d07c7 Author: Matthew Wilcox Date: Thu Jul 26 11:39:17 2007 -0400 [SCSI] advansys: remove AscCompareString() AscCompareString() is just another name for strncmp Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 9649af39e30d8d2668c35d008e8e14ae138e4d40 Author: Matthew Wilcox Date: Thu Jul 26 21:51:47 2007 -0600 [SCSI] advansys: More PCI cleanups - Remove wrappers around the PCI configuration space accessors - Call pci_set_master() instead of poking at config space directly - Move the latency setting into one function called for both narrow and wide boards. - Tidy up AdvInitGetConfig() a little. - Delete a few unused prototypes and definitions. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 71f36115d20e8d8b0ef10479ff0cde877ec56f98 Author: Matthew Wilcox Date: Mon Jul 30 08:04:53 2007 -0600 [SCSI] advansys: Update resource management Make sure the resources are reserved and released by all the callers of advansys_board_found(). This eliminates the check_region-style race. It also allows us to use the pci_request_regions() API. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit c304ec94733aec764396813f3f05dfbe02f4a6da Author: Matthew Wilcox Date: Mon Jul 30 09:18:45 2007 -0600 [SCSI] advansys: Convert to ISA driver model Register two isa_drivers, one for ISA and one for VLB, in order to preserve detection order. When deleting advansys_detect, we lose the last vestiges of the code that limited IO port scanning. This code has been effectively disabled for many years anyway; I'll restore it in a module_param later. We also lose the code that placed all ISA PnP cards into WaitForKey state -- drivers shouldn't be doing this anyway. The asc_host array goes away too. Also remove some IOADR and other definitions, such as ASC_NUM_BOARD_SUPPORTED. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit b09e05a73e8308397371edc15b7d45082971fa95 Author: Matthew Wilcox Date: Mon Jul 30 09:14:52 2007 -0600 [SCSI] advansys: Convert to EISA driver model - Switch EISA probing to the driver model - Remove some now-unused macros and functions - Update the FIXME now that we use the correct driver model probing API Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 78e77d8b50633241d34cd9e64626d39d0a8cd2c0 Author: Matthew Wilcox Date: Sun Jul 29 21:46:15 2007 -0600 [SCSI] advansys: Convert to PCI driver model - Add a pci_driver interface for the PCI advansys devices (for ISA/EISA/VLB devices, we still call advansys_detect). - Many functions are converted from __init to __devinit to allow hotplug PCI to work. - Only keep devices found by advansys_detect in the asc_host list. - Rename asc_board_count to asc_legacy_count. New asc_board_count is only used to generate a unique name for each device. - Remove some now-unused macros and struct definitions Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 8dfb537933a87588e83196d14cd9ec245eb065b8 Author: Matthew Wilcox Date: Mon Jul 30 09:08:34 2007 -0600 [SCSI] advansys: Move to scsi hotplug initialisation model - Switch from scsi_register/scsi_unregister to scsi_host_alloc, scsi_add_host, scsi_scan_host and scsi_host_put. - Rename the scsi_host_template to advansys_template - Use module_init and module_exit instead of scsi_module.c - Remove protection against advansys_detect being called twice Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit b2c16f586ee529e97ac63183e70e2bfd586a2f47 Author: Matthew Wilcox Date: Sun Jul 29 17:30:28 2007 -0600 [SCSI] advansys: Make advansys_board_found a little more readable - Put all the error cleanup at the end of the function and goto the appropriate label - Split advansys_wide_init_chip out of advansys_board_found - Split advansys_wide_free_mem out of advansys_board_found. Use it from advansys_release - Use GFP_KERNEL, not GFP_ATOMIC, when allocating memory during initialisation - Eliminate lots of PROC_FS ifdefs by removing the ifdefs around the prtbuf struct member Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 605fe5987f728e92e75ba12f7be01ffc3b132ad0 Author: Matthew Wilcox Date: Sun Jul 29 17:27:20 2007 -0600 [SCSI] advansys: Stop checking the scsi_cmnd belongs to our Scsi_Host The interrupt routines used to walk the list of Scsi_Hosts belonging to this driver to make sure that the scsi_cmnd belonged to one of them. This is a waste of time and gets in the way of later cleanups, so delete it. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 074c8fe4c0c0c7918d99bca34ea8e02a86997530 Author: Matthew Wilcox Date: Sat Jul 28 23:11:05 2007 -0600 [SCSI] advansys: Improve interrupt handler Pass the Scsi_Host to the interrupt handler, rather than polling all hosts for each interrupt. Return IRQ_NONE if we didn't handle this interrupt Don't set the IRQF_DISABLED flag; this is not a fast-executing interrupt handler. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 2a437959e963d98e04dbbcd26b69bfb1985567ce Author: Matthew Wilcox Date: Thu Jul 26 11:00:51 2007 -0400 [SCSI] advansys: Clean up proc_info implementation Just use the Scsi_Host passed in, rather than looking through the driver's own array of boards for one that matches it. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 8c6af9e174abdf40c30a4a229bbd11b458869f97 Author: Matthew Wilcox Date: Thu Jul 26 11:03:19 2007 -0400 [SCSI] advansys: undate version, copyright, etc Update the version to 3.4 Add my copyright Add myself to MAINTAINERS Exercise my right to change the license from dual BSD/GPL to GPL Don't force the definition of CONFIG_ISA on x86 Always include pci.h Stop including stat.h Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit ea312552e94883efc42cfa4651bcf964f3110564 Author: FUJITA Tomonori Date: Mon Aug 6 00:31:24 2007 +0900 [SCSI] sg: increase sglist_len of the sg_scatter_hold structure unsigned short is too small for sizeof(struct scatterlist) * min(q->max_hw_segments, q->max_phys_segments). This fixes memory leak with 4096 segments since 16 (likely sg size with x86) * 4096 sets sglist_len to zero. This might not happen without sg chaining support. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 6b7f123f378743d739377871c0cbfbaf28c7d25a Author: Matthew Wilcox Date: Tue Jun 26 15:18:51 2007 -0600 [SCSI] Fix async scanning double-add problems Stress-testing and some thought has revealed some places where asynchronous scanning needs some more attention to locking. - Since async_scan is a bit, we need to hold the host_lock while modifying it to prevent races against other CPUs modifying the word that bit is in. This is probably a theoretical race for the moment, but other patches may change that. - The async_scan bit means not only that this host is being scanned asynchronously, but that all the devices attached to this host are not yet added to sysfs. So we must ensure that this bit is always in sync. I've chosen to do this with the scan_mutex since it's already acquired in most of the right places. - If the host changes state to deleted while we're in the middle of a scan, we'll end up with some devices on the host's list which must be deleted. Add a check to scsi_sysfs_add_devices() to ensure the host is still running. - To avoid the async_scan bit being protected by three locks, the async_scan_lock now only protects the scanning_list. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit afd9a033ca1354e95c95201f5d21a097da9f7fb2 Author: Boaz Harrosh Date: Thu Jul 12 16:11:24 2007 +0300 [SCSI] microtek: use data accessors and !use_sg cleanup - use scsi_cmnd data accessors - Clean the !use_sg code paths Signed-off-by: Boaz Harrosh Acked-by: Greg Kroah-Hartman [jejb: merge conflict fix] Signed-off-by: James Bottomley commit bd441deaf341c524b28fd72831ebf6fef88f1c41 Author: Mike Christie Date: Tue Mar 13 12:52:29 2007 -0500 [SCSI] fix write buffer length in scsi_req_map_sg() sg's may have setup a the buffer with a different length than the transfer length so we should be using the bufflen passed in as the request's data len. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 358147403d1506ee43335c152fa3864d90f5ef6e Author: FUJITA Tomonori Date: Mon Jul 23 09:42:32 2007 +0900 [SCSI] ps3rom: convert to use the data buffer accessors This converts ps3rom driver to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Acked-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 0012fdf986c9b9c7fe8d0842a0ad8dd981a06c06 Author: FUJITA Tomonori Date: Thu Aug 2 00:20:34 2007 +0900 [SCSI] scsi_transport_srp: remove tgt dependencies it's better to remove tgt dependencies in srp transport class since most people want only initiator support. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit e9906fe8c6e8d004635753b7c4189692df281b70 Author: FUJITA Tomonori Date: Wed Jul 11 15:08:24 2007 +0900 [SCSI] tgt: convert ibmvstgt to use transport tsk_mgmt_response callback This converts ibmvstgt to use transport tsk_mgmt_response callback. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit bfb743740e1598d3030c4972a8808f2bb5b95b6b Author: FUJITA Tomonori Date: Wed Jul 11 15:08:22 2007 +0900 [SCSI] tgt: move tsk_mgmt_response callback to transport class This moves tsk_mgmt_response callback in struct scsi_host_template to struct scsi_transport_template since struct scsi_transport_template is more suitable for the task management stuff. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 17b0bcfad795913b1f2a3926cd238fa2ad5522a2 Author: FUJITA Tomonori Date: Wed Jul 11 15:08:21 2007 +0900 [SCSI] tgt: convert libsrp and ibmvstgt to use srp_transport This converts libsrp and ibmvstgt to use srp transport. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Acked-by: Brian King Signed-off-by: James Bottomley commit 62fe88261b9d865264d857777cf58a0335513151 Author: FUJITA Tomonori Date: Wed Jul 11 15:08:19 2007 +0900 [SCSI] srp_transport: add target driver support This adds minimum target driver support: - srp_rport_{add,del} calls scsi_tgt_it_nexus_{create,destroy} for target drivers. - add a callback to notify target drivers of the nexus operation results to srp_function_template. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 2c47f9efbedbe5749b6bb16e59bc11d6e460855f Author: FUJITA Tomonori Date: Wed Jul 11 15:08:17 2007 +0900 [SCSI] tgt: add I_T nexus support tgt uses scsi_host as I_T nexus. This works for ibmvstgt because it creates one scsi_host for one initiator. However, other target drivers don't work like that. This adds I_T nexus support, which enable one scsi_host to handle multiple initiators. New scsi_tgt_it_nexus_create/destroy functions are expected be called transport classes. For example, ibmvstgt creates an initiator remote port, then the srp transport calls tgt_it_nexus_create. tgt doesn't manages I_T nexus, instead it tells tgtd, user-space daemon, to create a new I_T nexus. On the receiving the response from tgtd, tgt calls shost->transportt->it_nexus_response. transports should notify a lld. The srp transport uses it_nexus_response callback in srp_function_template to do that. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit aebd5e476ecc8ceb53577b20f2a352ff4ceffd8d Author: FUJITA Tomonori Date: Wed Jul 11 15:08:15 2007 +0900 [SCSI] transport_srp: add rport roles attribute This adds a 'roles' attribute to rport like transport_fc. The role can be initiator or target. That is, the initiator driver creates target remote ports and the target driver creates initiator remote ports. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 3236822b1c9b67ad10745d965515b528818f1120 Author: FUJITA Tomonori Date: Wed Jun 27 16:33:12 2007 +0900 [SCSI] ib_srp: convert to use the srp transport class This converts ib_srp to use the srp transport class. I don't have ib hardware so I've not tested this patch. Signed-off-by: FUJITA Tomonori Cc: Roland Dreier Signed-off-by: James Bottomley commit 4d68041907b150b07640b607c6c626391cf3fe8b Author: FUJITA Tomonori Date: Wed Jun 27 16:32:50 2007 +0900 [SCSI] ibmvscsi: convert to use the srp transport class This converts ibmvscsi to use the srp transport class. Signed-off-by: FUJITA Tomonori Acked-by: Brian King Signed-off-by: James Bottomley commit 09345f65058bb927f3b3f4c33421f83ba8eeb5f8 Author: FUJITA Tomonori Date: Wed Jun 27 16:32:39 2007 +0900 [SCSI] add srp transport class This adds srp transport class that works with ib_srp and ibmvscsi. It creates only /sys/class/{srp_host,srp_remote_ports} and srp_remote_ports has only "port_id" attribute. viola:/sys/class/srp_remote_ports/port-0:1# ls device port_id subsystem uevent viola:/sys/class/srp_remote_ports/port-0:1# cat port_id 4c:49:4e:55:58:20:56:49:4f:00:00:00:00:00:00:00 Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 9360353f4aa40688eef4c71e4688411490727e40 Author: Dmitry Torokhov Date: Fri Oct 12 14:20:00 2007 -0400 Input: omap-keyboard - don't pretend we support changing keymap The driver's keymap is a mix of hardware codes and keycodes and so may not be used with default implementations of getkeycode() and setkeycode(). Also some whitespace cleanup. Signed-off-by: Dmitry Torokhov commit 62e729b648c980dfdbfdf8d677cde0d78cd4a51d Author: Dmitry Torokhov Date: Fri Oct 12 14:19:50 2007 -0400 Input: lifebook - fix X and Y axis range Possible range when using 6-byte protocol is 4096 and 1024 for 3-byte protocol. We had it reversed. Signed-off-by: Dmitry Torokhov commit 9d5657db8c4a485b56b5c9174b52bab39b2fd16e Author: Ilya Frolov Date: Fri Oct 12 14:19:40 2007 -0400 Input: usbtouchscreen - add support for GeneralTouch devices Signed-off-by: Ilya Frolov Signed-off-by: Dmitry Torokhov commit 064450140f1eab959bd0eca0245f449993216074 Author: Oliver Neukum Date: Fri Oct 12 14:18:40 2007 -0400 Input: fix open count handling in input interfaces If input_open_device() fails we should not leave interfaces marked as opened. Signed-off-by: Oliver Neukum Signed-off-by: Dmitry Torokhov commit bfab36e81611e60573b84eb4e4b4c8d8545b2320 Author: Anton Altaparmakov Date: Fri Oct 12 09:37:15 2007 +0100 NTFS: Fix a mount time deadlock. Big thanks go to Mathias Kolehmainen for reporting the bug, providing debug output and testing the patches I sent him to get it working. The fix was to stop calling ntfs_attr_set() at mount time as that causes balance_dirty_pages_ratelimited() to be called which on systems with little memory actually tries to go and balance the dirty pages which tries to take the s_umount semaphore but because we are still in fill_super() across which the VFS holds s_umount for writing this results in a deadlock. We now do the dirty work by hand by submitting individual buffers. This has the annoying "feature" that mounting can take a few seconds if the journal is large as we have clear it all. One day someone should improve on this by deferring the journal clearing to a helper kernel thread so it can be done in the background but I don't have time for this at the moment and the current solution works fine so I am leaving it like this for now. Signed-off-by: Anton Altaparmakov Signed-off-by: Linus Torvalds commit 1462222b76a09a24b240563a51d5f9fbea8bd3e1 Author: Martin Schwidefsky Date: Fri Oct 12 16:11:53 2007 +0200 [S390] xpram: fix bio_end{_,}io typo Signed-off-by: Martin Schwidefsky commit a2e53801971edbdaac4411760d893b8b65646987 Author: Cornelia Huck Date: Fri Oct 12 16:11:52 2007 +0200 [S390] 3215: Handle special console device. The early console device is special as it already has all needed data set and raw3215[0] allocated from con3215_init(). Therefore, it needs special treatment in the probe function so it can be matched with the 3215 driver which is already owning it. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit c41fbc69654dd74339f76ea88054fe41e3c1b7a8 Author: Heiko Carstens Date: Fri Oct 12 16:11:51 2007 +0200 [S390] pfault: Fix alignment of parameter list. Make sure parameter list of the pfault token function is eight byte aligned. Otherwise we can get specification exceptions. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 52480ee5206a3fe3a61b5529ce063202c60b8b27 Author: Sam Ravnborg Date: Fri Oct 12 16:11:50 2007 +0200 [S390] s390: use PAGE_SIZE in vmlinux.lds Replace the hardcoded 4096 value with the PAGE_SIZE macro. Converted a few decimal numbers to readable hex numbers. Use of PAGE_SIZE required a small change to page.h to allow PAGE_SIZE to be used from assembler/linker scripts. Signed-off-by: Sam Ravnborg Signed-off-by: Martin Schwidefsky commit e16af09d76ac3322e26f5b3ff49979691f350c12 Author: Sam Ravnborg Date: Fri Oct 12 16:11:49 2007 +0200 [S390] s390: beautify vmlinux.lds Introduce a consistent style in vmlinux.lds. This style is gradually being introduced for all archs. A few lables were moved inside the section definition so they are assigned the correct value of gcc decide to align the content to another address than the one . has. In the past this has fixed several bugs but for s390 it will not impact due to all the alignmnet already introduced. Stabs definitions are consolidated in asm-generic/vmlinux.lds.h This patch also introduce support for DWARF - without knowing if this makes sense for s390. Signed-off-by: Sam Ravnborg Signed-off-by: Martin Schwidefsky commit 2b12f996c992334f65f6d9e0a3e731ec049fdad3 Author: Heiko Carstens Date: Fri Oct 12 16:11:48 2007 +0200 [S390] vmwatchdog: fix broken inline assembly. Constraint for err is wrong since it is preinitialized and the code relies on it in case of an exception. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 1b9fd76e30368489b561db5794b3831bcc28c8bc Author: Michael Holzheu Date: Fri Oct 12 16:11:47 2007 +0200 [S390] tape: Fix medium state handling Currently there are situations, where the tape medium state (loaded, unloaded, unknown) is not set correctly. The reason is that the medium association field is used to determine the medium state. This not always leads to correct results. To fix that we use another field of the medium sense data instead. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit a004fb0c33539ae90f25573505be6a116a76e639 Author: Heiko Carstens Date: Fri Oct 12 16:11:46 2007 +0200 [S390] cpcmd: fix inline assembly usage. After assigning values to specific registers memset was called. This may clobber the contents of the used registers. To solve this extract the two used inline assemblies into small functions that don't call any functions. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit e39394b84156bc0822785e379977fe75a5662aad Author: Heiko Carstens Date: Fri Oct 12 16:11:45 2007 +0200 [S390] Make vmalloc area start at address > 4GB. Prevent that modules get loaded at addresses below 4GB to prevent exchanging system call table entries. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 53a0868cb4d77dcba8e95e1033361ffdb6e510e2 Author: Michael Holzheu Date: Fri Oct 12 16:11:44 2007 +0200 [S390] zcore: fix inline assembly in memcpy_real() memcpy_real uses the mvcle instruction. This instruction alters all used registers (source, destination and 2 x count). Therefore we have to flag those registers as input/output registers (+d). In addition to that, we have to specify, that we read from memory designated by "src" and write to memory designated by "dest". Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit cebe0fe70fbf033a1a6b7c5c8b79eb13060a4ab7 Author: Robert P. J. Day Date: Fri Oct 12 16:11:43 2007 +0200 [S390] Remove obsolete recommendation for 8M ramdisk size. Signed-off-by: Robert P. J. Day Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 6517156cd0225d666f53ecaf49b5b4784b0df8b6 Author: Michael Holzheu Date: Fri Oct 12 16:11:42 2007 +0200 [S390] Use IPL CLEAR for reipl under z/VM If we use the CLEAR ipl option, reipl is faster, since then VM can release the memory, which has been paged out. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 210d3a90ce665509e4852977d7a3352654e5e990 Author: Heiko Carstens Date: Fri Oct 12 16:11:41 2007 +0200 [S390] Force link error if xchg/cmpxchg gets called with unsupported size. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c622498e5c82217cda7f661eebbabdaad0814659 Author: Ursula Braun Date: Fri Oct 12 16:11:40 2007 +0200 [S390] qdio: change QDIO performance_stats error message priority Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit e108cebb21316714de43767e242316c784471740 Author: vignesh babu Date: Fri Oct 12 16:11:39 2007 +0200 [S390] is_power_of_2 in drivers/s390/block/dasd_int.h Replacing n & (n - 1) for power of 2 check by is_power_of_2(n) Signed-off-by: vignesh babu Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit b18a2db416088ad54a4bfb59c0b932be383aee83 Author: Heiko Carstens Date: Fri Oct 12 16:11:38 2007 +0200 [S390] qdio: dont cast function pointers and use them to call functions. According to C99 6.3.2.3 it's undefined what happens if a converted pointer is used to call a function whose type is not compatible with the pointed-to type. That's what the qdio code is doing, so fix it. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5a291321d6b7ab40923b9a42b36746f7b5ca0055 Author: Heiko Carstens Date: Fri Oct 12 16:11:37 2007 +0200 [S390] Get rid of ARCH_KMALLOC_MINALIGN. slab cache debugging code has been changed so that we always get a minimum alignment of the alignment of a 64-integer. Since this is 8 on s390/s390x there is no need of ARCH_KMALLOC_MINALIGN anymore. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ca08de05ed83b7c2029c742ef3310a284b7790ee Author: Christian Borntraeger Date: Fri Oct 12 16:11:36 2007 +0200 [S390] remove packed attribute from ext_int_info_t. ext_int_info_t is no longer used in entry(64).S Instead do_extint is a C function that handles the hash search. As the structure is handled in C code, we can also remove the packed attribute to avoid alignment issues. (Currently there is no alignment problem in ext_int_info_t, even if packet) Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 364c85584e030f7cfc25e9d27ca893dee6f4bf8e Author: Heiko Carstens Date: Fri Oct 12 16:11:35 2007 +0200 [S390] Get rid of a bunch of sparse warnings again. Also removes a bunch of ^L in drivers/s390/cio/cmf.c Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f5360106422302e8eed4d07ea8daf81ec19ca345 Author: Christian Borntraeger Date: Fri Oct 12 16:11:34 2007 +0200 [S390] disassembler: Remove redundant variable assignment There is no need to assign "0" to "hops" twice. Remove one assigment. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 74ccbdc226cac44bb56cd479917195dc5132d7aa Author: Martin Schwidefsky Date: Fri Oct 12 16:11:33 2007 +0200 [S390] disassembler: fix output for insns with 6 operands. The termination condition of the loop that prints the operands of an instruction doesn't stop after the maximum of 6 operands. It continues with the operands of the next instruction format instead which create really long lines. Signed-off-by: Martin Schwidefsky commit 076fc808ab804c6cfb40fd0caa0b74dd50e0d5de Author: Satyam Sharma Date: Fri Oct 12 16:11:32 2007 +0200 [S390] appldata_base: Remove module_exit function and modular stuff arch/s390/Kconfig tells us that CONFIG_APPLDATA_BASE is bool and hence can never be built modular. Given this, defining appldata_exit() function is pointless (and wasteful, actually). Remove all that. Previous patch annotated appldata_offline_cpu() as __cpuexit, but now with the __exit function appldata_exit() gone, the only callsite that references it is __cpuinit, so this function can also be __cpuinit, thereby saving space when HOTPLUG_CPU=n. Signed-off-by: Satyam Sharma Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 11b8bf0107e688434b9e0570fd05e7c715534f3b Author: Satyam Sharma Date: Fri Oct 12 16:11:31 2007 +0200 [S390] appldata_base: Misc cpuinit annotations and bugfix appldata_offline_cpu() is only called from __cpuinit-marked hotplug notifier callback and from the __exit-marked module_exit function, therefore candidate for __cpuexit. BTW the __exit module_exit function appldata_exit() of this driver fails to unregister_hotcpu_notifier() the notifier_block that was registered by appldata_init() during module startup. This will lead to oops if hotplug notification comes after module has been unloaded. Let's fix this by unregistering the notifier appropriately (before appldata_offline_cpu()'ing the CPUs). Signed-off-by: Satyam Sharma Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 2af48080e100d66db8f086af70a70713a953a83d Author: Ralph Wuerthner Date: Fri Oct 12 16:11:30 2007 +0200 [S390] zcrypt: fix PCIXCC/CEX2C error recovery Symptom: zcrypt fails by setting all PCIXCC/CEX2C cards offline for a certain type of invalid keys. Problem: zcrypt does not handle rc=12/rs=769 request responses correctly Solution: modify convert_type86_ica() to handle these error codes correctly Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit 39aa7cf612cc4e7f688c18f04c35afb51c57472e Author: Ralph Wuerthner Date: Fri Oct 12 16:11:29 2007 +0200 [S390] zcrypt: fix ap_reset_domain() Resetting of a all queues within a domain requires that a domain must be selected first. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit 16db63fda0c63de7a7feb59c6ca59ce7e2670ffb Author: Ralph Wuerthner Date: Fri Oct 12 16:11:28 2007 +0200 [S390] zcrypt: remove duplicated struct CPRBX definition Signed-off-by: Ralph Wuerthner commit 731475c92ed587ac0e112c49b47b12de8d0ab609 Author: Heiko Carstens Date: Fri Oct 12 16:11:27 2007 +0200 [S390] zcrypt: make init/exit functions static. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 3f4cf6e72f9f6a0b046b32881acc4f829f3aaa46 Author: Cornelia Huck Date: Fri Oct 12 16:11:26 2007 +0200 [S390] cio: Avoid machine check vs. not operational races. There was the possibilty that an action like ccw_device_set_offline() triggered by a device gone machine check might trigger a not oper event. Unfortunately, this could lead to the situation that we tried to unregister a subchannel twice: Once from the slow path evaluation, and once via the not oper event. Fix this by always using the same mechanism (css_schedule_eval()) for triggering the unregister. This makes sure that unregistration will only be done once. As an added bonus, it also simplyfies the code. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 3952c8d43aa23862181ad23ecdf72895b4be3143 Author: Cornelia Huck Date: Fri Oct 12 16:11:25 2007 +0200 [S390] cio: Documentation update. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 6920c12a407e073168d6cae164fa820d666af5c6 Author: Cornelia Huck Date: Fri Oct 12 16:11:24 2007 +0200 [S390] Add Documentation/s390/00-INDEX. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit e103178658f07131fee4e643596982b604cc63a9 Author: Cornelia Huck Date: Fri Oct 12 16:11:23 2007 +0200 [S390] cio: Fix device attributes for early devices. Don't forget to set dev->groups for early ccw devices like the console device so the default attributes are created. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 1842f2b1847155805f9cc8c834ef4272198b272b Author: Cornelia Huck Date: Fri Oct 12 16:11:22 2007 +0200 [S390] cio: Disable channel measurements (cmf) on shutdown/reboot. Disable channel measurements for all ccw devices via the ccw bus's shutdown method. Clear residual cmf related information that may be in the schib when setting up a new subchannel. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 958974fb596ad037fb571cf2899f783764a83e1a Author: Cornelia Huck Date: Fri Oct 12 16:11:21 2007 +0200 [S390] cio: Introduce ccw_bus_type.shutdown. Introduce a shutdown method for the ccw bus that calls the driver specific shutdown method in struct ccw_driver. Switch zfcp to the new ccw_driver shutdown method. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit a55360df406cca797ac07d722688dd7ec29bf46e Author: Cornelia Huck Date: Fri Oct 12 16:11:20 2007 +0200 [S390] cio: Disable channel path measurements on shutdown/reboot. Make sure channel path measurements are disabled via a reboot notifier since we cannot rely on userspace to disable it again after enabling it. This is 1. clean and 2. makes sure that channel path measurements do not stay enabled after a reboot not involving a subsystem reset (which would lead to the channel subsystem scribbling onto random memory). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit a0ea22c3d912de6044f83b07dcc26ee006106139 Author: Cornelia Huck Date: Fri Oct 12 16:11:19 2007 +0200 [S390] cio: Minor style fixes. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 3a2fbff228f773e3628bc26a688d40b2214af025 Author: Cornelia Huck Date: Fri Oct 12 16:11:18 2007 +0200 [S390] cio: Add s390-drivers book. s390-drivers is generated using the docbook comments. It should eventually supersede Documentation/s390/cds.txt. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit b2ffd8e9a76ec90bd4a509f3d092e35978c568a3 Author: Cornelia Huck Date: Fri Oct 12 16:11:17 2007 +0200 [S390] cio: Add docbook comments. Comment a bunch of function in docbook style and convert existing comments on structures to docbook. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c02087162af5d8880ff2d688999d71e1bfa16f2f Author: Cornelia Huck Date: Fri Oct 12 16:11:16 2007 +0200 [S390] cio: Kerneldoc comments for cmf. - Fix existing kerneldoc-style comments. - Move descriptions of functions from cmb.h to cmf.c. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit fc5019c5c7067bcea1e49fe9cd5190285f0c8927 Author: Cornelia Huck Date: Fri Oct 12 16:11:15 2007 +0200 [S390] cio: Fix some coding style issues in cmf. Fix some formatting and correct a comment. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit fbf9772b8e7917f85f35913b30788c74ea34cad5 Author: Cornelia Huck Date: Fri Oct 12 16:11:14 2007 +0200 [S390] cio: remove subchannel_add_files() subchannel_add_files() no longer exists, remove from header. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 7c9f4e3aaae020fc674f52393cbac1bdb648bf90 Author: Cornelia Huck Date: Fri Oct 12 16:11:13 2007 +0200 [S390] cio: rename css to channel_subsystems Rename css[] to channel_subsystems[] to avoid name clashes. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 4b5a9b3d8e857249f2670f4419ce764be02e11db Author: Jeff Garzik Date: Wed Oct 3 15:47:00 2007 -0400 [ISDN] HiSax diva: split setup into three smaller functions Just code movement, and the glue to call the new functions. Preparation for hotplug APIs. Signed-off-by: Jeff Garzik commit 7da0d9801bd52a1d5e58eae85a3b9508b4a11ffb Author: Jeff Garzik Date: Wed Oct 3 15:37:40 2007 -0400 [ISDN] HiSax sedlbauer: move ISAPNP and PCI code into functions of their own Prep for hotplug API conversion. Just code movement (+glue). Signed-off-by: Jeff Garzik commit 1e5d82e18b7204545737a5ef96bc34180a8df844 Author: Jeff Garzik Date: Wed Oct 3 15:27:22 2007 -0400 [ISDN] HiSax elsa: split huge setup function into four smaller functions Prep for hotplug API conversion. Just code movement (+glue). Signed-off-by: Jeff Garzik commit 2fbde4c0923f53bca9975a46059b5c481a3551ba Author: Jeff Garzik Date: Wed Oct 3 15:23:49 2007 -0400 [ISDN] HiSax avm_pci: split setup into three smaller functions Preparation for new ISA/PNP/PCI APIs. Just code movement, and the glue to call the new functions. Signed-off-by: Jeff Garzik commit bfc7c89f068bbbc2c48588385529d15c6feef802 Author: Jeff Garzik Date: Thu Aug 2 16:56:22 2007 -0400 [ISDN] Remove CONFIG_PCI ifdefs from 100% PCI source code Signed-off-by: Jeff Garzik commit 60cc5147ae07b3b0f7592a611fa20169f7dd02cc Author: Jeff Garzik Date: Thu Aug 2 18:51:14 2007 -0400 [ISDN] hysdn: convert to PCI hotplug API Signed-off-by: Jeff Garzik commit b018fc09498f73da0014b44acbd59ea4a94300b4 Author: Jens Axboe Date: Fri Oct 12 12:54:13 2007 +0200 [BLOCK] s390 xpram typo bio_end_io() should be bio_endio() Signed-off-by: Jens Axboe commit 99874d50481c093adfe74e796436024d88b6a48c Author: Jens Axboe Date: Fri Oct 12 12:50:41 2007 +0200 [BLOCK] Only include the compat ioctl code if CONFIG_BLOCK is set Add an extra CONFIG_BLOCK_COMPAT that we can use in the Makefile Signed-off-by: Jens Axboe commit 43d28d98bed372649060ef783719b426a91972ed Author: Jens Axboe Date: Fri Oct 12 12:50:07 2007 +0200 [BLOCK] Better fix for do_blk_trace_setup() for !CONFIG_BLOCK We don't have the request queue definition, so just make it a macro instead. Signed-off-by: Jens Axboe commit 2da96acde0318f121ed3f5993ae9324c856ecfd4 Author: Jens Axboe Date: Fri Oct 12 12:40:38 2007 +0200 [BLOCK] Move sector_div() from blkdev.h to kernel.h We need it even if CONFIG_BLOCK is disabled, so move it outside of the block layer include system. Signed-off-by: Jens Axboe commit 6dee6421581d3484e9a01d403dbf158161942db6 Author: Michael Chan Date: Fri Oct 12 01:40:38 2007 -0700 [BNX2]: Refine napi poll loop. Need to read and store sblk->status_idx before checking for more work. The status idx is later written back to the hardware when enabling interrupts to acknowledge how much work has been processed. If the order is reversed, we can end up acknowledging work we haven't processed. When completing bnx2_poll(), we should always break out of the while loop and return work_done instead of returning 0. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 4fd7ab5949edfdf99be0ceef206c9d0b7f186318 Author: Michael Chan Date: Fri Oct 12 01:39:50 2007 -0700 [TG3]: Refine napi poll loop. Need to read and store sblk->status_tag before checking for more work. The status tag is later written back to the hardware when enabling interrupts to acknowledge how much work has been processed. If the order is reversed, we can end up acknowledging work we haven't processed. When we detect tx error, it is more correct to return the rx work_done so far instead of 0. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 782e3b3b3804c38d5130c7f21d7ec7bf6709023f Author: Al Viro Date: Fri Oct 12 07:17:47 2007 +0100 Fix up more bio fallout Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit d81fec0f97cce4aea36a89340af247523c1263a0 Author: Al Viro Date: Fri Oct 12 07:00:19 2007 +0100 missed bio_endio() in axonram Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit d4faaecbcc6d9ea4f7c05f6de6af98e2336a4afb Author: David S. Miller Date: Thu Oct 11 22:15:08 2007 -0700 [ZLIB]: Fix external builds of zlib_inflate code. Move zlib_inflate_blob() out into it's own source file, infutil.c, so that things like the powerpc zImage builder in arch/powerpc/boot/Makefile don't end up trying to compile it. Signed-off-by: David S. Miller commit 9ce768ead83216d394175c0a0d72bc527648c7d0 Author: Matt Carlson Date: Thu Oct 11 19:49:11 2007 -0700 [TG3]: Fix APE induced regression This patch fixes a bug caused by the recent APE support added for 5761 devices. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit a7b850eaa1110b1fcdc09fdfe89e792828e9b7aa Author: Stephen Hemminger Date: Thu Oct 11 19:48:40 2007 -0700 [SKY2]: version 1.19 Update version to keep track of new changes. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7138a0f591b0aac3b9117e68db46903606a97b0c Author: Stephen Hemminger Date: Thu Oct 11 19:48:22 2007 -0700 [SKY2]: use netdevice stats struct Use builtin statistics structure from net device. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit df3fe1f318b226453b8dc48622c2b6eb78d75dbb Author: Stephen Hemminger Date: Thu Oct 11 19:48:04 2007 -0700 [SKY2]: fiber advertise bits initialization (trivial) Put initialization in sequential order (same as other constants). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ff35164e72648e0bf0b10ec4410c195e8607e88b Author: Stephen Hemminger Date: Thu Oct 11 19:47:44 2007 -0700 [SKY2]: fix power settings on Yukon XL Make sure PCI register for PHY power gets set correctly. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 295b54c4902c52cd00d7c837d50a86e39e26caec Author: Stephen Hemminger Date: Thu Oct 11 19:47:22 2007 -0700 [SKY2]: ethtool register reserved area blackout Make sure and not dump reserved areas of device space. Touching some of these causes machine check exceptions on boards like D-Link DGE-550SX. Coding note, used a complex switch statement rather than bitmap because it is easier to relate the block values to the documentation rather than looking at a encoded bitmask. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6c08772e49622e90d39903e7ff0be1a0f463ac86 Author: Jeff Garzik Date: Fri Oct 12 00:16:23 2007 -0400 [libata] sata_mv: more S/G fixes * corruption fix: we only want the lower 16 bits of length (0 == 64kb) * ditto: the upper layer sets max-phys-segments to LIBATA_MAX_PRD, so we must reset it to own hw-specific length. * delete unused mv_fill_sg() return value Signed-off-by: Jeff Garzik commit e30408b2a99cb7b8bf529c7dc2328a19d71894cf Author: Jeff Garzik Date: Fri Oct 12 00:01:21 2007 -0400 JFS: fix bio-related build breakage Signed-off-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 9b4b8feb962f4b3e74768b7205f1f8f6cce87238 Author: David Gibson Date: Fri Oct 12 12:36:20 2007 +1000 [POWERPC] Add memchr() to the bootwrapper This adds a memchr() implementation to the bootwrapper, which will be needed when libfdt is merged in. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 297647c21f11dc1449f9bdb1601ae43e951bba0b Author: Steve French Date: Fri Oct 12 04:11:59 2007 +0000 [CIFS] CIFS ACL support part 3 Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit d0c3d534a4388a465101b634a95f2ec586415254 Author: Olof Johansson Date: Fri Oct 12 10:20:07 2007 +1000 [POWERPC] Implement logging of unhandled signals Implement show_unhandled_signals sysctl + support to print when a process is killed due to unhandled signals just as i386 and x86_64 does. Default to having it off, unlike x86 that defaults on. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit b63db45ca44a805ef21eb10a3750e88419156423 Author: Valentine Barshak Date: Fri Oct 12 05:09:25 2007 +1000 [POWERPC] Add legacy serial support for OPB with flattened device tree Currently find_legacy_serial_ports() can find no serial ports on the OPB with flattened device tree. Thus no legacy boot console can be initialized. Just the early udbg console works, which is initialized with udbg_init_44x_as1 on the UART's physical address specified in kernel config. This happens because we look for ns16750 serial devices only and expect opb node to have a device type property. This patch makes it look for ns16550-compatible devices and use of_device_is_compatible() for opb in case device type is not specified. Signed-off-by: Valentine Barshak Signed-off-by: Paul Mackerras commit 1189be6508d45183013ddb82b18f4934193de274 Author: Paul Mackerras Date: Thu Oct 11 20:37:10 2007 +1000 [POWERPC] Use 1TB segments This makes the kernel use 1TB segments for all kernel mappings and for user addresses of 1TB and above, on machines which support them (currently POWER5+, POWER6 and PA6T). We detect that the machine supports 1TB segments by looking at the ibm,processor-segment-sizes property in the device tree. We don't currently use 1TB segments for user addresses < 1T, since that would effectively prevent 32-bit processes from using huge pages unless we also had a way to revert to using 256MB segments. That would be possible but would involve extra complications (such as keeping track of which segment size was used when HPTEs were inserted) and is not addressed here. Parts of this patch were originally written by Ben Herrenschmidt. Signed-off-by: Paul Mackerras commit 287e5d6fcccfa38b953cebe307e1ddfd32363355 Author: Grant Likely Date: Thu Oct 11 04:31:56 2007 +1000 [POWERPC] XilinxFB: Allow fixed framebuffer base address Allow a fixed framebuffer address to be assigned to the framebuffer device instead of allocating the framebuffer from the consistent memory pool. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit b4d6a7268fc754eefb196cabc0ccfa2e97022af2 Author: Grant Likely Date: Thu Oct 11 04:31:51 2007 +1000 [POWERPC] XilinxFB: Add support for custom screen resolution Some custom implementations of the xilinx fb can use resolutions other than 640x480. This patch allows the resolution to be specified in the device tree or the xilinx_platform_data structure. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 01ba1e9d26fcd29f3ad4f3a5bcf40c0fbc40ee81 Author: Grant Likely Date: Thu Oct 11 04:31:46 2007 +1000 [POWERPC] XilinxFB: Use pdata to pass around framebuffer parameters The call to xilinxfb_assign is getting unwieldy when adding features to the Xilinx framebuffer driver. Change xilinxfb_assign() to accept a pointer to a xilinxfb_platform_data structure to prepare for adding additition configuration options. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit d94bad827d9a0df939a0e7ed081a2780b9f72c4b Author: Valentine Barshak Date: Mon Oct 8 22:51:24 2007 +1000 [POWERPC] PCI: Add 64-bit physical address support to setup_indirect_pci Add 64-bit physical address support to setup_indirect_pci(). Signed-off-by: Valentine Barshak Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 266918303226cceac7eca38ced30f15f277bd89c Author: Stephen Hemminger Date: Thu Oct 11 18:31:13 2007 -0700 [SKY2]: status polling loop (post merge) Handle the corner case where budget is exhausted correctly. And save unnecessary read of index register. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6f535763165331bb91277d7519b507fed22034e5 Author: David S. Miller Date: Thu Oct 11 18:08:29 2007 -0700 [NET]: Fix NAPI completion handling in some drivers. In order for the list handling in net_rx_action() to be correct, drivers must follow certain rules as stated by this comment in net_rx_action(): /* Drivers must not modify the NAPI state if they * consume the entire weight. In such cases this code * still "owns" the NAPI instance and therefore can * move the instance around on the list at-will. */ A few drivers do not do this because they mix the budget checks with reading hardware state, resulting in crashes like the one reported by takano@axe-inc.co.jp. BNX2 and TG3 are taken care of here, SKY2 fix is from Stephen Hemminger. Signed-off-by: David S. Miller commit b08d6cb22c777c8c91c16d8e3b8aafc93c98cbd9 Author: Ilpo Järvinen Date: Thu Oct 11 17:36:13 2007 -0700 [TCP]: Limit processing lost_retrans loop to work-to-do cases This addition of lost_retrans_low to tcp_sock might be unnecessary, it's not clear how often lost_retrans worker is executed when there wasn't work to do. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f785a8e28b9d103c7473655743b6ac1bc3cd3a58 Author: Ilpo Järvinen Date: Thu Oct 11 17:35:41 2007 -0700 [TCP]: Fix lost_retrans loop vs fastpath problems Detection implemented with lost_retrans must work also when fastpath is taken, yet most of the queue is skipped including (very likely) those retransmitted skb's we're interested in. This problem appeared when the hints got added, which removed a need to always walk over the whole write queue head. Therefore decicion for the lost_retrans worker loop entry must be separated from the sacktag processing more than it was necessary before. It turns out to be problematic to optimize the worker loop very heavily because ack_seqs of skb may have a number of discontinuity points. Maybe similar approach as currently is implemented could be attempted but that's becoming more and more complex because the trend is towards less skb walking in sacktag marker. Trying a simple work until all rexmitted skbs heve been processed approach. Maybe after(highest_sack_end_seq, tp->high_seq) checking is not sufficiently accurate and causes entry too often in no-work-to-do cases. Since that's not known, I've separated solution to that from this patch. Noticed because of report against a related problem from TAKANO Ryousei . He also provided a patch to that part of the problem. This patch includes solution to it (though this patch has to use somewhat different placement). TAKANO's description and patch is available here: http://marc.info/?l=linux-netdev&m=119149311913288&w=2 ...In short, TAKANO's problem is that end_seq the loop is using not necessarily the largest SACK block's end_seq because the current ACK may still have higher SACK blocks which are later by the loop. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4cd829995b86e0359796780d43d2f210cb5cf021 Author: Ilpo Järvinen Date: Thu Oct 11 17:34:57 2007 -0700 [TCP]: No need to re-count fackets_out/sacked_out at RTO Both sacked_out and fackets_out are directly known from how parameter. Since fackets_out is accurate, there's no need for recounting (sacked_out was previously unnecessarily counted in the loop anyway). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d193594299064d386a2705928cd61ab2ca3d7cee Author: Ilpo Järvinen Date: Thu Oct 11 17:34:25 2007 -0700 [TCP]: Extract tcp_match_queue_to_sack from sacktag code This is necessary for upcoming DSACK bugfix. Reduces sacktag length which is not very sad thing at all... :-) Notice that there's a need to handle out-of-mem at caller's place. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f6fb128d272eb7b0f1a8be78153a724545e28be8 Author: Ilpo Järvinen Date: Thu Oct 11 17:33:55 2007 -0700 [TCP]: Kill almost unused variable pcount from sacktag It's on the way for future cutting of that function. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 3eec0047d9bdd68fddef6539e77fee99ba2531f2 Author: Ilpo Järvinen Date: Thu Oct 11 17:33:11 2007 -0700 [TCP]: Fix mark_head_lost to ignore R-bit when trying to mark L This condition (plain R) can arise at least in recovery that is triggered after tcp_undo_loss. There isn't any reason why they should not be marked as lost, not marking makes in_flight estimator to return too large values. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 16e906812f885cf16d95577dba260db6375ba571 Author: Ilpo Järvinen Date: Thu Oct 11 17:32:31 2007 -0700 [TCP]: Add bytes_acked (ABC) clearing to FRTO too I was reading tcp_enter_loss while looking for Cedric's bug and noticed bytes_acked adjustment is missing from FRTO side. Since bytes_acked will only be used in tcp_cong_avoid, I think it's safe to assume RTO would be spurious. During FRTO cwnd will be not controlled by tcp_cong_avoid and if FRTO calls for conventional recovery, cwnd is adjusted and the result of wrong assumption is cleared from bytes_acked. If RTO was in fact spurious, we did normal ABC already and can continue without any additional adjustments. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit aaf76a3245c02faba51c96b9a340c14d6bb0dcc0 Author: Franck Bui-Huu Date: Tue Oct 9 22:34:26 2007 +0200 [MIPS] tlbex.c: Cleanup __init usage. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 2c4d13570d8e512cca65d159502622e1666ad4bd Author: Yoichi Yuasa Date: Thu Oct 11 22:54:13 2007 +0900 [MIPS] WRPPMC serial support move to platform device Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 572afc248c33c902760f6f24a72c180f0e4f1719 Author: Ralf Baechle Date: Fri Sep 21 13:05:44 2007 +0100 [MIPS] R1: Fix hazard barriers to make kernels work on R2 also. Tested with Malta; inflates malta_defconfig by 3932 bytes. Ideally there should be additional configuration to allow getting rid of this overhead but that would be too much complexity at this stage of the release cycle. Signed-off-by: Ralf Baechle commit bdf5d42c6e4d7aa56251b8899f60f55a88c0aaa7 Author: Ralf Baechle Date: Wed Oct 10 13:33:03 2007 +0100 [MIPS] VPE: reimplement ELF loader. Loading ELF binaries based on the section table is totally wrong. This still leaves the other fat bug of referencing symbols in an executable unfixed, so people better don't run strip on their binaries ... As added bonus the new loader is also 23 lines shorter. Signed-off-by: Ralf Baechle commit 4b92fe2309c762d9ba9201a16f20d6d167e641b3 Author: Yoichi Yuasa Date: Wed Oct 10 00:28:26 2007 +0900 [MIPS] cleanup WRPPMC include files Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit dec8b1ca990055f3a8954ac3bc98fdb785af52e4 Author: Franck Bui-Huu Date: Mon Oct 8 16:11:51 2007 +0200 [MIPS] Add BUG_ON assertion for attempt to run kernel on the wrong CPU type. Signed-off-by: Ralf Baechle commit 89a8a5a6c965d3dd2571a263ef59e7b23a036d5e Author: Ralf Baechle Date: Thu Oct 4 18:18:52 2007 +0100 [MIPS] SMP: Use ISO C struct initializer for local structs. Signed-off-by: Ralf Baechle commit c50cade95b075e1116fc4fae6a9c63829720efb9 Author: Ralf Baechle Date: Thu Oct 4 16:57:08 2007 +0100 [MIPS] SMP: Kill useless casts. Signed-off-by: Ralf Baechle commit b5eb551145395382ddf302548991a5fbaabc5341 Author: Ralf Baechle Date: Wed Oct 3 19:16:57 2007 +0100 [MIPS] Kill num_online_cpus() loops. Signed-off-by: Ralf Baechle commit bd6aeeffcc0be716e4d2d1f27fb132741e345cc0 Author: Ralf Baechle Date: Wed Oct 3 01:24:16 2007 +0100 [MIPS] SMP: Implement smp_call_function_mask(). Signed-off-by: Ralf Baechle commit 9966db25defba4e1dce263246db25237bc24479f Author: Ralf Baechle Date: Thu Oct 11 23:46:17 2007 +0100 [MIPS] Make facility to convert CPU types to strings generally available. So far /proc/cpuinfo has been the only user but human readable processor name are more useful than that for proc. Signed-off-by: Ralf Baechle commit 36cfbaad815908f54872a7b471e9a7a09b4084a4 Author: Ralf Baechle Date: Thu Oct 11 23:46:16 2007 +0100 [MIPS] Convert list of CPU types from #define to enum. Signed-off-by: Ralf Baechle commit 9cfde2028bc487982a4bfb0d20d2ca76366fa80d Author: Ralf Baechle Date: Wed Feb 14 21:16:14 2007 +0000 [MIPS] Optimize get_unaligned / put_unaligned implementations. Signed-off-by: Ralf Baechle commit 21a151d8ca3aa74ee79f9791a9d4dc370d3e0636 Author: Ralf Baechle Date: Thu Oct 11 23:46:15 2007 +0100 [MIPS] checkfiles: Fix "need space after that ','" errors. Signed-off-by: Ralf Baechle commit 49a89efbbbcc178a39555c43bd59a7593c429664 Author: Ralf Baechle Date: Thu Oct 11 23:46:15 2007 +0100 [MIPS] Fix "no space between function name and open parenthesis" warnings. Signed-off-by: Ralf Baechle commit 10cc3529072d5415fb040018a8a99aa7a60190b6 Author: Ralf Baechle Date: Thu Oct 11 23:46:15 2007 +0100 [MIPS] Allow hardwiring of the CPU type to a single type for optimization. This saves a few k on systems which only ever ship with a single CPU type. Signed-off-by: Ralf Baechle commit aeffdbbaff133b0c3989e20af5baa091d3d0b409 Author: Ralf Baechle Date: Thu Oct 11 23:46:14 2007 +0100 [MIPS] tlbex: Size optimize code by declaring a few functions inline. Signed-off-by: Ralf Baechle commit 1ac74d528dcfe3dcaa6072289d71fa96569f5e39 Author: Maciej W. Rozycki Date: Tue Oct 2 14:54:15 2007 +0100 [MIPS] pg-r4k.c: Dump the generated code Dump the generated code for clear/copy page calls like it is done for TLB fault handlers. Useful for debugging. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit f13558c2a4a7339192ff7148ee903340affdb790 Author: Yoichi Yuasa Date: Tue Oct 2 23:21:36 2007 +0900 [MIPS] Cobalt: Remove cobalt_machine_power_off() It's same as cobalt_machine_halt(). Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 3282bd3cb0c7653e604c0d3666331281ae8f74c4 Author: Yoichi Yuasa Date: Tue Oct 2 23:17:38 2007 +0900 [MIPS] Cobalt: Move reset port definition to arch/mips/cobalt/reset.c It's only used in arch/mips/cobalt/reset.c. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 5a860424a1bcf21655d993a7c09b36662e34d2a9 Author: Yoichi Yuasa Date: Tue Oct 2 23:13:17 2007 +0900 [MIPS] Cobalt: Move UART base definition to arch/mips/cobalt/console.c They're only used in arch/mips/cobalt/console.c. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit b4126e86301cfc6863cbc74bc4500a88b7c582df Author: Yoichi Yuasa Date: Tue Oct 2 22:54:41 2007 +0900 [MIPS] Cobalt: Move PCI definitions to arch/mips/pci/fixup-cobalt.c. These PCI definitions are only used in arch/mips/pci/fixup-cobalt.c. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit b1df86d6e148e3be6d1e43e604b19fbb6815b8ba Author: Florian Fainelli Date: Mon Oct 1 13:52:38 2007 +0200 [MIPS] MTX1: Add defconfig file Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 414461f9e0e30551a75b015aa2864efbf393de2f Author: Yoichi Yuasa Date: Mon Oct 1 19:48:31 2007 +0900 [MIPS] Cobalt: Add LED support to cobalt_defconfig Add LED support to cobalt_defconfig. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 9a203755ca392587953be2b5cf235800dcb27d8e Author: Yoichi Yuasa Date: Mon Oct 1 19:46:50 2007 +0900 [MIPS] Cobalt: Add Qube series front LED support to platform register Add Cobalt Qube series front LED support to platform register. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit e86169fffedc2f461be6f70817ae5ab201c12fd5 Author: Yoichi Yuasa Date: Mon Oct 1 19:45:05 2007 +0900 [MIPS] Cobalt: Add Cobalt Raq LED platform register and power off trigger Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit f4fae8267c152d6c319a7bfaf92ed1c2c9a2c4e8 Author: Ralf Baechle Date: Thu Oct 11 23:46:12 2007 +0100 [MIPS] Optimize __alloc_zeroed_user_highpage implementation. Signed-off-by: Ralf Baechle commit db813fe5a77d03b29e872da47463d2efbddc3fc2 Author: Ralf Baechle Date: Thu Sep 27 18:26:43 2007 +0100 [MIPS] Avoid indexed cacheops. On MP configurations it's highly dubious what this code will actually affect since blasting away cachelines may or may not do the right thing wrt. cache coherency. Signed-off-by: Ralf Baechle commit e58d95abb7b3232333ab35a09f7f5b0cd6a19cdb Author: Franck Bui-Huu Date: Thu Sep 27 16:26:40 2007 +0200 [MIPS] Don't abort the build process if '-msym32' isn't supported -msym32 and previously the strategy to tell the compiler to generate 64-bit code but the assembler to put it into 32-bit ELF was initially a hack to get around the lack of proper 64-bit binutils support and later turned into a neat optimization with significant code size savings. But it's really just an optimization so there is nothing wrong with just dropping the option (and whatever else goes along with it, I forgot all the nasty details) on the floor if due to a vintage compiler it can't be suported. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit e9f874b6f761f7f8394157d28641491c9babc1d3 Author: Ralf Baechle Date: Thu Oct 11 23:46:10 2007 +0100 [MIPS] Clockevent driver for BCM1480 Signed-off-by: Ralf Baechle commit 9b9ea2202f3396790f635c62f7498ad75f08f62c Author: Ralf Baechle Date: Thu Oct 11 23:46:10 2007 +0100 [MIPS] Clockevent driver for BCM1250 Signed-off-by: Ralf Baechle commit d865bea4dace1d42995a6cf552bc4863842623f4 Author: Ralf Baechle Date: Thu Oct 11 23:46:10 2007 +0100 [MIPS] i8253 PIT clocksource and clockevent drivers Derived from the i386 variant with a few x86 complexities chopped off. Signed-off-by: Ralf Baechle commit 87b2335d6ef97e19ca19dbbb523673680a029e3f Author: Ralf Baechle Date: Thu Oct 11 23:46:10 2007 +0100 [MIPS] IP27: Add clocksource drivers Signed-off-by: Ralf Baechle commit 584d98be3b90f00b410288e59eeba871fbf81b86 Author: Ralf Baechle Date: Thu Oct 11 23:46:09 2007 +0100 [MIPS] Jazz clockevent driver Signed-off-by: Ralf Baechle commit ea5804015c0ce67741eb4b156a071fb4f415345f Author: Ralf Baechle Date: Thu Oct 11 23:46:09 2007 +0100 [MIPS] Dyntick support for SMTC: The kernel currently only supports broadcasting of the timer interrupt from a single timer, not multicasting into two multicast groups of processors. So the implemented mechanism for SMTC works by broadcasting the cp0 compare interrupt on VPE 0 and ignoring it on any additional VPEs. Signed-off-by: Ralf Baechle commit 7bcf7717b6a047c272410d0cd00213185fe6b99d Author: Ralf Baechle Date: Thu Oct 11 23:46:09 2007 +0100 [MIPS] Implement clockevents for R4000-style cp0 count/compare interrupt Signed-off-by: Ralf Baechle commit 91a2fcc88634663e9e13dcdfad0e4a860e64aeee Author: Ralf Baechle Date: Thu Oct 11 23:46:09 2007 +0100 [MIPS] Consolidate all variants of MIPS cp0 timer interrupt handlers. Signed-off-by: Ralf Baechle commit 90b02340dcc6ce00bf22c48f4865915f5989e5e4 Author: Ralf Baechle Date: Thu Oct 11 23:46:09 2007 +0100 [MIPS] Switch from to_tm to rtc_time_to_tm This replaces the MIPS-specific to_tm function with the generic rtc_time_to_tm function. The big difference between the two functions is that rtc_time_to_tm uses epoch 70 while to_tm uses 1970, so the result of rtc_time_to_tm needs to be fixed up. Signed-off-by: Ralf Baechle commit 4b550488f894c899aa54dc935c8fee47bca2b7df Author: Ralf Baechle Date: Thu Oct 11 23:46:08 2007 +0100 [MIPS] Deforest the function pointer jungle in the time code. Hard to follow who is pointing what to where and why so it's simply getting in the way of the time code renovation. Signed-off-by: Ralf Baechle commit f5ff0a280201c9cbfb6e9eb4bafdb465c2269ed3 Author: Ralf Baechle Date: Mon Aug 13 15:26:12 2007 +0100 [MIPS] Use generic NTP code for all MIPS platforms Signed-off-by: Ralf Baechle commit 4680576edecb640f64936bd9b92add0a56027b61 Author: Ahmed S. Darwish Date: Thu Sep 27 01:35:43 2007 +0300 [MIPS] Replace deprecated SA_* IRQ flags with modern IRQF_ variants. Signed-off-by: Ahmed S. Darwish Signed-off-by: Ralf Baechle commit 05dc8c02bf40090e9ed23932b1980ead48eb8870 Author: Ralf Baechle Date: Thu Oct 11 23:46:08 2007 +0100 [MIPS] ARC: Get rid of mips_machgroup This has not been any serious user of this ill conceived thing since the original invention in like '95. Signed-off-by: Ralf Baechle commit 112b20a1e849aec8077bbf11fc3de338b62f363a Author: Ralf Baechle Date: Thu Oct 11 23:46:07 2007 +0100 [MIPS] ARC: Convert mach_table[] to ISO C initializers. Signed-off-by: Ralf Baechle commit 99977c1e9faa6a28677314c16f94762fc1f3f365 Author: Maciej W. Rozycki Date: Mon Sep 24 16:13:34 2007 +0100 [MIPS] dec/time.c: Remove no longer needed inclusion of . Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit baf22c1e7aedf264e264b15d2595e5e76564bd4e Author: Ralf Baechle Date: Thu Oct 11 23:46:07 2007 +0100 [MIPS] Split up war.h It was getting a little big, ugly and a primary source for merge conflicts. Also the old method was a bit too forgiving in that the workaround did default to off, so now there is an explicit #error forcing platform maintainers to think if they should enable a workaround for a particular platform. Signed-off-by: Ralf Baechle commit 21c854dcbd7698bf723676a552968040e2813490 Author: Aurelien Jarno Date: Tue Sep 25 15:43:07 2007 +0200 [MIPS] GPIO LED driver for the WGT634U machine Add LED support to the WGT634U machine. It uses the new gpio-led driver and a platform driver for the pin definitions. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit 34cc662f8aae0ce1db5c64d55a39a5081f9e3cd8 Author: Aurelien Jarno Date: Tue Sep 25 15:42:09 2007 +0200 [MIPS] Add gpio support to the BCM47XX platform Add GPIO support to the BCM47XX platform. It will be used by a GPIO LED driver. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit 25e5fb97419f73d39b37e9f73f9492c394de07b2 Author: Aurelien Jarno Date: Tue Sep 25 15:41:24 2007 +0200 [MIPS] Add CFE support to BCM47XX Add CFE support to the BCM47XX code. That includes querying CFE environment variables as well as using CFE to print messages before the serial port is initialized (early printk). Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit 2f56cfdd812a17623483d3dfa3370a2e6282b245 Author: Aurelien Jarno Date: Wed Sep 5 08:59:34 2007 +0200 [MIPS] Move ARC code into arch/mips/fw/arc Move the ARC code to arch/mips/fw/arc from arch/mips/arc. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit df78b5c8faa72b3c04f82faab126de93af178348 Author: Aurelien Jarno Date: Wed Sep 5 08:58:26 2007 +0200 [MIPS] Move CFE code into arch/mips/fw/cfe Move the platform independent part of the CFE code to arch/mips/fw/cfe from arch/mips/sibyte/cfe. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit cc6e8e0812cf95aea397c457ff48de2ac069614f Author: Ralf Baechle Date: Thu Oct 11 23:46:05 2007 +0100 [MIPS] Remove IP27 specific structures from struct cpuinfo_mips Signed-off-by: Ralf Baechle commit 641e97f318870921d048154af6807e46e43c307a Author: Ralf Baechle Date: Thu Oct 11 23:46:05 2007 +0100 [MIPS] Sibyte: Replace SB1 cachecode with standard R4000 class cache code. It may not be perfect yet but the SB1 code is badly borken and has horrible performance issues. Downside: This seriously breaks support for pass 1 parts of the BCM1250 where indexed cacheops don't work quite reliable but I seem to be the last one on the planet with a pass 1 part anyway. Signed-off-by: Ralf Baechle commit 424b28ba4d25fc41abdb7e6fa90e132f0d9558fb Author: Ralf Baechle Date: Thu Oct 11 23:46:05 2007 +0100 [MIPS] Alchemy: remove useless prototypes. Signed-off-by: Ralf Baechle commit 7c4b4773b9b6c440837e5a479204d7bd1b804a43 Author: Ralf Baechle Date: Thu Oct 11 23:46:05 2007 +0100 [MIPS] Sibyte: cleanup static inline forward declarations. In fact there are no foward declarations at all needed when moving things into the right order. Signed-off-by: Ralf Baechle commit e5d77754c5e1a54f9eb61c03085d7932a0b6b738 Author: Maciej W. Rozycki Date: Tue Sep 18 18:49:08 2007 +0100 [MIPS] R3000 setup for kernel_thread() Match the R4000 semantics for the initial state of interrupt/kernel status register flags for the R3000 in kernel_thread(). Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 0f5c90644240cc17d5940fa3594cc51ad1ae7ba7 Author: Sam Ravnborg Date: Sat Sep 15 23:35:53 2007 +0200 [MIPS] Introduce a consistent style for vmlinux.lds. This style will be consitent with all other arch's - soon. In addition: - Moved a few labels inside brackets for the sections they specify to prevent that linker alignmnet made them point before the section start Signed-off-by: Sam Ravnborg Signed-off-by: Ralf Baechle commit d5ab1a6910fe850fa092888f210cf6c43136a7ab Author: Yoichi Yuasa Date: Thu Sep 13 23:51:26 2007 +0900 [MIPS] Add GT641xx IRQ routines. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 718f05f6ddc171a90fb7a277be6f6f65b4ca82be Author: Yoichi Yuasa Date: Wed Sep 12 23:19:45 2007 +0900 [MIPS] GT64120: Remove unused definitions Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit d80c1c0b2207ba326b2c06249dfebddf8ac863bd Author: Yoichi Yuasa Date: Thu Sep 13 11:04:04 2007 +0900 [MIPS] i8295 cleanups. o Move i8259 function declarations to include/asm-mips/i8259.h o Make i8259.c functions static where possible. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit ec70f65e3b5309e7ac8b5508ff5657050c92b913 Author: Ralf Baechle Date: Thu Oct 11 23:46:03 2007 +0100 [MIPS] Kill useless volatile keyword Signed-off-by: Ralf Baechle commit b47bd961e298aff8144a98bff38cf4de4a2834b9 Author: Atsushi Nemoto Date: Sun Sep 9 02:50:42 2007 +0900 [MIPS] Kill redundant EXTRA_AFLAGS Kill redundant EXTRA_AFLAGS added after the commit d2af363cfb94f1bacb3e60327bc44a97881a38c2. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit bcb0fd94633afde9c1f4f8aca43141ba2c78f04b Author: Thiemo Seufer Date: Wed Sep 5 17:44:50 2007 +0100 [MIPS] Define known MIPS ISA overrides for Sibyte and Excite boards. Signed-Off-By: Thiemo Seufer Signed-off-by: Ralf Baechle commit 7ca16d269a1a4b96d98968b48f137977bcab1522 Author: Ralf Baechle Date: Thu Oct 11 23:46:03 2007 +0100 [MIPS] floppy: Rewrite fd_cacheflush() to use dma_cache_sync(). Signed-off-by: Ralf Baechle commit abb4ae4630633573862934173e5f506771c5d6b1 Author: Ralf Baechle Date: Thu Oct 11 23:46:03 2007 +0100 [MIPS] PCI: Always enable CONFIG_PCI_DOMAINS The cost is just too low. Signed-off-by: Ralf Baechle commit a02eb8da02741f43efb6f06adf534f9f2b913d80 Author: Atsushi Nemoto Date: Tue Aug 28 00:28:09 2007 +0900 [MIPS] tx4927: Cleanup unused macros and non-standard IO accessors. This patch removes many unused constants, replaces non-standard IO accessors with standard ones, and kills terrible tx4927_mips.h file. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 4e45171c4e31578157189ca22cfb7b2bcc5f69f2 Author: Thomas Gleixner Date: Tue Aug 28 09:03:01 2007 +0000 [MIPS] cleanup struct irqaction initializers Signed-off-by: Thomas Gleixner CC: Ralf Baechle Signed-off-by: Ralf Baechle commit 1c0c13eb935c95fd2ca0b0aca6dd4860487fb242 Author: Aurelien Jarno Date: Tue Sep 25 15:40:12 2007 +0200 [MIPS] Add support for BCM47XX CPUs. Note that the BCM4710 does not support the wait instruction, this is not a mistake in the code. It originally comes from the OpenWrt patches. Cc: Michael Buesch Cc: Felix Fietkau Cc: Florian Schirmer Signed-off-by: Aurelien Jarno Signed-off-by: Andrew Morton Signed-off-by: Ralf Baechle commit ea202c632a52c4a83f1bd82d8d06bc8e04f2689a Author: Thomas Bogendoerfer Date: Sat Aug 25 11:01:50 2007 +0200 [MIPS] JAZZ fixes - restructured irq handling - switched vdma to use memory allocated via get_free_pages - setup platform devices for serial, jazz_esp and jazzsonic - fixed cmos rtc access Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 1f21d2bde0046e959b53756f74d96dfd040a803b Author: Brian Murphy Date: Tue Aug 21 22:34:16 2007 +0200 [MIPS] Add back support for LASAT platforms Signed-off-by: Brian Murphy Signed-off-by: Ralf Baechle commit 0caf583398309398ec05fc76bff15c711e9f936d Author: Yoichi Yuasa Date: Thu Aug 16 23:15:42 2007 +0900 [MIPS] fix ABI check in include/asm-mips/arv/hinv.h Fix ABI check in include/asm-mips/arv/hinv.h Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 4c6d0fc2f6ce44161f3fac3b34d262c0dd06cf0c Author: Yoichi Yuasa Date: Thu Aug 16 22:56:04 2007 +0900 [MIPS] remove unused include/asm-mips/ip32/machine.h Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit ddcf4efb7a5a38c2d82decbdfd99c43bbf226551 Author: Yoichi Yuasa Date: Thu Aug 16 22:54:02 2007 +0900 [MIPS] IP27: remove duplicate extern dump_tlb_all() prototype Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit fa41780606e7a5999a9096269c0ad8e7cee2b95b Author: Yoichi Yuasa Date: Thu Aug 16 22:27:05 2007 +0900 [MIPS] VR41xx: replace infinite loop with hibernate Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 2f2a2d9987c4836493bfb2a80960056ef86742d2 Author: Yoichi Yuasa Date: Thu Aug 16 22:20:11 2007 +0900 [MIPS] VR41xx: Add default restart routine. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 054c51b4368648406f487f54b7ed6ba75bbb3f8b Author: Franck Bui-Huu Date: Thu Feb 15 14:21:36 2007 +0100 [MIPS] Rename CONFIG_BUILD_ELF64 into KBUILD_64BIT_SYM32 This patch renames it for 3 reasons: - "CONFIG" pattern is used by Kconfig. Now this macro is no more defined by Kconfig but by Kbuild itself make this clear by translating "CONFIG" into "KBUILD". - "ELF32" word is improper because it is irrelevant to ELF format and it makes confusion with CONFIG_BOOT_ELF32. So translate it with SYM32. - Add "64BIT" part to make clear that this macro implies a 64 bits kernel. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit adff90a9333004d5459823665e8bcf6cb9214f79 Author: Franck Bui-Huu Date: Thu Feb 15 12:06:48 2007 +0100 [MIPS] Automatically set CONFIG_BUILD_ELF64 We do not rely on user anymore to setup this config correctly. Instead we make our choice depending on the load address. If we want to force Kbuild to use ELF64 format whatever the load address we can still do: $ make BUILD_ELF32=no Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 8c67316e706cabc2145d6c8e97f0bd8f2a86d8a1 Author: Franck Bui-Huu Date: Thu Feb 15 12:06:47 2007 +0100 [MIPS] Remove '-mno-explicit-relocs' option when CONFIG_BUILD_ELF64 This patch removes '-mno-explicit-relocs' usage when CONFIG_BUILD_ELF64 is set since this option was only required with the old hack to truncate addresses at the assembly level where "-mabi=64 -Wa,-mabi=32" was used. This should yield a small code size improvement for inline assembly, where the R constraint is used. The idea is coming from Maciej . Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit d87d0c930a1591617e4c7c78296b4ba029150188 Author: Ralf Baechle Date: Thu Oct 11 23:45:58 2007 +0100 [MIPS] SMTC: Microoptimize atomic_postincrement for non-weak consistency. Signed-off-by: Ralf Baechle commit 61a33168bebb6ce5343a5f34ab421971dbfae9fa Author: Yoichi Yuasa Date: Tue Aug 7 00:09:17 2007 +0900 [MIPS] vr41xx: add cpu_wait Add cpu_wait for NEC VR41xx Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit f571eff0a24ed97a919f2b61bb4afdeab4b43002 Author: Kevin D. Kissell Date: Fri Aug 3 19:38:03 2007 +0200 [MIPS] IRQ Affinity Support for SMTC on Malta Platform Signed-off-by: Kevin D. Kissell Signed-off-by: Ralf Baechle commit 8f4dd2e42637fd61a6366d2cace69091926eaa15 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:02 2007 +0200 ide: use only ->set_pio_mode method for programming PIO modes (take 2) Use ->set_pio_mode method to program PIO modes in ide_set_xfer_rate() (the only place which used ->speedproc to program PIO modes) and remove handling of PIO modes from all ->speedproc implementations. v2: * Fix pmac_ide_tune_chipset() comment. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0d3be723cb6432e384267d0fe83ee0bae5e17846 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:01 2007 +0200 sis5513: don't change UDMA settings when programming PIO Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 90986028c98be10807bb6f48e883f33fa20e5499 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:01 2007 +0200 it8213/piix/slc90e66: don't change DMA settings when programming PIO Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a6fe837ed63aa812bea029a24b7aafc72ba8de88 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:01 2007 +0200 alim15x3: PIO mode setup fixes * Return failure in ->speedproc method for unsupported/invalid transfer modes passed from user-space (fixes theoretical OOPS in ali_tune_pio() and/or setting random PIO timings on host controller + disabling UDMA bit + setting unsupported/invalid transfer mode on the device). * Don't disable UDMA bit when programming PIO modes. * Add FIXME about DMA timings never being set. * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ffe5415c3d6138aff412af7e455b3df4d53c0aa0 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:01 2007 +0200 siimage: fix ->set_pio_mode method to select PIO data transfer * Remember to select PIO data transfer (with IORDY monitored) in sil_tune_pio() (->set_pio_mode method) so the controller is always programmed correctly for PIO transfers (this is important if DMA is not going to be used). * Don't set DMA/UDMA timings for PIO modes in siimage_tune_chipset(). * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 326d72f437b0a9216290ad8f10817e1e363fd813 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:01 2007 +0200 cs5520: don't enable VDMA in ->speedproc There is no need to do it in cs5520_tune_chipset() (->speedproc method) since it is correctly handled by cs5520_dma_on() (->ide_dma_on method). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit fabe1510568acd5194f630dbbcf77a34610d7e9e Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:01 2007 +0200 sc1200: remove redundant warning message from sc1200_tune_chipset() ide_config_drive_speed() called by sc1200_set_xfer_mode() already gives a meaningful warning message in case of failure. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c15d5d43e6eed180e275f1db296eab5560a1bf59 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:01 2007 +0200 ide-pmac: PIO mode setup fixes (take 3) * Add { 0, 0 } entry to {kauai,shasta}_pio_timings[] so kauai_lookup_timing() always returns a valid PIO timing (fixes PIO timing not being set for devices with minimum PIO cycle <= 120ns). * Add setting transfer mode on the device to pmac_ide_set_pio_mode(). * Fix pmac_ide_set_pio() to always program chipset for given PIO timing instead of only when the device we want to program PIO timing for is the currently selected one. * Now that pmac_ide_set_pio() is fixed there is no need to set transfer mode on the device and program chipset for PIO in pmac_ide_tune_chipset() (returning 0 == success is not entirely correct but is OK for now since the upper layers are only checking ->speedproc return value for DMA modes). v2: * s/speed/XFER_PIO_0 + pio/ in pmac_ide_set_pio_mode() so it actually compiles. * Removal of kauai_lookup_timing() return value checking went to separate patch. v3: * Use XFER_PIO_0 not XFER_PIO. (Noticed by Ben) Cc: Benjamin Herrenschmidt Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f44ae58a273b1b051122784a159ad608b7205afd Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:00 2007 +0200 icside: fix ->speedproc to return on unsupported modes (take 5) * All other implementations of ->speedproc return zero on success and non-zero on failure. Currently it doesn't matter for icside host driver and isn't a bug per se since: - ide_set_xfer_rate() return value is ignored by all IDE core users - icside doesn't (yet!) use ide_tune_dma() in icside_dma_check() but sooner or later we will need to fix anyway - so lets do it now. * icside_set_speed() happily accepts unsupported transfer modes which results in drive->drive_data being set to the maximum value (480) and drive->current_speed being set to the unsupported transfer mode. Fix it. v2: * The initial version of the patch was broken because it didn't take into the account (the different from usual) return values of icside_set_speed() (Noticed by Russell). v3: * Remove no longer needed initialization/checking of cycle_time (Noticed by Sergei). * No need to set drive->drive_data if DMA is not going to be used (Noticed by Sergei). * Remove incorrect setting of drive->current_speed (Noticed by Sergei). * Move ide_config_drive_speed() at the end of icside_set_speed(). v4: * If DMA mode is not found in icside_dma_check() then just return "-1" and don't call icside_set_speed() (v3 got it wrong and "1" was returned instead). v5: * Return "-1"/"0" in icside_set_speed() instead of icside_dma_check() return value (just like it was before this patch). Cc: Russell King Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ca1997c1f35891b9e5d6c71ac587f97216886194 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:00 2007 +0200 sgiioc4: use ide_tune_dma() * Add DRV_NAME define and use it instead of sgiioc4_chipset.name. * Remove no longer needed sgiioc4_chipset. * Remove needless clearing of ->atapi_dma from ide_dma_sgiioc4(). * Fix ide_dma_sgiioc4() to return success/failure. Check return value in sgiioc4_ide_setup_pci_device() and set hwif->autodma accordingly. Also add missing setting of drive->autodma. * Add sgiioc4_speedproc() (implementation of ->speedproc method). * Fix ->mwdma_mask (MWDMA2 mask is 0x04 not 0x02) and remove incorrect ->swdma_mask. Also remove needless initialization of ->ultra_mask. * Use ide_tune_dma() in sgiioc4_ide_dma_check(), this fixes following bugs: - DMA capability bit not being checked on the device - DMA blacklist not being checked - MWDMA2 mode support by device not being checked Acked-by: Sergei Shtylyov Signed-off-by: Jeremy Higdon Signed-off-by: Bartlomiej Zolnierkiewicz commit 55f17e8da1f02ce0a36303a3f266c45045004cf5 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:00 2007 +0200 amd74xx/via82cxxx: use ide_tune_dma() * Use ide_tune_dma() in amd74xx/via82cxxx driver, this fixes following bugs: - DMA capability bit not being checked on the device - DMA blacklist not being checked - DMA mode being programmed even if drive->autodma == 0 (thus possibly destroying PIO timings) * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 26bcb879c03254545a19c6700fe5bcef6f21e7b1 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:00 2007 +0200 ide: add ide_set{_max}_pio() (take 4) * Add IDE_HFLAG_ABUSE_{PREFETCH,FAST_DEVSEL,DMA_MODES} flags and set them in ht6560, cmd640, cmd64x and sc1200 host drivers. * Add set_pio_mode_abuse() for checking if host driver has a non-standard ->tuneproc() implementation and use it in do_special(). * Add ide_set_pio() for setting PIO mode (it uses hwif->pio_mask to find the maximum PIO mode supported by the host), also add ide_set_max_pio() wrapper for ide_set_pio() to use for auto-tuning. Convert users of ->tuneproc to use ide_set{_max}_pio() where possible. This leaves only do_special(), set_using_pio(), ide_hwif_restore() and ide_set_pio() as a direct users of ->tuneproc. * Remove no longer needed ide_get_best_pio_mode() calls and printk-s reporting PIO mode selected from ->tuneproc implementations. * Rename ->tuneproc hook to ->set_pio_mode and make 'pio' argument const. * Remove stale comment from ide_config_drive_speed(). v2: * Fix "ata_" prefix (Noticed by Jeff). v3: * Minor cleanups/fixups per Sergei's suggestions. v4: * Fix compile problem in drivers/ide/pci/cmd640.c (Noticed by Andrew Morton). * Improve some ->set_pio_mode comments. Reviewed-by: Sergei Shtylyov Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 842c19ad6fc0dbd9ac9d2f8527466201802934cf Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:00 2007 +0200 ide: Kconfig face-lift * Convert config options for PCI host drivers to select BLK_DEV_IDEPCI. * Same for BLK_DEV_IDEDMA_PCI and PCI DMA host drivers, also make this config option select BLK_DEV_IDEPCI. * Remove no longer needed help for BLK_DEV_IDEPCI and BLK_DEV_IDEDMA_PCI. * Remove redundant IDE_CHIPSETS config option. As a result of this patch users have now three less config options to worry about and can just select host drivers that they need (IDE config menu is "flatter"). Signed-off-by: Bartlomiej Zolnierkiewicz commit f212ff28f08e4ddcef9f25b13463c45cc4204a0c Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:53:59 2007 +0200 ide: move ide_rate_filter() calls to the upper layer (take 2) * Move ide_rate_filter() calls from host drivers to IDE core. * Make ide_rate_filter() static. * Make 'speed' argument of ->speedproc const. v2: * Fix it8213_tune_chipset() comment. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3160d5416f39da9d9221fec7cb9d64399b706bbc Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:53:59 2007 +0200 sis5513: add ->udma_filter method for chipset_family >= ATA_133 * Add sis5513_ata133_udma_filter() for chipset_family >= ATA_133, use it to filter UDMA6 mode if ATA133 bit is disabled. * Remove no longer needed UDMA6 limiting logic from sis5513_tune_chipset(). * Bump driver version. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7670df73fba373d19471a2ebedb3302ea0607be0 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:53:59 2007 +0200 ide: mode limiting fixes for user requested speed changes * Add an extra argument to ide_max_dma_mode() for passing requested transfer mode. Use it as an upper limit when finding the best DMA for device/host. * Rename ide_max_dma_mode() to ide_find_dma_mode() and at the same time add ide_max_dma_mode() wrapper which passes XFER_UDMA_6 as a requested mode to ide_find_dma_mode(). Also add inline ide_find_dma_mode() version for CONFIG_BLK_DEV_IDEDMA=n case. * Pass requested transfer mode from ide_find_dma_mode() to ide_get_mode_mask() to avoid false warning from eighty_ninty_three(). * Use ide_find_dma_mode() to limit the user requested transfer mode in ide_rate_filter(). Also limit the requested mode by host max PIO mode. Above changes make ide_rate_filter() to: * Clip desired transfer mode down if it is invalid (values 0x0F, 0x13-0x19 and 0x25-0x39, values > 0x46 were already clipped down, same for values 0x25-0x39 but iff UDMA was not supported by the host). * Clip desired transfer mode down if it is currently unsupported by IDE core (PIO6 and MWDMA3-4, the latter were already clipped down but iff UDMA was not supported by the host). * Clip desired transfer mode down according to the host capabilities (UDMA modes were already clipped down but MWDMA/SWDMA/PIO weren't, also ->atapi_dma flag was not respected). * Clip desired transfer mode down according to the device capabilities (except PIO modes for now which require mode work) - shouldn't be a problem since ide_set_xfer_rate() is called _after_ device has accepted given transfer mode. and also result in a number of host driver specific bugfixes: * icside - clip unsupported PIO5 mode down - fix unsupported/invalid modes being set in drive->current_speed * ide-cris - clip unsupported PIO5 and SWDMA0-2 modes down - clip DMA modes down for ATAPI devices - fix BUG() on unsupported/invalid modes * au1xxx-ide - clip unsupported PIO5, SWDMA0-2 and MWDMA0-2 (if BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA=n) modes down * aec62xx - clip unsupported PIO5 and SWDMA0-2 modes down - clip DMA modes down for ATAPI devices - fix 0x00 being programmed as PIO timing for unsupported/invalid modes - fix unsupported/invalid modes being set on the device * alim15x3 - clip DMA modes down for ATAPI devices (chipset revision == 0x20 only) - fix theoretical OOPS for 0x0F mode - fix unsupported/invalid modes being set on the device * amd74xx - clip unsupported SWDMA0-2 (on COBRA_7401 revs <= 7) modes down - fix random PIO timings being set for unsupported/invalid modes - fix unsupported/invalid modes being set on the device * atiixp - clip unsupported PIO5 and SWDMA0-2 modes down - fix cached MWDMA mode being cleared for unsupported/invalid modes - fix PIO{0,2} timings being programmed for unsupported/invalid modes - fix theoretical OOPS for PIO5-6 and 0x0F modes - fix unsupported/invalid modes being set on the device * cmd64x - clip unsupported SWDMA0-2 modes down * cs5530 - clip unsupported PIO5 and SWDMA0-2 modes down - fix unsupported/invalid modes being set on the device - fix BUG() on unsupported/invalid modes (which happened if the device accepted the setting) * cs5535 - clip unsupported PIO5 and SWDMA0-2 modes down - fix unsupported/invalid modes being set on the device - fix theoretical OOPS for PIO5-6 and 0x0F modes * hpt34x - clip DMA modes down for ATAPI devices - fix invalid timings being programmed for unsupported/invalid modes - fix unsupported/invalid modes being set on the device * hpt366 - clip unsupported PIO5 and SWDMA0-2 modes down - fix PIO0 timings being programmed for unsupported/invalid modes - fix DMA timings being cleared for MWDMA3-4 and 0x25-0x39 modes - fix unsupported/invalid modes being set on the device * it8213 - clip unsupported PIO5, SWDMA0-1 and MWDMA0 modes down * it821x - clip unsupported PIO5 and SWDMA0-2 modes down - clip DMA modes down for ATAPI devices (chipset in smart mode and revision 0x10 in pass-through mode) * jmicron - clip unsupported SWDMA0-2 modes down - fix unsupported/invalid modes being set on the device * pdc202xx_new - clip unsupported PIO5 and SWDMA0-2 modes down - fix unsupported/invalid modes being set on the device * pdc202xx_old - clip unsupported PIO5 mode down - fix incorrect timings being set for unsupported/invalid modes - fix unsupported/invalid modes being set on the device * piix - clip unsupported PIO5, SWDMA0-1 and MWDMA0 modes down * sc1200 - clip unsupported PIO5 and SWDMA0-2 modes down - fix unsupported/invalid modes being set on the device - fix BUG() on unsupported/invalid modes (which happened if the device accepted the setting) * scc_pata - clip unsupported PIO5, SWDMA0-2 and MWDMA0-2 modes down * serverworks - clip unsupported PIO5 and SWDMA0-2 modes down - fix DMA/UDMA timings/settings being cleared for unsupported/invalid modes - fix unsupported/invalid modes being set on the device * siimage - clip unsupported PIO5 and SWDMA0-2 modes down - clip DMA modes down for ATAPI devices (SATA chipsets) * sis5513 - clip unsupported PIO5 mode down - fix BUG() on unsupported/invalid modes * sl82c105 - clip unsupported SWDMA0-2 modes down * slc90e66 - clip unsupported PIO5, SWDMA0-1 and MWDMA0 modes down * tc86c001 - clip unsupported PIO5 and SWDMA0-2 modes down - fix PIO0 timings being programmed for PIO5/0x0F/SWDMA0-2/0x13-0x19 modes - fix invalid 0x00 DMA timing being programmed for MWDMA3-4/0x25-0x39 modes - fix unsupported/invalid modes being set on the device * triflex - clip unsupported PIO5 mode down * via82cxxx - fix random PIO timings being set for unsupported/invalid modes - fix unsupported/invalid modes being set on the device * pmac - clip unsupported PIO5 and SWDMA0-2 modes down * cmd640/ht6560b - clip DMA modes down (if CONFIG_BLK_DEV_IDEDMA=y) - fix PIO5 being clipped to PIO4 (if CONFIG_BLK_DEV_IDEDMA=n) * opti621 - clip DMA modes down (if CONFIG_BLK_DEV_IDEDMA=y) - clip unsupported PIO4 to PIO3 (if CONFIG_BLK_DEV_IDEDMA=n) While at it: * Use ide_rate_filter() in cs5520.c::cs5520_tune_chipset(). * Remove no longer needed checks from hpt366.c::hpt3{6,7}x_tune_chipset(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a8028fcb485522c0d7de9c5423812de9224b37c9 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:53:59 2007 +0200 ide: add missing ide_rate_filter() calls to ->speedproc()-s * Fix icside, cris-ide, au1xxx-ide, amd74xx, via82cxxx and pmac host drivers to use ide_rate_filter(). This results in the following modes (from user requests) being clipped down: - invalid modes (values 0x46-0xFF) [ for all hosts ] - unsupported by a host UDMA modes [ for hosts which support UDMA] - all UDMA modes and MWDMA3-4 modes [ for hosts which don't support UDMA ] - invalid modes (values 0x25-0x39) [ for hosts which don't support UDMA ] * Host driver specific changes in behavior: icside: - no change cris-ide - clip unsupported UDMA3-6 modes down - fix BUG() on trying to set unsupported UDMA3-6 modes au1xxx-ide/pmac - clip unsupported UDMA modes down amd74xx/via82cxxx - clip unsupported UDMA modes down - fix random PIO timings being set for unsupported/invalid modes - fix unsupported/invalid modes being set on the device * While at it remove no longer needed checks from pmac.c driver. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 851dd33bcf23655eede62730c029e4f608f4084f Author: Sergei Shtylyov Date: Thu Oct 11 23:53:59 2007 +0200 ide: call udma_filter() before resorting to the UltraDMA mask Give the udma_filter() method call precedence over using the mode masks. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bda7970c27b1033de0afa737cd8e5abf9c55c3d2 Author: Tejun Heo Date: Thu Oct 11 23:53:59 2007 +0200 ide: make jmicron match vendor and device class PATA part of all current JMB controllers behave the same way and JMicron confirms that all future ones will stay compatible. Matching vendor and device class is enough. For backward compatibility, jmicron still needs to match 361,3,5,6,8 DIDs regardless of device class if libata is not configured but won't need further DID update from this point. Bart: cosmetic fixes to jmicron_chipset Signed-off-by: Tejun Heo Cc: Ethan Hsiao Cc: Justin Tsai Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 07047935795917f21dc532c0c17811213cbc2e97 Author: Sergei Shtylyov Date: Thu Oct 11 23:53:58 2007 +0200 pdc202xx_new: switch to using pci_get_slot() (take 2) Switch to using pci_get_slot() in init_setup_pdc20270() to get to the mate chip behind DC21150 bridge as there's no need for the driver itself to walk the list of the PCI devices (and the driver didn't check the bus # of the found device). While at it, make it emit warning about IRQ # being fixed up (just like hpt366.c does) and "beautify" this whole function as well as init_setup_pdc20276()... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e32132befa5d2cefadf3141fee0bbb40cd11f0e Author: Shaohua Li Date: Thu Oct 11 23:53:58 2007 +0200 ide: hook ACPI _PSx method to IDE power on/off ACPI spec defines the sequence of IDE power on/off: Powering down: Call _GTM. Power down drive (calls _PS3 method and turns off power planes). Powering up: Power up drive (calls _PS0 method if present and turns on power planes). Call _STM passing info from _GTM (possibly modified), with ID data from each drive. Initialize the channel. May modify the results of _GTF. For each drive: Call _GTF. Execute task file (possibly modified). This patch adds the missed _PS0/_PS3 methods call. Signed-off-by: Shaohua Li Acked-by: Len Brown Signed-off-by: Bartlomiej Zolnierkiewicz commit 8cb1f567f4c0a2fde9cbf77c2af888a28cab3423 Author: Anton Vorontsov Date: Thu Oct 11 23:53:58 2007 +0200 ide: Platform IDE driver This is now very similar to pata_platform.c, they both use same platform data structure and same resources. To achieve that, byte_lanes_swapping platform data variable and platform specified iops removed from that driver. It's fine, since those were never used anyway. pata_platform and ide_platform are carrying same driver names, to easily switch between these drivers, without need to touch platform code. Bart: - build fix from Andrew Morton Signed-off-by: Anton Vorontsov Signed-off-by: Vitaly Bordug Cc: Sergei Shtylyov Acked-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit b4e44369a380c1836d0983c2a5011099b7b26eb1 Author: Sergei Shtylyov Date: Thu Oct 11 23:53:58 2007 +0200 hpt366: MWDMA filter for SATA cards (take 2) The Marvell bridge chips used on HighPoint SATA cards do not seem to support the MWDMA modes (at least that could be seen in their so-called drivers :-), so the driver needs to account for this -- to achieve this: - add mdma_filter() method from the original patch by Bartlomiej Zolnierkiewicz with his consent; - install the method for all chips to only return empty mask if a SATA drive is detected on HPT372{AN]/374 chips... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7cfa7168f7a7730abf1aa2af4a7596d24edd4c21 Author: Shane Huang Date: Thu Oct 11 23:53:58 2007 +0200 atiixp: SB700 contains more than one IDE channel SB700 supports one physical IDE channel, but SB700 SATA controller supports combined mode. When the SATA combined mode is enabled, two SATA ports (port4 and port5) share one IDE channel from IDE controller, and PATA will share the other IDE channel. Our previous patch adding SB700 IDE device ID only supports one IDE channel, which contains bug. The attached patch fixes the bug. Signed-off-by: "Shane Huang" Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4953f0fcc06a125f87874743d968c0e185c8b296 Author: Brian Haley Date: Thu Oct 11 14:39:29 2007 -0700 [IPv6]: Update setsockopt(IPV6_MULTICAST_IF) to support RFC 3493, try2 From RFC 3493, Section 5.2: IPV6_MULTICAST_IF Set the interface to use for outgoing multicast packets. The argument is the index of the interface to use. If the interface index is specified as zero, the system selects the interface (for example, by looking up the address in a routing table and using the resulting interface). This patch adds support for (index == 0) to reset the value to it's original state, allowing the system to choose the best interface. IPv4 already behaves this way. Signed-off-by: Brian Haley Acked-by: David L Stevens Signed-off-by: David S. Miller commit 73aaf9355b71d295fd72dc0b93fcdd275c56648f Author: Jan Engelhardt Date: Thu Oct 11 14:36:40 2007 -0700 [NETFILTER]: x_tables: add missing ip6t_modulename aliases The patch will add MODULE_ALIAS("ip6t_") where missing, otherwise you will get ip6tables: No chain/target/match by that name when xt_ is not already loaded. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 17311393f969090ab060540bd9dbe7dc885a76d5 Author: Jozsef Kadlecsik Date: Thu Oct 11 14:35:52 2007 -0700 [NETFILTER]: nf_conntrack_tcp: fix connection reopening With your description I could reproduce the bug and actually you were completely right: the code above is incorrect. Somehow I was able to misread RFC1122 and mixed the roles :-(: When a connection is >>closed actively<<, it MUST linger in TIME-WAIT state for a time 2xMSL (Maximum Segment Lifetime). However, it MAY >>accept<< a new SYN from the remote TCP to reopen the connection directly from TIME-WAIT state, if it: [...] The fix is as follows: if the receiver initiated an active close, then the sender may reopen the connection - otherwise try to figure out if we hold a dead connection. Signed-off-by: Jozsef Kadlecsik Tested-by: Krzysztof Piotr Oledzki Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c3f8f65046127f471d0b6193a1923185b354c011 Author: Richard Purdie Date: Mon Sep 3 00:27:00 2007 +0100 backlight: Convert corgi backlight driver into a more generic driver Convert the corgi backlight driver to a more generic version so it can be reused by other code rather than being Zaurus/PXA specific. Signed-off-by: Richard Purdie commit 18f65c793a5106b9f99822ef248e71582db03386 Author: Haavard Skinnemoen Date: Sun Sep 2 23:15:49 2007 +0100 backlight: Add Samsung LTV350QV LCD driver This patch adds support for powering on and off the Samsung LTV350QV LCD panel via SPI. The driver responds to framebuffer power management, it powers off the panel on reboot/halt/poweroff. It can also be controlled through sysfs. The panel is powered up when the module is loaded, and off when the module is unloaded. Verified on AVR32 STK1000. Signed-off-by: Haavard Skinnemoen Signed-off-by: David Brownell Signed-off-by: Richard Purdie commit 0b75f2dfa2a67012ff6996b322117e1d7e45abe1 Author: Jesper Juhl Date: Sat Aug 11 10:29:59 2007 +0100 backlight: Fix cr_bllcd allocations and error paths After fixing the too small memory allocation in cr_backlight_probe() from drivers/video/backlight/cr_bllcd.c (commit e3bbb3f05339de438faf54124f25c92e6fe4ac2e) I noticed that the Coverity checker also thought there were a few memory leaks in there. I took a closer look and confirmed that there were indeed several leaks. At the start of the function we allocate storage for a 'struct cr_panel' and store the pointer in a variable named 'crp'. Then we call pci_get_device() and pci_read_config_byte() and if either of them fail we return without freeing the memory allocated for the 'struct cr_panel'. These two leaks are easy to fix since we don't even use 'crp' for anything up to this point, so I simply moved the allocation further down in the function so it only happens just before we actually need it. A bit further down we call backlight_device_register() and store the result in 'crp->cr_backlight_device'. In case of error we return 'crp->cr_backlight_device' from the function, thus leaking 'crp' itself. The same thing happens with the call to lcd_device_register(). To fix these two leaks I declare two new pointers to hold the return values, so that in case of error we can return the pointer (as before) but without leaking 'crp'. This version of the patch also adds missing backlight_device_unregister() / lcd_device_unregister() / pci_dev_put() calls to error paths. Thanks to Richard Purdie for noticing. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 0ad90efde278866a4ba7510e6e1fbd9626da1689 Author: Adrian Bunk Date: Sat Aug 11 10:27:19 2007 +0100 backlight/leds: Make two structs static This patch makes two needlessly global structs static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 4276fd7349bfd4f557d9777100fdcf1140771b4e Author: Yoichi Yuasa Date: Thu Sep 27 17:51:17 2007 +0900 leds: Update Cobalt Qube series front LED support Update Cobalt Qube series front LED support. Signed-off-by: Yoichi Yuasa Acked-by: Ralf Baechle Signed-off-by: Richard Purdie commit 97da7aaf46fedcf1a38a88e5ffc2c40df23e8013 Author: Yoichi Yuasa Date: Thu Sep 27 17:51:05 2007 +0900 leds: Add Cobalt Raq series LEDs support Add Cobalt Raq series LEDs support. Signed-off-by: Yoichi Yuasa Acked-by: Ralf Baechle Signed-off-by: Richard Purdie commit f3b6b6cd00d294d50e1c3eee85964c69d898de45 Author: Yoichi Yuasa Date: Fri Sep 21 00:02:47 2007 +0100 leds: Rename leds-cobalt driver The leds-cobalt driver only supports the Coable Qube series (not included in Cobalt Raq series). Rename the driver and update Kconfig/Makefile. Signed-off-by: Yoichi Yuasa Acked-by: Florian Fainelli Signed-off-by: Richard Purdie commit 58dfe883d3bc3b4c08c53a7f39e2ca3ec84f089e Author: Peter Zijlstra Date: Thu Oct 11 22:25:25 2007 +0200 lockdep: annotate kprobes irq fiddling kprobes disables irqs for jprobes, but does not tell lockdep about it. This resolves this warning during an allyesconfig bzImage bootup test: [ 423.670337] WARNING: at kernel/lockdep.c:2658 check_flags() [ 423.670341] [] show_trace_log_lvl+0x19/0x2e [ 423.670348] [] show_trace+0x12/0x14 [ 423.670350] [] dump_stack+0x14/0x16 [ 423.670353] [] check_flags+0x95/0x142 [ 423.670357] [] lock_acquire+0x52/0xb8 [ 423.670360] [] _spin_lock+0x2e/0x58 [ 423.670365] [] jtcp_rcv_established+0x6e/0x189 [ 423.670369] [] tcp_v4_do_rcv+0x30b/0x620 [ 423.670373] [] tcp_v4_rcv+0x89d/0x8fa [ 423.670376] [] ip_local_deliver+0x17d/0x225 [ 423.670380] [] ip_rcv+0x493/0x4ce [ 423.670383] [] netif_receive_skb+0x347/0x365 [ 423.670388] [] nv_napi_poll+0x501/0x6c3 [ 423.670393] [] net_rx_action+0xa3/0x1b6 [ 423.670396] [] __do_softirq+0x76/0xfb [ 423.670400] [] do_softirq+0x75/0xf3 [ akpm: checkpatch.pl cleanups ] Cc: Prasanna S Panchamukhi Cc: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Cc: David S. Miller Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton commit 851a67b825540a8e00c0be3ee25e4627ba8b133b Author: Peter Zijlstra Date: Thu Oct 11 22:11:12 2007 +0200 lockdep: annotate rcu_read_{,un}lock{,_bh} lockdep annotate rcu_read_{,un}lock{,_bh} in order to catch imbalanced usage. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Cc: Paul E. McKenney commit 34a3d1e83708702ac6cb872215e68cd07dae298b Author: Peter Zijlstra Date: Thu Oct 11 22:11:12 2007 +0200 lockdep: annotate journal_start() On Fri, 2007-07-13 at 02:05 -0700, Andrew Morton wrote: > Except lockdep doesn't know about journal_start(), which has ranking > requirements similar to a semaphore. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 523b44cff279c42c79f7bda709e2fefc30f20a59 Author: Heiko Carstens Date: Thu Oct 11 22:11:12 2007 +0200 lockdep: s390: connect the sysexit hook Run the lockdep_sys_exit hook before returning to user space. Reviewed-by: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 10cd706d180b62a61aace5b440247c8785026ac1 Author: Peter Zijlstra Date: Thu Oct 11 22:11:12 2007 +0200 lockdep: x86_64: connect the sysexit hook Run the lockdep_sys_exit hook after all other C code on the syscall return path. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c7e872e7da5514d014707a407ea562d197cc0136 Author: Peter Zijlstra Date: Thu Oct 11 22:11:12 2007 +0200 lockdep: i386: connect the sysexit hook Run the lockdep_sys_exit hook after all other C code on the syscall return path. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit b351d164e860d1ffffdc501c32f55dd1446c385b Author: Peter Zijlstra Date: Thu Oct 11 22:11:12 2007 +0200 lockdep: syscall exit check Provide a check to validate that we do not hold any locks when switching back to user-space. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit e4564f79d4b6923da7360df4b24a48cc2d4160de Author: Peter Zijlstra Date: Thu Oct 11 22:11:12 2007 +0200 lockdep: fixup mutex annotations The fancy mutex_lock fastpath has too many indirections to track the caller hence all contentions are perceived to come from mutex_lock(). Avoid this by explicitly not using the fastpath code (it was disabled already anyway). Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 3aa416b07f0adf01c090baab26fb70c35ec17623 Author: Gregory Haskins Date: Thu Oct 11 22:11:11 2007 +0200 lockdep: fix mismatched lockdep_depth/curr_chain_hash It is possible for the current->curr_chain_key to become inconsistent with the current index if the chain fails to validate. The end result is that future lock_acquire() operations may inadvertently fail to find a hit in the cache resulting in a new node being added to the graph for every acquire. Signed-off-by: Gregory Haskins Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 94c61c0aeffe64452e742087cf803d0347ef8418 Author: Tim Pepper Date: Thu Oct 11 22:11:11 2007 +0200 lockdep: Avoid /proc/lockdep & lock_stat infinite output Both /proc/lockdep and /proc/lock_stat output may loop infinitely. When a read() requests an amount of data smaller than the amount of data that the seq_file's foo_show() outputs, the output starts looping and outputs the "stuck" element's data infinitely. There may be multiple sequential calls to foo_start(), foo_next()/foo_show(), and foo_stop() for a single open with sequential read of the file. The _start() does not have to start with the 0th element and _show() might be called multiple times in a row for the same element for a given open/read of the seq_file. Also header output should not be happening in _start(). All output should be in _show(), which SEQ_START_TOKEN is meant to help. Having output in _start() may also negatively impact seq_file's seq_read() and traverse() accounting. Signed-off-by: Tim Pepper Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar Cc: Ingo Molnar Cc: Al Viro commit 512e67f991c8886de75a65b854d7c19a55fb5b8a Author: Peter Zijlstra Date: Thu Oct 11 22:11:11 2007 +0200 lockdep: maintainers Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit ad656887e22390c64276e0a0057541aec701422c Author: Stefan Roese Date: Fri Oct 12 03:18:14 2007 +1000 [POWERPC] 4xx: Kilauea defconfig file Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit a62f48de13b7496ede99e9980840c03e2d1dab86 Author: Stefan Roese Date: Thu Oct 11 22:08:27 2007 +1000 [POWERPC] 4xx: Kilauea DTS Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 37b31f9a1192120edbe1e8b7ff691dfde96673da Author: Stefan Roese Date: Thu Oct 11 22:08:21 2007 +1000 [POWERPC] 4xx: Add AMCC Kilauea eval board support to platforms/40x This patch adds basic support for the new 405EX and the AMCC eval board Kilauea to arch/powerpc. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 5d8476c8fab2a51475983af26e220ee84a3964f8 Author: Stefan Roese Date: Thu Oct 11 22:08:14 2007 +1000 [POWERPC] 4xx: Add AMCC 405EX support to cputable.c Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 780513ecb80ea0934fc6833efc4f5ed9ab4ff9bb Author: Boaz Harrosh Date: Thu Oct 11 21:26:08 2007 +0200 [BLOCK] Fix failing compile with BLK_DEV_IO_TRACE=n I get a compilation error in sglist-arch branch with BLK_DEV_IO_TRACE=n: CC block/compat_ioctl.o /usr0/export/dev/bharrosh/git/pub/linux-2.6-block/block/compat_ioctl.c: In function ?compat_blk_trace_setup?: /usr0/export/dev/bharrosh/git/pub/linux-2.6-block/block/compat_ioctl.c:568: error: expected expression before ?do? make[2]: *** [block/compat_ioctl.o] Error 1 Signed-off-by: Jens Axboe commit 05c88babab957dfd63bd351b25042d80bd854dd0 Author: Trond Myklebust Date: Thu Oct 11 15:11:51 2007 -0400 NFSv4: Fix a typo in nfs_inode_reclaim_delegation We were intending to put the previous instance of delegation->cred before setting a new one. Thanks to David Howells for spotting this. Signed-off-by: Trond Myklebust commit 4d9e55103aec1ba7d0617cfd88412ec39e1e2d32 Author: Kumar Gala Date: Thu Oct 11 13:40:21 2007 -0500 [POWERPC] Adjust TASK_SIZE on ppc32 systems to 3GB that are capable All ppc32 systems except PReP and 8xx are capable of handling 3G of user address space. Old legacy had set this to 2GB and no one has bothered to fix it. 8xx could be bumped up to 3GB if its SW TLB miss handlers were fixed up to properly determine kernel/user addresses. Signed-off-by: Kumar Gala commit 8a13c4f972e6c107d8cff54de647544c00e25b41 Author: Kumar Gala Date: Thu Oct 11 13:36:52 2007 -0500 [POWERPC] Use PAGE_OFFSET to tell if an address is user/kernel in SW TLB handlers Move to using PAGE_OFFSET instead of TASK_SIZE or KERNELBASE value on 6xx/40x/44x/fsl-booke to determine if the faulting address is a kernel or user space address. This mimics how the macro is_kernel_addr() works. Signed-off-by: Kumar Gala commit 019a5f56ec195aceadada18aaaad0f67294bdaef Author: Nicolas Pitre Date: Thu Oct 11 01:06:03 2007 -0400 mmc: don't use weight32() Using weight32() to determine if a value is a power of 2 is a rather heavi weight solution. The classic idiom is (x & (x - 1)) == 0, but the kernel already provide a is_power_of_2 function for it. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit d2c75f2f4b8be1c78f275c49e399d5a9b21ce924 Author: Thomas Gleixner Date: Thu Oct 11 17:56:02 2007 +0200 x86: fixup the x86 namespace change in scripts/namespace.pl Let namespace.pl look at the correct files. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 91e034eff1a79835739c6494e9b90796ee43300c Author: Thomas Gleixner Date: Thu Oct 11 17:53:52 2007 +0200 x86: Fix the $(ARCH) dependent help output in the top Makefile Change the $(ARCH) dependency to $(SRCARCH) to honor the x86 namespace for i386 and x86_64. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f5d7d13cd96313a90f8d13fa5d6e0704f6d534ba Author: Kumar Gala Date: Thu Oct 11 09:17:22 2007 -0500 [POWERPC] 85xx: Enable FP emulation in MPC8560 ADS defconfig Signed-off-by: Kumar Gala commit 0bfd5df53a99809f60e12bda9c5ef5d8f14ef2e3 Author: Kumar Gala Date: Thu Oct 11 09:13:41 2007 -0500 [POWERPC] 85xx: Killed asm-powerpc/mpc85xx.h was really a hold over from arch/ppc. Now that more decoupling has occurred we can remove and some of its legacy. As part of this we moved the definition of CPM_MAP_ADDR into cpm2.h for 85xx platforms. This is a stop gap until drivers stop using CPM_MAP_ADDR. Signed-off-by: Kumar Gala commit ab9683ca8162f9d4b38e04b956278d8cc647dcfc Author: Scott Wood Date: Mon Oct 8 16:08:52 2007 -0500 [POWERPC] 85xx: Add cpm nodes for 8541/8555 CDS We don't use any CPM devices on these boards, but the muram node on these chips is different from the 8560, so it's helpful to people working with custom boards based on these chips. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 8abc8f5f1eda7a34394c8006fe1cb4c13ffca682 Author: Scott Wood Date: Mon Oct 8 16:08:51 2007 -0500 [POWERPC] 85xx: Convert mpc8560ads to the new CPM binding. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 52aff9f93e452b3a55be74018dc90eb0ddde0a9c Author: Scott Wood Date: Mon Oct 8 16:08:29 2007 -0500 [POWERPC] mpc8272ads: Remove muram from the CPM reg property. This is described by the muram node now. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 569ff1022662a88591b0a89ea316a3c44306d199 Author: Hans de Goede Date: Thu Oct 11 08:06:29 2007 -0400 hwmon: Add new combined driver for FSC chips This patch adds a new merged driver for FSC sensor chips, it merges the fscher and fscpos drivers and adds support for the FSC Scylla, Heracles and Heimdall chips. Signed-off-by: Hans de Goede Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit cdec12aebe1b10aa58bebaa05bb697843154f7f9 Author: Paul Mackerras Date: Thu Oct 11 21:46:45 2007 +1000 [POWERPC] Make clockevents work on PPC601 processors In testing the new clocksource and clockevent code on a PPC601 processor, I discovered that the clockevent multiplier value for the decrementer clockevent was overflowing. Because the RTCL register in the 601 effectively counts at 1GHz (it doesn't actually, but it increases by 128 every 128ns), and the shift value was 32, that meant the multiplier value had to be 2^32, which won't fit in an unsigned long on 32-bit. The same problem would arise on any platform where the timebase frequency was 1GHz or more (not that we actually have any such machines today). This fixes it by reducing the shift value to 16. Doing the calculations with a resolution of 2^-16 nanoseconds (15 femtoseconds) should be quite adequate. :) Signed-off-by: Paul Mackerras commit 4cfdbe7f6cfdc07c27ae8ac490cd3453440dd9d8 Author: Darrick J. Wong Date: Tue Oct 9 15:08:24 2007 -0700 hwmon: (ibmpex) Release IPMI user if hwmon registration fails Roel Kluin <12o3l@tiscali.nl> found a minor defect in the init code if hwmon device registration fails. Signed-off-by: Darrick J. Wong Signed-off-by: Mark M. Hoffman commit d968014b7280e2c447b20363e576999040ac72ef Author: Paul Mackerras Date: Tue Oct 9 09:59:17 2007 +1000 [POWERPC] Prevent decrementer clockevents from firing early On old powermacs, we sometimes set the decrementer to 1 in order to trigger a decrementer interrupt, which we use to handle an interrupt that was pending at the time when it was re-enabled. This was causing the decrementer clock event device to call the event function for the next event early, which was causing problems when high-res timers were not enabled. This fixes the problem by recording the timebase value at which the next event should occur, and checking the current timebase against the recorded value in timer_interrupt. If it isn't time for the next event, it just reprograms the decrementer and returns. This also subtracts 1 from the value stored into the decrementer, which is appropriate because the decrementer interrupts on the transition from 0 to -1, not when the decrementer reaches 0. Signed-off-by: Paul Mackerras commit 87a72f9e171e558a0288aa83ef1dc6ae4af32224 Author: Paul Mackerras Date: Thu Oct 4 14:18:01 2007 +1000 [POWERPC] Fix performance monitor on machines with logical PVR Some IBM machines supply a "logical" PVR (processor version register) value in the device tree in the cpu nodes rather than the real PVR. This is used for instance to indicate that the processors in a POWER6 partition have been configured by the hypervisor to run in POWER5+ mode rather than POWER6 mode. To cope with this, we call identify_cpu a second time with the logical PVR value (the first call is with the real PVR value in the very early setup code). However, POWER5+ machines can also supply a logical PVR value, and use the same value (the value that indicates a v2.04 architecture compliant processor). This causes problems for code that uses the performance monitor (such as oprofile), because the PMU registers are different in POWER6 (even in POWER5+ mode) from the real POWER5+. This change works around this problem by taking out the PMU information from the cputable entries for the logical PVR values, and changing identify_cpu so that the second call to it won't overwrite the PMU information that was established by the first call (the one with the real PVR), but does update the other fields. Specifically, if the cputable entry for the logical PVR value has num_pmcs == 0, none of the PMU-related fields get used. So that we can create a mixed cputable entry, we now make cur_cpu_spec point to a single static struct cpu_spec, and copy stuff from cpu_specs[i] into it. This has the side-effect that we can now make cpu_specs[] be initdata. Ultimately it would be good to move the PMU-related fields out to a separate structure, pointed to by the cputable entries, and change identify_cpu so that it saves the PMU info pointer, copies the whole structure, and restores the PMU info pointer, rather than identify_cpu having to list all the fields that are *not* PMU-related. Signed-off-by: Paul Mackerras Acked-by: Benjamin Herrenschmidt commit a7e30b8d91d3291de4543d97849193ebc3ec4c1c Author: Philippe Rétornaz Date: Wed Oct 10 18:52:24 2007 -0400 [AVR32] Fix random segfault with preemption As explained on: http://www.avrfreaks.net/index.php?nameÿphpBB2&fileÿewtopic&tS307 If the current process is preempted before it can copy RAR_SUP and RSR_SUP both register are lost and the process will segfault as soon as it return from the syscall since the return adress will be corrupted. This patch disable IRQ as soon as we enter the syscall path and reenable them when the copy is done. In the interrupt handlers, check if we are interrupting the srrf instruction, if so disable interrupts and return. The interrupt handler will be re-called immediatly when the interrupts are reenabled. After some stressing workload: - find / > /dev/null in loop - top (in ssh) - ping -f avr32 The segfaults are not seen anymore. Signed-off-by: Philippe Rétornaz Signed-off-by: Haavard Skinnemoen commit bb7aa6d47fcd4f9ab18b4ade2ba078f7719f74ca Author: Haavard Skinnemoen Date: Wed Oct 3 15:05:20 2007 +0200 [AVR32] Don't use __builtin_xchg() The implementation of __builtin_xchg() in at least some versions of avr32 gcc is buggy. Rather than find out exactly which versions that have this bug, let's just avoid the problem altogether by implementing xchg() in inline assembly. Also, in most architectures, xchg() seems to imply a memory barrier, while the existing avr32 implementation did not. This patch also fixes that discrepancy. Signed-off-by: Haavard Skinnemoen commit 82c54f864fea26c4c44f27e2b4c4d9a811dde299 Author: David Brownell Date: Tue Sep 25 07:17:48 2007 -0700 [AVR32] ngw100 i2c-gpio tweaks Make the NGW100 bitbang i2c use open drain signaling. Also, speed it up, so it's closer to 100 kHz ... the code paths seem to be long enough that the udelay isn't dominating bit times. The peak bit rate I observed was around 125 kHz, but that's with large delays (usually before ACK/NAK) which hold the overall rate down to around 80 kHz (call it 100 usec/byte on average). Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit a7ff43b808f077e7aae2772b2f1a06a39e6b0cf8 Author: Haavard Skinnemoen Date: Sat Sep 22 23:31:39 2007 +0200 [AVR32] Ignore a few irrelevant syscalls Ignore a few syscalls that are irrelevant because they're either old, depends on NUMA or depends on SMP. Signed-off-by: Haavard Skinnemoen commit af8184718a322ae589efa583aa69ffdae61bf266 Author: Kristoffer Nyborg Gregertsen Date: Fri Aug 17 16:59:57 2007 +0200 [AVR32] SMC configuration in clock cycles This patch makes the SMC configuration take timings in clock cycles instead of nanoseconds. A function to calculate timings in clock cycles is added. This patch removes the rounding troubles of the previous SMC configuration method. [hskinnemoen@atmel.com: fix atstk1002/atngw100 flash config] Signed-off-by: Kristoffer Nyborg Gregertsen Signed-off-by: Haavard Skinnemoen commit 64f2758514e3bad19cab03d22851ab37654399a4 Author: Olof Johansson Date: Wed Oct 10 10:38:24 2007 +1000 [POWERPC] Don't enable cpu hotplug on pSeries machines with MPIC Don't allow cpu hotplug on systems lacking XICS interrupt controller (i.e. with an MPIC interrupt controller), since the current pSeries platform code is hardcoded for XICS. This works around the bug reported by Paul Mackerras where the disable_nonboot_cpus() call recently added to the shutdown path will cause an oops on older pSeries machines. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 84dd4676f5519b86aee3bfaf1b230be2cb43f69b Author: Stephen Rothwell Date: Thu Oct 11 15:19:03 2007 +1000 [POWERPC] Move of_platform_driver initialisations: arch/powerpc We no longer initialise the name and owner fields of the of_platform_driver, but use the fields of the embedded device_driver's name field instead. Signed-off-by: Stephen Rothwell Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 8251b4c481bca72568e9c1042ea11189838e5f6d Author: Stephen Rothwell Date: Thu Oct 11 14:59:54 2007 +1000 [POWERPC] iSeries: Move viodasd probing This way we only have entries in the device tree for disks that actually exist. A slight complication is that disks may be attached to LPARs at runtime. Signed-off-by: Stephen Rothwell Acked-by: Jens Axboe Signed-off-by: Paul Mackerras commit 7465ce0db310d2fa29f721da7e3aacd1dad7090f Author: Stephen Rothwell Date: Thu Oct 11 14:58:31 2007 +1000 [POWERPC] iSeries: Move detection of virtual tapes Now we will only have entries in the device tree for the actual existing devices (including their OS/400 properties). This way viotape.c gets all the information about the devices from the device tree. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b833b481c10cf591b15cc674948cc514e55d3b94 Author: Stephen Rothwell Date: Thu Oct 11 14:57:26 2007 +1000 [POWERPC] iSeries: Move detection of virtual cdroms Now we will only have entries in the device tree for the actual existing devices (including their OS/400 properties). This way viocd.c gets all the information about the devices from the device tree. Signed-off-by: Stephen Rothwell Acked-by: Jens Axboe Signed-off-by: Paul Mackerras commit dd9b67ab37d57da67840276d28957498512d4dd8 Author: Stephen Rothwell Date: Thu Oct 11 14:55:02 2007 +1000 [POWERPC] Remove more iSeries-specific stuff from vio.c Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1670b2b2716b98541765da94be1332ad5c314b7a Author: Stephen Rothwell Date: Thu Oct 11 14:53:32 2007 +1000 [POWERPC] Remove iSeries_vio_dev It was only being used to carry around dma_iommu_ops and vio_iommu_table which we can use directly instead. This also means that vio_bus_device doesn't need to refer to them either. Signed-off-by: Stephen Rothwell Acked-by: Jens Axboe Signed-off-by: Paul Mackerras commit 73be7d5267774b8fef1d83ebffc070cd090c4398 Author: Stephen Rothwell Date: Thu Oct 11 14:50:55 2007 +1000 [POWERPC] iSeries: Simplify viocd initialisation We don't need to keep a lump of dma coherent memory around for the life of the module. Signed-off-by: Stephen Rothwell Acked-by: Jens Axboe Signed-off-by: Paul Mackerras commit b707f517d2c72c6b340ba762ed8a7de2b22935e9 Author: Stephen Rothwell Date: Thu Oct 11 14:48:24 2007 +1000 [POWERPC] Clean up vio.h Remove vio_dma_ops declaration (since it no longer exists) and some unused fields from struct vio_driver. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 745e1027751acbc1f14f8bbef378b491242b9c83 Author: Grant Likely Date: Thu Oct 11 04:48:28 2007 +1000 [POWERPC] Platforms shouldn't mess with ROOT_DEV There is no good reason for board platform code to mess with the ROOT_DEV. Remove it from all in-tree platforms except powermac. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit d27c1cedc0e4faed2c0fce9d82d4c17695e43e90 Author: Grant Likely Date: Thu Oct 11 04:48:23 2007 +1000 [POWERPC] Remove empty ppc_md.setup_arch hooks Signed-off-by: Grant Likely Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit 38db7e740ade7f07f6315e3a3b1172d7e456b793 Author: Grant Likely Date: Thu Oct 11 04:48:18 2007 +1000 [POWERPC] Only call ppc_md.setup_arch() if it is provided This allows platforms which don't have anything to do at setup_arch time (like a bunch of the 4xx platforms) to eliminate an empty setup_arch hook. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit dc9b43d0f706852fc4abce5bf28958db41524328 Author: Wolfgang Denk Date: Wed Oct 10 08:36:18 2007 +1000 [POWERPC] Disable vDSO support for ARCH=ppc where it's not implemented Signed-off-by: Wolfgang Denk Signed-off-by: Paul Mackerras commit 193fdd1a99db8623697cb18a13dbcaa4eadbb1f2 Author: Robert P. J. Day Date: Wed Sep 19 08:43:42 2007 -0400 [AVR32] Drop support for redundant "keepinitrd" boot-time parm. Given the existing "retain_initrd" boot-time parameter defined in init/initramfs.c, there appears to be no need for the equivalent "keepinitrd" parameter. Signed-off-by: Robert P. J. Day Signed-off-by: Haavard Skinnemoen commit b5a8e7362a0a5088ac080086d41cd98a54e0791b Author: Haavard Skinnemoen Date: Fri Sep 7 16:00:25 2007 +0100 [AVR32] Make dma_sync_*_for_cpu no-ops I don't think the dma_sync_*_for_cpu ever did anything useful. We flush the relevant cache lines when mapping the buffer or when calling dma_sync_*_for_device(), and the CPU isn't allowed to touch the buffer after that. In other words, if these functions actually have anything to flush from the caches, we're already in trouble. Signed-off-by: Haavard Skinnemoen commit 0d2372e5d61ccc1c618aaf5099700c8dc76e234a Author: Haavard Skinnemoen Date: Mon Sep 17 11:13:45 2007 +0200 [AVR32] Remove unneeded 8K alignment of .text section __init_end, which comes immediately before .text, is already page aligned, and that should be more than enough for the .text section. The reason why we need to align the .text section is because the interrupt handler offset is ORed with EVBA, so we need to provide enough alignment of EVBA that this OR operation works as an ADD. Currently, the last interrupt handler is not nearly a full page away from EVBA, so it won't be a problem. Signed-off-by: Haavard Skinnemoen commit 7cf6ac2ae240e02ebdd2717a09d083d47cb60251 Author: Haavard Skinnemoen Date: Mon Sep 17 11:08:28 2007 +0200 [AVR32] Kill a few hardcoded constants in vmlinux.lds Use PAGE_SIZE, THREAD_SIZE and L1_CACHE_BYTES instead of harcoded constants in places where that's what we really mean. Signed-off-by: Haavard Skinnemoen commit 4e59629bf68e8a6f19b806f8ace3d0f31221c4a4 Author: Sam Ravnborg Date: Sat Sep 15 22:47:02 2007 +0200 [AVR32] rename vmlinux.lds Rename vmlinux.lds to a .S file to match other architectures. Simplify Makefile to match the rename and deleted the unused USE_STANDARD_AS_RULE Signed-off-by: Sam Ravnborg Signed-off-by: Haavard Skinnemoen commit fe57f84efe3165a1e2ec477b256870f3d43b698a Author: Matteo Vit Date: Wed Aug 29 10:19:40 2007 +0200 [AVR32] fix command line parsing in early_parse_fbmem Signed-off-by: Matteo Vit - Dave S.r.l. Signed-off-by: Haavard Skinnemoen commit 0367d89274d47941b1bc02e35ddad24077de3ce7 Author: Haavard Skinnemoen Date: Wed Jan 4 16:58:49 2006 +0100 [AVR32] checkstack support Add regexes to recognize stack frame adjustments in AVR32 code. Signed-off-by: Haavard Skinnemoen commit d71fce6b932d83e0a1caa49dfa5a536fd50f07c9 Author: Andrew Morton Date: Thu Oct 11 02:44:23 2007 -0700 [QETH]: fix qeth_main.c drivers/s390/net/qeth_main.c: In function 'qeth_hard_header_parse': drivers/s390/net/qeth_main.c:6584: error: 'dev' undeclared (first use in this function) drivers/s390/net/qeth_main.c:6584: error: (Each undeclared identifier is reported only once drivers/s390/net/qeth_main.c:6584: error: for each function it appears in.) Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6fcf0615117dcfa126083f2163c4dcea3098bbe3 Author: Haavard Skinnemoen Date: Thu Jun 14 17:37:31 2007 +0200 [AVR32] Wire up USBA device Implement at32_add_device_usba() and use it to wire up the USBA device on ATSTK1000 and ATNGW100. Signed-off-by: Haavard Skinnemoen commit 7808fa4853728a776d7e76d68fb406f515a4119c Author: Matteo Vit Date: Thu Aug 9 14:55:34 2007 +0200 [AVR32] add multidrive support for pio driver This patch add multidrive support for pio driver Signed-off-by: Matteo Vit - Dave S.r.l. Signed-off-by: Haavard Skinnemoen commit d938b89392bd3ff64e0610d8c4e0d3f7091d98db Author: David Brownell Date: Thu Aug 9 20:56:07 2007 -0700 [AVR32] /sys/kernel/debug/at32ap_clk When debugfs is available, /sys/kernel/debug/at32ap_clk will provide a dump of the power manager registers and of the current clock tree. This can help sorting out various surprises, and when making runtime PM work. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 2417a130bd4013f804983c62cb116bc9ec7f8e2d Author: Haavard Skinnemoen Date: Thu Aug 16 11:12:47 2007 +0200 [AVR32] Move AT32_PM_BASE definition into pm.h We don't want to redefine this in every file that needs to access the PM. Signed-off-by: Haavard Skinnemoen commit 754090fb438b423c953b0db82505184d7738e0d1 Author: Thomas Gleixner Date: Thu Oct 11 11:20:06 2007 +0200 x86: remove migration makefile tweaks The makefile tweaks to allow the build during the move of code from arch/i386 and arch/x86_64 are not longer necessary. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 914d97fd9925639574d22fc9cdfac7ddd8f325d6 Author: Thomas Gleixner Date: Thu Oct 11 11:20:05 2007 +0200 x86: Add feature-removal entry for bzImage symlinks The i386/x86_64 merge provides a symlink to the old bzImage location. This is just a transitional migration helper. Remove it after a 6 month grace period. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 96a388de5dc53a8b234b3fd41f3ae2cedc9ffd42 Author: Thomas Gleixner Date: Thu Oct 11 11:20:03 2007 +0200 i386/x86_64: move headers to include/asm-x86 Move the headers to include/asm-x86 and fixup the header install make rules Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 27bd0c955648646abf2a353a8371d28c37bcd982 Author: Thomas Gleixner Date: Thu Oct 11 11:17:26 2007 +0200 x86: sanitize pathes arch/x86/kernel/cpu/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 45bc6cd11953a5729508a92be24b35cd4df9c967 Author: Thomas Gleixner Date: Thu Oct 11 11:17:25 2007 +0200 x86: sanitize pathes arch/x86/kernel/Makefile_64 Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c668ce14f59db28a3551792763a0107caf3b9820 Author: Thomas Gleixner Date: Thu Oct 11 11:17:25 2007 +0200 x86: sanitize pathes arch/x86/kernel/Makefile_32 Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 250c22777fe1ccd7ac588579a6c16db4c0161cc5 Author: Thomas Gleixner Date: Thu Oct 11 11:17:24 2007 +0200 x86_64: move kernel Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2db55d344e529492545cb3b755c7e9ba8e4fa94e Author: Thomas Gleixner Date: Thu Oct 11 11:17:21 2007 +0200 x86_64: move ia32 Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 33fc6d51336046bd6e8c7d1a42faff881fa6fb45 Author: Thomas Gleixner Date: Thu Oct 11 11:17:19 2007 +0200 x86_64: move oprofile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 95119fbd87aabc263746731462062af5a38c0222 Author: Thomas Gleixner Date: Thu Oct 11 11:17:18 2007 +0200 x86_64: move mm Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2a6c8d5a7e92a3e8db30fa0c5956a29c79d7e5a3 Author: Thomas Gleixner Date: Thu Oct 11 11:17:16 2007 +0200 x86_64: move boot Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9e9b4573e4411ac5fcfb6ba04ad360d3de6414ba Author: Thomas Gleixner Date: Thu Oct 11 11:17:15 2007 +0200 x86_64: move boot Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit aadfb679c8eb9b83125833f03b5221889595b67c Author: Thomas Gleixner Date: Thu Oct 11 11:17:13 2007 +0200 x86_64: move boot Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f68c065491ceda1ad00f8dc493e274a79b8c2ba4 Author: Thomas Gleixner Date: Thu Oct 11 11:17:12 2007 +0200 x86_64: move pci Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7648b1330c335601b7c09c25f77a03cda128fcab Author: Thomas Gleixner Date: Thu Oct 11 11:17:10 2007 +0200 x86_64: move vdso Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 185f3d38900f750a4566f87cde6a178f3595a115 Author: Thomas Gleixner Date: Thu Oct 11 11:17:08 2007 +0200 x86_64: move lib Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 51b2833060f26258ea2da091c7b9c6a358ac9dd2 Author: Thomas Gleixner Date: Thu Oct 11 11:17:06 2007 +0200 x86_64: move kernel/cpufreq Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e8d08eb1b59bf6dda44fffe63cce1250d87a8b56 Author: Thomas Gleixner Date: Thu Oct 11 11:17:05 2007 +0200 x86_64: move kernel/acpi Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 987c75d7170686804b404b7f917b9e4b703702ff Author: Thomas Gleixner Date: Thu Oct 11 11:17:03 2007 +0200 x86_64: move crypto Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9a163ed8e0552fdcffe405d2ea7134819a81456e Author: Thomas Gleixner Date: Thu Oct 11 11:17:01 2007 +0200 i386: move kernel Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f7627e2513987bb5d4e8cb13c4e0a478352141ac Author: Thomas Gleixner Date: Thu Oct 11 11:16:58 2007 +0200 i386: move kernel/cpu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4ac24f63fd203bc12a841a88a2034dccd358d0d1 Author: Thomas Gleixner Date: Thu Oct 11 11:16:56 2007 +0200 i386: move video Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ff4395654dc6a3a5e35611940047114d4f3d0a7a Author: Thomas Gleixner Date: Thu Oct 11 11:16:55 2007 +0200 i386: move oprofile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9402e12b8fef1efe9cf949fc020dcda22d9d8667 Author: Thomas Gleixner Date: Thu Oct 11 11:16:53 2007 +0200 i386: move mach-voyager Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9702785a747aa27baf46ff504beab6528f21f2dd Author: Thomas Gleixner Date: Thu Oct 11 11:16:51 2007 +0200 i386: move xen Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 334e621a01f86d5bc25e4f742e1eaae6e2d2a97a Author: Thomas Gleixner Date: Thu Oct 11 11:16:50 2007 +0200 i386: move mach-es7000 Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d629e03b64c469245ceb07d05460e1e2eefa7585 Author: Thomas Gleixner Date: Thu Oct 11 11:16:48 2007 +0200 i386: move mach-default Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ad757b6aa5801b81dec609d87753604a06313c53 Author: Thomas Gleixner Date: Thu Oct 11 11:16:47 2007 +0200 i386: move mm Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 96ae6ea0be1b902c28b3b463c27da42b41e2b63a Author: Thomas Gleixner Date: Thu Oct 11 11:16:45 2007 +0200 i386: move boot Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0530bf37cebcf22a73652937c2340bc1ebd92000 Author: Thomas Gleixner Date: Thu Oct 11 11:16:43 2007 +0200 i386: move boot Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 19d8d79ccfd2fb67b1eb86e3c634a2e68a4c4b11 Author: Thomas Gleixner Date: Thu Oct 11 11:16:41 2007 +0200 i386: move boot Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c750a66b0ebfcd8f4cb353ab37b286c8cd93ad10 Author: Thomas Gleixner Date: Thu Oct 11 11:16:39 2007 +0200 i386: move mach-generic Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c2b84d8d1a66a0a886de51f1bfef5c4f16c0c784 Author: Thomas Gleixner Date: Thu Oct 11 11:16:38 2007 +0200 i386: move mach-visws Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit fb9aa6f1d4a1e11e66a680460b2c2b2b10b62f79 Author: Thomas Gleixner Date: Thu Oct 11 11:16:36 2007 +0200 i386: move pci Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4b60eb8380a0b588a03b6052d7ac93e1964c75b8 Author: Thomas Gleixner Date: Thu Oct 11 11:16:34 2007 +0200 i386: move power Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 44f0257fc316ff4b33aa3438dd8d891b7d6d72b9 Author: Thomas Gleixner Date: Thu Oct 11 11:16:33 2007 +0200 i386: move lib Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit da957e111bb0c189a4a3bf8a00caaecb59ed94ca Author: Thomas Gleixner Date: Thu Oct 11 11:16:31 2007 +0200 i386: move math-emu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2ec1df4130c60d1eb49dc0fa0ed15858fede6b05 Author: Thomas Gleixner Date: Thu Oct 11 11:16:28 2007 +0200 i386: move kernel/cpu/mtrr Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ee580dc91efd83e6b55955e7261e8ad2a0e08d1a Author: Thomas Gleixner Date: Thu Oct 11 11:16:27 2007 +0200 i386: move kernel/cpu/cpufreq Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c18db0d7e299791c73d4dbe5ae7905b2ab8ba332 Author: Thomas Gleixner Date: Thu Oct 11 11:16:25 2007 +0200 i386: move kernel/cpu/mcheck Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 23d6f82bd1f07886b3a974c5193baa715475dd37 Author: Thomas Gleixner Date: Thu Oct 11 11:16:23 2007 +0200 i386: move kernel/acpi Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9c2019421511a1bc646981d55528334ae46464c0 Author: Thomas Gleixner Date: Thu Oct 11 11:16:21 2007 +0200 i386: move crypto Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit af49d41e8c0e6649b3966470aa6319585144f8e8 Author: Thomas Gleixner Date: Thu Oct 11 11:16:20 2007 +0200 x86_64: prepare shared mm/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9c89b008ca6ec2c1b75b1e9c698a0cc4dcbf5e4e Author: Thomas Gleixner Date: Thu Oct 11 11:16:19 2007 +0200 x86_64: prepare shared mm/fault.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4ec0f73f27cbcf728311d8da7994477c1bd4edbb Author: Thomas Gleixner Date: Thu Oct 11 11:16:18 2007 +0200 x86_64: prepare shared mm/pageattr.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5140b4f77d75debc47ccb9b77e00d2e1c68e1a3e Author: Thomas Gleixner Date: Thu Oct 11 11:16:16 2007 +0200 x86_64: prepare shared mm/k8topology.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c559b6fdd148b28358862c68d835e67dab997080 Author: Thomas Gleixner Date: Thu Oct 11 11:16:15 2007 +0200 x86_64: prepare shared mm/extable.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4d381b582896529c3ab0f5ba815b8133a4e6d5fa Author: Thomas Gleixner Date: Thu Oct 11 11:16:14 2007 +0200 x86_64: prepare shared mm/numa.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b2110a17787f1eb6a60f52e12b119d2ef3013bc2 Author: Thomas Gleixner Date: Thu Oct 11 11:16:12 2007 +0200 x86_64: prepare shared mm/mmap.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4391e4cc250a61e925bec05f11f9b1c0a8277ec4 Author: Thomas Gleixner Date: Thu Oct 11 11:16:11 2007 +0200 x86_64: prepare shared mm/init.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f3ba86d98a4c985788269b93ca8133c991a2e09a Author: Thomas Gleixner Date: Thu Oct 11 11:16:09 2007 +0200 x86_64: prepare shared mm/ioremap.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit de48b0466641eb505426a6a18eb0b5490f3e6571 Author: Thomas Gleixner Date: Thu Oct 11 11:16:08 2007 +0200 x86_64: prepare shared mm/srat.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b9fe6ce1c0dd85b57f3e350b566c389d16681254 Author: Thomas Gleixner Date: Thu Oct 11 11:16:06 2007 +0200 x86_64: prepare shared boot/compressed/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 16cfc182fd3749644a35a134316766dcef5f0d24 Author: Thomas Gleixner Date: Thu Oct 11 11:16:06 2007 +0200 x86_64: prepare shared boot/compressed/head.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e5e96ef2899fb9d6009a53f83952e00cad2a97ab Author: Thomas Gleixner Date: Thu Oct 11 11:16:04 2007 +0200 x86_64: prepare shared boot/compressed/vmlinux.scr Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4290fcfd7391886c84e7e28ef2ac1125c15154f8 Author: Thomas Gleixner Date: Thu Oct 11 11:16:03 2007 +0200 x86_64: prepare shared boot/compressed/vmlinux.lds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6f80a03f0c7f03142219d5fafe4c7232b34eab9c Author: Thomas Gleixner Date: Thu Oct 11 11:16:01 2007 +0200 x86_64: prepare shared boot/compressed/misc.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7b06e6c58cf71c4c1a930905e395ea73130aa6e0 Author: Thomas Gleixner Date: Thu Oct 11 11:16:00 2007 +0200 x86_64: prepare shared pci/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e0915fb261707f4e3ba460871b5454c7d4726df6 Author: Thomas Gleixner Date: Thu Oct 11 11:16:00 2007 +0200 x86_64: prepare shared pci/mmconfig.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 08d4759ee7d50d3a77061c13d246a28266655800 Author: Thomas Gleixner Date: Thu Oct 11 11:15:58 2007 +0200 x86_64: prepare shared pci/k8-bus.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4dc55b8696bc17c8e4315bce50d9bfe9ef2dc05f Author: Thomas Gleixner Date: Thu Oct 11 11:15:57 2007 +0200 x86_64: prepare shared lib/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6e7873f6ff38bca29bc65cb8c96fd7f557215755 Author: Thomas Gleixner Date: Thu Oct 11 11:15:56 2007 +0200 x86_64: prepare shared lib/copy_user.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2a6c7b6bbfefbe37dbbc31a209dbf0166ee51a07 Author: Thomas Gleixner Date: Thu Oct 11 11:15:55 2007 +0200 x86_64: prepare shared lib/memset.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e72ba5136d3c56eaf6a9654e2f8545354c196efc Author: Thomas Gleixner Date: Thu Oct 11 11:15:53 2007 +0200 x86_64: prepare shared lib/io.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 21767fad2ba94675bcf49c0796b4b2a65702c974 Author: Thomas Gleixner Date: Thu Oct 11 11:15:52 2007 +0200 x86_64: prepare shared lib/csum-partial.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit dcd30b189cc3879278285db616c7baecf5f6493f Author: Thomas Gleixner Date: Thu Oct 11 11:15:50 2007 +0200 x86_64: prepare shared lib/delay.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a856413e26785ea5585c06b1aa773ed44bc116aa Author: Thomas Gleixner Date: Thu Oct 11 11:15:49 2007 +0200 x86_64: prepare shared lib/putuser.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d7eb5e98f45e88762676744f1ab0f7f4c1354fb9 Author: Thomas Gleixner Date: Thu Oct 11 11:15:48 2007 +0200 x86_64: prepare shared lib/bitops.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 584d92415b5c4e93e2bc3d18756815758f2a1f07 Author: Thomas Gleixner Date: Thu Oct 11 11:15:46 2007 +0200 x86_64: prepare shared lib/usercopy.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4529a0f636cd77909fb1f10c25edc52a22950366 Author: Thomas Gleixner Date: Thu Oct 11 11:15:45 2007 +0200 x86_64: prepare shared lib/getuser.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 83aaddb721364e55b4df373073019cfdf170a7be Author: Thomas Gleixner Date: Thu Oct 11 11:15:43 2007 +0200 x86_64: prepare shared lib/csum-wrappers.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5fa2ae8e9e6c5a23e0e3955d3c0d55c1e08e603f Author: Thomas Gleixner Date: Thu Oct 11 11:15:42 2007 +0200 x86_64: prepare shared lib/memmove.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 79c67e5356db9dbf2974962fe589d7482e463dc5 Author: Thomas Gleixner Date: Thu Oct 11 11:15:40 2007 +0200 x86_64: prepare shared lib/copy_user_nocache.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ff8e90da7c3ccf2e74e7ab4a57a0ff6e0de027b0 Author: Thomas Gleixner Date: Thu Oct 11 11:15:39 2007 +0200 x86_64: prepare shared lib/memcpy.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 42421ce3468d46cd875acd3d87384528f9fe8a39 Author: Thomas Gleixner Date: Thu Oct 11 11:15:37 2007 +0200 x86_64: prepare shared lib/rwlock.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0068f260578fc54aa7d10bb3e4a25118287f00f7 Author: Thomas Gleixner Date: Thu Oct 11 11:15:36 2007 +0200 x86_64: prepare shared lib/clear_page.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c9954d39e7d8b2f12517aa02d4d7b96eb4761a1d Author: Thomas Gleixner Date: Thu Oct 11 11:15:35 2007 +0200 x86_64: prepare shared lib/csum-copy.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3b405f4ed4df8f9c9ff765c9e81996ba46e79844 Author: Thomas Gleixner Date: Thu Oct 11 11:15:33 2007 +0200 x86_64: prepare shared lib/bitstr.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7d96027379c0f43f7169019c814cadca7487d507 Author: Thomas Gleixner Date: Thu Oct 11 11:15:32 2007 +0200 x86_64: prepare shared lib/copy_page.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 201c943463f9581ed7aac02db5ab6bc3091f5c03 Author: Thomas Gleixner Date: Thu Oct 11 11:15:30 2007 +0200 x86_64: prepare shared lib/iomap_copy.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 426458d004001ed323073c67b46963f024880ec1 Author: Thomas Gleixner Date: Thu Oct 11 11:15:29 2007 +0200 x86_64: prepare shared lib/thunk.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f11cfb424c78ef8a6d9fc80922577756cec00282 Author: Thomas Gleixner Date: Thu Oct 11 11:15:27 2007 +0200 x86_64: prepare shared kernel/acpi/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 08c81f47fcba935d937e45a592ad7b00e9296a2f Author: Thomas Gleixner Date: Thu Oct 11 11:15:27 2007 +0200 x86_64: prepare shared kernel/acpi/sleep.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a9c0350568b93ba7204a56644031a2332c9517d1 Author: Thomas Gleixner Date: Thu Oct 11 11:15:25 2007 +0200 x86_64: prepare shared kernel/acpi/wakeup.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a7a67e0e2db47cb8cfa2c550aaedf168b8275cce Author: Thomas Gleixner Date: Thu Oct 11 11:15:24 2007 +0200 x86_64: prepare shared kernel/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 46b4c119b4b67dfab3f1e644d6f8bdbf28f18411 Author: Thomas Gleixner Date: Thu Oct 11 11:15:23 2007 +0200 x86_64: prepare shared kernel/pci-gart.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f328f81b54ecc19d2d13710dca01e5f01f1ff449 Author: Thomas Gleixner Date: Thu Oct 11 11:15:22 2007 +0200 x86_64: prepare shared kernel/syscall.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6e04c835f1b9f1adde05b7439eaa1a4fff9ce8c7 Author: Thomas Gleixner Date: Thu Oct 11 11:15:21 2007 +0200 x86_64: prepare shared kernel/machine_kexec.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e0a84f689b4373cbaa6d3a5bc5c52a613005fed1 Author: Thomas Gleixner Date: Thu Oct 11 11:15:19 2007 +0200 x86_64: prepare shared kernel/verify_cpu.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 977d5654cb630d6845b84a984fb5698e839f20f2 Author: Thomas Gleixner Date: Thu Oct 11 11:15:17 2007 +0200 x86_64: prepare shared kernel/head.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 13c4896799d1610956f307534aa22d644b92bee7 Author: Thomas Gleixner Date: Thu Oct 11 11:15:16 2007 +0200 x86_64: prepare shared kernel/tsc.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8e59c31a0af824ddb158a7007faa66fc8ca4dbe4 Author: Thomas Gleixner Date: Thu Oct 11 11:15:14 2007 +0200 x86_64: prepare shared kernel/entry.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2a232a7656c085ecde659dc1dbaf65cc4fbf7ed7 Author: Thomas Gleixner Date: Thu Oct 11 11:15:13 2007 +0200 x86_64: prepare shared kernel/genapic_flat.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 81656390b8dec51ba7b4713a321b353fb2d3ccb1 Author: Thomas Gleixner Date: Thu Oct 11 11:15:12 2007 +0200 x86_64: prepare shared kernel/kprobes.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit bd4c1b5baacbc7e4257c00f087abfd3f7aef2dfb Author: Thomas Gleixner Date: Thu Oct 11 11:15:10 2007 +0200 x86_64: prepare shared kernel/process.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e6505ca668b2c21c06abb7bb96a8272a6f83411f Author: Thomas Gleixner Date: Thu Oct 11 11:15:09 2007 +0200 x86_64: prepare shared kernel/x8664_ksyms.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5d0c9ec6dd7204e5895260d83a90c5a0d64143f7 Author: Thomas Gleixner Date: Thu Oct 11 11:15:07 2007 +0200 x86_64: prepare shared kernel/init_task.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c76e79e010a8c48a95cfa947e192c40cdae23f7e Author: Thomas Gleixner Date: Thu Oct 11 11:15:06 2007 +0200 x86_64: prepare shared kernel/ldt.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0c45a7730bbad8a3770da2698243e45b117092be Author: Thomas Gleixner Date: Thu Oct 11 11:15:04 2007 +0200 x86_64: prepare shared kernel/crash_dump.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1cce595a8394105ea56499f94373dd8d5b0d3b51 Author: Thomas Gleixner Date: Thu Oct 11 11:15:03 2007 +0200 x86_64: prepare shared kernel/reboot.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 32404da2ac967a8776083259e05afc4ea6567cea Author: Thomas Gleixner Date: Thu Oct 11 11:15:01 2007 +0200 x86_64: prepare shared kernel/trampoline.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 201962c9d38bc57b4764ecd03068902f8d2ad54c Author: Thomas Gleixner Date: Thu Oct 11 11:15:00 2007 +0200 x86_64: prepare shared kernel/irq.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7950ca5d01f6cb5ec99ccd8548ef6a55c9ea2690 Author: Thomas Gleixner Date: Thu Oct 11 11:14:59 2007 +0200 x86_64: prepare shared kernel/ptrace.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2c7de090f86d9972a741a313de76996865814b74 Author: Thomas Gleixner Date: Thu Oct 11 11:14:57 2007 +0200 x86_64: prepare shared kernel/suspend.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e877d83a8e2643a026559a60ac6d1ee9fb827677 Author: Thomas Gleixner Date: Thu Oct 11 11:14:56 2007 +0200 x86_64: prepare shared kernel/audit.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit abb11834c6515161babea211a7be1fc6dcb893dc Author: Thomas Gleixner Date: Thu Oct 11 11:14:54 2007 +0200 x86_64: prepare shared kernel/time.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 96a6674c5ad6a6f596aab6ac826b93f5cd846749 Author: Thomas Gleixner Date: Thu Oct 11 11:14:53 2007 +0200 x86_64: prepare shared kernel/mce.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1d56734f9e51b21a92a02f526c278c037de65822 Author: Thomas Gleixner Date: Thu Oct 11 11:14:51 2007 +0200 x86_64: prepare shared kernel/mpparse.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 93de1ef4543e80a1a9bfdb7a854d155f6530df2e Author: Thomas Gleixner Date: Thu Oct 11 11:14:50 2007 +0200 x86_64: prepare shared kernel/pmtimer.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1a333ab079458b8ca58ebb761ebca48b7fc9ab5c Author: Thomas Gleixner Date: Thu Oct 11 11:14:49 2007 +0200 x86_64: prepare shared kernel/early-quirks.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a6d83df15c53a5f503c50e3d824c1cf3f89ebb1a Author: Thomas Gleixner Date: Thu Oct 11 11:14:47 2007 +0200 x86_64: prepare shared kernel/vsmp.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 198a071dff9ee61973edf8c58f22ecd5bc4892c8 Author: Thomas Gleixner Date: Thu Oct 11 11:14:46 2007 +0200 x86_64: prepare shared kernel/genapic.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3b69915deee81842ba192c251573141ac3af86db Author: Thomas Gleixner Date: Thu Oct 11 11:14:44 2007 +0200 x86_64: prepare shared kernel/bugs.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4f1124c5bcc5e0b139930d98687db80fd4d67a1c Author: Thomas Gleixner Date: Thu Oct 11 11:14:43 2007 +0200 x86_64: prepare shared kernel/pci-swiotlb.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit eb102ecb73dffbbbdfccd0ea582f405b0c0cc1fe Author: Thomas Gleixner Date: Thu Oct 11 11:14:41 2007 +0200 x86_64: prepare shared kernel/i387.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4c1c61c408ce5e8024298259831d71d6079a9a6d Author: Thomas Gleixner Date: Thu Oct 11 11:14:40 2007 +0200 x86_64: prepare shared kernel/signal.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c4fbd8a94697ff1186130542f36d7b520b288001 Author: Thomas Gleixner Date: Thu Oct 11 11:14:38 2007 +0200 x86_64: prepare shared kernel/pci-nommu.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ba733ec4725df406a6ff5c5c1e6c447f42bbf39d Author: Thomas Gleixner Date: Thu Oct 11 11:14:37 2007 +0200 x86_64: prepare shared kernel/suspend_asm.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e86a989de27d4c0226928d6132f284f6156f30f7 Author: Thomas Gleixner Date: Thu Oct 11 11:14:36 2007 +0200 x86_64: prepare shared kernel/tce.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2cf08fa82161bf398c1a6321d738a45730b0acd2 Author: Thomas Gleixner Date: Thu Oct 11 11:14:34 2007 +0200 x86_64: prepare shared kernel/ioport.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 21a44007745783d8997ed115852a42fb2613bf9a Author: Thomas Gleixner Date: Thu Oct 11 11:14:33 2007 +0200 x86_64: prepare shared kernel/vsyscall.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c30501e798fad2be81379bac98b6cfe731308f94 Author: Thomas Gleixner Date: Thu Oct 11 11:14:31 2007 +0200 x86_64: prepare shared kernel/setup.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7b022a67921723774a2d2fa018dfd9a5e5c3c90f Author: Thomas Gleixner Date: Thu Oct 11 11:14:30 2007 +0200 x86_64: prepare shared kernel/smpboot.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 36e54eec6871634a2f8f12d42a3a1c08ed0cbca5 Author: Thomas Gleixner Date: Thu Oct 11 11:14:28 2007 +0200 x86_64: prepare shared kernel/mce_intel.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b43312c45e51aa79d76850f85a5731f24c1b0d8d Author: Thomas Gleixner Date: Thu Oct 11 11:14:27 2007 +0200 x86_64: prepare shared kernel/e820.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3940abdf5e7f62bf47c4117f9201c121fbb0ab16 Author: Thomas Gleixner Date: Thu Oct 11 11:14:26 2007 +0200 x86_64: prepare shared kernel/hpet.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5b8d883929091c647635392bafc8fc0962d4b43f Author: Thomas Gleixner Date: Thu Oct 11 11:14:24 2007 +0200 x86_64: prepare shared kernel/nmi.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit bd751ae043e89e2e44e6af784df5a70694b1c9b7 Author: Thomas Gleixner Date: Thu Oct 11 11:14:23 2007 +0200 x86_64: prepare shared kernel/apic.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 13a9cd42466e12113859c4d7b41561e8bbcaf09d Author: Thomas Gleixner Date: Thu Oct 11 11:14:21 2007 +0200 x86_64: prepare shared kernel/vmlinux.lds.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0856268597a2ce7efc30390695d655d3dee05ca8 Author: Thomas Gleixner Date: Thu Oct 11 11:14:21 2007 +0200 x86_64: prepare shared kernel/module.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c3ca5f30b607298c6c33bfc5318de1cf542c50ef Author: Thomas Gleixner Date: Thu Oct 11 11:14:19 2007 +0200 x86_64: prepare shared kernel/asm-offsets.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8b6f65ed7a216ff4591604ffe8d718981bad1224 Author: Thomas Gleixner Date: Thu Oct 11 11:14:19 2007 +0200 x86_64: prepare shared kernel/crash.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1e272fd4a2291ad8cac52752e0753e165cfe819f Author: Thomas Gleixner Date: Thu Oct 11 11:14:17 2007 +0200 x86_64: prepare shared kernel/smp.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2e53e9012068eab25406d014618eef8993584ff1 Author: Thomas Gleixner Date: Thu Oct 11 11:14:16 2007 +0200 x86_64: prepare shared kernel/relocate_kernel.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7d75d20c61641fe0915c7a7c9c414e5e2c6f3318 Author: Thomas Gleixner Date: Thu Oct 11 11:14:14 2007 +0200 x86_64: prepare shared kernel/mce_amd.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8d7083f3b038c0196ae0f9f161f8a49e85cde164 Author: Thomas Gleixner Date: Thu Oct 11 11:14:13 2007 +0200 x86_64: prepare shared kernel/i8259.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b34ab7a13d18e2f6ef1241db1a6209fb43478aa3 Author: Thomas Gleixner Date: Thu Oct 11 11:14:11 2007 +0200 x86_64: prepare shared kernel/pci-dma.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2a8eb13a0689439eb9c34be062e6a5284832bb02 Author: Thomas Gleixner Date: Thu Oct 11 11:14:10 2007 +0200 x86_64: prepare shared kernel/pci-calgary.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cc7de6036cd93d5ca7228fe8ca921b6dc9050c83 Author: Thomas Gleixner Date: Thu Oct 11 11:14:09 2007 +0200 x86_64: prepare shared kernel/io_apic.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6ba77c2d762ccac01dc9302c63e21605552f177e Author: Thomas Gleixner Date: Thu Oct 11 11:14:07 2007 +0200 x86_64: prepare shared kernel/aperture.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 76acb5c02fce49c6efcaa30dd9374753191b3f8e Author: Thomas Gleixner Date: Thu Oct 11 11:14:06 2007 +0200 x86_64: prepare shared kernel/traps.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3900b170baf0fa2bfe5ed43592e9acc95521fe0a Author: Thomas Gleixner Date: Thu Oct 11 11:14:04 2007 +0200 x86_64: prepare shared crypto/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d685249a33eb729d1dbe7ee54d63cb81fdee53da Author: Thomas Gleixner Date: Thu Oct 11 11:14:04 2007 +0200 x86_64: prepare shared crypto/aes.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e4bd76e1c561e843fd7cd1f99fc295b64e261894 Author: Thomas Gleixner Date: Thu Oct 11 11:14:02 2007 +0200 x86_64: prepare shared crypto/twofish-x86_64-asm.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4d2920c9c03b9044c82da16f98eb2d536d240c4e Author: Thomas Gleixner Date: Thu Oct 11 11:14:01 2007 +0200 x86_64: prepare shared crypto/aes-x86_64-asm.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e444d14d632a1d379c1793147c61a95a24ed976a Author: Thomas Gleixner Date: Thu Oct 11 11:13:59 2007 +0200 x86_64: prepare shared crypto/twofish.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 82606d5738f29d3026159ebabba687facd25276e Author: Thomas Gleixner Date: Thu Oct 11 11:13:58 2007 +0200 i386: prepare shared mm/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 359fd6de61fc8777316709fb79047c480b3eae0d Author: Thomas Gleixner Date: Thu Oct 11 11:13:57 2007 +0200 i386: prepare shared mm/fault.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 55f98f1a26ff6cbed6189ec90143cc5c428d5b78 Author: Thomas Gleixner Date: Thu Oct 11 11:13:56 2007 +0200 i386: prepare shared mm/pageattr.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b0aeae21da297caad0d6d0608b197e6ef97faf6d Author: Thomas Gleixner Date: Thu Oct 11 11:13:55 2007 +0200 i386: prepare shared mm/highmem.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1c9541c7bc437c4d1bcad1e56770622c24e634a1 Author: Thomas Gleixner Date: Thu Oct 11 11:13:53 2007 +0200 i386: prepare shared mm/pgtable.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 94577c112487d68db4f258bd19cfc7100480d0cc Author: Thomas Gleixner Date: Thu Oct 11 11:13:52 2007 +0200 i386: prepare shared mm/extable.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7099ec6e17b3d207f1c622cff023209acc6ba47a Author: Thomas Gleixner Date: Thu Oct 11 11:13:50 2007 +0200 i386: prepare shared mm/boot_ioremap.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0b690a40d30ff6924953888d43ab8e90d401fcc7 Author: Thomas Gleixner Date: Thu Oct 11 11:13:49 2007 +0200 i386: prepare shared mm/mmap.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit afb5ce0671f8b14f15525fd3e952b4a989c94a6b Author: Thomas Gleixner Date: Thu Oct 11 11:13:47 2007 +0200 i386: prepare shared mm/init.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6e5191ef150947ed6e42751010e4932436e70ec9 Author: Thomas Gleixner Date: Thu Oct 11 11:13:46 2007 +0200 i386: prepare shared mm/discontig.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1fd10ed659d6840850311e991ee3ba78e9e5a4a4 Author: Thomas Gleixner Date: Thu Oct 11 11:13:45 2007 +0200 i386: prepare shared mm/ioremap.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9b88467687550507cca30b49217518e8ba8cda4e Author: Thomas Gleixner Date: Thu Oct 11 11:13:43 2007 +0200 i386: prepare shared boot/compressed/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 16ae1544b763b33673f82d667b0f7699dd1274b9 Author: Thomas Gleixner Date: Thu Oct 11 11:13:43 2007 +0200 i386: prepare shared boot/compressed/head.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 20e482b6421cffa92942e2c4970c113667451205 Author: Thomas Gleixner Date: Thu Oct 11 11:13:41 2007 +0200 i386: prepare shared boot/compressed/vmlinux.scr Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e2ec98525d815d6e68dd509e5a4c9b93e55d622d Author: Thomas Gleixner Date: Thu Oct 11 11:13:40 2007 +0200 i386: prepare shared boot/compressed/vmlinux.lds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c1c85a52c755c86840f83669bbab63962ab231ff Author: Thomas Gleixner Date: Thu Oct 11 11:13:38 2007 +0200 i386: prepare shared boot/compressed/misc.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5fa25bee6cee459ee3d08f7544cca5a9fb016c8b Author: Thomas Gleixner Date: Thu Oct 11 11:13:37 2007 +0200 i386: prepare shared pci/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e32c44c8349dbdf7712a7d868fdbff75599c9005 Author: Thomas Gleixner Date: Thu Oct 11 11:13:36 2007 +0200 i386: prepare shared pci/mmconfig.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5fde34fddcb58af7bd08c143389ed074f8715f9f Author: Thomas Gleixner Date: Thu Oct 11 11:13:35 2007 +0200 i386: prepare shared lib/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d779d8f9f8419e8492959adc267cdf5478bc4748 Author: Thomas Gleixner Date: Thu Oct 11 11:13:34 2007 +0200 i386: prepare shared lib/delay.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6e696842484ffcf018bba6a46610091ff68f49a8 Author: Thomas Gleixner Date: Thu Oct 11 11:13:33 2007 +0200 i386: prepare shared lib/putuser.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6d1f5420f0d4bd6f391295bb632ae65920983162 Author: Thomas Gleixner Date: Thu Oct 11 11:13:31 2007 +0200 i386: prepare shared lib/bitops.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 81f52936d34570f7db3f09bf5e01339b640438ef Author: Thomas Gleixner Date: Thu Oct 11 11:13:30 2007 +0200 i386: prepare shared lib/usercopy.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8b7fd47bdf84086914180b88a41d2f7c1ada5917 Author: Thomas Gleixner Date: Thu Oct 11 11:13:29 2007 +0200 i386: prepare shared lib/getuser.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e585d9617a4c2c8f4d1d19def80158bca2853be8 Author: Thomas Gleixner Date: Thu Oct 11 11:13:27 2007 +0200 i386: prepare shared lib/mmx.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1bbad2b6f10e1f1a171edae545ea2f84dca8c2da Author: Thomas Gleixner Date: Thu Oct 11 11:13:26 2007 +0200 i386: prepare shared lib/memcpy.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit bb3871daf6d95101220969dc2634456cf2c503da Author: Thomas Gleixner Date: Thu Oct 11 11:13:24 2007 +0200 i386: prepare shared lib/semaphore.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 282317dc1570c392d1593869ded36baeee8f1d54 Author: Thomas Gleixner Date: Thu Oct 11 11:13:23 2007 +0200 i386: prepare shared lib/string.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2be2056cee405f3e3ca07e197ecd803e81cf5cb6 Author: Thomas Gleixner Date: Thu Oct 11 11:13:21 2007 +0200 i386: prepare shared lib/strstr.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 31834147ef934140c9d41afe130ac8606c2d7a81 Author: Thomas Gleixner Date: Thu Oct 11 11:13:20 2007 +0200 i386: prepare shared lib/checksum.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 96c4d6e71d27a2de591d185aa897d2d215f8588e Author: Thomas Gleixner Date: Thu Oct 11 11:13:19 2007 +0200 i386: prepare shared kernel/acpi/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 84629d8d3695cab7177e9a04ccc212727280bdd8 Author: Thomas Gleixner Date: Thu Oct 11 11:13:18 2007 +0200 i386: prepare shared kernel/acpi/earlyquirk.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit bf79503a14c2d7c8b27dec60dae60af69c509a77 Author: Thomas Gleixner Date: Thu Oct 11 11:13:17 2007 +0200 i386: prepare shared kernel/acpi/sleep.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 193aa5d7efc827f1c4edc6ecaf3b4596e720f82f Author: Thomas Gleixner Date: Thu Oct 11 11:13:15 2007 +0200 i386: prepare shared kernel/acpi/wakeup.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e1589cd4cba22e374b54f49385703fc766a11e7f Author: Thomas Gleixner Date: Thu Oct 11 11:13:14 2007 +0200 i386: prepare shared kernel/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 565b56cc9929fd4e682850df960f0766c8363383 Author: Thomas Gleixner Date: Thu Oct 11 11:13:13 2007 +0200 i386: prepare shared kernel/vsyscall-note.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit fcaf15d788dc0c8354dbcf449e260cb303120b75 Author: Thomas Gleixner Date: Thu Oct 11 11:13:12 2007 +0200 i386: prepare shared kernel/machine_kexec.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit deb8677148fef3aea11edd4e980f6eb9c564f3cd Author: Thomas Gleixner Date: Thu Oct 11 11:13:10 2007 +0200 i386: prepare shared kernel/head.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 76ea2ec68b54acc13ee1bfbb9a4e3aad370a374f Author: Thomas Gleixner Date: Thu Oct 11 11:13:09 2007 +0200 i386: prepare shared kernel/tsc.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 668a3bf76e56f019fee46210531f94cf6b418bbd Author: Thomas Gleixner Date: Thu Oct 11 11:13:07 2007 +0200 i386: prepare shared kernel/entry.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 930eed490ca02aaad6aa1bd10614a2b70cf621c6 Author: Thomas Gleixner Date: Thu Oct 11 11:13:06 2007 +0200 i386: prepare shared kernel/kprobes.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b4f127b931e66aeb4740d2cff36bc2e893af427e Author: Thomas Gleixner Date: Thu Oct 11 11:13:05 2007 +0200 i386: prepare shared kernel/process.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e012a7b6000a955f1d706cab288e938207c74ba7 Author: Thomas Gleixner Date: Thu Oct 11 11:13:03 2007 +0200 i386: prepare shared kernel/vsyscall-sigreturn.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6ddf19584021f3c5774823278d42ee3f3124b650 Author: Thomas Gleixner Date: Thu Oct 11 11:13:02 2007 +0200 i386: prepare shared kernel/init_task.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0c67e102ea427341ca51e0943eb3c5a911d05301 Author: Thomas Gleixner Date: Thu Oct 11 11:13:00 2007 +0200 i386: prepare shared kernel/ldt.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 26ab6533a683e92129cfa5f2365924d007c119f3 Author: Thomas Gleixner Date: Thu Oct 11 11:12:59 2007 +0200 i386: prepare shared kernel/crash_dump.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c94905c5c184686bffde7d0c23cadb64dfce17af Author: Thomas Gleixner Date: Thu Oct 11 11:12:57 2007 +0200 i386: prepare shared kernel/reboot.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 826c0e9e6ced6c1bb2d3f067ddff93d706b86446 Author: Thomas Gleixner Date: Thu Oct 11 11:12:56 2007 +0200 i386: prepare shared kernel/trampoline.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b352b7fe2271c48600a71f50546b8a3567a0e7fe Author: Thomas Gleixner Date: Thu Oct 11 11:12:54 2007 +0200 i386: prepare shared kernel/irq.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8260dc37916c12b36e9732a8fa5bfa8c5fa8f0c4 Author: Thomas Gleixner Date: Thu Oct 11 11:12:53 2007 +0200 i386: prepare shared kernel/ptrace.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a0d557e2c28623c58e645c29f309a823edd7a1bf Author: Thomas Gleixner Date: Thu Oct 11 11:12:52 2007 +0200 i386: prepare shared kernel/apm.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit bb2c787b41d0cffd372865b474903f7b3cfcdd7e Author: Thomas Gleixner Date: Thu Oct 11 11:12:50 2007 +0200 i386: prepare shared kernel/scx200.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f5a08b90f0089604be7a03c569ad8a44085bc363 Author: Thomas Gleixner Date: Thu Oct 11 11:12:49 2007 +0200 i386: prepare shared kernel/time.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ee8b55e53c106e6325e1f8a36d7274da43546255 Author: Thomas Gleixner Date: Thu Oct 11 11:12:47 2007 +0200 i386: prepare shared kernel/mpparse.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 56cc623cd7e9a36ae57fbf43f85adc11cff13042 Author: Thomas Gleixner Date: Thu Oct 11 11:12:46 2007 +0200 i386: prepare shared kernel/sigframe.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5bdef8fd610b8b07cf58ad2139f1f76bf127ad5d Author: Thomas Gleixner Date: Thu Oct 11 11:12:44 2007 +0200 i386: prepare shared kernel/vsyscall-sysenter.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 128ffcdab2e74292ead956f257e10d288a215e06 Author: Thomas Gleixner Date: Thu Oct 11 11:12:43 2007 +0200 i386: prepare shared kernel/doublefault.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f14ff3c8f151ac0ed487df18be01b0b32d70dd5e Author: Thomas Gleixner Date: Thu Oct 11 11:12:41 2007 +0200 i386: prepare shared kernel/i386_ksyms.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit aeb369d26ecfdde242f29d16c41bed562410e392 Author: Thomas Gleixner Date: Thu Oct 11 11:12:40 2007 +0200 i386: prepare shared kernel/mca.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4f09b00fce5ba7bc00425f91860e81571472fbe8 Author: Thomas Gleixner Date: Thu Oct 11 11:12:39 2007 +0200 i386: prepare shared kernel/smpcommon.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 30271a74772402764997e84cc5f6cab57d36418d Author: Thomas Gleixner Date: Thu Oct 11 11:12:37 2007 +0200 i386: prepare shared kernel/numaq.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit eea21b3055b76705a718b6864152d8ec85cbe942 Author: Thomas Gleixner Date: Thu Oct 11 11:12:36 2007 +0200 i386: prepare shared kernel/i387.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 24d8d25f1563f25c365cc6895bfc88af0b90ee40 Author: Thomas Gleixner Date: Thu Oct 11 11:12:34 2007 +0200 i386: prepare shared kernel/reboot_fixups.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2512e7c5c1851951ba4a625b84b4400bf6150625 Author: Thomas Gleixner Date: Thu Oct 11 11:12:33 2007 +0200 i386: prepare shared kernel/signal.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a584dfcc686c5ed89a234f2166ddaf73ec22f31a Author: Thomas Gleixner Date: Thu Oct 11 11:12:31 2007 +0200 i386: prepare shared kernel/summit.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 24f5b95bb91a6edac5dfdc7ddcbd6cabe0b30430 Author: Thomas Gleixner Date: Thu Oct 11 11:12:30 2007 +0200 i386: prepare shared kernel/vsyscall-int80.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d4c3a41e9a1f72bb995a6fb89ad028eda9a14c3d Author: Thomas Gleixner Date: Thu Oct 11 11:12:29 2007 +0200 i386: prepare shared kernel/ioport.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 549c64ac41fd37236543143a4e92699958a3972e Author: Thomas Gleixner Date: Thu Oct 11 11:12:27 2007 +0200 i386: prepare shared kernel/setup.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 016f8118b4f333cf88237918245be94788f0c51a Author: Thomas Gleixner Date: Thu Oct 11 11:12:26 2007 +0200 i386: prepare shared kernel/geode.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0273be2dcee34d3b955348cebef92cd796f06717 Author: Thomas Gleixner Date: Thu Oct 11 11:12:24 2007 +0200 i386: prepare shared kernel/smpboot.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5d43542f0c223e3643d88adb05ed466e6f0c8337 Author: Thomas Gleixner Date: Thu Oct 11 11:12:23 2007 +0200 i386: prepare shared kernel/e820.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a6424facfa0fceb57982df3a6d7e6166c94c22be Author: Thomas Gleixner Date: Thu Oct 11 11:12:21 2007 +0200 i386: prepare shared kernel/sysenter.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ae47fd49c73b7f4875bd1bf06f02f4209d5d2470 Author: Thomas Gleixner Date: Thu Oct 11 11:12:20 2007 +0200 i386: prepare shared kernel/hpet.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 77399ad90a8bd05f4b16da2ee398062d89f1719c Author: Thomas Gleixner Date: Thu Oct 11 11:12:19 2007 +0200 i386: prepare shared kernel/nmi.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 45da5aa2352153c7523dd42bb54e9378995b2194 Author: Thomas Gleixner Date: Thu Oct 11 11:12:17 2007 +0200 i386: prepare shared kernel/sys_i386.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0cc369a273ac6bacee9614b643de1fa283967a68 Author: Thomas Gleixner Date: Thu Oct 11 11:12:16 2007 +0200 i386: prepare shared kernel/apic.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b9fe30ac5cdfc4337a672a498a4ba4e8d5e18728 Author: Thomas Gleixner Date: Thu Oct 11 11:12:14 2007 +0200 i386: prepare shared kernel/paravirt.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cde82b404831aecccf2a1828b2dc643e0ac0e7ce Author: Thomas Gleixner Date: Thu Oct 11 11:12:13 2007 +0200 i386: prepare shared kernel/vsyscall.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a60b778b5a813c6b3663db9244f5a886f0f91027 Author: Thomas Gleixner Date: Thu Oct 11 11:12:11 2007 +0200 i386: prepare shared kernel/vmlinux.lds.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit caadc5e249a19596b1c8400bf8e71320e4f0a14f Author: Thomas Gleixner Date: Thu Oct 11 11:12:11 2007 +0200 i386: prepare shared kernel/module.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f9a4ddc72107a30a2999d717479efd93689a54bb Author: Thomas Gleixner Date: Thu Oct 11 11:12:09 2007 +0200 i386: prepare shared kernel/efi.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8d0d37cfb8039939f51dd2a1da98aff3b50a4e84 Author: Thomas Gleixner Date: Thu Oct 11 11:12:08 2007 +0200 i386: prepare shared kernel/asm-offsets.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 08eafb9b2808d8684e55c204609513e924e2da3c Author: Thomas Gleixner Date: Thu Oct 11 11:12:07 2007 +0200 i386: prepare shared kernel/crash.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f797f57a60514eea6fc03644c14e80691dd25727 Author: Thomas Gleixner Date: Thu Oct 11 11:12:06 2007 +0200 i386: prepare shared kernel/efi_stub.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7338d4357bb2c8f20e400432e1fe04a22cb868ad Author: Thomas Gleixner Date: Thu Oct 11 11:12:05 2007 +0200 i386: prepare shared kernel/vm86.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5924be937acbd1b11adb7be9b9bfab7ceda49050 Author: Thomas Gleixner Date: Thu Oct 11 11:12:03 2007 +0200 i386: prepare shared kernel/smp.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2b91e94a6b59b63175440795b25afcd4cbfbe5e5 Author: Thomas Gleixner Date: Thu Oct 11 11:12:02 2007 +0200 i386: prepare shared kernel/vsyscall.lds.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 541054d935a1ec89916977cbf0d16ddb71b3ff5c Author: Thomas Gleixner Date: Thu Oct 11 11:12:00 2007 +0200 i386: prepare shared kernel/syscall_table.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5250d969f281b9f1ca581245a8797a5b7055c959 Author: Thomas Gleixner Date: Thu Oct 11 11:11:59 2007 +0200 i386: prepare shared kernel/relocate_kernel.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 185bfbf6fac3e5bf8cd19c84aa520438a7d70022 Author: Thomas Gleixner Date: Thu Oct 11 11:11:57 2007 +0200 i386: prepare shared kernel/vmi.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b4ab0cfd7df6e74283ce6eae8d1dd6d63e28bcee Author: Thomas Gleixner Date: Thu Oct 11 11:11:56 2007 +0200 i386: prepare shared kernel/i8259.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit de1afdd27e8d78cb53f9886202176abe3f3f950b Author: Thomas Gleixner Date: Thu Oct 11 11:11:54 2007 +0200 i386: prepare shared kernel/pci-dma.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit dd11bb664ca533825bf9454714a9635268321882 Author: Thomas Gleixner Date: Thu Oct 11 11:11:53 2007 +0200 i386: prepare shared kernel/vmiclock.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6000e8231e177c43dac15e09a310598031631b5c Author: Thomas Gleixner Date: Thu Oct 11 11:11:52 2007 +0200 i386: prepare shared kernel/srat.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d07ec74041a48f2ce47aa254e716e1e2c17a1191 Author: Thomas Gleixner Date: Thu Oct 11 11:11:50 2007 +0200 i386: prepare shared kernel/i8253.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6513b15625b19abf8397a1a7099a61c453783e01 Author: Thomas Gleixner Date: Thu Oct 11 11:11:49 2007 +0200 i386: prepare shared kernel/io_apic.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 311d64ab6dab57a4e8b012aa0da0240cf1c167e4 Author: Thomas Gleixner Date: Thu Oct 11 11:11:47 2007 +0200 i386: prepare shared kernel/traps.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b673187cba8a5bcd28455b8540d8542df1d85d9b Author: Thomas Gleixner Date: Thu Oct 11 11:11:46 2007 +0200 i386: prepare shared crypto/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e980b6d9dee73e879e9c4731d0ef8a3c9d44e6ed Author: Thomas Gleixner Date: Thu Oct 11 11:11:45 2007 +0200 i386: prepare shared crypto/aes.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit fff7c9a4f6689243db004b8f6d8d4ba696796f81 Author: Thomas Gleixner Date: Thu Oct 11 11:11:44 2007 +0200 i386: prepare shared crypto/twofish-i586-asm.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 018977f6e7f11b08a5928641454f4c43a9b1ca43 Author: Thomas Gleixner Date: Thu Oct 11 11:11:42 2007 +0200 i386: prepare shared crypto/aes-i586-asm.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6a273b2b46f9e57bd0bc1f4b905e28d2f947588d Author: Thomas Gleixner Date: Thu Oct 11 11:11:41 2007 +0200 i386: prepare shared crypto/twofish.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c339dd68c53ad3e0b94081c771e70132512d5377 Author: Thomas Gleixner Date: Thu Oct 11 11:11:39 2007 +0200 x86_64: remove unused header file: Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b7d331281488193621e255f47773e42f406b939d Author: Thomas Gleixner Date: Thu Oct 11 11:11:39 2007 +0200 i386: remove module.h include from termios.h Signed-off-by: Thomas Gleixner commit 2eb4c95094d927f2eb094f720222cc5a9cc22fd3 Author: Thomas Gleixner Date: Thu Oct 11 11:11:38 2007 +0200 Kbuild: prepare scope and tags for arch/x86 Preparatory patch for the source merge of arch/i386 and arch/x86_64 into arch/x86. Make scope and tags aware of SRCARCH Signed-off-by: Thomas Gleixner commit 6752ed90da032af72f2f1fa23d1abf0889b56db0 Author: Thomas Gleixner Date: Thu Oct 11 11:11:36 2007 +0200 Kbuild: allow arch/xxx to use a different source path Preparatory patch for the source merge of arch/i386 and arch/x86_64 into arch/x86. This allows to keep the original arch directories as stubs for the main Makefiles, Kconfigs et. al during the transition phase while having the code in the new arch/x86 directory. Signed-off-by: Thomas Gleixner commit d7394fe57adbbd030c5a56f5f4579fe0478cdb9b Author: Thomas Gleixner Date: Thu Oct 11 11:11:35 2007 +0200 i386: use full path for mach-xxx make rules To simplify the scripted move of the mach-xxx directories, change the makerules to the full arch/.... path. Signed-off-by: Thomas Gleixner commit f4b927a242a9d770947dd651d52f5f325a87a2d3 Author: Thomas Gleixner Date: Thu Oct 11 11:11:33 2007 +0200 x86_64: simplify cpufreq build Instead of copying the i386 Makefile and handling path substitutions just use the i386 cpufreq Makefile. Signed-off-by: Thomas Gleixner commit 04c17170abe6da6679ab99b4b4a9730ba34ec30a Author: Thomas Gleixner Date: Thu Oct 11 11:11:32 2007 +0200 x86_64: simplify oprofile build Instead of copying the i386 Makefile and handling path substitutions just use the i386 oprofile Makefile. Signed-off-by: Thomas Gleixner commit 1ea3abf7fbc39b3b543d7438159ba07b6411561c Author: Samuel Thibault Date: Thu Oct 11 00:49:56 2007 -0400 Input: keyboard - add CapsShift lock There exists a CapsShift lock called KG_CAPSSHIFT, but no associated lock/slock, here is a patch which adds CapsShift lock and slock. Signed-off-by: Samuel Thibault Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 9a402b649d9c4f5ac17c1368702c9f51219c484b Author: Andrew McNabb Date: Thu Oct 11 00:49:43 2007 -0400 Input: adbhid - produce all CapsLock key events The ADB keyboard, which is used for Apple PowerBooks, has strange behavior with regard to the capslock key. It keeps track of capslock state internally, and it sends a keycode when capslock is engaged and a keycode when capslock is disengaged. When the current adbhid driver sees that the capslock key is pressed or released, it creates both a keypress event and a keyrelease event simultaneously. This results in normal capslock behavior. While this works, it makes it impossible to remap the capslock key to be a control key. However, by translating the 0xff keycode into capslock keycodes, we can restore the missing capslock events and make it possible to remap the capslock key. With this patch, the adbhid driver will translate these 0xff keycodes into capslock keypresses and keyreleases if /sys/module/adbhid/parameters/restore_capslock_events is set to 1. Otherwise it will retain the current behavior. This option is off by default because occasionally the 0xff keycode is not a capslock event, and a mistake may require the user to tap the capslock key. [akpm@linux-foundation.org: cleanups] Signed-off-by: Andrew McNabb Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit f493018ebc3f94d64e12bc848db0906700bf73a2 Author: Dmitry Torokhov Date: Thu Oct 11 00:49:19 2007 -0400 Input: ALPS - add signature for ThinkPad R61 Signed-off-by: Dmitry Torokhov commit 72f9df4023f9e44b29a48a5ea4954d89b18363fe Author: Dmitry Torokhov Date: Thu Oct 11 00:48:48 2007 -0400 Input: jornada720_kbd - send MSC_SCAN events Send MSC_SCAN events to userspace to ease task of adjusting keymap. Signed-off-by: Dmitry Torokhov commit 46b45b10f1425d02819b525e3805ddacd9ad4f29 Author: Stephen Rothwell Date: Tue Oct 9 17:03:57 2007 +1000 [POWERPC] Align the sys_call_table Our _GLOBAL macro does a ".align 2" so the alignment is fine for 32 bit, but on 64 bit it is possible for it to end up only 4 byte aligned. I don't know if it matters, but it can't hurt to 8 byte align it. It also means that when we build with --emit_relocs, none of our 64 bit relocations are to misaligned places. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 28f7b0360f46eeb9eeee63d03bb5484918a54837 Author: David S. Miller Date: Wed Oct 10 21:32:39 2007 -0700 [NETLINK]: fib_frontend build fixes 1) fibnl needs to be declared outside of config ifdefs, and also should not be explicitly initialized to NULL 2) nl_fib_input() args are wrong for netlink_kernel_create() input method Signed-off-by: David S. Miller commit 31910575a9de61e78065e93846e8e7a4894a18bf Author: Pierre Ynard Date: Wed Oct 10 21:22:05 2007 -0700 [IPv6]: Export userland ND options through netlink (RDNSS support) As discussed before, this patch provides userland with a way to access relevant options in Router Advertisements, after they are processed and validated by the kernel. Extra options are processed in a generic way; this patch only exports RDNSS options described in RFC5006, but support to control which options are exported could be easily added. A new rtnetlink message type is defined, to transport Neighbor Discovery options, along with optional context information. At the moment only the address of the router sending an RDNSS option is included, but additional attributes may be later defined, if needed by new use cases. Signed-off-by: Pierre Ynard Signed-off-by: David S. Miller commit 092e9d93b3728d484a4e73df9852dc4002cf9923 Author: Ingo Molnar Date: Wed Oct 10 21:19:28 2007 -0700 [9P]: build fix with !CONFIG_SYSCTL found via make randconfig build testing: net/built-in.o: In function `init_p9': mod.c:(.init.text+0x3b39): undefined reference to `p9_sysctl_register' net/built-in.o: In function `exit_p9': mod.c:(.exit.text+0x36b): undefined reference to `p9_sysctl_unregister' Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 9ef4429b31b86d486b56b6c179fe52b5c7152f13 Author: Benjamin Thery Date: Wed Oct 10 21:18:17 2007 -0700 [NET]: Fix dev_put() and dev_hold() comments Trivial fix: Swap comments for dev_put() and dev_hold() to get them at the right place. Typo introduced by 4fa57c9ea9f36f9ca852f3a88ca5d2f1aebbc960. Signed-of-by: Benjamin Thery Signed-off-by: David S. Miller commit cd40b7d3983c708aabe3d3008ec64ffce56d33b0 Author: Denis V. Lunev Date: Wed Oct 10 21:15:29 2007 -0700 [NET]: make netlink user -> kernel interface synchronious This patch make processing netlink user -> kernel messages synchronious. This change was inspired by the talk with Alexey Kuznetsov about current netlink messages processing. He says that he was badly wrong when introduced asynchronious user -> kernel communication. The call netlink_unicast is the only path to send message to the kernel netlink socket. But, unfortunately, it is also used to send data to the user. Before this change the user message has been attached to the socket queue and sk->sk_data_ready was called. The process has been blocked until all pending messages were processed. The bad thing is that this processing may occur in the arbitrary process context. This patch changes nlk->data_ready callback to get 1 skb and force packet processing right in the netlink_unicast. Kernel -> user path in netlink_unicast remains untouched. EINTR processing for in netlink_run_queue was changed. It forces rtnl_lock drop, but the process remains in the cycle until the message will be fully processed. So, there is no need to use this kludges now. Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit aed815601f3f95281ab3a01f7e2cbe1bd54285a0 Author: Denis V. Lunev Date: Wed Oct 10 21:14:32 2007 -0700 [NET]: unify netlink kernel socket recognition There are currently two ways to determine whether the netlink socket is a kernel one or a user one. This patch creates a single inline call for this purpose and unifies all the calls in the af_netlink.c No similar calls are found outside af_netlink.c. Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit 7ee015e0fa3c856416e9477aac4b850ec6f09017 Author: Denis V. Lunev Date: Wed Oct 10 21:14:03 2007 -0700 [NET]: cleanup 3rd argument in netlink_sendskb netlink_sendskb does not use third argument. Clean it and save a couple of bytes. Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit 3b71535f357a2e5d013a44a06b0c26a6a8d8fb5b Author: Denis V. Lunev Date: Wed Oct 10 21:13:32 2007 -0700 [NET]: Make netlink processing routines semi-synchronious (inspired by rtnl) v2 The code in netfilter/nfnetlink.c and in ./net/netlink/genetlink.c looks like outdated copy/paste from rtnetlink.c. Push them into sync with the original. Changes from v1: - deleted comment in nfnetlink_rcv_msg by request of Patrick McHardy Signed-off-by: Denis V. Lunev Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 1536cc0d55a2820b71daf912060fe43ec15630c2 Author: Denis V. Lunev Date: Wed Oct 10 21:12:58 2007 -0700 [NET]: rtnl_unlock cleanups There is no need to process outstanding netlink user->kernel packets during rtnl_unlock now. There is no rtnl_trylock in the rtnetlink_rcv anymore. Normal code path is the following: netlink_sendmsg netlink_unicast netlink_sendskb skb_queue_tail netlink_data_ready rtnetlink_rcv mutex_lock(&rtnl_mutex); netlink_run_queue(sk, qlen, &rtnetlink_rcv_msg); mutex_unlock(&rtnl_mutex); So, it is possible, that packets can be present in the rtnl->sk_receive_queue during rtnl_unlock, but there is no need to process them at that moment as rtnetlink_rcv for that packet is pending. Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit d1ec3b772233826bf156284170632563790dbabf Author: Pierre Ynard Date: Wed Oct 10 21:09:48 2007 -0700 [NETLINK]: Fix typos in comments in netlink.h This patch fixes a few typos in comments in include/net/netlink.h Signed-off-by: Pierre Ynard Signed-off-by: David S. Miller commit fa8705b00aeca19d91a1437b8a5cf865999b28f6 Author: Tony Battersby Date: Wed Oct 10 21:09:04 2007 -0700 [NET]: sanitize kernel_accept() error path If kernel_accept() returns an error, it may pass back a pointer to freed memory (which the caller should ignore). Make it pass back NULL instead for better safety. Signed-off-by: Tony Battersby Signed-off-by: David S. Miller commit e95c237d78c0dc8fc0ae1207cec87af7a37dd366 Author: Juerg Haefliger Date: Sun Oct 7 21:27:35 2007 -0700 hwmon: (dme1737) Add sch311x support This patch adds support for the SMSC SCH3112, SCH3114, and SCH3116 Super-I/O chips. These chips feature identical hardware monitoring capabilites with the expection that some of the fan inputs and pmw outputs don't exist. The hardware monitoring features of the SCH311x chips can only be accessed via the ISA bus. The driver therefore registers as a platform driver, if such a chip is detected. Signed-off-by: Juerg Haefliger Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 67e2f3285ecff8ceaa555e7614d1603b76e09b95 Author: Juerg Haefliger Date: Mon Oct 1 21:20:28 2007 -0700 hwmon: (dme1737) group functions logically Move functions to group them logically. Device and I2C functions go in separate places. No functional changes (really!). Signed-off-by: Juerg Haefliger Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit b237eb25d8e81c31ba561990445cfe4448c9de14 Author: Juerg Haefliger Date: Mon Oct 1 21:19:04 2007 -0700 hwmon: (dme1737) cleanups This patch cleans up and prepares the dme1737 driver for support of the sch311x chips. (Almost) no functional changes. - Replaced whitespaces with tabs. - Removed empty lines. - Added _i2c_ to names of functions that are strictly I2C related. - Added 4 new functions: dme1737_create_files, dme1737_remove_files, dme1737_sio_enter, and dme1737_sio_exit. - Added error messages in case client attach/detach fails. Signed-off-by: Juerg Haefliger Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 414c66e00e9fb4572e38bd14e6cc570eae8c5a61 Author: Matt Carlson Date: Wed Oct 10 18:03:56 2007 -0700 [TG3]: Update version to 3.83 Update to version 3.83. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0527ba358aa7594731e627842d493ae7f009dd57 Author: Matt Carlson Date: Wed Oct 10 18:03:30 2007 -0700 [TG3]: WOL defaults This patch enables WOL by default if out-of-box WOL is enabled in the NVRAM. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9936bcf68a7e4d33f080bba9ee03d156c75c91ee Author: Matt Carlson Date: Wed Oct 10 18:03:07 2007 -0700 [TG3]: Add 5761 support This patch adds rest of the miscellaneous code required to support the 5761. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0d3031d9e674cddd4c09731123ad252294cdf15f Author: Matt Carlson Date: Wed Oct 10 18:02:43 2007 -0700 [TG3]: Add 5761 APE support This patch adds support for the new APE block, present in 5761 chips. APE stands for Application Processing Engine. The primary function of the APE is to process manageability traffic, such as ASF. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6b91fa02796292c322b20572188c74c1ef5bb02b Author: Matt Carlson Date: Wed Oct 10 18:01:09 2007 -0700 [TG3]: Add new 5761 NVRAM decode routines This patch adds a new 5761-specific NVRAM strapping decode routine. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 227b60f5102cda4e4ab792b526a59c8cb20cd9f8 Author: Stephen Hemminger Date: Wed Oct 10 17:30:46 2007 -0700 [INET]: local port range robustness Expansion of original idea from Denis V. Lunev Add robustness and locking to the local_port_range sysctl. 1. Enforce that low < high when setting. 2. Use seqlock to ensure atomic update. The locking might seem like overkill, but there are cases where sysadmin might want to change value in the middle of a DoS attack. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 06393009000779b00a558fd2f280882cc7dc2008 Author: Stephen Hemminger Date: Wed Oct 10 17:30:18 2007 -0700 [SCTP]: port randomization Add port randomization rather than a simple fixed rover for use with SCTP. This makes it act similar to TCP, UDP, DCCP when allocating ports. No longer need port_alloc_lock as well (suggestion by Brian Haley). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3c0cfc135829b98f7a4894938652f9ef78e24237 Author: Patrick McHardy Date: Wed Oct 10 16:32:41 2007 -0700 [NET_SCHED]: Show timer resolution instead of clock resolution in /proc/net/psched The fourth parameter of /proc/net/psched is supposed to show the timer resultion and is used by HTB userspace to calculate the necessary burst rate. Currently we show the clock resolution, which results in a too low burst rate when the two differ. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 32d1316b91424423d7b44944f18cdaca268f3db2 Author: Michael Chan Date: Wed Oct 10 16:17:11 2007 -0700 [BNX2]: Update version to 1.6.7. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 846f5c622fe033520c775cc2c40c06f3e2adea85 Author: Michael Chan Date: Wed Oct 10 16:16:51 2007 -0700 [BNX2]: Fix default WoL setting. Change the default WoL setting to match the NVRAM's setting. It always defaulted to WoL disabled before and caused a lot of confusion for users. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 489310a440e606512b1fd79d8562d1da6b715448 Author: Michael Chan Date: Wed Oct 10 16:16:31 2007 -0700 [BNX2]: Fix remote PHY media detection problems. The remote PHY media type and link status can change between ->probe() and ->open(). For correct operation, we need to get the new status again during ->open(). The ethtool link test and loopback test are also fixed to work with remote PHY. PHY loopback is simply skipped when remote PHY is present. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 631a6698d09e57cadc069914d613899609a0ae83 Author: Herbert Xu Date: Wed Oct 10 15:46:21 2007 -0700 [IPSEC]: Move IP protocol setting from transforms into xfrm4_input.c This patch makes the IPv4 x->type->input functions return the next protocol instead of setting it directly. This is identical to how we do things in IPv6 and will help us merge common code on the input path. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ceb1eec8291175686d0208e66595ff83bc0624e2 Author: Herbert Xu Date: Wed Oct 10 15:45:52 2007 -0700 [IPSEC]: Move IP length/checksum setting out of transforms This patch moves the setting of the IP length and checksum fields out of the transforms and into the xfrmX_output functions. This would help future efforts in merging the transforms themselves. It also adds an optimisation to ipcomp due to the fact that the transport offset is guaranteed to be zero. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 87bdc48d304191313203df9b98d783e1ab5a55ab Author: Herbert Xu Date: Wed Oct 10 15:45:25 2007 -0700 [IPSEC]: Get rid of ipv6_{auth,esp,comp}_hdr This patch removes the duplicate ipv6_{auth,esp,comp}_hdr structures since they're identical to the IPv4 versions. Duplicating them would only create problems for ourselves later when we need to add things like extended sequence numbers. I've also added transport header type conversion headers for these types which are now used by the transforms. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 37fedd3aab6517daec628764c5d66dd8761fbe5f Author: Herbert Xu Date: Wed Oct 10 15:44:44 2007 -0700 [IPSEC]: Use IPv6 calling convention as the convention for x->mode->output The IPv6 calling convention for x->mode->output is more general and could help an eventual protocol-generic x->type->output implementation. This patch adopts it for IPv4 as well and modifies the IPv4 type output functions accordingly. It also rewrites the IPv6 mac/transport header calculation to be based off the network header where practical. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7b277b1a5fb147cb828e5d8b9780cee60f31a9bf Author: Herbert Xu Date: Wed Oct 10 15:44:06 2007 -0700 [IPSEC]: Set skb->data to payload in x->mode->output This patch changes the calling convention so that on entry from x->mode->output and before entry into x->type->output skb->data will point to the payload instead of the IP header. This is essentially a redistribution of skb_push/skb_pull calls with the aim of minimising them on the common path of tunnel + ESP. It'll also let us use the same calling convention between IPv4 and IPv6 with the next patch. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bee0b40c0621396326d1c17b81833f59118a2d80 Author: Herbert Xu Date: Wed Oct 10 15:42:23 2007 -0700 [IPSEC] beet: Fix extension header support on output The beet output function completely kills any extension headers by replacing them with the IPv6 header. This is because it essentially ignores the result of ip6_find_1stfragopt by simply acting as if there aren't any extension headers. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8bd170750400bfa5e14c3dd2e2d0f305e1ab0e57 Author: Herbert Xu Date: Wed Oct 10 15:41:41 2007 -0700 [IPSEC] esp: Remove NAT-T checksum invalidation for BEET I pointed this out back when this patch was first proposed but it looks like it got lost along the way. The checksum only needs to be ignored for NAT-T in transport mode where we lose the original inner addresses due to NAT. With BEET the inner addresses will be intact so the checksum remains valid. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f24e3d658cf382f11a7aa7887fa99147bdc6fe0b Author: Mitsuru Chinen Date: Wed Oct 10 02:53:43 2007 -0700 [IPV6]: Defer IPv6 device initialization until a valid qdisc is specified To judge the timing for DAD, netif_carrier_ok() is used. However, there is a possibility that dev->qdisc stays noop_qdisc even if netif_carrier_ok() returns true. In that case, DAD NS is not sent out. We need to defer the IPv6 device initialization until a valid qdisc is specified. Signed-off-by: Mitsuru Chinen Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 9b7726523523472ead660b1d45df29dcaf6cc5c0 Author: Pavel Emelyanov Date: Wed Oct 10 02:49:09 2007 -0700 [NET]: Remove double dev->flags checking when calling dev_close() The unregister_netdevice() and dev_change_net_namespace() both check for dev->flags to be IFF_UP before calling the dev_close(), but the dev_close() checks for IFF_UP itself, so remove those unneeded checks. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 1c1e87edb9aa38b9e1ae807a6d88fcfd350a55c0 Author: Ilpo Järvinen Date: Wed Oct 10 02:45:32 2007 -0700 [TCP]: Separate lost_retrans loop into own function Follows own function for each task principle, this is really somewhat separate task being done in sacktag. Also reduces indentation. In addition, added ack_seq local var to break some long lines & fixed coding style things. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 5265eeb2b036835021591173ac64e624baaff55c Author: Jan Glauber Date: Tue Oct 9 22:43:13 2007 +0800 [CRYPTO] sha: Add header file for SHA definitions There are currently several SHA implementations that all define their own initialization vectors and size values. Since this values are idential move them to a header file under include/crypto. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit ad5d27899fdbe7a66e57fdf1af883dbd7ff88dac Author: Sebastian Siewior Date: Mon Oct 8 11:45:10 2007 +0800 [CRYPTO] sha: Load the SHA[1|256] module by an alias Loading the crypto algorithm by the alias instead of by module directly has the advantage that all possible implementations of this algorithm are loaded automatically and the crypto API can choose the best one depending on its priority. Additionally it ensures that the generic implementation as well as the HW driver (if available) is loaded in case the HW driver needs the generic version as fallback in corner cases. Also remove the probe for sha1 in padlock's init code. Quote from Herbert: The probe is actually pointless since we can always probe when the algorithm is actually used which does not lead to dead-locks like this. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit f8246af005d56b73f4f04304fc5b6fd9878af4ef Author: Sebastian Siewior Date: Fri Oct 5 16:52:01 2007 +0800 [CRYPTO] aes: Rename aes to aes-generic Loading the crypto algorithm by the alias instead of by module directly has the advantage that all possible implementations of this algorithm are loaded automatically and the crypto API can choose the best one depending on its priority. Additionally it ensures that the generic implementation as well as the HW driver (if available) is loaded in case the HW driver needs the generic version as fallback in corner cases. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit c5a511f1cd6f90a98ad11dd97e2313c7c787deb2 Author: Sebastian Siewior Date: Fri Oct 5 16:42:03 2007 +0800 [CRYPTO] des: Rename des to des-generic Loading the crypto algorithm by the alias instead of by module directly has the advantage that all possible implementations of this algorithm are loaded automatically and the crypto API can choose the best one depending on its priority. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 7607bd8ff03b8af5af887931318cb2bb20361856 Author: Herbert Xu Date: Thu Oct 4 15:24:05 2007 +0800 [CRYPTO] blkcipher: Added blkcipher_walk_virt_block This patch adds the helper blkcipher_walk_virt_block which is similar to blkcipher_walk_virt but uses a supplied block size instead of the block size of the block cipher. This is useful for CTR where the block size is 1 but we still want to walk by the block size of the underlying cipher. Signed-off-by: Herbert Xu commit 2614de1b9af5a9e49cda64b394e1348159565bd5 Author: Herbert Xu Date: Thu Oct 4 14:49:00 2007 +0800 [CRYPTO] blkcipher: Increase kmalloc amount to aligned block size Now that the block size is no longer a multiple of the alignment, we need to increase the kmalloc amount in blkcipher_next_slow to use the aligned block size. Signed-off-by: Herbert Xu commit d8058480b35dbc3d1e6085b3f13b80af27def09e Author: Herbert Xu Date: Tue Oct 2 22:27:29 2007 +0800 [CRYPTO] api: Explain the comparison on larval cra_name This patch adds a comment to explain why we compare the cra_driver_name of the algorithm being registered against the cra_name of a larval as opposed to the cra_driver_name of the larval. In fact larvals have only one name, cra_name which is the name that was requested by the user. The test here is simply trying to find out whether the algorithm being registered can or can not satisfy the larval. Signed-off-by: Herbert Xu commit 70613783fc0f6e37b442d79e8417f71a2b71ed93 Author: Herbert Xu Date: Sat Sep 29 21:24:23 2007 +0800 [CRYPTO] blkcipher: Remove alignment restriction on block size Previously we assumed for convenience that the block size is a multiple of the algorithm's required alignment. With the pending addition of CTR this will no longer be the case as the block size will be 1 due to it being a stream cipher. However, the alignment requirement will be that of the underlying implementation which will most likely be greater than 1. Signed-off-by: Herbert Xu commit e4c5c6c9b0d04a7dac19027260f7421305a34856 Author: Herbert Xu Date: Fri Sep 28 09:07:12 2007 +0800 [CRYPTO] authenc: Kill spaces in algorithm names We do not allow spaces in algorithm names or parameters. Thanks to Joy Latten for pointing this out. Signed-off-by: Herbert Xu commit 720a650f8ab3166d32fc5da64961e8d2158b9452 Author: Herbert Xu Date: Fri Sep 28 09:06:11 2007 +0800 [CRYPTO] cryptomgr: Fix parsing of recursive algorithms As Joy Latten points out, inner algorithm parameters will miss the closing bracket which will also cause the outer algorithm to terminate prematurely. This patch fixes that also kills the WARN_ON if the number of parameters exceed the maximum as that is a user error. Signed-off-by: Herbert Xu commit f19f5111c94053ba4931892f5c01c806de33942e Author: Rik Snel Date: Wed Sep 19 20:23:13 2007 +0800 [CRYPTO] xts: XTS blockcipher mode implementation without partial blocks XTS currently considered to be the successor of the LRW mode by the IEEE1619 workgroup. LRW was discarded, because it was not secure if the encyption key itself is encrypted with LRW. XTS does not have this problem. The implementation is pretty straightforward, a new function was added to gf128mul to handle GF(128) elements in ble format. Four testvectors from the specification http://grouper.ieee.org/groups/1619/email/pdf00086.pdf were added, and they verify on my system. Signed-off-by: Rik Snel Signed-off-by: Herbert Xu commit 5aaff0c8f7dd3515c9f1ca57f86463f30779acc7 Author: Ingo Oeser Date: Wed Sep 19 19:11:41 2007 +0800 [CRYPTO] blkcipher: Use max() in blkcipher_get_spot() to state the intention Use max in blkcipher_get_spot() instead of open coding it. Signed-off-by: Ingo Oeser Signed-off-by: Herbert Xu commit 70dec235d8ac8cfb56ed2a3597e7d6c5b801f018 Author: Herbert Xu Date: Sat Sep 1 16:52:13 2007 +0800 [CRYPTO] api: Kill crypto_km_types When scatterwalk is built as a module digest.c was broken because it requires the crypto_km_types structure which is in scatterwalk. This patch removes the crypto_km_types structure by encoding the logic into crypto_kmap_type directly. In fact, this even saves a few bytes of code (not to mention the data structure itself) on i386 which is about the only place where it's needed. Signed-off-by: Herbert Xu commit 3c09f17c3d11f3e98928f55b600e6de22f58017a Author: Herbert Xu Date: Thu Aug 30 16:24:15 2007 +0800 [CRYPTO] aead: Add authenc This patch adds the authenc algorithm which constructs an AEAD algorithm from an asynchronous block cipher and a hash. The construction is done by concatenating the encrypted result from the cipher with the output from the hash, as is used by the IPsec ESP protocol. The authenc algorithm exists as a template with four parameters: authenc(auth, authsize, enc, enckeylen). The authentication algorithm, the authentication size (i.e., truncating the output of the authentication algorithm), the encryption algorithm, and the encryption key length. Both the size field and the key length field are in bytes. For example, AES-128 with SHA1-HMAC would be represented by authenc(hmac(sha1), 12, cbc(aes), 16) The key for the authenc algorithm is the concatenation of the keys for the authentication algorithm with the encryption algorithm. For the above example, if a key of length 36 bytes is given, then hmac(sha1) would receive the first 20 bytes while the last 16 would be given to cbc(aes). Signed-off-by: Herbert Xu commit b16c3a2e2c0307f5370b2b5e18bcbe1437b5f3d8 Author: Herbert Xu Date: Wed Aug 29 19:02:04 2007 +0800 [CRYPTO] api: Fixed crypto_*_reqsize return type This patch changes the return type of crypto_*_reqsize from int to unsigned int which matches what the underlying type is (and should be). Signed-off-by: Herbert Xu commit 5fa0fea27461f5ff7fad07687618db08272e9502 Author: Herbert Xu Date: Wed Aug 29 16:31:34 2007 +0800 [CRYPTO] scatterwalk: Add scatterwalk_map_and_copy This patch adds the function scatterwalk_map_and_copy which reads or writes a chunk of data from a scatterlist at a given offset. It will be used by authenc which would read/write the authentication data at the end of the cipher/plain text. Signed-off-by: Herbert Xu commit e962a653f3146330d99aefa5adadeaed60bc9bb5 Author: Herbert Xu Date: Wed Aug 29 16:06:15 2007 +0800 [CRYPTO] api: Move scatterwalk into algapi The scatterwalk code is only used by algorithms that can be built as a module. Therefore we can move it into algapi. Signed-off-by: Herbert Xu commit 2de98e75449fc1c43d2fbb857668ae62d4f5eece Author: Herbert Xu Date: Sun Aug 26 19:12:47 2007 +0800 [CRYPTO] ablkcipher: Remove queue pointer from common alg object Since not everyone needs a queue pointer and those who need it can always get it from the context anyway the queue pointer in the common alg object is redundant. Signed-off-by: Herbert Xu commit 791b4d5f73cbc16ee532ebac5bd82d51524d4f99 Author: Herbert Xu Date: Thu Aug 23 16:23:01 2007 +0800 [CRYPTO] api: Add missing headers for setkey_unaligned This patch ensures that kernel.h and slab.h are included for the setkey_unaligned function. It also breaks a couple of long lines. Signed-off-by: Herbert Xu commit 39e1ee011f42dbbcb0210c73ea728ae54cf63b06 Author: Herbert Xu Date: Wed Aug 29 19:27:26 2007 +0800 [CRYPTO] api: Add support for multiple template parameters This patch adds support for having multiple parameters to a template, separated by a comma. It also adds support for integer parameters in addition to the current algorithm parameter type. This will be used by the authenc template which will have four parameters: the authentication algorithm, the encryption algorithm, the authentication size and the encryption key length. Signed-off-by: Herbert Xu commit 1ae978208e2ee9ba1b01d309164bc5e590cd242d Author: Herbert Xu Date: Thu Aug 30 15:36:14 2007 +0800 [CRYPTO] api: Add aead crypto type This patch adds crypto_aead which is the interface for AEAD (Authenticated Encryption with Associated Data) algorithms. AEAD algorithms perform authentication and encryption in one step. Traditionally users (such as IPsec) would use two different crypto algorithms to perform these. With AEAD this comes down to one algorithm and one operation. Of course if traditional algorithms were used we'd still be doing two operations underneath. However, real AEAD algorithms may allow the underlying operations to be optimised as well. Signed-off-by: Herbert Xu commit e2ee95b8c69e542d6afef3f6f38ea598cc146ba7 Author: Hye-Shik Chang Date: Tue Aug 21 20:01:03 2007 +0800 [CRYPTO] seed: New cipher algorithm This patch adds support for the SEED cipher (RFC4269). This patch have been used in few VPN appliance vendors in Korea for several years. And it was verified by KISA, who developed the algorithm itself. As its importance in Korean banking industry, it would be great if linux incorporates the support. Signed-off-by: Hye-Shik Chang Signed-off-by: Herbert Xu commit aa379a6ab17ff5b06552c52360ce6d9f8c7c209a Author: Sebastian Siewior Date: Thu Aug 2 20:41:53 2007 +0800 [CRYPTO] api: Add crypto_ablkcipher_ctx_aligned This is function does the same thing for ablkcipher that is done for blkcipher by crypto_blkcipher_ctx_aligned(): it returns an aligned address of the private ctx. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 44db25ca127281036817f861593389d7cfe950f5 Author: Adrian Bunk Date: Tue Jul 17 20:33:16 2007 +0800 [CRYPTO] drivers/Kconfig: Remove "default m"s Hardware drivers shouldn't default to m. Signed-off-by: Adrian Bunk Signed-off-by: Herbert Xu commit a349365e5e0e0590cf68957abd2ead1e5249fdef Author: Adrian Bunk Date: Tue Jul 17 20:31:34 2007 +0800 [CRYPTO] Kconfig: Remove "default m"s Other options requiring specific block cipher algorithms already have the appropriate select's. Signed-off-by: Adrian Bunk Signed-off-by: Herbert Xu commit ec931035194709d0cde647d1c347bbf9634eec25 Author: Pavel Emelyanov Date: Wed Oct 10 02:31:07 2007 -0700 [SUNRPC]: Make the sunrpc use the seq_open_private() Just switch to the consolidated code. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit a662d4cb50d3976d2c9c9bac34119d0036e31d21 Author: Pavel Emelyanov Date: Wed Oct 10 02:30:45 2007 -0700 [IRDA]: Make the IRDA use the seq_open_private() Just switch to the consolidated code Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 31164088d72e1420e53f742b6c0c06f7343551dc Author: Pavel Emelyanov Date: Wed Oct 10 02:30:23 2007 -0700 [DECNET]: Make decnet code use the seq_open_private() Just switch to the consolidated code. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e2da59133880976586b2d9d81d798222ecafa566 Author: Pavel Emelyanov Date: Wed Oct 10 02:29:58 2007 -0700 [NETFILTER]: Make netfilter code use the seq_open_private Just switch to the consolidated calls. ipt_recent() has to initialize the private, so use the __seq_open_private() helper. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit cf7732e4cc14b56d593ff53352673e1fd5e3ba52 Author: Pavel Emelyanov Date: Wed Oct 10 02:29:29 2007 -0700 [NET]: Make core networking code use seq_open_private This concerns the ipv4 and ipv6 code mostly, but also the netlink and unix sockets. The netlink code is an example of how to use the __seq_open_private() call - it saves the net namespace on this private. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 39699037a5c94d7cd1363dfe48a50c78c643fd9a Author: Pavel Emelyanov Date: Wed Oct 10 02:28:42 2007 -0700 [FS] seq_file: Introduce the seq_open_private() This function allocates the zeroed chunk of memory and call seq_open(). The __seq_open_private() helper returns the allocated memory to make it possible for the caller to initialize it. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 59e90b2d22500f2e9cc635793562154abc8f4621 Author: Roland Dreier Date: Tue Oct 9 15:48:56 2007 -0700 ibm_emac: Convert to use napi_struct independent of struct net_device Commit da3dedd9 ("[NET]: Make NAPI polling independent of struct net_device objects.") changed the interface to NAPI polling. Fix up the ibm_newemac driver so that it works with this new interface. This is actually a nice cleanup because ibm_newemac is one of the drivers that wants to have multiple NAPI structures for a single net_device. Compile-tested only as I don't have a system that uses the ibm_newemac driver. This conversion the conversion for the ibm_emac driver that was tested on real PowerPC 440SPe hardware. Signed-off-by: Roland Dreier Signed-off-by: Jeff Garzik commit 61ba5b3c14b4956493d1180e0a860e941108393e Author: Roland Dreier Date: Tue Oct 9 15:47:59 2007 -0700 ibm_new_emac: Nuke SET_MODULE_OWNER() use Signed-off-by: Roland Dreier Signed-off-by: Jeff Garzik commit bfe13f54f5028cff034e3b6247e9f433908f4f4f Author: Roland Dreier Date: Tue Oct 9 15:47:37 2007 -0700 ibm_emac: Convert to use napi_struct independent of struct net_device Commit da3dedd9 ("[NET]: Make NAPI polling independent of struct net_device objects.") changed the interface to NAPI polling. Fix up the ibm_emac driver so that it works with this new interface. This is actually a nice cleanup because ibm_emac is one of the drivers that wants to have multiple NAPI structures for a single net_device. Tested with the internal MAC of a PowerPC 440SPe SoC with an AMCC 'Yucca' evaluation board. Signed-off-by: Roland Dreier Signed-off-by: Jeff Garzik commit 9153f66a5b8e63c61374df4e6a4cbd0056e45178 Author: Roland Dreier Date: Tue Oct 9 15:46:13 2007 -0700 IPoIB: Fix unused variable warning The conversion to use netdevice internal stats left an unused variable in ipoib_neigh_free(), since there's no longer any reason to get netdev_priv() in order to increment dropped packets. Delete the unused priv variable. Signed-off-by: Roland Dreier Signed-off-by: Jeff Garzik commit f2cade13371f3ca80c5479c284e6455c681c8a0c Author: Mark Brown Date: Tue Oct 9 22:57:39 2007 +0100 natsemi: Use NATSEMI_TIMER_FREQ consistently The natsemi driver has a define NATSEMI_TIMER_FREQ which looks like it controls the normal frequency of the chip poll timer but in fact only takes effect for the first run of the timer. Adjust the value of the define to match that used by the timer and use the define consistently. Signed-off-by: Mark Brown Signed-off-by: Jeff Garzik commit 9265fabf0d4c3d0a52e169d4b9149d52fd91db69 Author: Stephen Hemminger Date: Mon Oct 8 16:22:29 2007 -0700 cxgb3 sparse warning fixes Fix warnings from sparse related to shadowed variables and routines that should be declared static. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 33a85aa1c915c2f114bdac9b6d1ec00cc0fbc485 Author: Stephen Hemminger Date: Mon Oct 8 16:19:10 2007 -0700 chelsio: sparse warning fixes (old cxgb2) Fix problems detected by sparse: 1. whole chunk of MAC code was for defined and never used 2. hook for running ext intr in workqueue wasn't being used Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3bf76b81608479a10077bd6b55972d40db782067 Author: Jan-Bernd Themann Date: Mon Oct 8 16:01:33 2007 +0200 ehea: use kernel event queue eHEA recovery and DLPAR functions are called seldomly. The eHEA workqueues are replaced by the kernel event queue. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit ddfce6bb43c6bf1c9956e7a65ce1b2e19a156bd2 Author: Stephen Hemminger Date: Fri Oct 5 17:19:47 2007 -0700 network drivers: sparse warning fixes Fix some of the easy warnings in network device drivers. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 43b7c451a03fe5f615710e26e8e2a3dd70eaa5b1 Author: Stephen Hemminger Date: Fri Oct 5 12:39:21 2007 -0700 s2io: sparse warnings fix (rev2) Fix warnings from sparse checker about shadowed definition and improperly formatted ethtool_strings. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 309af40b5f4c2065c9a5f74a360ad3d3b0c9c9cd Author: Auke Kok Date: Fri Oct 5 15:22:02 2007 -0700 e1000e: restore flow control settings properly After a cable unplug the forced flow control settings were lost accidentally and the flow control settings fell back to the default EEPROM determined values. This breaks for people who want to run without fc enabled - after a cable reset the driver would refuse to run with fc disabled. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 4e6c709c5ab886be0ddbc96c4f96534e55920e68 Author: Auke Kok Date: Fri Oct 5 14:15:23 2007 -0700 e1000e: Simple optimizations in e1000_xmit_frame After an e1000 patch from Krishna Kumar . Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 6d1e3aa7bd47faacc08fdda8f58896bfd13ad90a Author: Krishna Kumar Date: Fri Oct 5 14:15:16 2007 -0700 e1000: Simple optimizations in e1000_xmit_frame Some simple optimizations in e1000_xmit_frame. Signed-off-by: Krishna Kumar Signed-off-by: Jeff Garzik commit e2f036da2f8f72894988670953a1141da785e4f5 Author: Mattias Nissler Date: Sun Oct 7 16:35:31 2007 +0200 [PATCH] mac80211: Defer setting of RX_FLAG_DECRYPTED. The decryption handlers will skip the frame if the RX_FLAG_DECRYPTED flag is set, so the early flag setting introduced by Johannes breaks decryption. To work around this, call the handlers first and then set the flag. Signed-off-by: Mattias Nissler Signed-off-by: John W. Linville commit 0654ff055c6ce5642eed88ba22915b0e56666794 Author: John W. Linville Date: Thu Oct 4 14:04:40 2007 -0400 [PATCH] ieee80211_if_set_type: make check for master dev more explicit Problem description by Daniel Drake : "This sequence of events causes loss of connectivity: ifconfig eth7 down iwconfig eth7 mode monitor ifconfig eth7 up ifconfig eth7 down iwconfig eth7 mode managed At this point you are associated but TX does not work. This is because the eth7 hard_start_xmit is still ieee80211_monitor_start_xmit." The problem is caused by ieee80211_if_set_type checking for a non-zero hard_start_xmit pointer value in order to avoid changing that value for master devices. The fix is to make that check more explicitly linked to master devices rather than simply checking if the value has been previously set. CC: Daniel Drake Acked-by: Michael Wu Signed-off-by: John W. Linville commit 04799fae8ecb42b2c687fa85fe32ff79ea0e9dc9 Author: Holger Schurig Date: Tue Oct 9 15:04:14 2007 +0200 [PATCH] libertas: let get nick return what set nick has set Make the get-nickname wireless extension actually work. Before this patch, I could do "iwconfig eth1 nick BLAH" but "iwconfig eth1" would have still showed "MRVL-USB8388" to me. Hey, and that was wrong anyway, I'm on a CF card, not on USB :-) Signed-off-by: Holger Schurig Acked-By: Dan Williams Signed-off-by: John W. Linville commit cc32613792b9789cebb40240a56bd4a7675b86fc Author: Holger Schurig Date: Tue Oct 9 14:30:10 2007 +0200 [PATCH] libertas: remove one superfluous include This makes scripts/checkincludes.pl happy. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit e56188ac4163cb276b7650949c1e8e20fb2f9c73 Author: Holger Schurig Date: Tue Oct 9 14:15:19 2007 +0200 [PATCH] libertas: clean up scan debug messages * make scan debug output cleaner * change some LBS_DEB_ASSOC messages to LBS_DEB_SCAN, which is more correct * move helper functions together * print function return value in the tracing code at one central location Signed-off-by: Holger Schurig Acked-By: Dan Williams Signed-off-by: John W. Linville commit 314a886f08d689cdcf10bd8e4777a3d9f483bb53 Author: Holger Schurig Date: Mon Oct 8 12:20:04 2007 +0200 [PATCH] libertas: fix "warning: Using plain integer as NULL pointer" sparse warnings This fixes three "warning: Using plain integer as NULL pointer" sparse warnings. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 8b17d7234c7039b668739e1868f3d5544d79a4c0 Author: Holger Schurig Date: Mon Oct 8 11:09:30 2007 +0200 [PATCH] libertas: fix a debug statement Fix a debug statement Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit d8b0fb51ef1563c631d26cb649a5479b5cc4899c Author: Geert Uytterhoeven Date: Mon Oct 8 09:43:02 2007 +0200 [PATCH] libertas link error due to gcc `smartness' Some versions of gcc replace strstr() calls with a single-character `needle' parameter by strchr() behind our back. This causes a link error if strchr() is defined as an inline function in (e.g. on m68k): | drivers/built-in.o: In function `libertas_parse_chan': | linux/drivers/net/wireless/libertas/debugfs.c:209: undefined reference to `strchr' | drivers/built-in.o: In function `libertas_parse_ssid': | linux/drivers/net/wireless/libertas/debugfs.c:260: undefined reference to `strchr' Avoid this by explicitly calling strchr() instead. Also include , because this file calls lots of str*() routines. Signed-off-by: Geert Uytterhoeven Acked-By: Holger Schurig Acked-By: Dan Williams Signed-off-by: John W. Linville commit 6470a89de90167cc1ff8a0312197ca422f5fe35f Author: Holger Schurig Date: Mon Oct 8 11:07:27 2007 +0200 [PATCH] libertas: fix u8 constant Don't write constants that are (per documentation and struct) u8 as 0x0001, use 0x01 instead. Also remove an useless cast. Signed-off-by: Holger Schurig Acked-By: Dan Williams Signed-off-by: John W. Linville commit 2bcde51d095490c223bb4ade351cb7981c367934 Author: Dan Williams Date: Wed Oct 3 10:37:45 2007 -0400 [PATCH] libertas: problems setting wpa keys The 88w8385 chip, using SDIO interface and firmware release 5.0.11p0, has problems when both unicast and multicast WPA keys are set in one command. This patch ensures the keys are set independently. The original author of this patch is Marc Pignat Signed-off-by: Marc Pignat Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 515ea2492cfc93233ba31402d1992a435aa78f37 Author: Ivo van Doorn Date: Sat Oct 6 14:18:41 2007 +0200 [PATCH] rt2x00: Release 2.0.10 Version bump Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c22eb87b5723b3d66665ca2ffa87428e0e489b16 Author: Ivo van Doorn Date: Sat Oct 6 14:18:22 2007 +0200 [PATCH] rt2x00: Allways memset memory obtained from skb_push() When skb_push() is used we should memset the memory before usage. This will prevent bugs which could occur when the data is treated as TX descriptor. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 37894473fb0d07e1e015781f7ae1b9b1762d49be Author: Ivo van Doorn Date: Sat Oct 6 14:18:00 2007 +0200 [PATCH] rt2x00: Clean disabling of rt73usb_get_tsf By defining rt73usb_get_tsf to NULL we only have 1 location that needs to be edited when rt73usb_get_tsf can be enabled again. This also reduces the number of #ifdefs in the code which is also a "good thing" Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5c58ee51ff8c0aca74c225e0263bc5dd2b917781 Author: Ivo van Doorn Date: Sat Oct 6 13:34:52 2007 +0200 [PATCH] rt2x00: Reorganize configuration handler Reorganize configuration handling by creating a extra structure which contains precalculated values based on the mac80211 values which are usefull for all individual drivers. This also fixes the preamble configuration problem, up untill now preamble was never configured since by default the rate->val value was used when changing the mode. Now rate->val will only be used to set the basic rate mask. The preamble configuration will now be done correctly through the erp_ie_changed callback function. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4f5af6eb3d17f8e343597ea99d97eb2f2905b2fb Author: Ivo van Doorn Date: Sat Oct 6 14:16:30 2007 +0200 [PATCH] rt2x00: Small optimizations Make some small optimizations by removing some simple if-statements. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5cbf830e137d1b6057cb6b553a8ebbb7d1b9343f Author: Ivo van Doorn Date: Sat Oct 6 14:16:09 2007 +0200 [PATCH] rt2x00: Pass dev_state to rt2x00lib_toggle_rx Directly pass a value from the enum dev_state with rt2x00lib_toggle_rx, this will save us a ? : statement, and it is clearer then passing a 1 0 argument. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dd9fa2d21aebbb618318954867c5dfe3751328be Author: Ivo van Doorn Date: Sat Oct 6 14:15:46 2007 +0200 [PATCH] rt2x00: Add get_tx_data_len callback function The TX datalen must always be converted to a value rt73 and rt2500usb understand. Both require to use a different size then skb->len. First off this is required because the descriptor must be added, but the second is because the value must be a multiple of either 2 or 4, and it should not be a multiple of the USB packetmax Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9ee8f57e0adfd929759fee1ec6a7900ae6851bc5 Author: Ivo van Doorn Date: Sat Oct 6 14:15:20 2007 +0200 [PATCH] rt2x00: Cut lines down to 80 characters rt61pci contained 1 line of 88 characters width, this needs to be cut down. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a137e202b0e47bca301d2315cca5c08140409ed7 Author: Ivo van Doorn Date: Sat Oct 6 14:14:58 2007 +0200 [PATCH] rt2x00: get_duration expects values in 100kbs get_duration expects all speeds to be passed in 100kbs, this means that passing 2 is incorrect and should be raised to 20 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit feb24691e3e87a740caec4568be1a202db786f20 Author: Ivo van Doorn Date: Sat Oct 6 14:14:29 2007 +0200 [PATCH] rt2x00: Move TSF sync values into rt2x00config All drivers use the same values for TSF sync, this will move the value determination into rt2x00config.c, and the definition for the values to rt2x00reg.h Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 81873e9ccd5731ca77027bdb32b34904e7af25d0 Author: Ivo van Doorn Date: Sat Oct 6 14:14:06 2007 +0200 [PATCH] rt2x00: Fix rfkill handling As reported by Modestas Vainius, enabling rkfill in 1 driver and disabling it in a second could cause a NULL pointer exception when the rfkill-disabled driver still sets the CONFIG_SUPPORT_HW_BUTTON flag. Furthermore, rfkill expects the timeout as a value in milliseconds instead of jiffies. Also increase the timeout to a second, since this 250ms would be overkill. Also the flag DEVICE_ENABLED_RADIO_HW is causing problems for devices which do not support the hardware button while rfkill is enabled in the driver. To remidy this we should inverse the flag and its meaning, rename the flag to DEVICE_DISABLED_RADIO_HW this means that by default the radio is enabled by the hardware button (if present) and can only be disabled explicitely. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5886d0dbf5b4226c6b6c8c44c555c5dd83c67b02 Author: Ivo van Doorn Date: Sat Oct 6 14:13:38 2007 +0200 [PATCH] rt2x00: Don't use changed_flags inside configure_packet_filter We shouldn't use changed_flags when configuring the packet filter, we work directly with the total_flags which is safe enough since we already check if something has changed after we applied our packet filtering flag rules. Also make sure that when the packet filter is scheduled, the rt2x00dev->interface.filter is cleared to make sure the drivers will update the packet filter instead of failing at the check: *total_flags == rt2x00dev->interface.filter Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 483272f5ee968b25172b80bd2d27e37fef1dcc3a Author: Ivo van Doorn Date: Sat Oct 6 14:13:06 2007 +0200 [PATCH] rt2x00: Move rt2x00dev flags into enumeration By putting the flags into a enumeration we can make it easier maintable since we don't have to assign numbers for each flag. This makes it easier to insert and remove flags. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6d7f9877a66a3abe0b04b63d1de4659919e21a92 Author: Ivo van Doorn Date: Sat Oct 6 14:12:42 2007 +0200 [PATCH] rt2x00: Store "STARTED" state during suspend Store the started state into a new flag DEVICE_STARTED_SUSPEND and set this when suspending while the device was started. We can't check for is_interface_present() since only mac80211 knows if there are monitor interfaces present. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3a84732a5c9758a4bd59088787cac23508ef8b62 Author: Ivo van Doorn Date: Sat Oct 6 14:12:13 2007 +0200 [PATCH] rt2x00: Remove radio check from rt2x00lib_toggle_rx Don't check if the radio is enabled in rt2x00lib_toggle_rx, this is required since the link tuner should be disabled when shutting down the device. The remaining calls inside the rt2x00lib_toggle_rx handler should deliver no problems when called while the radio is done. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4abee4bbd771ce42b9a0a19be11264721aa0e3ed Author: Ivo van Doorn Date: Sat Oct 6 14:11:46 2007 +0200 [PATCH] rt2x00: Remove duplicate code in MAC & BSSID handling The various drivers contained duplicate code to handle the MAC and BSSID initialization correctly. This moves the address copy to little endian variables to rt2x00config. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c109810318ef4d37e495f740e624b1a15b7a0818 Author: Martti Huttunen Date: Thu Oct 4 00:06:00 2007 -0400 [PATCH] p54usb: Add device ID for Linksys WUSB54AG Add the device ID for Linksys WUSB54AG. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit c3cf60a97fa4258599d308c74e2ee7c502b72e2a Author: Michael Wu Date: Thu Oct 4 00:04:07 2007 -0400 [PATCH] rtl8187: Add device ID for HP wireless print kit usb dongle This adds the device ID for the HP wireless print kit usb dongle. Thanks to Thierry Merle for the patch to the original rtl8187 driver. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 0b5316769774d1dc2fdd702e095f9e6992af269a Author: Dan Williams Date: Tue Oct 9 13:55:24 2007 -0400 [PATCH] ipw2200: batch non-user-requested scan result notifications ipw2200 makes extensive use of background scanning when unassociated or down. Unfortunately, the firmware sends scan completed events many times per second, which the driver pushes directly up to userspace. This needlessly wakes up processes listening for wireless events many times per second. Batch together scan completed events for non-user-requested scans and send them up to userspace every 4 seconds. Scan completed events resulting from an SIOCSIWSCAN call are pushed up without delay. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 04dd9d39b48636d2698049304fdfb9ca59a88b54 Author: Marcin Juszkiewicz Date: Sun Oct 7 20:51:08 2007 +0200 [PATCH] Add Linksys card to HostAP driver Socket 1: product info: "The Linksys Group, Inc.", "Wireless Network CF Card", "ISL37300P", "RevA" manfid: 0x0274, 0x3301 Signed-off-by: Marcin Juszkiewicz Signed-off-by: John W. Linville commit 61ef6062801b5ee8dcf18a90789713fbed249f1b Author: Daniel Drake Date: Sun Oct 7 16:24:26 2007 +0100 [PATCH] zd1211rw: Add ID for TalkTalk SNU5630NS/05 Tested by Su-Jong You zd1211b chip 0471:1237 v4810 high 00-12-bf AL2230_RF pa0 g--N Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 46232d29f4088d87cdc2ee94cc911aadbdf00d32 Author: Stefan Lippers-Hollmann Date: Fri Oct 5 23:42:51 2007 +0200 [PATCH] hostap_cs: Add device ID for Telekom T-Sinus 111card This adds the PCMCIA device ID for the Deutsche Telekom T-Sinus 111card to hostap_cs. $ /sbin/lspcmcia -v [...] Socket 0 Device 0: [hostap_cs] (bus ID: 0.0) Configuration: state: on Product Name: T-Sinus 111card 2.0.0 Identification: manf_id: 0x01bf card_id: 0x3301 function: 6 (network) prod_id(1): "T-Sinus" (0x8c389dc1) prod_id(2): "111card" (0x6a23ac17) prod_id(3): --- (---) prod_id(4): "2.0.0" (0x92b9effb) Signed-off-by: Stefan Lippers-Hollmann Signed-off-by: John W. Linville commit b7c6538cd84f8072fad43bfce530f5bf695edbba Author: Herbert Xu Date: Tue Oct 9 13:33:35 2007 -0700 [IPSEC]: Move state lock into x->type->output This patch releases the lock on the state before calling x->type->output. It also adds the lock to the spots where they're currently needed. Most of those places (all except mip6) are expected to disappear with async crypto. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 050f009e16f908932070313c1745d09dc69fd62b Author: Herbert Xu Date: Tue Oct 9 13:31:47 2007 -0700 [IPSEC]: Lock state when copying non-atomic fields to user-space This patch adds locking so that when we're copying non-atomic fields such as life-time or coaddr to user-space we don't get a partial result. For af_key I've changed every instance of pfkey_xfrm_state2msg apart from expiration notification to include the keys and life-times. This is in-line with XFRM behaviour. The actual cases affected are: * pfkey_getspi: No change as we don't have any keys to copy. * key_notify_sa: + ADD/UPD: This wouldn't work otherwise. + DEL: It can't hurt. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 68325d3b12ad5bce650c2883bb878257f197efff Author: Herbert Xu Date: Tue Oct 9 13:30:57 2007 -0700 [XFRM] user: Move attribute copying code into copy_to_user_state_extra Here's a good example of code duplication leading to code rot. The notification patch did its own netlink message creation for xfrm states. It duplicated code that was already in dump_one_state. Guess what, the next time (and the time after) when someone updated dump_one_state the notification path got zilch. This patch moves that code from dump_one_state to copy_to_user_state_extra and uses it in xfrm_notify_sa too. Unfortunately whoever updates this still needs to update xfrm_sa_len since the notification path wants to know the exact size for allocation. At least I've added a comment saying so and if someone still forgest, we'll have a WARN_ON telling us so. I also changed the security size calculation to use xfrm_user_sec_ctx since that's what we actually put into the skb. However it makes no practical difference since it has the same size as xfrm_sec_ctx. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 658b219e9379d75fbdc578b9630b598098471258 Author: Herbert Xu Date: Tue Oct 9 13:29:52 2007 -0700 [IPSEC]: Move common code into xfrm_alloc_spi This patch moves some common code that conceptually belongs to the xfrm core from af_key/xfrm_user into xfrm_alloc_spi. In particular, the spin lock on the state is now taken inside xfrm_alloc_spi. Previously it also protected the construction of the response PF_KEY/XFRM messages to user-space. This is inconsistent as other identical constructions are not protected by the state lock. This is bad because they in fact should be protected but only in certain spots (so as not to hold the lock for too long which may cause packet drops). The SPI byte order conversion has also been moved. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 75ba28c633952f7994a7117c98ae6515b58f8d30 Author: Herbert Xu Date: Tue Oct 9 13:27:27 2007 -0700 [IPSEC]: Remove gratuitous km wake-up events on ACQUIRE There is no point in waking people up when creating/updating larval states because they'll just go back to sleep again as larval states by definition cannot be found by xfrm_state_find. We should only wake them up when the larvals mature or die. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 007f0211a8872f32381f5d44becf8eb2f27f3c30 Author: Herbert Xu Date: Tue Oct 9 13:25:59 2007 -0700 [IPSEC]: Store IPv6 nh pointer in mac_header on output Current the x->mode->output functions store the IPv6 nh pointer in the skb network header. This is inconvenient because the network header then has to be fixed up before the packet can leave the IPsec stack. The mac header field is unused on output so we can use that to store this instead. This patch does that and removes the network header fix-up in xfrm_output. It also uses ipv6_hdr where appropriate in the x->type->output functions. There is also a minor clean-up in esp4 to make it use the same code as esp6 to help any subsequent effort to merge the two. Lastly it kills two redundant skb_set_* statements in BEET that were simply copied over from transport mode. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1ecafede835321ebdc396531245adc37d22366f7 Author: Herbert Xu Date: Tue Oct 9 13:24:07 2007 -0700 [IPSEC]: Remove bogus ref count in xfrm_secpath_reject Constructs of the form xfrm_state_hold(x); foo(x); xfrm_state_put(x); tend to be broken because foo is either synchronous where this is totally unnecessary or if foo is asynchronous then the reference count is in the wrong spot. In the case of xfrm_secpath_reject, the function is synchronous and therefore we should just kill the reference count. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 32f0c4cbe495d121c09ed14d9c84f9e1b9574415 Author: Pavel Emelyanov Date: Tue Oct 9 13:02:17 2007 -0700 [NETNS]: Don't memset() netns to zero manually The newly created net namespace is set to 0 with memset() in setup_net(). The setup_net() is also called for the init_net_ns(), which is zeroed naturally as a global var. So remove this memset and allocate new nets with the kmem_cache_zalloc(). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 0a8891a0a419d43ea06c8ded0849f0820c6a873b Author: Benjamin Thery Date: Mon Oct 8 20:39:36 2007 -0700 [IPv6]: use container_of() macro in fib6_clean_node() In ip6_fib.c, fib6_clean_node() casts a fib6_walker_t pointer to a fib6_cleaner_t pointer assuming a struct fib6_walker_t (field 'w') is the first field in struct fib6_walker_t. To prevent any future problems that may occur if one day a field is inadvertently inserted before the 'w' field in struct fib6_cleaner_t, (and to improve readability), this patch uses the container_of() macro. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 4665079cbb2a3e17de82f2ab2940b9f97f37d65e Author: Pavel Emelyanov Date: Mon Oct 8 20:38:39 2007 -0700 [NETNS]: Move some code into __init section when CONFIG_NET_NS=n With the net namespaces many code leaved the __init section, thus making the kernel occupy more memory than it did before. Since we have a config option that prohibits the namespace creation, the functions that initialize/finalize some netns stuff are simply not needed and can be freed after the boot. Currently, this is almost not noticeable, since few calls are no longer in __init, but when the namespaces will be merged it will be possible to free more code. I propose to use the __net_init, __net_exit and __net_initdata "attributes" for functions/variables that are not used if the CONFIG_NET_NS is not set to save more space in memory. The exiting functions cannot just reside in the __exit section, as noticed by David, since the init section will have references on it and the compilation will fail due to modpost checks. These references can exist, since the init namespace never dies and the exit callbacks are never called. So I introduce the __exit_refok attribute just like it is already done with the __init_refok. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit d62a38d1ab350f787e4941e42a3d3e97971e38f5 Author: Karsten Keil Date: Mon Oct 8 20:37:11 2007 -0700 [ISDN]: Change I4L to use alloc_netdev(). Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 3607c44676583e80122c1fed23f34d003cdd6979 Author: Ursula Braun Date: Mon Oct 8 20:28:47 2007 -0700 [8021Q]: transfer dev_id from real device A net_device struct provides field dev_id. It is used for unique ipv6 generation in case of shared network cards (as for the OSA network cards of IBM System z). If VLAN devices are built on top of such shared network cards, this dev_id information needs to be transferred to the VLAN device. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 45b17f48eaf5e5ff4202454985557b3240141caa Author: Herbert Xu Date: Mon Oct 8 17:27:19 2007 -0700 [IPSEC]: Move RO-specific output code into xfrm6_mode_ro.c The lastused update check in xfrm_output can be done just as well in the mode output function which is specific to RO. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit cdf7e668d4327a33e11be04c4cb9bcc604eaaa0f Author: Herbert Xu Date: Mon Oct 8 17:26:34 2007 -0700 [IPSEC]: Unexport xfrm_replay_notify Now that the only callers of xfrm_replay_notify are in xfrm, we can remove the export. This patch also removes xfrm_aevent_doreplay since it's now called in just one spot. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 436a0a402203d5a47d2edf7e4dde6c08a7257983 Author: Herbert Xu Date: Mon Oct 8 17:25:53 2007 -0700 [IPSEC]: Move output replay code into xfrm_output The replay counter is one of only two remaining things in the output code that requires a lock on the xfrm state (the other being the crypto). This patch moves it into the generic xfrm_output so we can remove the lock from the transforms themselves. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 83815dea47cf3e98ccbb6aecda08cba1ba91208f Author: Herbert Xu Date: Mon Oct 8 17:25:08 2007 -0700 [IPSEC]: Move xfrm_state_check into xfrm_output.c The functions xfrm_state_check and xfrm_state_check_space are only used by the output code in xfrm_output.c so we can move them over. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 406ef77c893ebd882209be4e393d64b01fe72054 Author: Herbert Xu Date: Mon Oct 8 17:16:30 2007 -0700 [IPSEC]: Move common output code to xfrm_output Most of the code in xfrm4_output_one and xfrm6_output_one are identical so this patch moves them into a common xfrm_output function which will live in net/xfrm. In fact this would seem to fix a bug as on IPv4 we never reset the network header after a transform which may upset netfilter later on. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bc31d3b2c7d7f2a03721a05cb3c9a3ce8b1e2e5a Author: Herbert Xu Date: Mon Oct 8 17:14:34 2007 -0700 [IPSEC] ah: Remove keys from ah_data structure The keys are only used during initialisation so we don't need to carry them in esp_data. Since we don't have to allocate them again, there is no need to place a limit on the authentication key length anymore. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 4b7137ff8fb49d7bf22dfa248baa0d02ace2c43d Author: Herbert Xu Date: Mon Oct 8 17:13:44 2007 -0700 [IPSEC] esp: Remove keys from esp_data structure The keys are only used during initialisation so we don't need to carry them in esp_data. Since we don't have to allocate them again, there is no need to place a limit on the authentication key length anymore. This patch also kills the unused auth.icv member. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f0703c80e5156406ad947cb67fe277725b48080f Author: Ursula Braun Date: Mon Oct 8 02:03:31 2007 -0700 [AF_IUCV]: postpone receival of iucv-packets AF_IUCV socket programs may waste Linux storage, because af_iucv allocates an skb whenever posted by the receive callback routine and receives the message immediately. Message receival is now postponed if data from previous callbacks has not yet been transferred to the receiving socket program. Instead a message handle is saved in a message queue as a reminder. Once messages could be given to the receiving socket program, there is an additional checking for entries in the message queue, followed by skb allocation and message receival if applicable. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 57f20448032158ad00b1e74f479515c689998be9 Author: Heiko Carstens Date: Mon Oct 8 02:02:52 2007 -0700 [AF_IUCV]: remove static declarations from header file. Signed-off-by: Heiko Carstens Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 405d8e5cbbe5aca20cc745046b70831bfc5e4a8f Author: Andy Gospodarek Date: Mon Oct 8 01:08:47 2007 -0700 [TG3]: Fix ethtool autonegotiate flags. I recently noticed that when calling: # ethtool -s eth0 autoneg on on a 5722 (though I'm sure it's not specific to that card) that subsequent checks of the cards status looked like this: # ethtool eth0 Settings for eth0: Supported ports: [ MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised auto-negotiation: No <---- This seems odd?!? Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: d Current message level: 0x000000ff (255) Link detected: yes I noticed that the following commit: commit 3600d918d870456ea8e7bb9d47f327de5c20f3d6 Author: Michael Chan Date: Thu Dec 7 00:21:48 2006 -0800 [TG3]: Allow partial speed advertisement. Honor the advertisement bitmask from ethtool. We used to always advertise the full capability when autoneg was set to on. changed things around so that ethtool speed settings were strictly followed. Unfortunately ethtool doesn't seem to set ADVERTISED_Autoneg in the advertising field (and maybe it shouldn't have to). I'd vote that it should be fixed there, but it should also be added here just in case someone using ethtool ioctls in their own application gets what they want. Adding that flag in tg3_set_settings seemed like the most logical place since the driver works fine on boot. This is just an issue when re-enabling autonegotiation, so we should probably nip it there. Signed-off-by: Andy Gospodarek Acked-by: Michael Chan Signed-off-by: David S. Miller commit 630e499724bda4ecb62b1f6652656e886f04197f Author: Alex Villacís Lasso Date: Mon Oct 8 01:07:28 2007 -0700 [IRDA]: Oops fix for ksdazzle This fixes a kernel oops triggered by the ksdazzle SIR driver. We need more space for input frames, and 2048 should be plenty of it. Signed-off-by: Alex Villacís Lasso Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 14e3e07979c4384e45e751882292d3b38477e855 Author: Jeff Garzik Date: Mon Oct 8 00:06:32 2007 -0700 [NET]: split dev_ifsioc() according to locking This always bugged me: dev_ioctl() called dev_ifsioc() either inside read_lock(dev_base_lock) or rtnl_lock(), depending on the ioctl being executed. This change moves the ioctls executed inside dev_base_lock to a new function, dev_ifsioc_locked(). Now the locking context is completely clear to the reader. Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit cfcabdcc2d5a810208e5bb3974121b7ed60119aa Author: Stephen Hemminger Date: Tue Oct 9 01:59:42 2007 -0700 [NET]: sparse warning fixes Fix a bunch of sparse warnings. Mostly about 0 used as NULL pointer, and shadowed variable declarations. One notable case was that hash size should have been unsigned. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit de83c058af25aa97ed4864abab11e90e8dead6e2 Author: Ilpo Järvinen Date: Sun Oct 7 23:37:55 2007 -0700 [TCP]: "Annotate" another fackets_out state reset This should no longer be necessary because fackets_out is accurate. It indicates bugs elsewhere, thus report it. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c79e3357166a2ca39fd7613b0eb7f493c1ac5e11 Author: Ilpo Järvinen Date: Sun Oct 7 23:37:25 2007 -0700 [TCP]: Comment fastpath_cnt_hint off-by-one trap Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 29d0a309d11bac9e57af914d0d6a35cde0080861 Author: Ilpo Järvinen Date: Sun Oct 7 23:36:41 2007 -0700 [TCP]: Fix two off-by-one errors in fackets_out adjusting logic 1) Passing wrong skb to tcp_adjust_fackets_out could corrupt fastpath_cnt_hint as tcp_skb_pcount(next_skb) is not included to it if hint points exactly to the next_skb (it's lagging behind, see sacktag). 2) When fastpath_skb_hint is put backwards to avoid dangling skb reference, the skb's pcount must also be removed from count (not included like above). Reported by Cedric Le Goater Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 182f6ed5188ccb46d1c54c3334943a54110d0118 Author: Michael Chan Date: Sun Oct 7 23:29:06 2007 -0700 [TG3]: Update version to 3.82. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d30cdd28fba556143a4bb0d1a6097ebcc2891477 Author: Matt Carlson Date: Sun Oct 7 23:28:35 2007 -0700 [TG3]: Add 5784 and 5764 support. This patch adds the support for 5784 and 5764 devices. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 795d01c523dd9f22acc70fe86ed30e605e00024d Author: Matt Carlson Date: Sun Oct 7 23:28:17 2007 -0700 [TG3]: ASIC decoding and basic CPMU support. Newer products change the way the ASIC revision is obtained. This patch implements how the driver will extract the revision number. This patch also adds preliminary CPMU support. CPMU stands for Central Power Management Unit. The CPMU's role is to put the chip into lower power states when the operating conditions allow it. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9974a356b204833b32173210ca25edfdc24dcdd5 Author: Matt Carlson Date: Sun Oct 7 23:27:28 2007 -0700 [TG3]: Walk PCI capability lists. Newer tg3 devices shuffle around the registers in PCI configuration space. This patch changes the way the driver accesses the PCI capabilities registers. Hardcoded register locations are replaced with offsets from pci_find_capability() return values. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 8658251dc3fed54b09991a2c5e0a7084755157d7 Author: Auke Kok Date: Thu Oct 4 15:00:08 2007 -0700 e1000e: Fix ethtool register test code A merge/cleanup code accidentally dropped 8254x code in and removed 8257x code here. Undo this mistake and use the pci-e relevant register test similar as to what is in e1000. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 589c085f2734537dce4a8b59a1d49006479e33d1 Author: Auke Kok Date: Thu Oct 4 11:38:43 2007 -0700 e1000e: fix debugging printout code A small bug crawled in the -DDEBUG enabled code. Fix this to properly call the backreference device name. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 28692ec45e58f40a998beb155fe1c0d3e1167485 Author: Ursula Braun Date: Fri Oct 5 16:45:48 2007 +0200 qeth: discard inbound packets with unknown header id Debugging statements are added for inbound packets with unknown header id. Those packets are discarded and no longer processed as osn-packets. Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 59579da329b22bcddc5da0c22c61d6dc1f9eb96a Author: Klaus D. Wacker Date: Fri Oct 5 16:45:47 2007 +0200 lcs: Channel errors drive lcs_recovery which leads to kernel panic. When the lcs irq routine detects channel failures it drives device recovery. After this event the device is no longer usable for shutdown requests, because the lcs_irq routine may get wrong channel status information. In such a case the lcs_irq routine marks the channel in 'error' state. The channel state comes back to 'running' after restarting the channels. Signed-off-by: Klaus D. Wacker Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit d8fae9c2f2642ffe411424ed2e4677f959168152 Author: Ursula Braun Date: Fri Oct 5 16:45:46 2007 +0200 qeth: avoid duplicate deletion of multicast addresses if qeth_set_multicast_list() is performed on 2 CPUs in parallel, card->ip_list may end corrupted. Solution: In function __qeth_delete_all_mc() remove card->ip_list entry before invoking qeth_deregister_addr_entry(). Thus a 2nd invocation of qeth_set_multicast_list() cannot try to remove the same entry twice. Signed-off-by Ursula Braun Signed-off-by: Jeff Garzik commit 6570ebc4f57ad0761104f769576ae5652d9b8d64 Author: Frank Blaschka Date: Fri Oct 5 16:45:45 2007 +0200 qeth: EDDP does not work on large MTUs Fix filling the qdio buffers in EDDP mode. Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit bc4b2b497aa61c79e3f3444237a4003a254ea565 Author: Klaus D. Wacker Date: Fri Oct 5 16:45:44 2007 +0200 qeth: HiperSockets layer-3 interface drop non IPv4 or non IPv6 packets HiperSockets infrastructure (layer-3 mode) supports only IPv4 or IPv6 packets. Sending other packet types disturbs TCP/IP on z/VM, which issues messages about invalid packets. Qeth send routine will detect packet type on sending over a HiperSockets interface (in layer-3 mode) and drop non IP packets. The error and drop count of the interface is incremented. Signed-off-by: Klaus D. Wacker Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit a3138df9f20e726c517f8df7387b5d83f5df5566 Author: David S. Miller Date: Tue Oct 9 01:54:01 2007 -0700 [NIU]: Add Sun Neptune ethernet driver. With cleanup suggestions and bugs spotted by Stephen Hemminger, Ingo Oeser, Matheos Worku, and Oliver Hartkopp. Signed-off-by: David S. Miller commit 4a5409a5a850c84505d658ddf36f98b2c542ec07 Author: Gerrit Renker Date: Thu Oct 4 14:52:28 2007 -0700 [DCCP]: Twice the wrong reset code in receiving connection-Requests This fixes two bugs in processing of connection-Requests in v{4,6}_conn_request: 1. Due to using the variable `reset_code', the Reset code generated internally by dccp_parse_options() is overwritten with the initialised value ("Too Busy") of reset_code, which is not what is intended. 2. When receiving a connection-Request on a multicast or broadcast address, no Reset should be generated, to avoid storms of such packets. Instead of jumping to the `drop' label, the v{4,6}_conn_request functions now return 0. Below is why in my understanding this is correct: When the conn_request function returns < 0, then the caller, dccp_rcv_state_process(), returns 1. In all instances where dccp_rcv_state_process is called (dccp_v4_do_rcv, dccp_v6_do_rcv, and dccp_child_process), a return value of != 0 from dccp_rcv_state_process() means that a Reset is generated. If on the other hand the conn_request function returns 0, the packet is discarded and no Reset is generated. Note: There may be a related problem when sending the Response, due to the following. if (dccp_v6_send_response(sk, req, NULL)) goto drop_and_free; /* ... */ drop_and_free: return -1; In this case, if send_response fails due to transmission errors, the next thing that is generated is a Reset with a code "Too Busy". I haven't been able to conjure up such a condition, but it might be good to change the behaviour here also (not done by this patch). Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 2bfd754d1bf29d3324270e52ef11ce6367bb0685 Author: Gerrit Renker Date: Thu Oct 4 14:50:57 2007 -0700 [DCCP]: Correct documentation This corrects erroneous documentation of the socket API. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit dcad856fe8e0222012d9ae0e4dc6c6e5cce276e6 Author: Gerrit Renker Date: Thu Oct 4 14:44:01 2007 -0700 [DCCP]: Wrong format in printk The elapsed time uses u32, but printk was using %d, not %u. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 451bc0473f010babeadd888ae8ec1015959fd1b2 Author: Gerrit Renker Date: Thu Oct 4 14:43:42 2007 -0700 [DCCP]: Tidy-up -- minisock initialisation This * removes a declaration of a non-existent function __dccp_minisock_init; * shifts the initialisation function dccp_minisock_init() from options.c to minisocks.c, where it is more naturally expected to be. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 5e28599a6e45eb8ce7e50510b06c3a34ebf1a8fa Author: Gerrit Renker Date: Thu Oct 4 14:43:09 2007 -0700 [CCID2]: Sequence number wraparound issues This replaces several uses of standard arithmetic with the DCCP sequence number arithmetic functions. The problem here is that the sequence number wrap-around was not taken into consideration. * Condition "seqp->ccid2s_seq <= prev->ccid2s_seq" has been replaced by dccp_delta_seqno(seqp->ccid2s_seq, prev->ccid2s_seq) >= 0 since if seqp is `before' prev, then the delta_seqno() is positive. * The test whether sequence numbers `a' and `b' are consecutive has the form dccp_delta_seqno(a, b) == 1 * Increment of ccid2hctx_rpseq could be done using dccp_inc_seqno(), but since here the incremented ccid2hctx_rpseq == seqno, used assignment instead. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 6c583248083c30c5305ec561e79f666ca465b376 Author: Gerrit Renker Date: Thu Oct 4 14:42:19 2007 -0700 [CCID2]: Remove redundant case block skb's passed to ccid2_hc_tx_send_packet() are headerless, the packet type is decided later, in dccp_write_xmit(). Therefore the first test of the switch/case block is always true, the others are never reached. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ee196c2186d24d82088c94962598470e5abc081f Author: Gerrit Renker Date: Thu Oct 4 14:41:55 2007 -0700 [CCID2]: Remove redundant BUG_ON This removes a test for `val < 1' which would only have been triggered when val < 0, due to a preceding test for 0. Fixed by using an unsigned type for cwnd (as in TCP) instead. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7d9e8931f93683e575679e41f188d3b465269f08 Author: Gerrit Renker Date: Thu Oct 4 14:41:26 2007 -0700 [CCID2]: Remove ugly BUG_ON This removes an ugly BUG_ON which has been pointed out by Arnaldo. Instead of freezing up the machine, a `critical' message is now issued to the system log. There is potential of doing this more gracefully (eg. there are a few internal variables which could be updated despite the lack of memory), but that requires more complicated changes to the algorithm; thus a `FIXME' has been added. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit cd1f7d347c9e51f348119811bd41b74346ec57b8 Author: Gerrit Renker Date: Thu Oct 4 14:41:00 2007 -0700 [CCID2]: Simplify interface This patch simplifies the interface of ccid2_hc_tx_alloc_seq(): * ccid2_hc_tx_alloc_seq() is always called with an argument of CCID2_SEQBUF_LEN; * other code - ccid2_hc_tx_check_sanity() - even depends on the assumption that ccid2_hc_tx_alloc_seq() has been called with this particular size; * passing the `gfp_t' argument to ccid2_hc_tx_alloc_seq() is redundant with gfp_any(). Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 126acd5bf769fcb80e38a5360ad12b842d6d29d4 Author: Gerrit Renker Date: Thu Oct 4 14:40:22 2007 -0700 [DCCP]: Update API documentation This adds documentation on the use of service codes on client and server. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 042d18f9f39a51716683b4e156fbee689314bb22 Author: Gerrit Renker Date: Thu Oct 4 14:39:53 2007 -0700 [DCCP]: Make all `debug' parameters bool This just sets the parameter to bool, since debugging messages are either on or off. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7c559a9e44ee61faf2f339604ce708decb345a93 Author: Gerrit Renker Date: Thu Oct 4 14:39:22 2007 -0700 [DCCP]: Add socket option to query the current MPS This enables applications to query the current value of the Maximum Packet Size via a socket option, suggested as a SHOULD in (RFC 4340, p. 102). This socket option is useful to avoid the annoying bail-out via `-EMSGSIZE'. In particular, as fragmentation is not currently supported (and its use is partly discouraged in RFC 4340). With this option, it is possible to size buffers accordingly, e.g. int buflen = dccp_get_cur_mps(sockfd); /* or */ if (msgsize > dccp_get_cur_mps(sockfd)) die("message is too large for this path"); Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit bc8498721dfe3f7d537f4f75302be7dbe9c7b939 Author: Gerrit Renker Date: Thu Oct 4 14:38:49 2007 -0700 [DCCP]: Wait for CCID This performs a minor optimisation: when ccid_hc_tx_send_packet returns a value greater zero, then the same call previously was done again at the begin of the while loop in dccp_wait_for_ccid. This patch exploits the available information and schedule-timeouts directly instead. Documentation also added. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit af289e803fdf2fcd19cf4a57c3c896dba146c756 Author: Olof Johansson Date: Wed Oct 3 13:03:54 2007 -0500 pasemi_mac: enable iommu support pasemi_mac: enable iommu support Enable IOMMU support for pasemi_mac, but avoid using it on non-partitioned systems for performance reasons. The user can override this by selecting the PPC_PASEMI_IOMMU_DMA_FORCE configuration option. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 9ddf7774b9d760dc3fa4d5ae7d7fd92d4c02150b Author: Jeff Garzik Date: Wed Oct 3 13:52:23 2007 -0400 drivers/net/qla3xxx: trim trailing whitespace Also, hopefully, change the file permissions to 0644. Signed-off-by: Jeff Garzik commit 07c2c76e27e629fb5c9a539e249906802866abb8 Author: vbarshak@ru.mvista.com Date: Tue Oct 2 16:01:07 2007 +0400 Fix typo in new EMAC driver. Fix an obvious typo in emac_xmit_finish. Signed-off-by: Valentine Barshak Signed-off-by: Jeff Garzik commit 1dad939ddbbd8d64e1edc7799df00a9e591b4197 Author: trem Date: Tue Oct 2 14:04:38 2007 -0700 ipg.c doesn't compile with with CONFIG_HIGHMEM64G I've tried to compile 2.6.23-rc8-mm2, but it fails on ipg.c with the error : ERROR: "__udivdi3" [drivers/net/ipg.ko] undefined! I've instigated a bit, and I've found this code in ipg.c : static void ipg_nic_txfree(struct net_device *dev) { struct ipg_nic_private *sp = netdev_priv(dev); void __iomem *ioaddr = sp->ioaddr; const unsigned int curr = ipg_r32(TFD_LIST_PTR_0) - (sp->txd_map / sizeof(struct ipg_tx)) - 1; unsigned int released, pending; sp->txd_map is an u64 because : dma_addr_t txd_map; And in asm-i386/types.h, I see : #ifdef CONFIG_HIGHMEM64G typedef u64 dma_addr_t; #else typedef u32 dma_addr_t; #endif I my config, I use CONFIG_HIGHMEM64G sizeof(struct ipg_tx) is an u32 So the div failed on i386 because of u64 / u32. [akpm@linux-foundation.org: cleanups] Cc: Sorbica Shieh Cc: Jesse Huang Cc: Jeff Garzik Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b5254eee7994ba0a44ba7386cb66c2ce2f30fcc6 Author: Olof Johansson Date: Tue Oct 2 16:27:57 2007 -0500 pasemi_mac: use buffer index pointer in clean_rx() pasemi_mac: use buffer index pointer in clean_rx() Use the new features in B0 for buffer ring index on the receive side. This means we no longer have to search in the ring for where the buffer came from. Also cleanup the RX cleaning side a little, while I was at it. Note: Pre-B0 hardware is no longer supported, and needs a pile of other workarounds that are not being submitted for mainline inclusion. So the fact that this breaks old hardware is not a problem at this time. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 9e81d331f2ec65695e4366ce592e14f9700bae8b Author: Olof Johansson Date: Tue Oct 2 16:27:39 2007 -0500 pasemi_mac: clear out old errors on interface open pasemi_mac: clear out old errors on interface open Clear out any pending errors when an interface is brought up. Since the bits are sticky, they might be from interface shutdown time after firmware has used it, etc. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 7ddeae2c6ceed7f786344731dda27d4277957780 Author: Olof Johansson Date: Tue Oct 2 16:27:28 2007 -0500 pasemi_mac: update todo list pasemi_mac: update todo list Remove some stale todo items that have been taken care of. Add a couple of upcoming ones. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit ad5da10a64bdca1ed39b25946727a1ce2659f3d4 Author: Olof Johansson Date: Tue Oct 2 16:27:15 2007 -0500 pasemi_mac: further performance tweaks pasemi_mac: further performance tweaks Misc driver tweaks for pasemi_mac: * Increase ring size (really needed mostly on 10G) * Take out an unneeded barrier * Move around a few prefetches and reorder a few calls * Don't try to clean on full tx buffer, just let things take their course and stop the queue directly * Avoid filling on the same line as the interface is working on to reduce cache line bouncing * Avoid unneeded clearing of software state (and make the interface shutdown code handle it) * Fix up some of the tx ring wrap logic. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 8dc121a4b620090e594945fd36f878836fc5a14a Author: Olof Johansson Date: Tue Oct 2 16:26:53 2007 -0500 pasemi_mac: add local skb alignment pasemi_mac: add local skb alignment Add local SKB alignment to pasemi_mac, since ppc64 in general has it at 0 because of design flaws in some of the IBM server bridge chips. However, for PWRficient doing the unaligned copies is more expensive than doing unaligned DMA so make sure the data is aligned instead. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 9a50bebda95745d312c69d3bb6d788067cbefb84 Author: Olof Johansson Date: Tue Oct 2 16:26:30 2007 -0500 pasemi_mac: workaround for erratum 5971 pasemi_mac: workaround for erratum 5971 Implement workarounds for erratum 5971, where L2 hints aren't considered properly unless the way hint is enabled on the interface. Since L2 isn't setup to dedicate a way to headers, we need to reset the packet count by hand so it won't run out of credits. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit ad3c20d1ab586884f1815c315e3f303a8b8a7d7d Author: Olof Johansson Date: Tue Oct 2 16:26:13 2007 -0500 pasemi_mac: implement sg support pasemi_mac: implement sg support Implement SG support for pasemi_mac Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit fc9e4d2a93dab4a995e2e75725577b9a60154cbc Author: Olof Johansson Date: Tue Oct 2 16:25:53 2007 -0500 pasemi_mac: rework ring management pasemi_mac: rework ring management Rework ring management, switching to an opaque ring format instead of the struct-based descriptor+pointer setup, since it will be needed for SG support. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 18eec695427ce1258fb5dad0ac180fa4d6f64af7 Author: Olof Johansson Date: Tue Oct 2 16:25:14 2007 -0500 pasemi_mac: fix bug in receive buffer dma mapping pasemi_mac: fix bug in receive buffer dma mapping skb->len isn't actually set to the size of the allocated skb, so don't try to use it when figuring out how much to map. (This hasn't surfaced as a real bug because we effectively disable translation for the interface, but it still needs fixing for the future) Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 69c29d89185dc1de7224f5f98588ddc061f1fad2 Author: Olof Johansson Date: Tue Oct 2 16:24:51 2007 -0500 pasemi_mac: basic error checking pasemi_mac: basic error checking Add some rudimentary error checking to pasemi_mac. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 5ecc2a5d3e3c39535d2cc10dad15853e9e9b072d Author: Michael Buesch Date: Tue Oct 2 12:17:56 2007 +0200 [MAC80211]: Update beacon_update callback documentation Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 478f8d2ba56b40ad1c17e21c1503669b83c96e8e Author: Tomas Winkler Date: Sun Sep 30 13:52:37 2007 +0200 [MAC80211]: add sta_notify callback This patch adds sta_notify callback and removes sta_table_notification which was not used by any driver. sta_notify() is essential for drivers that keeps notion of station internally and need to be notified about removal or addition of a station to the (I)BSS or assocation to an AP. This version adds interface id to the parameter list as suggested by Johannes Berg Signed-off-by: Tomas Winkler Acked-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 42613db7605a68a70f97513137392bda9b27bb9e Author: Johannes Berg Date: Fri Sep 28 21:52:27 2007 +0200 [MAC80211]: implement cfg80211's change_interface hook This implements the cfg80211 change_interface hook that changes the type of an interface and cleans up the code a bit. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 47f0c502209056da728e6a306a43d5e19a37f4fa Author: Michael Buesch Date: Thu Sep 27 15:10:44 2007 +0200 [MAC80211]: Add association LED trigger Many devices have LEDs to indicate the link status. Export this functionality to drivers. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ddd3d2be85e3207c47f2b3c431723e6c758b4b0d Author: Johannes Berg Date: Wed Sep 26 17:53:20 2007 +0200 [MAC80211]: make userspace-mlme a per-interface setting Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 58d4185e36913d4fc94afa4b4daccb3c9aa01957 Author: Johannes Berg Date: Wed Sep 26 17:53:18 2007 +0200 [MAC80211]: improve radiotap injection This improves radiotap injection by removing the shortcut over TX handlers that led to BUGS when injecting frames without setting a rate and also resulted in various other quirks. Now, TX handlers are run but some information that was present in the radiotap header is used instead of automatic settings. Signed-off-by: Johannes Berg Cc: Andy Green Signed-off-by: John W. Linville commit 628a140ba033ef201706a8c7e767c8a0c0f8326c Author: Johannes Berg Date: Wed Sep 26 17:53:17 2007 +0200 [MAC80211]: remove ALG_NONE This "algorithm" is used only internally and is not useful. Signed-off-by: Johannes Berg Cc: Michael Buesch Acked-by: Zhu Yi Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 640845a5632390eaa9357cd818646c8f0ee3d47e Author: Johannes Berg Date: Wed Sep 26 17:53:16 2007 +0200 [MAC80211]: use RX_FLAG_DECRYPTED for sw decrypted as well This makes mac80211 set the RX_FLAG_DECRYPTED flag for frames decrypted in software allowing us to handle some things more uniformly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1990af8d14e48445a0ddcca7765a177b6661d676 Author: Johannes Berg Date: Wed Sep 26 17:53:15 2007 +0200 [MAC80211]: consolidate decryption more Currently, we have three RX handlers doing the decryption. This patch changes it to have only one handler doing everything, thereby getting rid of many duplicate checks. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller -- net/mac80211/rx.c | 46 ++++++++++++---------------------------------- 1 files changed, 12 insertions(+), 34 deletions(-) commit 70f0876579ceeea9fd7bd4a20fade524a0b3bdda Author: Johannes Berg Date: Wed Sep 26 17:53:14 2007 +0200 [MAC80211]: move sta_process rx handler later This moves the sta_process RX handler to after decryption so that frames that cannot be decrypted don't influence statistics, it is likely that they were injected or something else is totally wrong. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f9d540ee5f7e480339911df8d7389ef4c435ab54 Author: Johannes Berg Date: Fri Sep 28 14:02:09 2007 +0200 [MAC80211]: remove management interface Removes the management interface since it is only required for hostapd/userspace MLME, will not be in the final tree at least in this form and hostapd/userspace MLME currently do not work against this tree anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit a28975525016ddcbdaab8225666df1cf2dc9cb2d Author: Johannes Berg Date: Fri Sep 28 14:01:25 2007 +0200 [MAC80211]: add "invalid" interface type Since I cannot convince the lazy driver authors (hello Michael) to stop (ab)using the MGMT interface type internally in their drivers, this patch introduces a new _INVALID type especially for their use and changes all affected drivers to use it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f7c4daed99fba15e4e48df464031f4ac7c32e4c9 Author: Michael Buesch Date: Mon Sep 24 18:41:49 2007 +0200 [MAC80211]: Check open_count before calling config callback. Also remove the check for ops->config!=NULL, as it can never be NULL. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 05b64b364822863974c0121359b01d7ba0f22205 Author: Michael Buesch Date: Fri Sep 28 16:19:03 2007 +0200 [B43]: Rewrite pwork locking policy. Implement much easier and more lightweight locking for the periodic work. This also removes the last big busywait loop and replaces it by a sleeping loop. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 42bb4cd5ae320dd46630533fecb91b940d4468e2 Author: Michael Buesch Date: Fri Sep 28 14:22:33 2007 +0200 [B43]: Use input-polldev for the rfkill switch This removes the direct call to rfkill on an rfkill event and replaces it with an input device. This way userspace is also notified about the event. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8e9f7529fdfe34ed519f048682eb404fbd8004e8 Author: Michael Buesch Date: Thu Sep 27 21:35:34 2007 +0200 [B43]: RF-kill support This adds full support for the RFKILL button and the RFKILL LED trigger. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 21954c367e4088c491122edd263964345bc1d3bf Author: Michael Buesch Date: Thu Sep 27 15:31:40 2007 +0200 [B43]: LED triggers support Drive the LEDs through the generic LED triggers. Signed-off-by: Michael Buesch Cc: Larry Finger Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 20405c08412a4d89357870d7220f9fb1c458b286 Author: Michael Buesch Date: Thu Sep 27 21:34:23 2007 +0200 [RFKILL]: Add support for hardware-only rfkill buttons Buttons that work directly on hardware cannot support the "user_claim" functionality. Add a flag to signal this and return -EOPNOTSUPP in this case. b43 is such a device. Signed-off-by: Michael Buesch Acked-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 135900c182c321a4888ec496b014e6707272faca Author: Michael Buesch Date: Thu Sep 27 21:33:12 2007 +0200 [RFKILL]: Add support for an rfkill LED. This adds a LED trigger. Signed-off-by: Michael Buesch Acked-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 937a049dd903bd810d858d0303cf86af9eb08b6f Author: Ulrich Kunitz Date: Tue Oct 2 18:36:53 2007 +0100 [ZD1211RW]: Removed zd_util.c and zd_util.h The kernel now provides a generic hexdump implementation should we need it again, so we can remove it from zd1211rw. After removing that, only one single-user function is left in zd_util. Move that to zd_mac and remove zd_util. Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 09703f5e79a64c744721b9c27502075232ba0ea2 Author: Daniel Drake Date: Wed Sep 26 21:45:24 2007 +0100 [HOSTAP]: set netdev type before registering AP interface As detailed at https://bugs.gentoo.org/159646 hostap with hostapd confuses udev by presenting 2 interfaces with the same MAC address. Also, at the time of detection, the 'type' attribute is 1, identical to other hostap interfaces. The AP interface is supposed to have type ARPHRD_IEEE80211 (801), but this is not set until after registration. Setting it before register_netdev() is called allows us to avoid this confusion. We can do this by propogating the HOSTAP_INTERFACE type through to hostap_setup_dev(). Signed-off-by: Daniel Drake Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f74347d7ac0aa175b2bbd85eb58a13fbe80a3785 Author: Michael Chan Date: Tue Oct 2 16:28:09 2007 -0700 [BNX2]: Update version to 1.6.6. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ea1f8d5c3a593a791463c2efc07e5dfebd056500 Author: Michael Chan Date: Tue Oct 2 16:27:35 2007 -0700 [BNX2]: Optimize firmware loading. This is a follow up to the patches from Denys Vlasenkos to further optimize firmware loading. 1. In bnx2_init_cpus(), we allocate memory for decompression once and use it repeatedly instead of doing this for every firmware image. 2. We eliminate the BSS and SBSS firmware sections in bnx2_fw*.h since these are always zeros. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit dad8c737962669240470923f951570ed716da1a1 Author: Komuro Date: Sun Sep 30 10:28:14 2007 +0900 PCMCIA-NETDEV : add new id (axnet_cs, pcnet_cs) axnet_cs: Laneed LD-CDK/TX pcnet_cs: LEMEL LM-N89TX PRO Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit 18ad4e700647a9f727fa82a7f8d1f31444abbdfb Author: Nobuhiro Iwamatsu Date: Wed Sep 19 21:07:52 2007 +0900 smc91x Hitachi Solution Engine (SuperH) Support Hi, all. This patch supports Hitachi Solution Engine (SuperH) of smc91x. Please apply this patch . regards, Nobuhiro -- Nobuhiro Iwamatsu E-Mail : iwamatsu@nigauri.org GPG ID : 3170EBE9 Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Jeff Garzik commit 726d722e41f1c329b7f04c5ee5aef02a60ac1991 Author: Markus Brunner Date: Mon Aug 20 08:36:50 2007 +0200 smc911x irq sense request and MPR2 board support Hi, this are the changes to the smc911x driver, which were necessary to get it running on the Magic Panel R2 (smsc9115). It is a SH3-DSP based board. The other patches are available on the linuxsh-dev mailinglist. http://marc.info/?l=linuxsh-dev&r=1&b=200708&w=2 It was necessary to set the irq sense to low level. Therefor the SMC_IRQ_SENSE define was added. How are the chances for inclusion in 2.6.24? Signed-off by: Markus Brunner Signed-off by: Mark Jonas Signed-off-by: Jeff Garzik commit 2c69448bbcedebeb8409ddb05fbc7d3fe1cfbda7 Author: Jan-Bernd Themann Date: Mon Oct 1 16:33:18 2007 +0200 ehea: DLPAR memory add fix Due to stability issues in high load situations the HW queue handling has to be changed. The HW queues are now stopped and restarted again instead of destroying and allocating new HW queues. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 31a5bb04d59931eb4657826213a439d37d12d4a9 Author: Scott Wood Date: Mon Oct 1 14:20:58 2007 -0500 fs_enet: sparse fixes Mostly a bunch of __iomem annotations. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 2b5b3a604a672be1d41728ed9e448ca3c9c23242 Author: Scott Wood Date: Mon Oct 1 14:20:57 2007 -0500 fs_enet: Convert mii-bitbang to use the generic bitbang MDIO code. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit e2ec4581adf7e288c193e981c39ca01cdb20a272 Author: Scott Wood Date: Mon Oct 1 14:20:56 2007 -0500 Generic bitbanged MDIO library Previously, bitbanged MDIO was only supported in individual hardware-specific drivers. This code factors out the higher level protocol implementation, reducing the hardware-specific portion to functions setting direction, data, and clock. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 976de6a8c304dcc43e38efcb8a0bace7866b6242 Author: Scott Wood Date: Tue Oct 2 10:55:58 2007 -0500 fs_enet: Be an of_platform device when CONFIG_PPC_CPM_NEW_BINDING is set. The existing OF glue code was crufty and broken. Rather than fix it, it will be removed, and the ethernet driver now talks to the device tree directly. The old, non-CONFIG_PPC_CPM_NEW_BINDING code can go away once CPM platforms are dropped from arch/ppc (which will hopefully be soon), and existing arch/powerpc boards that I wasn't able to test on for this patchset get converted (which should be even sooner). Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 0d0d9c150c046cbd3e507adcfa2d78db82f1f452 Author: Scott Wood Date: Mon Oct 1 14:20:52 2007 -0500 fs_enet: Align receive buffers. At least some hardware driven by this driver needs receive buffers to be aligned on a 16-byte boundary. This usually happens by chance, but it breaks if slab debugging is enabled. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit c6565331b7162a8348c70c37b4c33bedb6d4f02d Author: Scott Wood Date: Mon Oct 1 14:20:50 2007 -0500 fs_enet: mac-fcc: Eliminate __fcc-* macros. These macros accomplish nothing other than defeating type checking. This patch also fixes one instance of the wrong register size being used that was revealed by enabling type checking. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit b7336d3d886aaab6971773864c477210ef9b995a Author: Scott Wood Date: Mon Oct 1 14:20:49 2007 -0500 fs_enet: Include linux/string.h from linux/fs_enet_pd.h It is needed for strstr(). Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 0fb300fa9d54118c6dce772a29362d896775eff2 Author: Scott Wood Date: Mon Oct 1 14:20:17 2007 -0500 fs_enet: Whitespace cleanup. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 3de96471bd7fb76406e975ef6387abe3a0698149 Author: Ilpo Järvinen Date: Mon Oct 1 15:28:48 2007 -0700 [TCP]: Wrap-safed reordering detection FRTO check In case somebody has a suggestion about a better place for this check, which must guarantee execution "early enough" (i.e, before the wrap can occur), I'm very open to them. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 0e835331e3111e5a92eb3a852405ea71ca8fff97 Author: Ilpo Järvinen Date: Mon Oct 1 15:28:17 2007 -0700 [TCP]: Update comment of SACK block validator Just came across what RFC2018 states about generation of valid SACK blocks in case of reneging. Alter comment a bit to point out clearly. IMHO, there isn't any reason to change code because the validation is there for a purpose (counters will inform user about decision TCP made if this case ever surfaces). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 95eacd27e2a0924f1435654c06712cee6be099ad Author: Ilpo Järvinen Date: Mon Oct 1 15:27:42 2007 -0700 [TCP]: fix comments that got messed up during code move Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit dc86967b54aaf64fb053cce83c05a4476d48583b Author: Ilpo Järvinen Date: Mon Oct 1 15:27:19 2007 -0700 [TCP]: No fackets_out/highest_sack tuning when SACK isn't enabled This was found due to bug report from Cedric Le Goater though it turned this turned out to be unrelated bug. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 8336793baf962163c9fab5a3f39614295fdbab27 Author: Denys Vlasenko Date: Sun Sep 30 17:56:49 2007 -0700 [ZLIB]: Move bnx2 driver gzip unpacker into zlib. Signed-off-by: Denys Vlasenko Acked-by: Michael Chan Signed-off-by: David S. Miller commit b3448b0bde5f1a858397fe791f76632e978a1dc8 Author: Denys Vlasenko Date: Sun Sep 30 17:55:51 2007 -0700 [BNX2]: factor out gzip unpacker This patch modifies gzip unpacking code in bnx2 driver so that it does not depend on bnx2 internals. I will move this code out of the driver and into zlib in follow-on patch. It can be useful in other drivers which need to store firmwares or any other relatively big binary blobs - fonts, cursor bitmaps, whatever. Patch is run tested by Michael Chan (driver author). Signed-off-by: Denys Vlasenko Acked-by: Michael Chan Signed-off-by: David S. Miller commit 89e536a190f90d038bae7905a0c582cb7089b739 Author: Magnus Damm Date: Fri Sep 28 22:42:16 2007 -0700 ax88796: add 93cx6 eeprom support Hook up the 93cx6 eeprom code to the ax88796 driver and modify the ax88796 driver to read out the mac address from the eeprom. We need this for the ax88796 on certain SuperH boards. The pin configuration used to connect the eeprom to the ax88796 on these boards is the same as pointed out by the ax88796 datasheet, so we can probably reuse this code for multiple platforms in the future. Signed-off-by: Magnus Damm Cc: Ben Dooks Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6daf65310374d24d888201b7a6eba90b44008b7b Author: Maciej W. Rozycki Date: Fri Sep 28 22:42:15 2007 -0700 PHYLIB: fix an interrupt loop potential when halting Ensure the PHY_HALTED state is not entered with the IRQ asserted as it could lead to an interrupt loop. There is a small window in phy_stop(), where the state of the PHY machine indicates it has been halted, but its interrupt output might still be unmasked. If an interrupt goes active right at this moment it will loop as the phy_interrupt() handler exits immediately with IRQ_NONE if the halted state is seen. It is unsafe to extend the phydev spinlock to cover phy_interrupt(). It is safe to swap the order of the actions though as all the competing places to unmask the interrupt output of the PHY, which are phy_change() and phy_timer() are already covered with the lock as is the sequence in question. Signed-off-by: Maciej W. Rozycki Cc: Andy Fleming Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0ac49527318bc388a881152d60f49d7951606024 Author: Maciej W. Rozycki Date: Fri Sep 28 22:42:14 2007 -0700 PHYLIB: IRQ event workqueue handling fixes Keep track of disable_irq_nosync() invocations and call enable_irq() the right number of times if work has been cancelled that would include them. Now that the call to flush_work_keventd() (problematic because of rtnl_mutex being held) has been replaced by cancel_work_sync() another issue has arisen and been left unresolved. As the MDIO bus cannot be accessed from the interrupt context the PHY interrupt handler uses disable_irq_nosync() to prevent from looping and schedules some work to be done as a softirq, which, apart from handling the state change of the originating PHY, is responsible for reenabling the interrupt. Now if the interrupt line is shared by another device and a call to the softirq handler has been cancelled, that call to enable_irq() never happens and the other device cannot use its interrupt anymore as its stuck disabled. I decided to use a counter rather than a flag because there may be more than one call to phy_change() cancelled in the queue -- a real one and a fake one triggered by free_irq() if DEBUG_SHIRQ is used, if nothing else. Therefore because of its nesting property enable_irq() has to be called the right number of times to match the number disable_irq_nosync() was called and restore the original state. This DEBUG_SHIRQ feature is also the reason why free_irq() has to be called before cancel_work_sync(). While at it I updated the comment about phy_stop_interrupts() being called from `keventd' -- this is no longer relevant as the use of cancel_work_sync() makes such an approach unnecessary. OTOH a similar comment referring to flush_scheduled_work() in phy_stop() still applies as using cancel_work_sync() there would be dangerous. Checked with checkpatch.pl and at the run time (with and without DEBUG_SHIRQ). Signed-off-by: Maciej W. Rozycki Cc: Andy Fleming Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit f7ab697d328b0a417d9e3cb891d45693ea89e83d Author: Ed Swierk Date: Fri Sep 28 22:42:13 2007 -0700 forcedeth: "no link" is informational Log "no link during initialization" at KERN_INFO as it's not an error, and occurs every time the interface comes up (when the forcedeth-phy-power-down patch is applied). Signed-off-by: Ed Swierk Cc: Ayaz Abdulla Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 9ff8c68b3c722f732c7a13d6631b149cca8c7091 Author: Maciej W. Rozycki Date: Fri Sep 28 22:42:12 2007 -0700 PHYLIB: Spinlock fixes for softirqs Use spin_lock_bh()/spin_unlock_bh() for the phydev lock throughout as it is used in phy_timer() that is called as a softirq and all the other operations may happen in the user context. There has been a change recently that did such a conversion for some of the operations on the lock, but some have been left intact. Many of them, perhaps all, may be called in the user context and I was able to trigger recursive spinlock acquisition indeed, so I think for the sake of long-term maintenance it is best to convert them all, even if unnecessarily for one or two -- better safe than sorry. Perhaps one in phy_timer() could actually be skipped as only called as a softirq -- I can send an update if that sounds like a good idea. Checked with checkpatch.pl and at the runtime. Signed-off-by: Maciej W. Rozycki Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 1f8f4559f8c5829348a010a9e0bbb423310060d1 Author: Micah Gruber Date: Fri Sep 28 22:42:11 2007 -0700 Fix a potential NULL pointer dereference in uli526x_interrupt() in drivers/net/tulip/uli526x.c This patch fixes an apparent potential null dereference bug where we dereference dev before a null check. This patch simply remvoes the can't-happen test for a null pointer. Signed-off-by: Micah Gruber Cc: Grant Grundler Acked-by: Jeff Garzik Acked-by: Kyle McMartin Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 13f7b8c011cd8d16ad3063409b9d969466c9e2f4 Author: Mariusz Kozlowski Date: Fri Sep 28 22:42:10 2007 -0700 skge: remove broken and unused PHY_M_PC_MDI_XMODE macro Signed-off-by: Mariusz Kozlowski Cc: Stephen Hemminger Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit bcfef8c3681fa59b653871682956a8fdf5c27c5a Author: Jesper Juhl Date: Fri Sep 28 22:42:09 2007 -0700 Avoid possible NULL pointer deref in 3c359 driver In xl_freemem(), if dev_if is NULL, the line struct xl_private *xl_priv =(struct xl_private *)dev->priv; will cause a NULL pointer dereference. (akpm: don't try to fix it: just delete the pointless test-for-null) Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0da18e3883d18ac716ad8cc07df9bd30933807ac Author: Adrian Bunk Date: Fri Sep 28 22:42:06 2007 -0700 drivers/net/cxgb3/xgmac.c: remove dead code This patch removes dead code ("tx_xcnt" can never be != 0 at this place) spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 007755eb86c3953bb8615bd016246fc99056580c Author: Peter Oruba Date: Fri Sep 28 22:42:06 2007 -0700 PCI-X/PCI-Express read control interfaces: use them in e1000 These driver changes incorporate the proposed PCI-X / PCI-Express read byte count interface. Reading and setting those valuse doesn't take place "manually", instead wrapping functions are called to allow quirks for some PCI bridges. Signed-off by: Peter Oruba Based on work by Stephen Hemminger Acked-by: Auke Kok Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 7c32f470f4f6a0fdc6944cefcd22f288e59a0ae2 Author: Vitaly Bordug Date: Fri Aug 10 14:05:16 2007 -0700 PHY fixed driver: rework release path and update phy_id notation device_bind_driver() error code returning has been fixed. release() function has been written, so that to free resources in correct way; the release path is now clean. Before the rework, it used to cause Device 'fixed@100:1' does not have a release() function, it is broken and must be fixed. BUG: at drivers/base/core.c:104 device_release() Call Trace: [] kobject_cleanup+0x53/0x7e [] kobject_release+0x0/0x9 [] kref_put+0x74/0x81 [] fixed_mdio_register_device+0x230/0x265 [] fixed_init+0x1f/0x35 [] init+0x147/0x2fb [] schedule_tail+0x36/0x92 [] child_rip+0xa/0x12 [] acpi_ds_init_one_object+0x0/0x83 [] init+0x0/0x2fb [] child_rip+0x0/0x12 Also changed the notation of the fixed phy definition on mdio bus to the form of + to make it able to be used by gianfar and ucc_geth that define phy_id strictly as "%d:%d" and cleaned up the whitespace issues. Signed-off-by: Vitaly Bordug Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit cdcc520d7b73445c3552a70786afed9a2b22c010 Author: Chris Snook Date: Thu Sep 20 15:57:15 2007 -0400 atl1: explain 32-bit DMA restriction Document the fact that atl1 uses a single shared register for the high 32 bits of 64-bit DMA addresses, making 64-bit DMA more trouble than it's worth. Signed-off-by: Chris Snook Signed-off-by: Jeff Garzik commit 01faccbf866195831af202de59f37e29467a3d74 Author: Stephen Hemminger Date: Fri Aug 24 14:40:45 2007 -0700 via-velocity: more cleanup Per Al's suggestion, get rid of the stupid stuff: Remove cam_type switch, And deinline things that aren't important for speed. And make big macro and inline. And remove some dead/unused code. And use const char * for chip name. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 501e4d247a7e35a4d3aa8e6973794b1586f6cb30 Author: Stephen Hemminger Date: Fri Aug 24 13:56:49 2007 -0700 via-velocity: use standard VLAN interface (resend) The via-velocity is using a non-standard VLAN interface configured via module parameters (yuck). Replace with the standard acceleration interface. It solves a number of problems with being able to handle multiple vlans, and dynamically reconfigure. This is compile tested only, don't have this board. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f5279ffdce9bcff938451303126971098e23aab3 Author: Maciej W. Rozycki Date: Fri Sep 21 12:52:10 2007 +0100 sb1250-mac: Driver model & phylib update A driver model and phylib update. It includes the following changes: 1. Removal of unused module options. 2. Phylib support and the resulting removal of generic bits for handling the PHY. 3. Proper reserving of device resources and using ioremap()ped handles to access MAC registers rather than platform-specific macros. 4. Handling of the device using the driver model. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit 73d7396980176a5f4515be2f6e39ee417d2369ba Author: Maciej W. Rozycki Date: Thu Sep 20 19:14:01 2007 +0100 sb1250-mac.c: De-typedef, de-volatile, de-etc... Remove typedefs, volatiles and convert kmalloc()/memset() pairs to kcalloc(). Also reformat the surrounding clutter. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit ac1d49f8431bef861c7dd63e78be25e4c262eb52 Author: Jeff Garzik Date: Sat Sep 29 01:10:14 2007 -0400 [netdrvr] sundance: fix phy scanning on IP100A Based on a based from Jesse Huang . Signed-off-by: Jeff Garzik commit 7b5dfe1aa9faf9fab10960e027a7b1c932580f76 Author: Krishna Kumar Date: Fri Sep 21 09:41:15 2007 -0700 e1000e: Do not allow requeue of freed skb Returning BUSY will make qdisc_restart enqueue the skb which was already freed. The bad skb was correctly freed and we should return NETDEV_TX_OK. First spotted by Jeff Garzik on 08/13/07. Signed-off-by: Krishna Kumar Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 7a1f8104c4a477feaf8b4405429119276341a27e Author: Roy Zang Date: Mon Sep 24 16:57:42 2007 +0800 Clean up redundant PHY write line for ULi526x Ethernet driver Clean up redundant PHY write line for ULi526x Ethernet Driver. Signed-off-by: Roy Zang Signed-off-by: Jeff Garzik commit c7e86e344b3599c0679a4a1f59a27953856f181c Author: Nathanael Nerode Date: Wed Sep 26 18:14:45 2007 -0700 dgrs: remove from build, config, and maintainer list Stop building and configuring driver for Digi RightSwitch, which was never actually sold to anyone, and remove it from MAINTAINERS. In response to an investigation into the firmware of the "Digi Rightswitch" driver, Andres Salomon discovered: > > Dear Andres: > > After further research, we found that this product was killed in place > and never reached the market. We would like to request that this not be > included. Since the product never reached market, clearly nobody is using this orphaned driver. Signed-off-by: Nathanael Nerode Cc: "David S. Miller" Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 928773c23a4cf053a34ad480439448f75efa350c Author: Olof Johansson Date: Wed Sep 26 16:25:06 2007 -0500 pasemi_mac: pass in count of buffers to replenish rx ring with pasemi_mac: pass in count of buffers to replenish rx ring with Refactor replenish_rx_ring to take an argument for how many entries to fill. Since it's normally available from where it's called anyway, this is just simpler. It also removes the awkward logic to try to figure out if we're filling for the first time or not. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 36033766533176d61ba15793d8ef219775499c2f Author: Olof Johansson Date: Wed Sep 26 16:24:42 2007 -0500 pasemi_mac: don't enable rx before there are buffers on the ring pasemi_mac: don't enable rx before there are buffers on the ring Reorder initialization of the DMA channels and the interface. Before there was a time window when the interface was enabled before DMA was enabled. Also, now there will always be RX buffers available at the time the MAC interface is enabled, to avoid temporary out-of-buffer errors for the very first packets (on busy networks). Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit ca7e235f5eb960d83b45cef4384b490672538cd9 Author: Olof Johansson Date: Wed Sep 26 16:23:59 2007 -0500 pasemi_mac: flags as passed to spin_*_irqsave() should be unsigned long pasemi_mac: flags as passed to spin_*_irqsave() should be unsigned long. Signed-off-by: Tony Breeds Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 6a290e3d5d48e8932fae068a558b3d8dff4c7acf Author: Olof Johansson Date: Wed Sep 26 16:23:31 2007 -0500 pasemi_mac: set interface speed correctly on XAUI ports pasemi_mac: set interface speed correctly on XAUI ports Set interface speed for XAUI to 10G per default, not 1G. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit de90351219a1f1fd3cb45cf6fcc4e9d6407fd2c9 Author: Roland Dreier Date: Fri Sep 28 15:33:51 2007 -0700 [IPoIB]: Convert to netdevice internal stats Use the stats member of struct netdevice in IPoIB, so we can save memory by deleting the stats member of struct ipoib_dev_priv, and save code by deleting ipoib_get_stats(). Signed-off-by: Roland Dreier Signed-off-by: David S. Miller commit 587117414909e9c52f50e3c9d1f85b3dc1815d75 Author: Joseph Fannin Date: Fri Sep 28 14:47:32 2007 -0700 [NETFILTER]: bridge: remove broken netfilter binary sysctls The netfilter sysctls in the bridging code don't set strategy routines: sysctl table check failed: /net/bridge/bridge-nf-call-arptables .3.10.1 Missing strategy sysctl table check failed: /net/bridge/bridge-nf-call-iptables .3.10.2 Missing strategy sysctl table check failed: /net/bridge/bridge-nf-call-ip6tables .3.10.3 Missing strategy sysctl table check failed: /net/bridge/bridge-nf-filter-vlan-tagged .3.10.4 Missing strategy sysctl table check failed: /net/bridge/bridge-nf-filter-pppoe-tagged .3.10.5 Missing strategy These binary sysctls can't work. The binary sysctl numbers of other netfilter sysctls with this problem are being removed. These need to go as well. Signed-off-by: Joseph Fannin Acked-by: "Eric W. Biederman" Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ee4411a1b1e0b679c99686629b5eab5a072ce49f Author: Jan Engelhardt Date: Fri Sep 28 14:46:43 2007 -0700 [NETFILTER]: x_tables: add xt_time match This is ipt_time from POM-ng enhanced by the following: * xtables/ipv6 support * second granularity for daytime * day-of-month support (for example "match on the 15th of each month") * match against UTC or local timezone Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6b6ec99a03601aba0419f34e17630f7aa8d68e5f Author: Michal Miroslaw Date: Fri Sep 28 14:45:52 2007 -0700 [NETFILTER]: nfnetlink_log: fix some constants Fix timeout (one second is 1 * HZ) and convert max packet copy length to #defined constant. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit aace57e054e9322e20af52cede7de46ade64a5e2 Author: Michal Miroslaw Date: Fri Sep 28 14:45:27 2007 -0700 [NETFILTER]: nfnetlink_log: fix instance_create() failure path Fix memory leak on instance_create() while module is being unloaded. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c6a8f648362a5d8b934f4267b0ab9f255c130ab0 Author: Michal Miroslaw Date: Fri Sep 28 14:45:06 2007 -0700 [NETFILTER]: nfnetlink_log: fix style Fix function definition style to match other functions in nfnetlink_log.c. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d63b043d955c261f4f413eecf6e0488d7459acd4 Author: Michal Miroslaw Date: Fri Sep 28 14:44:44 2007 -0700 [NETFILTER]: nfnetlink_log: flush queue early If queue is filled to its threshold, then flush it right away instead of waiting for timer or next packet. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e35670614d10588fb9c6ed32ecd55b8242e98872 Author: Michal Miroslaw Date: Fri Sep 28 14:44:21 2007 -0700 [NETFILTER]: nfnetlink_log: kill duplicate code Kill some cut'n'paste effect. Just after __nfulnl_send() returning, inst->skb is always NULL. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5faa1f4cb5a1f124f76172d775467f4a9db5b452 Author: Pablo Neira Ayuso Date: Fri Sep 28 14:43:53 2007 -0700 [NETFILTER]: nf_conntrack_netlink: add support to related connections This patch adds support to relate a connection to an existing master connection. This patch is used by conntrackd to correctly replicate related connections. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3583240249ef354760e04ae49bd7b462a638f40c Author: Patrick McHardy Date: Fri Sep 28 14:41:50 2007 -0700 [NETFILTER]: nf_conntrack_expect: kill unique ID Similar to the conntrack ID, the per-expectation ID is not needed anymore, kill it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7f85f914721ffcef382a57995182916bd43d8a65 Author: Patrick McHardy Date: Fri Sep 28 14:41:27 2007 -0700 [NETFILTER]: nf_conntrack: kill unique ID Remove the per-conntrack ID, its not necessary anymore for dumping. For compatiblity reasons we send the address of the conntrack to userspace as ID. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2b5c841f2c41c023809e3b6b95a8320246cf7f5a Author: Patrick McHardy Date: Fri Sep 28 14:40:56 2007 -0700 [NETFILTER]: nfnetlink: kill nlattr_bad_size Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f73e924cdd166360e8cc9a1b193008fdc9b3e3e2 Author: Patrick McHardy Date: Fri Sep 28 14:39:55 2007 -0700 [NETFILTER]: ctnetlink: use netlink policy Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5bf758539388fa9383afd539d052ae93229544b9 Author: Patrick McHardy Date: Fri Sep 28 14:39:26 2007 -0700 [NETFILTER]: nfnetlink_queue: use netlink policy Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fd8281adacd2ed68a92e7aa9dde239181f40ee15 Author: Patrick McHardy Date: Fri Sep 28 14:39:09 2007 -0700 [NETFILTER]: nfnetlink_log: use netlink policy Also remove unused nfula_min array. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e3730578285fcf0c628f08b0dc89425cfeafd4ba Author: Patrick McHardy Date: Fri Sep 28 14:38:52 2007 -0700 [NETFILTER]: nfnetlink: support attribute policies Add support for automatic checking of per-callback attribute policies. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dd82185f2c55e9dc2247c83d78517ef14e71d30e Author: Patrick McHardy Date: Fri Sep 28 14:38:07 2007 -0700 [NETFILTER]: nfnetlink: use nlmsg_notify() Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fdf708322d4658daa6eb795d1a835b97efdb335e Author: Patrick McHardy Date: Fri Sep 28 14:37:41 2007 -0700 [NETFILTER]: nfnetlink: rename functions containing 'nfattr' There is no struct nfattr anymore, rename functions to 'nlattr'. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit df6fb868d6118686805c2fa566e213a8f31c8e4f Author: Patrick McHardy Date: Fri Sep 28 14:37:03 2007 -0700 [NETFILTER]: nfnetlink: convert to generic netlink attribute functions Get rid of the duplicated rtnetlink macros and use the generic netlink attribute functions. The old duplicated stuff is moved to a new header file that exists just for userspace. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7c8d4cb4198d199e65a6ced8c81f71e3ac3f4cfc Author: Patrick McHardy Date: Fri Sep 28 14:15:45 2007 -0700 [NETFILTER]: nfnetlink: make subsystem and callbacks const Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 169e36742572934f5d846cfa5f9d76e72d505db4 Author: Eric W. Biederman Date: Thu Sep 27 17:10:06 2007 -0700 [NETNS]: CLONE_NEWNET don't use the same clone flag as the pid namespace. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 9e0db4b12c7deda532ad13d37a84ee41dd691066 Author: Eric W. Biederman Date: Thu Sep 27 17:09:39 2007 -0700 [NET]: Bring comments in loopback.c uptodate. A hint as to why it is safe to use per cpu variables, and note that we actually can have multiple instances of the loopback device now. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit fe242cfd3390b1c7d54d60f7ebb6a4054804cd41 Author: Ivo van Doorn Date: Thu Sep 27 14:57:05 2007 -0700 [RFKILL]: Move rfkill_switch_all out of global header rfkill_switch_all shouldn't be called by drivers directly, instead they should send a signal over the input device. To prevent confusion for driver developers, move the function into a rfkill private header. Signed-off-by: Ivo van Doorn Signed-off-by: David S. Miller commit a50e2e3f3e6303e893c4c438c0692d459d7093a5 Author: John W. Linville Date: Thu Sep 27 17:00:29 2007 -0400 [PATCH] iwlwifi: fix imcomplete conversion to print_mac API Signed-off-by: John W. Linville commit 61f622532371985ec46b9684179152735a80f7e0 Author: Zhu Yi Date: Thu Sep 27 11:27:44 2007 +0800 [PATCH] iwlwifi: Update iwlwifi version stamp to 1.1.17 Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 0209dc11c769f51f037a17a4ea7bed43eaee998c Author: Zhu Yi Date: Thu Sep 27 11:27:43 2007 +0800 [PATCH] iwlwifi: add debugfs rate scale stats This patch adds rates scale statistics to debugfs: $ cat /sys/kernel/debug/ieee80211/phy/stations//rate_stats_table Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 98d7e09af513da19389128f23d49893b11de81fa Author: Zhu Yi Date: Thu Sep 27 11:27:42 2007 +0800 [PATCH] iwlwifi: set fixed rate through debugfs This patch adds fixed rate setting through debugfs $ echo > \ /sys/kernel/debug/ieee80211/phy/stations//rate_scale_table Currently there is no way to turn to rate scaling working again. Will be fixed in later. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1b696de23bb21b89f4a4c4fd6b12e26fe2cc4a37 Author: Zhu Yi Date: Thu Sep 27 11:27:41 2007 +0800 [PATCH] iwlwifi: rs_rate_scale_perform clean up This patch cleans up rs_rate_scale_perform function. It removes dead code, shortens variable names and removes useless return i.e. function now returns void. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 02dede04f280a2ea249025414ddb4b1da1fca770 Author: Zhu Yi Date: Thu Sep 27 11:27:40 2007 +0800 [PATCH] iwlwifi: add supp_rates to rate scale sta private data This patch adds supp_rate bit mask to rate scale sta private data structre and thus removes sta from the argument list in helper functions. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 588263515fecd926ea82950e5b7752b8696b595c Author: Zhu Yi Date: Thu Sep 27 11:27:39 2007 +0800 [PATCH] iwlwifi: limit printouts on hot path This patch change printouts on TX path to the net_ratelimit version. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5ae212c9273deb417bcc458d1dfb54ef880e5516 Author: Zhu Yi Date: Thu Sep 27 11:27:38 2007 +0800 [PATCH] iwlwifi: add read rate scale table debugfs function This patch adds read rate scale table debugfs function for 4965 rate scaling module. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 93dc646adb94127ca1c2e74275a85265ec57b9af Author: Zhu Yi Date: Thu Sep 27 11:27:37 2007 +0800 [PATCH] iwlwifi: add debugfs framework to rate scale This patch adds debugfs handler to rate scale algorithms. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 63fddb9f7f65b41277043344ae0d24dbbb451ada Author: Zhu Yi Date: Thu Sep 27 11:27:36 2007 +0800 [PATCH] iwlwifi: removing unnecessary memset in 4965 rate scale This patch removes redundant memset in rate scale. In rs_alloc_sta, kzalloc is used so the memset can be avoided. In rs_rate_init, it is a bug fix since it overrides everything set in other handlers namely add_debugfs. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit c14c521e440a6a83835a2879a4c5f4311b1df68f Author: Zhu Yi Date: Thu Sep 27 11:27:35 2007 +0800 [PATCH] iwlwifi: fix add_station to avoid FW error There were a few Firmware errors reported the most reproducible http://bughost.org/bugzilla/show_bug.cgi?id=1471 The root cause is rate_n_flags isn't set anymore. This patch fixes the problem. Signed-off-by: Ian Schram Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 46640a8ccebee34bd16b1af672feaa7dc320f3f6 Author: Zhu Yi Date: Thu Sep 27 11:27:34 2007 +0800 [PATCH] iwlwifi: Fix typo in rate sacling algorithm This patch fixes tiny typo in 4965 rate sacling algorithm Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 556f8db74809a435195c840f495fd1bf855dfadb Author: Zhu Yi Date: Thu Sep 27 11:27:33 2007 +0800 [PATCH] iwlwifi: clear station table in rxon unconditionally This patch clears stations table for every rxon command. It removes iwl_rxon_add_station function in 3945. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e1493deb74d22b005769e6ecbd24a00106941c6c Author: Zhu Yi Date: Thu Sep 27 11:27:32 2007 +0800 [PATCH] iwlwifi: Correction for sending beacon in config_ap This patch takes out sending beacon from conditional in config_ap function. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit cfe01709871cccf711c70a970bfc1a8d7bd13f84 Author: Zhu Yi Date: Thu Sep 27 11:27:31 2007 +0800 [PATCH] iwlwifi: workaournd REPLY_COMPRESSED_BA command in iwl_rx_handle Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 583fab37da52199a8b1ea30d9c39dc95f1ead24f Author: Zhu Yi Date: Thu Sep 27 11:27:30 2007 +0800 [PATCH] iwlwifi: replacing IPW with IWL in error messages This patch repaces IPW with IWL in error messages. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 279632be3f546f4d88bdb086fa71479bcde9d641 Author: Michael Buesch Date: Thu Sep 27 14:42:42 2007 +0200 [PATCH] rfkill: Fix documentation typos Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 30ccb08847c2d89e1cf893bf5f3155c023a9d142 Author: Michael Buesch Date: Wed Sep 26 21:08:47 2007 +0200 [PATCH] mac80211: bss_tim_clear must use ~ instead of ! We need to use bitwise NOT. This also cleans up the code a little bit to make it more readable. Signed-off-by: Michael Buesch Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit b4010e08907bdafe8bf4a3fe7ef9b52ddec4dda5 Author: Johannes Berg Date: Wed Sep 26 15:19:50 2007 +0200 [PATCH] mac80211: remove generic IE for AP interfaces This is not useful since we do not support probe response offload to hardware at this time and beacons are set in another way. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 51617f0b76389b29740aa9d7736df99b75d1d9ec Author: Johannes Berg Date: Wed Sep 26 15:19:48 2007 +0200 [PATCH] mac80211: remove all prism2 ioctls This patch removes all prism2 ioctls. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 53918994b7c8c3bf0af5f641e1f299856799d883 Author: Johannes Berg Date: Wed Sep 26 15:19:47 2007 +0200 [PATCH] mac80211: fix iff_promiscs, iff_allmultis race When we update the counters iff_promiscs and iff_allmultis in struct ieee80211_local we have no common lock held to protect them. The problem is that the update to each counter may not be atomic, so we could end up with iff_promiscs == -1 in unfortunate conditions. To fix it, use atomic_t values. It doesn't matter whether the two counters are updated together atomically or not, if there are two invocations of set_multicast_list we will end up with multiple configure_filter() invocations of which the latter will always be correct. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 50741ae05a4742cae99361f57d84b5f8d33822a4 Author: Johannes Berg Date: Wed Sep 26 15:19:45 2007 +0200 [PATCH] mac80211: fix TKIP IV update The TKIP IV should be updated only after MMIC verification, this patch changes it to be at that spot. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fb1c1cd6c5a8988b14c5c6c0dfe55542df3a34c6 Author: Johannes Berg Date: Wed Sep 26 15:19:43 2007 +0200 [PATCH] mac80211: fix vlan bug VLAN interfaces have yet another bug: they aren't accounted for properly in the receive path in prepare_for_handlers(). I noticed this by code inspection, but it would be easy for the compiler to catch such things if we'd just use the proper enum where appropriate. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit af1a90da397f071d7ee893145a1e7b2124689376 Author: Johannes Berg Date: Wed Sep 26 15:19:42 2007 +0200 [PATCH] mac80211: remove ieee80211_wep_get_keyidx This function is not used any more. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6a22a59d487e7fe509b457b72497593e402911c0 Author: Johannes Berg Date: Wed Sep 26 15:19:41 2007 +0200 [PATCH] mac80211: consolidate encryption Currently we run through all crypto handlers for each transmitted frame although we already know which one will be used. This changes the code to invoke only the needed handler. It also moves the wep code into wep.c. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4f0d18e26f8bc4c6507b69aa0080d0fae807c990 Author: Johannes Berg Date: Wed Sep 26 15:19:40 2007 +0200 [PATCH] mac80211: consolidate decryption Currently, we run through all three crypto algorithms for each received frame even though we have previously determined which key we have and as such already know which algorithm will be used. Change it to invoke only the needed function. Also move the WEP decrypt handler to wep.c so that fewer functions need to be non-static. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b2e7771e556917cc301a3308561f49b2b2272c07 Author: Johannes Berg Date: Wed Sep 26 15:19:39 2007 +0200 [PATCH] mac80211: pass frames to monitor interfaces early This makes mac80211 pass all frames to monitor interfaces early before all receive processing with the benefit that only a single copy needs to be made, all monitors can receive clones of the skb and if the frame will be discarded we don't even need to make a single copy. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5b2812e925c8e976852867f8d760637c5926d817 Author: Johannes Berg Date: Wed Sep 26 14:27:23 2007 +0200 [PATCH] mac80211: fix interface initialisation and deinitialisation When an interface is registered it is still uninitialised so ieee80211_if_reinit() can't be called on it (it will oops.) Hence, we need to move the uninit method assignment. Also, this patch fixes the bug that the master device is never initialised nor deinitialised at all. Oddly, the deinit code had an if statement to not run some code when running for the master interface (which never happened), but that if statement is also wrong. Fix that too. Now that the uninit code is run for the master device, another bug surfaced: it tries to remove all dependent interfaces and that oopses or BUGs at some point, either because it unregisters already unregistered interfaces (missing list_del bug) or due to trying to iterate a list that has had other things removed. Fix this too by handling the master interface specially. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b4219952356baa162368f2f5dab6421a5dbc5e15 Author: Herbert Xu Date: Thu Sep 27 12:48:05 2007 -0700 [PKT_SCHED]: Add stateless NAT Stateless NAT is useful in controlled environments where restrictions are placed on through traffic such that we don't need connection tracking to correctly NAT protocol-specific data. In particular, this is of interest when the number of flows or the number of addresses being NATed is large, or if connection tracking information has to be replicated and where it is not practical to do so. Previously we had stateless NAT functionality which was integrated into the IPv4 routing subsystem. This was a great solution as long as the NAT worked on a subnet to subnet basis such that the number of NAT rules was relatively small. The reason is that for SNAT the routing based system had to perform a linear scan through the rules. If the number of rules is large then major renovations would have take place in the routing subsystem to make this practical. For the time being, the least intrusive way of achieving this is to use the u32 classifier written by Alexey Kuznetsov along with the actions infrastructure implemented by Jamal Hadi Salim. The following patch is an attempt at this problem by creating a new nat action that can be invoked from u32 hash tables which would allow large number of stateless NAT rules that can be used/updated in constant time. The actual NAT code is mostly based on the previous stateless NAT code written by Alexey. In future we might be able to utilise the protocol NAT code from netfilter to improve support for other protocols. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ce1234d299f3823ea07019c0f7b7b0bcb81ee7a0 Author: Michael Wu Date: Mon Sep 24 18:10:25 2007 -0400 [PATCH] adm8211: Detect interface up/down in suspend/resume hooks correctly Interface up/down detection was incorrectly changed during the filter API update. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit d703e29a88c91f015aa691a195e8fd4426c4ec73 Author: Michael Wu Date: Mon Sep 24 18:10:25 2007 -0400 [PATCH] adm8211: Pass all TXed frames to tx_status_irqsafe ieee80211_tx_status_irqsafe can handle the freeing of all TXed frames. Also, set excessive_retries for failed frames. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit f6ac0adf54ed3fc7fa47e66b92defcbdf37b44ab Author: Michael Wu Date: Mon Sep 24 18:10:25 2007 -0400 [PATCH] adm8211: Use revision from pci_dev No need to load the revision ourselves anymore. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 0d282764eb82f89395493b5e0541c1e30c985838 Author: Michael Wu Date: Mon Sep 24 18:10:25 2007 -0400 [PATCH] adm8211: kill version printks No need to pollute dmesg with copyright info. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit fb9bc28f8bd8a6b9bc5fba7bcacc4bb131d2d5dc Author: Michael Wu Date: Mon Sep 24 18:10:25 2007 -0400 [PATCH] adm8211: Improve writing of mac addrs to registers The mac address write is broken for big endian and the bssid write can be simplified. This patch does both. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 2e08ac7e27c1e54ebf0f82abc03285663efe7d89 Author: Michael Wu Date: Mon Sep 24 18:10:25 2007 -0400 [PATCH] adm8211: kill interrupt loop Looping in the interrupt handler is unnecessary. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 3a1532f2f87175285b9459dcce58e467feec6b78 Author: Ivo van Doorn Date: Tue Sep 25 20:58:08 2007 +0200 [PATCH] rt2x00: Release rt2x00 2.0.9 Version bump Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fdd0abc8175dc43a14fe414a09fd7e6a162757bd Author: Ivo van Doorn Date: Tue Sep 25 20:57:49 2007 +0200 [PATCH] rt2x00: Fix panic on rmmod with rfkill enabled When ieee80211_hw.config indicates that the radio is enabled and is configuring options that require the link tuner to be restarted the link tuner will cause a kernel panic when rfkill has indicated the radio was in fact disabled. Signed-off-by: Modestas Vainius Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dcf5475bc8458798794af9afafdb3ef33ab67fd9 Author: Ivo van Doorn Date: Tue Sep 25 20:57:25 2007 +0200 [PATCH] rt2x00: Fix obvious typo in comment Signed-off-by: Modestas Vainius Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 25ab002f94c73d9f214130fe0e0a8065e7b55841 Author: Ivo van Doorn Date: Tue Sep 25 20:57:04 2007 +0200 [PATCH] rt2x00: Stop link tuning when radio is down As pointed out by Modestas Vainius the link tuner could continue working while the radio is already down. This because at the start of disable_radio the ENABLED_RADIO flag is cleared and causes the toggle_rx to skip the stop_link_tuner() call. This will add a check to the start of the link tuner which will automatically stop the link tuner when the radio is disabled. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3e30968e55e43ef08ee08c71258711a79c550f25 Author: Ivo van Doorn Date: Tue Sep 25 20:56:36 2007 +0200 [PATCH] rt2x00: make rt2x00lib_stop_link_tuner() reentrant with link_tuner work Calling cancel_delayed_work_sync() unconditionally won't hurt and it will avoid race conditions when another CPU is already executing link_tuner work. Signed-off-by: Modestas Vainius Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 643b252123fab1a524449be3b79937f17e06a5ac Author: Ivo van Doorn Date: Tue Sep 25 20:13:51 2007 +0200 rt2x00: Add rt2x00dev->flags to debugfs Loosely based on the patch by Matthijs Kooijman, this will add the dev_flags entry into debugfs which will display rt2x00dev->flags. This will allow easier debugging of flag handling. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 066cb637b1b562bebd09d237bfaaca6724f247e5 Author: Ivo van Doorn Date: Tue Sep 25 20:55:39 2007 +0200 [PATCH] rt2x00: Reorganize rt2x00dev->flags The rt2x00dev->flags has become a chaos over time, this will reorganize the flags by renaming, deleting, adding and properly implement the flags. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 12dadb9009723dd0512091643e6e403f9e1b25cb Author: Ivo van Doorn Date: Tue Sep 25 20:54:44 2007 +0200 [PATCH] rt2x00: Correctly identify rt2561turbo Apparently rt2561s actually has PCI ID 0x0301 and rt2561 actually has PCI ID 0x0302. Where rt2561s supports Turbo. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e9136550eb7d9409292a93e2d2265afa11bee234 Author: Ivo van Doorn Date: Tue Sep 25 20:54:20 2007 +0200 [PATCH] rt2x00: Increase rt2x00usb_vendor_request timeout. By increasing the timeout for rt2x00usb_vendor_request, we should limit the number of loops required to send a signal to the device succefully. 500ms timeout is specified by the Ralink legacy drivers for rt2500usb. For rt73usb 1000ms is specified, but that includes the timeout for the firmware which is already specified in a different define. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2484591049ad1b92f585c1ff1c1d63f41e149faa Author: Ivo van Doorn Date: Tue Sep 25 20:53:43 2007 +0200 [PATCH] rt2x00: Make *_beacon_update static Make rt61pci_beacon_update and rt73usb_beacon_update static, they are only used inside their own source file and then only for setting it as callback funtion for mac80211. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 725d99d4660fcd9abe37d7b733c9412a58465d13 Author: Ivo van Doorn Date: Tue Sep 25 20:53:20 2007 +0200 [PATCH] rt2x00: Correct error in calculating rssi for link tuner The call to rt2x00lib_precalculate_link_signal resets link.rx_success which is needed when calculating the average rssi for the link tuner. Change the call order so the link tuner runs first as it doesn't need the result of the precalculate. Signed-off-by: Adam Baker Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 79010420cc3f78eab911598bfdd29c4b06a83e1f Author: Johannes Berg Date: Tue Sep 18 17:29:21 2007 -0400 [PATCH] mac80211: fix virtual interface locking Florian Lohoff noticed a bug in mac80211: when bringing the master interface down while other virtual interfaces are up we call dev_close() under a spinlock which is not allowed. This patch removes the sub_if_lock used by mac80211 in favour of using an RCU list. All list manipulations are already done under rtnl so are well protected against each other, and the read-side locks we took in the RX and TX code are already in RCU read-side critical sections. Signed-off-by: Johannes Berg Cc: Florian Lohoff Cc: Herbert Xu Cc: Michal Piotrowski Cc: Satyam Sharma Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit ea49c359f36d5b40bf033c45a08332cb73777aa2 Author: Johannes Berg Date: Tue Sep 18 17:29:21 2007 -0400 [PATCH] mac80211: remove crypto algorithm typedef The typedef is not required, we can just use "enum ieee80211_key_alg" instead of "ieee80211_key_alg" Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit f97df02e23269c7650869f6192e809f8ac1a4b39 Author: Johannes Berg Date: Tue Sep 18 17:29:20 2007 -0400 [PATCH] wireless networking: move frame inline functions to generic header These inlines are generally useful, not just with mac80211. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 75a5f0ccfdbc0151ee40bb742f7b5c8eba493c0e Author: Johannes Berg Date: Tue Sep 18 17:29:20 2007 -0400 [PATCH] mac80211: document a lot more This patch adds a lot more documentation (in kernel-doc format) to include/net/mac80211.h Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 1bc0826c8f5f3fa26644a8e878aae0be304a670f Author: Johannes Berg Date: Tue Sep 18 17:29:15 2007 -0400 [PATCH] mac80211: renumber and document the hardware flags Currently, hardware flags that drivers must set are not documented well enough. Fix this. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 0ec3ca445931ff0e7ad6ac61d6c5d2aaafe7a9f5 Author: Johannes Berg Date: Mon Sep 17 01:29:24 2007 -0400 [PATCH] mac80211: validate VLAN interfaces better This patch changes mac80211 to verify that VLAN interfaces are valid and not bother drivers about them any more. VLAN interfaces are now only valid when an AP interface is up with the same MAC address, and are automatically turned off when the AP interface is set down. Signed-off-by: Johannes Berg Cc: Jouni Malinen Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 4150c57212ad134765dd78c654a4b9906252b66d Author: Johannes Berg Date: Mon Sep 17 01:29:23 2007 -0400 [PATCH] mac80211: revamp interface and filter configuration Drivers are currently supposed to keep track of monitor interfaces if they allow so-called "hard" monitor, and they are also supposed to keep track of multicast etc. This patch changes that, replaces the set_multicast_list() callback with a new configure_filter() callback that takes filter flags (FIF_*) instead of interface flags (IFF_*). For a driver, this means it should open the filter as much as necessary to get all frames requested by the filter flags. Accordingly, the filter flags are named "positively", e.g. FIF_ALLMULTI. Multicast filtering is a bit special in that drivers that have no multicast address filters need to allow multicast frames through when either the FIF_ALLMULTI flag is set or when the mc_count value is positive. At the same time, drivers are no longer notified about monitor interfaces at all, this means they now need to implement the start() and stop() callbacks and the new change_filter_flags() callback. Also, the start()/stop() ordering changed, start() is now called *before* any add_interface() as it really should be, and stop() after any remove_interface(). The patch also changes the behaviour of setting the bssid to multicast for scanning when IEEE80211_HW_NO_PROBE_FILTERING is set; the IEEE80211_HW_NO_PROBE_FILTERING flag is removed and the filter flag FIF_BCN_PRBRESP_PROMISC introduced. This is a lot more efficient for hardware like b43 that supports it and other hardware can still set the BSSID to all-ones. Driver modifications by Johannes Berg (b43 & iwlwifi), Michael Wu (rtl8187, adm8211, and p54), Larry Finger (b43legacy), and Ivo van Doorn (rt2x00). Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: Larry Finger Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 070ac3a2651e3c1c4d277c5f1981517427c386a7 Author: Denis V. Lunev Date: Thu Sep 27 12:04:19 2007 -0700 [NET]: Proper comment for loopback initialization order. Loopback device is special. It should be initialized at the very beginning. Initialization order has been changed by Eric W. Biederman and this change is non-obvious and important enough to add proper comment. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f4618d39a34dab316090263b42cd8799f31ce277 Author: Eric W. Biederman Date: Wed Sep 26 22:40:08 2007 -0700 [NETNS]: Simplify the network namespace list locking rules. Denis V. Lunev noticed that the locking rules for the network namespace list are over complicated and broken. In particular the current register_netdev_notifier currently does not take any lock making the for_each_net iteration racy with network namespace creation and destruction. Oops. The fact that we need to use for_each_net in rtnl_unlock() when the rtnetlink support becomes per network namespace makes designing the proper locking tricky. In addition we need to be able to call rtnl_lock() and rtnl_unlock() when we have the net_mutex held. After thinking about it and looking at the alternatives carefully it looks like the simplest and most maintainable solution is to remove net_list_mutex altogether, and to use the rtnl_mutex instead. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 32db927686f6d475fc05b6229f82ed576c0c8096 Author: Jonathan Bastien-Filiatrault Date: Wed Sep 26 22:34:25 2007 -0700 [IRDA]: Document the fact that smsc-ircc2 will not use PNP by default This avoids user confusion when they see that their device is not detected. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 58c14a8fe64d047218522cf2f18a2d7f24c12f51 Author: Andrew Morton Date: Wed Sep 26 22:31:19 2007 -0700 [ATM] net/atm/lec.c: printk warning fix net/atm/lec.c: In function 'lec_start_xmit': net/atm/lec.c:371: warning: format '%x' expects type 'unsigned int', but argument 4 has type 'long unsigned int' Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit dcffde5345c917b98b094d0ef27f6280bc7d4655 Author: Satyam Sharma Date: Wed Sep 26 22:29:51 2007 -0700 [PASEMI_MAC]: remove unused function drivers/net/pasemi_mac.c: At top level: drivers/net/pasemi_mac.c:89: warning: 'read_iob_reg' defined but not used Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 7a876fae9da2b1417246a3eac0ac83889f12fa27 Author: Satyam Sharma Date: Wed Sep 26 22:29:02 2007 -0700 [SPIDERNET] spider_net_ethtool: Keep up with recent netdev stats changes drivers/net/spider_net_ethtool.c: In function 'spider_net_get_ethtool_stats': drivers/net/spider_net_ethtool.c:160: error: structure has no member named 'netdev_stats' drivers/net/spider_net_ethtool.c:161: error: structure has no member named 'netdev_stats' drivers/net/spider_net_ethtool.c:162: error: structure has no member named 'netdev_stats' drivers/net/spider_net_ethtool.c:163: error: structure has no member named 'netdev_stats' drivers/net/spider_net_ethtool.c:164: error: structure has no member named 'netdev_stats' drivers/net/spider_net_ethtool.c:165: error: structure has no member named 'netdev_stats' drivers/net/spider_net_ethtool.c:166: error: structure has no member named 'netdev_stats' make[2]: *** [drivers/net/spider_net_ethtool.o] Error 1 Also do another ARRAY_SIZE() cleanup while at it. Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0aa4f3331b1df09a500e1fda84145255303af573 Author: Andrew Morton Date: Wed Sep 26 22:21:28 2007 -0700 [WIRELESS]: Fix Kconfig. Seems that a bare "depends" is no longer allowed in Sam's kbuild tree. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 3b04ddde02cf1b6f14f2697da5c20eca5715017f Author: Stephen Hemminger Date: Tue Oct 9 01:40:57 2007 -0700 [NET]: Move hardware header operations out of netdevice. Since hardware header operations are part of the protocol class not the device instance, make them into a separate object and save memory. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b95cce3576813ac3f86bafa6b5daaaaf7574b0fe Author: Stephen Hemminger Date: Wed Sep 26 22:13:38 2007 -0700 [NET]: Wrap hard_header_parse Wrap the hard_header_parse function to simplify next step of header_ops conversion. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0c4e85813d0a94eeb8bf813397a4907bdd7bb610 Author: Stephen Hemminger Date: Tue Oct 9 01:36:32 2007 -0700 [NET]: Wrap netdevice hardware header creation. Add inline for common usage of hardware header creation, and fix bug in IPV6 mcast where the assumption about negative return is an errno. Negative return from hard_header means not enough space was available,(ie -N bytes). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4c94f8c0c9a82fad84bc5df453aff755cfed70b7 Author: David S. Miller Date: Wed Sep 26 22:11:56 2007 -0700 [NET]: Remove no longer relevant comment in loopback driver. It talks about __get_cpu_var() which the driver no longer does. Signed-off-by: David S. Miller commit 2774c7aba6c97a2535be3309a2209770953780b3 Author: Eric W. Biederman Date: Wed Sep 26 22:10:56 2007 -0700 [NET]: Make the loopback device per network namespace. This patch makes loopback_dev per network namespace. Adding code to create a different loopback device for each network namespace and adding the code to free a loopback device when a network namespace exits. This patch modifies all users the loopback_dev so they access it as init_net.loopback_dev, keeping all of the code compiling and working. A later pass will be needed to update the users to use something other than the initial network namespace. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 0cc217e16cb8ca8ef2544363571fce94259900e0 Author: Eric W. Biederman Date: Wed Sep 26 22:10:06 2007 -0700 [IPV4]: When possible test for IFF_LOOPBACK and not dev == loopback_dev Now that multiple loopback devices are becoming possible it makes the code a little cleaner and more maintainable to test if a deivice is th a loopback device by testing dev->flags & IFF_LOOPBACK instead of dev == loopback_dev. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 5967789dbc8aafdba5813fa8e8cfce3c90516f83 Author: Eric W. Biederman Date: Wed Sep 26 22:09:25 2007 -0700 [IPV4]: Remove unnecessary test for the loopback device from inetdev_destroy Currently we never call unregister_netdev for the loopback device so it is impossible for us to reach inetdev_destroy with the loopback device. So the test in inetdev_destroy is unnecessary. Further when testing with my network namespace patches removing unregistering the loopback device and calling inetdev_destroy works fine so there appears to be no reason for avoiding unregistering the loopback device. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 5f6d88b9149d537f3db0798f7d312be632422e15 Author: Eric W. Biederman Date: Wed Sep 26 22:08:12 2007 -0700 [NET]: Dynamically allocate the per cpu counters for the loopback device. This patch add support for dynamically allocating the statistics counters for the loopback device and adds appropriate device methods for allocating and freeing the loopback device. This completes support for creating multiple instances of the loopback device, in preparation for creating per network namespace instances. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 9dd776b6d7b0b85966b6ddd03e2b2aae59012ab1 Author: Eric W. Biederman Date: Wed Sep 26 22:04:26 2007 -0700 [NET]: Add network namespace clone & unshare support. This patch allows you to create a new network namespace using sys_clone, or sys_unshare. As the network namespace is still experimental and under development clone and unshare support is only made available when CONFIG_NET_NS is selected at compile time. As this patch introduces network namespace support into code paths that exist when the CONFIG_NET is not selected there are a few additions made to net_namespace.h to allow a few more functions to be used when the networking stack is not compiled in. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 8b41d1887db718be9a2cd9e18c58ce25a4c7fd93 Author: Eric W. Biederman Date: Wed Sep 26 22:02:53 2007 -0700 [NET]: Fix running without sysfs When sysfs support is compiled out the kernel still keeps and maintains the kobject tree. So it is not safe to skip our kobject reference counting or to avoid becoming members of the kobject tree. It is safe to not add the networking specific sysfs attributes. This patch removes the sysfs special cases from net/core/dev.c renames functions from netdev_sysfs_xxxx to netdev_kobject_xxxx and always compiles in net-sysfs.c net-sysfs.c is modified with a CONFIG_SYSFS guard around the parts that are actually sysfs specific. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit bb293e6a24cc2031f74775d95925e003e7250232 Author: Arnaldo Carvalho de Melo Date: Wed Sep 26 19:38:55 2007 -0300 [CCID3]: Remove ifdef surrounding BUG_ON As suggested by DaveM. Signed-off-by: Arnaldo Carvalho de Melo commit cecd8d0ec4cb4fec728f67163bb0a78f80c292eb Author: Gerrit Renker Date: Wed Sep 26 19:36:08 2007 -0300 [DCCP]: Reduce the number of writable states Since DCCP requires to close both ends of a connection simultaneously, permission to write in state DCCP_CLOSING is removed in dccp_sendmsg(): * if the sending end closed, it would encounter a write error anyhow; * if the other end has closed the connection, it accepts no more data. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit e356d37a096a990ea1a74c44c15640122e56110b Author: Gerrit Renker Date: Wed Sep 26 14:35:19 2007 -0300 [DCCP]: Factor out common code for generating Resets This factors code common to dccp_v{4,6}_ctl_send_reset into a separate function, and adds support for filling in the Data 1 ... Data 3 fields from RFC 4340, 5.6. It is useful to have this separate, since the following Reset codes will always be generated from the control socket rather than via dccp_send_reset: * Code 3, "No Connection", cf. 8.3.1; * Code 4, "Packet Error" (identification for Data 1 added); * Code 5, "Option Error" (identification for Data 1..3 added, will be used later); * Code 6, "Mandatory Error" (same as Option Error); * Code 7, "Connection Refused" (what on Earth is the difference to "No Connection"?); * Code 8, "Bad Service Code"; * Code 9, "Too Busy"; * Code 10, "Bad Init Cookie" (not used). Code 0 is not recommended by the RFC, the following codes would be used in dccp_send_reset() instead, since they all relate to an established DCCP connection: * Code 1, "Closed"; * Code 2, "Aborted"; * Code 11, "Aggression Penalty" (12.3). Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 9bf55cda9b2487fa7316dad3880acb0031ad3c0f Author: Gerrit Renker Date: Wed Sep 26 11:32:49 2007 -0300 [DCCP]: Sequence number wrap-around when sending reset This replaces normal addition with mod-48 addition so that sequence number wraparound is respected. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit a94f0f970549e63e54c80c4509db299c514d8c11 Author: Gerrit Renker Date: Wed Sep 26 11:31:49 2007 -0300 [DCCP]: Rate-limit DCCP-Syncs This implements a SHOULD from RFC 4340, 7.5.4: "To protect against denial-of-service attacks, DCCP implementations SHOULD impose a rate limit on DCCP-Syncs sent in response to sequence-invalid packets, such as not more than eight DCCP-Syncs per second." The rate-limit is maintained on a per-socket basis. This is a more stringent policy than enforcing the rate-limit on a per-source-address basis and protects against attacks with forged source addresses. Moreover, the mechanism is deliberately kept simple. In contrast to xrlim_allow(), bursts of Sync packets in reply to sequence-invalid packets are not supported. This foils such attacks where the receipt of a Sync triggers further sequence-invalid packets. (I have tested this mechanism against xrlim_allow algorithm for Syncs, permitting bursts just increases the problems.) In order to keep flexibility, the timeout parameter can be set via sysctl; and the whole mechanism can even be disabled (which is however not recommended). The algorithm in this patch has been improved with regard to wrapping issues thanks to a suggestion by Arnaldo. Commiter note: Rate limited the step 6 DCCP_WARN too, as it says we're sending a sync. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit ee1a15922d356aff0e31bf9bb9088ab346b8033a Author: Gerrit Renker Date: Wed Sep 26 11:30:02 2007 -0300 [DCCP]: Remove duplicate code for Reset from connected socket In this patch, duplicated code is removed for the case when a Reset packet is sent from a connected socket. This code duplication is between dccp_make_reset and dccp_transmit_skb, which already contained an (up to now entirely unused) switch statement to fill in the reset code from the DCCP_SKB_CB. The only thing that has been removed is the call to dst_clone(dst), since the queue_xmit functions use sk_dst_cache anyway. I wasn't sure which purpose inet_sk_rebuild_header served, so I left it in. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 0430ee3451f4589b68f522552b1896825f2043b3 Author: Gerrit Renker Date: Wed Sep 26 11:27:56 2007 -0300 [DCCP]: Add Support for Data 1 .. 3 fields of Reset packets This adds fields to support the informational Data 1..3 fields of the DCCP-Reset packets (RFC 4340, 5.6), and makes minor cosmetic changes to documentation. Code which fills in these fields follows in subsequent patches, it is primarily used for reporting option-processing and feature-negotiation errors. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 727ecc5faaf6e976fc841649821c865ebd1e822d Author: Gerrit Renker Date: Wed Sep 26 11:26:04 2007 -0300 [DCCP]: Add FIXME for send_delayed_ack This adds a FIXME to signal that the function dccp_send_delayed_ack is nowhere used in the entire DCCP/CCID code. Using a delayed Ack timer is suggested in 11.3 of RFC 4340, but it has also rather subtle implications for the Ack-Ratio-accounting. CCID2 does not use this (maybe it should). I think leaving the function in is good, in case someone wants to implement this. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 2e86908f7dfb71b67ca4739d9a6c678b83b01078 Author: Gerrit Renker Date: Wed Sep 26 11:24:28 2007 -0300 [CCID3]: Move NULL-protection into function This moves several instances of testing against NULL into the function which is used to de-reference the CCID-private data. Committer note: Made the BUG_ON depend on having CONFIG_IP_DCCP_CCID3_DEBUG, as it is too much to have this on production code. Also made sure that the macro is used only after checking if sk_state is not LISTEN, to make it equivalent to what we had before. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 08831700cc65f85a497d6b32b1c83ca84d71de4a Author: Gerrit Renker Date: Wed Sep 26 10:30:05 2007 -0300 [DCCP]: Send Reset upon Sync in state REQUEST This fixes the code to correspond to RFC 4340, 7.5.4, which states the exception that a Sync received in state REQUEST generates a Reset (not a SyncAck). To achieve this, only a small change is required. Since dccp_rcv_request_sent_state_process() already uses the correct Reset Code number 4 ("Packet Error"), we only need to shift the if-statement a few lines further down. (To test this case: replace DCCP_PKT_RESPONSE with DCCP_PKT_SYNC in dccp_make_response.) Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 53465eb4ab16660eab0a7be168a087a97172e650 Author: WANG Cong Date: Tue Sep 25 22:57:31 2007 -0700 [BLUETOOTH]: Make hidp_setup_input() return int This patch: - makes hidp_setup_input() return int to indicate errors; - checks its return value to handle errors. And this time it is against -rc7-mm1 tree. Thanks to roel and Marcel Holtmann for comments. Signed-off-by: WANG Cong Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit 912d8f0b1f17b7e851ebbfeb17a16de9f9c7cb88 Author: Ilpo Järvinen Date: Tue Sep 25 22:47:31 2007 -0700 [TCP] MIB: Count FRTO's successfully detected spurious RTOs Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 93e680202929802558f783fbd96c41697ae65472 Author: Ilpo Järvinen Date: Tue Sep 25 22:46:50 2007 -0700 [TCP]: Reordered ACK's (old) SACKs not included to discarded MIB In case of ACK reordering, the SACK block might be valid in it's time but is already obsoleted since we've received another kind of confirmation about arrival of the segments through snd_una advancement of an earlier packet. I didn't bother to build distinguishing of valid and invalid SACK blocks but simply made reordered SACK blocks that are too old always not counted regardless of their "real" validity which could be determined by using the ack field of the reordered packet (won't be significant IMHO). DSACKs can very well be considered useful even in this situation, so won't do any of this for them. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit a6963a6b3d2d3921b60f45e0cf18be26495d5ad1 Author: Ilpo Järvinen Date: Tue Sep 25 22:44:14 2007 -0700 [TCP]: Re-place highest_sack check to a more robust position I previously added checking to position that is rather poor as state has already been adjusted quite a bit. Re-placing it above all state changes should be more robust though the return should never ever get executed regardless of its place :-). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b0d045ca45a44d9f8bd66d0a10558b10c60f895a Author: Gerrit Renker Date: Tue Sep 25 22:42:27 2007 -0700 [DCCP]: Parameter renaming The parameter `seq' of dccp_send_sync() is in fact an acknowledgement number and not a sequence number - thus renamed by this patch into `ackno'. Secondly, a `critical' warning is added when a Sync/SyncAck could not be sent. Sanity: I have checked all other functions that are called in dccp_transmit_skb, there are no clashes with the use of dccpd_ack_seq; no other function is using this slot at the same time. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e155d7692290f7bc539ccb8ebc3450ec964e53fd Author: Gerrit Renker Date: Tue Sep 25 22:41:56 2007 -0700 [DCCP]: Fix Reset/Sync-Flood Bug This updates sequence number checking with regard to RFC 4340, 7.5.4. Missing in the code was an exception for sequence-invalid Reset packets, which get a Sync acknowledging GSR, instead of (as usual) P.seqno. This can lead to an oscillating ping-pong flood of Reset packets. In fact, it has been observed on the wire as follows: 1. client establishes connection to server; 2. before server can write to client, client crashes without notifying the server (NB: now no longer possible due to ABORT function); 3. server sends DCCP-Data packet (has no ackno); 4. client generates Reset "No Connection", seqno=0, increments seqno; 5. server replies with Sync, using ackno = P.seqno; 6. client generates Reset "No Connection" with seqno = ackno + 1; 7. goto (5). The difference is that now in (5) the server uses GSR. This causes the Reset sent by the client in (6) to become sequence-valid, so that in (7) the vicious circle is broken; the Reset is then enqueued and causes the socket to enter TIMEWAIT state. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit cbe1f5f88af454303a9c1a0624209269430d49fe Author: Gerrit Renker Date: Tue Sep 25 22:41:19 2007 -0700 [DCCP]: Shorten variable names in dccp_check_seqno This patch is in part required by the next patch; it * replaces 6 instances of `DCCP_SKB_CB(skb)->dccpd_seq' with `seqno'; * replaces 7 instances of `DCCP_SKB_CB(skb)->dccpd_ack_seq' with `ackno'; * replaces 1 use of dccp_inc_seqno() by unfolding `ADD48' macro in place. No changes in algorithm, all changes are text replacement/substitution. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 3393da8241ae3a53e183ba15f8bd822995ec97cd Author: Gerrit Renker Date: Tue Sep 25 22:40:44 2007 -0700 [DCCP]: Simplify interface of dccp_sample_rtt The third parameter of dccp_sample_rtt now becomes useless and is removed. Also combined the subtraction of the timestamp echo and the elapsed time. This is safe, since (a) presence of timestamp echo is tested first and (b) elapsed time is either present and non-zero or it is not set and equals 0 due to the memset in dccp_parse_options. To avoid measuring option-processing time, the timestamp for measuring the initial Request/Response RTT sample is taken directly when the function is called (the Linux implementation always adds a timestamp on the Request, so there is no loss in doing this). Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4c70f383e0c0273c4092c4efdb414be0966978b7 Author: Gerrit Renker Date: Tue Sep 25 22:40:13 2007 -0700 [DCCP]: Provide 10s of microsecond timesource This provides a timesource, conveniently used for DCCP timestamps, which returns the elapsed time in 10s of microseconds since initialisation. This makes for a wrap-around time of about 11.9 hours, which should be sufficient for most applications. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit aa97efd97acefb7d3dcd864adb878c7ce34061b3 Author: Gerrit Renker Date: Tue Sep 25 22:39:16 2007 -0700 [DCCP]: Reuse ktime_get_real() calls again This patch reduces the number of timestamps taken in the receive path for each packet. The ccid3_hc_tx_update_x() routine is called in * the receive path for each CCID3-controlled packet * for the nofeedback timer (if no feedback arrives during 4 RTT) Currently, when there is no loss, each packet gets timestamped twice. The patch resolves this by recycling the first timestamp taken on packet reception for RTT sampling. When the no_feedback_timer() is called, then the timestamp argument is simply set to NULL - so that ccid3_hc_tx_update_x() takes care of the logic. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e0eb68596232788bc352368f2fbc3cb088e42e41 Author: Michael Wu Date: Tue Sep 18 17:29:21 2007 -0400 [MAC80211]: rename ieee80211_cfg.h to cfg.h Might as well rename ieee80211_cfg.h to cfg.h to keep things consistent. Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d86ec781ef9627a3fcd64a7a91d1b79a74d3927b Author: Johannes Berg Date: Tue Sep 18 17:29:21 2007 -0400 [MAC80211]: kill vlan_id Each station has a vlan_id that is useless. Remove it. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c095df531f3ab9699b031e220c0da76d6407b157 Author: Johannes Berg Date: Tue Sep 18 17:29:21 2007 -0400 [MAC80211]: kill IE parse typedef The parse result typedef isn't needed. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit fa5fea711f4c3bd71f00181d6f385ef4d53ab375 Author: Johannes Berg Date: Tue Sep 18 17:29:20 2007 -0400 [MAC80211]: rename ieee80211_cfg.c to cfg.c It's just painful to have the extra ieee80211_ prefix. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit dd1cd4c620c174ebbdf78dc01b924115a06de5d3 Author: Johannes Berg Date: Tue Sep 18 17:29:20 2007 -0400 [MAC80211]: print out wiphy name instead of master device This makes mac80211 print out the wiphy name instead of the master device name where appropriate. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 9c7d7728baf79c63ae58df95fb39ea13db487599 Author: Johannes Berg Date: Tue Sep 18 17:29:20 2007 -0400 [MAC80211]: remove tx info sw_retry_attempt member This is unused. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 693d454dffd43b2bab021d0e039a0c426181c1b0 Author: Johannes Berg Date: Tue Sep 18 17:29:20 2007 -0400 [MAC80211]: fix warnings introduced by the doc patches This fixes a warning about NUM_IEEE80211_MODES missing in a switch statement. Intentionally do not add a default case so we get warnings at these places if we need to add new modes. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6b301cdfad96daa3cf4f0d775ab408f898308890 Author: Johannes Berg Date: Tue Sep 18 17:29:20 2007 -0400 [MAC80211]: yet more documentation Add more mac80211 documentation. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c33e3f3bcd2b63b735c5b1028f3cfd1048c300c2 Author: Johannes Berg Date: Mon Sep 17 01:29:26 2007 -0400 [MAC80211]: remove IEEE80211_CONF_SSID_HIDDEN The IEEE80211_CONF_SSID_HIDDEN setting is not useful for any driver we have and should be a per-interface setting anyway. Remove it. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 011bfcc4f3d3444b140da3880ae30a62cc93529e Author: Johannes Berg Date: Mon Sep 17 01:29:25 2007 -0400 [MAC80211]: remove key threshold stuff This patch removes the key threshold stuff from mac80211. I have patches for later that add it as a per-key setting to nl/cfg80211. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 72abd81b980ef7ffb83ecb4ac4a7627d9d575f50 Author: Johannes Berg Date: Mon Sep 17 01:29:22 2007 -0400 [MAC80211]: allow drivers to indicate failed FCS/PLCP checksum This patch allows drivers to indicate bad FCS/PLCP CRC to the stack and have the stack drop packets like that except for monitor interfaces. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ac630c2b1933e79ff32e3653ae656620cf4b4c79 Author: Vladimir Davydov Date: Thu Sep 6 21:45:36 2007 -0400 [LIBERTAS]: fix oops on the blackfin architecture Fixing memory alignment problems on the blackfin architecture (maybe on the ARM also) Signed-off-by: Vladimir Davydov Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f31ce76b781d15ab6b529663b95223f58171ec80 Author: Vladimir Davydov Date: Thu Sep 6 21:41:02 2007 -0400 [LIBERTAS]: fix oops on the blackfin architecture Reserve two bytes to align pointer to the IP header. Signed-off-by: Vladimir Davydov Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 28de0b36be2a4e7fb0ba7c9a77d61aeb229b27c0 Author: Ryan Mallon Date: Thu Sep 6 21:32:42 2007 -0400 [LIBERTAS]: fix interrupts in CF driver The following patch fixes the tx transmit timeout problem, which is caused by the interrupts being incorrectly check and masked. The patch moves the interrupt masking code so that interrupts are enabled only when the driver is registered and only disabled when the driver is unregistered. Signed-off-by: Ryan Mallon Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6f05cbe5882e8b0fc5a984313cbb14ce7741411b Author: Ryan Mallon Date: Thu Sep 6 21:30:32 2007 -0400 [LIBERTAS]: set dnld_sent correctly for CF parts Corrects a minor bug with priv->dnld_sent being set incorrectly in if_cs_host_to_card. Signed-off-by: Ryan Mallon Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1065de1562b1552a24f83e379bcb5fed351a8bc4 Author: Larry Finger Date: Thu Sep 20 20:10:07 2007 -0500 [B43LEGACY]: Change the hardware radio enable logic and cleanup code This change cleans up the radio-related messages in several ways. (1) The state of the rfkill switch is assumed to be on, rather than tested. Now, any user without such a switch will not see any messages. For devices with such a switch, a message will be logged only if the initial state is off, or if the switch is toggled. (2) The routine for testing the switch state is no longer inline. (3) The LED handling routine is simplified. (4) The "Radio turned off" message that has confused some users has been changed to "Radio initialized". This patch is patterned after a similar change to b43 by Michael Buesch. Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 42a9174f541d2338d35b91869415d9ae9312ca0d Author: Larry Finger Date: Thu Sep 20 21:11:02 2007 -0500 [B43LEGACY]: Support for turning the radio off from software. This adds support for turning the radio off in software. That's useful in environments, where you don't want the RF to radiate any signals, but don't want to bring the interface down. This patch is based on a similar patch of b43 by Michael Buesch. Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit fda9abcf1a5b6b78a4ead25729583541af9876b5 Author: Michael Buesch Date: Thu Sep 20 22:14:18 2007 +0200 [B43]: Support for turning the radio off from software. This adds support for turning the radio off in software. That's useful in environments, where you don't want the RF to radiate any signals, but don't want to bring the interface down. Cc: Larry Finger Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6a724d68a38c33ba4c7f7b5f008301ac12c9ced1 Author: Michael Buesch Date: Thu Sep 20 22:12:58 2007 +0200 [B43]: Remove the "radio hw enabled" message on startup. This message is useless. Only report state changes. Cc: Larry Finger Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 61609bc0e4d3bc677ecdccf216a0a77563f52457 Author: Michael Buesch Date: Thu Sep 20 22:06:39 2007 +0200 [MAC80211]: Add support for setting TX power and radio status This adds support for disabling the radio and setting the TXpower through wext. This also fixes the prism TXpower ioctl (It always overwrote the TXpower value in ieee80211_hw_config()) Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 501d857ec93e797d4872d6b9b265b7472b455ddf Author: Johannes Berg Date: Wed Oct 3 18:14:23 2007 -0700 [IEEE80211]: Fix softmac lockdep reports. It seems I was actually able to hit this deadlock, on my quad G5 softmac locks up more often than not. This fixes it by using an own workqueue that can safely be flushed under RTNL. Not sure if the patch is correct with the workqueue naming. And don't think with the patch it doesn't continually lock up. It still does, just doesn't invoke lockdep warnings all the time. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 05155c83d13b983ac2c5691575fd471543df31fe Author: Michael Buesch Date: Wed Sep 19 19:10:08 2007 +0200 [B43]: Change loglevel of radio-enable message. Also cleanup the code a bit and remove the inline. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6b9bafec6608539d07f7ccdeefe121dabe06604f Author: Michael Buesch Date: Wed Sep 19 18:55:12 2007 +0200 [SSB]: Sparse fixes. This fixes all Sparse warnings in SSB. No semantics change. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4b402c65a3a17257af45875159395278e4a2f0cd Author: Michael Buesch Date: Wed Sep 19 18:53:44 2007 +0200 [SSB]: Use ioreadX() and iowriteX() for PCI. On a PCI bus use ioreadX() and iowriteX(). We map the I/O space with pci_iomap(), so we must use the correct accessor functions, too. readX() and writeX() are not guaranteed to accept the cookie returned from pci_iomap() (though, it currently works on most architectures). Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b85b3b7af52d1c1bd45bfcd47aa425a15fda45f7 Author: Michael Buesch Date: Wed Sep 19 18:51:38 2007 +0200 [B43]: Don't lock irq_lock in debugfs txpower adjust It's not required and the txpower adjustment must not be in atomic. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 90f4dd0f4ba910b86f387874ed990ca69c0951a5 Author: Andrew Morton Date: Sun Sep 16 15:08:37 2007 -0700 [P54PCI]: terminate pci table Signed-off-by: Andrew Morton Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ababda03e1a4c41d75cd86c186025532bf91d057 Author: Ulrich Kunitz Date: Sat Sep 1 22:40:32 2007 +0100 [ZD1211RD]: add USB id for Telegent TG54USB WLAN adapter Reinhard Speyerer reported at 2007-08-10 a new device. Here are the information strings. Product: Telegent TG54USB WLAN Adapter USB ID: 129b:1666 Chip ID: zd1211 chip 129b:1666 v4330 high 00-01-36 RF2959_RF pa0 ----- FCC ID: N89-UW620Z Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 01449c5a469c8c1c647cfd3705b1ff290be6afff Author: Larry Finger Date: Sun Sep 16 17:26:49 2007 -0500 [BCM43XX]: Change radio hardware switch status printk from debug to regular Some distros ship bcm43xx with debugging printout disabled. For those BCM43xx devices with radio on/off switches, this makes it impossible to know if the radio is on or off. This patch changes a pair of debug printk's into ordinary printk's. It also changes the message that prints when the radio is initialized to the off state as the old message seems to confuse users. Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit fa46081c506ab518e8ea4095bc21b6d544006c00 Author: Jesper Juhl Date: Fri Aug 31 00:30:31 2007 +0200 [ZD1211RW]: Don't needlessly initialize variable to NULL in zd_chip No need to initialize to NULL when variable is never used before it's assigned the return value of a kmalloc() call. Signed-off-by: Jesper Juhl Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e24eb521fbf2a350ce879dfc1d8e56d4ffa2aa22 Author: Christian Borntraeger Date: Tue Sep 25 19:42:02 2007 -0700 [NET]: note that NETIF_F_LLTX is deprecated Am Freitag, 21. September 2007 schrieb Herbert Xu: > Please don't use LLTX in new drivers. We're trying to get rid > of it since it's > > 1) unnecessary; > 2) causes problems with AF_PACKET seeing things twice. I suggest to document that LLTX is deprecated. Signed-off-by: Christian Borntraeger Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 1156b2c689bf509cdc254394598d410787a02aec Author: Zhu Yi Date: Tue Sep 25 19:34:09 2007 -0700 [IWLWIFI]: remove per-file CFLAGS for IWL define Signed-off-by: Zhu Yi Signed-off-by: David S. Miller commit 8236632fb3532188c75656421e29f5ab51b47db7 Author: Jamal Hadi Salim Date: Tue Sep 25 19:27:13 2007 -0700 [NET_SCHED]: explict hold dev tx lock For N cpus, with full throttle traffic on all N CPUs, funneling traffic to the same ethernet device, the devices queue lock is contended by all N CPUs constantly. The TX lock is only contended by a max of 2 CPUS. In the current mode of operation, after all the work of entering the dequeue region, we may endup aborting the path if we are unable to get the tx lock and go back to contend for the queue lock. As N goes up, this gets worse. The changes in this patch result in a small increase in performance with a 4CPU (2xdual-core) with no irq binding. Both e1000 and tg3 showed similar behavior; Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 854d8363f37491c955b0edc60d37b62f3d71bb67 Author: Daniel Lezcano Date: Tue Sep 25 19:18:04 2007 -0700 [NET]: Dynamically allocate the loopback device, part 2. Doing this makes loopback.c a better example of how to do a simple network device, and it removes the special case single static allocation of a struct net_device, hopefully making maintenance easier. Signed-off-by: Eric W. Biederman Signed-off-by: Daniel Lezcano Acked-By: Kirill Korotaev Acked-by: Benjamin Thery commit de3cb747ffac5f2a4a6bb156e7e2fd5229e688e5 Author: Daniel Lezcano Date: Tue Sep 25 19:16:28 2007 -0700 [NET]: Dynamically allocate the loopback device, part 1. This patch replaces all occurences to the static variable loopback_dev to a pointer loopback_dev. That provides the mindless, trivial, uninteressting change part for the dynamic allocation for the loopback. Signed-off-by: Eric W. Biederman Signed-off-by: Daniel Lezcano Acked-By: Kirill Korotaev Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 556829657397b9b05baec6691ead4e22ee8d1567 Author: Johannes Berg Date: Thu Sep 20 13:09:35 2007 -0400 [NL80211]: add netlink interface to cfg80211 Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 0800f170263d19b882e519441156c5f6ed190fc1 Author: David S. Miller Date: Thu Sep 20 11:40:37 2007 -0700 [TCP]: Minor coding style fixup. Signed-off-by: David S. Miller commit b76892051cf1c04d95872838e70146f65e3b9d75 Author: Ilpo Järvinen Date: Thu Sep 20 11:37:19 2007 -0700 [TCP]: Avoid clearing sacktag hint in trivial situations There's no reason to clear the sacktag skb hint when small part of the rexmit queue changes. Account changes (if any) instead when fragmenting/collapsing. RTO/FRTO do not touch SACKED_ACKED bits so no need to discard SACK tag hint at all. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c96fd3d461fa495400df24be3b3b66f0e0b152f9 Author: Ilpo Järvinen Date: Thu Sep 20 11:36:37 2007 -0700 [TCP]: Enable SACK enhanced FRTO (RFC4138) by default Most of the description that follows comes from my mail to netdev (some editing done): Main obstacle to FRTO use is its deployment as it has to be on the sender side where as wireless link is often the receiver's access link. Take initiative on behalf of unlucky receivers and enable it by default in future Linux TCP senders. Also IETF seems to interested in advancing FRTO from experimental [1]. How does FRTO help? =================== FRTO detects spurious RTOs and avoids a number of unnecessary retransmissions and a couple of other problems that can arise due to incorrect guess made at RTO (i.e., that segments were lost when they actually got delayed which is likely to occur e.g. in wireless environments with link-layer retransmission). Though FRTO cannot prevent the first (potentially unnecessary) retransmission at RTO, I suspect that it won't cost that much even if you have to pay for each bit (won't be that high percentage out of all packets after all :-)). However, usually when you have a spurious RTO, not only the first segment unnecessarily retransmitted but the *whole window*. It goes like this: all cumulative ACKs got delayed due to in-order delivery, then TCP will actually send 1.5*original cwnd worth of data in the RTO's slow-start when the delayed ACKs arrive (basically the original cwnd worth of it unnecessarily). In case one is interested in minimizing unnecessary retransmissions e.g. due to cost, those rexmissions must never see daylight. Besides, in the worst case the generated burst overloads the bottleneck buffers which is likely to significantly delay the further progress of the flow. In case of ll rexmissions, ACK compression often occurs at the same time making the burst very "sharp edged" (in that case TCP often loses most of the segments above high_seq => very bad performance too). When FRTO is enabled, those unnecessary retransmissions are fully avoided except for the first segment and the cwnd behavior after detected spurious RTO is determined by the response (one can tune that by sysctl). Basic version (non-SACK enhanced one), FRTO can fail to detect spurious RTO as spurious and falls back to conservative behavior. ACK lossage is much less significant than reordering, usually the FRTO can detect spurious RTO if at least 2 cumulative ACKs from original window are preserved (excluding the ACK that advances to high_seq). With SACK-enhanced version, the detection is quite robust. FRTO should remove the need to set a high lower bound for the RTO estimator due to delay spikes that occur relatively common in some environments (esp. in wireless/cellular ones). [1] http://www1.ietf.org/mail-archive/web/tcpm/current/msg02862.html Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit cd99889c616afe1e8addcf28da505600c04f065a Author: Ilpo Järvinen Date: Thu Sep 20 11:35:26 2007 -0700 [TCP] FRTO: Update sysctl documentation Since the SACK enhanced FRTO was added, the code has been under test numerous times so remove "experimental" claim from the documentation. Also be a bit more verbose about the usage. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 009a2e3e4ec395a290b9e4c7c9ff99296fd6b7d8 Author: Ilpo Järvinen Date: Thu Sep 20 11:34:38 2007 -0700 [TCP] FRTO: Improve interoperability with other undo_marker users Basically this change enables it, previously other undo_marker users were left with nothing. Reverse undo_marker logic completely to get it set right in CA_Loss. On the other hand, when spurious RTO is detected, clear it. Clearing might be too heavy for some scenarios but seems safe enough starting point for now and shouldn't have much effect except in majority of cases (if in any). By adding a new FLAG_ we avoid looping through write_queue when RTO occurs. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 7c46a03e67d11d917d6c3dbf501b465b2ca97a6f Author: Ilpo Järvinen Date: Thu Sep 20 11:33:43 2007 -0700 [TCP]: Cleanup tcp_tso_acked and tcp_clean_rtx_queue Implements following cleanups: - Comment re-placement (CodingStyle) - tcp_tso_acked() local (wrapper-like) variable removal (readability) - __-types removed (IMHO they make local variables jumpy looking and just was space) - acked -> flag (naming conventions elsewhere in TCP code) - linebreak adjustments (readability) - nested if()s combined (reduced indentation) - clarifying newlines added Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 13fcf850cc20373db4dd8a5c9f349583ab3817c4 Author: Ilpo Järvinen Date: Tue Oct 9 01:28:45 2007 -0700 [TCP]: Move accounting from tso_acked to clean_rtx_queue The accounting code is pretty much the same, so it's a shame we do it in two places. I'm not too sure if added fully_acked check in MTU probing is really what we want perhaps the added end_seq could be used in the after() comparison. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 5af4ec236f7c98f3671fb26731457a172d85e0e6 Author: Ilpo Järvinen Date: Thu Sep 20 11:30:48 2007 -0700 [TCP]: clear_all_retrans_hints prefixed by tcp_ In addition, fix its function comment spacing. Signed-off-by: Ilpo Järvinen commit 91fed7a15c9222af29a653ecb0ee72cff178fdd8 Author: Ilpo Järvinen Date: Tue Oct 9 01:24:15 2007 -0700 [TCP]: Make fackets_out accurate Substraction for fackets_out is unconditional when snd_una advances, thus there's no need to do it inside the loop. Just make sure correct bounds are honored. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 0dde7b5404a3d52dcd9ce66d46197f6c3ca97dda Author: Ilpo Järvinen Date: Thu Sep 20 11:28:05 2007 -0700 [TCP]: Maintain highest_sack accurately to the highest skb In general, it should not be necessary to call tcp_fragment for already SACKed skbs, but it's better to be safe than sorry. And indeed, it can be called from sacktag when a DSACK arrives or some ACK (with SACK) reordering occurs (sacktag could be made to avoid the call in the latter case though I'm not sure if it's worth of the trouble and added complexity to cover such marginal case). The collapse case has return for SACKED_ACKED case earlier, so just WARN_ON if internal inconsistency is detected for some reason. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 1a09404a2338163f181d170c7abdc2242b6c6f03 Author: Michael Buesch Date: Thu Sep 20 11:13:40 2007 -0700 [B43]: Fix sparse warnings. The remaining warning in phy.c will be fixed later. Signed-off-by: Michael Buesch Signed-off-by: David S. Miller commit fb8e4444cc8c7719d9947e21a93e2e84bb1b36eb Author: Al Viro Date: Thu Aug 23 03:04:12 2007 -0400 cxgb3: trivial endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit bd7eb1c549188e4f7993e324b1bbe267fc13675c Author: Al Viro Date: Thu Aug 23 03:03:51 2007 -0400 3c509: endianness Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 16989ba6e9c501ffc004ec3c031b1c6065708ccf Author: Al Viro Date: Thu Aug 23 03:03:13 2007 -0400 drivers/net/appletalk: endianness Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 2929e7700fb64f58f9c501a293b98b6bf6c49403 Author: Al Viro Date: Thu Aug 23 02:57:00 2007 -0400 tms380tr: trivial endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit b963dc1df78399a2166c2e6e3eb726a2dc98cf11 Author: Al Viro Date: Thu Aug 23 02:55:33 2007 -0400 pppoe: endianness Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 53c03f5c9e3c05a2484ad6bb1d88c0aa54befa47 Author: Al Viro Date: Thu Aug 23 02:33:30 2007 -0400 via-rhine: endianness Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit b1eab70130fd60082cce11caba14fe8c99a018e9 Author: Al Viro Date: Thu Aug 23 02:30:16 2007 -0400 r8169: endianness Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 88b1943bd3e4d2620e5936181861e00bf6236aa4 Author: Al Viro Date: Thu Aug 23 02:29:45 2007 -0400 starfire: trivial endianness annotations Note: we still have several fishy areas - mcast filter and vlan handling. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 37e1370b701b9a032399e8e2d130009eefa66782 Author: Al Viro Date: Thu Aug 23 00:54:10 2007 -0400 drivers/net/irda: endianness, NULL noise Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit c676504ef5fe682bd343149de0e5c57bbf793ff9 Author: Al Viro Date: Thu Aug 23 00:47:03 2007 -0400 ixgb: endianness Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 3e33545ba6f8ca04b28a015e095662a35a4e2670 Author: Al Viro Date: Thu Aug 23 00:45:46 2007 -0400 pcnet32: endianness Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 03a710ffcb0c4e682087f4cf4f0236d10ed09253 Author: Al Viro Date: Thu Aug 23 00:44:39 2007 -0400 typhoon: trivial endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit c559a5bc9417c00ba2df59397a27eaf8d8e52aec Author: Al Viro Date: Thu Aug 23 00:43:22 2007 -0400 tulip: endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 701181ac1d9ac465a3614061cb60ded4033c4d07 Author: Al Viro Date: Wed Aug 22 22:59:11 2007 -0400 arcnet endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 05d2fec9f5e5fd1d7169435631b9d55ae4c566d1 Author: Al Viro Date: Wed Aug 22 21:42:28 2007 -0400 amd8111e big-endian fix amd8111e_calc_coalesce() ends up with insane values of tx_data_rate since ->tx_bytes increments missing conversion from little- to host-endian Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit ee41a82fa362449e608c4dab7df261058ffd52c0 Author: Al Viro Date: Wed Aug 22 21:37:46 2007 -0400 amd8111e: trivial endianness annotations, NULL noise removal Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit cc2d6596ca79667830a90ca177ba53b0d83262de Author: Al Viro Date: Wed Aug 22 21:34:46 2007 -0400 3c59x: trivial endianness annotations, NULL noise removal Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit cf9830195a3f35b1248425b69a01ee43f5b68221 Author: Al Viro Date: Wed Aug 22 21:18:56 2007 -0400 fix vlan in 8139cp on big-endian Layout of opts2 is : MSB(vlan_tag) : LSB(vlan_tag) : flags : 0 : regardless of the host endianness. On little-endian the current code ends up with the right values, but on big-endian it blows. In r8169.c the same bug had been fixed in commit d35da12a40426184b1d0844104b1d464753eba19 (r8169: endianness fixes). Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit d3bb52b0948cf118131c951c5a34a2d4d0246171 Author: Al Viro Date: Wed Aug 22 20:06:58 2007 -0400 endianness annotations drivers/net/bonding/ Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit dd96df2cc2539ecd451614a2ffed4d8a4c541d92 Author: Ursula Braun Date: Wed Sep 19 13:09:02 2007 +0200 s390 networking MAINTAINERS maintainer change for s390 networking Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 9b8ee8e7d6b7f2270b19b3425a393d918fe497d3 Author: Vitaly Bordug Date: Tue Sep 18 20:05:35 2007 +0400 FS_ENET: Add polling support Signed-off-by: Vitaly Bordug Signed-off-by: Jeff Garzik commit aa90f5032129b43569896c1c6c15a706c02c6abf Author: Vitaly Bordug Date: Tue Sep 18 20:05:27 2007 +0400 FS_ENET: TX stuff should use fep->tx_lock, instead of fep->lock. Signed-off-by: Vitaly Bordug Signed-off-by: Jeff Garzik commit 1a9e8549efda23a08451d0ac582713dfd04f0951 Author: Maciej W. Rozycki Date: Fri Sep 14 12:05:00 2007 +0100 NET_SB1250_MAC: Rename to SB1250_MAC Rename NET_SB1250_MAC to SB1250_MAC to follow the convention. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit 25a72dfe044a716222d7adb4f075afc62ed4061f Author: Maciej W. Rozycki Date: Fri Sep 14 11:57:33 2007 +0100 NET_SB1250_MAC: Update Kconfig entry The SB1250 network interfaces are Gigabit Ethernet ones. Move the Kconfig entry to the appropriate section and add some help text. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit 200eef20db6de7535438c9af9becc8169c6cb6c0 Author: Dhananjay Phadke Date: Mon Sep 3 10:33:35 2007 +0530 netxen: ethtool fixes Resubmitting the patch. This patch improves ethtool support for printing correct ring statistics, segmentation offload status, etc. Signed-off by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 1d3bb996481e116f5f2b127cbd29b83365d2cf62 Author: David Gibson Date: Thu Aug 23 13:56:01 2007 +1000 Device tree aware EMAC driver Based on BenH's earlier work, this is a new version of the EMAC driver for the built-in ethernet found on PowerPC 4xx embedded CPUs. The same ASIC is also found in the Axon bridge chip. This new version is designed to work in the arch/powerpc tree, using the device tree to probe the device, rather than the old and ugly arch/ppc OCP layer. This driver is designed to sit alongside the old driver (that lies in drivers/net/ibm_emac and this one in drivers/net/ibm_newemac). The old driver is left in place to support arch/ppc until arch/ppc itself reaches its final demise (not too long now, with luck). This driver still has a number of things that could do with cleaning up, but I think they can be fixed up after merging. Specifically: - Should be adjusted to properly use the dma mapping API. Axon needs this. - Probe logic needs reworking, in conjuction with the general probing code for of_platform devices. The dependencies here between EMAC, MAL, ZMII etc. make this complicated. At present, it usually works, because we initialize and register the sub-drivers before the EMAC driver itself, and (being in driver code) runs after the devices themselves have been instantiated from the device tree. Signed-off-by: David Gibson Signed-off-by: Jeff Garzik commit 03233b90b0977d577322a6e1ddd56d9cc570d406 Author: Al Viro Date: Thu Aug 23 02:31:17 2007 +0100 8139cp: trivial endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit eeb70af91d3f38ba429d3c8e0519b3c1ff8a0955 Author: Bryan Wu Date: Wed Sep 19 23:37:41 2007 +0800 Blackfin EMAC driver: add a select for the PHYLIB of this driver Since we are adding requirement for the PHYLIB for this driver, there should be a select for that Cc: Robin Getz Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit 4ae5a3ad5aa35972863f9c656ebd35446fbb5192 Author: Bryan Wu Date: Wed Sep 19 23:37:36 2007 +0800 Blackfin EMAC driver: Add phy abstraction layer supporting in bfin_emac driver - add MDIO functions and register mdio bus - add phy abstraction layer (PAL) functions and use PAL API - test on STAMP537 board Signed-off-by: Bryan Wu Acked-by: Jeff Garzik Signed-off-by: Jeff Garzik commit 496a34c2249fecc87ee689eede2bb8510c1b37a9 Author: Bryan Wu Date: Wed Sep 19 23:37:14 2007 +0800 Blackfin EMAC driver: add power management interface and change the bf537mac_reset to bf537mac_disable Signed-off-by: Bryan Wu Acked-by: Jeff Garzik Signed-off-by: Jeff Garzik commit 73f83182862a2c9113421720997c75ee939902f8 Author: Alex Landau Date: Wed Sep 19 23:14:18 2007 +0800 Blackfin EMAC driver: add function to change the MAC address Alex Landau writes in the forums: Previously, changing the MAC address (e.g. via ifconfig) resulted in a generic function to be called that only changed a variable in memory. This patch also updated the Blackfin MAC address registers to filter the correct new MAC. Signed-off-by: Alex Landau Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Jeff Garzik Signed-off-by: Jeff Garzik commit 1a7eb72b68c1c6a00a237bc242885222ab74536f Author: Sivakumar Subramani Date: Fri Sep 14 07:43:16 2007 -0400 S2io: Updating transceiver information in ethtool function - Update transceiver information in ethtool function Signed-off-by: Sreenivasa Honnur Signed-off-by: Jeff Garzik commit 2fd37688455857b7b92bc2b1379a4c48aa9af147 Author: Sivakumar Subramani Date: Fri Sep 14 07:39:19 2007 -0400 S2io: Added support set_mac_address driver entry point - Added set_mac_address driver entry point - Copying permanent mac address to dev->perm_addr - Incorporated following review comments from Jeff - Converted the macro to a function and removed call to memset - regarding function naming convention, for all callbacks and entry points will have 's2io_' prefix and helper functions will have 'do_s2io_' prefix. Signed-off-by: Sreenivasa Honnur Signed-off-by: Jeff Garzik commit 8a4bdbaa93c2df4cfac2174ba536cd586014787d Author: Sivakumar Subramani Date: Tue Sep 18 18:14:20 2007 -0400 S2io: Removed unused feature - bimodal interrupts Removed bimodal interrupt support - unused feature Signed-off-by: Sivakumar Subramani Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik [also, trim trailing whitespace] commit bd684e43d6290d40876230a68a0a6481dc24950a Author: Sivakumar Subramani Date: Fri Sep 14 07:28:50 2007 -0400 S2io: Change kmalloc+memset to k[zc]alloc - Changed kmalloc+memset to k[zc]alloc as per Mariusz's patch Signed-off-by: Sivakumar Subramani Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit b9f2c0440d806e01968c3ed4def930a43be248ad Author: Jeff Garzik Date: Wed Oct 3 18:07:32 2007 -0700 [netdrvr] Stop using legacy hooks ->self_test_count, ->get_stats_count These have been superceded by the new ->get_sset_count() hook. Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 753f492093da7a40141bfe083073400f518f4c68 Author: Michael Buesch Date: Wed Sep 19 14:20:30 2007 -0700 [B44]: port to native ssb support Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit eff1a59c48e3c6a006eb4fe5f2e405a996f2259d Author: Michael Wu Date: Tue Sep 25 18:11:01 2007 -0700 [P54]: add mac80211-based driver for prism54 softmac hardware Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 0795af5729b18218767fab27c44b1384f72dc9ad Author: Joe Perches Date: Wed Oct 3 17:59:30 2007 -0700 [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() This is nicer than the MAC_FMT stuff. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 95ea36275f3c9a1d3d04c217b4b576c657c4e70e Author: Ivo van Doorn Date: Tue Sep 25 17:57:13 2007 -0700 [RT2x00]: add driver for Ralink wireless hardware Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b481de9ca074528fe8c429604e2777db8b89806a Author: Zhu Yi Date: Tue Sep 25 17:54:57 2007 -0700 [IWLWIFI]: add iwlwifi wireless drivers This patch adds the mac80211 based wireless drivers for the Intel PRO/Wireless 3945ABG/BG Network Connection and Intel Wireless WiFi Link AGN (4965) adapters. [ Move driver into it's own directory -DaveM ] Signed-off-by: Zhu Yi Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 75388acd0cd827dc1498043daa7d1c760902cd67 Author: Larry Finger Date: Tue Sep 25 16:46:54 2007 -0700 [B43LEGACY]: add mac80211-based driver for legacy BCM43xx devices Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e4d6b7951812d98417feb10784e400e253caf633 Author: Michael Buesch Date: Tue Sep 18 15:39:42 2007 -0400 [B43]: add mac80211-based driver for modern BCM43xx devices Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 61e115a56d1aafd6e6a8a9fee8ac099a6128ac7b Author: Michael Buesch Date: Tue Sep 18 15:12:50 2007 -0400 [SSB]: add Sonics Silicon Backplane bus support SSB is an SoC bus used in a number of embedded devices. The most well-known of these devices is probably the Linksys WRT54G, but there are others as well. The bus is also used internally on the BCM43xx and BCM44xx devices from Broadcom. This patch also includes support for SSB ID tables in modules, so that SSB drivers can be loaded automatically. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 5ee3afba88f5a79d0bff07ddd87af45919259f91 Author: Rick Jones Date: Tue Sep 18 13:26:31 2007 -0700 [TCP]: Return useful listenq info in tcp_info and INET_DIAG_INFO. Return some useful information such as the maximum listen backlog and the current listen backlog in the tcp_info structure and INET_DIAG_INFO. Signed-off-by: Rick Jones Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 768f3591e2b1cc309fd6f10d6579b216026d7817 Author: Pavel Emelyanov Date: Tue Sep 18 13:20:41 2007 -0700 [NETNS]: Cleanup list walking in setup_net and cleanup_net I proposed introducing a list_for_each_entry_continue_reverse macro to be used in setup_net() when unrolling the failed ->init callback. Here is the macro and some more cleanup in the setup_net() itself to remove one variable from the stack :) The same thing is for the cleanup_net() - the existing list_for_each_entry_reverse() is used. Minor, but the code looks nicer. Signed-off-by: Pavel Emelyanov Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit 1a348ccc1047a00507e554826775a3d81f7f3437 Author: Andy Gospodarek Date: Mon Sep 17 18:50:36 2007 -0700 [NET]: Add Tehuti network driver. [ Ported to napi_struct changes... -DaveM ] Signed-off-by: David S. Miller commit 1202d6ff356cc66dc8d2b85546eb4f187f9e1f25 Author: Francois Romieu Date: Mon Sep 17 17:13:55 2007 -0700 [IPG]: add IP1000A driver to kernel tree Signed-off-by: Jesse Huang Signed-off-by: Stefan Lippers-Hollmann Signed-off-by: Francois Romieu Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6b2f9cb64db2d2460da17900bf54266030cc24f1 Author: Vlad Yasevich Date: Sun Sep 16 19:35:39 2007 -0700 [SCTP]: Tie ADD-IP and AUTH functionality as required by spec. ADD-IP spec requires AUTH. It is, in fact, dangerous without AUTH. So, disable ADD-IP functionality if the peer claims to support ADD-IP, but not AUTH. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 65b07e5d0d09c77e98050b5f0146ead29e5add32 Author: Vlad Yasevich Date: Sun Sep 16 19:34:00 2007 -0700 [SCTP]: API updates to suport SCTP-AUTH extensions. Add SCTP-AUTH API. The API implemented here was agreed to between implementors at the 9th SCTP Interop. It will be documented in the next revision of the SCTP socket API spec. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit bbd0d59809f923ea2b540cbd781b32110e249f6e Author: Vlad Yasevich Date: Wed Oct 3 17:51:34 2007 -0700 [SCTP]: Implement the receive and verification of AUTH chunk This patch implements the receive path needed to process authenticated chunks. Add ability to process the AUTH chunk and handle edge cases for authenticated COOKIE-ECHO as well. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 4cd57c8078fae0a4b1bf421191e94626d0cba92a Author: Vlad Yasevich Date: Sun Sep 16 19:32:45 2007 -0700 [SCTP]: Enable the sending of the AUTH chunk. SCTP-AUTH, Section 6.2: Endpoints MUST send all requested chunks authenticated where this has been requested by the peer. The other chunks MAY be sent authenticated or not. If endpoint pair shared keys are used, one of them MUST be selected for authentication. To send chunks in an authenticated way, the sender MUST include these chunks after an AUTH chunk. This means that a sender MUST bundle chunks in order to authenticate them. If the endpoint has no endpoint pair shared key for the peer, it MUST use Shared Key Identifier 0 with an empty endpoint pair shared key. If there are multiple endpoint shared keys the sender selects one and uses the corresponding Shared Key Identifier Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 730fc3d05cd4ba4c9ce2de91f3d43349e95dbbf5 Author: Vlad Yasevich Date: Sun Sep 16 19:32:11 2007 -0700 [SCTP]: Implete SCTP-AUTH parameter processing Implement processing for the CHUNKS, RANDOM, and HMAC parameters and deal with how this parameters are effected by association restarts. In particular, during unexpeted INIT processing, we need to reply with parameters from the original INIT chunk. Also, after restart, we need to update the old association with new peer parameters and change the association shared keys. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit a29a5bd4f5c3e8ba2e89688feab8b01c44f1654f Author: Vlad Yasevich Date: Sun Sep 16 19:31:35 2007 -0700 [SCTP]: Implement SCTP-AUTH initializations. The patch initializes AUTH related members of the generic SCTP structures and provides a way to enable/disable auth extension. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 1f485649f52929d9937b346a920a522a7363e202 Author: Vlad Yasevich Date: Tue Oct 9 01:15:59 2007 -0700 [SCTP]: Implement SCTP-AUTH internals This patch implements the internals operations of the AUTH, such as key computation and storage. It also adds necessary variables to the SCTP data structures. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit f7b0e93ba1a484700bd1b0e36bdaddaf4eb51b0b Author: Vlad Yasevich Date: Sun Sep 16 19:26:06 2007 -0700 [SCTP]: protocol definitions for SCTP-AUTH implementation Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 96793b482540f3a26e2188eaf75cb56b7829d3e3 Author: David L Stevens Date: Mon Sep 17 09:57:33 2007 -0700 [IPV4]: Add ICMPMsgStats MIB (RFC 4293) Background: RFC 4293 deprecates existing individual, named ICMP type counters to be replaced with the ICMPMsgStatsTable. This table includes entries for both IPv4 and IPv6, and requires counting of all ICMP types, whether or not the machine implements the type. These patches "remove" (but not really) the existing counters, and replace them with the ICMPMsgStats tables for v4 and v6. It includes the named counters in the /proc places they were, but gets the values for them from the new tables. It also counts packets generated from raw socket output (e.g., OutEchoes, MLD queries, RA's from radvd, etc). Changes: 1) create icmpmsg_statistics mib 2) create icmpv6msg_statistics mib 3) modify existing counters to use these 4) modify /proc/net/snmp to add "IcmpMsg" with all ICMP types listed by number for easy SNMP parsing 5) modify /proc/net/snmp printing for "Icmp" to get the named data from new counters. Signed-off-by: David L Stevens Signed-off-by: David S. Miller commit 14878f75abd5bf1d38becb405801cd491ee215dc Author: David L Stevens Date: Sun Sep 16 16:52:35 2007 -0700 [IPV6]: Add ICMPMsgStats MIB (RFC 4293) [rev 2] Background: RFC 4293 deprecates existing individual, named ICMP type counters to be replaced with the ICMPMsgStatsTable. This table includes entries for both IPv4 and IPv6, and requires counting of all ICMP types, whether or not the machine implements the type. These patches "remove" (but not really) the existing counters, and replace them with the ICMPMsgStats tables for v4 and v6. It includes the named counters in the /proc places they were, but gets the values for them from the new tables. It also counts packets generated from raw socket output (e.g., OutEchoes, MLD queries, RA's from radvd, etc). Changes: 1) create icmpmsg_statistics mib 2) create icmpv6msg_statistics mib 3) modify existing counters to use these 4) modify /proc/net/snmp to add "IcmpMsg" with all ICMP types listed by number for easy SNMP parsing 5) modify /proc/net/snmp printing for "Icmp" to get the named data from new counters. [new to 2nd revision] 6) support per-interface ICMP stats 7) use common macro for per-device stat macros Signed-off-by: David L Stevens Signed-off-by: David S. Miller commit 8b14a536701b50559a0d69d5d593323f550db4e9 Author: Denis Cheng Date: Sun Sep 16 16:41:29 2007 -0700 [NET]: all net/ cleanup with ARRAY_SIZE Signed-off-by: Denis Cheng commit c40f6fff401f693f627d3d44ef7663b993943517 Author: Denis Cheng Date: Sun Sep 16 16:39:25 2007 -0700 [IPV4] af_inet.c: use ARRAY_SIZE macro from kernel.h instead Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 26ff5ddc5ab11e37ab3db469f24324e0ef1d6f63 Author: Denis Cheng Date: Sun Sep 16 16:36:02 2007 -0700 [NETLINK]: the temp variable name max is ambiguous with the macro max provided by , so changed its name to a more proper one: limit Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 99406c885ab27c369fa4a1b15c4a5a5ad0d61fcd Author: Denis Cheng Date: Sun Sep 16 16:34:39 2007 -0700 [NETLINK]: use the macro min(x,y) provided by instead Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 52886051ffdc087a4f7f11540395fd64040101ad Author: Herbert Xu Date: Sun Sep 16 16:32:11 2007 -0700 [SKBUFF]: Fix up csum_start when head room changes Thanks for noticing the bug where csum_start is not updated when the head room changes. This patch fixes that. It also moves the csum/ip_summed copying into copy_skb_header so that skb_copy_expand gets it too. I've checked its callers and no one should be upset by this. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0cfad07555312468296ea3bbbcdf99038f58678b Author: Herbert Xu Date: Sun Sep 16 16:24:44 2007 -0700 [NETLINK]: Avoid pointer in netlink_run_queue I was looking at Patrick's fix to inet_diag and it occured to me that we're using a pointer argument to return values unnecessarily in netlink_run_queue. Changing it to return the value will allow the compiler to generate better code since the value won't have to be memory-backed. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 007e3936bdaaa012483c9fe06ca71c272458c710 Author: Vlad Yasevich Date: Sun Sep 16 16:04:37 2007 -0700 [SCTP]: Move sysctl_sctp_[rw]mem definitions to protocol.c The sctp_[rw]mem definitions should really be in protocol.c since that is where they are initialized. This also allows one to build a kernel without sysctl support. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 131a47e31ab1a9defd50ff16b04008ab94c21c0d Author: Vlad Yasevich Date: Sun Sep 16 15:53:56 2007 -0700 [SCTP]: Implement the Supported Extensions Parameter SCTP Supported Extenions parameter is specified in Section 4.2.7 of the ADD-IP draft (soon to be RFC). The parameter is encoded as: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Parameter Type = 0x8008 | Parameter Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHUNK TYPE 1 | CHUNK TYPE 2 | CHUNK TYPE 3 | CHUNK TYPE 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHUNK TYPE N | PAD | PAD | PAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ It contains a list of chunks that a particular SCTP extension uses. Current extensions supported are Partial Reliability (FWD-TSN) and ADD-IP (ASCONF and ASCONF-ACK). When implementing new extensions (AUTH, PKT-DROP, etc..), new chunks need to be added to this parameter. Parameter processing would be modified to negotiate support for these new features. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 76c72d4f44ec5fb7f88eda8a0d3aa30922c891d1 Author: Denis V. Lunev Date: Sun Sep 16 15:44:27 2007 -0700 [IPV4/IPV6/DECNET]: Small cleanup for fib rules. This patch slightly cleanups FIB rules framework. rules_list as a pointer on struct fib_rules_ops is useless. It is always assigned with a static per/subsystem list in IPv4, IPv6 and DecNet. Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit 056925ab3145713e5e83cf8e05ae6fb2f4ace41e Author: Pavel Emelyanov Date: Sun Sep 16 15:42:43 2007 -0700 [NET]: Cleanup calling netdev notifiers. The call_netdev_notifiers routine can successfully be used in the net/core_dev.c itself. This will save 6 lines of code and 62 ;) bytes of .text section. 62 is rather small, but I have one more patch saving ~30 bytes from netns code (sent to Eric), so altogether they can save some more noticeable amount. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 30d97d35851f40fd1c108d1b8904aca3c38d0126 Author: Pavel Emelyanov Date: Sun Sep 16 15:40:33 2007 -0700 [NETNS]: Consolidate hashes creation in netdev_init() The dev_name_hash and the dev_index_hash are now booth kmalloc-ed (and each element is properly initialized as usually) so I think it's worth consolidating this code making it look nicer (and saving 28 bytes of .text section ;) ) Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit ad7379d49458a863c520a73a3c36441c572f850e Author: Eric W. Biederman Date: Sun Sep 16 15:33:32 2007 -0700 [NET]: Fix the prototype of call_netdevice_notifiers. This replaces the void * parameter with a struct net_device * which is what is actually required. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 22dd74950172dc8979576e2bef3b439f20ef0b05 Author: Jamal Hadi Salim Date: Sun Sep 16 14:40:49 2007 -0700 [NET]: migrate HARD_TX_LOCK to header file HARD_TX_LOCK micro is a nice aggregation that could be used in other spots. move it to netdevice.h Also makes sure the previously superflous cpu arguement is used. Thanks to DaveM for the suggestions. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 4885a50476b95fa0f4caad179a80783508c2fe86 Author: Ed Swierk Date: Sun Sep 16 12:21:38 2007 -0700 [TAP]: Configurable interface MTU. Signed-off-by: David S. Miller commit 0b69d4bd263c75b3e2ec94f1c72f338b84be817e Author: Milan Kocian Date: Sat Sep 15 21:48:27 2007 -0700 [IPV6]: Remove redundant RTM_DELLINK message. Remove useless message. We get the right message from another subsystem. Signed-off-by: Milan Kocian Signed-off-by: David S. Miller commit 63d804eade298208037045ab6728c933f2b6c27d Author: Paul Moore Date: Sat Sep 15 21:45:13 2007 -0700 [CIPSO]: remove duplicated code in the cipso_v4_*_getattr() functions The bulk of the CIPSO option parsing/processing in the cipso_v4_sock_getattr() and cipso_v4_skb_getattr() functions are identical, the only real difference being where the functions obtain the CIPSO option itself. This patch creates a new function, cipso_v4_getattr(), which contains the common CIPSO option parsing/processing code and modifies the existing functions to call this new helper function. Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit 88d3aafdae5c5e1d2dd9489a5c8a24e29d335f2e Author: Jeff Garzik Date: Sat Sep 15 14:41:06 2007 -0700 [ETHTOOL] Provide default behaviors for a few ethtool sub-ioctls For the operations get-tx-csum get-sg get-tso get-ufo the default ethtool_op_xxx behavior is fine for all drivers, so we permit op==NULL to imply the default behavior. This provides a more uniform behavior across all drivers, eliminating ethtool(8) "ioctl not supported" errors on older drivers that had not been updated for the latest sub-ioctls. The ethtool_op_xxx() functions are left exported, in case anyone wishes to call them directly from a driver-private implementation -- a not-uncommon case. Should an ethtool_op_xxx() helper remain unused for a while, except by net/core/ethtool.c, we can un-export it at a later date. [ Resolved conflicts with set/get value ethtool patch... -DaveM ] Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 09f75cd7bf13720738e6a196cc0107ce9a5bd5a0 Author: Jeff Garzik Date: Wed Oct 3 17:41:50 2007 -0700 [NET] drivers/net: statistics cleanup #1 -- save memory and shrink code We now have struct net_device_stats embedded in struct net_device, and the default ->get_stats() hook does the obvious thing for us. Run through drivers/net/* and remove the driver-local storage of statistics, and driver-local ->get_stats() hook where applicable. This was just the low-hanging fruit in drivers/net; plenty more drivers remain to be updated. [ Resolved conflicts with napi_struct changes and fix sunqe build regression... -DaveM ] Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit ff8ac60948ba819b89e9c87083e8050fc2f89999 Author: Denis Cheng Date: Sun Sep 2 18:30:18 2007 +0800 drivers/net/: all drivers/net/ cleanup with ARRAY_SIZE Signed-off-by: Denis Cheng Signed-off-by: Jeff Garzik commit 10d024c1b2fd58af8362670d7d6e5ae52fc33353 Author: Ralf Baechle Date: Mon Sep 17 13:11:17 2007 -0700 [NET]: Nuke SET_MODULE_OWNER macro. It's been a useless no-op for long enough in 2.6 so I figured it's time to remove it. The number of people that could object because they're maintaining unified 2.4 and 2.6 drivers is probably rather small. [ Handled drivers added by netdev tree and some missed IRDA cases... -DaveM ] Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 596c5c97431eab8465739c169401ea611127b9ad Author: Sivakumar Subramani Date: Sat Sep 15 14:24:03 2007 -0700 S2io: code Optimization of isr function - Code Optimization of s2io_isr function. - Isr check using per device napi variable instead of driver global. - Reduced from 3 to 1 if condition before check for processing packet receive packets. - Implemented Jeff's comment to use synchronize_irq. Removed the isr_cnt variable as it became redundant. - One time de assert the interrupts by writing all F's to the general_int_mask register instead of de asserting by clearing the source of interrupts with multiple writes which causes loss of interrupts (race conditions). It is entirely possible that before the driver has a chance to mask the asserted alarm bit, another alarm/traffic interrupt bit gets asserted as well. In this case Herc will keep the INTA line asserted and the bridge will not send a new Assert_INTA message upstream. [ Resolved conflicts due to napi_struct changes... -DaveM ] Signed-off-by: Sivakumar Subramani Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 92b84437a6cddf5dc00ab179e38d2baa2264d46a Author: Sivakumar Subramani Date: Thu Sep 6 06:51:14 2007 -0400 S2io: Check for device state before handling traffic - Added check to return from the traffic handling function, if the card status is DOWN. - Implemented Jeff's comments on incorrect return value in s2io_poll function. Signed-off-by: Sivakumar Subramani Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit eaae7f72304f2cd095e68ab39629c0f32815dcf2 Author: Sivakumar Subramani Date: Sat Sep 15 14:14:22 2007 -0700 S2io: Cleanup - removed unused variable intr_type - Removed the unused variable, intr_type, in device private structure. [ Resolve conflicts with napi_struct changes... -DaveM ] Signed-off-by: Sivakumar Subramani Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 8116f3cf4a2a5a4fa2335e6f32023ac50506698f Author: Sivakumar Subramani Date: Mon Sep 17 13:05:35 2007 -0700 [S2IO]: Handle and monitor all of the device errors and alarms - Added support to poll entire set of device errors and alarams. - A note on how device errors and alarms are handled: - The adapter will automatically recover from uncorrectable ECC errors. Packets containing corrupted data will be dropped (not transmitted) or tagged as invalid before being passed to the host. - The adapter cannot recover from any internal state machine errors. A state machine error requires a device reset. - Any internal error that could potentially result in .store trampling. (undesirable PCI behaviour)is tagged as a "serious error". In such cases the adapter will give up its ability to be a bus master. In this situation the host will still be able to read internal device registers in order to generate an error report. A device reset is necessary to return to normal operation. - In the event of a pcix data parity error, the adapter will automatically disable itself. Adapter_En will automatically transition from '1' to '0' and the adapter will enter its clean-up routine. Once the device has achieved quiescence, an adapter reset should be performed. - Replaced alarm_intr_handler() with s2io_handle_errors(). - Added statistic counters to monitor the alarms. [ Fix warnings wrt. do_s2io_chk_alarm_bit(), Callers pass in an "unsigned long long *" but the function takes a "u64 *" which is different on many 64-bit platforms. -DaveM ] Signed-off-by: Sivakumar Subramani Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 9caab4587b8320c54fc666a6c820e966e6403aea Author: Sivakumar Subramani Date: Thu Sep 6 06:21:54 2007 -0400 S2io: Enable all the error and alarm indications - Added support to unmask entire set of device errors and alarams. Alarm interrupts are generated for a myriad of purposes, ranging from illegal operations or requests to internal state machine errors and uncorrectable data corruption errors. In several cases the adapter can recover gracefully from unexpected events; however, in some cases, a device reset may be necessary. This patch handles alarms generated by all the blocks within the device. The adapter generates the following types of alarms: 1. Link state transitions (local/remote fault) or other link-related problems. 2. Problems with any device peripherals, including the EEPROM, FLASH, etc. 3. Correctable ECC errors (single-bit errors) on internal data structures or frame data. 4. Uncorrectable ECC errors (multi-bit errors) on internal data structures or frame data. 5. State machine errors, which indicate that internal control structures have become corrupted. 6. PCI related errors, including parity errors or illegal transactions. 7. Other unexpected events. - Implemented Jeff's review comments to use do_s2io_write_bits function to avoid duplicate codes. Signed-off-by: Sivakumar Subramani Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit ed9f0e0bf3ceb44334ca9b70779a50b2e79b7f97 Author: Thomas Bogendoerfer Date: Sat Sep 8 21:46:49 2007 +0200 remove setup of platform device from jazzsonic.c remove setup platform device from jazzsonic, which is done in arch code now Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit 99cd149efe824cf27c5d34506002a0fbfa831c0f Author: Ralf Baechle Date: Tue Sep 4 14:41:01 2007 +0100 sgiseeq: replace use of dma_cache_wback_inv The sgiseeq driver is one of the few remaining users of the ancient cache banging DMA API. Replaced with the modern days DMA API. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit dc67369573eee33a4b1220d416cb7dd3501dccbc Author: Divy Le Ray Date: Wed Sep 5 15:58:41 2007 -0700 cxgb3 - Update engine microcode version The new microcode engine version is set to 1.1.0 Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 1aafee265723818d903766212015b6116885bc6f Author: Divy Le Ray Date: Wed Sep 5 15:58:36 2007 -0700 cxgb3 - Add T3C rev add driver recognition for T3C rev board. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit bb9366af7b4addb27156585baccadc4b6d30f223 Author: Divy Le Ray Date: Wed Sep 5 15:58:30 2007 -0700 cxgb3 - CQ context operations time out too soon. Currently, the driver only tries up to 5 times (5us) to get the results of a CQ context operation. Testing has shown the chip can take as much as 50us to return the response on SG_CONTEXT_CMD operations. So we up the retry count to 100 to cover high loads. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 1c17ae8af93bed203d9760702882e9f747a51912 Author: Divy Le Ray Date: Wed Sep 5 15:58:25 2007 -0700 cxgb3 - Set the CQ_ERR bit in CQ contexts. The cxgb3 driver is incorrectly configuring the HW CQ context for CQ's that use overflow-avoidance. Namely the RDMA control CQ. This results in a bad DMA from the device to bus address 0. The solution is to set the CQ_ERR bit in the context for these types of CQs. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit b4687ff753c2c5c330989efed7cdf1a6bc6b512e Author: Divy Le Ray Date: Wed Sep 5 15:58:20 2007 -0700 cxgb3 - remove false positive in xgmac workaround Qualify toggling of xgmac tx enable with not getting pause frames, we might not make forward progress because the peer is sending lots of pause frames. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 3eea3337a08a2ed2addac1551a9d446f2c16acd5 Author: Divy Le Ray Date: Wed Sep 5 15:58:15 2007 -0700 cxgb3 - log and clear PEX errors Clear pciE PEX errors late at module load time. Log details when PEX errors occur. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit a5a3b4601bfa3c7671944067d4e4b04bf647e6d9 Author: Divy Le Ray Date: Wed Sep 5 15:58:09 2007 -0700 cxgb3 - Firmware update Update firmware version. Allow the driver to be up and running with older FW image Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 34c6417b7087a4818e7dca2e5d66c3361cee80a1 Author: Stephen Hemminger Date: Thu Sep 6 11:51:37 2007 -0700 e100: timer power saving Since E100 timer is 2HZ, use rounding to make timer occur on the correct boundary. Signed-off-by: Stephen Hemminger Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 9a799d71034c4e2b168740c8a8530591011313d5 Author: Auke Kok Date: Sat Sep 15 14:07:45 2007 -0700 ixgbe: driver for Intel(R) 82598 PCI-Express 10GbE adapters (v4) This patch adds support for the Intel 82598 PCI-Express 10GbE chipset. Devices will be available on the market soon. This version of the driver is largely the same as the last release: * Driver uses a single RX and single TX queue, each using 1 MSI-X irq vector. * Driver runs in NAPI mode only * Driver is largely multiqueue-ready (TM) Changes since 20070803: * removed wrappers for hardware functions * incorporated e1000e-style HW api reorganization code * sparse/checkpatch cleanups, namespace cleanups * driver prints out extra debugging information at load time identifying adapter board number, mac, phy types * removed ixgbe_api.c, ixgbe_api.h, ixgbe_osdep.h * driver update to 1.1.18 * removed ixgbe.txt which contained no useful info anymore [ Integrated napi_struct changes from Auke as well... -DaveM ] Signed-off-by: Auke Kok Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit dc029ad97f267cbd1c2e978a443eb5ae93a55328 Author: Masakazu Mokuno Date: Fri Aug 31 22:25:09 2007 +0900 PS3: Remove the workaround no longer needed Removed the workaround that was needed for PS3 firmware versions prior to the first release. Signed-off-by: Masakazu Mokuno CC: Geoff Levand Signed-off-by: Jeff Garzik commit 173261ed37e7a98cedfcc808eb07eeceee66e078 Author: Masakazu Mokuno Date: Fri Aug 31 22:22:32 2007 +0900 PS3: changed the way to handle tx skbs The PS3 virtual network device requires a vlan tag in the sending packet to select the destination device, ethernet port or wireless. As the vlan tag field is in the middle of the passed data, we should insert it into the packet data. To avoid copying much of the packet data, the driver used two tx descriptors for one tx skb; one descriptor was for sending a small static buffer which contained vlan tag and copied header (two mac addresses), one was for the residual data after the vlan field. This patch changes the way to insert the vlan tag. By changing netdev->hard_header_len, we can make the headroom for moving mac address fields in the skb buffer. Then we can send one tx skb with one tx descriptor. This also gives us a tx throughut gain of approx. 20% according to netperf results. Signed-off-by: Masakazu Mokuno CC: Geoff Levand Signed-off-by: Jeff Garzik commit 829185e97fba67ededd3eb025147bafcc0ca7557 Author: Olof Johansson Date: Sat Sep 15 13:53:19 2007 -0700 pasemi_mac: Clean TX ring in poll Unfortunately there's no timeout for how long a packet can sit on the TX ring after completion before an interrupt is generated, and we want to have a threshold that's larger than one packet per interrupt. So we have to have a timer that occasionally cleans the TX ring even though there hasn't been an interrupt. Instead of setting up a dedicated timer for this, just clean it in the NAPI poll routine instead. [ Resolved conflicts with napi_struct changes... -DaveM ] Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 6fba848a9a4bbe03f61b22bf0e4063d7ed4c561a Author: Olof Johansson Date: Sat Sep 15 13:51:11 2007 -0700 pasemi_mac: Enable LLTX Enable LLTX on pasemi_mac: we're already doing sufficient locking in the driver to enable it. [ Resolved merge conflicts with napi_struct changes... -DaveM ] Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 38bf3184e8c4b8cd4285a24b6f69a300b32f0062 Author: Olof Johansson Date: Wed Aug 22 09:13:24 2007 -0500 pasemi_mac: Fix RX checksum flags RX side flag to use is CHECKSUM_UNNECESSARY, not CHECKSUM_COMPLETE. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 021fa22e01d3d0425d3d15df48f523b69a3a11c4 Author: Olof Johansson Date: Wed Aug 22 09:13:11 2007 -0500 pasemi_mac: Fix TX ring wrap checking The old logic didn't detect full (tx) ring cases properly, causing overruns and general badness. Clean it up a bit and abstract out the ring size checks, always making sure to leave 1 slot open. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 02df6cfa09c2ccebe685bfd54a708e1f50b00a81 Author: Olof Johansson Date: Wed Aug 22 09:13:03 2007 -0500 pasemi_mac: Batch up TX buffer frees Postpone pci unmap and skb free of the transmitted buffers to outside of the tx ring lock, batching them up 32 at a time. Also increase the count threshold to 128. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 26fcfa95aef980cab4ff1ea55979c30e772dd0dd Author: Olof Johansson Date: Wed Aug 22 09:12:59 2007 -0500 pasemi_mac: RX performance tweaks Various RX performance tweaks, do some explicit prefetching of packet data, etc. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 73344863e426a3c56c7f3ac80fc6f1d4cb10460b Author: Olof Johansson Date: Wed Aug 22 09:12:55 2007 -0500 pasemi_mac: Fix memcpy amount for short receives Fix up memcpy for short receives. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit c0efd52b8b1951c20878208fdcbab0468f816804 Author: Olof Johansson Date: Wed Aug 22 09:12:52 2007 -0500 pasemi_mac: Enable L2 caching of packet headers Enable settings to target l2 for the first few cachelines of the packet, since we'll access them to get to the various headers. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit b6e05a1b67a4b2e122d78a3f0b7ec7c779bd903c Author: Olof Johansson Date: Sat Sep 15 13:44:07 2007 -0700 pasemi_mac: Stop using the pci config space accessors for register read/writes Move away from using the pci config access functions for simple register access. Our device has all of the registers in the config space (hey, from the hardware point of view it looks reasonable :-), so we need to somehow get to it. Newer firmwares have it in the device tree such that we can just get it and ioremap it there (in case it ever moves in future products). For now, provide a hardcoded fallback for older firmwares. [ Resolved napi_struct conflicts... -DaveM ] Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit a85b94222d8b95e184941183f28b06b637cc4dee Author: Olof Johansson Date: Sat Sep 15 13:40:59 2007 -0700 pasemi_mac: Abstract out register access Abstract out the PCI config read/write accesses into reg read/write ones, still calling the pci accessors on the back end. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit ced13330bb687780ce1d46f5404521cc0ea40481 Author: Olaf Hering Date: Sat Aug 25 20:32:59 2007 +0200 bmac: add simple ethtool support for network manager NetworkManager will not start dhcpd on an interface unless it reports link-up state via ethtool. Signed-off-by: Olaf Hering Signed-off-by: Jeff Garzik commit 167f53d05fccb47b6eeadac7f6705b3f2f042d03 Author: Stephen Hemminger Date: Tue Sep 25 19:01:02 2007 -0700 sky2: use pci_config access functions Use the PCI layer config access functions. The driver was using the memory mapped window in device, to workaround issues accessing the advanced error reporting registers. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 555382cbfc6d2187b53888190755e56f52308cd6 Author: Stephen Hemminger Date: Wed Aug 29 12:58:14 2007 -0700 sky2: advanced error reporting Use the kernel interfaces for advanced error reporting. This should be cleaner and clear up errors on boot. For those systems with busted BIOS's that don't correctly support mmconfig, advanced error reporting will be disabled. The PCI registers for advanced error reporting start at 0x100 which is too large to be accessed by legacy functions. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8c4c00f3710f9e5653ed465e88271664f3163930 Author: Stephen Hemminger Date: Wed Aug 29 12:58:13 2007 -0700 sky2: dont restrict config space access Take out the code that protects driver from accessing the PCI config space. We are old enough to run with scissors now. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit efcf6e2febbfe5b2ab497421e2f7f188e1741cf9 Author: Stephen Hemminger Date: Wed Aug 29 12:58:12 2007 -0700 sky2: document GPHY_CTRL bits Add documentation of GPHY_CTRL register bits even if driver is not using them (yet). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5b296bc9e1e5570ce60262e62af066f70180cb99 Author: Stephen Hemminger Date: Wed Aug 29 12:58:11 2007 -0700 sky2: use debugfs rename Use debugfs rename to handle device neame changes. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3f61e4278c8489c1d026a45b0903cd4230d1ec07 Author: Divy Le Ray Date: Tue Aug 21 20:49:41 2007 -0700 cxgb3 - Update internal memory management Set PM1 internal memory to round robin mode It balances access to this internal memory for multiport adapters. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 167cdf5fbc64ab8f4eae2cd6d9d0892478d569d7 Author: Divy Le Ray Date: Tue Aug 21 20:49:36 2007 -0700 cxgb3 - log adapter serial number Log HW serial number when cxgb3 module is loaded. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit c64c2eaeaaf04f9c8a303508f804ba256435d79f Author: Divy Le Ray Date: Tue Aug 21 20:49:31 2007 -0700 cxgb3 - Fatal error update Stop the MAC when a fatal error is detected. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit c9a6ce500d78932c43361eae28c3de81b3660c77 Author: Divy Le Ray Date: Tue Aug 21 20:49:26 2007 -0700 cxgb3 - tighten checks on TID values Enforce validity checks on connection ids Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit e22bb45d772b5e5c850a6223c2a3245f520de641 Author: Divy Le Ray Date: Tue Aug 21 20:49:21 2007 -0700 cxgb3 - Expose HW memory page info A HW issue requires limiting the receive window size to 23 pages of internal memory. These pages can be configured to different sizes, thus the RDMA driver needs to know the page size to enforce the upper limit. Also assign explicit enum values. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 27186dc325c3bbb937a27a2467cefd64e2505158 Author: Divy Le Ray Date: Tue Aug 21 20:49:15 2007 -0700 cxgb3 - use immediate data for offload Tx Send small TX_DATA work requests as immediate data even when there are fragments. this avoids doing multiple DMAs for small fragmented packets. The driver already implements this optimization for small contiguous packets. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 6e3f03b72c1e11e19ea233a411a782f7231ba13f Author: Divy Le Ray Date: Tue Aug 21 20:49:10 2007 -0700 cxgb3 - SGE doorbell overflow warning Log doorbell Fifo overflow Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 52b810d3055f0a49472d05500c6fea5aeabd01a6 Author: Divy Le Ray Date: Tue Aug 21 20:49:05 2007 -0700 cxgb3 - Update rx coalescing length Reduce Rx coalescing length to 12288 Large bursts from the adapter to the host create back pressure on the chip. Reducing the burst size avoids the issue. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit c8303d10daeacb5dd7714d99f03e15cc6b91a71e Author: Mark Hindley Date: Thu Aug 16 11:28:40 2007 +0100 3c59x: check return of pci_enable_device() Check return of pci_enable_device in vortex_up(). Also modify vortex_up to return error to callers. Handle failure of vortex_up in vortex_open and vortex_resume. Signed-off-by: Mark Hindley Signed-off-by: Jeff Garzik commit 79ef4a4dd44cd4f9942975b0f625bd01549a2aa9 Author: Brian King Date: Fri Aug 17 09:16:56 2007 -0500 ibmveth: Remove use of bitfields Removes the use of bitfields from the ibmveth driver. This results in slightly smaller object code. Signed-off-by: Brian King Signed-off-by: Jeff Garzik commit 3449a2ab31681420515e242920e755262b4f41e9 Author: Brian King Date: Fri Aug 17 09:16:49 2007 -0500 ibmveth: Remove dead frag processing code Removes dead frag processing code from ibmveth. Since NETIF_F_SG was not set, this code was never executed. Also, since the ibmveth interface can only handle 6 fragments, core networking code would need to be modified in order to efficiently enable this support. Signed-off-by: Brian King Signed-off-by: Jeff Garzik commit ddbb4de9672097da2c0f19c6ebca0ebb5672e9b8 Author: Brian King Date: Fri Aug 17 09:16:43 2007 -0500 ibmveth: Add ethtool driver stats hooks Add ethtool hooks to ibmveth to retrieve driver statistics. Signed-off-by: Brian King Signed-off-by: Jeff Garzik commit 80e536770c2fcb8d2b7be9f5a36b85c36fd5943a Author: Brian King Date: Fri Aug 17 09:16:37 2007 -0500 ibmveth: Add ethtool TSO handlers Add handlers for get_tso and get_ufo to prevent errors being printed by ethtool. Signed-off-by: Brian King Signed-off-by: Jeff Garzik commit 5fc7e01cb77132f96e171a37f9f792270b1603f6 Author: Brian King Date: Fri Aug 17 09:16:31 2007 -0500 ibmveth: Implement ethtool hooks to enable/disable checksum offload This patch adds the appropriate ethtool hooks to allow for enabling/disabling of hypervisor assisted checksum offload for TCP. Signed-off-by: Brian King Signed-off-by: Jeff Garzik commit f4ff28720f45354573dcf4e0eb5a2dc5452cb3e1 Author: Brian King Date: Sat Sep 15 13:36:07 2007 -0700 ibmveth: Enable TCP checksum offload This patchset enables TCP checksum offload support for IPV4 on ibmveth. This completely eliminates the generation and checking of the checksum for packets that are completely virtual and never touch a physical network. A simple TCP_STREAM netperf run on a virtual network with maximum mtu set yielded a ~30% increase in throughput. This feature is enabled by default on systems that support it, but can be disabled with a module option. Signed-off-by: Brian King Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit df950828b0ee51ff63c49c67d561bfd3d6096788 Author: Komuro Date: Mon Aug 13 09:45:41 2007 +0900 dl2k: add Sundance/Tamarack TC902x Gigabit Ethernet Adapter support Actually, D-Link modified the VendorID/ProductID of the TC902x. The TC902x is the original chipset. Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit b6aec32a7774a398c4a194ad6b6392528b5a7a5b Author: Rafael J. Wysocki Date: Tue Aug 14 20:09:02 2007 +0200 uli526x: Add suspend and resume routines (updated) Add suspend/resume support to the uli526x network driver (tested on x86_64, with 'Ethernet controller: ALi Corporation M5263 Ethernet Controller, rev 40'). This patch is based on the suspend/resume code in the tg3 driver. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jeff Garzik commit 917270c6ed7a99d4300ce57508246813ea8613b0 Author: Don Fry Date: Sun Aug 26 21:22:32 2007 -0700 pcnet32: add suspend and resume capability Add suspend and resume capability to the driver. Tested both to ram and to disk on x86_64 platform. Signed-off-by: Don Fry Signed-off-by: Jeff Garzik commit a11a6544c0bf6c0871f2379ad0c5ad0210691e73 Author: Oliver Neukum Date: Fri Aug 3 13:52:19 2007 +0200 support for USB autosuspend in the asix driver this implements support for USB autosuspend in the asix USB ethernet driver. Signed-off-by: Oliver Neukum Signed-off-by: Jeff Garzik commit bc7f75fa97884d41efbfde1397b621fefb2550b4 Author: Auke Kok Date: Mon Sep 17 12:30:59 2007 -0700 [E1000E]: New pci-express e1000 driver (currently for ICH9 devices only) This driver implements support for the ICH9 on-board LAN ethernet device. The device is similar to ICH8. The driver encompasses code to support 82571/2/3, es2lan and ICH8 devices as well, but those device IDs are disabled and will be "lifted" from the e1000 driver over one at a time once this driver receives some more live time. Changes to the last snapshot posted are exclusively in the internal hardware API organization. Many thanks to Jeff Garzik for jumping in and getting this organized with a keen eye on the future layout. [ Integrated napi_struct patch from Auke as well... -DaveM ] Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit cbdb9e43d1fc50cfa509b1006e7252dc4ea53aa0 Author: John W. Linville Date: Tue Aug 28 17:35:02 2007 -0400 [PATCH] libertas: remove unused adhoc_rates_b definition Signed-off-by: John W. Linville commit 4ecd41bd0ff5dfcb4f2c59d980f9196c160882be Author: Andrew Morton Date: Tue Aug 21 02:15:45 2007 -0700 [PATCH] libertas: printk warning fixes drivers/net/wireless/libertas/if_cs.c: In function 'if_cs_prog_helper': drivers/net/wireless/libertas/if_cs.c:462: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' drivers/net/wireless/libertas/if_cs.c: In function 'if_cs_prog_real': drivers/net/wireless/libertas/if_cs.c:538: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 655b4d16ac5e551e5c8dac5812156edfd87bf822 Author: Jesper Juhl Date: Fri Aug 24 11:48:16 2007 -0400 [PATCH] net: Kill some unneeded allocation return value casts in libertas kmalloc() and friends return void*, no need to cast it. Signed-off-by: Jesper Juhl Signed-off-by: John W. Linville commit 4b04f19625dcf43171b0b8d53be050a8f144c43d Author: Brajesh Dave Date: Mon Aug 20 13:09:13 2007 -0400 [PATCH] libertas: advertise 11g ad-hoc rates Advertise support for 802.11g bitrates when starting adhoc networks, not just 802.11b bitrates. Signed-off-by: Brajesh Dave Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 70500f5443be1b27ea2c9ab71ce9dc2250af7b19 Author: Marek Vašut Date: Mon Aug 20 12:55:41 2007 -0400 [PATCH] libertas: region code values specified as 8bit This patch strips away possible mess in regioncode (eg. on my card - 88W8305 chipset - I get 0x3031 instead of expected 0x0031 and as a result the driver defaults to USA region which is obviously incorrect). Following patch fixes the issue. Signed-off-by: Marek Vasut Signed-off-by: John W. Linville commit 794760f750655d987499d7a5034519afc84af63b Author: Pierre Ossman Date: Mon Aug 20 12:24:42 2007 -0400 [PATCH] libertas: properly end commands on hardware failure Make sure that errors reported by the hardware layer is properly handled. Otherwise commands tend to get stuck in limbo. Signed-off-by: Pierre Ossman Signed-off-by: John W. Linville commit b6e99dd6e2c5262e3c2b976d1d5f2c9405433d9a Author: Dan Williams Date: Mon Aug 20 12:22:15 2007 -0400 [PATCH] libertas: send reset command directly instead of calling libertas_reset_device Ensures that any platform specific code that might live in libertas_reset_device (for example, OLPC tells the EC to do a GPIO-toggled reset of the wireless from libertas_reset_device) isn't called. Could be handled better by interface-specific callbacks and a flag for "other hardware reset". Signed-off-by: Dan Williams Signed-off-by: Marcelo Tosatti Signed-off-by: John W. Linville commit 64f104e89b2b30107a21c5f05c3e2ffa6291e129 Author: Dan Williams Date: Mon Aug 20 11:45:16 2007 -0400 [PATCH] libertas: don't stomp on interface-specific private data Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 954ee164f4f4598afc172c0ec3865d0352e55a0b Author: Dan Williams Date: Mon Aug 20 11:43:25 2007 -0400 [PATCH] libertas: reorganize and simplify init sequence This patch moves all firmware load responsibility into the interface-specific code and gets rid of the firmware pointer in the generic card structure. It also removes 3 fairly unecessary callbacks: hw_register_dev, hw_unregister_dev, and hw_prog_firmware. It also makes the init sequence from interface probe functions more logical, as there are paired add/remove and start/stop calls into generic libertas code. Because the USB driver code uses the same TX URB callback for both firmware upload (where the generic libertas structure isn't initialized yet) and for normal operation (where it is), some bits of USB code have to deal with 'priv' being NULL. All USB firmware upload bits have been changed to not require 'priv' at all, but simply the USB card structure. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit b1b1907dceadddc7d7317f8ae85a5efec44125d8 Author: Dan Williams Date: Mon Aug 20 11:10:45 2007 -0400 [PATCH] libertas: fix inadvertant removal of bits from commit 831441862956fffa17b9801db37e6ea1650b0f69 Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 7563a0b4b5c28b9695f7136fa0ef0cc4cbe1b0c6 Author: Mariusz Kozlowski Date: Tue Aug 7 00:50:22 2007 +0200 [PATCH] drivers/net/wireless/wl3501_cs.c: remove redundant memset Signed-off-by: Mariusz Kozlowski Signed-off-by: John W. Linville commit 475fed1e22e58508cf50c882db68c7b29842d4d5 Author: Daniel Drake Date: Mon Aug 6 02:25:18 2007 +0100 [PATCH] zd1211rw: Add ID for ZyXEL M-202 XtremeMIMO Tested by Nathen Meyers FCC ID: SI5WUB221Z zd1211b chip 0586:340a v4810 high 00-13-49 AL2230_RF pa0 ----S Despite the product name, I'm pretty sure this isn't a MIMO device. It appears just to be a normal ZD1211B and we have never heard of these devices having more than 1 RF. I guess they named this product this way to make it appear that it fits in with the rest of their XtremeMIMO product range. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 64f222cce2605420470d7a1f678783bdc2754af6 Author: Ulrich Kunitz Date: Mon Aug 6 01:24:31 2007 +0100 [PATCH] zd1211rw: consistent handling of ZD1211 specific rates As pointed out by Daniel Drake, the zd1211rw driver used several different rate values and names throughout the driver. He has written a patch to change it and tweaked it after some pretty wild ideas from my side. But the discussion helped me to understand the problem better and I think I have nailed it down with this patch. A zd-rate will consist from now on of a four-bit "pure" rate value and a modulation type flag as used in the ZD1211 control set used for packet transmission. This is consistent with the usage in the zd_rates table. If possible these zd-rates should be used in the code. Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 8e97afe56984237af2115368ca0a5c525049cbd2 Author: Daniel Drake Date: Mon Aug 6 01:24:19 2007 +0100 [PATCH] zd1211rw: Add ID for Sitecom WL-162 Tested by Giuseppe Lippolis zd1211b chip 0cde:001a v4810 high 00-60-b3 AL2230_RF pa0 g--NS Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit ffe143741f9e0fc3731fe6fe977a2273da4837bd Author: Ulrich Kunitz Date: Mon Aug 6 01:23:54 2007 +0100 [PATCH] zd1211rw: removed noisy debug messages While developing the driver we added a lot of debug messages for setting hardware registers. These messages make the reading of the log files difficult and are of no use anymore. This patch removes those messages in zd_chip.c. Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 5dcddfae63bd26da0f11a8e40f0ae555b5ac624e Author: Jeremy Fitzhardinge Date: Tue Aug 7 14:56:42 2007 -0700 xen-netfront: remove dead code This patch removes some residual dead code left over from removing the "flip" receive mode. This patch doesn't change the generated output at all, since gcc already realized it was dead. This resolves the "regression" reported by Adrian. Signed-off-by: Jeremy Fitzhardinge Cc: Adrian Bunk Cc: Michal Piotrowski Signed-off-by: Jeff Garzik commit df570f93337ddb46f1e30dd167c27b5fdcec637b Author: Richard Knutsson Date: Tue Aug 14 01:49:40 2007 +0200 drivers/net/3c505: Convert to generic boolean Convert to generic boolean Signed-off-by: Richard Knutsson Signed-off-by: Jeff Garzik commit 2d6d749d124d93bd03982467f515b1b88f4c1e44 Author: Richard Knutsson Date: Tue Aug 14 02:07:09 2007 +0200 drivers/net/tokenring: Convert to generic boolean Convert to generic boolean Signed-off-by: Richard Knutsson Signed-off-by: Jeff Garzik commit c821d55c67213e96e6e0feb7418746a25fea6e4d Author: Surya Prabhakar N Date: Mon Aug 13 15:43:30 2007 +0530 drivers/net/tokenring/3c359.c Hi, Replacing kmalloc with kzalloc and cleaning up memset in drivers/net/tokenring/3c359.c Signed-off-by: Surya Prabhakar Signed-off-by: Jeff Garzik commit b1c9e0f7806d1f627f534fd0f83f235087496f7a Author: Divy Le Ray Date: Fri Aug 10 23:29:33 2007 -0700 cxgb3 - MAC workaround update Update the MAC workaround to deal with switches that do not honor pause frames. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit acb2cc8b20d6cb9e65c1e442d59a2449d8774157 Author: Mariusz Kozlowski Date: Sat Sep 15 13:14:05 2007 -0700 [PATCH] drivers/net: remove superfluous memset This patch covers something like this: dev = alloc_*dev(... ... priv = netdev_priv(dev); memset(priv, 0, sizeof(*priv)); The memset() here is superfluous. alloc_netdev() uses kzalloc() to allocate needed memory so there is no need to zero the priv region twice. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit bf1e9a080d7766bd65b8d8eb837ecde8b03dcc31 Author: Jesper Juhl Date: Fri Aug 10 14:05:20 2007 -0700 Clean up duplicate includes in drivers/net/ This patch cleans up duplicate includes in drivers/net/ Signed-off-by: Jesper Juhl Acked-by: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 10096974adb6d62b9f8cf65c266632ea73040936 Author: Jeff Garzik Date: Tue Aug 14 01:24:56 2007 -0400 [netdrvr] ns83820: add ethtool media support Split out from patch authored by Dan Faerch . Signed-off-by: Jeff Garzik commit 2808d2e83f9b48c2f68930b6746fed8efabc41e9 Author: Mariusz Kozlowski Date: Wed Aug 8 13:20:26 2007 +0200 net/tulip/xircom_cb.c: remove superfulous priv assignment Unpatched version does sth like this: dev = alloc_etherdev(... private = netdev_priv(dev); ... dev->priv = private; which doesn't make much sense (does it?) because this is done in alloc_netdev() already. struct net_device *alloc_netdev(... { ... if (sizeof_priv) dev->priv = netdev_priv(dev); This patch removes superfluous code. Signed-off-by: Mariusz Kozlowski drivers/net/tulip/xircom_cb.c | 32853 -> 32831 (-22 bytes) drivers/net/tulip/xircom_cb.o | 123984 -> 123984 (0 bytes) drivers/net/tulip/xircom_cb.c | 1 - 1 file changed, 1 deletion(-) Signed-off-by: Jeff Garzik commit 92c487996dfc01c6c1f7c660d076037a3a01a6ae Author: Sivakumar Subramani Date: Mon Aug 6 05:38:19 2007 -0400 S2IO: Fixed Link LED issue when MSI-X is enabled -Fixed Link LED issue when MSI-X is enabled. Signed-off-by: Sivakumar Subramani Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit c77dd43e77c530a12a466865805d2068ede96860 Author: Sivakumar Subramani Date: Mon Aug 6 05:36:28 2007 -0400 S2IO: Fixes in MSIX related code. - Calling store_xmsi_data to store the MSI-X datas during initialization in s2io-init_nic function - Disabling NAPI when MSI-X is enabled - Freeing sp->entries and sp->s2io_entries in s2io_rem_isr Signed-off-by: Sivakumar Subramani Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 8abc4d5b84f23edccf405aa591aae7d9b967e8d2 Author: Sivakumar Subramani Date: Sat Sep 15 13:11:34 2007 -0700 [S2IO]: Making MSIX as default intr_type - Making MSIX as default intr_type - Driver will test MSI-X by issuing test MSI-X vector and if fails it will fallback to INTA Signed-off-by: Sivakumar Subramani Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 28006c65a74403a8c4a1846aa7f08981e0d0b44a Author: Jeff Garzik Date: Sat Sep 15 12:36:46 2007 -0700 [8139too]: tab-align enums and structs; remove dead code * (main change) tab-align hardware register value enums, and hw struct * MMIO_FLUSH_AUDIT_COMPLETE has been defined to 1 for a while. Remove the code activated when it is set to zero. Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 6cc92cddb13a7874dcd7751c84b0e61738815077 Author: Jeff Garzik Date: Wed Aug 8 02:16:04 2007 -0400 [netdrvr] 8139cp, 8139too: convert to generic DMA Signed-off-by: Jeff Garzik commit ae94607d19028f9805e82da8975c66d3858fcfd8 Author: Mariusz Kozlowski Date: Wed Aug 1 00:11:50 2007 +0200 drivers/net/via-velocity.c: mostly kmalloc + memset conversion to kcalloc Signed-off-by: Mariusz Kozlowski drivers/net/via-velocity.c | 88263 -> 88120 (-143 bytes) drivers/net/via-velocity.o | 254264 -> 253828 (-436 bytes) drivers/net/via-velocity.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) Signed-off-by: Jeff Garzik commit c477f3348abb5f6fb8b627cfdb1d7ae4b8fe613b Author: Mariusz Kozlowski Date: Tue Jul 31 23:58:36 2007 +0200 drivers/net/sb1250-mac.c: kmalloc + memset conversion to kcalloc Signed-off-by: Mariusz Kozlowski drivers/net/sb1250-mac.c | 76286 -> 76199 (-87 bytes) drivers/net/sb1250-mac.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) Signed-off-by: Jeff Garzik commit a967b14035c5efe4c92623dde3776ffc7a79118c Author: Jeff Garzik Date: Thu Aug 2 16:31:25 2007 -0400 drivers/net/skfp: Remove dead code referencing pci_find_device() Signed-off-by: Jeff Garzik commit bbfb86c5776ff481d246fcd5d8deb67701e05c00 Author: Ralf Baechle Date: Wed Jul 25 12:31:57 2007 +0100 IOC3: Switch hw checksumming to ethtool configurable. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit c54f5c240239fb8391a3b541f916764dd496f2e6 Author: Denis Cheng Date: Wed Jul 18 15:24:49 2007 +0800 drivers/net/cxgb3: removed several unneeded zero initilization Cc: linux-bugs@chelsio.com Signed-off-by: Denis Cheng Signed-off-by: Jeff Garzik commit eda105317fece79fa7e8478214ff7450f5a3f9dd Author: Yoann Padioleau Date: Mon Jul 23 15:18:21 2007 +0200 dev->priv to netdev_priv(dev), drivers/net/tokenring/ Replacing accesses to dev->priv to netdev_priv(dev). The replacment is safe when netdev_priv is used to access a private structure that is right next to the net_device structure in memory. Cf http://groups.google.com/group/comp.os.linux.development.system/browse_thread/thread/de19321bcd94dbb8/0d74a4adcd6177bd This is the case when the net_device structure was allocated with a call to alloc_netdev or one of its derivative. Here is an excerpt of the semantic patch that performs the transformation @ rule1 @ type T; struct net_device *dev; @@ dev = ( alloc_netdev | alloc_etherdev | alloc_trdev ) (sizeof(T), ...) @ rule1bis @ struct net_device *dev; expression E; @@ dev->priv = E @ rule2 depends on rule1 && !rule1bis @ struct net_device *dev; type rule1.T; @@ - (T*) dev->priv + netdev_priv(dev) PS: I have performed the same transformation on the whole kernel and it affects around 70 files, most of them in drivers/net/. Should I split my patch for each subnet directories ? (wireless/, wan/, etc) Thanks to Thomas Surrel for helping me refining my semantic patch. Signed-off-by: Yoann Padioleau 3c359.c | 58 +++++++++++++++++++++++++++++----------------------------- ibmtr.c | 38 +++++++++++++++++++------------------- lanstreamer.c | 32 ++++++++++++++++---------------- madgemc.c | 4 ++-- olympic.c | 36 ++++++++++++++++++------------------ tmspci.c | 4 ++-- 6 files changed, 86 insertions(+), 86 deletions(-) Signed-off-by: Jeff Garzik commit af096046f63a065b692018cd4b8f5e7525c3e56a Author: Jeff Garzik Date: Tue Jul 24 01:30:36 2007 -0400 [netdrvr] skfp: remove a bunch of dead code The driver has not compiled in anything except PCI support for many years (see drivers/net/skfp/Makefile). This driver is also unmaintained for many years, so arguments for keeping the cross-OS, cross-bus (ISA, EISA, MCA) code do not exist. Signed-off-by: Jeff Garzik commit 7856a541ad83e84d260abb652c39299972ba310c Author: Dan Williams Date: Fri Aug 3 09:43:03 2007 -0400 [PATCH] libertas: bump driver version Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 8362cd413e8116306fafbaf414f0419db0595142 Author: Dan Williams Date: Fri Aug 3 09:40:55 2007 -0400 [PATCH] libertas: fix sparse-reported problems A few fields being converted to the wrong sized type, and a few missed endian conversions. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit c7fdf26995d5d6ebf1c3314ad001b9a4983c3f04 Author: Dan Williams Date: Thu Aug 2 13:20:29 2007 -0400 [PATCH] libertas: better descriptions for association errors Describe the association response status code the firmware returns, based on mail to libertas-dev from Ronak. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 5612c0140ac58b51209a24c8fd6a92ceb472aabe Author: Dan Williams Date: Thu Aug 2 13:20:12 2007 -0400 [PATCH] libertas: ignore spurious mesh autostart events Don't trust the firmware to always send them at the right time, ignore them when the driver thinks mesh autostart is disabled. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 81173e34d454c353d9f0a53760609f3b9d30a311 Author: Dan Williams Date: Thu Aug 2 13:19:56 2007 -0400 [PATCH] libertas: fix misspelling in debug message Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 63f0023bc34073bea8452a4770540c954f98208f Author: Luis Carlos Cobo Date: Thu Aug 2 13:19:24 2007 -0400 [PATCH] libertas: pass boot2 version to firmware Boot2 version used to be hardcoded in the uploaded firmware, this patch preserves the boot2 version before uploading firmware and sends it to the firmware again on resume. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 2afc0c5d71a3dec6d35f3a234ed986d635ef41ad Author: Dan Williams Date: Thu Aug 2 13:19:04 2007 -0400 [PATCH] libertas: push WEXT scan requests to a work queue Push WEXT scan requests to a workqueue and have each partial scan queue the next part, then only report results when the complete scan has finished. Full scans don't go through the work queue. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit b031ac10264fa9b805d84b4a440407ac950390cf Author: Eugene Teo Date: Thu Aug 2 13:18:07 2007 -0400 [PATCH] drivers/net/wireless/libertas/cmd.c: fix adapter->driver_lock dereference adapter is NULL if cmdnode is not. Signed-off-by: Eugene Teo Signed-off-by: John W. Linville commit 5707708111ca6c4e9a1160acffdc98a98d95e462 Author: Dan Williams Date: Thu Aug 2 13:17:41 2007 -0400 [PATCH] libertas: fix assignment of WEP key type keytype is a u8 Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 965f8bbc6c92233600b176f4c80299f6766df9bd Author: Luis Carlos Cobo Date: Thu Aug 2 13:16:55 2007 -0400 [PATCH] libertas: monitor mode support for OLPC firmware Driver support for the monitor mode support that will be available in the next OLPC 'bleeding edge' Marvell firmware release (most likely, 5.110.16.p2). To activate monitor mode, echo mode > /sys/class/net/{ethX,mshX}/device/libertas_rtap where mode is the hex mask that specifies which frames to sniff (in short, 0x1 for data, 0x2 for all management but beacons, 0x4 for beacons). Any non zero mode will activate the monitor mode, inhibiting transmission in ethX and mshX interfaces and routing all the incoming traffic to a new rtapX interface that will output the packets in 802.11+radiotap headers format. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 9483f03150cbfa1f706355b7f9d218d6086c6fce Author: Jean Tourrilhes Date: Thu Aug 2 13:16:30 2007 -0400 [PATCH] libertas: fix a few wext abuses... o SIOCGIWNAME is not designed to return the version number of the driver. On the other hand, you are free to abuse SIOCGIWNICKN for that purpose. o Don't attempt to fix the WE19/WE20 transition in the driver, because your fixes are bogus, and redundant with the code in the kernel (you may endup with +2, you can't read 32 char ESSID...). o In SIOCSIWTXPOW, if you specified in iwrange that you want dBm, you should only get dBm, which allow to reduce code bloat. Signed-off-by: Jean Tourrilhes Signed-off-by: John W. Linville commit d21b31fd53626f9c1d14fc676793dbe86b44d1c6 Author: Luis Carlos Cobo Date: Thu Aug 2 13:16:02 2007 -0400 [PATCH] libertas: keep mesh autostart enabled while asleep After loading the firmware, mesh autostart will be disabled. After that, the user will still be able to enable or disable it at will. On suspend, it will be always activated and later on resume it will go back to the state it had before going to sleep. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit b37e5842f5ab66f8d0533ee62ffe35c26ae800a3 Author: Luis Carlos Cobo Date: Thu Aug 2 13:15:40 2007 -0400 [PATCH] libertas: revert CAPINFO_MASK to its original value CAPINFO_MASK changed on commits 981f187b and a091095b. Reverting to the original value. Also move CAPINFO_MASK into the sole user, join.c. CAPINFO_MASK should be in host CPU byte order; capability is converted to device byte order elsewhere. This fixes OLPC ticket #2161 Signed-off-by: Luis Carlos Cobo Acked-by: Dan Williams Signed-off-by: John W. Linville commit 00af0157e0a603e2a2ce0896179f2dd43f0f28ab Author: Dan Williams Date: Thu Aug 2 13:14:56 2007 -0400 [PATCH] libertas: push mesh beacon bit to userspace in scan results Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 0edef215e405fef3c6569511a9aebeeb3f6cd799 Author: Dan Williams Date: Thu Aug 2 13:14:29 2007 -0400 [PATCH] libertas: send association events on adhoc reassociation Send association event to userspace when reassociating to the same ad-hoc network, because it's still an association. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 9556d2120ceecc158b324fa01e30704ff9f42ae3 Author: Holger Schurig Date: Thu Aug 2 13:14:07 2007 -0400 [PATCH] libertas: fix two debug statements in cmdresp.c Purely cosmetic: this moves an lbs_deb_enter() to the proper place and changes an erraneous lbs_deb_enter_args() into lbs_deb_leave_args() Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit bee093d6132569eee13b2c45058b550c9544a5b8 Author: Holger Schurig Date: Thu Aug 2 13:13:00 2007 -0400 [PATCH] libertas: remove bss_descriptor->timestamp Noone used this variable. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit a2235ed40210081e51bec4bb1be64e4b3511501e Author: Holger Schurig Date: Thu Aug 2 13:12:45 2007 -0400 [PATCH] libertas: remove bss_descriptior->networktsf This value was parsed out, but then nowhere used ... except in some debugfs output. I can't imagine anyone wanting to use this value for anything real (as no other driver exports it), so bye-bye. Along this, made the columns of /sys/kernel/debug/libertas_wireless/*/getscantable align again. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 4f2fdaaf0e4209bff3b18dc14c915b61f5fa5cd2 Author: Holger Schurig Date: Thu Aug 2 13:12:27 2007 -0400 [PATCH] libertas: remove adapter->scantype scantype was initialized with CMD_SCAN_TYPE_ACTIVE, but there is no code that would ever change it, so we can use that variable directly. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit d65ead886a193682f88b07aaf11d46127735a2b5 Author: Holger Schurig Date: Thu Aug 2 13:12:12 2007 -0400 [PATCH] libertas: remove adapter->scanmode scanmode was initialized with CMD_BSS_TYPE_ANY, but there is no code that ever can store another value there, so it can go away. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 2c85103da3c88a06a7c01eece709482d85eff07f Author: Holger Schurig Date: Thu Aug 2 13:11:38 2007 -0400 [PATCH] libertas: remove adapter->beaconperiod beaconperiod was initialized with MRVDRV_BEACON_INTERVAL, but there is no code that would ever change it's value. We can use the define directly. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 85c93e5189b7402b4f9f4324c284bb91e8e8fb85 Author: Holger Schurig Date: Thu Aug 2 13:11:19 2007 -0400 [PATCH] libertas: remove adapter->adhoc_grate_enabled The variable was initialized with 0 (false). There is no code that would ever change it, so we can use the false-patch directly. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 0aabc0a5d5657df254255c9049a97cc96229bcba Author: Holger Schurig Date: Thu Aug 2 13:10:59 2007 -0400 [PATCH] libertas: remove adapter->listeninterval listeninterval was initialized with MRVDRV_DEFAULT_LISTEN_INTERVAL, but there exists that would ever change it. So we can use this define directly. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 956deb867a97ac137c164a5d2d12b0c82fb6776d Author: Holger Schurig Date: Thu Aug 2 13:10:41 2007 -0400 [PATCH] libertas: remove adapter->regiontableindex The value was computed, but then never used. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit ae596ce2f77d1542fe44ea483bd0ca7f61baeccd Author: Holger Schurig Date: Thu Aug 2 13:10:05 2007 -0400 [PATCH] libertas: remove adapter->atimwindow This varaible was initialized with 0 but there is no code that would ever change it's value. So it can go away. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 56c4656e84d068ecc4da670799216e5b2aaee50e Author: Holger Schurig Date: Thu Aug 2 13:09:49 2007 -0400 [PATCH] libertas: remove adapter->multipledtim multipledtim was initialized with MRVDRV_DEFAULT_MULTIPLE_DTIM and then kept at that value, so we could use that define directly. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 252cf0d10f76d3edcd808d462dcfbd544875a0be Author: Holger Schurig Date: Thu Aug 2 13:09:34 2007 -0400 [PATCH] libertas: remove adapter->locallisteninterval locallisteninterval was initialized with 0, but there is no code that changes it, rendering it rather useless. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 97605c3eb3dee943a45584be92c46be1305b3ef5 Author: Holger Schurig Date: Thu Aug 2 13:09:15 2007 -0400 [PATCH] libertas: remove adapter->nullpktinterval No code ever initialized this variable, so it was 0 because of kzalloc(). But no other code changes it, making it rather useless. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit a783f1ee5b112a0258762877ec7c1ce8810f3cd8 Author: Holger Schurig Date: Thu Aug 2 13:08:24 2007 -0400 [PATCH] libertas: remove adapter->{data,bcn}_avg_factor Those two variables were initialized with some default values, but there is no code that would ever change them. So we could use as well the defaults directly. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit caef47a0dc2b17ea6fb0119d3678b4b21ae70daa Author: Holger Schurig Date: Thu Aug 2 13:07:56 2007 -0400 [PATCH] libertas: remove adapter->rxpd_rate No code uses the contents of this variable, so it can go. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit cad9d9b17a4ab80da1593de004a1163b359de268 Author: Holger Schurig Date: Thu Aug 2 13:07:15 2007 -0400 [PATCH] libertas: remove adapter->txrate The value of txrate was only set by a CMD_802_11_TX_RATE_QUERY command, but there was no code in the driver that ever issued this command. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit b20c520763a6fe1aabde27f6ba017a67f22f90d5 Author: Dan Williams Date: Thu Aug 2 13:06:54 2007 -0400 [PATCH] libertas: fix WEXT quality reporting Found by Ronak and others at Marvell. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit fcff0e0856351b201016cd9267cadcf6a8e988d5 Author: Holger Schurig Date: Thu Aug 2 13:06:11 2007 -0400 [PATCH] libertas: remove adapter->pkttxctrl The variable was initialized to 0 and nowhere else changed, so basically the per-packet TX control wasn't used. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit e2aa334bee4ae9fe27f26b0732c0443d2f11a8af Author: Holger Schurig Date: Thu Aug 2 13:05:53 2007 -0400 [PATCH] libertas: remove adapter->scanprobes The variable was initialized to 0 and nowhere else to anything different. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 6e22a855b27ddc0725c134cc428ee668e56ac9f8 Author: Holger Schurig Date: Thu Aug 2 13:05:32 2007 -0400 [PATCH] libertas: remove adapter->prescan The value 1 was assigned to it and there was nowhere any code that would have changed that to 0. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit fdde7084e033263f48d26d5b24ecf626aed29b5b Author: Holger Schurig Date: Thu Aug 2 13:05:08 2007 -0400 [PATCH] libertas: remove adapter->{rx,tx}antenna There was nowhere any code that used the values of those variables. This patch also removes two static functions that are now unused. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 4d4ce1ad02f02e593086fabdad69953ecbd99d9c Author: Holger Schurig Date: Thu Aug 2 13:04:28 2007 -0400 [PATCH] libertas: remove unused adapter->prev_XXXX variables There were just used in some debug output, but nowhere else. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 27590d06e136167101c8c6347e7c2885c7f014b9 Author: Holger Schurig Date: Wed Oct 3 17:25:41 2007 -0700 [PATCH] add support for Marvell 8385 CF cards This patch adds support for Marvell based 8385 compact flash cards. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 9cdc6d295b97dc4a36569ddd0b0540aeba351149 Author: Luis Carlos Cobo Date: Thu Aug 2 11:55:22 2007 -0400 [PATCH] libertas: Avoid MESH_AUTOSTARTED spam on console Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 8ff12da121af175a14c4cedbba0fd16ff0cfc07a Author: Holger Schurig Date: Thu Aug 2 11:54:31 2007 -0400 [PATCH] libertas: use LBS_DEB_HOST for host-to-card communications ... and LBS_DEB_CMD for command execution. Also tidies misc comments to give a consistent output. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit a6c8700f36cd8f217420bbe26721094824fab8de Author: Holger Schurig Date: Thu Aug 2 11:54:10 2007 -0400 [PATCH] libertas: use LBS_DEB_HOST for host-to-card communications ... and LBS_DEB_CMD for command execution. Also tidies misc comments to give a consistent output. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 6b63cd0f420c3c3002024da6c9eff252a3772021 Author: Holger Schurig Date: Thu Aug 2 11:53:36 2007 -0400 [PATCH] libertas: remove a hundred CMD_RET_xxx definitions types.h contains the same amount of CMD_RET_xxx and CMD_xxx definitions. They contains the same info: the firmware command opcode and, when the firmware sends back a result, the command opcode ORed with 0x8000. Having the same data twice in the source code is redundant and can lead to errors (e.g. if you update or delete only one instance). This patch removed all CMD_RET_xxx definitions and introduces a simple CMD_RET() macro. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit ece561919326236c7fb791a5e883f0eb76af029e Author: Holger Schurig Date: Thu Aug 2 11:53:06 2007 -0400 [PATCH] libertas: make the hex dumper nicer Currently, when you define LBS_DEB_HEX, you get every hex dump in the whole driver, e.g. for LBS_DEB_CMD, LBS_DEB_RX, LBS_DEB_TX etc. This patch makes sure that you only get the hexdump that you're interested in. Renamed lbs_dbg_hex() into lbs_deb_hex(), like the other lbs_deb_XXX() macros. Made lbs_deb_hex() issue a line feed (and a new prompt) after 16 bytes. As lbs_deb_hex() now prints the ":" after the prompt by itself, removed the misc colons in the various *.c files. lbs_deb_XXX() now print the debug category as well. As lbs_deb_XXX() --- and especially lbs_deb_11d() --- now print the category, I removed various "11D:" prefixes in 11d.c as well. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit a9f38d023b65c9fe2602303c1101c868be4fcbcc Author: Luis Carlos Cobo Date: Thu Aug 2 11:52:29 2007 -0400 [PATCH] Support for mesh autostart deactivation through sysfs echo 0 > /sys/class/net/mshX/autostart_enabled This is supported from Marvell firmware version 5.110.16.p0 (to be released). Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit f455eb1a4ba2bf0ff1bde7844bf3a811269d2d79 Author: Holger Schurig Date: Thu Aug 2 11:51:18 2007 -0400 [PATCH] libertas: remove debugmode There is nowhere any place that set's this variable. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 0a6d0555e90850b7ce90e8937858f11b6b98b6d4 Author: Holger Schurig Date: Thu Aug 2 11:50:35 2007 -0400 [PATCH] libertas: tune hardware info output This changes the output of hardware related info from: libertas: GET_HW_SPEC: FWReleaseVersion- 5.0.11.p0 libertas: GET_HW_SPEC: Permanent addr- 0:16:41:72:f6:a8 libertas: GET_HW_SPEC: hwifversion=0x2 version=0x213 to: libertas: GET_HW_SPEC: FWReleaseVersion: 5.0.11.p0 libertas: GET_HW_SPEC: Permanent addr: 00:16:41:72:f6:a8 libertas: GET_HW_SPEC: hwifversion: 0x2, version: 0x213 Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 3cf840914bd467fa4cc76af1a01bba4d2813131c Author: Holger Schurig Date: Thu Aug 2 11:50:12 2007 -0400 [PATCH] libertas: access mesh_dev more carefully The CF/SDIO firmware doesn't support Mesh, so priv->mesh_dev is NULL there. Protect all accesses. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit c95c7f930ec6fee029c8e7957ab95b3967578070 Author: Holger Schurig Date: Thu Aug 2 11:49:45 2007 -0400 [PATCH] libertas: uppercase some #defines Usually constants defined by #define are in ALL_UPPERCASE. This patch fixes this. I also shuffled the bits around so that they match the bit positions in the host-interrupt-state register of the CF/SDIO card :-) Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit ac558ca2ae878bd7a77831cda684702a2fa23d95 Author: Holger Schurig Date: Thu Aug 2 11:49:06 2007 -0400 [PATCH] libertas: make more functions static & remove unused functions Some functions where declared in header files, but used only once. They are now static functions. After doing this, I found out that some functions weren't used at all. I removed this dead code. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit c23a24f6ae083e058ed1e9472979df09915ffdf5 Author: Holger Schurig Date: Thu Aug 2 11:45:30 2007 -0400 [PATCH] libertas: fix one more sparse warning adhoc_rates_b is only used locally, so make it static Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 1df4e8fe91d5bab3fd7ae7f115e43c52010cd4ad Author: Holger Schurig Date: Thu Aug 2 11:45:12 2007 -0400 [PATCH] libertas: remove fw.c Firmware download is quite different for different hardware. The SDIO and CF cards have two flat files that need to be downloaded, whereas the USB driver needs only one file, but with an internal structure. The code that handles this (USB only) structured file is currently in fw.c. This patch moves this code into if_usb.c. The remaining functions in fw.c have not much to do with firmware, they are various card- and network-stack initialisation functions. I've moved them into main.c. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 8c5127657549d055ac9d709cdea73902a6ef392c Author: Dan Williams Date: Thu Aug 2 11:40:45 2007 -0400 [PATCH] libertas: simplify and clean up data rate handling Remove unused/duplicated fields and consolidate static data rate arrays, for example the libertas_supported_rates[] and datarates[] arrays in the bss_descriptor structure, and the libertas_supported_rates field in the wlan_adapter structure. Introduce libertas_fw_index_to_data_rate and libertas_data_rate_to_fw_index functions and use them everywhere firmware requires a rate index rather than a rate array. The firmware requires the 4 basic rates to have the MSB set, but most other stuff doesn't, like WEXT and mesh ioctls. Therefore, only set the MSB on basic rates when pushing rate arrays to firmware instead of doing a ton of (rate & 0x7f) everywhere. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit e52414728b930f0adcbc38c6498dd03b3568fe99 Author: Dan Williams Date: Thu Aug 2 11:39:19 2007 -0400 [PATCH] libertas: wlan_ -> libertas_ function prefix renames for main.c Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit eedc2a319154a64f5ca7f281c92b7af3691fe73c Author: Dan Williams Date: Thu Aug 2 11:36:22 2007 -0400 [PATCH] libertas: move generic firmware reset command to common code It's not USB specific, so move it out of the USB interface code. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit ffcae953ac021f5051a201c18e133cb0ce38c2b9 Author: Dan Williams Date: Thu Aug 2 11:35:46 2007 -0400 [PATCH] libertas: fix more mixed-case abuse Mistakently introduced by a previous patch to upper-case all command constants. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 125dcabf724bdfbe55240aef3b35b0ca16f3d61d Author: Dan Williams Date: Thu Aug 2 11:34:47 2007 -0400 [PATCH] libertas: bump version to 322.p1 Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 276c015e1bf8d158df336bc2676c142e4bc391c1 Author: Dan Williams Date: Thu Aug 2 11:34:24 2007 -0400 [PATCH] libertas: new mesh control knobs Support for new mesh control knobs on firmware 5.220.11.p4: Signed-off-by: Luis Carlos Cobo Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit fe3361507af44d00d5b42b91c1626321765a11bc Author: Dan Williams Date: Thu Aug 2 11:32:25 2007 -0400 [PATCH] libertas: remove thread.h and make kthread usage clearer Remove the thread.h abstractions and opencode kthread stuff to make it clearer. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 2ca10e6d6a3052e7a8380b20588a7b1985ea1197 Author: Dan Williams Date: Thu Aug 2 11:31:49 2007 -0400 [PATCH] libertas: fix debug build breakage due to field rename Missed when fixing mixed-case structure field names. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 0aef64d75851c9f3545d0793f26486ed862306d8 Author: Dan Williams Date: Thu Aug 2 11:31:18 2007 -0400 [PATCH] libertas: re-uppercase command defines and other constants For readability. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit b44898eb2c917cd397a0d8654f1c249dd3cdc67e Author: Dan Williams Date: Thu Aug 2 11:18:40 2007 -0400 [PATCH] libertas: fix mixed-case abuse in cmd_ds_802_11_ad_hoc_start Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit ea8da92d70c4e320c282d4e94138e40e36880be3 Author: Dan Williams Date: Thu Aug 2 11:18:23 2007 -0400 [PATCH] libertas: fix mixed-case abuse in cmd_ds_802_11_ad_hoc_result Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 492b6da7d220b37275efb03710d57215304149fa Author: Dan Williams Date: Thu Aug 2 11:16:07 2007 -0400 [PATCH] libertas: fix mixed-case abuse in cmd_ds_802_11_scan Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 9e22cb67d9a8acde7a5af6ed8cd5e74ebd6551b3 Author: Dan Williams Date: Thu Aug 2 11:14:49 2007 -0400 [PATCH] libertas: remove if_bootcmd.c Move the only function in it to if_usb.c, which was its only user anyway. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 1e838bf31c3a24596621026c7d1ca69da068af83 Author: Luis Carlos Cobo Date: Thu Aug 2 10:51:27 2007 -0400 [PATCH] libertas: specific mesh scan for mshX interface With this patch, scanning with mshX interface will only return mesh networks. To differentiate them, a specific mesh IE in beacons/probe responses is used. This IE has been introduced in firmware release 5.110.14. Note: Even though there can be at most a single mesh per channel, this scan might return several networks in the same channel. If all nodes in a mesh network are associated to an AP, they won't produce beacons/probe responses, thus the network will not be listed. This will be fixed in future firmware releases. Scan on ethX interface is not filtered, so it will list both mesh and non-mesh networks. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit ab6179711a5e46ed1db739bef7752d65ce836dce Author: Dan Williams Date: Thu Aug 2 10:48:02 2007 -0400 [PATCH] libertas: clean up 802.11 IE post-scan handling Remove struct IE_WPA and just use direct checking of the IE bytes like ipw. Remove WLAN_802_11_VARIABLE_IEs because it's unused. Kill ieeetypes_elementid enum and just use MFIE_* from ieee80211.h. Also use struct ieee80211_info_element for scan buffer processing to simplify pointer usage. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 2950cd26308ced650cf7cc3199eae3eb27f9917f Author: Dan Williams Date: Thu Aug 2 10:47:17 2007 -0400 [PATCH] libertas: clean up indentation in libertas_association_worker Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 1443b6530d8db779082dc9fabbd894e2b551b101 Author: Dan Williams Date: Thu Aug 2 10:45:55 2007 -0400 [PATCH] libertas: rename WLAN_802_11_KEY to enc_key and clean up usage It doesn't touch hardware and therefore doesn't need endian notations either. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 0c9ca690e0117e1bf415d5f3e392e27c0c472c68 Author: Dan Williams Date: Thu Aug 2 10:43:44 2007 -0400 [PATCH] libertas: kill ieeetypes_capinfo bitfield, use ieee80211.h types Use standard BSS capability field constants from ieee80211.h. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 6dbc9c89fb242873bd3e83890e59da3d6e462025 Author: Yoann Padioleau Date: Fri Aug 3 19:37:16 2007 +0200 [PATCH] dev->priv to netdev_priv(dev), for drivers/net/wireless Replacing accesses to dev->priv to netdev_priv(dev). The replacment is safe when netdev_priv is used to access a private structure that is right next to the net_device structure in memory. Cf http://groups.google.com/group/comp.os.linux.development.system/browse_thread/thread/de19321bcd94dbb8/0d74a4adcd6177bd This is the case when the net_device structure was allocated with a call to alloc_netdev or one of its derivative. Signed-off-by: Yoann Padioleau Cc: mcgrof@gmail.com Cc: linux-wireless@vger.kernel.org Cc: akpm@linux-foundation.org Signed-off-by: John W. Linville commit 8951554dba0c7962ae72faece66e8f5085a777d6 Author: Mariusz Kozlowski Date: Tue Jul 31 23:34:50 2007 +0200 [PATCH] drivers/net/wireless/prism54/oid_mgt.c: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3623060abbf1cdd7f292645bea31d024e21792ef Author: Matthias Kaehlcke Date: Mon Jul 30 07:40:04 2007 +0200 [PATCH] Use mutex instead of semaphore in the Host AP driver The Host AP driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Acked-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit d73ae55ad46be6a0a11b9b71f9910c73c1b9dbb7 Author: Bill Nottingham Date: Fri Jul 27 19:43:17 2007 -0400 [PATCH] remove gratuitous space in airo module description Currently the modinfo looks like: description: Support for Cisco/Aironet 802.11 wireless ethernet cards. Direct support for ISA/PCI/MPI cards and support for PCMCIA when used with airo_cs. Arguably, it should be cut at the end of the first sentence. This at least makes it somewhat more legible. Signed-off-by: Bill Nottingham Signed-off-by: John W. Linville commit cfbde697e48891f6216aa9fd14652e099d5cd5fb Author: Faidon Liambotis Date: Sun Jul 22 16:16:59 2007 +0300 [PATCH] Kconfig: remove references of pcmcia-cs pcmcia-cs/cardmgr is deprecated and mentioning it in the help text is misleading. Signed-off-by: Faidon Liambotis Signed-off-by: John W. Linville commit e12dcb05bf70dfa328173fd55b7c13e71dfdb453 Author: Faidon Liambotis Date: Sun Jul 22 16:16:36 2007 +0300 [PATCH] Kconfig: order options Reorder the Atmel options so that the menu appears saner. Before: < > Hermes chipset 802.11b support (Orinoco/Prism2/Symbol) <*> Atmel at76c50x chipset 802.11b support < > Atmel at76c506 PCI cards (NEW) < > Cisco/Aironet 34X/35X/4500/4800 PCMCIA cards < > Atmel at76c502/at76c504 PCMCIA cards (NEW) After: < > Hermes chipset 802.11b support (Orinoco/Prism2/Symbol) <*> Atmel at76c50x chipset 802.11b support < > Atmel at76c506 PCI cards (NEW) < > Atmel at76c502/at76c504 PCMCIA cards (NEW) < > Cisco/Aironet 34X/35X/4500/4800 PCMCIA cards Signed-off-by: Faidon Liambotis Signed-off-by: John W. Linville commit c5691235cf70ae2bd71c1f445eb991191530ec6c Author: Ulrich Kunitz Date: Sat Jul 21 22:42:13 2007 +0100 [PATCH] zd1211rw: monitor all packets While in monitor mode the zd1211rw received only a limited set of packets. This patch forwards now all packets the device receives. Notify that while monitoring no FCS checks are done; so strange packets might appear in the network sniffer of your choice. ATTENTION: Support for multiple interfaces on a single ZD1211 device is currently broken. So this code works only on the first interface. Here is an example to put the device in monitor mode. iwconfig wlan0 mode monitor ifconfig wlan0 up iwconfig wlan0 channel 10 [dsd@gentoo.org: backport to mainline] Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit cc0b88cf5ecf13cdd750f08e201ce8fadcdb601f Author: Michael Wu Date: Fri Aug 31 01:15:25 2007 -0400 [PATCH] Add adm8211 802.11b wireless driver This patch adds a mac80211 wireless driver for ADMtek ADM8211 based wireless cards. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit aa0daf0e020de9c20e653e437deaa1153c4d134e Author: Johannes Berg Date: Mon Sep 10 14:15:25 2007 +0200 [MAC80211]: remove/change some comments about Michael MIC hardware offload There are a few TODO comments in the mac80211 sources regarding hardware offload for Michael MIC verification. Those items are, however, better handled in the driver instead of the stack, if any device requires such hand-holding. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 475fa49c125d914451805a9fb3cd1baa53591538 Author: Tomas Winkler Date: Sun Sep 2 22:58:21 2007 +0300 [MAC80211]: PS mode fix tx.mode must be set also for buffered frames. It is used in the tx hanlders Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 68aae11674b9d6598b660d1148ffba9eef3f895f Author: Stephen Hemminger Date: Fri Aug 24 11:29:34 2007 -0700 [MAC80211]: use internal network device stats Stats are now available for device usage inside network_device Signed-off-by: Stephen Hemminger Acked-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 24338793eea9dcc0865826e1115af86a19af8d18 Author: warmcat Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: get STA after tx radiotap snipped Johannes Berg noticed that in __ieee80211_tx_prepare() we try to get the STA from addr1 of the ieee80211 header when the radiotap header is actually still at the front of the packet. This patch defers doing that until the radiotap header is gone. Signed-off-by: Andy Green Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 139c3a0492745192f999aaa67d11cb63983211f5 Author: Volker Braun Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: ignore key index on pairwise key (WEP only) Work-around for broken APs that use a non-zero key index for WEP pairwise keys. With this patch, WEP encryption only is exempt from providing a zero key index. Signed-off-by: Volker Braun Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c39e3a0d0380b12f45bf85a619d3df45e437ee45 Author: Johannes Berg Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: remove TKIP mixing for hw accel again The TKIP mixing code was added for the benefit of Intel's ipw3945 chipset but that code ended up not using it. We have previously identified many problems with this code and it crystallized that library functions for mixing are likely to handle this in much more generality and might allow b43 to take advantage of hardware acceleration for TKIP. Due to these reasons, remove the TKIP mixing for hardware accelerated crypto operations. Signed-off-by: Johannes Berg Acked-by: Michael Buesch Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6a7664d451e7014b1a6828e50ccb3308d0b84816 Author: Johannes Berg Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: remove HW_KEY_IDX_INVALID This patch makes the mac80211/driver interface rely only on the IEEE80211_TXCTL_DO_NOT_ENCRYPT flag to signal to the driver whether a frame should be encrypted or not, since mac80211 internally no longer relies on HW_KEY_IDX_INVALID either this removes it, changes the key index to be a u8 in all places and makes the full range of the value available to drivers. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 7ac1bd6aecc92cfe6ec11891819dd4c26f2f7879 Author: Johannes Berg Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: some more documentation This patch formats some documentation in mac80211.h into kerneldoc and also adds some more explanations for hardware crypto. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c15a205070fac9fab0d9d4642b9342677b67f933 Author: Johannes Berg Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: remove set_key_idx callback No existing drivers use this callback, hence there's no telling how it might be used. In fact, it is unlikely to be of much use as-is because the default key index isn't something that the driver can do much with without knowing which interface it was for etc. And if it needs the key index for the transmitted frame, it can get it by keeping a reference to the key_conf structure and looking it up by hw_key_idx. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 7848ba7d7a010ccb265617fc2bc053e2bdf06f48 Author: Johannes Berg Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: rework hardware crypto flags This patch reworks the various hardware crypto related flags to make them more local, i.e. put them with each key or each packet instead of into the hw struct. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b708e610622cff07f4374a2b4410884f964b8489 Author: Johannes Berg Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: remove turbo modes This patch removes all mention of the atheros turbo modes that can't possibly work properly anyway since in some places we don't check for them when we should. I have no idea what the iwlwifi drivers were doing with these but it can't possibly have been correct. Cc: Zhu Yi Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d4e46a3d9869563c6210b01bb651c40cbe65da80 Author: Johannes Berg Date: Fri Sep 14 11:10:24 2007 -0400 [MAC80211]: fix race conditions with keys During receive processing, we select the key long before using it and because there's no locking it is possible that we kfree() the key after having selected it but before using it for crypto operations. Obviously, this is bad. Secondly, during transmit processing, there are two possible races: We have a similar race between select_key() and using it for encryption, but we also have a race here between select_key() and hardware encryption (both when a key is removed.) This patch solves these issues by using RCU: when a key is to be freed, we first remove the pointer from the appropriate places (sdata->keys, sdata->default_key, sta->key) using rcu_assign_pointer() and then synchronize_rcu(). Then, we can safely kfree() the key and remove it from the hardware. There's a window here where the hardware may still be using it for decryption, but we can't work around that without having two hardware callbacks, one to disable the key for RX and one to disable it for TX; but the worst thing that will happen is that we receive a packet decrypted that we don't find a key for any more and then drop it. When we add a key, we first need to upload it to the hardware and then, using rcu_assign_pointer() again, link it into our structures. In the code using keys (TX/RX paths) we use rcu_dereference() to get the key and enclose the whole tx/rx section in a rcu_read_lock() ... rcu_read_unlock() block. Because we've uploaded the key to hardware before linking it into internal structures, we can guarantee that it is valid once get to into tx(). One possible race condition remains, however: when we have hardware acceleration enabled and the driver shuts down the queues, we end up queueing the frame. If now somebody removes the key, the key will be removed from hwaccel and then then driver will be asked to encrypt the frame with a key index that has been removed. Hence, drivers will need to be aware that the hw_key_index they are passed might not be under all circumstances. Most drivers will, however, simply ignore that condition and encrypt the frame with the selected key anyway, this only results in a frame being encrypted with a wrong key or dropped (rightfully) because the key was not valid. There isn't much we can do about it unless we want to walk the pending frame queue every time a key is removed and remove all frames that used it. This race condition, however, will most likely be solved once we add multiqueue support to mac80211 because then frames will be queued further up the stack instead of after being processed. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c29b9b9b0235d56e5602f61ed38702dd376aae20 Author: Johannes Berg Date: Fri Sep 14 11:10:24 2007 -0400 [MAC80211]: don't send invalid QoS frames Kalle Valo noticed that QoS frames are sent with an invalid QoS control field; this is because we increase the header length but neither initialise the space nor actually have enough space in the header structure for the QoS control field. This patch fixes it by treating the QoS field specially and appending it explicitly, initialising it to zero. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 5d4ecd9370da6e32588f218a5495806635154352 Author: Johannes Berg Date: Fri Sep 14 11:10:24 2007 -0400 [MAC80211]: remove spy wext ioctls mac80211 never calls wireless_spy_update so these aren't useful. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 39c90ece7565f5c47110c2fa77409d7a9478bd5b Author: Eric Dumazet Date: Sat Sep 15 10:55:54 2007 -0700 [IPV4]: Convert rt_check_expire() from softirq processing to workqueue. On loaded/big hosts, rt_check_expire() if of litle use, because it generally breaks out of its main loop because of a jiffies change. It can take a long time (read : timer invocations) to actually scan the whole hash table, freeing unused entries. Converting it to use a workqueue instead of softirq is a nice move because we can allow rt_check_expire() to do the scan it is supposed to do, without hogging the CPU. This has an impact on the average number of entries in cache, reducing ram usage. Cache is more responsive to parameter changes (/proc/sys/net/ipv4/route/gc_timeout and /proc/sys/net/ipv4/route/gc_interval) Note: Maybe the default value of gc_interval (60 seconds) is too high, since this means we actually need 5 (300/60) invocations to scan the whole table. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit dac24ab396fc92985060d5cb3c467d2d0ffc0c20 Author: Ivo van Doorn Date: Thu Sep 13 09:22:55 2007 +0200 [RFKILL]: Add rfkill documentation Add a documentation file which contains a short description about rfkill with some notes about drivers and the userspace interface. Changes since v1 and v2: - Spellchecking Signed-off-by: Ivo van Doorn Acked-by: Dmitry Torokhov Acked-by: Randy Dunlap commit e0665486b78b8efb9c25019ad29b4a4c9c1e9dfc Author: Ivo van Doorn Date: Thu Sep 13 09:21:31 2007 +0200 [RFKILL]: Add support for ultrawideband This patch will add support for UWB keys to rfkill, support for this has been requested by Inaky. Signed-off-by: Ivo van Doorn Signed-off-by: David S. Miller commit 234a0ca6f1d67ba4c3c3fc8378bbd98d722468e1 Author: Ivo van Doorn Date: Thu Sep 13 09:20:42 2007 +0200 [RFKILL]: Remove IRDA As Dmitry pointed out earlier, rfkill-input.c doesn't support irda because there are no users and we shouldn't add unrequired KEY_ defines. However, RFKILL_TYPE_IRDA was defined in the rfkill.h header file and would confuse people about whether it is implemented or not. This patch removes IRDA support completely, so it can be added whenever a driver wants the feature. Signed-off-by: Ivo van Doorn Signed-off-by: David S. Miller commit 077130c0cf7d5ba1992f5b51b96136d7b1c8aad5 Author: Eric W. Biederman Date: Thu Sep 13 09:18:57 2007 +0200 [NET]: Fix race when opening a proc file while a network namespace is exiting. The problem: proc_net files remember which network namespace the are against but do not remember hold a reference count (as that would pin the network namespace). So we currently have a small window where the reference count on a network namespace may be incremented when opening a /proc file when it has already gone to zero. To fix this introduce maybe_get_net and get_proc_net. maybe_get_net increments the network namespace reference count only if it is greater then zero, ensuring we don't increment a reference count after it has gone to zero. get_proc_net handles all of the magic to go from a proc inode to the network namespace instance and call maybe_get_net on it. PROC_NET the old accessor is removed so that we don't get confused and use the wrong helper function. Then I fix up the callers to use get_proc_net and handle the case case where get_proc_net returns NULL. In that case I return -ENXIO because effectively the network namespace has already gone away so the files we are trying to access don't exist anymore. Signed-off-by: Eric W. Biederman Acked-by: Paul E. McKenney Signed-off-by: David S. Miller commit 4fabcd7118162e36eea5c53e8895ecc13762bef3 Author: Daniel Lezcano Date: Thu Sep 13 09:16:29 2007 +0200 [NETNS]: Fix allnoconfig compilation error. When CONFIG_NET=no, init_net is unresolved because net_namespace.c is not compiled and the include pull init_net definition. This problem was very similar with the ipc namespace where the kernel can be compiled with SYSV ipc out. This patch fix that defining a macro which simply remove init_net initialization from nsproxy namespace aggregator. Compiled and booted on qemu-i386 with CONFIG_NET=no and CONFIG_NET=yes. Signed-off-by: Daniel Lezcano Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit e08b09983fe9cf379faf1aefdf9164268d4610e7 Author: Jesper Dangaard Brouer Date: Wed Sep 12 16:36:28 2007 +0200 [NET_SCHED]: Making rate table lookups more flexible. This is done in order to, add support to changing the rate table to use the upper-boundry L2T (length to time) value. Currently we use the lower-boundry, which result in under-estimating the actual bandwidth usage. Extend the tc_ratespec struct, with two parameters: 1) "cell_align" that allow adjusting the alignment of the rate table. 2) "overhead" that allow adding a packet overhead before the lookup. Signed-off-by: Jesper Dangaard Brouer Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit e9bef55d3d062ee7a78fde2913ec87ca9305a1e0 Author: Jesper Dangaard Brouer Date: Wed Sep 12 16:35:24 2007 +0200 [NET_SCHED]: Cleanup L2T macros and handle oversized packets Change L2T (length to time) macros, in all rate based schedulers, to call a common function qdisc_l2t() that does the rate table lookup. This function handles if the packet size lookup is larger than the rate table, which often occurs with TSO enabled. Signed-off-by: Jesper Dangaard Brouer Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit b6fa1a4d746488a7de95ec16afcaf3247fedb003 Author: Adrian Bunk Date: Wed Sep 12 15:18:00 2007 +0200 [SCTP] net/sctp/socket.c: make 3 variables static This patch makes the following needlessly global variables static: - sctp_memory_pressure - sctp_memory_allocated - sctp_sockets_allocated Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 5c94bf86c865fb779f1743672b4d0f6cdd706728 Author: Adrian Bunk Date: Wed Sep 12 15:16:21 2007 +0200 [SCTP]: Make sctp_addto_param() static. sctp_addto_param() can become static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 464771fe4743afd00ebff65aee0983fa1aa1da4f Author: Adrian Bunk Date: Wed Sep 12 15:14:45 2007 +0200 [KERNEL]: Unexport raise_softirq_irqoff raise_softirq_irqoff no longer has any modular user. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit a050c33f4a4d5babaf94a8ba6ae7a200135240b3 Author: Daniel Lezcano Date: Wed Sep 12 14:57:09 2007 +0200 [NETNS]: Fix bad macro definition. The macro definition is bad. When calling next_net_device with parameter name "dev", the resulting code is: struct net_device *dev = dev and that leads to an unexpected behavior. Especially when llc_core is compiled in, the kernel panics at boot time. The patchset change macro definition with static inline functions as they were defined before. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit abf07acbb9f122218095d0d221e0f949160ccc37 Author: Daniel Lezcano Date: Wed Sep 12 14:54:14 2007 +0200 [NETNS]: Fix loopback network namespace initialization. The core patchset of the network namespace sent by Eric Biederman does not do dynamic loopback creation. So there is no call to alloc_netdev_mq which fills the network namespace field of the netdevice. This patch assign the loopback to the init network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 36ac3135f5e824942fada4efa3204066b4b40ab1 Author: Daniel Lezcano Date: Wed Sep 12 14:51:47 2007 +0200 [NETNS]: Fix export symbols. Add the appropriate EXPORT_SYMBOLS for proc_net_create, proc_net_fops_create and proc_net_remove to fix errors when compiling allmodconfig Signed-off-by: Mark Nelson Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 8f4c1f9b049df3be11090f1c2c4738700302acae Author: Thomas Graf Date: Wed Sep 12 14:44:36 2007 +0200 [NETLINK]: Introduce nested and byteorder flag to netlink attribute This change allows the generic attribute interface to be used within the netfilter subsystem where this flag was initially introduced. The byte-order flag is yet unused, it's intended use is to allow automatic byte order convertions for all atomic types. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 9d5010db7ecfd6ec00119d3b185c4c0cd3265167 Author: David S. Miller Date: Wed Sep 12 14:33:25 2007 +0200 [NET]: Add a might_sleep() to dev_close(). Requested by Johannes Berg. Signed-off-by: David S. Miller commit 86bba269d08f0c545ae76c90b56727f65d62d57f Author: Eric Dumazet Date: Wed Sep 12 14:29:01 2007 +0200 [PATCH] NET : convert IP route cache garbage collection from softirq processing to a workqueue When the periodic IP route cache flush is done (every 600 seconds on default configuration), some hosts suffer a lot and eventually trigger the "soft lockup" message. dst_run_gc() is doing a scan of a possibly huge list of dst_entries, eventually freeing some (less than 1%) of them, while holding the dst_lock spinlock for the whole scan. Then it rearms a timer to redo the full thing 1/10 s later... The slowdown can last one minute or so, depending on how active are the tcp sessions. This second version of the patch converts the processing from a softirq based one to a workqueue. Even if the list of entries in garbage_list is huge, host is still responsive to softirqs and can make progress. Instead of resetting gc timer to 0.1 second if one entry was freed in a gc run, we do this if more than 10% of entries were freed. Before patch : Aug 16 06:21:37 SRV1 kernel: BUG: soft lockup detected on CPU#0! Aug 16 06:21:37 SRV1 kernel: Aug 16 06:21:37 SRV1 kernel: Call Trace: Aug 16 06:21:37 SRV1 kernel: [] wake_up_process+0x10/0x20 Aug 16 06:21:37 SRV1 kernel: [] softlockup_tick+0xe9/0x110 Aug 16 06:21:37 SRV1 kernel: [] dst_run_gc+0x0/0x140 Aug 16 06:21:37 SRV1 kernel: [] run_local_timers+0x13/0x20 Aug 16 06:21:37 SRV1 kernel: [] update_process_times+0x57/0x90 Aug 16 06:21:37 SRV1 kernel: [] smp_local_timer_interrupt+0x34/0x60 Aug 16 06:21:37 SRV1 kernel: [] smp_apic_timer_interrupt+0x5c/0x80 Aug 16 06:21:37 SRV1 kernel: [] apic_timer_interrupt+0x66/0x70 Aug 16 06:21:37 SRV1 kernel: [] dst_run_gc+0x53/0x140 Aug 16 06:21:37 SRV1 kernel: [] dst_run_gc+0x46/0x140 Aug 16 06:21:37 SRV1 kernel: [] run_timer_softirq+0x148/0x1c0 Aug 16 06:21:37 SRV1 kernel: [] __do_softirq+0x6c/0xe0 Aug 16 06:21:37 SRV1 kernel: [] call_softirq+0x1c/0x30 Aug 16 06:21:37 SRV1 kernel: [] do_softirq+0x34/0x90 Aug 16 06:21:37 SRV1 kernel: [] local_bh_enable_ip+0x3f/0x60 Aug 16 06:21:37 SRV1 kernel: [] _spin_unlock_bh+0x13/0x20 Aug 16 06:21:37 SRV1 kernel: [] rt_garbage_collect+0x1d8/0x320 Aug 16 06:21:37 SRV1 kernel: [] dst_alloc+0x1d/0xa0 Aug 16 06:21:37 SRV1 kernel: [] __ip_route_output_key+0x573/0x800 Aug 16 06:21:37 SRV1 kernel: [] sock_common_recvmsg+0x32/0x50 Aug 16 06:21:37 SRV1 kernel: [] ip_route_output_flow+0x1c/0x60 Aug 16 06:21:37 SRV1 kernel: [] tcp_v4_connect+0x150/0x610 Aug 16 06:21:37 SRV1 kernel: [] inet_bind_bucket_create+0x17/0x60 Aug 16 06:21:37 SRV1 kernel: [] inet_stream_connect+0xa6/0x2c0 Aug 16 06:21:37 SRV1 kernel: [] _spin_lock_bh+0x11/0x30 Aug 16 06:21:37 SRV1 kernel: [] lock_sock_nested+0xcf/0xe0 Aug 16 06:21:37 SRV1 kernel: [] _spin_lock_bh+0x11/0x30 Aug 16 06:21:37 SRV1 kernel: [] sys_connect+0x71/0xa0 Aug 16 06:21:37 SRV1 kernel: [] tcp_setsockopt+0x1f/0x30 Aug 16 06:21:37 SRV1 kernel: [] sock_common_setsockopt+0xf/0x20 Aug 16 06:21:37 SRV1 kernel: [] sys_setsockopt+0x9d/0xc0 Aug 16 06:21:37 SRV1 kernel: [] sys_ioctl+0x5e/0x80 Aug 16 06:21:37 SRV1 kernel: [] system_call+0x7e/0x83 After patch : (RT_CACHE_DEBUG set to 2 to get following traces) dst_total: 75469 delayed: 74109 work_perf: 141 expires: 150 elapsed: 8092 us dst_total: 78725 delayed: 73366 work_perf: 743 expires: 400 elapsed: 8542 us dst_total: 86126 delayed: 71844 work_perf: 1522 expires: 775 elapsed: 8849 us dst_total: 100173 delayed: 68791 work_perf: 3053 expires: 1256 elapsed: 9748 us dst_total: 121798 delayed: 64711 work_perf: 4080 expires: 1997 elapsed: 10146 us dst_total: 154522 delayed: 58316 work_perf: 6395 expires: 25 elapsed: 11402 us dst_total: 154957 delayed: 58252 work_perf: 64 expires: 150 elapsed: 6148 us dst_total: 157377 delayed: 57843 work_perf: 409 expires: 400 elapsed: 6350 us dst_total: 163745 delayed: 56679 work_perf: 1164 expires: 775 elapsed: 7051 us dst_total: 176577 delayed: 53965 work_perf: 2714 expires: 1389 elapsed: 8120 us dst_total: 198993 delayed: 49627 work_perf: 4338 expires: 1997 elapsed: 8909 us dst_total: 226638 delayed: 46865 work_perf: 2762 expires: 2748 elapsed: 7351 us I successfully reduced the IP route cache of many hosts by a four factor thanks to this patch. Previously, I had to disable "ip route flush cache" to avoid crashes. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3c12afe75f61d9402797d63941367962ca36fcc9 Author: David S. Miller Date: Wed Sep 12 14:18:18 2007 +0200 [NET]: Fix missed addition of fs/proc/proc_net.c My bad. Signed-off-by: David S. Miller commit 678aa8e4eb1e5d78dfdb70934932c9c90e315f62 Author: David S. Miller Date: Wed Sep 12 14:01:08 2007 +0200 [NET]: #if 0 out net_alloc() for now. We will undo this once it is actually used. Signed-off-by: David S. Miller commit c48dad7ecd84eac92afbe02bd69fca9983a65a56 Author: Eric W. Biederman Date: Wed Sep 12 13:58:02 2007 +0200 [NET]: Disable netfilter sockopts when not in the initial network namespace Until we support multiple network namespaces with netfilter only allow netfilter configuration in the initial network namespace. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit d8a5ec672768c3cf4d51d7a63fc071520afa1617 Author: Eric W. Biederman Date: Wed Sep 12 13:57:04 2007 +0200 [NET]: netlink support for moving devices between network namespaces. The simplest thing to implement is moving network devices between namespaces. However with the same attribute IFLA_NET_NS_PID we can easily implement creating devices in the destination network namespace as well. However that is a little bit trickier so this patch sticks to what is simple and easy. A pid is used to identify a process that happens to be a member of the network namespace we want to move the network device to. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit ce286d327341295f58d89864d746a524287cfdf9 Author: Eric W. Biederman Date: Wed Sep 12 13:53:49 2007 +0200 [NET]: Implement network device movement between namespaces This patch introduces NETIF_F_NETNS_LOCAL a flag to indicate a network device is local to a single network namespace and should never be moved. Useful for pseudo devices that we need an instance in each network namespace (like the loopback device) and for any device we find that cannot handle multiple network namespaces so we may trap them in the initial network namespace. This patch introduces the function dev_change_net_namespace a function used to move a network device from one network namespace to another. To the network device nothing special appears to happen, to the components of the network stack it appears as if the network device was unregistered in the network namespace it is in, and a new device was registered in the network namespace the device was moved to. This patch sets up a namespace device destructor that upon the exit of a network namespace moves all of the movable network devices to the initial network namespace so they are not lost. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit b267b179648e46ea8e2a44f7314a23eb6aee1d6c Author: Eric W. Biederman Date: Wed Sep 12 13:48:45 2007 +0200 [NET]: Factor out __dev_alloc_name from dev_alloc_name When forcibly changing the network namespace of a device I need something that can generate a name for the device in the new namespace without overwriting the old name. __dev_alloc_name provides me that functionality. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 881d966b48b035ab3f3aeaae0f3d3f9b584f45b2 Author: Eric W. Biederman Date: Mon Sep 17 11:56:21 2007 -0700 [NET]: Make the device list and device lookups per namespace. This patch makes most of the generic device layer network namespace safe. This patch makes dev_base_head a network namespace variable, and then it picks up a few associated variables. The functions: dev_getbyhwaddr dev_getfirsthwbytype dev_get_by_flags dev_get_by_name __dev_get_by_name dev_get_by_index __dev_get_by_index dev_ioctl dev_ethtool dev_load wireless_process_ioctl were modified to take a network namespace argument, and deal with it. vlan_ioctl_set and brioctl_set were modified so their hooks will receive a network namespace argument. So basically anthing in the core of the network stack that was affected to by the change of dev_base was modified to handle multiple network namespaces. The rest of the network stack was simply modified to explicitly use &init_net the initial network namespace. This can be fixed when those components of the network stack are modified to handle multiple network namespaces. For now the ifindex generator is left global. Fundametally ifindex numbers are per namespace, or else we will have corner case problems with migration when we get that far. At the same time there are assumptions in the network stack that the ifindex of a network device won't change. Making the ifindex number global seems a good compromise until the network stack can cope with ifindex changes when you change namespaces, and the like. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit b4b510290b056b86611757ce1175a230f1080f53 Author: Eric W. Biederman Date: Wed Sep 12 13:05:38 2007 +0200 [NET]: Support multiple network namespaces with netlink Each netlink socket will live in exactly one network namespace, this includes the controlling kernel sockets. This patch updates all of the existing netlink protocols to only support the initial network namespace. Request by clients in other namespaces will get -ECONREFUSED. As they would if the kernel did not have the support for that netlink protocol compiled in. As each netlink protocol is updated to be multiple network namespace safe it can register multiple kernel sockets to acquire a presence in the rest of the network namespaces. The implementation in af_netlink is a simple filter implementation at hash table insertion and hash table look up time. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit e9dc86534051b78e41e5b746cccc291b57a3a311 Author: Eric W. Biederman Date: Wed Sep 12 13:02:17 2007 +0200 [NET]: Make device event notification network namespace safe Every user of the network device notifiers is either a protocol stack or a pseudo device. If a protocol stack that does not have support for multiple network namespaces receives an event for a device that is not in the initial network namespace it quite possibly can get confused and do the wrong thing. To avoid problems until all of the protocol stacks are converted this patch modifies all netdev event handlers to ignore events on devices that are not in the initial network namespace. As the rest of the code is made network namespace aware these checks can be removed. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit e730c15519d09ea528b4d2f1103681fa5937c0e6 Author: Eric W. Biederman Date: Mon Sep 17 11:53:39 2007 -0700 [NET]: Make packet reception network namespace safe This patch modifies every packet receive function registered with dev_add_pack() to drop packets if they are not from the initial network namespace. This should ensure that the various network stacks do not receive packets in a anything but the initial network namespace until the code has been converted and is ready for them. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 6d34b1c27a72d5d1c73c567b2f6b1fde316e0eae Author: Eric W. Biederman Date: Wed Sep 12 12:57:33 2007 +0200 [NET]: Initialize the network namespace of network devices. Except for carefully selected pseudo devices all network interfaces should start out in the initial network namespace. Ultimately it will be register_netdev that examines what dev->nd_net is set to and places a device in a network namespace. This patch modifies alloc_netdev to initialize the network namespace a device is in with the initial network namespace. This gets it right for the vast majority of devices so their drivers need not be modified and for those few pseudo devices that need something different they can change this parameter before calling register_netdevice. The network namespace parameter on a network device is not reference counted as the devices are inside of a network namespace and cannot remain in that namespace past the lifetime of the network namespace. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 1b8d7ae42d02e483ad94035cca851e4f7fbecb40 Author: Eric W. Biederman Date: Mon Oct 8 23:24:22 2007 -0700 [NET]: Make socket creation namespace safe. This patch passes in the namespace a new socket should be created in and has the socket code do the appropriate reference counting. By virtue of this all socket create methods are touched. In addition the socket create methods are modified so that they will fail if you attempt to create a socket in a non-default network namespace. Failing if we attempt to create a socket outside of the default network namespace ensures that as we incrementally make the network stack network namespace aware we will not export functionality that someone has not audited and made certain is network namespace safe. Allowing us to partially enable network namespaces before all of the exotic protocols are supported. Any protocol layers I have missed will fail to compile because I now pass an extra parameter into the socket creation code. [ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ] Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 457c4cbc5a3dde259d2a1f15d5f9785290397267 Author: Eric W. Biederman Date: Wed Sep 12 12:01:34 2007 +0200 [NET]: Make /proc/net per network namespace This patch makes /proc/net per network namespace. It modifies the global variables proc_net and proc_net_stat to be per network namespace. The proc_net file helpers are modified to take a network namespace argument, and all of their callers are fixed to pass &init_net for that argument. This ensures that all of the /proc/net files are only visible and usable in the initial network namespace until the code behind them has been updated to be handle multiple network namespaces. Making /proc/net per namespace is necessary as at least some files in /proc/net depend upon the set of network devices which is per network namespace, and even more files in /proc/net have contents that are relevant to a single network namespace. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 07feaebfcc10cd35e745c7073667935246494bee Author: Eric W. Biederman Date: Wed Sep 12 11:58:02 2007 +0200 [NET]: Add a network namespace parameter to struct sock Sockets need to get a reference to their network namespace, or possibly a simple hold if someone registers on the network namespace notifier and will free the sockets when the namespace is going to be destroyed. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 4a1c537113cdc688aabc3fb9bb6ed18ec821c779 Author: Eric W. Biederman Date: Wed Sep 12 11:56:32 2007 +0200 [NET]: Add a network namespace tag to struct net_device Please note that network devices do not increase the count count on the network namespace. The are inside the network namespace and so the network namespace tag is in the nature of a back pointer and so getting and putting the network namespace is unnecessary. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 772698f6362680b65211f7efc68121f1e4c28aa5 Author: Eric W. Biederman Date: Wed Sep 12 11:55:17 2007 +0200 [NET]: Add a network namespace parameter to tasks This is the network namespace from which all which all sockets and anything else under user control ultimately get their network namespace parameters. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 5f256becd868bf63b70da8f2769033d6734670e9 Author: Eric W. Biederman Date: Wed Sep 12 11:50:50 2007 +0200 [NET]: Basic network namespace infrastructure. This is the basic infrastructure needed to support network namespaces. This infrastructure is: - Registration functions to support initializing per network namespace data when a network namespaces is created or destroyed. - struct net. The network namespace data structure. This structure will grow as variables are made per network namespace but this is the minimal starting point. - Functions to grab a reference to the network namespace. I provide both get/put functions that keep a network namespace from being freed. And hold/release functions serve as weak references and will warn if their count is not zero when the data structure is freed. Useful for dealing with more complicated data structures like the ipv4 route cache. - A list of all of the network namespaces so we can iterate over them. - A slab for the network namespace data structure allowing leaks to be spotted. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 32da477a5bfe96b6dfc8960e0d22d89ca09fd10a Author: Eric W. Biederman Date: Wed Sep 12 11:37:03 2007 +0200 [NET]: Don't implement dev_ifname32 inline The current implementation of dev_ifname makes maintenance difficult because updates to the implementation of the ioctl have to made in two places. So this patch updates dev_ifname32 to do a classic 32/64 structure conversion and call sys_ioctl like the rest of the compat calls do. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 890d52d3f1e28888c4122e120426588f5ad63d37 Author: Eric W. Biederman Date: Wed Sep 12 11:26:59 2007 +0200 [ATALK]: In notifier handlers convert the void pointer to a netdevice This slightly improves code safety and clarity. Later network namespace patches touch this code so this is a preliminary cleanup. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit ab5f5e8b144e4c804ef3aa1ce08a9ca9f01187ce Author: Joy Latten Date: Mon Sep 17 11:51:22 2007 -0700 [XFRM]: xfrm audit calls This patch modifies the current ipsec audit layer by breaking it up into purpose driven audit calls. So far, the only audit calls made are when add/delete an SA/policy. It had been discussed to give each key manager it's own calls to do this, but I found there to be much redundnacy since they did the exact same things, except for how they got auid and sid, so I combined them. The below audit calls can be made by any key manager. Hopefully, this is ok. Signed-off-by: Joy Latten Signed-off-by: David S. Miller commit d2e9117c7aa9544d910634e17e3519fd67155229 Author: John Heffner Date: Wed Sep 12 10:44:19 2007 +0200 [NET]: Change type of owner in sock_lock_t to int, rename The type of owner in sock_lock_t is currently (struct sock_iocb *), presumably for historical reasons. It is never used as this type, only tested as NULL or set to (void *)1. For clarity, this changes it to type int, and renames to owned, to avoid any possible type casting errors. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit 02b3d34631831a19ee691516e233756b270eac6d Author: John Heffner Date: Wed Sep 12 10:42:12 2007 +0200 [NET] Cleanup: Use sock_owned_by_user() macro Changes asserts in sunrpc to use sock_owned_by_user() macro instead of referencing sock_lock.owner directly. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit ab0049b4a2f66074dff6af851b35bba888f53972 Author: Andy Gospodarek Date: Thu Sep 6 20:42:14 2007 +0100 [TG3]: remove sparse warnings Removed sparse warnings from tg3 driver. The new logic seems fine (I don't immediately see where we are running over values for any of the variables that need to be saved). This patch compiles fine and I'm currently using a tg3 with the patched driver to post this patch as a basic proof of concept. Signed-off-by: Andy Gospodarek Signed-off-by: David S. Miller commit 50f17787e9b0222ce65cc831407c3ba4790db3ff Author: Stephen Hemminger Date: Thu Sep 6 13:55:02 2007 +0100 [AF_PACKET]: Don't enable global timestamps. Andi mentioned he did something like this already, but never submitted it. The dhcp client application uses AF_PACKET with a packet filter to receive data. The application doesn't even use timestamps, but because the AF_PACKET API has timestamps, they get turned on globally which causes an expensive time of day lookup for every packet received on any system that uses the standard DHCP client. The fix is to not enable the timestamp (but use if if available). This causes the time lookup to only occur on those packets that are destined for the AF_PACKET socket. The timestamping occurs after packet filtering so all packets dropped by filtering to not cause a clock call. The one downside of this a a few microseconds additional delay added from the normal timestamping location (netif_rx) until the receive callback in AF_PACKET. But since the offset is fairly consistent it should not upset applications that do want really use timestamps, like wireshark. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c7261872256f9172eb26438b96725b6f2115e955 Author: Micah Gruber Date: Wed Sep 5 07:58:14 2007 -0700 [DCCP]: Remove unneeded pointer newdp from dccp_v4_request_recv_sock() This trivial patch removes the unneeded pointer newdp, which is never used. Signed-off-by: Micah Gruber Signed-off-by: David S. Miller commit 1dfcae776548f464bee793d06484be275ba8efe7 Author: Micah Gruber Date: Wed Sep 5 07:56:50 2007 -0700 [IPV6]: Remove unneeded pointer iph from ipcomp6_input() in net/ipv6/ipcomp6.c This trivial patch removes the unneeded pointer iph, which is never used. Signed-off-by: Micah Gruber Signed-off-by: David S. Miller commit c9ee23dfac61a713de48b20999dcacb7ef3c5ed0 Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: make assoc_ap a flag The sta_info.assoc_ap value is used as a flag, move it into flags. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 52aa944a182545a987dc753f9602235a3359df0c Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: remove hostapd interface stuff This removes some definitions that are used only within ioctls that will never make it into mainline. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8dc06a1c6112fef7616d26e0b001455b5d8c3c5e Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: improve key selection comment When I changed the code there I forgot to mention what happens with multicast frames in a regular BSS and keep wondering myself if the code is correct. Add appropriate comments. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b331615722779b078822988843ddffd4eaec9f83 Author: John W. Linville Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: filter locally-originated multicast frames In STA mode, the AP will echo our traffic. This includes multicast traffic. Receiving these frames confuses some protocols and applications, notably IPv6 Duplicate Address Detection. Signed-off-by: John W. Linville Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 3c3b00caf98e5fdaa0184026a68f0008a5bf393e Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: clean up whitespace This cleans up some whitespace to make the mac80211 version in mainline diverge less from wireless-dev. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b63bde7bb75f74acf974f43dc2be8798be115007 Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: fix preamble setting It looks like in commit 28487a90 the condition was unintentionally negated by moving some code, fix it. Signed-off-by: Johannes Berg Cc: Daniel Drake Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6c55aa97359af4b503a8baf914de48f2406a895f Author: Larry Finger Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: Remove overly sticky averaging filters for rssi, signal, noise The current version of wireless statistics contains a bug in the averaging that makes the numbers be too sticky and not react to small changes. This patch removes all averaging. Signed-off-by: Larry Finger Signed-off-by: Jiri Benc Signed-off-by: John W. Linville Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e7a64f12a452d39ab50e5580e93bc48b3b15f30c Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: add interface index to key debugfs Add a new file 'ifindex' to each key's debugfs dir to allow finding which interface the key was configured on. This isn't done as a symlink because of possible netdev name changes. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 11a843b7e16062389c53ba393c7913956e034eb2 Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: rework key handling This moves all the key handling code out from ieee80211_ioctl.c into key.c and also does the following changes including documentation updates in mac80211.h: 1) Turn off hardware acceleration for keys when the interface is down. This is necessary because otherwise monitor interfaces could be decrypting frames for other interfaces that are down at the moment. Also, it should go some way towards better suspend/resume support, in any case the routines used here could be used for that as well. Additionally, this makes the driver interface nicer, keys for a specific local MAC address are only ever present while an interface with that MAC address is enabled. 2) Change driver set_key() callback interface to allow only return values of -ENOSPC, -EOPNOTSUPP and 0, warn on all other return values. This allows debugging the stack when a driver notices it's handed a key while it is down. 3) Invert the flag meaning to KEY_FLAG_UPLOADED_TO_HARDWARE. 4) Remove REMOVE_ALL_KEYS command as it isn't used nor do we want to use it, we'll use DISABLE_KEY for each key. It is hard to use REMOVE_ALL_KEYS because we can handle multiple virtual interfaces with different key configuration, so we'd have to keep track of a lot of state for this and that isn't worth it. 5) Warn when disabling a key fails, it musn't. 6) Remove IEEE80211_HW_NO_TKIP_WMM_HWACCEL in favour of per-key IEEE80211_KEY_FLAG_WMM_STA to let driver sort it out itself. 7) Tell driver that a (non-WEP) key is used only for transmission by using an all-zeroes station MAC address when configuring. 8) Change the set_key() callback to have access to the local MAC address the key is being added for. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 3aefaa3294193c931b20a574f718efee6baf27d4 Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: remove fake set_key() call Remove adding a fake key with a NONE key algorithm for each associated STA. If we have hardware with such TX filtering we should probably extend the sta_table_notification() callback with the sta information instead; the fact that it's treated as a key for some atheros hardware shouldn't bother the stack. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f658eb90d065c2d76ab3f3eb676ebf53462e323b Author: Johannes Berg Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211] key handling: remove default_wep_only Remove the default_wep_only stuff, this wasn't really done well and no current driver actually cares. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8f37171a6243a8370211a1e86d58be683ccf01f0 Author: Johannes Berg Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211]: remove krefs for keys they aren't really refcounted anyway Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8f20fc24986a083228823d9b68adca20714b254e Author: Johannes Berg Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211]: embed key conf in key, fix driver interface This patch embeds the struct ieee80211_key_conf into struct ieee80211_key and thus avoids allocations and having data present twice. This required some more changes: 1) The removal of the IEEE80211_KEY_DEFAULT_TX_KEY key flag. This flag isn't used by drivers nor should it be since we have a set_key_idx() callback. Maybe that callback needs to be extended to include the key conf, but only a driver that requires it will tell. 2) The removal of the IEEE80211_KEY_DEFAULT_WEP_ONLY key flag. This flag is global, so it shouldn't be passed in the key conf structure. Pass it to the function instead. Also, this patch removes the AID parameter to the set_key() callback because it is currently unused and the hardware currently cannot know about the AID anyway. I suspect this was used with some hardware that actually selected the AID itself, but that functionality was removed. Additionally, I've removed the ALG_NULL key algorithm since we have ALG_NONE. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 13262ffd4902805acad2618c12b41fcaa6c50791 Author: Jiri Slaby Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211]: Remove bitfields from struct ieee80211_sub_if_data mac80211, remove bitfields from struct ieee80211_sub_if_data Signed-off-by: Jiri Slaby Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d6f2da5b33911a31eb61e1790ef8e555e9605837 Author: Jiri Slaby Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211]: Remove bitfields from struct ieee80211_if_sta mac80211, remove bitfields from struct ieee80211_if_sta Signed-off-by: Jiri Slaby Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit badffb725c86cc2d46f7cb3f520f58f1c863b56c Author: Jiri Slaby Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211]: Remove bitfields from struct ieee80211_txrx_data mac80211, remove bitfields from struct ieee80211_txrx_data Signed-off-by: Jiri Slaby Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e8bf96495cd67090b4900ddaf8e8672a17ec39fa Author: Jiri Slaby Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211]: Remove bitfields from struct ieee80211_tx_packet_data remove bitfields from struct ieee80211_tx_packet_data [Johannes: completely clear flags in ieee80211_remove_tx_extra] Signed-off-by: Jiri Slaby Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit cf966838cd5596ca61d3e9949050442a943f6238 Author: Johannes Berg Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211]: use switch statement in tx code The transmit code needs to set the addresses depending on the interface type, a likely() for AP/VLAN is quite wrong since most people will be using STA; convert to a switch statement to make it look nicer. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit eb063c1702a84d58eb4c05a032bbff6f1c29049d Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: refactor event sending Create a new file event.c that will contain code to send mac/mlme events to userspace. For now put the Michael MIC failure condition into it and remove sending of that condition via the management interface, hostapd interestingly doesn't do anything when it gets such a packet besides printing a message, it reacts only on the private iwevent. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 808718c1477b8350e9e329bf4a35391ac7c7f982 Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: kill key_mgmt, use key_management_enabled The key_mgmt variable for STA interfaces doesn't seem well-defined nor do we actually use the values other than "NONE", so change it to be named better. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 7b33a57f0f5ed9fcc87f98ff5f6aa54291bd0558 Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: remove unused ioctls (3) The ioctls * PRISM2_PARAM_RADAR_DETECT * PRISM2_PARAM_SPECTRUM_MGMT are not used by hostapd or wpa_supplicant, Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 53cb670042999b8acb70945ce522b015dcdf7b43 Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: remove unused ioctls (2) The ioctls * PRISM2_PARAM_STA_ANTENNA_SEL * PRISM2_PARAM_TX_POWER_REDUCTION * PRISM2_PARAM_DEFAULT_WEP_ONLY are not used by hostapd or wpa_supplicant. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b2446b36800948586f1d1b8ef05803bba5f7489e Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: remove unused ioctls (1) The ioctls * PRISM2_PARAM_ANTENNA_MODE * PRISM2_PARAM_STAT_TIME are not used by hostapd or wpa_supplicant. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 3017b80bf0c4d6a44ccf0d35db9dadf01092b54e Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: fix software decryption When doing key selection for software decryption, mac80211 gets a few things wrong: it always uses pairwise keys if configured, even if the frame is addressed to a multicast address. Also, it doesn't allow using a key index of zero if a pairwise key has also been found. This patch changes the key selection code to be (more) in line with the 802.11 specification. I have confirmed that with this, multicast frames are correctly decrypted and I've tested with WEP as well. While at it, I've cleaned up the semantics of the hardware flags IEEE80211_HW_WEP_INCLUDE_IV and IEEE80211_HW_DEVICE_HIDES_WEP and clarified them in the mac80211.h header; it is also now allowed to set the IEEE80211_HW_DEVICE_HIDES_WEP option even if it only applies to frames that have been decrypted by the hw, unencrypted frames must be dropped but encrypted frames that the hardware couldn't handle can be passed up unmodified. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville commit 82f716056fb1c214289fe6c284b0316858c1b70c Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: remove radar stuff Unused in drivers, userspace and mac80211. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 643856729e2fde781f63eb84ecb43bbad35bf1ae Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: remove ieee80211_msg_wep_frame_unknown_key Neither hostapd nor wpa_supplicant really use it. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville commit 1a84f3fd141d2105d80290316bfa772ba34e9c64 Author: Johannes Berg Date: Tue Aug 28 17:01:52 2007 -0400 [MAC80211]: ratelimit some RX messages Many if not all of these messages can be triggered by sending a few rogue frames which is trivially done and then we overflow our logs. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit aaa92e9a743c740005d8a592dbc1b3ca310d35b5 Author: Johannes Berg Date: Thu Sep 6 03:36:10 2007 -0700 [MAC80211]: remove IEEE80211_HW_DATA_NULLFUNC_ACK Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e6660d9832f62e97941492b83eccbe370dfa72ba Author: Johannes Berg Date: Tue Aug 28 17:01:52 2007 -0400 [MAC80211]: remove PRISM2_PARAM_RADIO_ENABLED This now is unused in hostapd/wpa_supplicant. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 0ef6e49b75d0d64d5deab890c72d19fe86488f73 Author: Johannes Berg Date: Tue Aug 28 17:01:52 2007 -0400 [MAC80211]: remove IEEE80211_HW_HOST_GEN_BEACON flag The flag is never checked because drivers can simply call ieee80211_beacon_get() regardless of setting this flag. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4dfd1d2f6aeeac67d17d6c22052ae3a86db85c0b Author: Johannes Berg Date: Tue Aug 28 17:01:52 2007 -0400 [MAC80211]: remove reset callback The callback isn't used so remove it. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 50339a67e2d4386d8919195989371579cab8649d Author: Johannes Berg Date: Tue Aug 28 17:01:52 2007 -0400 [MAC80211]: fix key debugfs This fixes two issues with the key debugfs: 1) key index obviously isn't unique 2) various missing break statements led to bogus output Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 2a8a9a88fc1b18f5c45244d0ef8a5352f6cf761f Author: Johannes Berg Date: Tue Aug 28 17:01:52 2007 -0400 [MAC80211]: avoid copying packets to interfaces that are down David Woodhouse noticed that under some circumstances the number of slab allocations kept growing. After looking a bit, this seemed to happen when you had a management mode interface that was *down*. The reason for this is that when the device is down, all management frames get queued to the in-kernel MLME (via ieee80211_sta_rx_mgmt) but then the sta work is invoked but doesn't run when the netif is down. When you then bring the interface up, all such frames are freed, but if you change the mode all of them are lost because the skb queue is reinitialised as soon as you go back to managed mode. The skb queue is correctly cleared when the interface is brought down, but the code doesn't account for the fact that it may be filled while it is not up. This patch should fix the issue by simply ignoring all interfaces that are down when going through the RX handlers. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4b6aa59999a3a12dd4740a52299c6c33e85a8747 Author: Alex Villacís Lasso Date: Tue Aug 28 15:58:31 2007 -0700 [IrDA]: Kingsun KS-959 IrDA USB driver This dongle does not follow the usb-irda specification, so it needs its own special driver. First, it uses control URBs for data transfer, instead of bulk or interrupt transfers; the only interrupt endpoint exposed seems to be a dummy to prevent the interface from being rejected. Second, it uses obfuscation and padding at the USB traffic level, for no apparent reason other than to make reverse engineering harder (full details on obfuscation in comments at beginning of source). Although it is advertised as a "4 Mbps FIR dongle", it apparently loses packets at speeds greater than 57600 bps. On plugin, this dongle reports vendor and device IDs: 0x07d0:0x4959 . The Windows driver that is used normally to control this dongle has a filename of KS-959.SYS . Signed-off-by: Alex Villacís Lasso Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 4a1d7c25cb438f96b700ac26dc5aa0a38a6d86ea Author: Alex Villacís Lasso Date: Tue Aug 28 15:57:50 2007 -0700 [IrDA]: Kingsun Dazzle IrDA USB driver This dongle does not follow the usb-irda specification, so it needs its own special driver. Just like the Kingsun/Donshine dongle, it exposes two interrupt endpoints. Reception is performed through direct reads from the input endpoint. Transmission requires splitting the IrDA frames into 8-byte segments, in which the first byte encodes how many of the remaining 7 bytes are used as data. Speed change is made with a control URB just like the one in cypress_m8, and it seems to support up to 115200 bps. On plugin, this dongle reports vendor and device IDs: 0x07d0:0x4100 Signed-off-by: Alex Villacís Lasso Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit bcb5e0eef35059af372a7bd3fc68915278d74bc0 Author: Samuel Ortiz Date: Tue Aug 28 15:57:12 2007 -0700 [IrDA]: MSG_NOSIGNAL support for IrDA sockets Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 172589ccdde41b59861c92c4a971b95514ef24e3 Author: Ilpo Järvinen Date: Tue Aug 28 15:50:33 2007 -0700 [NET]: DIV_ROUND_UP cleanup (part two) Hopefully captured all single statement cases under net/. I'm not too sure if there is some policy about #includes that are "guaranteed" (ie., in the current tree) to be available through some other #included header, so I just added linux/kernel.h to each changed file that didn't #include it previously. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c45248c70125cc374fdf264659643276c72801bf Author: Robert Olsson Date: Mon Sep 17 11:47:12 2007 -0700 [SOFTIRQ]: Remove do_softirq() symbol export. As noted by Christoph Hellwig, pktgen was the only user so it can now be removed. [ Add missing cases caught by Adrian Bunk. -DaveM ] Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit b163911f8abf89bafb9cc0ec02a9c43af450ea81 Author: Robert Olsson Date: Tue Aug 28 15:46:58 2007 -0700 [PKTGEN]: Remove softirq scheduling. It's not a job for pktgen. Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 45b270f880d32252ded95865390e69deb714e080 Author: Robert Olsson Date: Tue Aug 28 15:45:55 2007 -0700 [PKTGEN]: Multiqueue support. Below some pktgen support to send into different TX queues. This can of course be feed into input queues on other machines Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 32b21e034be9954eaae0278df20e0251eb958ded Author: Denis Cheng Date: Tue Aug 28 15:41:11 2007 -0700 [NETLINK]: use container_of instead This could make future redesign of struct netlink_sock easier. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit f7944fb1913130ae7858008af96e52a3a6b04118 Author: Thomas Graf Date: Sat Aug 25 13:46:55 2007 -0700 [XFRM] policy: Replace magic number with XFRM_POLICY_OUT Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 3b26a9a655ee73a87071a9f6a1fdd5311e31d7c9 Author: Masahide NAKAMURA Date: Fri Aug 24 23:33:01 2007 -0700 [IPV4] IPSEC: Omit redirect for tunnelled packet. IPv4 IPsec tunnel gateway incorrectly sends redirect to sender if it is onlink host when network device the IPsec tunnelled packet is arrived is the same as the one the decapsulated packet is sent. With this patch, it omits to send the redirect when the forwarding skbuff carries secpath, since such skbuff should be assumed as a decapsulated packet from IPsec tunnel by own. Request for comments: Alternatively we'd have another way to change net/ipv4/route.c (__mkroute_input) to use RTCF_DOREDIRECT flag unless skbuff has no secpath. It is better than this patch at performance point of view because IPv4 redirect judgement is done at routing slow-path. However, it should be taken care of resource changes between SAD(XFRM states) and routing table. In other words, When IPv4 SAD is changed does the related routing entry go to its slow-path? If not, it is reasonable to apply this patch. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 1e5dc146173251e7baad9a1f7586d5a009b6d9f9 Author: Masahide NAKAMURA Date: Fri Aug 24 19:08:55 2007 +0900 [IPV6] IPSEC: Omit redirect for tunnelled packet. IPv6 IPsec tunnel gateway incorrectly sends redirect to router or sender when network device the IPsec tunnelled packet is arrived is the same as the one the decapsulated packet is sent. With this patch, it omits to send the redirect when the forwarding skbuff carries secpath, since such skbuff should be assumed as a decapsulated packet from IPsec tunnel by own. It may be a rare case for an IPsec security gateway, however it is not rare when the gateway is MIPv6 Home Agent since the another tunnel end-point is Mobile Node and it changes the attached network. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit a47ed4cd8cb0709723392f5b841e9015f765d0a6 Author: Noriaki TAKAMIYA Date: Thu Sep 6 03:31:25 2007 -0700 [IPV6] XFRM: Fix connected socket to use transformation. When XFRM policy and state are ready after TCP connection is started, the traffic should be transformed immediately, however it does not on IPv6 TCP. It depends on a dst cache replacement policy with connected socket. It seems that the replacement is always done for IPv4, however, on IPv6 case it is done only when routing cookie is changed. This patch fix that non-transformation dst can be changed to transformation one. This behavior is required by MIPv6 and improves IPv6 IPsec. Fixes by Masahide NAKAMURA. Signed-off-by: Noriaki TAKAMIYA Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit e773e4faa19c54c2f32ddd16add2919588488bd9 Author: Brian Haley Date: Fri Aug 24 23:16:08 2007 -0700 [IPV6]: Add v4mapped address inline Add v4mapped address inline to avoid calls to ipv6_addr_type(). Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 6f4fc423b96c8fdf6f5c8b8ad79b75b7fb5a5c59 Author: Stephen Hemminger Date: Mon Sep 17 11:44:25 2007 -0700 [SHAPER]: Mark for removal. This driver has been marked obsolete for a long time and is superseded by traffic schedulers. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 32c1da70810017a98aa6c431a5494a302b6b9a30 Author: Stephen Hemminger Date: Fri Aug 24 23:09:41 2007 -0700 [UDP]: Randomize port selection. This patch causes UDP port allocation to be randomized like TCP. The earlier code would always choose same port (ie first empty list). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 356f89e12e301376f26795643f3b5931c81c9cd5 Author: Ilpo Järvinen Date: Fri Aug 24 23:00:31 2007 -0700 [NET] Cleanup: DIV_ROUND_UP Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 18f02545a9a16c9a89778b91a162ad16d510bb32 Author: Ilpo Järvinen Date: Fri Aug 24 22:55:52 2007 -0700 [TCP] MIB: Add counters for discarded SACK blocks In DSACK case, some events are not extraordinary, such as packet duplication generated DSACK. They can arrive easily below snd_una when undo_marker is not set (TCP being in CA_Open), counting such DSACKs amoung SACK discards will likely just mislead if they occur in some scenario when there are other problems as well. Similarly, excessively delayed packets could cause "normal" DSACKs. Therefore, separate counters are allocated for DSACK events. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 5b3c98821a8753239aefc1c217409aa3e5c90787 Author: Ilpo Järvinen Date: Fri Aug 24 22:54:44 2007 -0700 [TCP]: Discard fuzzy SACK blocks SACK processing code has been a sort of russian roulette as no validation of SACK blocks is previously attempted. Besides, it is not very clear what all kinds of broken SACK blocks really mean (e.g., one that has start and end sequence numbers reversed). So now close the roulette once and for all. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 6728e7dc3e577241f36921c720cfb4eb8f5aed1a Author: Ilpo Järvinen Date: Fri Aug 24 22:53:26 2007 -0700 [TCP]: Rename tcp_ack_packets_out -> tcp_rearm_rto Only thing that tiny function does is rearming the RTO (if necessary), name it accordingly. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 6ff03ac355cc6c10f7b1f44dd466d41213acebca Author: Ilpo Järvinen Date: Fri Aug 24 22:44:06 2007 -0700 [TCP]: tcp_packets_out_inc to tcp_output.c (no callers elsewhere) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e9144bd8da80f3136b23c615609798e371e885ac Author: Ilpo Järvinen Date: Fri Aug 24 22:43:14 2007 -0700 [TCP]: Remove unnecessary wrapper tcp_packets_out_dec Makes caller side more obvious, there's no need to have a wrapper for this oneliner! Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 522400623e240ad134cb4101b1fddc3245d2a7ed Author: Stephen Hemminger Date: Tue Aug 28 15:22:09 2007 -0700 [ATM]: Replace DPRINTK() with pr_debug(). Get rid of using DPRINTK macro in ATM and use pr_debug (in kernel.h). Using the standard macro is cleaner and forces code to check for bad arguments and formatting. Fixes from Thomas Graf. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 23f1f4eff85d3d2ec9ed589e3fdcbba59eaa083e Author: Stephen Hemminger Date: Fri Aug 24 22:35:44 2007 -0700 [NET] ethernet: optimize memcpy and memset The ethernet header management only needs to handle a fixed size address (6 bytes). If the memcpy/memset are changed to be passed a constant length, then compiler can optimize for this case (and if it is smart eliminate string instructions). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fd21150a0fe10c504160db359a4eb425576f6e7d Author: Thomas Graf Date: Thu Sep 6 03:28:08 2007 -0700 [XFRM] netlink: Inline attach_encap_tmpl(), attach_sec_ctx(), and attach_one_addr() These functions are only used once and are a lot easier to understand if inlined directly into the function. Fixes by Masahide NAKAMURA. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 15901a2746e6a2dbe03043609f1575c2bcf726e8 Author: Thomas Graf Date: Wed Aug 22 14:02:39 2007 -0700 [XFRM] netlink: Remove dependency on rtnetlink Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 5424f32e484b9697808bbc0c0088dc2ead018d4f Author: Thomas Graf Date: Wed Aug 22 14:01:33 2007 -0700 [XFRM] netlink: Use nlattr instead of rtattr Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 35a7aa08bf7863dbfdb0eb69122d8aeaedd52748 Author: Thomas Graf Date: Wed Aug 22 14:00:40 2007 -0700 [XFRM] netlink: Rename attribute array from xfrma[] to attrs[] Increases readability a lot. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit fab448991df4ecca6c244e23982c70f7e715b864 Author: Thomas Graf Date: Wed Aug 22 13:59:43 2007 -0700 [XFRM] netlink: Enhance indexing of the attribute array nlmsg_parse() puts attributes at array[type] so the indexing method can be simpilfied by removing the obscuring "- 1". Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit cf5cb79f6946063b04be3df16dcaa781e48bdbef Author: Thomas Graf Date: Wed Aug 22 13:59:04 2007 -0700 [XFRM] netlink: Establish an attribute policy Adds a policy defining the minimal payload lengths for all the attributes allowing for most attribute validation checks to be removed from in the middle of the code path. Makes updates more consistent as many format errors are recognised earlier, before any changes have been attempted. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit a7bd9a45c8c8901f800a461a4098ebae2b8a4b78 Author: Thomas Graf Date: Wed Aug 22 13:58:18 2007 -0700 [XFRM] netlink: Use nlmsg_parse() to parse attributes Uses nlmsg_parse() to parse the attributes. This actually changes behaviour as unknown attributes (type > MAXTYPE) no longer cause an error. Instead unknown attributes will be ignored henceforth to keep older kernels compatible with more recent userspace tools. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 7deb2264909ec82ae4696dd73d8ffce6814c9114 Author: Thomas Graf Date: Wed Aug 22 13:57:39 2007 -0700 [XFRM] netlink: Use nlmsg_new() and type-safe size calculation helpers Moves all complex message size calculation into own inlined helper functions and makes use of the type-safe netlink interface. Using nlmsg_new() simplifies the calculation itself as it takes care of the netlink header length by itself. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit cfbfd45a8c4c0c8dd8ed491caefdeffd94acf9e4 Author: Thomas Graf Date: Wed Aug 22 13:57:04 2007 -0700 [XFRM] netlink: Clear up some of the CONFIG_XFRM_SUB_POLICY ifdef mess Moves all of the SUB_POLICY ifdefs related to the attribute size calculation into a function. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit c26445acbc292ab0466407db6d3bdcc5cbe1d03b Author: Thomas Graf Date: Wed Aug 22 13:56:23 2007 -0700 [XFRM] netlink: Move algorithm length calculation to its own function Adds alg_len() to calculate the properly padded length of an algorithm attribute to simplify the code. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit c0144beaeca42b643f4d1632f2b24fdc6c48a170 Author: Thomas Graf Date: Wed Aug 22 13:55:43 2007 -0700 [XFRM] netlink: Use nla_put()/NLA_PUT() variantes Also makes use of copy_sec_ctx() in another place and removes duplicated code. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 082a1ad573b76c8342c1da9d623aaeb5901e440b Author: Thomas Graf Date: Wed Aug 22 13:54:36 2007 -0700 [XFRM] netlink: Use nlmsg_broadcast() and nlmsg_unicast() This simplifies successful return codes from >0 to 0. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 7b67c8575f1ed0d5fd7524a33d34f5c88c52a194 Author: Thomas Graf Date: Wed Aug 22 13:53:52 2007 -0700 [XFRM] netlink: Use nlmsg_data() instead of NLMSG_DATA() Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 9825069d09d0201e547e9ee3f3b990cddef68788 Author: Thomas Graf Date: Wed Aug 22 12:47:26 2007 -0700 [XFRM] netlink: Use nlmsg_end() and nlmsg_cancel() Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 79b8b7f4ab686e0f14ceb9a6fa4437eb1e73a0e5 Author: Thomas Graf Date: Wed Aug 22 12:46:53 2007 -0700 [XFRM] netlink: Use nlmsg_put() instead of NLMSG_PUT() Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 6168b96c07d8d40f83622cfb488ca27e4178a603 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:19:44 2007 -0700 [DCCP]: Nuke the timeval helpers now that we fully converted to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8fb8354af9b92ce3bd41083995f1fe26024d0959 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:19:21 2007 -0700 [DCCP]: Nuke dccp_timestamp and dccps_epoch, not used anymore Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 234748954a9880cce8a065698dcbf692f9c23918 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:18:55 2007 -0700 [DCCP] options: convert dccp_insert_option_timestamp to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 19ac21465e15e476220909c01b23df847b6ffa30 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:18:33 2007 -0700 [DCCP]: Convert dccps_timestamp_time to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 0740d49c2465bdd2644455c4bc49794395b73433 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:18:13 2007 -0700 [DCCP] packet_history: Convert dccphtx_tstamp to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e7c2335794b949292ecfd01902c429e2ac3937e1 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:17:51 2007 -0700 [DCCP] packet_history: convert dccphrx_tstamp to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b8bda9d70842dab7902f0681e1297dcf0460fc94 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:17:25 2007 -0700 [DCCP] ackvec: Convert to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 668348a4232d3dd0ee48b3dc13228b5a7eb57565 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:17:02 2007 -0700 [DCCP] CCID3: Stop using dccp_timestamp Now to convert the ackvec code to ktime_t so that we can get rid of dccp_timestamp and the epoch thing in dccp_sock. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 9823b7b5542858afe5b6a1e2df83b3847c28f3d6 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:16:35 2007 -0700 [DCCP]: Convert dccp_sample_rtt to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a272378d1128d1c60a463a315646c86d174ff74c Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:16:05 2007 -0700 [KTIME]: Introduce ktime_sub_ns and ktime_sub_us First user will be the DCCP transport networking protocol. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e7a81c6d62cbefdeb23d92ad891f429bde1c49d2 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:15:37 2007 -0700 [DCCP]: Convert ccid3hcrx_tstamp_last_feedback to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 1faf0a1f5d9cafe031b8faa91636b67cdca726a3 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:15:13 2007 -0700 [DCCP]: Convert ccid3hcrx_tstamp_last_ack to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 23f062af6e90654ef939462c2c060ad103dec6f2 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:14:52 2007 -0700 [DCCP]: Convert ccid3hctx_t_ld to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ac198ea8d94a46830080372a539420cf4a8de4a3 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:14:27 2007 -0700 [DCCP]: Make ccid3_hc_tx_update_x get a timestamp if needed The code was too complicated, if p > 0 in ccid3_hc_tx_no_feedback_timer the timestamp was being obtained to be passed to ccid3_hc_tx_update_x, where only if p > 0 the timestamp was needed, so just leave it to ccid3_hc_tx_update_x to obtain the timestamp if needed. This will help in the upcoming changesets where we'll convert t_ld to ktime_t. We'll eventually try to reuse ktime_get_real() calls again. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4d93df0abd50b9c9e2d4561439a1a1d21ec5e68f Author: Neil Horman Date: Wed Aug 15 16:07:44 2007 -0700 [SCTP]: Rewrite of sctp buffer management code This patch introduces autotuning to the sctp buffer management code similar to the TCP. The buffer space can be grown if the advertised receive window still has room. This might happen if small message sizes are used, which is common in telecom environmens. New tunables are introduced that provide limits to buffer growth and memory pressure is entered if to much buffer spaces is used. Signed-off-by: Neil Horman Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 13c99b248f06e0b71d925f162d8e3b0084886a21 Author: Jeff Garzik Date: Wed Aug 15 16:01:56 2007 -0700 [ETHTOOL]: Internal cleanup of ethtool_value-related handlers Several get/set functions can be handled by a passing the ethtool_op function pointer directly to a generic function. This permits deletion of a fair bit of redundant code. Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 339bf024756690949f536777b921f34186eaa8b4 Author: Jeff Garzik Date: Wed Aug 15 16:01:32 2007 -0700 [ETHTOOL]: Introduce ->{get,set}_priv_flags, ETHTOOL_[GS]PFLAGS Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit ff03d49f0ca1959246068b315d26e009da692ff2 Author: Jeff Garzik Date: Wed Aug 15 16:01:08 2007 -0700 [ETHTOOL]: Introduce get_sset_count. Obsolete get_stats_count, self_test_count Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 3ae7c0b2e3747b50c3a6c63ebb67469e0a6b3203 Author: Jeff Garzik Date: Wed Aug 15 16:00:51 2007 -0700 [ETHTOOL]: Add ETHTOOL_[GS]FLAGS sub-ioctls Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 0bcc1816188e570bde1d56a208996660f2633ae0 Author: Satyam Sharma Date: Fri Aug 10 15:35:05 2007 -0700 [NET] netconsole: Support dynamic reconfiguration using configfs Based upon initial work by Keiichi Kii . This patch introduces support for dynamic reconfiguration (adding, removing and/or modifying parameters of netconsole targets at runtime) using a userspace interface exported via configfs. Documentation is also updated accordingly. Issues and brief design overview: (1) Kernel-initiated creation / destruction of kernel objects is not possible with configfs -- the lifetimes of the "config items" is managed exclusively from userspace. But netconsole must support boot/module params too, and these are parsed in kernel and hence netpolls must be setup from the kernel. Joel Becker suggested to separately manage the lifetimes of the two kinds of netconsole_target objects -- those created via configfs mkdir(2) from userspace and those specified from the boot/module option string. This adds complexity and some redundancy here and also means that boot/module param-created targets are not exposed through the configfs namespace (and hence cannot be updated / destroyed dynamically). However, this saves us from locking / refcounting complexities that would need to be introduced in configfs to support kernel-initiated item creation / destroy there. (2) In configfs, item creation takes place in the call chain of the mkdir(2) syscall in the driver subsystem. If we used an ioctl(2) to create / destroy objects from userspace, the special userspace program is able to fill out the structure to be passed into the ioctl and hence specify attributes such as local interface that are required at the time we set up the netpoll. For configfs, this information is not available at the time of mkdir(2). So, we keep all newly-created targets (via configfs) disabled by default. The user is expected to set various attributes appropriately (including the local network interface if required) and then write(2) "1" to the "enabled" attribute. Thus, netpoll_setup() is then called on the set parameters in the context of _this_ write(2) on the "enabled" attribute itself. This design enables the user to reconfigure existing netconsole targets at runtime to be attached to newly-come-up interfaces that may not have existed when netconsole was loaded or when the targets were actually created. All this effectively enables us to get rid of custom ioctls. (3) Ultra-paranoid configfs attribute show() and store() operations, with sanity and input range checking, using only safe string primitives, and compliant with the recommendations in Documentation/filesystems/sysfs.txt. (4) A new function netpoll_print_options() is created in the netpoll API, that just prints out the configured parameters for a netpoll structure. netpoll_parse_options() is modified to use that and it is also exported to be used from netconsole. Signed-off-by: Satyam Sharma Acked-by: Keiichi Kii Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit b5427c27173e128dda1541bd9d3b05df79af5882 Author: Satyam Sharma Date: Fri Aug 10 15:33:40 2007 -0700 [NET] netconsole: Support multiple logging targets Based upon initial work by Keiichi Kii . This patch introduces support for multiple targets, independent of CONFIG_NETCONSOLE_DYNAMIC -- this is useful even in the default case and (including the infrastructure introduced in previous patches) doesn't really add too many bytes to module text. All the complexity (and size) comes with the dynamic reconfigurability / userspace interface patch, and so it's plausible users may want to keep this enabled but that disabled (say to avoid a dependency on CONFIG_CONFIGFS_FS too). Also update documentation to mention the use of ";" separator to specify multiple logging targets in the boot/module option string. Brief overview: We maintain a target_list (and corresponding lock). Get rid of the static "default_target" and introduce allocation and release functions for our netconsole_target objects (but keeping sure to preserve previous behaviour such as default values). During init_netconsole(), ";" is used as the separator to identify multiple target specifications in the boot/module option string. The target specifications are parsed and netpolls setup. During exit, the target_list is torn down and all items released. Signed-off-by: Satyam Sharma Signed-off-by: Keiichi Kii Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 17951f34b0970b05e29fd93a5b93fa05ec71308b Author: Satyam Sharma Date: Fri Aug 10 15:33:01 2007 -0700 [NET] netconsole: Introduce netconsole_netdev_notifier Based upon initial work by Keiichi Kii . To update fields of underlying netpoll structure at runtime on corresponding NETDEV_CHANGEADDR or NETDEV_CHANGENAME notifications. ioctl(SIOCSIFHWADDR or SIOCSIFNAME) could be used to change the hardware/MAC address or name of the local interface that our netpoll is attached to. Whenever this happens, netdev notifier chain is called out with the NETDEV_CHANGEADDR or NETDEV_CHANGENAME event message. We respond to that and update the local_mac or dev_name field of the struct netpoll. This makes sense anyway, but is especially required for dynamic netconsole because the netpoll structure's internal members become user visible files when either sysfs or configfs are used. So this helps us to keep up with the MAC address/name changes and keep values in struct netpoll uptodate. [ Note that ioctl(SIOCSIFADDR) to change IP address of interface at runtime is not handled (to update local_ip of netpoll) on purpose -- some setups may set the local_ip to a private address, not necessary the actual IP address of the sender host, as presently allowed. ] Signed-off-by: Satyam Sharma Signed-off-by: Keiichi Kii Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit df180e369cf54a8ef8440667ab1d13d452fc7215 Author: Satyam Sharma Date: Fri Aug 10 15:32:14 2007 -0700 [NET] netconsole: Introduce netconsole_target Based upon initial work by Keiichi Kii . Introduce a wrapper structure over netpoll to represent logging targets configured in netconsole. This will get extended with other members in further patches. This is done independent of the (to-be-introduced) NETCONSOLE_DYNAMIC config option so that we're able to drastically cut down on the #ifdef complexity of final netconsole.c. Also, struct netconsole_target would be required for multiple targets support also, and not just dynamic reconfigurability. Signed-off-by: Satyam Sharma Signed-off-by: Keiichi Kii Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 8d4ef88b5df1afe097e38aef8cab2ed35ca141ea Author: Satyam Sharma Date: Fri Aug 10 15:31:19 2007 -0700 [NET] netconsole: Add some useful tips to documentation Based upon initial work by Keiichi Kii . Add some useful general-purpose tips. Also suggest solution for the frequent problem of console loglevel set too low numerically (i.e. for high priority messages only) on the sender. Signed-off-by: Satyam Sharma Acked-by: Keiichi Kii Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0cc120bea1d4ba3893a26c70d271e89f928b8a97 Author: Satyam Sharma Date: Fri Aug 10 15:30:31 2007 -0700 [NET] netconsole: Use netif_running() in write_msg() Based upon initial work by Keiichi Kii . Avoid unnecessarily disabling interrupts and calling netpoll_send_udp() if the corresponding local interface is not up. Signed-off-by: Satyam Sharma Acked-by: Keiichi Kii Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit d2b60881e28072109601c373abd1085499ccfef0 Author: Satyam Sharma Date: Fri Aug 10 15:29:47 2007 -0700 [NET] netconsole: Simplify boot/module option setup logic Based upon initial work by Keiichi Kii . Presently, boot/module parameters are set up quite differently for the case of built-in netconsole (__setup() -> obsolete_checksetup() -> netpoll_parse_options() -> strlen(config) == 0 in init_netconsole()) vs modular netconsole (module_param_string() -> string copied to the config variable -> strlen(config) != 0 init_netconsole() -> netpoll_parse_options()). This patch makes both of them similar by doing exactly the equivalent of a module_param_string() in option_setup() also -- just copying the param string passed from the kernel command line into "config" variable. So, strlen(config) != 0 in both cases, and netpoll_parse_options() is always called from init_netconsole(), thus making the setup logic for both cases similar. Now, option_setup() is only ever called / used for the built-in case, so we put it inside a #ifndef MODULE, otherwise gcc will complain about option_setup() being "defined but not used". Also, the "configured" variable is redundant with this patch and hence removed. Signed-off-by: Satyam Sharma Signed-off-by: Keiichi Kii Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit d133ccbdc30c7f86459519cec1126d6473762b10 Author: Satyam Sharma Date: Fri Aug 10 15:28:10 2007 -0700 [NET] netconsole: Remove bogus check Based upon initial work by Keiichi Kii . The (!np.dev) check in write_msg() is bogus (always false), because: np.dev is set by netpoll_setup(), which is called by init_netconsole() before register_console(), so write_msg() cannot be triggered unless netpoll_setup() successfully set np.dev. Also np.dev cannot go away from under us, because netpoll_setup() grabs us reference on it. So let's remove the bogus check. Signed-off-by: Satyam Sharma Acked-by: Keiichi Kii Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit d39badf05b52f99169b22ce324fd31c8b44a0473 Author: Satyam Sharma Date: Fri Aug 10 15:27:24 2007 -0700 [NET] netconsole: Cleanups, codingstyle, prettyfication Based upon initial work by Keiichi Kii . (1) Remove unwanted headers. (2) Mark __init and __exit as appropriate. (3) Various trivial codingstyle and prettification stuff. Signed-off-by: Satyam Sharma Signed-off-by: Keiichi Kii Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit ab66b4a7a3969077f6e2a18a0d2d849d3b84a337 Author: Stephen Hemminger Date: Fri Aug 10 15:22:58 2007 -0700 [IPV4] fib_trie: macro cleanup This patch converts the messy macro for MASK_PFX to inline function and expands TKEY_GET_MASK in the one place it is used. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0680191642c27c81c9be4557d9c6aa3487c15f69 Author: Stephen Hemminger Date: Fri Aug 10 15:22:13 2007 -0700 [IPV4] fib_trie: cleanup Try this out: * replace macro's with inlines * get rid of places doing multiple evaluations of NODE_PARENT [akpm@linux-foundation.org: rcu_dereference wants an lval] Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 13dae426318aae073028a4b3bd493104a991e800 Author: Ilpo Järvinen Date: Fri Aug 10 14:31:21 2007 -0700 [TCP]: Update comment about highest_sack validity This stale info came from the original idea, which proved to be unnecessarily complex, sacked_out > 0 is easy to do and that when it's going to be needed anyway (it _can_ be valid also when sacked_out == 0 but there's not going to be a guarantee about it for now). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e60402d0a909ca2e6e2fbdf9ed004ef0fae36d33 Author: Ilpo Järvinen Date: Thu Aug 9 15:14:46 2007 +0300 [TCP]: Move sack_ok access to obviously named funcs & cleanup Previously code had IsReno/IsFack defined as macros that were local to tcp_input.c though sack_ok field has user elsewhere too for the same purpose. This changes them to static inlines as preferred according the current coding style and unifies the access to sack_ok across multiple files. Magic bitops of sack_ok for FACK and DSACK are also abstracted to functions with appropriate names. Note: - One sack_ok = 1 remains but that's self explanary, i.e., it enables sack - Couple of !IsReno cases are changed to tcp_is_sack - There were no users for IsDSack => I dropped it Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b9c4595bc4947faa236a849324fe3492e388d949 Author: Ilpo Järvinen Date: Fri Jul 27 16:36:17 2007 +0300 [TCP]: Don't panic if S+L skb is detected BUG_ON is an overkill. In fact, I was mislead by BUG_TRAP severity (equals to WARN_ON) which is much lower than BUG_ON's (that panics). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 1b6d427bb7eb69e6dc4f194a5b0f4a382a16ff82 Author: Ilpo Järvinen Date: Thu Aug 9 14:53:36 2007 +0300 [TCP]: Reduce sacked_out with reno when purging write_queue Previously TCP had a transitional state during which reno counted segments that are already below the current window into sacked_out, which is now prevented. In addition, re-try now the unconditional S+L skb catching. This approach conservatively calls just remove_sack and leaves reset_sack() calls alone. The best solution to the whole problem would be to first calculate the new sacked_out fully (this patch does not move reno_sack_reset calls from original sites and thus does not implement this). However, that would require very invasive change to fastretrans_alert (perhaps even slicing it to two halves). Alternatively, all callers of tcp_packets_in_flight (i.e., users that depend on sacked_out) should be postponed until the new sacked_out has been calculated but it isn't any simpler alternative. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d02596e32925edaeccee0af8eb6c229b5615de42 Author: Ilpo Järvinen Date: Sat Jul 7 13:39:02 2007 +0300 [TCP]: Keep state in Disorder also if only lost_out > 0 This happens rather infrequently and is only possible during FRTO. We must not allow TCP to slip to Open state because tcp_fastretrans_alert might then not be called on it's time when FRTO has exited. This become a problem when left_out got removed and was replaced by just sacked_out. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 86426c22d24e0c904012711a14cb5021f4a167dc Author: Ilpo Järvinen Date: Thu Aug 9 14:45:17 2007 +0300 [TCP]: Restore over-zealous tcp_sync_left_out-like removals tcp_verify_left_out is useful for verifying S+L condition, so add it back to couple of places in where the code was not calling to tcp_sync_left_out but used own ad-hoc solution (before the tcp_sync_left_out got removed). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 005903bc3a0e8473fef809e8775db52dcd3cde63 Author: Ilpo Järvinen Date: Thu Aug 9 14:44:16 2007 +0300 [TCP]: Left out sync->verify (the new meaning of it) & definify Left_out was dropped a while ago, thus leaving verifying consistency of the "left out" as only task for the function in question. Thus make it's name more appropriate. In addition, it is intentionally converted to #define instead of static inline because the location of the invariant failure is the most important thing to have if this ever triggers. I think it would have been helpful e.g. in this case where the location of the failure point had to be based on some quesswork: http://lkml.org/lkml/2007/5/2/464 ...Luckily the guesswork seems to have proved to be correct. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 83ae40885f33e406c87c86b0bd4b6fd31a741f12 Author: Ilpo Järvinen Date: Thu Aug 9 14:37:30 2007 +0300 [TCP]: Add tcp_left_out(tp) "back" to get cleaner looking lines tp->left_out got removed but nothing came to replace it back then (users just did addition by themselves), so add function for users now. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b5860bbac7be1381626f3dc8a0cb970a60fcefb4 Author: Ilpo Järvinen Date: Thu Aug 9 14:33:18 2007 +0300 [TCP]: Tighten tcp_sock's belt, drop left_out It is easily calculable when needed and user are not that many after all. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 35e8694198ba94b62df8aa35fa6e52a1cfb86df2 Author: Ilpo Järvinen Date: Thu May 31 10:16:47 2007 +0300 [TCP]: Remove num_acked>0 checks from cong.ctrl mods pkts_acked There is no need for such check in pkts_acked because the callback is not invoked unless at least one segment got fully ACKed (i.e., the snd_una moved past skb's end_seq) by the cumulative ACK's snd_una advancement. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit af610b4ca19f513a50d47ea93ed57241383c8081 Author: Ilpo Järvinen Date: Fri Jun 15 12:58:38 2007 +0300 [TCP]: Add tcp_dec_pcount_approx int variant Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit bdf1ee5d3bd38d0c44bd7baa74e07adcbe4ceab1 Author: Ilpo Järvinen Date: Sun May 27 02:04:16 2007 -0700 [TCP]: Move code from tcp_ecn.h to tcp*.c and tcp.h & remove it No other users exist for tcp_ecn.h. Very few things remain in tcp.h, for most TCP ECN functions callers reside within a single .c file and can be placed there. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 539d243fdd7900fa5a544c7c154dc3ddf627e840 Author: Ilpo Järvinen Date: Sun May 27 02:03:20 2007 -0700 [TCP]: Access to highest_sack obsoletes forward_cnt_hint In addition, added a reference about the purpose of the loop. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 9bff40fda015c4d0b57b444626cdcbf66066dbe7 Author: Ilpo Järvinen Date: Sun May 27 01:53:49 2007 -0700 [TCP] FRTO: remove unnecessary fackets/sacked_out recounting F-RTO does not touch SACKED_ACKED bits at all, so there is no need to recount them in tcp_enter_frto_loss. After removal of the else branch, nested ifs can be combined. This must also reset sacked_out when SACK is not in use as TCP could have received some duplicate ACKs prior RTO. To achieve that in a sane manner, tcp_reset_reno_sack was re-placed by the previous patch. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4ddf66769d2df868071420e2e0106746c6204ea3 Author: Ilpo Järvinen Date: Sun May 27 01:52:00 2007 -0700 [TCP]: Move Reno SACKed_out counter functions earlier Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d06e021d71d95aae402340dc3d9f79f9c8ad11d7 Author: David S. Miller Date: Mon Jun 18 22:43:06 2007 -0700 [TCP]: Extract DSACK detection code from tcp_sacktag_write_queue(). Signed-off-by: David S. Miller commit 19b2b486580f5939688d3e225acdc0f4b291ed0d Author: Ilpo Järvinen Date: Wed Mar 28 12:06:37 2007 -0700 [TCP]: Rexmit hint must be cleared instead of setting it Stupid error from my side. Even though now that I noticed this, I hoped it would have been an optimization but no, the counter hint is then incorrect. Thus clearing is necessary for now (I still suspect though that this path is never executed). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d8f4f2235abc7b30cf447ca3e22ac28326b12f28 Author: Ilpo Järvinen Date: Fri Apr 20 22:56:38 2007 -0700 [TCP]: Extracted rexmit hint clearing from the LOST marking code Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d738cd8fca948e45d53120247cb7a5f5be3ca09e Author: Ilpo Järvinen Date: Sat Mar 24 21:03:23 2007 -0700 [TCP]: Add highest_sack seqno, points to globally highest SACK It is guaranteed to be valid only when !tp->sacked_out. In most cases this seqno is available in the last ACK but there is no guarantee for that. The new fast recovery loss marking algorithm needs this as entry point. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d961db358f41033a8fc7b62948bc7cff1b4bb1fe Author: Thomas Graf Date: Wed Aug 8 23:12:56 2007 -0700 [NEIGH]: Netlink notifications Currently neighbour event notifications are limited to update notifications and only sent if the ARP daemon is enabled. This patch extends the existing notification code by also reporting neighbours being removed due to gc or administratively and removes the dependency on the ARP daemon. This allows to keep track of neighbour states without periodically fetching the complete neighbour table. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 4f494554f9b95d0de57c14c460d525e3715e3f6f Author: Thomas Graf Date: Wed Aug 8 23:12:36 2007 -0700 [NEIGH]: Combine neighbour cleanup and release Introduces neigh_cleanup_and_release() to be used after a neighbour has been removed from its neighbour table. Serves as preparation to add event notifications. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 1e6e9342d41ff80ced0ad5dfcf084926700cdfc5 Author: Andrew Gallatin Date: Mon Sep 17 11:37:42 2007 -0700 [MYRI10GE]: Use LRO. Singed off by: Andrew Gallatin Signed-off-by: David S. Miller commit d4dc4ec9d84e0578b9bfbe56a11fafdb7cbac771 Author: Jan-Bernd Themann Date: Tue Sep 25 16:16:34 2007 -0700 [EHEA]: Use LRO. Signed-off-by: Jan-Bernd Themann Signed-off-by: David S. Miller commit 71c87e0cedca843162206c698cfa02e5fea9e2e3 Author: Jan-Bernd Themann Date: Wed Aug 8 22:38:05 2007 -0700 [NET]: Generic Large Receive Offload for TCP traffic This patch provides generic Large Receive Offload (LRO) functionality for IPv4/TCP traffic. LRO combines received tcp packets to a single larger tcp packet and passes them then to the network stack in order to increase performance (throughput). The interface supports two modes: Drivers can either pass SKBs or fragment lists to the LRO engine. Signed-off-by: Jan-Bernd Themann Signed-off-by: David S. Miller commit e314dbdc1c0dc6a548ecf0afce28ecfd538ff568 Author: Pavel Emelyanov Date: Tue Sep 25 16:14:46 2007 -0700 [NET]: Virtual ethernet device driver. Veth stands for Virtual ETHernet. It is a simple tunnel driver that works at the link layer and looks like a pair of ethernet devices interconnected with each other. Mainly it allows to communicate between network namespaces but it can be used as is as well. The newlink callback is organized that way to make it easy to create the peer device in the separate namespace when we have them in kernel. This implementation uses another interface - the RTM_NRELINK message introduced by Patric. Bug fixes from Daniel Lezcano. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit e71992889ee289a87f6641cfa40d64a5699bcb53 Author: Pavel Emelianov Date: Wed Aug 8 22:16:38 2007 -0700 [RTNETLINK]: Introduce generic rtnl_create_link(). This routine gets the parsed rtnl attributes and creates a new link with generic info (IFLA_LINKINFO policy). Its intention is to help the drivers, that need to create several links at once (like VETH). This is nothing but a copy-paste-ed part of rtnl_newlink() function that is responsible for creation of new device. Signed-off-by: Pavel Emelianov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit bea3348eef27e6044b6161fd04c3152215f96411 Author: Stephen Hemminger Date: Wed Oct 3 16:41:36 2007 -0700 [NET]: Make NAPI polling independent of struct net_device objects. Several devices have multiple independant RX queues per net device, and some have a single interrupt doorbell for several queues. In either case, it's easier to support layouts like that if the structure representing the poll is independant from the net device itself. The signature of the ->poll() call back goes from: int foo_poll(struct net_device *dev, int *budget) to int foo_poll(struct napi_struct *napi, int budget) The caller is returned the number of RX packets processed (or the number of "NAPI credits" consumed if you want to get abstract). The callee no longer messes around bumping dev->quota, *budget, etc. because that is all handled in the caller upon return. The napi_struct is to be embedded in the device driver private data structures. Furthermore, it is the driver's responsibility to disable all NAPI instances in it's ->stop() device close handler. Since the napi_struct is privatized into the driver's private data structures, only the driver knows how to get at all of the napi_struct instances it may have per-device. With lots of help and suggestions from Rusty Russell, Roland Dreier, Michael Chan, Jeff Garzik, and Jamal Hadi Salim. Bug fixes from Thomas Graf, Roland Dreier, Peter Zijlstra, Joseph Fannin, Scott Wood, Hans J. Koch, and Michael Chan. [ Ported to current tree and all drivers converted. Integrated Stephen's follow-on kerneldoc additions, and restored poll_list handling to the old style to fix mutual exclusion issues. -DaveM ] Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dde4e47e8fe333a5649a3fa0e7db1fa7c08d6158 Author: Johannes Berg Date: Mon Aug 13 14:04:30 2007 +0200 [WIRELESS] radiotap parser: accept all other fields This makes the radiotap parser accept all other fields that are currently defined. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fe6aa301c747e0eca140428426e065657b6ab412 Author: Larry Finger Date: Fri Aug 10 11:23:20 2007 -0500 [MAC80211]: Add SIOCGIWTXPOWER routine The wireless extensions ioctl's implemented in mac80211 do not include SIOCGIWTXPOWER. This patch adds the necessary code. Acked-by: Michael Buesch Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 744b096e2b0976a10ae9a66aa6a3ae7fa4fce9f1 Author: Thomas Graf Date: Sun Jul 22 12:43:32 2007 +0200 [WIRELESS]: Use type safe netlink interface Makes use of the type safe netlink interface and adds a warning if the message is too big for NLMSG_DEFAULT_SIZE to help debug. Signed-off-by: Thomas Graf Signed-off-by: John W. Linville commit 1bec3f1a3ec5d922d1040c7845b82cd496c02d90 Author: Johannes Berg Date: Fri Jul 27 15:43:24 2007 +0200 [MAC80211]: fix add_interface monitor mode behaviour This makes it behave the same whether we have monitor during operation or not. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 9b8a74e3482f9fc077a88c13fa0ceca8feb0b772 Author: Andy Green Date: Fri Jul 27 15:43:24 2007 +0200 [MAC80211]: Improve sanity checks on injected packets Michael Wu noticed that the skb length checking is not taken care of enough when a packet is presented on the Monitor interface for injection. This patch improves the sanity checking and removes fake offsets placed into the skb network and transport header. Signed-off-by: Andy Green Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit dfe6e81deaa79c85086c0cc8d85b229e444ab97f Author: Andy Green Date: Fri Jul 27 15:43:24 2007 +0200 [MAC80211]: Add get_unaligned to ieee80211_get_radiotap_len ieee80211_get_radiotap_len() tries to dereference radiotap length without taking care that it is completely unaligned and get_unaligned() is required. Signed-off-by: Andy Green Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 0ec0b7ac3cdfb8635d75aead5733f7a424ea4ad3 Author: Michael Wu Date: Fri Jul 27 15:43:24 2007 +0200 [MAC80211]: use more GFP_KERNEL instead of GFP_ATOMIC This patch replaces atomic allocations with regular ones where possible. Merged with "revert some GFP_ATOMIC -> GFP_KERNEL changes" from Michael Wu: > Some of the allocations made with GFP_ATOMIC really were necessary. Signed-off-by: Michael Wu Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit d9430a32886f70c0c16d67c525f6cda2df7906ee Author: Daniel Drake Date: Fri Jul 27 15:43:24 2007 +0200 [MAC80211]: implement ERP info change notifications zd1211rw and bcm43xx are interested in being notified when ERP IE conditions change, so that they can reprogram a register which affects how control frames are transmitted. This patch adds an interface similar to the one that can be found in softmac. Signed-off-by: Daniel Drake Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 7e9ed18874f0df84b6651f0636e1cfdac43bc610 Author: Daniel Drake Date: Fri Jul 27 15:43:24 2007 +0200 [MAC80211]: improved short preamble handling Similarly to CTS protection, whether short preambles are used for 802.11b transmissions should be a per-subif setting, not device global. For STAs, this patch makes short preamble handling automatic based on the ERP IE. For APs, hostapd still uses the prism ioctls, but the write ioctl has been restricted to AP-only subifs. ieee80211_txrx_data.short_preamble (an unused field) was removed. Unfortunately, some API changes were required for the following functions: - ieee80211_generic_frame_duration - ieee80211_rts_duration - ieee80211_ctstoself_duration - ieee80211_rts_get - ieee80211_ctstoself_get Affected drivers were updated accordingly. Signed-off-by: Daniel Drake Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit d5d08def9216c445339c5a24a2cdc9cc2c8c13f7 Author: Ivo van Doorn Date: Fri Jul 27 15:43:23 2007 +0200 [MAC80211]: Add LONG_RETRY flag to ieee80211_tx_control mac80211 informs the driver what the short and long retry values are through set_retry_limit(), but when packets are being transmitted it did not inform the driver which of the 2 retry limits should actually be used. Instead it sends the actual value, but for drivers that can only set the retry limit and the register and in the descriptor need to indicate which of the limits should be used this is not really useful. This patch will add a IEEE80211_TXCTL_LONG_RETRY_LIMIT flag to the ieee80211_tx_control structure. By default the short retry limit should be used but if the flag is set the long retry should be used. This does not prevent the driver to ignore the request for "no retry" packets, but at least those will be send out with the short retry limit. But there is no perfect cure for this problem.. :( Signed-off-by: Ivo van Doorn Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 8a69aa93d54cb56017159b08512c80ede2263060 Author: Daniel Drake Date: Fri Jul 27 15:43:23 2007 +0200 [MAC80211]: STA reassociation improvements My cheapy D-Link AP behaves strangely w.r.t reassociations. The following sequence of commands causes me to lose association and to be unable to regain it: ifconfig eth8 down ifconfig eth8 up iwconfig eth8 essid This is because mac80211 tries to reassociate, rather than just associate. My AP replies with an association response (not a reassociation response...) denying the association with code 12: "Association denied due to reason outside the scope of this standard" mac80211 tries this reassociation another 4 times or so before finally giving up. I see 2 problems here: 1. bringing the interface down and up again should be resetting interface state i.e. after the interface is brought down, it should have no memory of if or where it was previously associated 2. after the first reassociation fails, mac80211 should fall back to standard association for the next attempt Signed-off-by: Daniel Drake Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit be8755e1804d6f60e6a96a46ac6bc46ce6dfca53 Author: Michael Wu Date: Fri Jul 27 15:43:23 2007 +0200 [MAC80211]: improve locking of sta_info related structures The sta_info code has some awkward locking which prevents some driver callbacks from being allowed to sleep. This patch makes the locking more focused so code that calls driver callbacks are allowed to sleep. It also converts sta_lock to a rwlock. Signed-off-by: Michael Wu Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit c2d1560ad8c2f6e0dd0d34102d022f3709325c26 Author: Johannes Berg Date: Fri Jul 27 15:43:23 2007 +0200 [MAC80211]: introduce util.c Introduce a new file util.c and move a whole bunch of functions into it. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit b2c258fb11b3fc77a73f8b0453ff1256de812bc6 Author: Johannes Berg Date: Fri Jul 27 15:43:23 2007 +0200 [MAC80211]: reorder interface related functions This patch groups a whole bunch of functions together to make ieee80211.c more maintainable. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit ff6880892990aece71a3271425dfde35344d51bb Author: Johannes Berg Date: Fri Jul 27 15:43:23 2007 +0200 [MAC80211]: move some rate control functions out of ieee80211.c I think these can go with rate control just as well and it makes ieee80211.c more readable. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 1f5a7e47ae58cc23c623c09f1c9d97b7a8cf6344 Author: Johannes Berg Date: Fri Jul 27 15:43:23 2007 +0200 [MAC80211]: split out some key functions from ieee80211.c into a new file key.c which doesn't have much code right now but it makes ieee80211.c easier to read. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 75c35aa4e2931b22e8e95fa2d6380eebac229f30 Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: remove some unnecessary includes Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit e2ebc74d7e3d71600640db6fbb28cc2f362184c1 Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: split TX path into own file Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 340e11f332c695c43f506e82b1d39d00716c5005 Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: rx cleanups (2) Some more outdenting to make the code more readable. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 52865dfd520ddd3d1176947106759ff944f0f8af Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: fix bug for per-sta stats pre_rx handlers can't really touch sta since for IBSS it might not be assigned yet, it can create sta info structs on-the-fly. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 23a24defa0da567eac615828563935c195fb48dc Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: split up __ieee80211_rx The really indented part that does the huge switch on the interface type is a nuisance. Put it into an own function 'prepare_for_handlers'. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 570bd537a9a1520ddebfed772bcf6eaf7510bec4 Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: split ieee80211_rx_h_check handler The ieee80211_rx_h_check handler really does two things, it's a lot easier to understand if it's split into ieee80211_rx_h_check and ieee80211_rx_h_load_key, and it may be possible in the future to optimise the key loading to not do it for each interface. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 8e6f003274147359ea612663048298823bed131f Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: rx cleanups (1) Make some really indented code more readable by outdenting. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 6e0d114d52833449a4e40f6dc8582e88d0742be4 Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: move QoS rx handlers into rx.c This patch moves the QoS handlers into rx.c making it possible to compile wme.c only when NET_SCHED is defined. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 571ecf676d66735f59be6b950360e4074f02f47d Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: split RX handlers into own file Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 3d73c2884f45f9a297cbc956cea101405a9703f2 Author: Roland Dreier Date: Wed Oct 10 15:43:54 2007 -0700 mlx4_core: Fix section mismatches Commit ee49bd93 ("mlx4_core: Reset device when internal error is detected") introduced some section mismatch problems when CONFIG_HOTPLUG=n, because the error recovery code tears down and reinitializes the device after everything is loaded, which ends up calling into lots of code marked __devinit and __devexit from regular .text. Fix this by getting rid of these now-incorrect section markers. Signed-off-by: Roland Dreier commit 335a64a5a958002bc238c90de695e120c3c8c120 Author: Or Gerlitz Date: Mon Oct 8 10:13:00 2007 +0200 IPoIB: Allow setting policy to ignore multicast groups The kernel IB stack allows (through the RDMA CM) userspace applications to join and use multicast groups from the IPoIB MGID range. This allows multicast traffic to be handled directly from userspace QPs, without going through the kernel stack, which gives better performance for some applications. However, to fully interoperate with IP multicast, such userspace applications need to participate in IGMP reports and queries, or else routers may not forward the multicast traffic to the system where the application is running. The simplest way to do this is to share the kernel IGMP implementation by using the IP_ADD_MEMBERSHIP option to join multicast groups that are being handled directly in userspace. However, in such cases, the actual multicast traffic should not also be handled by the IPoIB interface, because that would burn resources handling multicast packets that will just be discarded in the kernel. To handle this, this patch adds lookup on the database used for IB multicast group reference counting when IPoIB is joining multicast groups, and if a multicast group is already handled by user space, then the IPoIB kernel driver ignores the group. This is controlled by a per-interface policy flag. When the flag is set, IPoIB will not join and attach its QP to a multicast group which already has an entry in the database; when the flag is cleared, IPoIB will behave as before this change. For each IPoIB interface, the /sys/class/net/$intf/umcast attribute controls the policy flag. The default value is off/0. Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 55a98e955caab78a5959933a4a3a0136e2491d6c Author: Eli Cohen Date: Wed Oct 10 17:55:37 2007 +0200 IB/mthca: Mark error paths as unlikely() in post_srq_recv functions Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit c783837bc69dd0f329a441c1704f5a02d01d1bd5 Author: Nicolas Pitre Date: Tue Oct 9 17:07:58 2007 -0400 pxamci: support arbitrary block size The PXA has two transmit FIFOes, each32 byte deep. when one FIFO is full and the other one has been transmitted, they are automatically swapped and DMA is triggered for another 32 byte burst. However, when there is less than 32 bytes left to send, the FIFO swap has to be done manually. This is required for some SDIO transfers which are not required to be multiples of 32 bytes. A DMA completion interrupt is set for each descriptor which length isn't a multiple of 32 in order to force the FIFO swap. While at it, the DMA interrupt handler has been made a bit more resilient against errors. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit a991f44b79fa49b281eb078eed4a76a42101012a Author: Trent Piepho Date: Wed Oct 10 05:37:43 2007 -0300 V4L/DVB (6316): Change list_for_each+list_entry to list_for_each_entry The rest of V4L files. There is one list_for_each+list_entry in cpia_pp.c that wasn't changed because it expects the loop iterator to remain NULL if the list is empty. A bug in vivi is fixed; the 'safe' version needs to be used because the loop deletes the list entries. Simplify a second loop in vivi and get rid if an un-used variable in that loop. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit e77e2c2f2989eefff7e1c0fff9cb72afaedf6796 Author: Trent Piepho Date: Wed Oct 10 05:37:42 2007 -0300 V4L/DVB (6315): pvrusb2: Change list_for_each+list_entry to list_for_each_entry Signed-off-by: Trent Piepho Reviewed-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 6d28e98906aa9405895f92348543d08da1837ea5 Author: Trent Piepho Date: Wed Oct 10 05:37:42 2007 -0300 V4L/DVB (6314): saa7134: Replace list_for_each+list_entry with list_for_each_entry A couple loops weren't changed because they expected the loop iterator to be left as NULL if the list was empty. Maybe the code should just check for that first, then loop? Adjust some of the loop logic to be simpler. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 805a43924158e4eb2bffc4cac0aedcfb42a89469 Author: Trent Piepho Date: Wed Oct 10 05:37:41 2007 -0300 V4L/DVB (6313): ivtv: Replace list_for_each+list_entry with list_for_each_entry Also fixed a few cases of cut&paste errors where 'buf' would be set to the first entry in the list prior to be used as the loop iterator. In one case the value of buf was used before it was changed, but the rest were unnecessary. There was one list_for_each+list_entry loop that wasn't changed, since it depending on the loop iterator being left as NULL if the list was empty. Signed-off-by: Trent Piepho CC: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8bb629e22f2547736c24fe4738673e20cc06d469 Author: Trent Piepho Date: Wed Oct 10 05:37:40 2007 -0300 V4L/DVB (6312): cx88: Replace list_for_each+list_entry with list_for_each_entry Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 7948261942ffdb35e274b8e1a0889601f45d4603 Author: Trent Piepho Date: Wed Oct 10 05:37:39 2007 -0300 V4L/DVB (6311): dvb: Replace list_for_each+list_entry with list_for_each_entry Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit e1eea9fa00da50ed3dfb64ce669e9ae0b70c0629 Author: Grant Likely Date: Tue Oct 9 14:45:26 2007 -0600 [POWERPC] Add co-maintainer for PowerPC MPC52xx platform Added at the request of Sylvain Munaut. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut commit 4de3b992a6880828943f1b5849e1e7153fe4185c Author: Grant Likely Date: Tue Oct 9 14:45:28 2007 -0600 [POWERPC] MPC5200: Don't make firmware fixups into common code The Lite5200 u-boot image doesn't entirely configure the processor correctly and so Linux needs to fixup the cpu setup in setup_arch. Fixing the CPU setup is good, but making it into common code is not a good idea. New board ports should be encouraged not to take the lead of the lite5200 and instead get their firmware to setup the CPU the right way. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut commit 9fe2e7969d5e5af7dbd2086f2e18f4ebc585490d Author: Grant Likely Date: Wed Oct 10 09:52:00 2007 -0600 [POWERPC] MPC52xx: Trim includes on mpc5200 platform support code Drop unnecessary includes for MPC5200 based boards Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut commit aa2091b5403a9149bdb1329cc0575d8fa9c39633 Author: Grant Likely Date: Tue Oct 9 14:45:26 2007 -0600 [POWERPC] MPC52xx: Drop show_cpuinfo platform hooks from Lite5200 This hook doesn't really add any new information. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut commit 17c5c2093624e81acda16fb737e4679750addd7a Author: Grant Likely Date: Thu Oct 4 15:44:54 2007 -0600 [POWERPC] Uartlite: bootwrapper bug fix, getc loops forever Fixes inverted logic in uartlite_getc Signed-off-by: Grant Likely commit 4c3d514d7e5b394d1df76201aada8956c9605882 Author: Grant Likely Date: Thu Oct 4 15:44:51 2007 -0600 [POWERPC] Don't build arch/powerpc/sysdev/dcr.c for ARCH=ppc kernels dcr.c is an arch/powerpc only thing. Compiling ppc405 arch/ppc kernels throws warnings without this change. Signed-off-by: Grant Likely commit f210d43ce1a41ba56640bbd8d8bfe817dd2b1297 Author: Grant Likely Date: Wed Oct 3 23:24:52 2007 -0600 [POWERPC] Virtex: Fix URL for Xilinx Virtex support in MAINTAINERS Change URL in MAINTAINERS to a more relevant one. Signed-off-by: Grant Likely commit b9a22794f2c186b5722eac94b6735e797d976027 Author: Grant Likely Date: Thu Oct 4 10:48:37 2007 -0600 [POWERPC] XilinxFB: sparse fixes Signed-off-by: Grant Likely commit 68ee0f9c98a42e36f9eab29155b2bb0e7e409ac6 Author: Magnus Damm Date: Wed Oct 10 18:04:42 2007 +0900 sh: allow building for both r2d boards in same binary. This patch enables building for both R2D-PLUS and R2D-1 boards. All code is already in place except for the Kconfig limitation. This is useful if you want to run the same binary on both R2D-PLUS and R2D-1 boards. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9cbf3be67d51f73cf125aa8dec4ec8c215f264e8 Author: Magnus Damm Date: Wed Oct 10 18:03:58 2007 +0900 sh: fix r2d board detection This patch fixes the R2D-PLUS and R2D-1 board detection code. Tested on two R2D-PLUS and two R2D-1 boards. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c36258b5925e6cf6bf72904635100593573bfcff Author: David Teigland Date: Thu Sep 27 15:53:38 2007 -0500 [DLM] block dlm_recv in recovery transition Introduce a per-lockspace rwsem that's held in read mode by dlm_recv threads while working in the dlm. This allows dlm_recv activity to be suspended when the lockspace transitions to, from and between recovery cycles. The specific bug prompting this change is one where an in-progress recovery cycle is aborted by a new recovery cycle. While dlm_recv was processing a recovery message, the recovery cycle was aborted and dlm_recoverd began cleaning up. dlm_recv decremented recover_locks_count on an rsb after dlm_recoverd had reset it to zero. This is fixed by suspending dlm_recv (taking write lock on the rwsem) before aborting the current recovery. The transitions to/from normal and recovery modes are simplified by using this new ability to block dlm_recv. The switch from normal to recovery mode means dlm_recv goes from processing locking messages, to saving them for later, and vice versa. Races are avoided by blocking dlm_recv when setting the flag that switches between modes. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit b434eda6fda5bcdcc2dd918e5ffbf7184f2d4e17 Author: Patrick Caulfield Date: Mon Oct 1 15:28:42 2007 +0100 [DLM] don't overwrite castparam if it's NULL If the castaddr passed to the userland API is NULL then don't overwrite the existing castparam. This allows a different thread to cancel a lock request and the CANCEL AST gets delivered to the original thread. bz#306391 (for RHEL4) refers. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 5a60c532c9224babc172fafccc9e2fec6937af6f Author: Steven Whitehouse Date: Wed Sep 26 09:39:31 2007 +0100 [GFS2] Get superblock a different way The mapping may be NULL by the time the I/O has completed, so we now get the superblock by a different route (via the bd and glock) to avoid this problem. Signed-off-by: Steven Whitehouse Cc: Wendy Cheng commit 891ba6d4a5f9e6302bb6542592d73feb4d0d3687 Author: Steven Whitehouse Date: Thu Sep 20 15:26:33 2007 +0100 [GFS2] Don't try to remove buffers that don't exist Signed-off-by: Steven Whitehouse commit 7a9f53b3c1875bef22ad4588e818bc046ef183da Author: Benjamin Marzinski Date: Tue Sep 18 13:33:18 2007 -0500 [GFS2] Alternate gfs2_iget to avoid looking up inodes being freed There is a possible deadlock between two processes on the same node, where one process is deleting an inode, and another process is looking for allocated but unused inodes to delete in order to create more space. process A does an iput() on inode X, and it's i_count drops to 0. This causes iput_final() to be called, which puts an inode into state I_FREEING at generic_delete_inode(). There no point between when iput_final() is called, and when I_FREEING is set where GFS2 could acquire any glocks. Once I_FREEING is set, no other process on that node can successfully look up that inode until the delete finishes. process B locks the the resource group for the same inode in get_local_rgrp(), which is called by gfs2_inplace_reserve_i() process A tries to lock the resource group for the inode in gfs2_dinode_dealloc(), but it's already locked by process B process B waits in find_inode for the inode to have the I_FREEING state cleared. Deadlock. This patch solves the problem by adding an alternative to gfs2_iget(), gfs2_iget_skip(), that simply skips any inodes that are in the I_FREEING state.o The alternate test function is just like the original one, except that it fails if the inode is being freed, and sets a skipped flag. The alternate set function is just like the original, except that it fails if the skipped flag is set. Only try_rgrp_unlink() calls gfs2_iget_skip() instead of gfs2_iget(). Signed-off-by: Benjamin E. Marzinski Signed-off-by: Steven Whitehouse commit de986e859a29097fb9211b052d86a9a2c868f6cd Author: Wendy Cheng Date: Tue Sep 18 09:19:13 2007 -0400 [GFS2] Data corruption fix * GFS2 has been using i_cache array to store its indirect meta blocks. Its flush routine doesn't correctly clean up all the entries. The problem would show while multiple nodes do simultaneous writes to the same file. Upon glock exclusive lock transfer, if the file is a sparse file with large file size where the indirect meta blocks span multiple array entries with "zero" entries in between. The flush routine prematurely stops the flushing that leaves old (stale) entries around. This leads to several nasty issues, including data corruption. * Fix gfs2_get_block_noalloc checking to correctly return EIO upon unmapped buffer. Signed-off-by: Wendy Cheng Signed-off-by: Steven Whitehouse commit 16615be18cadf53ee6f8a4f0bdd647f0753421b1 Author: Steven Whitehouse Date: Mon Sep 17 10:59:52 2007 +0100 [GFS2] Clean up journaled data writing This patch cleans up the code for writing journaled data into the log. It also removes the need to allocate a small "tag" structure for each block written into the log. Instead we just keep count of the outstanding I/O so that we can be sure that its all been written at the correct time. Another result of this patch is that a number of ll_rw_block() calls have become submit_bh() calls, closing some races at the same time. Signed-off-by: Steven Whitehouse commit 55c0c4ac0be144014651b19e77c9b77f367955de Author: Bob Peterson Date: Fri Sep 14 09:27:59 2007 -0500 [GFS2] GFS2: chmod hung - fix race in thread creation The problem boiled down to a race between the gdlm_init_threads() function initializing thread1 and its setting of blist = 1. Essentially, "if (current == ls->thread1)" was checked by the thread before the thread creator set ls->thread1. Since thread1 is the only thread who is allowed to work on the blocking queue, and since neither thread thought it was thread1, no one was working on the queue. So everything just sat. This patch reuses the ls->async_lock spin_lock to fix the race, and it fixes the problem. I've done more than 2000 iterations of the loop that was recreating the failure and it seems to work. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse -- commit d66f8277f53407754f50ae6bada68f1b68d04d48 Author: Patrick Caulfield Date: Fri Sep 14 08:49:21 2007 +0100 [DLM] Make dlm_sendd cond_resched more Under high recovery loads dlm_sendd can monopolise the CPU and cause soft lockups. This one extra and one moved cond_resched() make it yield a little more during such times keeping work moving. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 49e61f2ef6f7d1d0296e3e30d366b28e0ca595c2 Author: Wendy Cheng Date: Thu Sep 13 17:52:42 2007 -0400 [GFS2] Move inode deletion out of blocking_cb Move inode deletion code out of blocking_cb handle_callback route to avoid racy conditions that end up blocking lock_dlm1 thread. Fix bugzilla 286821. Signed-off-by: Wendy Cheng Signed-off-by: Steven Whitehouse commit b4c20166dcfca106f0f416bfce200099ed76ab18 Author: Abhijith Das Date: Thu Sep 13 23:35:27 2007 -0500 [GFS2] flocks from same process trip kernel BUG at fs/gfs2/glock.c:1118! This patch adds a new flag to the gfs2_holder structure GL_FLOCK. It is set on holders of glocks representing flocks. This flag is checked in add_to_queue() and a process is permitted to queue more than one holder onto a glock if it is set. This solves the issue of a process not being able to do multiple flocks on the same file. Through a single descriptor, a process can now promote and demote flocks. Through multiple descriptors a process can now queue multiple flocks on the same file. There's still the problem of a process deadlocking itself (because gfs2 blocking locks are not interruptible) by queueing incompatible deadlock. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 1ad38c437fa33f85ba4b6a85ea8c5478ee72d5bd Author: Steven Whitehouse Date: Mon Sep 3 11:01:33 2007 +0100 [GFS2] Clean up gfs2_trans_add_revoke() The following alters gfs2_trans_add_revoke() to take a struct gfs2_bufdata as an argument. This eliminates the memory allocation which was previously required by making use of the already existing struct gfs2_bufdata. It makes some sanity checks to ensure that the gfs2_bufdata has been removed from all the lists before its recycled as a revoke structure. This saves one memory allocation and one free per revoke structure. Also as a result, and to simplify the locking, since there is no longer any blocking code in gfs2_trans_add_revoke() we must hold the log lock whenever this function is called. This reduces the amount of times we take and unlock the log lock. Signed-off-by: Steven Whitehouse commit 0820ab517e1b100ee3f9584ec27f93309689ebe7 Author: Steven Whitehouse Date: Sun Sep 2 16:47:38 2007 +0100 [GFS2] Use slab operations for all gfs2_bufdata allocations The old revoke structure was allocated using kalloc/kfree but there is a slab cache for gfs2_bufdata, so we should use that now that the structures have been converted. This is part two of the patch series to merge the revoke and gfs2_bufdata structures. Signed-off-by: Steven Whitehouse commit 82e86087bb774cd54d47db4a7c771b5b29bea9ed Author: Steven Whitehouse Date: Sun Sep 2 15:39:43 2007 +0100 [GFS2] Replace revoke structure with bufdata structure Both the revoke structure and the bufdata structure are quite similar. They are basically small tags which are put on lists. In addition to which the revoke structure is always allocated when there is a bufdata structure which is (or can be) freed. As such it should be possible to reduce the number of frees and allocations by using the same structure for both purposes. This patch is the first step along that path. It replaces existing uses of the revoke structure with the bufdata structure. Signed-off-by: Steven Whitehouse commit 8475487befb29eeb038fef374a7433d276336a25 Author: Bob Peterson Date: Sun Sep 2 10:55:29 2007 +0100 [GFS2] Fix ordering of dirty/journal for ordered buffer unstuffing Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit d7b616e252b125f12b007c392f7644053bb6f140 Author: Steven Whitehouse Date: Sun Sep 2 10:48:13 2007 +0100 [GFS2] Clean up ordered write code The following patch removes the ordered write processing from databuf_lo_before_commit() and moves it to log.c. This has the effect of greatly simplyfying databuf_lo_before_commit() and well as potentially making the ordered write code more efficient. As a side effect of this, its now possible to remove ordered buffers from the ordered buffer list at any time, so we now make use of this in invalidatepage and releasepage to ensure timely release of these buffers. Signed-off-by: Steven Whitehouse commit 9b9107a5a8b190e6cf09bbdf893869c6a9c482cc Author: Steven Whitehouse Date: Mon Aug 27 13:54:05 2007 +0100 [GFS2] Move pin/unpin into lops.c, clean up locking gfs2_pin and gfs2_unpin are only used in lops.c, despite being defined in meta_io.c, so this patch moves them into lops.c and makes them static. At the same time, its possible to clean up the locking in the buf and databuf _lo_add() functions so that we only need to grab the spinlock once. Also we have to move lock_buffer() around the _lo_add() functions since we can't do that in gfs2_pin() any more since we hold the spinlock for the duration of that function. As a result, the code shrinks by 12 lines and we do far fewer operations when adding buffers to the log. It also makes the code somewhat easier to read & understand. Signed-off-by: Steven Whitehouse commit eaf965270ffff3086ef929e660ace45e862cfd2d Author: Steven Whitehouse Date: Mon Aug 27 09:49:37 2007 +0100 [GFS2] Don't mark jdata dirty in gfs2_unstuffer_page() Journaled data is marked dirty by gfs2_unpin and should not be marked dirty here. Signed-off-by: Steven Whitehouse commit 1e1a3d03e927d39282208aed676e49d25129feea Author: Steven Whitehouse Date: Mon Aug 27 09:45:26 2007 +0100 [GFS2] Introduce gfs2_remove_from_ail This collects together the operations required to remove a gfs2_bufdata from the ail lists. Its only called from two places to start with, but expect to see more of this function in future. Signed-off-by: Steven Whitehouse commit 8497a46e178addb27ad1c981befaa17ca788b5c3 Author: Steven Whitehouse Date: Sun Aug 26 14:23:56 2007 +0100 [GFS2] Correct lock ordering in unlink This patch corrects the lock ordering in unlink to be the same as that in the rest of GFS2, i.e. parent -> child -> rgrp. Signed-off-by: Steven Whitehouse commit e9bd2b3bafd29bf75522546207f0bba0ec4515c2 Author: Wendy Cheng Date: Fri Aug 24 09:15:01 2007 -0400 [GFS2] fix inode meta data corruption Fix a nasty inode meta data corruption issue by keeping the buffer head in icache array. This buffer needs to stay in memory until journal flush occurs Otherwise, gfs2_meta_inode_buffer could do a disk read before the inode hits disk. It ends up with meta data corruptions. The buffer will be released as part of the existing journal flush logic. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit c4f68a130fc1795e4a75ec5bdaf9e85d86c22419 Author: Benjamin Marzinski Date: Thu Aug 23 13:19:05 2007 -0500 [GFS2] delay glock demote for a minimum hold time When a lot of IO, with some distributed mmap IO, is run on a GFS2 filesystem in a cluster, it will deadlock. The reason is that do_no_page() will repeatedly call gfs2_sharewrite_nopage(), because each node keeps giving up the glock too early, and is forced to call unmap_mapping_range(). This bumps the mapping->truncate_count sequence count, forcing do_no_page() to retry. This patch institutes a minimum glock hold time a tenth a second. This insures that even in heavy contention cases, the node has enough time to get some useful work done before it gives up the glock. A second issue is that when gfs2_glock_dq() is called from within a page fault to demote a lock, and the associated page needs to be written out, it will try to acqire a lock on it, but it has already been locked at a higher level. This patch puts makes gfs2_glock_dq() use the work queue as well, to avoid this issue. This is the same patch as Steve Whitehouse originally proposed to fix this issue, execpt that gfs2_glock_dq() now grabs a reference to the glock before it queues up the work on it. Signed-off-by: Benjamin E. Marzinski Signed-off-by: Steven Whitehouse commit d1e2777d4f419a865ddccdb9b3412021d0e4de51 Author: Abhijith Das Date: Thu Aug 23 13:33:01 2007 -0500 [GFS2] panic after can't parse mount arguments When you try to mount gfs2 with -o garbage, the mount fails and the gfs2 superblock is deallocated and becomes NULL. The vfs comes around later on and calls gfs2_kill_sb. At this point the hidden gfs2 superblock pointer (sb->s_fs_info) is NULL and dereferencing it through gfs2_meta_syncfs causes the panic. (the other function call to gfs2_delete_debugfs_file() succeeds because this function already checks for a NULL pointer) Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit ec217e0ece60f2240772e6f08e0529775846c627 Author: Bob Peterson Date: Wed Aug 22 11:15:29 2007 -0500 [GFS2] Patch to protect sd_log_num_jdata This is a patch to GFS2 to protect sd_log_num_jdata with the gfs2_log_lock. Without this patch, there is a timing window where you can get hit the following assert from function gfs2_log_flush(): gfs2_assert_withdraw(sdp, sdp->sd_log_num_buf + sdp->sd_log_num_jdata == sdp->sd_log_commited_buf + sdp->sd_log_commited_databuf); I've tested it on my roth cluster and it fixes the problem. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit a947e0335699a1d387c3826e5b8eff9e0afe505e Author: Abhijith Das Date: Tue Aug 21 09:57:29 2007 -0500 [GFS2] Wendy's dump lockname in hex & fix glock dump With this patch, gfs2 glockdump through the debugfs filesystem will only dump glocks for the specified filesystem instead of all glocks. Also, to aid debugging, the glock number is dumped in hex instead of decimal. Signed-off-by: Steven Whitehouse Signed-off-by: S. Wendy Cheng Signed-off-by: Abhijith Das commit 61d96be0f474df354c2ff4a2b2bf410b23a5cd60 Author: Patrick Caulfield Date: Mon Aug 20 15:13:38 2007 +0100 [DLM] Fix lowcomms socket closing This patch fixes the slight mess made in lowcomms closing by previous patches and fixes all sorts of DLM hangs. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit a13b8c5f2381495879e6facd3b3ada51c9e68194 Author: Wendy Cheng Date: Mon Aug 20 09:29:53 2007 -0400 [GFS2] Reduce truncate IO traffic Current GFS2 setattr call unconditionally invokes do_shrink even the requested size and actual file size are equal. This has generated large amount of extra IOs found during NFS benchmark runs. This patch moves the relevant logic out of shrink code path. Since setattr is a system call, the time stamps update is still required. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit 9a5ad13856cbd10be429f09517c51277c02530f7 Author: Benjamin Marzinski Date: Fri Aug 17 20:22:07 2007 -0500 [GFS2] Add NULL entry to token table match_token() was returning garbage data instead of a fail value. This data happened to match a valid option id for an option that required an argument (in this case, lockproto=%s) For match_token() to correctly fail if the option doesn't match any of the tokens, the token table must end with a NULL entry. This patch adds the NULL entry. Signed-off-by: Benjamin E. Marzinski Signed-off-by: Steven Whitehouse commit 382e6e256b0cb1a84a45a520cef75d1b8ff44663 Author: Steven Whitehouse Date: Thu Aug 16 17:08:20 2007 +0100 [GFS2] Add a missing gfs2_trans_add_bh() This was missing from the dir_split_leaf() function although in most cases its not a problem due to other functions having already previously called gfs2_trans_add_bh. This makes certain that it is correct. Signed-off-by: Steven Whitehouse Cc: Wendy Cheng commit bb3b0e3df5420fdf2c6bbb4417525c6d2ef55bbb Author: Steven Whitehouse Date: Thu Aug 16 16:03:57 2007 +0100 [GFS2] Clean up invalidatepage/releasepage This patch fixes some bugs relating to journaled data files by cleaning up the gfs2_invalidatepage() and gfs2_releasepage() functions. We now never block during gfs2_releasepage(), instead we always either release or refuse to release depending on the status of the buffers. This fixes Red Hat bugzillas #248969 and #252392. Signed-off-by: Steven Whitehouse Cc: Bob Peterson commit 2d9a4bbf6d28673f4057682cc02d16bf288b4a35 Author: Abhijith Das Date: Wed Aug 15 11:25:05 2007 -0500 [GFS2] Fix quota do_list operation hang This is the filesystem part of the patches to fix this bz. There are additional userland patches (gfs2_quota, libgfs2) for the complete solution. This patch adds a new field qu_ll_next to the gfs2_quota structure. This field allows us to create linked lists of quotas in the ondisk quota inode. Instead of scanning through the entire sparse quota file for valid quotas, we can now simply walk through the user and group quota linked lists to perform the do_list operation. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 34eaae398e29dadeed95efd30f1eb694e5932b34 Author: Denis Cheng Date: Wed Aug 15 23:54:44 2007 +0800 [GFS2] fixed a NULL pointer assignment BUG Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit 0fd5355470ea40355b8af76d01748ec7b9926d4d Author: Abhijith Das Date: Tue Aug 14 15:34:58 2007 -0500 [GFS2] Force unstuff of hidden quota inode This patch forcibly unstuffs (if stuffed) the hidden quota inode at the first availble opportunity. In any practical scenario the quota inode won't be stuffed, so this is ok to do. Unstuffing the quota inode allows us to ignore the case of a stuffed quota inode in gfs2_adjust_quota(). Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 5d35e31f43c4910d0b6afc5160728a84bbaf86f0 Author: Denis Cheng Date: Mon Aug 13 11:01:58 2007 +0800 [GFS2] better code for translating characters the original code could work, but I think this code could work better. Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit 2d3ba1ea97d839e60d742ccf9a6de5bf039c0b53 Author: Denis Cheng Date: Sat Aug 11 10:27:08 2007 +0800 [GFS2] unneeded typecast sb->s_fs_info is a void pointer, thus the type cast is not needed. Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit adb4ec13cdddb6ab8280e4c7808ba30f46504e1d Author: Denis Cheng Date: Sat Aug 11 10:27:07 2007 +0800 [GFS2] use list_for_each_entry instead Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit 75be73a8246ef96f7fa3f05a6a1450159fbb7a64 Author: Bob Peterson Date: Wed Aug 8 17:08:14 2007 -0500 [GFS2] Ensure journal file cache is flushed after recovery This is for bugzilla bug #248176: GFS2: invalid metadata block Patches 1 thru 3 were accepted upstream, but there were problems with 4 and 5. Those issues have been resolved and now the recovery tests are passing without errors. This code has gone through 41 * 3 successful gfs2 recovery tests before it hit an unrelated (openais) problem. I'm continuing to test it. This is a complete rewrite of patch 5 for bug #248176, written by Steve Whitehouse. This is referred to in the bugzilla record as "new 6" and "a different solution". The problem was that the journal inodes, although protected by a glock, were not synched with the other nodes because they don't use the inode glock synch operations (i.e. no "glops" were defined). Therefore, journal recovery on a journal-recovering node were causing the blocks to get out of sync with the node that was actually trying to use that journal as it comes back up from a reboot. There are two possible solutions: (1) To make the journals use the normal inode glock sync operations, or (2) To make the journal operations take effect immediately (i.e. no caching). Although option 1 works, it turns out to be a lot more code. Steve opted for option 2, which is much simpler and therefore less prone to regression errors. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse -- commit 5f3eae7546093d845ca8ada1b95714202a136a1a Author: Bob Peterson Date: Wed Aug 8 16:52:09 2007 -0500 [GFS2] invalid metadata block - REVISED This is for bugzilla bug #248176: GFS2: invalid metadata block Patches 1 thru 3 were accepted upstream, but there were problems with 4 and 5. Those issues have been resolved and now the recovery tests are passing without errors. This code has gone through 41 * 3 successful gfs2 recovery tests before it hit an unrelated (openais) problem. This is a complete rewrite of patch 4 for bug #248176. Part of the problem was that inodes were being recycled before their buffers were flushed to the journal logs. Another problem was that the clone bitmaps were being searched for deleted inodes to recycle, but only the "real" bitmaps should be searched for that purpose. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 8fbbfd214c853102b614f4705c1904ed14f5a808 Author: Steven Whitehouse Date: Wed Aug 1 13:57:10 2007 +0100 [GFS2] Reduce number of gfs2_scand processes to one We only need a single gfs2_scand process rather than the one per filesystem which we had previously. As a result the parameter determining the frequency of gfs2_scand runs becomes a module parameter rather than a mount parameter as it was before. Signed-off-by: Steven Whitehouse commit ca5a939b33166a9f5a2556e6c4ec031524852ba2 Author: Denis Cheng Date: Tue Jul 31 18:31:12 2007 +0800 [GFS2] use the declaration of gfs2_dops in the header file instead Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit 4ef290025ccde7c52ba219cf733a4295acd5401f Author: Denis Cheng Date: Tue Jul 31 18:31:11 2007 +0800 [GFS2] mark struct *_operations const these struct *_operations are all method tables, thus should be const. Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit 0f8468c8bef3d04637c924e7bef20ca53018b319 Author: Bob Peterson Date: Wed Jul 25 10:06:22 2007 -0500 [GFS2] Detach buf data during in-place writeback This is patch 5 of 5 for bug #248176 Metadata corruption was occurring because page references weren't being removed in all cases. I previously added a function called detach_bufdata, but I discovered there already WAS a function out there to do the job. It's called gfs2_meta_cache_flush. So I added a call to that to remove the page references. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit cee23c79d08c57bbbb9923703409af3b17518c58 Author: Denis Cheng Date: Wed Jul 25 17:53:58 2007 +0800 [GFS2] use an temp variable to reduce a spin_unlock this is more clear. Signed-off-by: Denis Cheng Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 6760bdcd03a12d7d082794311ccbaf44bfc23b06 Author: Bob Peterson Date: Tue Jul 24 14:09:32 2007 -0500 [GFS2] Prevent infinite loop in try_rgrp_unlink() This is patch three of five for bug #248176. The try_rgrp_unlink code in rgrp.c had an infinite loop. This was caused because the bitmap function rgblk_search can return a block less than the "goal" block, in which case it was looping. The fix is to make it always march forward as needed. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 693ddeabbb3e563f192a7ac74ec04168aa92e8d8 Author: Bob Peterson Date: Tue Jul 24 14:07:33 2007 -0500 [GFS2] Revert part of earlier log.c changes This is patch 2 of 5 for bug #248176. The list_move code previously concocted in log.c for bug #238162 (see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=238162#c23) never runs as bh can now never be NULL at this point. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 905d2aefa9e06ebb995df96920d273a516fcd3f9 Author: Bob Peterson Date: Tue Jul 24 14:05:31 2007 -0500 [GFS2] Move some code inside the log lock This is the first of five patches for bug #248176: There were still some critical variables being manipulated outside the log_lock spinlock. That usually resulted in a hang. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 7b08fc620109c2f66575e9ae884f45c37933ea18 Author: Steven Whitehouse Date: Tue Jul 24 13:53:36 2007 +0100 [GFS2] Fix an oops in glock dumping This fixes an oops which was occurring during glock dumping due to the seq file code not taking a reference to the glock. Also this fixes a memory leak which occurred in certain cases, in turn preventing the filesystem from unmounting. Signed-off-by: Steven Whitehouse commit afd0942d98f74296b74993739e41d2ca7cb9fd5a Author: Steve French Date: Fri Jul 20 13:07:26 2007 -0500 [GFS2] GFS2 not checking pointer on create when running under nfsd When looking at an unrelated problem, I noticed that nfsd does not set nameidata pointer on create (ie nd is NULL). This should cause an oops in some cases in which when NFSd is mounted over GFS2. Signed-off-by: Steve French Signed-off-by: Steven Whitehouse commit aa0481e58a9a97a97035725a712920b5fe32f348 Author: Jesper Juhl Date: Sat Jul 21 17:03:22 2007 +0200 [GFS2] Clean up duplicate includes in fs/gfs2/ This patch cleans up duplicate includes in fs/gfs2/ Signed-off-by: Jesper Juhl Signed-off-by: Steven Whitehouse commit 26caee5bc643b318fa2e9bd4f66dace1755ec413 Author: Josef Whiter Date: Mon Jul 23 10:02:40 2007 +0100 [GFS2] Fix calculation of demote state If a glock is in the exclusive state and a request for demote to deferred has been received, then further requests for demote to shared are being ignored. This patch fixes that by ensuring that we demote to unlocked in that case. Signed-off-by: Josef Whiter Signed-off-by: Steven Whitehouse commit 87124e581bfeaa5864662a435b6ee2a19e91b905 Author: Steven Whitehouse Date: Mon Jul 23 09:54:36 2007 +0100 [GFS2] Fix two races relating to glock callbacks One of the races relates to referencing a variable while not holding its protecting spinlock. The patch simply moves the test inside the spin lock. The other races occurs when a demote to unlocked request occurs during the time a demote to shared request is already running. This of course only happens in the case that the lock was in the exclusive mode to start with. The patch adds a check to see if another demote request has occurred in the mean time and if it has, then it performs a second demote. Signed-off-by: Steven Whitehouse commit 1ca91cd0336b05b91c51b403c9ed9d297813533f Author: Arnd Bergmann Date: Tue Oct 9 13:23:57 2007 +0200 compat_ioctl: move floppy handlers to block/compat_ioctl.c The floppy ioctls are used by multiple drivers, so they should be handled in a shared location. Also, add minor cleanups. Signed-off-by: Arnd Bergmann Signed-off-by: Jens Axboe commit b3087cc4f31a66c8c7b63419e913ed9d34145f10 Author: Arnd Bergmann Date: Tue Oct 9 13:23:56 2007 +0200 compat_ioctl: move cdrom handlers to block/compat_ioctl.c These are shared by all cd-rom drivers and should have common handlers. Do slight cosmetic cleanups in the process. Signed-off-by: Arnd Bergmann Signed-off-by: Jens Axboe commit 18cf7f8723d913ce02bea43e468bebdd07bc880c Author: Arnd Bergmann Date: Tue Oct 9 13:23:56 2007 +0200 compat_ioctl: move BLKPG handling to block/compat_ioctl.c BLKPG is common to all block devices, so it should be handled by common code. Signed-off-by: Arnd Bergmann Signed-off-by: Jens Axboe commit 9617db085c119879cd371e3212806a15596e121a Author: Arnd Bergmann Date: Tue Oct 9 13:23:55 2007 +0200 compat_ioctl: move hdio calls to block/compat_ioctl.c These are common to multiple block drivers, so they should be handled by the block layer. Signed-off-by: Arnd Bergmann Signed-off-by: Jens Axboe commit 171044d449611c6e5040b37210ff6aba47f33ee4 Author: Arnd Bergmann Date: Tue Oct 9 13:23:53 2007 +0200 compat_ioctl: handle blk_trace ioctls blk_trace_setup is broken on x86_64 compat systems, this makes the code work correctly on all 64 bit architectures in compat mode. Signed-off-by: Arnd Bergmann Signed-off-by: Jens Axboe commit 7199d4cdd8485f802df3e1bc131245c69009b9a4 Author: Arnd Bergmann Date: Tue Oct 9 13:23:52 2007 +0200 compat_ioctl: add compat_blkdev_driver_ioctl() Handle those blockdev ioctl calls that are compatible directly from the compat_blkdev_ioctl() function, instead of having to go through the compat_ioctl hash lookup. Signed-off-by: Arnd Bergmann Signed-off-by: Jens Axboe commit f58c4c0a17e500e767473598b3deafaa1d64051d Author: Arnd Bergmann Date: Tue Oct 9 13:23:51 2007 +0200 compat_ioctl: move common block ioctls to compat_blkdev_ioctl Make compat_blkdev_ioctl and blkdev_ioctl reflect the respective native versions. This is somewhat more efficient and makes it easier to keep the two in sync. Also get rid of the bogus handling for broken_blkgetsize and the duplicate entry for BLKRASET. Signed-off-by: Arnd Bergmann Signed-off-by: Jens Axboe commit d2bbf3da3759d04cd5836955cc59c8ae96092831 Author: Grant Likely Date: Thu Oct 4 08:52:40 2007 +0200 Sysace: Don't enable IRQ until after interrupt handler is registered The previous patch to move the interrupt handler registration moved it below enabling interrupts which could be a problem if the device is on a shared interrupt line. This patch fixes the order. Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit b5515d86f2efd4dd3516c16c17c1a611a5800b19 Author: Grant Likely Date: Thu Oct 4 08:52:39 2007 +0200 Sysace: sparse fixes Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit 34e1b83413d91999416443f31c276095f9937aa6 Author: Grant Likely Date: Thu Oct 4 08:52:38 2007 +0200 Sysace: Minor coding convention fixup Put function call and return code test on separate lines. Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit cb3503ca54dc34e8dc3b823a6bd52c0807c102f4 Author: Jeff Garzik Date: Thu Sep 27 07:49:39 2007 -0400 drivers/block/umem: use DRIVER_NAME where appropriate Signed-off-by: Jeff Garzik commit 4e953a216265f8646360fa909bdc87ea4bf446b3 Author: Jeff Garzik Date: Thu Sep 27 07:41:50 2007 -0400 drivers/block/umem: trim trailing whitespace Signed-off-by: Jeff Garzik commit ee4a7b6874469244ed0e3b8fde20028e0bb52642 Author: Jeff Garzik Date: Thu Sep 27 07:40:33 2007 -0400 drivers/block/umem: minor cleanups * tab-align DRIVER_*, pci_driver entries * reduced wasted memory by killing unused struct cardinfo members * move free_irq() call above resource unmap, to fix tiny window where irq handler may access recently-unmapped memory * propagate pci_enable_device() return value * use pci_request_regions, pci_release_regions() for resource reservation * call pci_disable_device() in pci_driver::remove() Signed-off-by: Jeff Garzik commit 4e0af881afee2b399854b1cdfdbe37e6ab6a09ca Author: Jeff Garzik Date: Thu Sep 27 06:41:25 2007 -0400 drivers/block/umem: use dev_printk() dev_printk() gives us a consistent prefix (driver name + PCI bus id), which allows us to eliminate the hand-rolled one. Also allows us to eliminate card->card_number, which was used solely in printk() calls. Signed-off-by: Jeff Garzik commit 3084f0c6105a71e43225c36b4d97c1407988a242 Author: Jeff Garzik Date: Thu Sep 27 06:25:06 2007 -0400 drivers/block/umem: move private include away from include/linux Move include/linux/umem.h to drivers/block, as umem.c is the only user, and its not an exported header. Move the PCI_{VENDOR,DEVICE}_ID_* constants to include/linux/pci_ids.h. Signed-off-by: Jeff Garzik commit ed155a95a4eb7d8dae61b64ab394314c5195e414 Author: Grant Likely Date: Mon Oct 1 16:33:56 2007 +0200 Sysace: Labels in C code should not be indented. Remove the indentation on labels Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit 95e896c35f3c3157159b89682b60281640b5d148 Author: Grant Likely Date: Mon Oct 1 16:33:55 2007 +0200 Sysace: Add of_platform_bus binding The of_platform bus binding is needed to make the device driver usable under arch/powerpc. Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit 32f6fff47df65d25d3dedbd2953508c05225b726 Author: Grant Likely Date: Mon Oct 1 16:33:54 2007 +0200 Sysace: Move IRQ handler registration to occur after FSM is initialized The FSM needs to be initialized before it is safe to call the ISR Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit 4a24d8610df542b6599a65b100d438df144574de Author: Grant Likely Date: Mon Oct 1 16:33:54 2007 +0200 Sysace: minor rework and cleanup changes Miscellanious rework to the sysace driver; Not critical, but makes the subsequent addition of the of_platform bus binding a wee bit cleaner Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit 1b455466549f46bab0a75a7a296a9331a38fd6fa Author: Grant Likely Date: Mon Oct 1 16:33:53 2007 +0200 Sysace: Move structure allocation from bus binding into common code Split the determination of device registers/irqs/etc from the actual allocation and initialization of the device structure. This cleans up the code a bit in preparation to add an of_platform bus binding Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit edec49616c7b4ad7ceb3b936a8d95b10652ee677 Author: Grant Likely Date: Mon Oct 1 16:33:52 2007 +0200 Sysace: Use the established platform bus api SystemACE uses the platform bus binding, but it doesn't use the platform bus API. Move to using the correct API for consistency sake and future proofing against platform bus changes. Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit c9d3d8ecf672c513435691a886876aee5ab11001 Author: Grant Likely Date: Mon Oct 1 16:33:51 2007 +0200 Add Xilinx SystemACE entry to maintainers I'm the author of the SystemACE driver Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit 6712ecf8f648118c3363c142196418f89a510b90 Author: NeilBrown Date: Thu Sep 27 12:47:43 2007 +0200 Drop 'size' argument from bio_endio and bi_end_io As bi_end_io is only called once when the reqeust is complete, the 'size' argument is now redundant. Remove it. Now there is no need for bio_endio to subtract the size completed from bi_size. So don't do that either. While we are at it, change bi_end_io to return void. Signed-off-by: Neil Brown Signed-off-by: Jens Axboe commit 5bb23a688b2de23d7765a1dd439d89c038378978 Author: NeilBrown Date: Thu Sep 27 12:46:13 2007 +0200 Don't decrement bi_size in bio_endio The only caller of bio_endio that does not pass the full bi_size is end_that_request_first. Also, no ->bi_end_io method is really interested in bi_size being decremented. So move the decrement and related code into ll_rw_blk and merge it with order_bio_endio to form req_bio_endio which does endio functionality specific to request completion. As some ->bi_end_io methods do check bi_size of 0, we set it thus for now, but that will go in the next patch. Signed-off-by: Neil Brown ### Diffstat output ./block/ll_rw_blk.c | 42 +++++++++++++++++++++++++++--------------- ./fs/bio.c | 23 +++++++++++------------ 2 files changed, 38 insertions(+), 27 deletions(-) diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c Signed-off-by: Jens Axboe commit 9cc54d40b8ca01fcefc9151044b6996565061d90 Author: NeilBrown Date: Thu Sep 27 12:46:12 2007 +0200 Only call bi_end_io once for any bio Currently bi_end_io can be called multiple times as sub-requests complete. However no ->bi_end_io function wants to know about that. So only call when the bio is complete. Signed-off-by: Neil Brown ### Diffstat output ./fs/bio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff .prev/fs/bio.c ./fs/bio.c Signed-off-by: Jens Axboe commit d24517d793f21edab1a411da95f2c45cb88a84aa Author: NeilBrown Date: Thu Sep 27 12:46:11 2007 +0200 Remove flush_dry_bio_endio The entire function of flush_dry_bio_endio is to undo the effects of bio_endio (when called on a barrier request). So remove the function and the call to bio_endio. This allows us to remove "bi_size" from "struct request_queue". Signed-off-by: Neil Brown ### Diffstat output ./block/ll_rw_blk.c | 39 ++------------------------------------- ./include/linux/blkdev.h | 1 - 2 files changed, 2 insertions(+), 38 deletions(-) diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c Signed-off-by: Jens Axboe commit f5ff8422bbdd59f8c1f699df248e1b7a11073027 Author: Jens Axboe Date: Fri Sep 21 09:19:54 2007 +0200 Fix warnings with !CONFIG_BLOCK Hide everything in blkdev.h with CONFIG_BLOCK isn't set, and fixup the (few) files that fail to build because they were relying on blkdev.h pulling in extra includes for them. Signed-off-by: Jens Axboe commit 3317fedba9446465082bcc6ce1232451ad1d51ce Author: Dhaval Giani Date: Thu Aug 23 10:43:07 2007 +0200 Corrections in Documentation/block/ioprio.txt The newer glibc does not allow system calls to be made via _syscallN() wrapper. They have to be made through syscall(). The ionice code used the older interface. Correcting it to use syscall. Signed-off-by: Dhaval Giani Signed-off-by: Jens Axboe commit db47d475371bc85dd122112e957669cbbcc70dee Author: Satyam Sharma Date: Thu Aug 23 09:29:40 2007 +0200 ll_rw_blk: blk_cpu_notifier should be __cpuinitdata blk_cpu_notifier is marked as __devinitdata, but __devinitdata need not be __init even if HOTPLUG_CPU=n, which wastes space. It should be marked __cpuinitdata, and the callback itself as __cpuinit. Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 6c92e699b56287da582ccb12a64b959b6d6109ba Author: Jens Axboe Date: Thu Aug 16 13:43:12 2007 +0200 Fixup rq_for_each_segment() indentation Remove one level of nesting where appropriate. Signed-off-by: Jens Axboe commit bc1c56fde6dd1c85e2047c276456c07bd4508b5c Author: NeilBrown Date: Thu Aug 16 13:31:30 2007 +0200 Share code between init_request_from_bio and blk_rq_bio_prep These have very similar functions and should share code where possible. Signed-off-by: Neil Brown diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c Signed-off-by: Jens Axboe commit 66846572bfb4ec62bcba260028cbbcbdb77bd636 Author: NeilBrown Date: Thu Aug 16 13:31:28 2007 +0200 Stop exporting blk_rq_bio_prep blk_rq_bio_prep is exported for use in exactly one place. That place can benefit from using the new blk_rq_append_bio instead. So - change dm-emc to call blk_rq_append_bio - stop exporting blk_rq_bio_prep, and - initialise rq_disk in blk_rq_bio_prep, as dm-emc needs it. Signed-off-by: Neil Brown diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c Signed-off-by: Jens Axboe commit 3001ca77128273cc5634d79f5306ce2e5a14ec41 Author: NeilBrown Date: Thu Aug 16 13:31:27 2007 +0200 New function blk_req_append_bio ll_back_merge_fn is currently exported to SCSI where is it used, together with blk_rq_bio_prep, in exactly the same way these functions are used in __blk_rq_map_user. So move the common code into a new function (blk_rq_append_bio), and don't export ll_back_merge_fn any longer. Signed-off-by: Neil Brown diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c Signed-off-by: Jens Axboe commit eea9befaccb8d43ce89585d612159761c978f056 Author: NeilBrown Date: Thu Aug 16 13:31:26 2007 +0200 Fix various abuse of bio fields in umem.c umem.c: advances bi_idx and bi_sector to track where it is up to. But it is only ever doing this on one bio, so the updated fields can easily be kept elsewhere (current_*). updates bi_size, but never uses the updated values, so this isn't needed. reuses bi_phys_segments to count how many iovecs have been completely. As the completion happens sequentiually, we can store this information outside the bio too. Signed-off-by: Neil Brown diff .prev/drivers/block/umem.c ./drivers/block/umem.c Signed-off-by: Jens Axboe commit 5705f7021748a69d84d6567e68e8851dab551464 Author: NeilBrown Date: Tue Sep 25 12:35:59 2007 +0200 Introduce rq_for_each_segment replacing rq_for_each_bio Every usage of rq_for_each_bio wraps a usage of bio_for_each_segment, so these can be combined into rq_for_each_segment. We define "struct req_iterator" to hold the 'bio' and 'index' that are needed for the double iteration. Signed-off-by: Neil Brown Various compile fixes by me... Signed-off-by: Jens Axboe commit 9dfa52831e96194b8649613e3131baa2c109f7dc Author: NeilBrown Date: Thu Aug 16 13:27:52 2007 +0200 Merge blk_recount_segments into blk_recalc_rq_segments blk_recalc_rq_segments calls blk_recount_segments on each bio, then does some extra calculations to handle segments that overlap two bios. If we merge the code from blk_recount_segments into blk_recalc_rq_segments, we can process the whole request one bio_vec at a time, and not need the messy cross-bio calculations. Then blk_recount_segments can be implemented by calling blk_recalc_rq_segments, passing it a simple on-stack request which stores just the bio. Signed-off-by: Neil Brown diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c Signed-off-by: Jens Axboe commit 2d571b33cf7efd6a894e765e3cb45587ec5b834a Author: Alexey Starikovskiy Date: Sun Sep 30 22:39:42 2007 +0400 ACPICA: hw: Don't carry spinlock over suspend ACPI uses acpi_get_register() in order to get into suspend. This function is guarded by acpi_gbl_hardware_lock, which will be carried into resume phase. At resume interrupts are enabled and first ACPI interrupt deadlocks on this lock. Solution seems to be to not lock register read, as there are no concurrent activity at this point. Reference: http://bugzilla.kernel.org/show_bug.cgi?id=7499 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit d30dc9abb4aacfd4df3f486f22bcbc0531b73283 Author: Alexey Starikovskiy Date: Sun Sep 30 22:39:36 2007 +0400 ACPICA: hw: remove use_lock flag from acpi_hw_register_{read, write} use_lock flag is used once for acpi_hw_register_read, and never for acpi_hw_register_write. It will greatly simplify understanding of locking if we just drop this use_lock altogether, and wrap the only call to ..._read in lock/unlock. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit e196441bdf2dbf0526b28a6829c39557c236d611 Author: Len Brown Date: Thu Oct 4 01:23:47 2007 -0400 ACPI: cpuidle: port idle timer suspend/resume workaround to cpuidle Some timers stop during C2 and C3, and so there are various generations of timer broadcast workarounds to deal with that. But that (already complex) code gets confused during suspend. As it is unlikely that deep C-states would save much power during the actual suspend/resume process anyway, deep C-states were disabled via the addition of .suspend/.resume hooks in to the ACPI processor driver. Here that workaround is ported to the cpuidle version of the ACPI idle loop. Technically, ACPI could un-register itself from cpuidle on .suspend, but that code path is currently quite cumbersome. So instead, we simply invoke C1 from the C2 and C3 handlers for the duration of .suspend/.resume. Signed-off-by: Len Brown commit 6cffd46651b881a11791a7ef4d99f2f20853fcd9 Author: Rafael J. Wysocki Date: Tue Oct 2 13:24:09 2007 -0700 ACPI: clean up acpi_enter_sleep_state_prep Remove some redundant code from acpi_enter_sleep_state_prep() and clean up a comment in there. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 8a0bb7362587807fec985f72fb0317aa8ed24835 Author: Rafael J. Wysocki Date: Tue Oct 2 13:24:08 2007 -0700 Hibernation: Make sure that ACPI is enabled in acpi_hibernation_finish If the BIOS does not enable ACPI and the "acpi=off" command line parameter is passed to the boot kernel, ACPI may be disabled when the (restored) image kernel attempts to execute acpi_hibernation_finish(). To prevent this from happening we can call acpi_enable() from acpi_hibernation_finish() (if ACPI is already enabled, this will have no effect). Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 8ab7367f483d1d676d61fca58498a73b194dda82 Author: Andrew Morton Date: Tue Oct 2 13:24:10 2007 -0700 ACPI: suppress uninitialized var warning drivers/acpi/tables/tbutils.c: In function `acpi_tb_parse_root_table': drivers/acpi/tables/tbutils.c:403: warning: `rsdt_address' may be used uninitialized in this function Reported-by: Uwe Bugla Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 4f86d3a8e297205780cca027e974fd5f81064780 Author: Len Brown Date: Wed Oct 3 18:58:00 2007 -0400 cpuidle: consolidate 2.6.22 cpuidle branch into one patch commit e5a16b1f9eec0af7cfa0830304b41c1c0833cf9f Author: Len Brown Date: Tue Oct 2 23:44:44 2007 -0400 cpuidle: shrink diff processor_idle.c | 440 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 429 insertions(+), 11 deletions(-) Signed-off-by: Len Brown commit dfbb9d5aedfb18848a3e0d6f6e3e4969febb209c Author: Len Brown Date: Wed Sep 26 02:17:55 2007 -0400 cpuidle: reduce diff size Reduces the cpuidle processor_idle.c diff vs 2.6.22 from this processor_idle.c | 2006 ++++++++++++++++++++++++++----------------- 1 file changed, 1219 insertions(+), 787 deletions(-) to this: processor_idle.c | 502 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 458 insertions(+), 44 deletions(-) ...for the purpose of making the cpuilde patch less invasive and easier to review. no functional changes. build tested only. Signed-off-by: Len Brown commit 889172fc915f5a7fe20f35b133cbd205ce69bf6c Author: Venki Pallipadi Date: Thu Sep 13 13:40:05 2007 -0700 cpuidle: Retain old ACPI policy for !CONFIG_CPU_IDLE Retain the old policy in processor_idle, so that when CPU_IDLE is not configured, old C-state policy will still be used. This provides a clean gradual migration path from old ACPI policy to new cpuidle based policy. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 9544a8181edc7ecc33b3bfd69271571f98ed08bc Author: Venki Pallipadi Date: Thu Sep 13 13:39:17 2007 -0700 cpuidle: Configure governors by default Quoting Len "Do not give an option to users to shoot themselves in the foot". Remove the configurability of ladder and menu governors as they are needed for default policy of cpuidle. That way users will not be able to have cpuidle without any policy loosing all C-state power savings. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 8975059a2c1e56cfe83d1bcf031bcf4cb39be743 Author: Adam Belay Date: Tue Aug 21 18:27:07 2007 -0400 CPUIDLE: load ACPI properly when CPUIDLE is disabled Change the registration return codes for when CPUIDLE support is not compiled into the kernel. As a result, the ACPI processor driver will load properly even if CPUIDLE is unavailable. However, it may be possible to cleanup the ACPI processor driver further and eliminate some dead code paths. Signed-off-by: Adam Belay Acked-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit e0322e2b58dd1b12ec669bf84693efe0dc2414a8 Author: Adam Belay Date: Tue Aug 21 18:26:06 2007 -0400 CPUIDLE: remove cpuidle_get_bm_activity() Remove cpuidle_get_bm_activity() and updates governors accordingly. Signed-off-by: Adam Belay Acked-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 18a6e770d5c82ba26653e53d240caa617e09e9ab Author: Adam Belay Date: Tue Aug 21 18:25:58 2007 -0400 CPUIDLE: max_cstate fix Currently max_cstate is limited to 0, resulting in no idle processor power management on ACPI platforms. This patch restores the value to the array size. Signed-off-by: Adam Belay Acked-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 1fdc0887286179b40ce24bcdbde663172e205ef0 Author: Adam Belay Date: Tue Aug 21 18:25:40 2007 -0400 CPUIDLE: handle BM detection inside the ACPI Processor driver Update the ACPI processor driver to detect BM activity and limit state entry depth internally, rather than exposing such requirements to CPUIDLE. As a result, CPUIDLE can drop this ACPI-specific interface and become more platform independent. BM activity is now handled much more aggressively than it was in the original implementation, so some testing coverage may be needed to verify that this doesn't introduce any DMA buffer under-run issues. Signed-off-by: Adam Belay Acked-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 0ef38840db666f48e3cdd2b769da676c57228dd9 Author: Adam Belay Date: Tue Aug 21 18:25:14 2007 -0400 CPUIDLE: menu governor updates Tweak the menu governor to more effectively handle non-timer break events. Non-timer break events are detected by comparing the actual sleep time to the expected sleep time. In future revisions, it may be more reliable to use the timer data structures directly. Signed-off-by: Adam Belay Acked-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit bb4d74fca63fa96cf3ace644b15ae0f12b7df5a1 Author: Adam Belay Date: Tue Aug 21 18:24:40 2007 -0400 CPUIDLE: fix 'current_governor' sysfs entry Allow the "current_governor" sysfs entry to properly handle input terminated with '\n'. Signed-off-by: Adam Belay Acked-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit df3c71559bb69b125f1a48971bf0d17f78bbdf47 Author: Len Brown Date: Sun Aug 12 02:00:45 2007 -0400 cpuidle: fix IA64 build (again) Signed-off-by: Len Brown commit a02064579e3f9530fd31baae16b1fc46b5a7bca8 Author: Venkatesh Pallipadi Date: Sun Aug 12 01:39:27 2007 -0400 cpuidle: Remove support for runtime changing of max_cstate Remove support for runtime changeability of max_cstate. Drivers can use use latency APIs. max_cstate can still be used as a boot time option and dmi override. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 0912a44b13adf22f5e3f607d263aed23b4910d7e Author: Venkatesh Pallipadi Date: Sun Aug 12 01:39:16 2007 -0400 cpuidle: Remove ACPI cstate_limit calls from ipw2100 ipw2100 already has code to use accetable_latency interfaces to limit the C-state. Remove the calls to acpi_set_cstate_limit and acpi_get_cstate_limit as they are redundant. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit c649a76e76be6bff1fd770d0a775798813a3f6e0 Author: Venkatesh Pallipadi Date: Sun Aug 12 01:35:39 2007 -0400 cpuidle: compile fix for pause and resume functions Fix the compilation failure when cpuidle is not compiled in. Signed-off-by: Venkatesh Pallipadi Acked-by: Adam Belay Signed-off-by: Len Brown commit 2305a5920fb8ee6ccec1c62ade05aa8351091d71 Author: Adam Belay Date: Thu Jul 19 00:49:00 2007 -0400 cpuidle: re-write Some portions have been rewritten to make the code cleaner and lighter weight. The following is a list of changes: 1.) the state name is now included in the sysfs interface 2.) detection, hotplug, and available state modifications are handled by CPUIDLE drivers directly 3.) the CPUIDLE idle handler is only ever installed when at least one cpuidle_device is enabled and ready 4.) the menu governor BM code no longer overflows 5.) the sysfs attributes are now printed as unsigned integers, avoiding negative values 6.) a variety of other small cleanups Also, Idle drivers are no longer swappable during runtime through the CPUIDLE sysfs inteface. On i386 and x86_64 most idle handlers (e.g. poll, mwait, halt, etc.) don't benefit from an infrastructure that supports multiple states, so I think using a more general case idle handler selection mechanism would be cleaner. Signed-off-by: Adam Belay Acked-by: Venkatesh Pallipadi Acked-by: Shaohua Li Signed-off-by: Len Brown commit df25b6b56955714e6e24b574d88d1fd11f0c3ee5 Author: Len Brown Date: Tue Jul 24 17:08:21 2007 -0400 cpuidle: fix IA64 buid Signed-off-by: Len Brown commit fd6ada4c14488755ff7068860078c437431fbccd Author: Adrian Bunk Date: Mon Jul 9 11:33:13 2007 -0700 cpuidle: static make cpuidle_replace_governor() static Signed-off-by: Adrian Bunk Cc: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit c1d4a2cebcadf2429c0c72e1d29aa2a9684c32e0 Author: Adrian Bunk Date: Tue Jul 3 00:54:40 2007 -0400 cpuidle: static This patch makes the needlessly global struct menu_governor static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit dbf8780c6e8d572c2c273da97ed1cca7608fd999 Author: Andrew Morton Date: Tue Jul 3 00:49:14 2007 -0400 export symbol tick_nohz_get_sleep_length ERROR: "tick_nohz_get_sleep_length" [drivers/cpuidle/governors/menu.ko] undefined! ERROR: "tick_nohz_get_idle_jiffies" [drivers/cpuidle/governors/menu.ko] undefined! And please be sure to get your changes to core kernel suitably reviewed. Cc: Adam Belay Cc: Venki Pallipadi Cc: Ingo Molnar Cc: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 29f0e248e7017be15f99febf9143a2cef00b2961 Author: Andrew Morton Date: Tue Jul 3 00:43:04 2007 -0400 tick.h needs hrtimer.h It uses hrtimers. Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit e40cede7d63a029e92712a3fe02faee60cc38fb4 Author: Venki Pallipadi Date: Tue Jul 3 00:40:34 2007 -0400 cpuidle: first round of documentation updates Documentation changes based on Pavel's feedback. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 83b42be2efece386976507555c29e7773a0dfcd1 Author: Venki Pallipadi Date: Tue Jul 3 00:39:25 2007 -0400 cpuidle: add rating to the governors and pick the one with highest rating by default Introduce a governor rating scheme to pick the right governor by default. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit d2a74b8c5e8f22def4709330d4bfc4a29209b71c Author: Venki Pallipadi Date: Tue Jul 3 00:38:08 2007 -0400 cpuidle: make cpuidle sysfs driver governor switch off by default Make default cpuidle sysfs to show current_governor and current_driver in read-only mode. More elaborate available_governors and available_drivers with writeable current_governor and current_driver interface only appear with "cpuidle_sysfs_switch" boot parameter. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 1f60a0e80bf83cf6b55c8845bbe5596ed8f6307b Author: Venki Pallipadi Date: Tue Jul 3 00:37:00 2007 -0400 cpuidle: menu governor: change the early break condition Change the C-state early break out algorithm in menu governor. We only look at early breakouts that result in wakeups shorter than idle state's target_residency. If such a breakout is frequent enough, eliminate the particular idle state upto a timeout period. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 45a42095cf64b003b4a69be3ce7f434f97d7af51 Author: Venki Pallipadi Date: Tue Jul 3 00:35:38 2007 -0400 cpuidle: fix uninitialized variable in sysfs routine Fix the uninitialized usage of ret. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 80dca7cdba3e6ee13eae277660873ab9584eb3be Author: Venki Pallipadi Date: Tue Jul 3 00:34:16 2007 -0400 cpuidle: reenable /proc/acpi//power interface for the time being Keep /proc/acpi/processor/CPU*/power around for a while as powertop depends on it. It will be marked deprecated and removed in future. powertop can use cpuidle interfaces instead. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 589c37c2646c5e3813a51255a5ee1159cb4c33fc Author: Venki Pallipadi Date: Tue Jul 3 00:32:37 2007 -0400 cpuidle: menu governor and hrtimer compile fix Compile fix for menu governor. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 0ba80bd9ab3ed304cb4f19b722e4cc6740588b5e Author: Len Brown Date: Thu May 31 22:51:43 2007 -0400 cpuidle: build fix - cpuidle vs ipw2100 module ERROR: "acpi_set_cstate_limit" [drivers/net/wireless/ipw2100.ko] undefined! Signed-off-by: Len Brown commit d7d8fa7f96a7f7682be7c6cc0cc53fa7a18c3b58 Author: Adam Belay Date: Sat Mar 24 03:47:07 2007 -0400 cpuidle: add the 'menu' governor Here is my first take at implementing an idle PM governor that takes full advantage of NO_HZ. I call it the 'menu' governor because it considers the full list of idle states before each entry. I've kept the implementation fairly simple. It attempts to guess the next residency time and then chooses a state that would meet at least the break-even point between power savings and entry cost. To this end, it selects the deepest idle state that satisfies the following constraints: 1. If the idle time elapsed since bus master activity was detected is below a threshold (currently 20 ms), then limit the selection to C2-type or above. 2. Do not choose a state with a break-even residency that exceeds the expected time remaining until the next timer interrupt. 3. Do not choose a state with a break-even residency that exceeds the elapsed time between the last pair of break events, excluding timer interrupts. This governor has an advantage over "ladder" governor because it proactively checks how much time remains until the next timer interrupt using the tick infrastructure. Also, it handles device interrupt activity more intelligently by not including timer interrupts in break event calculations. Finally, it doesn't make policy decisions using the number of state entries, which can have variable residency times (NO_HZ makes these potentially very large), and instead only considers sleep time deltas. The menu governor can be selected during runtime using the cpuidle sysfs interface like so: "echo "menu" > /sys/devices/system/cpu/cpuidle/current_governor" Signed-off-by: Adam Belay Signed-off-by: Len Brown commit a4bec7e65aa3b7488b879d971651cc99a6c410fe Author: Adam Belay Date: Sat Mar 24 03:47:03 2007 -0400 cpuidle: export time until next timer interrupt using NO_HZ Expose information about the time remaining until the next timer interrupt expires by utilizing the dynticks infrastructure. Also modify the main idle loop to allow dynticks to handle non-interrupt break events (e.g. DMA). Finally, expose sleep ticks information to external code. Thomas Gleixner is responsible for much of the code in this patch. However, I've made some additional changes, so I'm probably responsible if there are any bugs or oversights :) Signed-off-by: Adam Belay Signed-off-by: Len Brown commit 2929d8996fbc77f41a5ff86bb67cdde3ca7d2d72 Author: Adam Belay Date: Sat Mar 24 03:46:58 2007 -0400 cpuidle: governor API changes This patch prepares cpuidle for the menu governor. It adds an optional stage after idle state entry to give the governor an opportunity to check why the state was exited. Also it makes sure the idle loop returns after each state entry, allowing the appropriate dynticks code to run. Signed-off-by: Adam Belay Signed-off-by: Len Brown commit 3a7fd42f9825c3b03e364ca59baa751bb350775f Author: Venki Pallipadi Date: Thu Apr 26 00:03:59 2007 -0700 cpuidle: hang fix Prevent hang on x86-64, when ACPI processor driver is added as a module on a system that does not support C-states. x86-64 expects all idle handlers to enable interrupts before returning from idle handler. This is due to enter_idle(), exit_idle() races. Make cpuidle_idle_call() confirm to this when there is no pm_idle_old. Also, cpuidle look at the return values of attch_driver() and set current_driver to NULL if attach fails on all CPUs. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 4893339a142afbd5b7c01ffadfd53d14746e858e Author: Shaohua Li Date: Thu Apr 26 10:40:09 2007 +0800 cpuidle: add support for max_cstate limit With CPUIDLE framework, the max_cstate (to limit max cpu c-state) parameter is ingored. Some systems require it to ignore C2/C3 and some drivers like ipw require it too. Signed-off-by: Shaohua Li Signed-off-by: Len Brown commit 43bbbbe1cb998cbd2df656f55bb3bfe30f30e7d1 Author: Shaohua Li Date: Thu Apr 26 10:40:13 2007 +0800 cpuidle: add cpuidle_fore_redetect_devices API add cpuidle_force_redetect_devices API, which forces all CPU redetect idle states. Next patch will use it. Signed-off-by: Shaohua Li Signed-off-by: Len Brown commit d1edadd608f24836def5ec483d2edccfb37b1d19 Author: Shaohua Li Date: Thu Apr 26 10:40:01 2007 +0800 cpuidle: fix sysfs related issue Fix the cpuidle sysfs issue. a. make kobject dynamicaly allocated b. fixed sysfs init issue to avoid suspend/resume issue Signed-off-by: Shaohua Li Signed-off-by: Len Brown commit 7169a5cc0d67b263978859672e86c13c23a5570d Author: Randy Dunlap Date: Wed Mar 28 22:52:53 2007 -0400 cpuidle: 1-bit field must be unsigned A 1-bit bitfield has no room for a sign bit. drivers/cpuidle/governors/ladder.c:54:16: error: dubious bitfield without explicit `signed' or `unsigned' Signed-off-by: Randy Dunlap Cc: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 4658620158dc2fbd9e4bcb213c5b6fb5d05ba7d4 Author: Venkatesh Pallipadi Date: Wed Mar 28 22:52:41 2007 -0400 cpuidle: fix boot hang Patch for cpuidle boot hang reported by Larry Finger here. http://www.ussg.iu.edu/hypermail/linux/kernel/0703.2/2025.html Signed-off-by: Venkatesh Pallipadi Cc: Larry Finger Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit c17e168aa6e5fe3851baaae8df2fbc1cf11443a9 Author: Len Brown Date: Wed Mar 7 04:37:53 2007 -0500 cpuidle: ladder does not depend on ACPI build fix for CONFIG_ACPI=n In file included from drivers/cpuidle/governors/ladder.c:21: include/acpi/processor.h:88: error: expected specifier-qualifier-list before ‘acpi_integer’ include/acpi/processor.h:106: error: expected specifier-qualifier-list before ‘acpi_integer’ include/acpi/processor.h:168: error: expected specifier-qualifier-list before ‘acpi_handle’ Signed-off-by: Len Brown commit 8c91d958246bde68db0c3f0c57b535962ce861cb Author: Adrian Bunk Date: Tue Mar 6 02:29:40 2007 -0800 cpuidle: make code static This patch makes the following needlessly global code static: - driver.c: __cpuidle_find_driver() - governor.c: __cpuidle_find_governor() - ladder.c: struct ladder_governor Signed-off-by: Adrian Bunk Cc: Venkatesh Pallipadi Cc: Adam Belay Cc: Shaohua Li Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 0c39dc3187094c72c33ab65a64d2017b21f372d2 Author: Venkatesh Pallipadi Date: Wed Mar 7 02:38:22 2007 -0500 cpu_idle: fix build break This patch fixes a build breakage with !CONFIG_HOTPLUG_CPU and CONFIG_CPU_IDLE. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 8112e3b115659b07df340ef170515799c0105f82 Author: Venkatesh Pallipadi Date: Tue Mar 6 02:29:39 2007 -0800 cpuidle: build fix for !CPU_IDLE Fix the compile issues when CPU_IDLE is not configured. Signed-off-by: Venkatesh Pallipadi Cc: Adam Belay Cc: Shaohua Li Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 1eb4431e9599cd25e0d9872f3c2c8986821839dd Author: Venkatesh Pallipadi Date: Thu Feb 22 13:54:57 2007 -0800 cpuidle take2: Basic documentation for cpuidle Documentation for cpuidle infrastructure Signed-off-by: Venkatesh Pallipadi Signed-off-by: Adam Belay Signed-off-by: Shaohua Li Signed-off-by: Len Brown commit ef5f15a8b79123a047285ec2e3899108661df779 Author: Venkatesh Pallipadi Date: Thu Feb 22 13:54:03 2007 -0800 cpuidle take2: Hookup ACPI C-states driver with cpuidle Hookup ACPI C-states onto generic cpuidle infrastructure. drivers/acpi/procesor_idle.c is now a ACPI C-states driver that registers as a driver in cpuidle infrastructure and the policy part is removed from drivers/acpi/processor_idle.c. We use governor in cpuidle instead. Signed-off-by: Shaohua Li Signed-off-by: Venkatesh Pallipadi Signed-off-by: Adam Belay Signed-off-by: Len Brown commit 987196fa82d4db52c407e8c9d5dec884ba602183 Author: Venkatesh Pallipadi Date: Thu Feb 22 13:52:57 2007 -0800 cpuidle take2: Core cpuidle infrastructure Announcing 'cpuidle', a new CPU power management infrastructure to manage idle CPUs in a clean and efficient manner. cpuidle separates out the drivers that can provide support for multiple types of idle states and policy governors that decide on what idle state to use at run time. A cpuidle driver can support multiple idle states based on parameters like varying power consumption, wakeup latency, etc (ACPI C-states for example). A cpuidle governor can be usage model specific (laptop, server, laptop on battery etc). Main advantage of the infrastructure being, it allows independent development of drivers and governors and allows for better CPU power management. A huge thanks to Adam Belay and Shaohua Li who were part of this mini-project since its beginning and are greatly responsible for this patchset. This patch: Core cpuidle infrastructure. Introduces a new abstraction layer for cpuidle: * which manages drivers that can support multiple idles states. Drivers can be generic or particular to specific hardware/platform * allows pluging in multiple policy governors that can take idle state policy decision * The core also has a set of sysfs interfaces with which administrato can know about supported drivers and governors and switch them at run time. Signed-off-by: Adam Belay Signed-off-by: Shaohua Li Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown Signed-off-by: Len Brown commit 3ac8c70f74ca67111c570f4ba828cc4b6fc229f4 Author: Dave Olson Date: Wed Oct 3 12:47:00 2007 -0700 IB/ipath: Minor fix to ordering of freeing and zeroing of tid pages. Fixed to be the same as everywhere else. copy and then zero the page * in the array first, and then pass the copy to the VM routines. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit bda94e32b39c0e60d43b34a175363601b6f12ca4 Author: Ralph Campbell Date: Fri Oct 5 16:03:21 2007 -0700 IB/ipath: Remove redundant link state checks This patch removes some redundant checks when the SMA changes the link state since the same checks are made in the lower level function that sets the state. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 49739b3e24a10d819d3167a1c5b319d0b1186245 Author: Ralph Campbell Date: Wed Sep 19 16:47:31 2007 -0700 IB/ipath: Fix IB_EVENT_PORT_ERR event The link state event calls were being generated when the SM told the SMA to change link states. This works for IB_EVENT_PORT_ACTIVE but not if the link goes down and stays down. The fix is to generate event calls from the interrupt handler when the HW link state changes. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6a733cdc71b7aa8107caa57f2a16629aa731242a Author: Michael Albaugh Date: Wed Oct 3 10:47:38 2007 -0700 IB/ipath: Better handling of unexpected GPIO interrupts The General Purpose I/O pins can be configured to cause interrupts. At the end of the interrupt code dealing with all known causes, a message is output if any bits remain un-handled. Since this is a "can't happen" scenario, it should only be triggered by bugs elsewhere. It is harmless, and potentially beneficial, to limit the damage by masking any such unexpected interrupts. This patch adds disabling of interrupts from any pins that should not have been allowed to interrupt, in addition to emitting a message. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 192594d5230f447ef2df8de9d7902ac90d11c118 Author: Michael Albaugh Date: Tue Oct 2 13:26:45 2007 -0700 IB/ipath: Maintain active time on all chips There is a count of "active hours" maintained in EEPROM, to aid troubleshooting. The definition of "active" is based on traffic exceeding a threshold in any given 5-second polling interval. As originally written, the check was inadvertently bypassed for chips whose counters were 64-bits wide, and only applied to chips with 32-bit wide counters. This patch moves the test for amount of traffic "out" to a more common location, rather than depending on a side-effect of the software emulation of 64-bit counts on chips whose hardware is only 32-bits wide. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit aa7c79abd154ed9aba4c19b861d439ef6af35d3a Author: Dave Olson Date: Thu Aug 16 18:10:43 2007 -0700 IB/ipath: Fix QHT7040 serial number check Remove all the OEM and bringup boards, and complain and fail initialization if one is found. QHT7040 with GPIO rework (128ywwuuuu) is OK, older 112ywwuuuu is no longer supported). The check that had been added was failing both the 112 and 128 series. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 20bed343142bfaf08765e35aaefa56dc5cc287db Author: Arthur Jones Date: Tue Sep 18 14:44:45 2007 -0700 IB/ipath: Indicate a couple of chip bugs to userspace A couple of chip bugs in the iba6110 and in the iba6120 are not in more recent chips. This first bug swaps two of the pioavail register locations. In the second bug, the chip can sometimes forget to dma the pio avail register to memory. We indicate the presence of these bugs with runtime flags and we indicate the presence of the flags by bumping the SWMINOR. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 4bec0b9155d6757847b754e21b55ecafcecef839 Author: Arthur Jones Date: Tue Sep 18 14:24:23 2007 -0700 IB/ipath: iba6110 rev4 no longer needs recv header overrun workaround iba6110 rev3 and earlier had a chip bug where the chip could overrun the recv header queue. rev4 fixed this chip bug so userspace no longer needs to workaround it. Now we only set the workaround flag for older chip versions. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 70c51da2c4f84317bb13a2b564600afdcebd686f Author: Arthur Jones Date: Fri Sep 14 12:22:49 2007 -0700 IB/ipath: Use counters in ipath_poll and cleanup interrupts in ipath_close ipath_poll() suffered from a couple subtle bugs. Under the right conditions we could leave recv interrupts enabled on an ipath user context on close, thereby taking potentially unwanted interrupts on the next open -- this is fixed by unconditionally turning off recv interrupts on close. Also, we now use counters rather than set/clear bits which allows us to make sure we catch all interrupts at the cost of changing the semantics slightly (it's now give me all events since the last time I called poll() rather than give me all events since I called _this_ poll routine). We also added some memory barriers which may help ensure we get all notifications in a timely manner. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 542869a17eee2edf389273f40f757aa4e662b3da Author: Ralph Campbell Date: Thu Sep 13 11:42:52 2007 -0700 IB/ipath: Remove duplicate copy of LMC The LMC value was being saved by the SMA in two places. This patch cleans it up so only one copy is kept. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 32afbf07aa53120c0e3fe1881b948ded99f4fc35 Author: Henrique de Moraes Holschuh Date: Mon Oct 8 10:12:56 2007 -0300 ACPI: thinkpad-acpi: skip blanks before the data when parsing sysfs Skip blanks not just at the tail of sysfs writes, but also at the head. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 15cba26f42c13ca30cbb4388f132ac0ddf4df538 Author: Ralph Campbell Date: Wed Sep 12 15:00:58 2007 -0700 IB/ipath: Add ability to set the LMC via the sysfs debugging interface This patch adds the ability to set the LMC via a sysfs file as if the SM sent a SubnSet(PortInfo) MAD. It is useful for debugging when no SM is running. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6cff2faaf135b602c914710f3414630c3fc1ee83 Author: Ralph Campbell Date: Fri Sep 7 16:54:01 2007 -0700 IB/ipath: Optimize completion queue entry insertion and polling The code to add an entry to the completion queue stored the QPN which is needed for the user level verbs view of the completion queue entry but the kernel struct ib_wc contains a pointer to the QP instead of a QPN. When the kernel polled for a completion queue entry, the QPN was lookup up and the QP pointer recovered. This patch stores the CQE differently based on whether the CQ is a kernel CQ or a user CQ thus avoiding the QPN to QP lookup overhead. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit d42b01b584b6f55f70c56f6a3dabc26f4982d30d Author: Ralph Campbell Date: Sat Aug 25 16:45:03 2007 -0700 IB/ipath: Implement IB_EVENT_QP_LAST_WQE_REACHED This patch implements the IB_EVENT_QP_LAST_WQE_REACHED event which is needed by ib_ipoib to destroy the QP when used in connected mode. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit c9cf7db2bca9180f5888eebc23dc607666a9685b Author: Ralph Campbell Date: Sat Aug 25 16:48:29 2007 -0700 IB/ipath: Generate flush CQE when QP is in error state Follow the IB spec. (C10-96) for post send which states that a flushed completion event should be generated for work requests posted when a QP is in the error state. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 036be09ca55ee8512c05742f4f6b88911d012a90 Author: Ralph Campbell Date: Mon Aug 20 16:52:35 2007 -0700 IB/ipath: Remove redundant code This patch removes some redundant initialization code. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit d29cc6efb9731a415957b8d0ff16e31729ed6837 Author: Dave Olson Date: Fri Aug 17 14:42:14 2007 -0700 IB/ipath: Future proof eeprom checksum code (contents reading) In an earlier change, the amount of data read from the flash was mistakenly limited to the size known to the current driver. This causes problems when the length is increased, and written with the new longer version; the checksum would fail because not enough data was read. Always read the full 128 byte length to prevent this. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 55046698faf6357ff7c53593dbfd43a9a3f681a7 Author: Ralph Campbell Date: Fri Aug 17 11:28:48 2007 -0700 IB/ipath: UC RDMA WRITE with IMMEDIATE doesn't send the immediate This patch fixes a bug in the receive processing for UC RDMA WRITE with immediate which caused the last packet to be dropped. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9ef8617af77136e743e5dd4b081a61797888a977 Author: Dave Olson Date: Thu Aug 9 15:18:48 2007 -0700 IB/ipath: Correctly describe workaround for TID write chip bug This is a comment change, only, correcting the comment to match the implemented workaround, rather than the original workaround, and clarifying why it's needed. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 1793b4771d258c93ed86a6356c95cac418781fdd Author: Ralph Campbell Date: Tue Aug 7 18:09:34 2007 -0700 IB/ipath: Remove unneeded code for ipathfs The ipathfs file system is used to export binary data verses ASCII data such as through /sys. This patch removes some unneeded files since the data is available through other /sys files. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9bec3992312b8bb3aee71bd3b57d106a0a649479 Author: Dave Olson Date: Fri Jun 1 13:01:47 2007 -0700 IB/ipath: Verify host bus bandwidth to chip will not limit performance There have been a number of issues where host bandwidth via HT or PCIe to the InfiniPath chip has been limited in some fashion (BIOS, configuration, etc.), resulting in user confusion. This check gives a clear warning that something is wrong and needs to be resolved. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 4ee97180ac76deb5a715ac45b7d7516e6ee82ae7 Author: Ralph Campbell Date: Wed Jul 25 11:08:28 2007 -0700 IB/ipath: Change UD to queue work requests like RC & UC The code to post UD sends tried to process work requests at the time ib_post_send() is called without using a WQE queue. This was fine as long as HW resources were available for sending a packet. This patch changes UD to be handled more like RC and UC and shares more code. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 210d6ca3db058cd1d6e6fd235ee3e25d6ac221cd Author: Ralph Campbell Date: Tue Jul 24 13:55:39 2007 -0700 IB/ipath: Performance optimization for CPU differences Different processors have different ordering restrictions for write combining. By taking advantage of this, we can eliminate some write barriers when writing to the send buffers. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit c3e2a8e64cb2282a406ff6e63f7bd09eb6f61a1d Author: Jiri Slaby Date: Tue Oct 9 22:15:27 2007 -0300 V4L/DVB (6308): V4L: zc0301, remove bad usage of ERESTARTSYS zc0301, remove bad usage of ERESTARTSYS down_read_trylock can't be interrupted and so ERESTARTSYS would reach userspace, which is not permitted. Change it to EAGAIN Signed-off-by: Jiri Slaby Acked-by: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit 3abff557d5eed7d6fd03aa11353a1c0f329cac2b Author: Jiri Slaby Date: Tue Oct 9 22:03:12 2007 -0300 V4L/DVB (6307): V4L: w9968cf, remove bad usage of ERESTARTSYS w9968cf, remove bad usage of ERESTARTSYS down_read_trylock can't be interrupted and so ERESTARTSYS would reach userspace, which is not permitted. Change it to EAGAIN Signed-off-by: Jiri Slaby Acked-by: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit acd827d63a568a2cfa26ae8e6093b098c91c631b Author: Maxim Levitsky Date: Mon Oct 8 12:07:35 2007 -0300 V4L/DVB (6306): Few clenups for saa7134 resume code *Disable DMA explictly on suspend *Enable DMA on resume, after all buffers were configured *Disable overlay on resume - apps should enable it when X is resumed Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit 49ee718ef51f4d938f80f67207e1bfa2a38897a4 Author: Brandon Philips Date: Fri Oct 5 16:26:27 2007 -0300 V4L/DVB (6305): V4L: videobuf-core.c avoid NULL dereferences in videobuf-core The return value of videobuf_alloc() is unchecked but this function will return NULL on an error. Check for NULL and make videobuf_reqbufs() return the number of successfully allocated buffers. Also, fix saa7146_video.c and bttv-driver.c to use this returned buffer count. Tested against the vivi driver. Not tested against saa7146 or bt8xx devices. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit c726b65d079cafabc558616badbeead442e2b114 Author: Trent Piepho Date: Mon Oct 8 19:05:28 2007 -0300 V4L/DVB (6301): pvrusb: Update DEBUGIFC sysfs to kernel 2.6.13+ The prototypes for the show and store methods of a device_attribute changed in kernel 2.6.13, but the code in pvrusb2 was never updated. I guess the DEBUGIFC stuff isn't used much.... Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit bde00cc027879a39f249ffedb048032cb7e484e4 Author: Trent Piepho Date: Mon Oct 8 18:36:21 2007 -0300 V4L/DVB (6300): CodingStyle cleanup Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 102abd826a20307c5a0d23f49b8a3b5d98bddf94 Author: Trent Piepho Date: Mon Oct 8 18:34:11 2007 -0300 V4L/DVB (6299): dvb: Add dependencies for VIDEOBUF_DVB It needs to select VIDEOBUF_GEN and VIDEOBUF_DMA_SG, since it uses those modules. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 21a7ad4a7e86a5da16caf61eb50bc92af4929672 Author: Michael Krufky Date: Mon Oct 8 17:18:17 2007 -0300 V4L/DVB (6297): cx23885: remove wrong Kconfig selection of VIDEOBUF fix bad Kconfig dependency of cx23885 module. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fa3b877e5c75a2f4d1706c40163dbf176a2fd80d Author: Joachim Steiger Date: Mon Oct 8 20:08:46 2007 -0300 V4L/DVB (6296): dib0700: add support for AverMedia DVB-T Express card add Avermedia dvb-t express card 34 (usb2) id Signed-off-by: Joachim Steiger Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0ac3a5bbca33840542d98420d9d82e8738299b20 Author: Eric Sandeen Date: Mon Oct 8 16:13:02 2007 -0300 V4L/DVB (6295): saa7134: add autodetection for KWorld ATSC-115 Recognize the KWorld ATSC115 PCI ID as a hardware clone of the ATSC110. Signed-off-by: Eric Sandeen Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 54bd5b66c87d14e250f108aad1228b905d6882f6 Author: Kay Sievers Date: Mon Oct 8 16:26:13 2007 -0300 V4L/DVB (6293): V4L: convert struct class_device to struct device The currently used "struct class_device" will be removed from the kernel. Here is a patch that converts all users in drivers/media/video/ to struct device. Reviewed-by: Thierry Merle Reviewed-by: Mike Isely Reviewed-by: Luca Risolia Signed-off-by: Kay Sievers Signed-off-by: Mauro Carvalho Chehab commit d4cae5a50021271b9ef4e5e39e71e177d12fa8cb Author: Mauro Carvalho Chehab Date: Mon Oct 8 12:20:02 2007 -0300 V4L/DVB (6292): videobuf_core init always require callback implementation In the past, videobuf_queue_init were used to initialize PCI DMA videobuffers. This patch renames it, to avoid confusion with the previous kernel API, doing: s/videobuf_queue_init/void videobuf_queue_core_init/ Also, the operations is now part of the function parameter. The function will also add a test if this is defined, otherwise producing BUG. Signed-off-by: Mauro Carvalho Chehab commit d5f1b01644b6fd5e9eb480a4762cd6b569cb1246 Author: Mauro Carvalho Chehab Date: Mon Oct 8 11:48:57 2007 -0300 V4L/DVB (6291): Fix: avoid oops on some SMP machines This workaround fix a bug that happens on some SMP machines. On those machines, videobuf_iolock is called too soon, before file .mmap handler. This patch calls the scheduler before iolocking, allowing it to properly call the pending mmap. Signed-off-by: Mauro Carvalho Chehab commit 5ddff43435394c1c2540fcdeed00cb54862c31bf Author: Mauro Carvalho Chehab Date: Mon Oct 8 11:43:49 2007 -0300 V4L/DVB (6290): remove videobuf_set_pci_ops Before the videobuf redesign, a procedure for re-using videobuf without PCI scatter/gather where provided by changing the pci-dependent operations by other operations. With the newer approach, those methods are obsolete and can safelly be removed. Signed-off-by: Mauro Carvalho Chehab commit 7568e3ce6710cb2c1bc1564a273e9f222efbc95e Author: Robert P. J. Day Date: Mon Oct 8 09:20:49 2007 -0300 V4L/DVB (6289): Remove reference to dead CONFIG_UST and ust.h header Signed-off-by: Robert P. J. Day Signed-off-by: Mauro Carvalho Chehab commit aecfde539eeac11f269894413abf3b60cf74844f Author: Mauro Carvalho Chehab Date: Mon Oct 8 09:04:09 2007 -0300 V4L/DVB (6287): Fix DMA Scatter/Gather constructor cx23885 driver were converted to use the newer videobuf support. Unfortunately, the constructor weren't changed. This causes an oops, since the abstract methods (implemented as callbacks) aren't defined. Signed-off-by: Mauro Carvalho Chehab Reviewed-by: Michael Krufky commit 593f18c6e4d04134f240fbad001d878802d8925f Author: Mauro Carvalho Chehab Date: Sun Oct 7 02:17:09 2007 -0300 V4L/DVB (6286): Add support for MSI TV @nywhere A/D NB This is a Lifeview hybrid OEM board. Signed-off-by: Mauro Carvalho Chehab commit 925343ecdfd3f1dafd1049ddd4944621bbe3422e Author: Jesper Juhl Date: Thu Aug 23 21:22:15 2007 -0300 V4L/DVB (6285): Remove pointless kmalloc() return value cast in Zoran PCI controller driver No need to cast the void pointer returned by kmalloc() in drivers/media/video/zoran_driver.c::v4l_fbuffer_alloc(). Signed-off-by: Jesper Juhl Signed-off-by: Mauro Carvalho Chehab commit 409d84f85a8d523ecd108cbe2c0e722682da95ff Author: Trent Piepho Date: Thu Oct 4 05:28:45 2007 -0300 V4L/DVB (6284): cx23885: Update to new videobuf code cx23885 was still uses the old video-buf includes and code, which would only `work' if one happened to be compiling against a kernel that had the old headers. Even then, it wouldn't actually work, it would just compile without errors. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 5a3ebe8755e88cd765f75121665c0d38004f8f37 Author: Trent Piepho Date: Thu Oct 4 04:54:11 2007 -0300 V4L/DVB (6283): videobuf: Remove references to old Kconfig option name CONFIG_VIDEO_BUF_DVB became CONFIG_VIDEOBUF_DVB. But in these cases, it makes more sense to use CONFIG_VIDEO_SAA7134_DVB or CONFIG_VIDEO_CX88_DVB_MODULE depending on the driver. The reference in cx23885.h should just be removed, as the code there needs to be included if DVB is on or off. I do not think you can even compile the cx23885 driver without DVB. It's clearly just leftover from when the file was obvious copied from the cx88 driver (which is not mentioned in the copyright BTW). Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 9320874a3e6aea7044a4a7eedeab13db990424ab Author: Christoph Hellwig Date: Wed Oct 3 11:23:01 2007 -0300 V4L/DVB (6279): en_50221: convert to kthread API Here's an attempted update to the full kthread API + wake_up_process: Signed-off-by: Andrew Morton CC: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit d00cd2985e0e796621adf0f782af1563d990b0b5 Author: Maxim Levitsky Date: Tue Oct 2 09:03:39 2007 -0300 V4L/DVB (6278): Buf: fix typo that caused data loss when readng streams from device If videobuf_read_stream reads two or more buffers it was overwriting the first one Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira commit 14f37aee299bf9a897516f5e33948ee1f014eae1 Author: Mauro Carvalho Chehab Date: Thu Sep 27 21:00:50 2007 -0300 V4L/DVB (6277): vivi cleanup: remove the unused vars Vivi driver is now simpler. This patch removes the now unused vars. Signed-off-by: Mauro Carvalho Chehab commit 00f98d0804c88c29bef81cb98c861f13c9b33f30 Author: Brandon Philips Date: Thu Sep 27 20:55:28 2007 -0300 V4L/DVB (6276): V4L: videobuf-core.c lock before streaming check The reading/streaming fields are used for mutual exclusion of the queue and should be protected by the queue lock. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira commit ba32bd95d431525ad2ffac97cadf9ee40b63939e Author: Brandon Philips Date: Thu Sep 27 20:55:17 2007 -0300 V4L/DVB (6275): V4L: vivi.c remove the "resource" locking The "resource" locking in vivi isn't needed since streamon/streamoff/read_stream do mutual exclusion using q->reading/q->streaming. Plus it is sort of broken: a) res_locked() use in vivi_read() is racey. b) res_free() calls mutex_lock twice causing streamoff to break Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 85c7c70bc241d506dffc1879158f77f8aac69734 Author: Brandon Philips Date: Thu Sep 27 20:55:02 2007 -0300 V4L/DVB (6274): V4L: vivi.c replace logic in vivi_poll with videobuf_poll_stream Since vivi is using videobuf_read_stream() it can use videobuf_poll_stream() now. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit a326ae1126fddd07728e854322e0c657c6b1fbda Author: Brandon Philips Date: Thu Sep 27 20:54:52 2007 -0300 V4L/DVB (6273): V4L: vivi.c vidioc_try_fmt_cap() negotiate a valid field If the client provides V4L2_FIELD_ANY vivi should return a valid field :) Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 11f7078c10944437b6cf335cea50ed7da675a8b1 Author: Maxim Levitsky Date: Thu Sep 27 20:44:39 2007 -0300 V4L/DVB (6272): V4L: properly fix support for capturing interlaced video in saa7134 By "capturing interlaced video" I mean that card ensures that top field is really top and vice versa (I think it takes the filed ID from signal) Properly turn on/off that support depending on signal state Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit cb71201f20e43581857043a1f856fb61ce44bdf8 Author: Maxim Levitsky Date: Thu Sep 27 20:34:25 2007 -0300 V4L/DVB (6271): V4L: Add basic support for suspend/resume for saa7134 This adds support for suspend/resume for core of saa7134 Should fix bug#7220 Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit f5a1ac64cc444cf19c8817d61a410b70bbb619d9 Author: Maxim Levitsky Date: Thu Sep 27 20:34:20 2007 -0300 V4L/DVB (6270): V4L: Honor dev->ctl_invert when setting up the decoder in saa7134 When user sets dev->ctl_invert, driver writes negative values to SAA7134_DEC_LUMA_CONTRAST and SAA7134_DEC_CHROMA_SATURATION, but general code that initializes decorder ignores that Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit b4aeb8b8232bd80764997bf38f574f63e118c259 Author: Maxim Levitsky Date: Thu Sep 27 20:34:15 2007 -0300 V4L/DVB (6269): V4L: Fix a "scheduling while atomic" bug in saa7134 set_tvnorm can sleep in saa7134_i2c_xfer (it will be called through tuner code) but code calls it under spinlock. Fix that Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit 9900132f3437e9373aa030cdb5bd2d5db15566e3 Author: Maxim Levitsky Date: Thu Sep 27 20:34:09 2007 -0300 V4L/DVB (6268): V4L: Fix a lock inversion in generic videobuf code videobuf_qbuf takes q->lock, and then calls q->ops->buf_prepare which by design in all drivers calls videobuf_iolock which calls videobuf_dma_init_user and this takes current->mm->mmap_sem on the other hand if user calls mumap from other thread, sys_munmap takes current->mm->mmap_sem and videobuf_vm_close takes q->lock Since this can occur only for V4L2_MEMORY_MMAP buffers, take current->mm->mmap_sem in qbuf, before q->lock, and don't take current->mm->mmap_sem videobuf_dma_init_user for those buffers Signed-off-by: Maxim Levitsky http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira Signed-off-by: Mauro Carvalho Chehab commit 851c0c96b2212f48fe51afc1589541b5eae3a544 Author: Mauro Carvalho Chehab Date: Thu Sep 27 18:25:44 2007 -0300 V4L/DVB (6266): videobuf cleanup: mmap check is common to all videobuf. Make it at core Signed-off-by: Mauro Carvalho Chehab http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira commit cd4765efdd816ac14075fc7d5adf489502e75e1e Author: Mauro Carvalho Chehab Date: Tue Sep 25 11:53:24 2007 -0300 V4L/DVB (6265): Prevent for calling mmap_free without an allocated buffer Signed-off-by: Mauro Carvalho Chehab http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira commit 3bef5e4a1f73898dc8c8433f938d3a8b22f2be22 Author: Mauro Carvalho Chehab Date: Sat Sep 22 02:01:33 2007 -0300 V4L/DVB (6264): Make the vertical lines to move While this is not the standard color bar behaviour, having some movement there allows to check if buffers are being properly handled. Signed-off-by: Mauro Carvalho Chehab commit 123f8ef64e3996e06a930756b6b2cdede4b18da0 Author: Mauro Carvalho Chehab Date: Thu Sep 6 20:11:35 2007 -0300 V4L/DVB (6263): Fix buffer release code Release code should happen before the cleaning of map variable. Signed-off-by: Mauro Carvalho Chehab commit e78dcf55520769471c66024b13df7e9e592436f4 Author: Mauro Carvalho Chehab Date: Thu Sep 6 19:08:24 2007 -0300 V4L/DVB (6262): An allocation error message were being printed as a debug msg Signed-off-by: Mauro Carvalho Chehab commit c520a4970c7e5f18275ef935372e56eabd6d0e44 Author: Mauro Carvalho Chehab Date: Thu Sep 6 18:55:07 2007 -0300 V4L/DVB (6261): Cleans mem->vmalloc after vfree Signed-off-by: Mauro Carvalho Chehab commit 28318c72adc14952d05d8037d73cec852247791c Author: Mauro Carvalho Chehab Date: Tue Oct 2 11:16:16 2007 -0300 V4L/DVB (6260): Fix Kconfig dependency Thanks to Michael Krufky for pointing this to me. Signed-off-by: Mauro Carvalho Chehab commit 40558dafff257d69248af8b96c7e896f6bc79dfa Author: Mauro Carvalho Chehab Date: Mon Aug 27 07:37:34 2007 -0300 V4L/DVB (6259): Fix vivi poll() method Due to the replace of videobuf_read_one to videobuf_read_stream, poll() method implementation is wrong. This fixes poll() implementation, making read of /dev/video? to work again. With this method, an USB driver can use video-buf, without needing to request memory from the DMA-safe area. Signed-off-by: Mauro Carvalho Chehab commit 327a338d4fd018d33e7cacde46c0d82622b4bda8 Author: Arthur Jones Date: Thu Aug 2 14:46:29 2007 -0700 IB/ipath: iba6110 rev4 GPIO counters support On iba6110 rev4, support for three more IB counters were added. The LocalLinkIntegrityError counter, the ExcessiveBufferOverrunErrors counter and support for error counting of flow control packets on an invalid VL. These counters trigger GPIO interrupts and the sw keeps track of the counts. Since we also use GPIO interrupts to signal packet reception, we need to turn off the fast interrupts, or we risk losing a GPIO interrupt. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit ba366a23b68029fc8560acf1ad8735eed910f962 Author: Mauro Carvalho Chehab Date: Thu Aug 23 18:12:08 2007 -0300 V4L/DVB (6257): Rename video-buf-dvb to videobuf-dvb to be consistent with the other patches Signed-off-by: Mauro Carvalho Chehab commit 76dea3bc2644e99cce1d98d0bbd3124314e5b50a Author: Roland Dreier Date: Tue Oct 9 19:59:18 2007 -0700 IB/ehca: Fix clipping of device limits to INT_MAX Doing min_t(int, foo, INT_MAX) doesn't work correctly, because if foo is bigger than INT_MAX, then when treated as a signed integer, it will become negative and hence such an expression is just an elaborate NOP. Fix such cases in ehca to do min_t(unsigned, foo, INT_MAX) instead. This fixes negative reported values for max_cqe, max_pd and max_ah: Before: max_cqe: -64 max_pd: -1 max_ah: -1 After: max_cqe: 2147483647 max_pd: 2147483647 max_ah: 2147483647 Based on a bug report and fix from Anton Blanchard . Signed-off-by: Roland Dreier commit ede6bc04f3a07a9c93f02c92cdc281d254398321 Author: Dotan Barak Date: Sun Oct 7 09:30:48 2007 +0200 IPoIB/cm: Clean up initialization of QP attr in ipoib_cm_create_tx_qp() Make the way QP is being created in ipoib_cm_create_tx_qp() consistent with ipoib_cm_create_rx_qp(). Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit 2e61c646edfa013203e3428762f8d6a72e10bdea Author: Roland Dreier Date: Tue Oct 9 19:59:18 2007 -0700 mlx4_core: Use mmiowb() to avoid firmware commands getting jumbled up Firmware commands are sent to the HCA by writing multiple words to a command register block. Access to this block of registers is serialized with a mutex. However, on large SGI systems writes to the register block may be reordered within the system interconnect and reach the HCA in a different order than they were issued (even with the mutex). Fix this by adding an mmiowb() before dropping the mutex. This bug was observed with real workloads with the similar FW command code in the mthca driver, and adding the mmiowb() as in commit 66547550 ("IB/mthca: Use mmiowb() to avoid firmware commands getting jumbled up") was confirmed to fix the problems, so we should add the same fix to mlx4. Signed-off-by: Roland Dreier commit 76d7cc0345a037e8eea426f8abc710abd22946dd Author: Roland Dreier Date: Tue Oct 9 19:59:17 2007 -0700 IB/mthca: Use mmiowb() to avoid firmware commands getting jumbled up Firmware commands are sent to the HCA by writing multiple words to a command register block. Access to this block of registers is serialized with a mutex. However, on large SGI systems, problems were seen with multiple CPUs issuing FW commands at the same time, because the writes to the register block may be reordered within the system interconnect and reach the HCA in a different order than they were issued (even with the mutex). Fix this by adding an mmiowb() before dropping the mutex. Tested-by: Arthur Kepner Signed-off-by: Roland Dreier commit dcb3f974da827c964cb8d419fbb4350cdc08a559 Author: Sean Hefty Date: Wed Aug 1 14:47:16 2007 -0700 RDMA/cma: Queue IB CM MRAs to avoid unnecessary remote retries Automatically queue MRA message to decrease the number of retries sent by the remote side during connection establishment. This also has the effect of increasing the overall connection timeout without using a longer retry time in the case of dropped packets. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit de98b693e9857e183679cd2f49b3c30d2bc57629 Author: Sean Hefty Date: Wed Aug 1 13:49:53 2007 -0700 IB/cm: Modify interface to send MRAs in response to duplicate messages The IB CM provides a message received acknowledged (MRA) message that can be sent to indicate that a REQ or REP message has been received, but will require more time to process than the timeout specified by those messages. In many cases, the application may not know how long it will take to respond to a CM message, but the majority of the time, it will usually respond before a retry has been sent. Rather than sending an MRA in response to all messages just to handle the case where a longer timeout is needed, it is more efficient to queue the MRA for sending in case a duplicate message is received. This avoids sending an MRA when it is not needed, but limits the number of times that a REQ or REP will be resent. It also provides for a simpler implementation than generating the MRA based on a timer event. (That is, trying to send the MRA after receiving the first REQ or REP if a response has not been generated, so that it is received at the remote side before a duplicate REQ or REP has been received) Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 1a1eb6a646f52dc62e3f9ceac4aab9c27e781186 Author: Roland Dreier Date: Tue Oct 9 19:59:17 2007 -0700 IB/mthca: Increase max number of QPs per multicast group to 56 Increase the number of QPs allowed per multicast group from 8 to 56. This allows for one QP per core on 16-core systems, which are now quite common, and allows some space for future growth. This is basically the same patch that Jack Morgenstein just supplied for mlx4. Signed-off-by: Roland Dreier commit e57ac0c297b9e1074dcb6b6ee5cd1d6407a7df14 Author: Jack Morgenstein Date: Tue Oct 2 09:40:13 2007 +0200 mlx4_core: Increase max number of QPs per multicast group to 56 Increase the number of QPs allowed per multicast group from 8 to 56. This allows for one QP per core on 16-core systems, which are now quite common, and allows some space for future growth. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 8ad11fb6b0739e704953e2b0aed453bf7d75d4f6 Author: Jack Morgenstein Date: Wed Aug 1 12:29:05 2007 +0300 IB/mlx4: Implement FMRs Implement FMRs for mlx4. This is an adaptation of code from mthca. Signed-off-by: Jack Morgenstein Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit d7bb58fb1c0e7264a7261c7d0304121ef9402e94 Author: Jack Morgenstein Date: Wed Aug 1 12:28:53 2007 +0300 mlx4_core: Write MTTs from CPU instead with of WRITE_MTT FW command Write MTT entries directly to ICM from the driver (eliminating use of WRITE_MTT command). This reduces the number of FW commands needed to register an MR by at least a factor of 2 and speeds up memory registration significantly. This code will also be used to implement FMRs. Signed-off-by: Jack Morgenstein Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 121964ec38d3e17b5ea6183b3c0571df2f4b0eb6 Author: Roland Dreier Date: Tue Oct 9 19:59:16 2007 -0700 mlx4_core: Fix meaning of dev->caps.reserved_mtts Everything that uses caps.reserved_mtts expects it to be a count of MTT segments, not MTT entries. So convert the value that the FW gives us to a count of segments. Signed-off-by: Roland Dreier commit cf78237d7b0e683d172e40b1e85b26ca49a3cdba Author: Roland Dreier Date: Tue Oct 9 19:59:16 2007 -0700 mlx4_core: Reserve the correct number of MTT segments Taking ilog2(dev->caps.reserved_mtts) to find out the order to pass to the MTT buddy allocator will do the wrong thing if reserved_mtts is ever not a power of 2. Be safe and use fls(dev->caps.reserved_mtts - 1). Signed-off-by: Roland Dreier commit 5b0bf5e25efea77103b0ac7c8057cd56c778ef41 Author: Jack Morgenstein Date: Wed Aug 1 12:28:20 2007 +0300 mlx4_core: Support ICM tables in coherent memory Enable having ICM tables in coherent memory, and use coherent memory for the dMPT table. This will allow writing MPT entries for MRs both via the SW2HW_MPT command and also directly by the driver for FMR remapping without needing to flush or worry about cacheline boundaries. Signed-off-by: Jack Morgenstein Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 04d29b0ede242000b24cfc34cc78fbd164c47e1a Author: Roland Dreier Date: Tue Oct 9 19:59:15 2007 -0700 IB/uverbs: Make ib_uverbs_release_event_file() static ib_uverbs_release_event_file() is only used in uverbs_main.c, so make it static to that file. Also move the definition before the first use, so a forward declaration is not needed. Signed-off-by: Roland Dreier commit a394f83bdfec10b09d8cb111e622556b2e6fd0de Author: Roland Dreier Date: Tue Oct 9 19:59:15 2007 -0700 IB/umad: Fix bit ordering and 32-on-64 problems on big endian systems The declaration of struct ib_user_mad_reg_req.method_mask[] exported to userspace was an array of __u32, but the kernel internally treated it as a bitmap made up of longs. This makes a difference for 64-bit big-endian kernels, where numbering the bits in an array of__u32 gives: |31.....0|63....31|95....64|127...96| while numbering the bits in an array of longs gives: |63..............0|127............64| 64-bit userspace can handle this by just treating method_mask[] as an array of longs, but 32-bit userspace is really stuck: the meaning of the bits in method_mask[] depends on whether the kernel is 32-bit or 64-bit, and there's no sane way for userspace to know that. Fix this by updating to make it clear that method_mask[] is an array of longs, and using a compat_ioctl method to convert to an array of 64-bit longs to handle the 32-on-64 problem. This fixes the interface description to match existing behavior (so working binaries continue to work) in almost all situations, and gives consistent semantics in the case of 32-bit userspace that can run on either a 32-bit or 64-bit kernel, so that the same binary can work for both 32-on-32 and 32-on-64 systems. Signed-off-by: Roland Dreier commit 2be8e3ee8efd6f99ce454115c29d09750915021a Author: Roland Dreier Date: Tue Oct 9 19:59:15 2007 -0700 IB/umad: Add P_Key index support Add support for setting the P_Key index of sent MADs and getting the P_Key index of received MADs. This requires a change to the layout of the ABI structure struct ib_user_mad_hdr, so to avoid breaking compatibility, we default to the old (unchanged) ABI and add a new ioctl IB_USER_MAD_ENABLE_PKEY that allows applications that are aware of the new ABI to opt into using it. We plan on switching to the new ABI by default in a year or so, and this patch adds a warning that is printed when an application uses the old ABI, to push people towards converting to the new ABI. Signed-off-by: Roland Dreier Reviewed-by: Sean Hefty Reviewed-by: Hal Rosenstock commit c01759cee91379cc3cb551bfd7c76f1b51f91ca2 Author: Joachim Fenkes Date: Fri Sep 28 17:20:05 2007 +0200 IB/ehca: Return srq_attr->max_sge in ehca_query_srq() Totally forgot this. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit a66072237500f31cec19fa688210150de9c9f957 Author: Hoang-Nam Nguyen Date: Fri Sep 28 17:18:47 2007 +0200 IB/ehca: Adjust 64-bit alignment of create QP response for userspace Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 03f72a51cb1a0ba530e3308e3de84399a75b41ec Author: Hoang-Nam Nguyen Date: Fri Sep 28 17:16:27 2007 +0200 IB/ehca: Fix mem leak of firmware ctrlblock in ehca_create_srq() Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit cd9281d873c91a01af0cb96ff0f75e9905e54403 Author: Jack Morgenstein Date: Tue Sep 18 09:14:18 2007 +0200 IB/mlx4: Display misc device information under /sys/class/infiniband/ display the following device information under /sys/class/infiniband/mlx4_X: board_id, fw_ver, hw_rev, hca_type. This patch makes this information available to userspace utilities such as ibstat and ibv_devinfo. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 57cb61d587e990d556385d367589ff61f6c2c0f2 Author: Ralph Campbell Date: Thu Sep 20 16:33:44 2007 -0700 IB/core: Fix handling of multicast response failures I was looking at the code for multicast.c and noticed that ib_sa_join_multicast() calls queue_join() which puts the request at the front of the group->pending_list. If this is a second request, it seems like it would interfere with process_join_error() since group->last_join won't point to the member at the head of the pending_list. The sequence would thus be: 1. ib_sa_join_multicast() puts member1 on head of pending_list and starts work thread 2. mcast_work_handler() calls send_join() which sets group->last_join to member1 3. ib_sa_join_multicast() puts member2 on head of pending_list 4. join operation for member1 receives failures response from SA. 5. join_handler() is called with error status 6. process_join_error() fails to process member1 since it doesn't match the first entry in the group->pending_list. The impact is that the failed join request is tossed. The second request is processed, and after it completes, the original request ends up being retried. This change also results in join requests being processed in FIFO order. Signed-off-by: Ralph Campbell Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 9faa559c01311281f26544291322252327b65922 Author: Satyam Sharma Date: Thu Aug 23 04:58:30 2007 +0530 IB/ehca: Misc cpuinit section annotations and #ifdef cleanups * Replace {un}register_cpu_notifier with {un}register_hotcpu_notifier thereby losing a couple of #ifdef HOTPLUG_CPU pairs. * Move comp_pool_callback_nb declaration to below that of callback function so that initialization of .notifier_call and .priority can occur at build time itself and not runtime. * Mark the notifier_block (and callback function, and another static function used by it) as __cpuinit{data} for the sake of consistency and remove enclosing #ifdef. (This may increase size for modular build of this module, however, because these are no longer dropped unconditionally now.) Signed-off-by: Satyam Sharma Acked-by: Joachim Fenkes Signed-off-by: Roland Dreier commit ea98054fefa28b646c740baffe83c2962f8228f6 Author: Roland Dreier Date: Tue Oct 9 19:59:13 2007 -0700 mlx4_core: Change capability decoding: SRC->XRC The SRC ("scalable RC") transport has been renamed to XRC ("extended RC"), to avoid having an abbreviation that is so easily confused with an abbreviation for "source." Update the HCA capability decoding output to use the new name. Signed-off-by: Roland Dreier commit ec2a1344ad348a789b1d9d9b32cccbef33161574 Author: Roland Dreier Date: Tue Oct 9 19:59:13 2007 -0700 IB/iser: Remove unnecessary includes is not needed because everyplace it appears, also appears. is not needed because nothing seems to be using device IO anyway. Signed-off-by: Roland Dreier commit 935ef2d7a2910ca810fce57511f4d06a0cf00b5e Author: Steve Wise Date: Wed Sep 12 05:00:25 2007 -0500 RDMA/cma: Use neigh_event_send() to start neighbour discovery Calling arp_send() to initiate neighbour discovery (ND) doesn't do the full ND protocol. Namely, it doesn't handle retransmitting the arp request if it is dropped. The function neigh_event_send() does all this. Without doing full ND, RDMA address resolution fails in the presence of dropped ARP broadcast packets. Signed-off-by: Steve Wise Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit 3a31c41901b6bd3937ec36e0e4a930849e270df6 Author: Joachim Fenkes Date: Thu Sep 13 18:16:20 2007 +0200 IB/ehca: Only use MR large pages for hugetlb regions ...because, on virtualized hardware like System p, we can't be sure that the physical pages behind them are contiguous otherwise. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit c8d8beea0383e47c9d65d45f0ca95626ec435fcd Author: Joachim Fenkes Date: Thu Sep 13 18:15:28 2007 +0200 IB/umem: Add hugetlb flag to struct ib_umem During ib_umem_get(), determine whether all pages from the memory region are hugetlb pages and report this in the "hugetlb" member. Low-level drivers can use this information if they need it. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 247e020ee5e2a7bf46f2d7a3d4490a670a712a40 Author: Sean Hefty Date: Wed Aug 8 15:51:18 2007 -0700 IB/srp: Add QoS support through service ID Provide the target service ID when performing a path record query to support optional QoS capability. QoS requires support from the SA. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 7ce86409adcd2fda652b628173a66e905950ece1 Author: Sean Hefty Date: Wed Aug 8 15:51:13 2007 -0700 RDMA/ucma: Allow user space to set service type Export the ability to set the type of service to user space. Model the interface after setsockopt. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit a81c994d5eef87ed77cb30d8343d6be296528b3f Author: Sean Hefty Date: Wed Aug 8 15:51:06 2007 -0700 RDMA/cma: Add ability to specify type of service Provide support to specify a type of service for a communication identifier. A new function call is used when dealing with IPv4 addresses. For IPv6 addresses, the ToS is specified through the traffic class field in the sockaddr_in6 structure. Signed-off-by: Sean Hefty [ The comments Eitan Zahavi and myself have made over the v1 post at were fully addressed. ] Reviewed-by: Or Gerlitz Signed-off-by: Roland Dreier commit 733d65fe33b3002a6f2694c0fd8bd760dc13141f Author: Sean Hefty Date: Wed Aug 8 15:41:28 2007 -0700 IB/sa: Add new QoS fields to path record The QoS annex defines new fields for path records. Add them to the ib_sa for consumers that want to use them. Signed-off-by: Sean Hefty Reviewed-by: Or Gerlitz Signed-off-by: Roland Dreier commit 81668838c4583b19276b16382e0c61e21ef5adf0 Author: Sean Hefty Date: Thu Aug 2 12:21:31 2007 -0700 IPoIB: Specify Traffic Class with path record queries for QoS support To support QoS within and between subnets, modify IPoIB to request specific Traffic Class values with path record queries, using the value associated with the IPoIB broadcast group. Signed-off-by: Sean Hefty [ See some comments I made on this at v1 and v2 of the posts ] Reviewed-by: Or Gerlitz Signed-off-by: Roland Dreier commit 08c283ac262d7ab21c5733ff469ff88985381ca9 Author: Hoang-Nam Nguyen Date: Thu Sep 13 18:14:58 2007 +0200 IB/ehca: Fix large page HW cap defines Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 39089e77741a53874eb8a29e4516bbafcc29298a Author: Joachim Fenkes Date: Tue Sep 11 15:35:32 2007 +0200 IB/ehca: Bump version number and change its format Nobody needed the SVNEHCA_ prefix anyway. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 5110e4de4995db1c28457b08ed1e291f9b38f2e7 Author: Joachim Fenkes Date: Wed Sep 12 16:44:11 2007 +0200 IB/ehca: Replace get_paca()->paca_index by the more portable raw_smp_processor_id() We can use raw_smp_processor_id() here because the processor ID is only used for debug output and therefore our use is preemption-unsafe. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 0b5de96858e516311f2d3ca45073c2afd2eb5d94 Author: Joachim Fenkes Date: Tue Sep 11 15:34:35 2007 +0200 IB/ehca: Serialize MR alloc and MR free hvCalls Some firmware levels exhibit a race condition between H_ALLOC_RESOURCE(MR) and H_FREE_RESOURCE(MR). Work around this problem by locking these hvCalls against each other. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit e90d0b3daede2bae2e78f8bf88c19182961cd19d Author: Joachim Fenkes Date: Tue Sep 11 15:34:04 2007 +0200 IB/ehca: Path migration support Fix some modify_qp() issues related to path migration. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit b708fba3c2942a175c3cb04a7bb4c89f907b497b Author: Joachim Fenkes Date: Tue Sep 11 15:33:40 2007 +0200 IB/ehca: Add check for max #SGE to create_qp() Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 86dce445e01a50339f8f86c466c64a863e5fd18a Author: Joachim Fenkes Date: Tue Sep 11 15:32:50 2007 +0200 IB/ehca: ehca_gen_warn() should always print Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit e37221928bf685d63ba5319746eafe463d61e330 Author: Joachim Fenkes Date: Tue Sep 11 15:32:22 2007 +0200 IB/ehca: Print return codes as signed decimal integers ...because -12 is easier to read than FFFFFFF4. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 2863ad4bddf366790a733cfd71f2f480afdf36fc Author: Joachim Fenkes Date: Tue Sep 11 15:31:49 2007 +0200 IB/ehca: Refactor hvcall tracing Change hvcall trace output towards better readability: reg numbers instead of argument numbers, return code as signed decimal instead of unsigned hex. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit e390d3b52f791fcea26312ba4982cda82052727b Author: Hoang-Nam Nguyen Date: Tue Sep 11 15:31:06 2007 +0200 IB/ehca: Use remap_4k_pfn() to map firmware contexts to user space Use Paul's new remap_4k_pfn() function to map our 4K firmware contexts into user space on 64K-page machines without exposing neighboring firmware contexts. Return the context's offset within a 64K page to user space so it can determine the proper virtual address. For details about remap_4k_pfn(), see commit 721151d0 or http://patchwork.ozlabs.org/linuxppc/patch?id=10281 Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 5281a4b8a0c6bac0c070913ec25868faa06a3115 Author: Stefan Roscher Date: Tue Sep 11 15:29:39 2007 +0200 IB/ehca: Support more than 4k QPs for userspace and kernelspace Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 441633b968a5be0ef9be7c37ae24c35eda5b730d Author: Stefan Roscher Date: Tue Sep 11 15:26:33 2007 +0200 IB/ehca: Small QP userspace support Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit a855b1a7423ac83c76638f156d79c854b0feb94d Author: Peter Oruba Date: Fri Aug 10 13:54:33 2007 -0700 IB/mthca: Use PCI-X/PCI-Express read control interfaces These driver changes incorporate the proposed PCI-X / PCI-Express read byte count interface. Reading and setting those values doesn't take place "manually", instead wrapping functions are called to allow quirks for some PCI bridges. Signed-off by: Peter Oruba Based on work by Stephen Hemminger Cc: Roland Dreier Cc: Michael S. Tsirkin Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit 3c10c7c929b30e8813d15960cb97f95a0b2ba615 Author: Ali Ayoub Date: Sun Sep 9 14:55:11 2007 +0300 IB/sa: Error handling thinko fix ib_create_send_mad() returns an error code pointer on error, not NULL. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 339e2640a9f403f7b7acb2ea67f3568b8ac3eebf Author: Anton Blanchard Date: Wed Aug 29 12:43:01 2007 -0500 IB/ehca: Export module parameters in sysfs At the moment the ehca module parameters are not exported in sysfs. Export them with 0444 permissions. Signed-off-by: Anton Blanchard Acked-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 1f794483025bc1e9e8e3321089a7f29ad3cc448f Author: Anton Blanchard Date: Wed Aug 29 11:05:35 2007 -0500 IB/ehca: Make output clearer by removing some debug messages ehca spits out a lot of debugging information. I had to look closely to see the "Port 1 is not active" message within all the debug: eHCA Infiniband Device Driver (Rel.: SVNEHCA_0022) eHCA scaling code enabled ehca D.001.DQDXYCB-P1-C9: PU0006 EHCA_ERR:ehca_define_sqp Port 1 is not active. ehca D.001.DQDXYCB-P1-C9: PU0006 EHCA_ERR:ehca_create_qp ehca_define_sqp() failed rc=ffffffffffffffff ib_mad: Couldn't create ib_mad QP1 ib_mad: Couldn't open ehca0 port 1 ehca D.001.DQDXYCB-P1-C9: PU0006 EHCA_ERR:ehca_alloc_fmr unsupported fmr_attr->page_shift=9 ehca D.001.DQDXYCB-P1-C9: PU0006 EHCA_ERR:ehca_alloc_fmr rc=ffffffffffffffea pd=c000000b4b5b2420 mr_access_flags=7 fmr_attr=c0000005afd37394 fmr_create failed for FMR 0 Remove a few debug statements so that things are clearer: eHCA Infiniband Device Driver (Rel.: SVNEHCA_0022) eHCA scaling code enabled ehca D.001.DQDXYCB-P1-C9: PU0006 EHCA_ERR:ehca_define_sqp Port 1 is not active. ib_mad: Couldn't create ib_mad QP1 ib_mad: Couldn't open ehca0 port 1 ehca D.001.DQDXYCB-P1-C9: PU0006 EHCA_ERR:ehca_alloc_fmr unsupported fmr_attr->page_shift=9 fmr_create failed for FMR 0 Signed-off-by: Anton Blanchard Acked-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit d7dc3ccbe4dd1d37950da0138079e61d5be06ca9 Author: Roland Dreier Date: Tue Oct 9 19:59:06 2007 -0700 IB/mlx4: Fix up SRQ limit_watermark endianness mlx4_srq_query() returns a big-endian 16-bit value through an int *, which screws up sparse checking. Fix this so that a CPU-endian value is returned. Signed-off-by: Roland Dreier commit ca6de177acef8f2c7c3901ea583a263364ca7bbb Author: Eli Cohen Date: Tue Aug 21 18:46:10 2007 +0300 IPoIB: Fix error path memory leak Clean up properly if ib_query_pkey() or ib_query_gid() fail. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit b3ac60fc243f2312d27ecded058ef96f52f25fe0 Author: Eli Cohen Date: Tue Oct 9 19:59:06 2007 -0700 IPoIB: Fix typo to end statement with ';' instead of ',' Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 017aadc4b505ad3ec2acc4e6ba96d63ae1c997a5 Author: Michael S. Tsirkin Date: Tue Aug 7 16:10:34 2007 +0300 IB/mthca: Enable MSI-X by default Recover from MSI-X errors by automatically falling back on regular interrupt, instead of asking the user to do this manually. This makes it possible to enable MSI-X by default, and will make it possible to get rid of the msi_x module option in the future. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 08fb105540f4649eaa25270ec3ada1d35406afcc Author: Michael S. Tsirkin Date: Tue Aug 7 16:08:28 2007 +0300 mlx4_core: Enable MSI-X by default Recover from MSI-X errors by automatically falling back on regular interrupt, instead of asking the user to do this manually. This makes it possible to enable MSI-X by default, and will make it possible to get rid of the msi_x module option in the future. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 8a68bbe31d51cc75d2acf1c9f5ceff91f7662ea4 Author: Anton Blanchard Date: Wed Aug 29 08:36:22 2007 -0500 IB/fmr_pool: Clean up some error messages in fmr_pool.c A number of printks in fmr_pool.c dont have newlines, eg: fmr_create failed for FMR 0<5>FS-Cache: Loaded Fix them up. Signed-off-by: Anton Blanchard Signed-off-by: Roland Dreier commit 1fea391039d1c4e876a164099bff475a02a29d96 Author: Roland Dreier Date: Tue Oct 9 19:59:05 2007 -0700 IB/ehca: Include from ehca_classes.h ehca_classes.h uses struct mutex, so while seems to be pulled in indirectly by one of the headers it includes, the right thing is to include directly. Signed-off-by: Michael S. Tsirkin Acked-by: Stefan Roscher Signed-off-by: Roland Dreier commit 2242fa4f04d670f02efb43ec537d677edc220880 Author: Roland Dreier Date: Tue Oct 9 19:59:05 2007 -0700 IB/mlx4: Use __set_data_seg() in mlx4_ib_post_recv() Use a __set_data_seg() helper in mlx4_ib_post_recv() too; in addition to making the code easier to read, this also allows gcc to generate better code -- on x86_64: add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-8 (-8) function old new delta mlx4_ib_post_recv 359 351 -8 Signed-off-by: Roland Dreier commit eaf559bf566f76887533c077d425adce847f06c8 Author: Roland Dreier Date: Tue Oct 9 19:59:05 2007 -0700 mlx4_core: Don't free special QPs in QP number bitmap Special QPs are not allocated using the regular QP number bitmap, so when they are destroyed, their QP number should not be freed in the bitmap. Found by Dotan Barak of Mellanox. Signed-off-by: Roland Dreier commit 36ce10d3e849c2f9efa3fd647058de398ee276eb Author: Dotan Barak Date: Tue Aug 7 11:18:52 2007 +0300 mlx4_core: Use enum value GO_BIT_TIMEOUT_MSECS Rename GO_BIT_TIMEOUT to GO_BIT_TIMEOUT_MSECS for clarity, and actually use it as the go bit timeout (instead of having the define but then ignoring it and using a hard-coded 10 * HZ for the actual timeout). Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit 65d470b3ea52ee1402499d6fcb4632296452e5b1 Author: Roland Dreier Date: Tue Oct 9 19:59:04 2007 -0700 IB: find_first_zero_bit() takes unsigned pointer Fix sparse warning drivers/infiniband/core/device.c:142:6: warning: incorrect type in argument 1 (different signedness) drivers/infiniband/core/device.c:142:6: expected unsigned long const *addr drivers/infiniband/core/device.c:142:6: got long *[assigned] inuse by making the local variable inuse unsigned. Does not affect generated code at all. Signed-off-by: Roland Dreier commit ce423ef50ee1b6b7db63c748034423aa0afce224 Author: Roland Dreier Date: Tue Oct 9 19:59:04 2007 -0700 IPoIB: Make sure no receives are handled when stopping device The current IPoIB code might process receive completions from ipoib_drain_cq() when bringing down the interface. This could cause packets to be passed up the stack without the device's poll method being called. Avoid this by setting the status of any successful completions to IB_WC_WR_FLUSH_ERR. Signed-off-by: Roland Dreier commit e54664c0958acf14ef3a65d1b78f4a54b437cdf7 Author: Steve Wise Date: Sun Jul 29 15:12:26 2007 -0500 RDMA/cxgb3: Make the iw_cxgb3 module parameters writable Allow changing parameter values without having to reload the module. This is safe because these parameters are only looked at when a new connection is established. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 57c7c3a0fdea95eddcaeba31e7ca7dfc917682ab Author: Darrick J. Wong Date: Fri Sep 14 12:33:46 2007 -0700 hwmon: IBM power meter driver Add a driver to export IBM PowerExecutive power meter sensors. Signed-off-by: Darrick J. Wong Signed-off-by: Mark M. Hoffman commit c940336b4403540c498fceb102c7142799252129 Author: Rudolf Marek Date: Sun Oct 7 13:42:09 2007 +0200 hwmon: (coretemp) Add support for Celeron 4xx This patch adds support for the Celeron 4xx based on Core 2 core. Signed-off-by: Rudolf Marek Signed-off-by: Mark M. Hoffman commit 889af3d5d9586db795a06c619e416b4baee11da8 Author: Jean Delvare Date: Mon Oct 8 22:48:10 2007 +0200 hwmon: (lm87) Disable VID when it should be A stupid bit shifting bug caused the VID value to be always exported even when the hardware is configured for something different. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 7d4a137491d96927ffca5e8557c328902a2d4de9 Author: Jean Delvare Date: Mon Oct 8 18:29:43 2007 +0200 hwmon: (w83781d) Add individual alarm and beep files The upcoming libsensors 3 needs these individual alarm and beep files. For the W83781D, this is quirky because this chip has a single alarm bit for both temp2 and temp3. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 90d6619a916062cb75a176aacb318d108758b4a5 Author: Jean Delvare Date: Mon Oct 8 18:24:35 2007 +0200 hwmon: VRM is not read from registers The VRM value is not read from chip registers, so there's no need to update the device data cache before exporting the VRM value to user-space. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit a1aa5a770dc31dc7e88313ddd2a76e0a875b9b43 Author: Mark M. Hoffman Date: Sun Oct 7 14:45:26 2007 -0400 MAINTAINERS: update hwmon subsystem git trees Signed-off-by: Mark M. Hoffman commit 5fbea518dab712af63076aed897fce89cd7faec3 Author: Jean Delvare Date: Sun Oct 7 22:44:33 2007 +0200 hwmon: Fix the code examples in documentation Fix a bug in the code examples, make them comply with CodingStyle, and indent them for a better redability. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 2ed4263308971af3a7a0f20bef6b2257ea230a71 Author: Hans de Goede Date: Fri Sep 21 17:03:32 2007 +0200 hwmon: update sysfs interface document - error handling Here is a patch adding some text to the sysfs interface documentation on how settings written to sysfs attributes should be handled, focussing mainly on error handling. This version incorperates Jean's latest comments. Signed-off-by: Hans de Goede Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit cc28a610d4fcce1831d26f2099e23fbb3eb7260c Author: Jean Delvare Date: Tue Sep 18 18:48:16 2007 +0200 hwmon: (thmc50) Fix a debug message type_name was used before being set. See why I don't like play-it-safe variable initializations: they prevent the compiler from warning you about such mistakes. So fix that as well. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 894c00cf3805670faddd41d3d5dcb3c0ab75a39d Author: Jean Delvare Date: Tue Sep 18 18:44:42 2007 +0200 hwmon: (thmc50) Don't create temp3 if not enabled Signed-off-by: Jean Delvare Acked-by: Krzysztof Helt Signed-off-by: Mark M. Hoffman commit c2803b98557c10464f3a1fc65f56d0c8c01991bd Author: Jean Delvare Date: Wed Sep 26 23:39:01 2007 +0200 hwmon: (lm87) Add individual alarm files Add individual alarm files to the lm87 driver. The new libsensors needs this. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit b965d4b7f614522170af6a7e450be0333792ccd2 Author: Jean Delvare Date: Wed Sep 26 22:16:56 2007 +0200 hwmon: (lm87) Fix a division by zero Missing parentheses in the definition of FAN_FROM_REG cause a division by zero for a specific register value. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 428a7039c5717695935b946af9413e59f68928a4 Author: Jean Delvare Date: Tue Sep 4 23:25:33 2007 +0200 hwmon: (lm78) Add individual alarm files Add individual alarm files to the lm78 driver, these are needed by the next version of libsensors. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 69f2f96d9c189070ed5e40ec186b755ef697288d Author: Jean Delvare Date: Wed Sep 5 14:15:37 2007 +0200 hwmon: (lm90) Export temperature offset values Now that we have standard sysfs names to export temperature offset values, add this feature to the lm90 driver. All supported chips except the MAX6657, MAX6658 and MAX6659 support it. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit dabf375b87407757ec4c8ea54f936918ec88b7ca Author: Jean Delvare Date: Wed Aug 29 12:19:00 2007 +0200 hwmon: Kconfig dependency cleanups * Drop HWMON from the dependency list of ABITUGURU3 and LM93: this is now handled at menu level. * Make the Abit, Asus and FSC chip drivers depend on X86. These are custom chips which can only be found on their respective manufacturer's systems, and these manufacturers only do x86 hardware AFAIK. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 739ba2486e8444b27a3ec975205798ef17def963 Author: Krzysztof Helt Date: Sun Sep 9 19:16:03 2007 +0200 hwmon: (adm1021) individual alarm files This patch converts the driver to individual alarm files as required by the new lmsensors library. Signed-off-by: Krzysztof Helt Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit a8d6646e24fa72de38de5838df8bd1f21af59710 Author: Krzysztof Helt Date: Sun Sep 9 19:51:14 2007 +0200 hwmon: (adm1021) dynamic sysfs callbacks conversion This is conversion of the driver to the dynamic sysfs callbacks. Signed-off-by: Krzysztof Helt Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit bba891c24a77419e9dcf76f866bd0d8ecf66d770 Author: Krzysztof Helt Date: Sun Sep 9 17:35:34 2007 +0200 hwmon: (thmc50) Fix alarms clearing This patch make use the interrupt status register instead of the interrupt status mirror register. Reading of the mirror register does not clear alarms. Signed-off-by: Krzysztof Helt Signed-off-by: Mark M. Hoffman commit c7f1f7166a83f8f5607cc03c7a6c5f936cde6b0d Author: Jean Delvare Date: Mon Sep 3 17:11:46 2007 +0200 hwmon: (it87) Add support for fan4 and fan5 Add support for the IT8716F and IT8718F fan4 and fan5. The late revisions of the IT8712F have these too but support is harder to add and nobody asked for it yet, so I didn't include it. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 6438312367523b26bd628b60cfd16f25a7a6f7ae Author: Charles Spirakis Date: Tue Sep 4 13:31:56 2007 -0700 hwmon: (w83791d) new sysfs beep/alarm methodology Add new sysfs alarm methodology to w83791d driver Signed-off-by: Charles Spirakis Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 7b6d1f044d95395ca103bfb6869caa996fedbbd2 Author: Auke Kok Date: Mon Aug 27 16:17:01 2007 -0700 hwmon: (sis5595) re-use s_bridge->revision Signed-off-by: Auke Kok Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit e7f62303b8a7f34ce6f97a1722b6907f0ddbd0a9 Author: Jean Delvare Date: Tue Sep 4 14:03:43 2007 +0200 hwmon: (lm93) Use standard names for vid files The lm93 driver doesn't follow the standard naming convention for its vid files. Fix this so that libsensors will pick them. Signed-off-by: Jean Delvare Acked-by: Hans J. Koch Signed-off-by: Mark M. Hoffman commit 63f281a6e32ebc93c62dac0d399d8e054eb7b2ec Author: Jean Delvare Date: Thu Jul 5 20:39:40 2007 +0200 hwmon: (lm85) Let the user set the fan min limit to 0 Trying to set the fan min limit to 0 currently writes 0 to the register, which is an invalid value. It's read back as -1 and the alarm flag is raised. Instead we should write 0xffff (maximum value), which reads back as 0 and no alarm flag is raised. Signed-off-by: Jean Delvare Acked-by: Juerg Haefliger Signed-off-by: Mark M. Hoffman commit 5a4d3ef317c845893fe3f9d3517cb0a99375da53 Author: Jean Delvare Date: Thu Jul 5 20:38:32 2007 +0200 hwmon: (lm85) Clean up the handling of additional resolution bits The way the lm85 driver currently handles the additional resolution bits some chips have for the voltage and temperature measurements is quite complex. This is my attempt to make it simpler. Signed-off-by: Jean Delvare Acked-by: Juerg Haefliger Signed-off-by: Mark M. Hoffman commit bf76e9d3c42fae879feabe26a10bf8ebf27ab328 Author: Jean Delvare Date: Thu Jul 5 20:37:58 2007 +0200 hwmon: (lm85) Add individual alarm files The future libsensors needs these individual alarm and fault files. Also delete old and unused alarm defines. Signed-off-by: Jean Delvare Acked-by: Juerg Haefliger Signed-off-by: Mark M. Hoffman commit 6b9aad2d8acf309f99213875dd94f2ec691fe820 Author: Jean Delvare Date: Thu Jul 5 20:37:21 2007 +0200 hwmon: (lm85) Export in5, in6 and in7 voltage channels The SMSC EMC6D100 supports 3 additional voltage channels. The lm85 driver reads the register values for these, but doesn't create the corresponding sysfs files, so the user can't read the values nor write the limits. Create the missing sysfs files. Signed-off-by: Jean Delvare Acked-by: Juerg Haefliger Signed-off-by: Mark M. Hoffman commit b353a487b9d835da331edb443afedfd7977b3d76 Author: Jean Delvare Date: Thu Jul 5 20:36:12 2007 +0200 hwmon: (lm85) Use dynamic sysfs callbacks This lets us get rid of macro-generated functions and shrinks the driver size by about 10%. I used a new style suggested by Mark M. Hoffman to retrieve the channel number. Instead of: struct sensor_device_attribute *sda = to_sensor_dev_attr(attr); int nr = sda->index; I do: int nr = to_sensor_dev_attr(attr)->index; This looks better, and even allows the compiler to do some minor optimizations. Signed-off-by: Jean Delvare Acked-by: Krzysztof Helt Signed-off-by: Mark M. Hoffman commit 1beeffe43311f64df8dd0ab08ff6b1858c58363f Author: Tony Jones Date: Mon Aug 20 13:46:20 2007 -0700 hwmon: Convert from class_device to device Convert from class_device to device for hwmon_device_register/unregister Signed-off-by: Tony Jones Signed-off-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Mark M. Hoffman commit 59a35bafb223bbb0553ba1a3bb9280bda668a8d8 Author: Satyam Sharma Date: Thu Aug 23 09:14:25 2007 +0530 hwmon: (coretemp) Remove bogus __cpuinitdata etc cleanup The CPU hotplug notifier_block coretemp_cpu_notifier is already defined inside an #ifdef HOTPLUG_CPU, therefore marking it as __cpuinitdata is quite a pointless thing to do. Also, remove duplicate prototype of function coretemp_update_device() at the top of this file (another one already exists barely 10 lines above this one :-) Signed-off-by: Satyam Sharma Acked-by: Rudolf Marek Signed-off-by: Mark M. Hoffman commit 84f1e442968a9c754647a6f42accd9560c22ff39 Author: Riku Voipio Date: Fri Aug 24 13:03:09 2007 +0300 hwmon: Add f75375s driver Add support for Fintek F75375S/SP and F75373. Signed-off-by: Riku Voipio Signed-off-by: Mark M. Hoffman commit 176544dc55b0a912a2e1bacb9f48ccbd4aabd55f Author: Jean Delvare Date: Mon Aug 20 16:44:44 2007 +0200 hwmon: Update the sysfs interface documentation * Document the name attribute. * Document the *_label attributes. * Drop "typical usage" lists, they no longer match the reality. * Drop non hardware-monitoring related entries. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 8477d026893d42b00474e9a13ab01ccce7fc2673 Author: Jean Delvare Date: Thu Aug 16 14:33:37 2007 +0200 hwmon: (smsc47m1) No confusing debugging messages It's confusing to display debugging messages for fan3 and pwm3 for chips which don't have them. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 67f921d164a046c957f06fb456cabc23c48667ab Author: Jean Delvare Date: Fri Aug 17 17:31:35 2007 +0200 hwmon: (lm70) Add a name attribute Add a name attribute to the lm70 devices. This is required for libsensors to recognize them. Also drop the "+" before the temperature value, even though it did not cause problems to libsensors, other hardware monitoring drivers don't print it, so it's more consistent that way. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Acked-by: Kaiwan Signed-off-by: Mark M. Hoffman commit 471c606827394f59117cf45c808afd8fe638f902 Author: Jean Delvare Date: Thu Aug 16 14:48:49 2007 +0200 hwmon: (lm93) Documentation fixes * Drop documentation of generic module parameters. * Drop redundant section "Driver Description". * Drop sample configuration section, it belongs to sensors.conf.eg. * Random spelling and punctuation fixes. Signed-off-by: Jean Delvare Acked-by: Hans J. Koch Signed-off-by: Mark M. Hoffman commit b26f93309282bdfebb3edb8939e022a4bbe56dfe Author: Jean Delvare Date: Thu Aug 16 14:30:01 2007 +0200 hwmon: Don't export thermistor beta Deprecate the use of thermistor beta values as thermal sensor types. No driver supports changing the beta value anyway. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 5bfedac045082a97e20d47d876071279ef984d28 Author: Christian Hohnstaedt Date: Thu Aug 16 11:40:10 2007 +0200 hwmon: Allow writing of negative trigger temperatures - replace differing temperature variable types by long - use strtol() instead of strtoul() for conversion Signed-off-by: Christian Hohnstaedt Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit dcf3b5fb7fb6e1b56bfaf705e665b04870213768 Author: Krzysztof Helt Date: Wed Aug 22 14:05:22 2007 -0400 hwmon: (thmc50) add individual alarm & fault files This patch adds individual alarm and fault files to the thmc50 driver. These sysfs entries are required for a new libsensors library. Signed-off-by: Krzysztof Helt Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 6f9703d0be16f694ce24dde1ce1fc4a4e4e5ed55 Author: Darrick J. Wong Date: Tue Jul 31 11:06:52 2007 -0700 hwmon: add support for adt7470 New driver to expose temperature and fan controls attached to Analog Devices ADT7470 hwmon chips. Signed-off-by: Darrick J. Wong Signed-off-by: Mark M. Hoffman commit 8afb10490b18e916e33707baa7d1cfc615d545ea Author: Mark M. Hoffman Date: Tue Aug 21 23:10:46 2007 -0400 hwmon: (f71882fg) trivial whitespace cleanup Signed-off-by: Mark M. Hoffman commit 45fb366940d51c309581813ef35bb70a9e34b17d Author: Hans de Goede Date: Fri Jul 13 14:34:19 2007 +0200 hwmon: add support for Fintek F71882FG and F71883FG This is the second version of a new driver for the hardware monitoring features of the Fintek F71882FG and F71883FG Super-I/O chips. This version has several small fixes for flaws discovered during the review of the first version. This version of the driver does not support the pwm part of these chips (yet). I'll first design a sysfs api for this and post that for discussion, and then implement pwm support as an incremental patch over this one. This driver supports all sensors of this chip, except for the vid inputs. The vid inputs are somewhat documented in the datasheet, but I know nothing about vid/vrm stuff. Help with this would be much appreciated. Signed-off-by: Hans de Goede Acked-by: Darrick J. Wong Signed-off-by: Mark M. Hoffman commit 9cab0217f3f35bd618363842576867badb72ca4b Author: Jean Delvare Date: Sun Jul 15 10:36:06 2007 +0200 hwmon: (f71805f) List the F71806F/FG as supported The Fintek F71806F/FG is compatible with the F71872F/FG, so it is already supported by the f71805f hardware monitoring driver. In fact, both chips have the same chip ID, so the driver can't even differentiate between them. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 43e61a2d7e2ce70a093df83871a436732bc48125 Author: Gong Jun Date: Fri Jul 13 18:45:54 2007 +0200 hwmon: (w83792d) Add individual alarm files w83792d: add individual alarm files for the new libsensors. Signed-off-by: Gong Jun Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit c83c41e4e623aa6504d30c858a05eac771048029 Author: Krzysztof Helt Date: Thu Jul 19 08:00:17 2007 +0200 hwmon: adm1021 clean ups This patch provides some coding standard cleanups and general code improvements (more debug info, signed values for temperatures, changed names of ADM1023 regs, removed read/write_value functions). Signed-off-by: Krzysztof Helt Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 9eb59573d4b86f347e6cd04f47a4c2082009fa58 Author: Andi Kleen Date: Wed Oct 10 02:18:27 2007 +0200 [CPUFREQ] Don't take semaphore in cpufreq_quick_get() I don't see any reason to take an expensive lock in cpufreq_quick_get() Reading policy->cur is a single atomic operation and after the lock is dropped again the state could change any time anyways. So don't take the lock in the first place. This also makes this function interrupt safe which is useful for some code of mine. Signed-off-by: Andi Kleen Cc: "Pallipadi, Venkatesh" Signed-off-by: Dave Jones commit 79618cf41337ccedb9abeee059ce76aac7962739 Author: Mauro Carvalho Chehab Date: Thu Aug 23 16:31:15 2007 -0300 V4L/DVB (6256): Remove the obsolete video-buf module Signed-off-by: Mauro Carvalho Chehab http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira commit 5a0377060efcf844f4e359f3ab013de7f1b98da2 Author: Mauro Carvalho Chehab Date: Thu Aug 2 23:31:54 2007 -0300 V4L/DVB (6255): Convert vivi to use videobuf-vmalloc This patch removes the usage of videobuf-dma-sg from vivi driver, using instead videobuf-vmalloc. This way, vivi will be useful for testing the newer method. Reverting this patch won't hurt vivi, since both methods work fine. Signed-off-by: Mauro Carvalho Chehab commit 87b9ad070cf76c0f1e8cf836f7eb86e9ac94e34a Author: Mauro Carvalho Chehab Date: Thu Aug 2 23:31:33 2007 -0300 V4L/DVB (6254): Add videobuf-vmalloc Adds a newer videobuf-vmalloc module. This module uses the same videobuf controls, but implements memory allocation based on vmalloc methods. With this method, an USB driver can use video-buf, without needing to request memory from the DMA-safe area. Signed-off-by: Mauro Carvalho Chehab commit 6bb2790f8a0cf93d3dbed6b6e986441110e6174b Author: Mauro Carvalho Chehab Date: Thu Aug 23 16:41:14 2007 -0300 V4L/DVB (6253): Convert vivi to use the newer videobuf-dma-sg module Signed-off-by: Mauro Carvalho Chehab commit c1accaa21bdef38ec0f36eaaf7ce3384fff9d0c5 Author: Mauro Carvalho Chehab Date: Thu Aug 23 16:37:49 2007 -0300 V4L/DVB (6252): Adapt drivers to use the newer videobuf modules PCI-dependent videobuf_foo methods were renamed as videobuf_pci_foo. Also, videobuf_dmabuf is now part of videobuf-dma-sg private struct. So, to access it, a subroutine call is needed. This patch renames all occurences of those function calls to be consistent with the video-buf split. Signed-off-by: Mauro Carvalho Chehab http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira commit 7a7d9a89d0307b1743d782197e2c5fc5ddf183f3 Author: Mauro Carvalho Chehab Date: Thu Aug 23 16:26:14 2007 -0300 V4L/DVB (6251): Replace video-buf to a more generic approach video-buf currently does two different tasks: - Manages video buffers with a common code that allows implementing all the V4L2 different modes of buffering; - Controls memory allocations While the first task is generic, the second were written to support PCI DMA Scatter/Gather needs. The original approach can't even work for those video capture hardware that don't support scatter/gather. I did one approach to make it more generic. While the approach worked fine for vivi driver, it were not generic enough to handle USB needs. This patch creates two different modules, one containing the generic video buffer handling (videobuf-core) and another with PCI DMA S/G. After this patch, it would be simpler to write an USB video-buf and a non-SG DMA module. Signed-off-by: Mauro Carvalho Chehab http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira commit 7c596fa964806acb3b5ababb7ec4e1da35b140b3 Author: Brett Warden Date: Tue Oct 2 17:37:21 2007 -0300 V4L/DVB (6250): bw-qcam use data_reverse instead of manually poking the control register fix coding-style repairs Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit b5457b7bdf284d683880163a4c59fdde2f84325a Author: Sascha Sommer Date: Tue Oct 2 12:23:39 2007 -0300 V4L/DVB (6249): Add Typhoon Tv-Tuner PCI to bttv-cards.c Adds an entry for the Typhoon Tv-Tuner PCI to bttv-cards.c Signed-off-by: Sascha Sommer Signed-off-by: Mauro Carvalho Chehab commit 13595a51c0da8ec212ba6f5df79519dbd74166c0 Author: Mauro Carvalho Chehab Date: Mon Oct 1 08:51:39 2007 -0300 V4L/DVB (6247): Fix bug #8689: Fixes IR stop/start during suspend/resume IR workqueue should be disabled during suspend. This avoids some troubles, like the one reported on bug #8689: "The Hauppauge HVR 1100 ir-remote control does not work after resume from suspend to ram or disk." This patch disables IR before suspending, re-enabling it after resume. Thanks to Peter Poklop for reporting it and helping with the fix. Signed-off-by: Mauro Carvalho Chehab Reviewed-by: Peter Poklop commit b25be97929c85b2017379e05588740f564a61c22 Author: Trent Piepho Date: Mon Oct 1 00:38:30 2007 -0300 V4L/DVB (6246): GemTek Radio card - Control Word Redoes the way the control word is stored and set. The existing code was a lot more complicated than it needed to be. Signed-off-by: Trent Piepho Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab Reviewed-by: Pekka Seppänen commit 857e594ad5662349d95ad33f987cbf55cc356a90 Author: Trent Piepho Date: Mon Oct 1 00:32:25 2007 -0300 V4L/DVB (6245): GemTek Radio card - frequency calculation Frequency calculation to use better math. It's still the same IF offset and step size (which are not the same as the datasheet says) as the code was before. It's just more efficient and accurate. Signed-off-by: Trent Piepho Reviewed-by: Pekka Seppänen Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 4753647e6422341a091e729b9d81a9a5e7fe6179 Author: Pekka Seppanen Date: Mon Oct 1 00:27:55 2007 -0300 V4L/DVB (6244): [PATCH 1/2] GemTek Radio card Code cleanup for GemTek Radio card driver. Removed unnecessary / invalid I/O commands and rewrote code for tuning on-board BU2614FS chip. Adds several new module params for power users. Includes automatic device probing. Signed-off-by: Pekka Seppanen Signed-off-by: Douglas Schilling Landgraf Reviewed-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 3e7589c50771aa0f6eaa8de799e599c016f4029c Author: Pekka Seppanen Date: Sun Sep 30 21:49:01 2007 -0300 V4L/DVB (6243): [PATCH 2/2] GemTek Radio card Details now match with radio-gemtek.c, eg. no more different ports. Included a short note about cards that should be compatible with radio-gemtek module. Signed-off-by: Pekka Seppanen Signed-off-by: Douglas Schilling Landgraf Reviewed-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 0173e4696f201c53ab17ee4d9da81d74b5f9eddc Author: Michael Krufky Date: Thu Sep 27 11:37:19 2007 -0300 V4L/DVB (6241): fix typo in DVB_PLL Kconfig help text s/driver/drives/1 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9e19db5b6dda251b8d76c3a0069e63faca6be3f0 Author: Brett Warden Date: Fri Sep 28 03:19:04 2007 -0300 V4L/DVB (6238): bw-qcam: use data_reverse instead of manually poking the control register Fixes use of parport_write_control() to match the newer interface that requires explicit parport_data_reverse() and parport_data_forward() calls. This eliminates the following error message and restores the original intended behavior: parport0 (bw-qcam): use data_reverse for this! Also increases threshold in qc_detect() from 300 to 400, as my camera often results in a count of approx 330. Added a kernel error message to indicate detection failure. Thanks Ray and Randy for your comments, and for pointing out that I needed to reset the port to forward mode! Signed-off-by: Brett T. Warden Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 0b67f5c568c545cb36f88e9f418af2df1cc58589 Author: Oliver Neukum Date: Wed Sep 26 10:19:01 2007 -0300 V4L/DVB (6237): Oops in pwc v4l driver The pwc driver is defficient in locking, which can trigger an oops when disconnecting. Signed-off-by: Oliver Neukum CC: Luc Saillard Signed-off-by: Mauro Carvalho Chehab commit 23869e236846657415654e8f5fbda9faec8d19e4 Author: Andres Salomon Date: Wed Sep 19 02:44:18 2007 -0300 V4L/DVB (6235): cafe_ccic: default to allocating DMA buffers at probe time By default, we allocate DMA buffers when actually reading from the video capture device. On a system with 128MB or 256MB of ram, it's very easy for that memory to quickly become fragmented. We've had users report having 30+MB of memory free, but the cafe_ccic driver is still unable to allocate DMA buffers. Our workaround has been to make use of the 'alloc_bufs_at_load' parameter to allocate DMA buffers during device probing. This patch makes DMA buffer allocation happen during device probe by default, and changes the parameter to 'alloc_bufs_at_read'. The camera hardware is there, if the cafe_ccic driver is enabled/loaded it should do its best to ensure that the camera is actually usable; delaying DMA buffer allocation saves an insignicant amount of memory, and causes the driver to be much less useful. Signed-off-by: Andres Salomon Acked-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 4562fbeac61468f80a8d05e5ed50660bd97b4859 Author: Michael Krufky Date: Sun Sep 9 05:16:34 2007 -0300 V4L/DVB (6232): dvb-pll: report whether input rf will be autoselected or set via insmod option Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8528fa414703f5be17092be2d3a2c5389755253a Author: Michael Krufky Date: Sun Sep 9 05:08:30 2007 -0300 V4L/DVB (6231): dvb-pll: always show pll name if forced via insmod option The name of the pll will be shown if forced via insmod option, or if debug is enabled. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 704e39bf620810734a38b3f9c0e07cede2a76d91 Author: Michael Krufky Date: Fri Sep 7 18:27:43 2007 -0300 V4L/DVB (6230): dvb-pll: add module option to force dvb-pll desc id (for debug use only) Add a module option to force the dvb-pll module to use an alternate dvb-pll description without having to recompile the kernel. Having a module option like this is useful in some cases, where the vendor may release an alternate revision of the hardware using a different tuner, but without changing the pci subsystem / usb device ids. This option is intended for debugging purposes _only_. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ff3e7dd5809fb632447f1aa6de6b3ffb755727dd Author: Michael Krufky Date: Sun Sep 9 13:00:45 2007 -0300 V4L/DVB (6229): dvb-pll: increase DVB_PLL_MAX to 64 Increased DVB_PLL_MAX from 16 to a figure that would never be reached in a practical sense. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 05a4611b5d71ad6f968fdeef092c24914570898b Author: Michael Krufky Date: Fri Sep 7 18:19:57 2007 -0300 V4L/DVB (6228): dvb-pll: add module option to specify rf input Add a module option to dvb-pll, called "input" to specify which rf input to use on devices with multiple rf inputs. If the module option is not specified, then the driver will autoselect the rf input, as per previous behavior. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a27e5e769e46626052fc18ff63f274ee97142bab Author: Michael Krufky Date: Fri Sep 7 18:11:15 2007 -0300 V4L/DVB (6227): dvb-pll: store instance ID in dvb_pll_priv structure Store an instance ID in the dvb_pll_priv structure, so that module options specific to a given pll may be used by the functions within the driver. When debug is turned on, print a message indicating which pll was attached and it's instance id. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5d7802b2617d785ea0b8631b0605defc19ee6561 Author: Michael Krufky Date: Fri Sep 7 18:03:58 2007 -0300 V4L/DVB (6226): dvb-pll: pass fe pointer into dvb_pll_configure() and set() functions The pll-specific set() function will need access to the dvb_pll_priv structure for new functionality. This patch gives access to this structure to the required functions. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f438d97447d4ccd241db8477f62a0647b9e8220e Author: Stas Sergeev Date: Mon Sep 17 15:34:09 2007 -0300 V4L/DVB (6225): AverTV Studio 307 has only one composite input AverTV Studio 307 has only one composite input. Signed-off-by: Stas Sergeev Acked-by: Nickolay V. Shmyrev Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 0e789d7ffafbfd44f7fb2bdbf1138547d8abc231 Author: Michael Krufky Date: Tue Sep 18 13:25:45 2007 -0300 V4L/DVB (6224): VIDEO_CX23885 depends on DVB_CORE Fix the following dependency issue: ERROR: "dvb_dmx_init" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_unregister_adapter" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_register_frontend" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_unregister_frontend" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_net_release" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_frontend_detach" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_dmxdev_release" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_dmx_swfilter" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_net_init" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_dmx_release" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_register_adapter" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_dmxdev_init" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "mt2131_attach" [drivers/media/video/cx23885/cx23885.ko] undefined! ERROR: "s5h1409_attach" [drivers/media/video/cx23885/cx23885.ko] undefined! Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c8e2f07be0ac536c110702ed741c7bc6836e3438 Author: Michael Krufky Date: Sat Sep 15 18:45:10 2007 -0300 V4L/DVB (6222): select DVB_PLL if !DVB_FE_CUSTOMISE for FusionHDTV5 Express VIDEO_CX23885 must select DVB_PLL if !DVB_FE_CUSTOMISE for FusionHDTV5 Express Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f64899ca5af69c33a446d355609831fad6f715cd Author: Oliver Endriss Date: Mon Sep 17 22:17:12 2007 -0300 V4L/DVB (6221): budget-ci: select TT keymap for DVB-S TT 1500 DVB-S TT 1500 must use the TT keymap. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 2060955748dff6280cd211b68c92d9a99d1c78f9 Author: Sakari Ailus Date: Thu Aug 30 09:20:42 2007 -0300 V4L/DVB (6220): TCM825x: Add support for vidioc_int_g_ifparm call, small cleanups vidioc_int_g_ifparm returns platform-specific information about the interface settings used by the sensor. Support for [gs]_ext_clk has been removed. Fix indentation and remove useless & characters. Remove experiment for typechecking slave callback function arguments. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 768f4bd3d6a88c13a4099451aa85ae75c9061316 Author: Sakari Ailus Date: Thu Aug 30 09:20:41 2007 -0300 V4L/DVB (6219): V4L: Int if: Remove [gs]_ext_clk Remove support for g_ext_clk and s_ext_clk. The same functionality is now handled by g_ifparm. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 61c310dc1e2a34bced25b4fa7609316d6755ccc2 Author: Sakari Ailus Date: Thu Aug 30 09:20:40 2007 -0300 V4L/DVB (6218): V4L: Int if: Use -ENOIOCTLCMD for nonexistent ioctls Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 08256ea0da18db20f2edc2e8c935cf74c33ad564 Author: Sakari Ailus Date: Thu Aug 30 09:20:39 2007 -0300 V4L/DVB (6217): V4L: Int if: Add BT.656 interface support This patch adds BT.656 interface settings for [gs]_ifparm. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 098c645e39e10dc580763b5ea4bd4fb390013474 Author: Sakari Ailus Date: Thu Aug 30 09:20:38 2007 -0300 V4L/DVB (6216): V4L: Int if: add vidioc_int_g_ifparm, other updates vidioc_int_g_ifparm can be used to obtain hardware-specific information about the interface used by the slave. Rearrange v4l2-int-device.h as well. Also remove useless & characters. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 588005e1008f2cea61b7a1ae2a86c531e99b8c9c Author: Hans-Jürgen Koch Date: Wed Sep 12 16:20:43 2007 -0300 V4L/DVB (6215): Bugfix for saa6588.c, add forgotten spin_lock_init() There's a serious bug in saa6588.c, it uses a non-initialized spin_lock. Funny thing is that it works fine with bttv, but completly freezes the machine if e.g. saa7134 is loaded. Thanks to Derek Philip for reporting this bug on the rdsd-devel list. This patch adds the missing spin_lock_init(). Signed-off-by: Hans J. Koch Signed-off-by: Mauro Carvalho Chehab commit 39f46adef8e83653b4716369683c134e1413ad30 Author: Jean Delvare Date: Sun Sep 9 06:17:44 2007 -0300 V4L/DVB (6214): usbvision: Don't support I2C_M_REV_DIR_ADDR I2C adapters should only support I2C_M_REV_DIR_ADDR if they really have to (i.e. if they are connected to a broken I2C device which needs this deviation from the standard I2C protocol.) As no media chip driver uses I2C_M_REV_DIR_ADDR, I don't think that the usbvision driver needs to support it. Signed-off-by: Jean Delvare Acked-by: Thierry Merle Signed-off-by: Mauro Carvalho Chehab commit 7fb0dfc853735ccf4e580b0d71510bad96d37c4f Author: Jean Delvare Date: Sat Sep 8 23:19:32 2007 -0300 V4L/DVB (6212): pvrusb2: I2C adapter tweaks from Jean Delvare * I2C adapters aren't expected to handle I2C_M_NOSTART unless they really have to. As the pvrusb2 driver doesn't support it, I take it that it doesn't need it so it shouldn't mention it at all. * I2C_FUNC_SMBUS_EMUL includes I2C_FUNC_SMBUS_BYTE_DATA so listing both is redundant. Signed-off-by: Jean Delvare Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 56585386e297c54a65feef55810c13b4313bdf1e Author: Mike Isely Date: Sat Sep 8 22:32:12 2007 -0300 V4L/DVB (6211): pvrusb2: Allocate a debug mask bit for reporting video standard things It's useful to see specific details for how the pvrusb2 driver is figuring out things related to the video standard, independent of other initialization activities. So let's set up a separate debug mask bit for this and turn it on. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 9f66d4eac6be2428901ab6e0cbb6747d5b6794ef Author: Mike Isely Date: Sat Sep 8 22:28:51 2007 -0300 V4L/DVB (6210): pvrusb2: Do a far better job at setting the default initial video standard The v4l tveeprom logic tells us what video standards are supported by the hardware, however it doesn't directly tell us what should be the preferred initial standard. For example "NTSC/NTSC-J" devices are reported by tveeprom as support NTSC-M and PAL-M, and while that might be true, in the vast majority of cases NTSC-M is really what the user is going to want. However the driver previously just arbitrarily picked the "lowest numbered" standard as the initial default, which in that case would have been PAL-M. (And making matters more confusing - this only caused real problems on 24xxx devices because the saa7115 on 29xxx seems to autodetect the right answer anyway.) This change implements an algorithm that uses the set of "supported" standards as a hint to decide on the initial standard. This algorithm ONLY comes into play if the driver isn't specifically told what to do; said another way - the user can always still change the standard via the sysfs interface, via the usual V4L methods, or even specified as a module parameter. The idea here is only to pick a better starting point if the user (or app) doesn't otherwise do something to set the standard; otherwise this change has no real impact. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1d643a372259749ce2029e386ed5760d5d7f8b89 Author: Mike Isely Date: Sat Sep 8 22:18:50 2007 -0300 V4L/DVB (6209): pvrusb2: Better discriminate among device types This is a bunch of cleanup in various places to improve behavior based on actual device type being driven. While this doesn't actually affect operation with existing devices, it cleans things up so that it will be easier / more deterministic when other devices are added. Ideally we should make stuff like this table-driven, but for now this is just a series of small incremental (read: safe) improvements. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 4db666cc3d199a8b837174bb0ad00d6b8f6115d6 Author: Mike Isely Date: Sat Sep 8 22:16:27 2007 -0300 V4L/DVB (6208): pvrusb2: Implement programmatic means to extract prom contents The pvrusb2 driver already has a method for extracting the FX2's program memory back out to a user application; this ability is used to facilitate manual firmware extraction as per the procedure documented on the pvrusb2 web site. This change follows that pattern and implements a corresponding method to grab the binary contents of the PVR USB2 prom (which for PVR USB2 devices can contain information in addition to the usual Hauppauge metadata). Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 401c27ce96382b3bdbc7a9c7e7303fd1b3af9ef0 Author: Mike Isely Date: Sat Sep 8 22:11:46 2007 -0300 V4L/DVB (6207): pvrusb2: Fix a potential oops in an error leg cleanup Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 747f07961e9450058522840129cd7bb994f05fb9 Author: Mike Isely Date: Sat Sep 8 22:10:11 2007 -0300 V4L/DVB (6205): pvrusb2: Fix oops in error leg cleanup Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 289ea1f03353104c4f288f6c70c5c7e1568ea257 Author: Simon Farnsworth Date: Mon Sep 10 13:37:26 2007 -0300 V4L/DVB (6203): Fix SVideo input on KWorld DVB-T 220 boards Fix SVideo input on KWorld DVB-T 220 boards. Without this patch, the luma pin on the SVideo input is treated as a composite in, and the chroma pin is ignored. Also, fix the radio, and provide a second composite input for people who are used to the existing composite on SVideo connector behaviour. Signed-off-by: Simon Farnsworth Reviewed-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit f139fa71c03d80c1d1ee60aa4b0a3ec7a14d45f9 Author: Michael Krufky Date: Sun Sep 9 03:55:34 2007 -0300 V4L/DVB (6200): cx23885: use a pointer to the required i2c bus in dvb_register function Store a pointer to the required i2c_bus so that we do not put the wrong analog demod into standby. Signed-off-by: Michael Krufky Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit a6a3f14035fe94c0925fea62f3d3a7a1ab44c1f1 Author: Steven Toth Date: Sat Sep 8 21:31:56 2007 -0300 V4L/DVB (6199): cx23885: Changes to allow demodulators on each transport bus cx23885: Changes to allow demodulators on each transport bus. Signed-off-by: Steven Toth Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 15e90839512a2c7d2b7f801af8f9057279e3f813 Author: Michael Krufky Date: Sat Sep 8 15:58:45 2007 -0300 V4L/DVB (6198): add CARDLIST.cx23885 to Documentation/ Cardlist generated by cx23885.pl Signed-off-by: Michael Krufky Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 9bc37caadffe8327683980b2323371691fa182e3 Author: Michael Krufky Date: Sat Sep 8 15:17:13 2007 -0300 V4L/DVB (6196): cx23885: add support for DViCO FusionHDTV 5 Express This patch adds digital ATSC / QAM support for the DViCO FusionHDTV5 Express. Remote control is supported by ir-kbd-i2c, RTC is supported by rtc-isl1208. Signed-off-by: Michael Krufky Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 579f1163cd5b2a3fd96ec5b84b18a071e7da3b6b Author: Steven Toth Date: Sat Sep 8 15:07:02 2007 -0300 V4L/DVB (6195): Changes to support MPEG TS on VIDB Changes to support MPEG TS on VIDB Signed-off-by: Steven Toth Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6f074abb624aced31339a0f8fac778b344adac4c Author: Steven Toth Date: Sat Sep 8 14:21:03 2007 -0300 V4L/DVB (6194): Changes to support interrupts on VIDB Changes to support interrupts on VIDB Signed-off-by: Steven Toth Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ccbe64c664f2e3a86430ef63c974e38ac1cd5b93 Author: Michael Krufky Date: Sat Sep 8 11:25:37 2007 -0300 V4L/DVB (6193): cx23885: define Video B Interrupt Status register bit values - define missing register bit values for VID_B - corrected VID/VBI_B_GPCNT_CTL register addresses Signed-off-by: Michael Krufky Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 661c7e44c5cc2828c7acb00cb71d985e129e3641 Author: Steven Toth Date: Thu Sep 6 16:07:49 2007 -0300 V4L/DVB (6192): Ensure start_dma() is capable of starting dma on port VIDB start_dma() would fail to start dma if a device used VIDB (portb). Signed-off-by: Steven Toth Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bfde287c2f8f0fe4e50e0eb136e4dca6b0ed84dc Author: Steven Toth Date: Thu Sep 6 15:50:31 2007 -0300 V4L/DVB (6191): Removed a redundant switch() The switch() statement is no longer required. Signed-off-by: Steven Toth Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fc959befe0f0e4647bb4e326e3ae55875401888a Author: Steven Toth Date: Sat Sep 8 19:08:17 2007 -0300 V4L/DVB (6190): cx23885: GPIO fix for non HVR1800lp boards The HVR1250 and HVR1800 boards need the s5h1409 demod GPIO enabled. Signed-off-by: Steven Toth Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 415927dcd118ee9e5f24c78976509b9a9c747545 Author: Trent Piepho Date: Thu Sep 6 23:02:24 2007 -0300 V4L/DVB (6186): cx88-alsa: Remove some unused fields in card state struct Not sure why they are there, but they don't do anything now. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 82896f29d47d945e331873c7295da9e3a47d709d Author: Trent Piepho Date: Thu Sep 6 23:02:23 2007 -0300 V4L/DVB (6184): cx88-alsa: Make volume control stereo Use the balance control to make the mono volume control stereo. Note that full range isn't supported. The balance control attenuates one channel by 0 to -63 dB, and the volume control provides additional attenuation to both channels by another 0 to -63 dB. So the channel with the most attenuation has a range of 0 to -126 dB, while the other channel only has a range of 0 to -63 dB. ALSA volume controls don't appear to support this concept. I just limited the range to 0 to -63 total. Once you get to -63 dB, you're already at silence, so additional attenuation is pretty much pointless anyway. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 6fcecce7e1a5223be450031fa446323b08d1ec41 Author: Michael Krufky Date: Fri Aug 24 01:32:31 2007 -0300 V4L/DVB (6181): cx88: auto-load rtc and ir receiver i2c modules for FusionHDTV5 RT Gold Auto-load ir-kbd-i2c for ir receiver support, and rtc-isl1208 for rtc support for the FusionHDTV5 RT Gold. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a1dec5160d6e536b409761c1914500f4a7cf08c2 Author: Michael Krufky Date: Fri Aug 24 01:13:07 2007 -0300 V4L/DVB (6180): tuner: don't probe 0x6b or 0x6f on cx88 boards Ignore 0x6b and 0x6f on cx88 boards. Some FusionHDTV cards have an ir receiver at 0x6b and an RTC at 0x6f which can get corrupted if probed. Signed-off-by: Michael Krufky Acked-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 3c44358c49ee4142d0f868509b5b3b02759fa16a Author: Michael Krufky Date: Fri Aug 24 01:07:12 2007 -0300 V4L/DVB (6179): Clean up FusionHDTV ir code - fixed missing buttons in keymap. - make function names & descriptions more generic, since this same ir receiver and remote is used in many FusionHDTV products. - miscellaneous cleanups. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d54d6980916d5521ad47fa61e5b6ff8733221714 Author: Chaogui Zhang Date: Fri Aug 24 01:02:32 2007 -0300 V4L/DVB (6178): add IR remote support for FusionHDTV 5 RT Gold This patch adds support for the built-in IR receiver of the DViCO Fusion HDTV5 RT GOLD PCI card, using FusionHDTV MCE remote controller. Signed-off-by: Chaogui Zhang Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2df9a4c2d81ed255c9e027ee5df676a65f4ab578 Author: Steven Toth Date: Tue Sep 4 21:50:49 2007 -0300 V4L/DVB (6173): cx23885: Minor cleanup and important NMI comment placed in code I wanted to document the NMI assert issue inside the code, even though it's already documented in the patch history. If/when the next cx23887 revision appears, is may need to be enabled on that also. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 86184e06da4b71fc24ae9505ec60ce95c098d0de Author: Steven Toth Date: Tue Sep 4 21:40:47 2007 -0300 V4L/DVB (6172): cx23885: Removing duplicate tuner and demod definitions A number of Hauppauge boards share the same tuner and demod configurations. This patch removes duplicate structures. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 31bae4a62036a1d85aa9ee5864115dad2727336d Author: Steven Toth Date: Tue Sep 4 21:36:32 2007 -0300 V4L/DVB (6171): cx23885: Cleaning up defines Moving some defines into the correct header file. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2e52f215be1b3a0337788c8d3345bdf5e3894e19 Author: Steven Toth Date: Tue Sep 4 21:32:41 2007 -0300 V4L/DVB (6170): cx23885: General cleanup of old code Removed unused code. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f29379c3619d85e0bdc0ee30c8199f7f66866fcf Author: Steven Toth Date: Tue Sep 4 21:15:46 2007 -0300 V4L/DVB (6169): Removed unused function mt2131_set_gpo() Unused code is removed. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a77743bc2d29197d48a6f4ae9f8f9e0f0b0ba5d7 Author: Steven Toth Date: Wed Aug 22 21:01:20 2007 -0300 V4L/DVB (6168): cx23885: Added HVR1250 ATSC support Adding support for the Hauppauge HVR1250 PCIe ATSC board. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4823e9ee9f45c78777d040742b5e46336a42c8b3 Author: Steven Toth Date: Wed Aug 22 20:52:21 2007 -0300 V4L/DVB (6167): cx23885: Changed PCI quirks to after bridge detech Changed the pci_quirks function to detech the bridge type before setting the NMI clear bit, rather than detecting based on unique board id. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 426d523664e01c778f6455e9b3bbd40dda76c66a Author: Steven Toth Date: Tue Aug 14 23:35:16 2007 -0300 V4L/DVB (6166): cx23885: Ensure pci_quirks is called after board identification The pci_quirks function was being called too early during initialisation, it needs to be called after the board has been identified. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b86b580244511f9b2fb2043d813e9c4c7d294a62 Author: Michael Krufky Date: Thu Mar 22 01:01:53 2007 -0300 V4L/DVB (6165): cx23885: fix Kconfig dependencies Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3c5666aee31decafdca14f6f83d33ec27b27f982 Author: Michael Krufky Date: Tue Mar 20 23:18:04 2007 -0300 V4L/DVB (6164): cx23885: turn off i2c_debug by default Turn off i2c_debug by default, to make the driver less verbose. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 60a41d3b61a714d98a36cddbe182cc6ff0794274 Author: Michael Krufky Date: Tue Mar 20 23:03:52 2007 -0300 V4L/DVB (6163): cx23885: remove old comments Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 44a6481dcd9ec835bbd608b1b2ee47ee62c7e1d8 Author: Michael Krufky Date: Tue Mar 20 23:00:18 2007 -0300 V4L/DVB (6162): cx23885: whitespace cleanups Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 70ebd70573a58a2c0405ef038f1acf74c795eaa5 Author: Michael Krufky Date: Tue Mar 20 21:32:12 2007 -0300 V4L/DVB (6161): cx23885-dvb.c doesnt need to include dvb-pll.h The dvb-pll module is not being used by this driver. Remove the unneeded #include. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 047646bfbbe5ec961d2430514ae29fa0b87ab651 Author: Steven Toth Date: Tue Mar 20 15:33:53 2007 -0300 V4L/DVB (6159): General code cleanup Removed if 0'd code, removed cx88 references. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fe475163ff9680495af3b1b5b7633ea7a42e4185 Author: Steven Toth Date: Tue Mar 20 15:27:53 2007 -0300 V4L/DVB (6158): Fix MT2131 tuner lock status problem The mt2131 tuner reports lock even when the hardware should not lock. This patch allows the s5h1409 demodulator to be configured to query either the tuner driver for status, or the demodulator status when the application requests lock status. This avoids returning false CARRIER and/or SIGNAL lock status. S5H1409 and MT2131 drivers. This is the remainder of the changeset, which only touches cx23885-dvb.c Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e133be0f587996f112d7984c03606af418a7ca05 Author: Steven Toth Date: Mon Mar 19 19:22:41 2007 -0300 V4L/DVB (6157): Removed the need to manually define .bridge for each card Moved the field from cx23885_board to cx23885_dev and added code to iautomatically set the bridge type based on the pci device id. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0fc0739ba940c07e97599a7ee04c24faae9808ed Author: Steven Toth Date: Mon Mar 19 18:03:03 2007 -0300 V4L/DVB (6156): Added the I2C_FUNC_I2C support to the cx23885 i2c algo definition This is required to support the cx258xx family of audio and video decoders. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3328e4fbf10a2c2513d4de662ab251e0f4cb7c3e Author: Steven Toth Date: Mon Mar 19 18:01:07 2007 -0300 V4L/DVB (6155): Cleanup/remove code to access the sram memory maps The cx23885 and cx23887 family use two different memory maps which govern how the internal SRAM is configured. This patch streamlines the access to those structures. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3bd4065961aa03d030cd58feec03d60479fc4348 Author: Steven Toth Date: Mon Mar 19 17:46:03 2007 -0300 V4L/DVB (6154): NMI hang and corrupt transport packet fixes The sram allocations for the cx23887 differ slightly from the cx23885. This patch modifies the cx23887 specific sram memory map to reflect this. As a result, interrupts and DMA handling have also been enabled in cx23885_start_dma() for 887 specific boards. ATSC streaming is now available on cx23885 and cx23887 bridges. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a2129af5b65e28dc3a10402603aa714e493b2169 Author: Steven Toth Date: Fri Mar 16 11:48:33 2007 -0300 V4L/DVB (6153): I2C bus 3 register was incorrect I2C bus 3 was being initialised with the incorrect address register. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 03121f05f98cf9bba8f0fe77ef381c17681e1386 Author: Michael Krufky Date: Sun Mar 11 20:57:52 2007 -0300 V4L/DVB (6152): cx23885: forward compatibility fixes for recent kernels - fix #include for - fix cx23885_irq declaration for 2.6.19 and later Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2f52cdb20955b024e6b48f4e3d797504c8568a6d Author: Michael Krufky Date: Sun Mar 11 20:55:18 2007 -0300 V4L/DVB (6151): include drivers/media/video/cx23885/Kconfig Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d19770e5178a4bc49641711246360c25781d20a4 Author: Steven Toth Date: Sun Mar 11 20:44:05 2007 -0300 V4L/DVB (6150): Add CX23885/CX23887 PCIe bridge driver This is a new framework to support boards based on the CX23885/7 PCIe bridge. The framework supports digital (no analog yet) Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 275511a0aca8483c03df1c6e3a33a27cee334709 Author: Steven Toth Date: Sun Mar 11 20:44:05 2007 -0300 V4L/DVB (6149): Add I2C_HW_B_CX23885 for Conexant 23885/23887 PCIe bridge Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f61b48f7a838bb3d089b12fc9d03fd53c9ef5022 Author: Michael Krufky Date: Sat Sep 1 02:02:51 2007 -0300 V4L/DVB (6142): cx25840: fix build warning Fix the following build warning: CC [M] cx25840-core.o cx25840-core.c: In function 'init_dll1': cx25840-core.c:147: warning: implicit declaration of function 'udelay' Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1f5ef19779df2c2f75870332b37dd3004c08a515 Author: Michael Krufky Date: Fri Aug 31 17:38:02 2007 -0300 V4L/DVB (6141): tuner: use get_rf_strength instead of get_status to determine signal strength Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3782e050f8860fb701d4cb14df16cd4ed9cce2d2 Author: Michael Krufky Date: Fri Aug 31 17:53:00 2007 -0300 V4L/DVB (6140): tda8290: add get_rf_strength and improve status reading efficiency Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6b897f2c3982af51134ba83f4b6de71d28d35944 Author: Michael Krufky Date: Fri Aug 31 16:40:14 2007 -0300 V4L/DVB (6139): tea5767: add get_rf_strength and improve status reading efficiency Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fd443f7444180c1cd9cbcb816ebf65c8b8e35301 Author: Michael Krufky Date: Fri Aug 31 16:39:57 2007 -0300 V4L/DVB (6138): tea5761: add get_rf_strength and improve status reading efficiency Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 735f0b9af1748602bb7f3a8009c31cf5f133eec8 Author: Michael Krufky Date: Fri Aug 31 16:39:39 2007 -0300 V4L/DVB (6137): tuner-simple: add get_rf_strength and improve status reading efficiency Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8fb3b9f7a9e0420150bf6cb8a3c20f45d372cce4 Author: Michael Krufky Date: Thu Aug 30 23:00:43 2007 -0300 V4L/DVB (6136): dvb_frontend: add get_rf_strength function pointer to dvb_tuner_ops Add get_rf_strength function pointer to dvb_tuner_ops, so that rf signal strength can be read directly from the tuner driver by the dvb demodulator driver and / or the analog tuning system. This is an internal api addition -- userspace is not affected. Signed-off-by: Michael Krufky Acked-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ca805d57cf5ea7482ed3da28653f30621249ee45 Author: Michael Krufky Date: Mon Aug 27 21:59:35 2007 -0300 V4L/DVB (6134): tuner: alter build to produce separate modules Break tuner.ko into separate modules. This was a quick change - Tuner sub-drivers are still static-linked to tuner.ko, this will change after using dvb_attach and removing the probing functions. After this change, one can deselect undesired tuner sub-drivers via Kconfig. Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Acked-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 4adad287de82703fd504fdab7aebe760196bb786 Author: Michael Krufky Date: Mon Aug 27 21:59:08 2007 -0300 V4L/DVB (6133): tuner-simple: convert from tuner sub-driver into dvb_frontend module Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Acked-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 8d0936ed15f509c32e8f81849be3a1cee80e2225 Author: Michael Krufky Date: Mon Aug 27 21:24:27 2007 -0300 V4L/DVB (6132): tea5767: convert from tuner sub-driver into dvb_frontend module Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Signed-off-by: Mauro Carvalho Chehab commit 7ab10bf72add23f0badf98ead92f58e34e14d35a Author: Michael Krufky Date: Mon Aug 27 21:23:40 2007 -0300 V4L/DVB (6131): tea5761: convert from tuner sub-driver into dvb_frontend module Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Signed-off-by: Mauro Carvalho Chehab commit 96c0b7cfa5de1d6be0a6f6d202a6a078f5577d8f Author: Michael Krufky Date: Mon Aug 27 21:23:08 2007 -0300 V4L/DVB (6130): mt20xx: convert from tuner sub-driver into dvb_frontend module Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Acked-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 910bb3e3c5a5d8ed5028846728efc6a375d200eb Author: Michael Krufky Date: Mon Aug 27 21:22:20 2007 -0300 V4L/DVB (6129): tda8290: convert from tuner sub-driver into dvb_frontend module Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Acked-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit e18f9444bda60a67e6feef00c354f8de0cdaeba7 Author: Michael Krufky Date: Tue Aug 21 01:25:48 2007 -0300 V4L/DVB (6128): hybrid tuner refactoring core changes, phase 1 Prepare tuner-core for conversion of tuner sub-drivers into dvb_frontend modules Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Acked-by: Oliver Endriss Acked-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit db8a695658cda21eacfa2a5e3b15e8964bfb93ef Author: Michael Krufky Date: Tue Aug 21 01:24:42 2007 -0300 V4L/DVB (6127): tuner: kill i2c_client interface to tuner sub-drivers To ease the conversion of the analog tuner sub-drivers into dvb_frontend style tuner modules, we must remove the i2c_client interface. dvb_frontend style tuner modules use i2c_transfer directly on the i2c_adapter. This change only alters the interface between tuner.ko and the tuner sub-drivers. The v4l2 / i2c_client interface to tuner.ko remains intact. This patch adds inline functions tuner_i2c_xfer_send, and tuner_i2c_xfer_recv, to replace i2c_master_send and i2c_master_recv inside the tuner sub-drivers. Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Acked-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 293197cd0f34eb6bfb5492a63a878575b69e9df4 Author: Michael Krufky Date: Tue Aug 28 17:20:42 2007 -0300 V4L/DVB (6126): tuner: add warning for obsolete i2c address range 0x64 thru 0x6f The tuner module has a rather aggressive range of possible i2c addresses. As per the specs available, it appears as if there are no 4-byte tuners that actually use i2c addresses in the range 0x64 thru 0x6f, yet, tuner-core claims the address range 0x60 thru 0x6f. Allowing tuner.ko to probe these addresses can cause potential damage to certain IR receivers, RTC chips or any other IC's that might otherwise reside on the i2c bus using one of these addresses. The plan is to remove these i2c addresses from the i2c address range of the tuner module. If any devices are discovered that actually do have tuners at one of these addresses, the newer i2c probing methods will be used to handle those cases. In order to collect this information and avoid any potential regressions, the following warning has been added upon successful detection of a tuner using an i2c address in the range 0x64 thru 0x6f: ====================== WARNING! ====================== Support for tuners in i2c address range 0x64 thru 0x6f will soon be dropped. This message indicates that your hardware has a {tuner name} tuner at i2c address {addr}. To ensure continued support for your device, please send a copy of this message, along with full dmesg output to v4l-dvb-maintainer@linuxtv.org Please use subject line: "obsolete tuner i2c address." ====================== WARNING! ====================== Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b930e1d851c3ffbf82127bd0e4d72ffe94d4b7f2 Author: Michael Krufky Date: Mon Aug 27 18:16:54 2007 -0300 V4L/DVB (6125): whitespace cleanup: replace leading spaces with tabs There were many instances of 7-space indents spread throughout the v4l-dvb tree. This patch replaces the 7-space indents with tabs. The whitespace cleaner script doesn't catch these, because it assumes that all indents are 8-space. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 38051450b378ef2cb51dff76a6b8299f59129172 Author: Tyler Trafford Date: Tue Aug 28 17:56:47 2007 -0300 V4L/DVB (6124): cx25840: add a few 10 microsecond delays There were a couple of places in the cx25840 initialization where the datasheet called for a 10 microsecond delay, which we ignored because of the 10 usec I2C delay. Put them in anyway now that the I2C delay was decreased to 5 usec. Signed-off-by: Tyler Trafford Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 51b39dfa5477fdb2459e3c46f855f01b8b03102d Author: Hans Verkuil Date: Sun Aug 26 06:13:04 2007 -0300 V4L/DVB (6123): ivtv: move ivtv.h public header to include/linux Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 136280322d894e6ec07187f2427b00c3d64ad066 Author: Adrian Bunk Date: Tue Aug 28 03:28:04 2007 -0300 V4L/DVB (6122): ivtvfb: fix an obvious bug in ivtvfb_release_buffers() Signed-off-by: Adrian Bunk Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 641ed49db6ecf6c539a5eab50a7540542377add1 Author: Hans Verkuil Date: Tue Aug 28 03:24:31 2007 -0300 V4L/DVB (6121): ivtvfb: replace ivtv_fb prefix to ivtvfb ivtvfb: replace ivtv_fb prefix to ivtvfb, change warning to info message Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7b3a0d49e3e929b810ade38926342faca53e867d Author: Hans Verkuil Date: Sun Aug 26 06:11:07 2007 -0300 V4L/DVB (6120): ivtvfb: rename some missed ivtv-fb references to ivtvfb Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0f45b8c57e40cca1778b0b75daab65ca139e5bb9 Author: Hans Verkuil Date: Sun Aug 26 06:04:10 2007 -0300 V4L/DVB (6119): ivtvfb: renamed ivtv-fb to ivtvfb, move header to include/linux The convention for framebuffer devices is to call them xxxfb, not xxx-fb. Conform to this. Also move the ivtvfb.h header to include/linux: it is a public header. The FBIO_WAITFORVSYNC ioctl is now also defined in the ivtvfb.h header, no more need to include matroxfb.h for just this ioctl. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 66cfaeff95d20d1377b4fa3d2c6aa7c29d832941 Author: Hans Verkuil Date: Sun Aug 26 05:45:48 2007 -0300 V4L/DVB (6118): ivtv-fb: add missing FBIO_WAITFORVSYNC ioctl define Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit effa0b08633122cc63d2b7f098434d359d5767ef Author: Hans Verkuil Date: Sat Aug 25 15:09:52 2007 -0300 V4L/DVB (6117): ivtv: finish VBI related cleanup Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2f3a98931f51be6093df7c6cc2633bf238778b7d Author: Hans Verkuil Date: Sat Aug 25 14:11:23 2007 -0300 V4L/DVB (6116): ivtv: VBI cleanups and fixes Besides some VBI cleanups this patch also fixes a subtle problem with the VBI re-insertion stream where the PIO work handler wasn't called quickly enough, resulting in occasional corrupt data. Furthermore the CC output didn't disable CC correctly and at the right time, causing duplicates to be sent. An saa7127 fix for VPS output was also added: the wrong data was sent. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 26e9d599561e9a964bd4d7c2be0029db8aaff852 Author: Hans Verkuil Date: Sat Aug 25 05:41:52 2007 -0300 V4L/DVB (6115): ivtv/ivtv-fb: improve locking to avoid initialization problems ivtv/ivtv-fb: improve locking to prevent ivtv/ivtv-fb initialization problems Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 49ebf14e249734a5f64d5bdd9aaa2ddf4bcedc51 Author: Hans Verkuil Date: Sun Aug 26 10:54:14 2007 -0300 V4L/DVB (6113): ivtv: udelay for the i2c bus was set too high An udelay of 5 is sufficient for standard speed i2c busses, 10 make it too slow. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 21340ae03a61bded62acb582264660e61c0636b9 Author: Hans Verkuil Date: Sun Aug 26 10:53:16 2007 -0300 V4L/DVB (6112): cx25840: use a workqueue to load the firmware Loading the firmware using the i2c bit-banging code blocks the kernel. Move the firmware load code into a workqueue so that it plays well with other processes. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f58db9590fc56fe519d6919abae7a70ec17b4d0e Author: Mauro Carvalho Chehab Date: Mon Aug 27 12:05:18 2007 -0300 V4L/DVB (6111): Fix a warning when compiling on x86_64 tcm825x.c: In function 'ioctl_try_fmt_cap': tcm825x.c:639: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' Signed-off-by: Mauro Carvalho Chehab commit 3eaeef57423b5f9571e7524373ec079f583b2113 Author: Hans Verkuil Date: Sat Aug 25 15:19:18 2007 -0300 V4L/DVB (6109): ivtv: use new videodev2.h pixel formats Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5d05704cbe7f9c4708e0f35be13839f593441215 Author: Hans Verkuil Date: Sat Aug 25 15:16:37 2007 -0300 V4L/DVB (6108): videodev2.h: add new pixel formats for the cx23415 OSD The Conexant cx23415 MPEG encoder/decoder supports some unusual pixelformats for the On-Screen Display. Add new defines to videodev2.h for these formats. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 608f62d6ffbc21067e8b9a09f887a5d6cbfe7617 Author: Oliver Endriss Date: Sat Aug 25 13:17:53 2007 -0300 V4L/DVB (6107): dvb_frontend: clean-up shutdown handling Now dvb_powerdown_on_sleep controls whether - whether LNB power is turned off - whether the tuner/frontend enters sleep mode Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 849be2cdf11eef830ec2a3f916c8e7d1e51bc9fb Author: Oliver Endriss Date: Sat Aug 25 12:22:16 2007 -0300 V4L/DVB (6106): dvb_frontend: Default for dvb_shutdown_timeout set to 0 Default for dvb_shutdown_timeout set to 0. dvb_shutdown_timeout > 0 is used for debugging only. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 48136e1e93195b56dc3d9b0730917241b3365633 Author: Oliver Endriss Date: Sat Aug 25 12:00:23 2007 -0300 V4L/DVB (6105): dvb_frontend: ts_bus_ctrl() handling fixed ts_bus_ctrl() should only be called by - the first open - the last release call. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 226835d7e0a1136bce2a0b923e0832ab47450a30 Author: Marco Schluessler Date: Sat Aug 25 11:46:07 2007 -0300 V4L/DVB (6104): dvb_ca_en50221: decrement module use count on error decrement module use count on error Signed-off-by: Marco Schluessler Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 0c12c1bfc432477e38ba76f680be4b3f55112a8e Author: Marco Schluessler Date: Sat Aug 25 11:36:39 2007 -0300 V4L/DVB (6103): dvb_ca_en50221: return correct error code value return correct error code value Signed-off-by: Marco Schluessler Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit d9bf2c037754f1493323829048d6210602712a43 Author: Jesper Juhl Date: Sat Aug 25 11:23:54 2007 -0300 V4L/DVB (6102): dvb: remove some unneeded vmalloc() return value casts from av7110 vmalloc() returns void * - no need to cast it. Signed-off-by: Jesper Juhl Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 71be258bd9bf41ca3060021f2ed50ad8c672a01e Author: Michael Krufky Date: Thu Aug 23 22:33:28 2007 -0300 V4L/DVB (6100): dvb_net: whitespace cleanup Clean whitespace brain-damage caused by previous patch, "Fix a warning at dvb_net" Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6327e952cd3ef5e5a49c84f794dbba72ff3c0e9c Author: Jesper Juhl Date: Fri Aug 24 05:28:54 2007 -0300 V4L/DVB (6098): ivtv: kzalloc() returns void pointer, no need to cast Since kzalloc() returns a void pointer, we don't need to cast the return value in drivers/media/video/ivtv/ivtv-queue.c Signed-off-by: Jesper Juhl Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2d4d5f11ecf6df6974579c70461866932f0bd722 Author: Hans Verkuil Date: Thu Aug 23 21:15:24 2007 -0300 V4L/DVB (6097): ivtv: set correct pixel format and alpha properties ivtv: set correct pixel format and alpha properties in VIDIOC_G_FBUF Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 559e196a56a5d518181efc1d2fefe0892f4689b4 Author: Hans Verkuil Date: Thu Aug 23 17:51:07 2007 -0300 V4L/DVB (6096): ivtv: fix V4L2_ENC_CMD_STOP_AT_GOP_END support Support for V4L2_ENC_CMD_STOP_AT_GOP_END was broken. While the driver correctly waited for the card to capture until the GOP was complete, afterwards the driver buffers were just flushed instead of waiting for the application to read all the pending data. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a158f3559334c6314c7876390caffe88c9fdb64d Author: Hans Verkuil Date: Thu Aug 23 11:31:57 2007 -0300 V4L/DVB (6094): ivtv: more ivtv-driver.h cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fd8b281a2809d2bd9119df1fbd717ab2371297cd Author: Hans Verkuil Date: Thu Aug 23 10:13:15 2007 -0300 V4L/DVB (6093): ivtv: reorganized and cleanup ivtv struct Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 33c0fcad2160bc211272295e862c6f708118d006 Author: Hans Verkuil Date: Thu Aug 23 06:32:46 2007 -0300 V4L/DVB (6092): ivtv: more cleanups, merged ivtv-audio.c and ivtv-video.c into ivtv-routing.c Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 612570f2c4794bbf4e5bfa8648b61fbfc9cd8501 Author: Hans Verkuil Date: Thu Aug 23 05:42:59 2007 -0300 V4L/DVB (6091): ivtv: header cleanup - add guards - remove unused header includes - move card-specific stuff from ivtv-driver.h to ivtv-cards.h - move YUV-specific stuff from ivtv-driver.h to ivtv-yuv.h Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 459a52fab2c42cd5fadfd51fdcfc6dea8107fabf Author: Hans Verkuil Date: Wed Aug 22 08:58:47 2007 -0300 V4L/DVB (6090): ivtv-fb: correct transparency bit reporting Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d2a35fb172845fe75c40a3ee9c95656c7c115e48 Author: Hans Verkuil Date: Wed Aug 22 08:43:34 2007 -0300 V4L/DVB (6089): ivtv: log in status if framebuffer uses YUV instead of RGB Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 01f1e44fe8455b6c6c557a62119b8622fb99f5f2 Author: Hans Verkuil Date: Tue Aug 21 18:32:42 2007 -0300 V4L/DVB (6088): cx2341x: some controls can't be changed while the device is busy The driver should now pass the 'busy' state of the device to the cx2341x module whenever controls are set or tried. -EBUSY will be returned if the device is busy and the user attempts to modify certain 'dangerous' controls. It concerns controls that change the audio or video compression mode and bitrates. The cx88-blackbird and pvrusb2 drivers currently always pass '0' (not busy) to the cx2341x, effectively keeping the old behavior for now. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ea115d54bc963eb2eb0dc223795f3bd6c689ff99 Author: Hans Verkuil Date: Mon Aug 20 16:26:40 2007 -0300 V4L/DVB (6087): ivtv: prevent changing VBI format while capture is in progress Changing the VBI format requires a CX2341X_ENC_INITIALIZE_INPUT firmware call. This can only be done if no capture is in progress. So return -EBUSY if the encoder is busy. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ad8ff0f10b489562012e433acdac92498fe8bdc9 Author: Hans Verkuil Date: Mon Aug 20 16:01:58 2007 -0300 V4L/DVB (6086): ivtv: fix output mode processing: UDMA_YUV wasn't cleared - Always clear when stopping the decoder - Clear if the filehandle that is being close was used for UDMA_YUV output. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f6210c9160dff82ceaaf5e59cf5f8fcd6bdefa38 Author: Trent Piepho Date: Fri Aug 24 01:06:36 2007 -0300 V4L/DVB (6085): cx88-alsa: Fix mmap support The driver has long claimed to support mmap, but it didn't work at all. Some of the dma buffer parameters weren't set, and since video_buf uses vmalloc to allocate the buffer, a page callback is needed too. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit ffb7394d51cf6f60a3753a5cc40613fc9d5c5c96 Author: Trent Piepho Date: Fri Aug 24 01:06:35 2007 -0300 V4L/DVB (6084): cx88-alsa: Eliminate snd_cx88_cards The driver kepts a static global array of snd_card pointers for each card probed, which was never used. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 05b2723387cb4086535e935ee07cca19086308fc Author: Trent Piepho Date: Fri Aug 24 01:06:34 2007 -0300 V4L/DVB (6083): cx88-alsa: Rework buffer handling Rework the way the DMA buffer is handled and IRQs are generated. ALSA uses a ring-buffer of multiple periods. Each period is supposed to corrispond to one IRQ. The existing driver was generating one interrupt per ring-buffer, as opposed to per period. This meant that as soon as the IRQ was generated, the hardware was already starting to re-write the beginning of the buffer. Since the DMA happens on a per-line basis, there was only a narrow window to copy the data out before the buffer was overwritten. The cx88 core RISC program generator is modified so that it can set the IRQ and counter flags to count every X lines of DMA transfer. This way we can generate an interrupt every period instead of every full ring-buffer. Right now only period of one line are supported, but it should be possible to support longer periods. Note that a WRITE instruction generates an IRQ when it starts, not when the transfer is finished. Thus to generate an IRQ when line X is done, one must set the IRQ flag on the instruction that starts line X+1, not the one that ends line X. Change the line size so that there are four lines in the SRAM FIFO. If there are not four lines, the analog output from the cx88's internal DACs is full of clicks and pops. Try to handle FIFO sync errors. Sometimes the chip generates many of these errors before audio data starts. Up to 50 sync errors will be ignored and the counter reset. Have the IRQ handler save the RISC counter to the chip struct, and then have the pointer callback use this to calculate the pointer position. We could read the counter from the pointer callback, but sometimes the sync errors on start up cause the counter to go crazy. ALSA sees this and thinks there has been an overrun. The IRQ hander can avoid saving the counter position on sync errors. The chip "opened" flag wasn't necessary. ALSA won't try to open the same substream multiple times. Probably this code was cut&pasted from the bt87x driver, which has multiple sub-streams for one chip. Do error checking for the videobuf mapping functions. snd_card_cx88_runtime_free() is useless and can be deleted. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 16cf1d0c5d7b8970aca2ca426166833642ce0544 Author: Trent Piepho Date: Tue Aug 21 08:19:16 2007 -0300 V4L/DVB (6082): cx88: Improve risc instruction printing in sram channel dump When the risc instrunctions from the CMDS were printed, instruction arguments weren't taken into account. This changes output like: cx88[0]: risc0: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ] cx88[0]: risc1: 0x0cac2800 [ INVALID sol eol 23 21 19 18 13 count=2048 ] cx88[0]: risc2: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ] cx88[0]: risc3: 0x0cac2c00 [ INVALID sol eol 23 21 19 18 13 count=3072 ] cx88[0]: risc0: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ] cx88[0]: risc1: 0x0cac2800 [ arg #1 ] cx88[0]: risc2: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ] cx88[0]: risc3: 0x0cac2c00 [ arg #1 ] Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit aeb292d1342c649ac0b35ae9205b761fd14adb57 Author: Jean Delvare Date: Thu Aug 23 15:45:41 2007 -0300 V4L/DVB (6081): ivtv: Fix static structure initialization Convert the initialization of ivtv_i2c_algo_template to C99-style. Otherwise a future change to struct i2c_algo_bit_data would break this code. Also declared that structure const - it's a template after all. Signed-off-by: Jean Delvare Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9c12224a607a4b22ab86784e3394b52810b9507c Author: Mauro Carvalho Chehab Date: Tue Aug 21 12:38:39 2007 -0300 V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files Since at least kernel 2.6.12-rc2, module.h includes moduleparm.h. This patch removes all occurences of moduleparm.h from drivers/media files. Signed-off-by: Mauro Carvalho Chehab commit f518b43c452fb2dbe98ee211abfc63cf421927ab Author: Michal Piotrowski Date: Tue Aug 21 12:36:51 2007 -0300 V4L/DVB (6078): Coding style fix drivers/media/video/zr36016.c Signed-off-by: Michal Piotrowski Signed-off-by: Mauro Carvalho Chehab commit b9758dfe0a2065f6fe3a484cc26886960aa847c1 Author: Michal Piotrowski Date: Tue Aug 21 12:34:48 2007 -0300 V4L/DVB (6077): Coding style fix drivers/media/video/zr36050.c Signed-off-by: Michal Piotrowski Signed-off-by: Mauro Carvalho Chehab commit 5634f2ec809818983f58880e381ee929187e4ddf Author: Michal Piotrowski Date: Tue Aug 21 12:34:36 2007 -0300 V4L/DVB (6076): Coding style fix drivers/media/video/zr36060.c Signed-off-by: Michal Piotrowski Signed-off-by: Mauro Carvalho Chehab commit ffbb807c1362a2b64b473c0e093c496a4c7de4bb Author: Michael Krufky Date: Tue Aug 21 01:14:12 2007 -0300 V4L/DVB (6075): tuner: kernel headers go above subsystem headers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c996899d0bc2414c7ff4682500344eb912d5ee1d Author: Michael Krufky Date: Mon Aug 20 21:04:44 2007 -0300 V4L/DVB (6074): tuner: fix ifdef tags to match actual file name The file, tuner-driver.h was originally named tuner-hw.h, but we decided to rename it. At the time, I had forgotten to change the #ifdef __TUNER_HW_H__ to #ifdef __TUNER_DRIVER_H__ . This patch corrects that. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d90d9f5a0ae9eb80bb3a33472074a114af7e548d Author: Edgar Simo Date: Mon Aug 20 14:14:50 2007 -0300 V4L/DVB (6072): saa7134: add DVB-T support for Avermedia Super 007 Add DVB-T support for Avermedia Super 007 Analog television is untested. The device lacks input adapters for radio, svideo & composite -- seems to be a DVB-T ONLY device. Signed-off-by: Edgar Simo Acked-by: Hermann Pitton Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 261f5081a4dbcd148be0a0e744fb454a4f688441 Author: Edgar Simo Date: Mon Aug 20 14:06:00 2007 -0300 V4L/DVB (6071): saa7134-dvb: add missing newline This is a simple whitespace cleanup. Signed-off-by: Edgar Simo Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 19453bc18848e842a9743fcc40707e6fb19ae92b Author: Trent Piepho Date: Sat Aug 18 22:54:49 2007 -0300 V4L/DVB (6068): cx88-alsa: Use pci_dev->revision The revision is part of the pci_dev struct, so there is no need to read it in. Stop storing the revision and latency in the chip struct, since they're never used after being printed out when the driver loads. linux/pci.h wasn't included. It was getting picked up something else, probably cx88.h, but this file uses struct pci_dev so it should include pci.h. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 5a5b3b5d4fe3acdd9fb73162023422a9ee0e56f3 Author: Trent Piepho Date: Sat Aug 18 21:01:40 2007 -0300 V4L/DVB (6067): cx88-alsa: Hardware doesn't support mono audio channels_min should be 2, not 1. The hardware only supports stereo. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 59fd8f8d8ee9f7539758419965381bcccfa6f798 Author: Trent Piepho Date: Sat Aug 18 22:09:42 2007 -0300 V4L/DVB (6066): cx88-alsa: Change order of interrupt enabling, fix spurious IRQs Currently the driver turns on audio interrupts, then sets the audio interrupt mask to select which interrupts to get. One could received unwanted interrupts since the mask is set _after_ interrupts have already been turned on. Change the order of the operations, and clear any audio interrupt status bits that are already set for good measure. Before changing the SRAM FIFO parameters, make sure the FIFO isn't being used. This shouldn't happen with just the ALSA driver, as it should never try to turn on FIFO/RISC/DMA while they are already on. However, the V4L driver needs to turn the audio FIFO on for analog audio output to work (undocumented cx88 bug). The FIFO parameters are in an inconsistent state while they are updated, and this results in many FIFO sync error IRQs if the FIFO is in use while it's in this inconsistent state. Also create and use a bunch of symbolic constants for audio interrupt mask bits. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 5ba862b77e2d7f9e6e2cb133c43be32ac612aea5 Author: Trent Piepho Date: Sat Aug 18 07:02:26 2007 -0300 V4L/DVB (6065): cx88-alsa: Call core irq handler when needed When an irq handled by the cx88 core driver (currently IR and errors) occurs and the cx88-alsa irq handler is the first called, it will claim to have handled the irq but it doesn't call cx88_core_irq() to handle it. The means loading cx88-alsa can disable the IR remote. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 8ddac9ee4b6f08d7cacf79202ab882eefc55b0c0 Author: Trent Piepho Date: Sat Aug 18 06:57:55 2007 -0300 V4L/DVB (6064): cx88: Add symbolic names for the PCI interrupt bits Used for the PCI_INTMSK and PCI_INT_STAT registers. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 7c03a4488bf6d28078488c70c82357d4286cacc5 Author: Hans Verkuil Date: Sun Aug 19 18:59:42 2007 -0300 V4L/DVB (6061): ivtv: add VIDIOC_OVERLAY Add VIDIOC_OVERLAY to enable/disable the OSD. Also add the OSD state to the log status report. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8beb058f1ecde7bc0554d18ce1baa18b5dfb02d3 Author: Hans Verkuil Date: Sun Aug 19 17:56:41 2007 -0300 V4L/DVB (6060): ivtv: fix IVTV_IOC_DMA_FRAME bug introduced by highmem bugfix The return value of ivtv_udma_fill_sg_list() was changed by the highmem bugfix, but that return value was still used in ivtv-yuv.c. Revert to the old return value, but in addition return -1 in case of a memory allocation error. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 25e3f8f40ecf61b87a4b6476ea6d00cb5b74628c Author: Hans Verkuil Date: Sun Aug 19 15:03:05 2007 -0300 V4L/DVB (6059): ivtv: log stereo/bilingual audio modes Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0989fd2c88a11aa5014b2b348ed51872d14d536d Author: Hans Verkuil Date: Sun Aug 19 12:25:39 2007 -0300 V4L/DVB (6058): ivtv: add support for highmem udma When trying to DMA userspace buffers to the cx23415 you need to check whether the page is in highmem. If this is the case, then bounce buffers have to be used to allow DMA. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3869c6a088c2eb165abe476c3372c6a3653649b3 Author: Hans Verkuil Date: Sun Aug 19 07:11:44 2007 -0300 V4L/DVB (6057): ivtv-fb: remove unused header includes Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit baa4072d84e7a2e9954121c826d7bb8f1fb66b38 Author: Hans Verkuil Date: Sun Aug 19 07:10:55 2007 -0300 V4L/DVB (6056): ivtv: move serialization to the fileops level Serialization is now done on the open/close/ioctl level and also when the read/write/poll start an encoder/decoder stream. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1aa32c2ffd146dddd76babf842e998502f1b993a Author: Hans Verkuil Date: Sun Aug 19 06:08:58 2007 -0300 V4L/DVB (6055): ivtv: improve debug messages - add FILE debug flag for open/close/read/write/poll. - show cmd for encoder/decoder command ioctl. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 313e91e824c0c595dec3740c0c87f55eea6bdb3f Author: Hans Verkuil Date: Sun Aug 19 05:32:33 2007 -0300 V4L/DVB (6054): ivtv: specify some stream sizes in kB instead of MB Some streams (PCM, VBI decoding) do not need that much memory, so specify the allocated memory in kB instead of MB to limit memory usage. E.g. 1 MB is overkill for the VBI decoding stream, 64 kB is enough. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2ce55b606b29c6ab0c8583772f6807b49cc89372 Author: Hans Verkuil Date: Sun Aug 19 05:09:37 2007 -0300 V4L/DVB (6053): ivtv: setup TV output standard on init to prevent flicker The TV output standard was set only on first use, which meant that the saa7127 was set to NTSC until then, leading to flickering on PAL systems. Since the saa7127 has no firmware it is OK to initialize it immediately. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8267761881d6bb91c168ba4d629b778cf106c485 Author: Hans Verkuil Date: Tue Aug 7 07:16:07 2007 -0300 V4L/DVB (6051): cx25840: make proper use of SOFT_RESET Whenever the 0x80b register is used the microcontroller should be reset. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e17a06badaedba89fad989eed409661c89a22e04 Author: Hans Verkuil Date: Sat Aug 18 15:48:42 2007 -0300 V4L/DVB (6050): ivtv: retry/timer improvements - Give up frame after three retries. - When the last capture/decode ends, make sure to delete the dma_timer. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 51a99c0428cc6d3a442eef1c9046099c9383d72b Author: Hans Verkuil Date: Sat Aug 18 15:16:00 2007 -0300 V4L/DVB (6049): ivtv: fix VBI reinsertion decoding - Invalid VBI packets should result in an empty VBI frame, not in an zero-sized frame that causes the reader to incorrectly return a 0 (EOF) value. - PIO completion should not reset the sg_pending_size field. - The DMA offset detection code should be ignored for PIO transfers: it somehow messes up the data on the card and is not needed anyway for PIO. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit de870b52be9d52c3dad76c9ea7399cb94abcaa1a Author: Hans Verkuil Date: Sun Jul 29 15:22:05 2007 -0300 V4L/DVB (6048): ivtv: fix stop stream locking Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 37093b1ea600d84fbf7252baf12eedec85ae40f1 Author: Hans Verkuil Date: Sat Jul 28 19:45:50 2007 -0300 V4L/DVB (6047): ivtv: Fix scatter/gather DMA timeouts It turns out that the cx23415/6 DMA engine cannot do scatter/gather DMA reliably. Every so often depending on the phase of the moon and your hardware configuration the cx2341x DMA engine simply chokes on it and you have to reboot to get it working again. This change replaced the scatter/gather DMA by single transfers at a time, where the driver is now responsible for DMA-ing each buffer. UDMA is still done using scatter/gather DMA, that will be fixed soon. Many thanks to Mark Bryars for discovering the link between scatter/gather and the DMA timeouts. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f4071b85ea0ca3bd06f63c330562b4cfdffa8473 Author: Hans Verkuil Date: Sat Jul 28 12:07:12 2007 -0300 V4L/DVB (6046): ivtv: always steal full frames if out of buffers. When there are no more free buffers, then buffers are stolen from the predma queue. Buffers should be stolen from the head of that queue (which is where the most recently added buffers are) and all buffers belonging to a frame should be stolen. Otherwise 'half-frames' would remain in the queue, which leads to ugly playback and complete sync failure for YUV buffers. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3562c43be8cfd6e300508d7c33acebf3369eacd3 Author: Hans Verkuil Date: Sat Aug 18 11:46:05 2007 -0300 V4L/DVB (6045): ivtv: fix handling of INITIALIZE_INPUT fw call The CX2341X_ENC_INITIALIZE_INPUT firmware call requires careful handling, otherwise the computer can freeze or the top-third of the screen can start flickering. This patch ensures that CX2341X_ENC_INITIALIZE_INPUT is called at the right time and in the right way. In addition the stop capture handling was improved so that the last pending DMA transfer is also processed. Otherwise this would be the first data that arrived when a new capture was started which is not what you want. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit da80be21362376443c6ee9918dfff408e83e0c39 Author: Kazuhiko Kawakami Date: Sat Aug 18 11:39:28 2007 -0300 V4L/DVB (6044): vp27smpx: clarify history of this source. Signed-off-by: Kazuhiko Kawakami Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 33bc4dea0ece371ccadbac8bf90fd0b8e2803f06 Author: Hans Verkuil Date: Sat Aug 18 11:36:09 2007 -0300 V4L/DVB (6043): ivtv: fix incorrect round-robin implementation Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b1139e353c7fc636bfe413f3296ba0284eb60c2e Author: Darren Salt Date: Sat Aug 18 18:05:31 2007 -0300 V4L/DVB (6040): Add IR support for Nova-T Stick Working with Nova-T Stick (70001) with remote control model A415. Untested with other dib0700m/dib0700p devices. Signed-off-by: Darren Salt Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit faebb914399ecf8ecfd0e24b96ac90d7381f7e07 Author: Darren Salt Date: Sat Aug 18 18:04:00 2007 -0300 V4L/DVB (6039): Typo fix in Nova-TD description Typo fix in Nova-TD description Signed-off-by: Darren Salt Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit e927b3fa595117c9f4c6dfa241fe7c3a3c596f17 Author: Michael Mauch Date: Sat Aug 18 18:02:31 2007 -0300 V4L/DVB (6038): Trivial: repair mixed parm descs in dvb-usb-init.c Repair modinfo parameter descriptions for force_pid_filter_usage and disable_rc_polling. Signed-off-by: Michael Mauch Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 458b634cd86968032171a4d6db5c89a772ff0348 Author: Alan Nisota Date: Sat Aug 18 17:52:35 2007 -0300 V4L/DVB (6037): Updated GenPix USB driver There are now 4 different versions of the GENPIX USB adapter. The newest 'Skywalker' models are fully self-contained, and need no additional hardware to be used. A very reliable DVB-S card even without using any of the alternate modulatations (which this kernel module does not currently support) The following patch adds support for all 4 versions of the genpix adapter (www.genpix-electronics.com). Signed-off-by: Alan Nisota alannisota@gmail.com Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit fa40b2237ab6ed239967f76432438080232b88fe Author: Trent Piepho Date: Fri Aug 17 05:50:22 2007 -0300 V4L/DVB (6034): cx88: Add parameter to control radio deemphasis time constant FM radio transmission use a preemphasis/deemphasis scheme to reduce high-frequency noise. The cx88 audio decoder is supposedly set to no deemphasis by the current driver. However, the "no deemphasis" setting doesn't work. On my chip, cx23883, it produces the same result as the 75 us time constant. Maybe the default settings on the cx23881 are for 50 us? Since the deemphasis time constant varies by country, allow setting it via a module parameter. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 82e67246cd2a860637ee9d27776ad48d32734f6c Author: Trent Piepho Date: Fri Aug 17 17:49:41 2007 -0300 V4L/DVB (6031): Fix for bug 7819: fixed hotplugging for dvbnet The first part of dvb_net_close() is just a cut&paste from dvb_generic_release(), so maybe it would be better to just call dvb_generic_release() instead? Signed-off-by: Trent Piepho Acked-by: Markus Rechberger Acked-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 89d969a39da8e9ee5db1c1fb49f55f4206a445ac Author: Adrian Bunk Date: Thu Aug 16 10:03:18 2007 -0300 V4L/DVB (6025): Net_ule(): fix check-after-use The Coverity checker spotted that we'd have already oops'ed if "dev" was NULL. Signed-off-by: Adrian Bunk Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 5772f81326904f2bfbb2bf2f365b3fb36ee3b7d8 Author: Trent Piepho Date: Wed Aug 15 14:41:59 2007 -0300 V4L/DVB (6023): cx88: Clean up some ugly and inconsistent printk()s Get rid of the "CORE" prefix from cx88 printks. It was only used a few times, and it makes it look like they're coming from the kernel core or something. Fix the message, "TV tuner 60 at 0x1fe, Radio tuner -1 at 0x1fe", by adding a "cx88[0]" prefix to be consistent, and to keep people who grep their dmesg output for cx88 from missing it. Get rid of the addresses, which are always wrong. The addresses are always set to -1, but because it's an unsigned 8-bit value, the left shift converts it to the nonsense address 0x1fe. In the cx8802 driver, some cut and pasted code prefixed lines with "CORE cx88[0]:", which has been changed to "cx88[0]/2:" like the other printks from the cx8802 driver. Also fix some ugly printks in the cx8802 driver that used __FUNCTION__ for KERN_INFO and KERN_ERR messages. The changed printks in cx88-mpeg.c also needed lots of whitespace and 80-column fixes. A bunch of misc changes in cx88-dvb.c and cx88-video.c to add message levels or a consistent "cx88[?]/2" or "cx88[?]/0" prefix. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit bbc83597dfe3093b161014e6ebb351279eabaa7c Author: Trent Piepho Date: Wed Aug 15 14:41:58 2007 -0300 V4L/DVB (6022): cx88: Move card core creation from cx88-core.c to cx88-cards.c A lot of code in cx88-cards.c was only used by cx88-core.c when the core state is first allocated and initialized. Moving that task to cx88-cards makes the driver simpler and the files more self contained. - Module parameters tuner, radio, card, and latency move to cx88-cards.c - cx88_boards is made static - cx88_subids is made static and const - cx88_bcount is eliminated - cx88_idcount is eliminated - cx88_card_list() is made static - cx88_card_setup_pre_i2c() is made static - cx88_card_setup() is made static - cx88_pci_quirks() is moved from cx88-core to cx88-cards The function argument "char *name" is made const too - get_ressources() is moved from cx88-core to cx88-cards, and renamed to cx88_get_resources() - The code to allocate and initialize the core state struct and the chip is moved out of cx88-core.c:cx88_get_core() and into a new function in cx88-cards.c, cx88_core_create(). This makes both functions simpler. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 6a59d64c5cc302e0139ddb1f5e57afceecb14368 Author: Trent Piepho Date: Wed Aug 15 14:41:57 2007 -0300 V4L/DVB (6021): cx88: Copy board information into card state The cx88 driver state stored the ID of the board type in core->board. Every time the driver need to get some information about the board configuration, it uses the board number as an index into board configuration array. This patch changes it so that the board number is in core->boardnr, and core->board is a copy of the board configuration information. This allows access to board information without the extra indirection. e.g. cx88_boards[core->board].mpeg becomes core->board.mpeg. This has a number of advantages: - The code is simpler to write. - It compiles to be smaller and faster, without needing the extra array lookup to get at the board information. - The cx88_boards array no longer needs to be exported to all cx88 modules. - The boards array can be made const - It should be possible to avoid keeping the (large) cx88_boards array around after the module is loaded. - If module parameters or eeprom info override some board configuration setting, it's not necessary to modify the boards array, which would affect all boards of the same type. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit b09a79f5848f2143a8ffc724910743027d5a70e0 Author: Trent Piepho Date: Mon Aug 13 12:21:58 2007 -0300 V4L/DVB (6020): cx88: Fix use of uninitialized variable An error message for PCI resource allocation failure used the board type before it was set. Just get rid of the error message, as get_ressources() [sic] already prints one. Format that error message better, and add the pci function and subsystem information to better associate the error with what caused it. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit c252b0511596f76a32c7c64bcc6cc60b3bc1ec3a Author: Trent Piepho Date: Mon Aug 13 12:21:57 2007 -0300 V4L/DVB (6019): cx88: Make card database more memory efficient The vmux setting is only two bits, but was taking up a whole 32 in the input description struct. By changing it to a two-bit bitfield, it can fit in what was padding space before and drop the input size by 4 bytes, from 28 to 24. This drops the board description struct, which has 9 inputs, from 280 to 244 bytes. Total driver size decreases by 2108 bytes. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 5f553388b06532b495681f5d6c8e8fbff64ea86a Author: Kay Sievers Date: Wed Aug 15 14:00:09 2007 -0300 V4L/DVB (6015): DVB: convert struct class_device to struct device The currently used "struct class_device" will be removed from the kernel. Here is a trivial patch that converts DVB to use struct device. Signed-off-by: Kay Sievers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit acb09af4e333dc92cdd32ae75ee7e5f3d7aaf60b Author: Mauro Carvalho Chehab Date: Sun Jul 29 22:56:11 2007 -0300 V4L/DVB (6014): vivi: use videobuf_read_stream() videobuf_read_stream is more efficient than videobuf_read_one Signed-off-by: Mauro Carvalho Chehab commit e9f668dd12d3ed293af0d466bcaa393b78a7d0ee Author: Kumar Gala Date: Wed Aug 15 10:43:19 2007 -0300 V4L/DVB (6010): Use inline functions instead of inline asm for powerpc Change io_st_le32() to use inline functions rather than direct inline assembly code. Signed-off-by: Kumar Gala Signed-off-by: Mauro Carvalho Chehab commit fbd8af07063f7379e71654013e7915315cd869f8 Author: Adrian Bunk Date: Wed Aug 15 10:43:08 2007 -0300 V4L/DVB (6009): Bt8xx: "extern inline" -> "static inline" "extern inline" will have different semantics with gcc 4.3. Signed-off-by: Adrian Bunk Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 6b1dde90de7f612805fbe8212a39264d7b868efc Author: Michael Krufky Date: Sat Aug 11 15:42:12 2007 -0300 V4L/DVB (6006): tuner: move last_div to tuner-simple private data tuner-simple is the only sub-driver that uses last_div, so we can free up two bytes of memory for all other tuners, by moving this into tuner-simple's private data area. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit afa76b392e10d37c9e717198b5c2686de26c629d Author: Rolf Eike Beer Date: Mon Aug 13 08:08:21 2007 -0300 V4L/DVB (6005): Initialize filp->private_data only once in em28xx_v4l2_open Some lines later filp->private_data is initialized to dev again. Since there are some checks that might fail in the mean time keep the later version. Signed-off-by: Rolf Eike Beer Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit be848fe39a656fd57429263f5ac8c656ccdff362 Author: Hans Verkuil Date: Thu Aug 9 17:13:22 2007 -0300 V4L/DVB (6003): vp27smpx: correctly attribute the origin of the driver Correctly attribute the origin of the driver to Kazuhiko Kawakami. It took some time to get the S-O-B line from the original tvaudio patch author, but here it is. Signed-off-by: Kazuhiko Kawakami Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6af5a0394ae9ce7ac8eea233a8c430d743a377c3 Author: Hans Verkuil Date: Tue Aug 7 07:19:33 2007 -0300 V4L/DVB (6002): ivtv: remove unused struct field. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 39c4ad6ab364354bf76cdcc0081fa5c4422db907 Author: Hans Verkuil Date: Sun Aug 5 14:24:17 2007 -0300 V4L/DVB (5999): cx25840: add radio support. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9085009683dd46d95105eda14efa8bda403b459f Author: Hans Verkuil Date: Sun Aug 5 08:02:45 2007 -0300 V4L/DVB (5998): ivtv: no need to mute the audio input When changing channels the audio has to be muted. This is done by calling CX2341X_ENC_MUTE_AUDIO and by muted the audio input. The latter is not necessary and is now removed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 87410dab1238623e082e9a78a62f1bbeb6c475e3 Author: Hans Verkuil Date: Sun Aug 5 08:00:36 2007 -0300 V4L/DVB (5997): cx25840: fix audio mute handling and reporting Audio muting for the tuner input was implemented by stopping the audio microcontroller and restarting it on unmute. However, it appears that this method can actually crash the audio firmware. It's rare and seems to happen with NTSC only. It has been reimplemented by setting to volume to 0. In addition, the reporting of the mute state has been improved as well: it used to be impossible to detect whether the audio was muted by the user or if it was muted due to the microcontroller trying to detect the audio standard. This is now clearly stated. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 372978055dd564d97ca1b4099c99296eaff1fe19 Author: Hans Verkuil Date: Tue Sep 11 11:59:15 2007 -0300 V4L/DVB (5995): ivtv: add AverMedia M116 - Split Club3D card from Yuan PG600-2, GotView PCI DVD Lite (different composite input) - Add AVerTV MCE 116 Plus (M116) card - Allow Xceive cards to be used without Xceive support Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2cc720957a743ef59f9925ecfef5f71f08387d8b Author: Hans Verkuil Date: Sat Aug 4 05:06:23 2007 -0300 V4L/DVB (5994): ivtv: make VIDIOC_INT_RESET support smarter. Add support to optionally reset the IR and/or the video digitizer. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 89fc4eb924fc8da769083e1680e24c182589d789 Author: Hans Verkuil Date: Sat Aug 4 05:00:07 2007 -0300 V4L/DVB (5993): cx25840: resetting also requires reloading the firmware Resetting without reloading the firmware is not enough. Sometimes the firmware is 'stuck' and needs to be reloaded. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 94104aa2a88ac2433f7cbde3dbec629263724271 Author: Hans Verkuil Date: Sat Aug 4 04:56:00 2007 -0300 V4L/DVB (5992): ivtv: show card name as well in the LOG_STATUS output. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1597f1f676d2c425028b6a20f21a987f489dbdd2 Author: Oleg Nesterov Date: Thu Aug 9 12:02:30 2007 -0300 V4L/DVB (5990): cinergyt2_suspend: don't forget to unlock cinergyt2->wq_sem Restore unlock of cinergyt2->wq_sem, was deleted by accident. Signed-off-by: Oleg Nesterov Signed-off-by: Mauro Carvalho Chehab commit 7963fa48dafd07a8c6b6007fb038095553ad6a0f Author: Steven Walter Date: Thu Aug 9 11:36:35 2007 -0300 V4L/DVB (5989): V4L: Add additional ioctls to compat_ioctl32 With the addition of these ioctls, I'm able to watch TV with a 32-bit version of tvtime on x86_64. Signed-off-by: Mauro Carvalho Chehab commit 4ebcb48da1eace49ef5f2d83a91984085c6d702d Author: Simon Arlott Date: Thu Aug 9 11:29:33 2007 -0300 V4L/DVB (5988): Fix OOP on videobuf-dvb when hibernating Since videobuf_waiton is called with intr=1, it can return -EINTR and therefore err may be non-zero. This happens when the system goes into the standby state. Without the BUG() occurring, there's no problem with standby mode while DVB is being used. Signed-off-by: Mauro Carvalho Chehab commit 276e49a01a7e6c4a7bfb78618cf2f5befbf9f5de Author: Oliver Endriss Date: Thu Aug 9 02:41:16 2007 -0300 V4L/DVB (5987): saa7146: clean-up irq processing Interrupt processing fixed: First handle interrupt, then acknowledge it. Otherwise the same interrupt might occur twice. Cleaned-up i2c interrupt handler and i2c error messages. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit c471b331dda9fdfaf67832998d0b2c848777ab4a Author: Oliver Endriss Date: Thu Aug 9 01:03:42 2007 -0300 V4L/DVB (5986): dvb_frontend: Fixed GET_INFO ioctl and check of frequency limits The calculation of frequency limits ignored tuner-specific frequency limits. Range checks and GET_INFO ioctl updated accordingly. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit a18255bef2a62632ed442fdb90b091193cbabca5 Author: Hartmut Birr Date: Thu Aug 9 00:01:51 2007 -0300 V4L/DVB (5985): Fix the min/max frequencies of some DVB-C frontends The min frequencies of the DVB-C frontends are wrong. In Europe, the center frequency of the lowest channel is 50.5MHz and not 51MHz. All known cards with the stv0297/tda0002x/ves1820 frontend are able to tune to this frequency. I've changed the range to the lowest channel - 1/2 bandwidth and the highest channel + 1/2 bandwidth. For the design of the dvb driver, the frequency ranges must be part of the tuner and not of the frontend itself. The same frontend may be used for different tuners. The attached patch does only fix the ranges and not the design. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 8509a29ec6050a03d88f2da59fc2e361f6c16534 Author: Mariusz Kozlowski Date: Mon Aug 6 18:05:45 2007 -0300 V4L/DVB (5983): Arv.c: fix memset in ioctl Looks like memset() is zeroing wrong nr of bytes. Signed-off-by: Mariusz Kozlowski Signed-off-by: Mauro Carvalho Chehab commit 473c653fff8dc6a63cad279a8e83395ead12119d Author: Mariusz Kozlowski Date: Mon Aug 6 18:05:35 2007 -0300 V4L/DVB (5982): Dev.c: memset fix Looks like memset() is zeroing wrong nr of bytes. Signed-off-by: Mariusz Kozlowski Signed-off-by: Mauro Carvalho Chehab commit 5e76a1cb2ce0918ff2429fcfa2d5655dbd273c54 Author: Mariusz Kozlowski Date: Mon Aug 6 18:05:27 2007 -0300 V4L/DVB (5981): Zoran_driver.c: fix memset in ioctl Looks like memset() is zeroing wrong nr of bytes. Signed-off-by: Mariusz Kozlowski Signed-off-by: Mauro Carvalho Chehab commit 4f76b672c4f9ceb9e7e0aa6224293da0ae7430da Author: Oliver Endriss Date: Mon Aug 6 13:59:19 2007 -0300 V4L/DVB (5980): tda8083: fix frequency and symbolrate info The TDA8083 supports a symbol rate from 12..30 MSym/s. The Grundig 29504-451 tuner uses the TDA8060 down-converter, which has a frequency range from 920..2200MHz. Thanks-to: Lars Buerding Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 5e082f1521598a91c9194b2356b157cade9b6e87 Author: Trent Piepho Date: Fri Aug 3 18:32:38 2007 -0300 V4L/DVB (5978): tuner: Better tuner radio support Add radio support for the Thomson DTT7612 tuner. This tuner uses a different 1st intermediate frequency than the other radio tuners supported (a lot of NTSC radio tuners probably need this change too). Add a new tuner-simple parameter, radio_if. It selects the 1st IF used for radio reception. The radio frequency setting code in tuner-simple now uses this field, instead of a special case select() block for each tuner with radio support. The tuner parameters for tuners that used a 33.3 MHz RIF now set radio_if to 1 in tuner-types.c. The Thomson DTT7612 gets radio_if = 2, also add has_tda9887 = 1 and fm_gain_normal = 1. Add some defines for tda9887 bits that control IF setting in radio mode. Add a new tda9887 config option, TDA9887_RIF_41_3, that selects a 41.3 MHz radio IF. Fix the way tda9887 radio options work. The driver was modifying the default radio mode config templates based on the TDA9887_XXXX flags. This means that _all_ tuners would get the same settings. If you had a one tuner than used TDA9887_GAIN_NORMAL and one that didn't, both would get the setting. Now the tda9987 driver just checks if tuner mode is radio and then applies the config settings directly to the data being sent, just like how all the TV mode settings already work. The PLL setting math is made a little more accurate. And a grammar error in a printk is fixed. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit a75d204860b5051ebd5635278c097bafb4ea53f9 Author: Trent Piepho Date: Wed Aug 1 00:13:28 2007 -0300 V4L/DVB (5977): cx8800: Add register debug functions to radio device too Add the advanced debug functions to the radio videodev template. One could already use them from the video and vbi devices. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit b97762ba18b57c7057b58ed4f7140a19d0166b01 Author: Trent Piepho Date: Tue Jul 31 18:51:30 2007 -0300 V4L/DVB (5976): mt2131 s5h1409: correct frontend selection logic If a card driver is compiled into the kernel and mt2131 or s5h1409 are compiled as modules, the kernel won't link. A compiled in driver can't use a module, so in this case the mt2131 or s5h1409 are effectively disabled w.r.t the compiled in driver and the stub attach function should be used. Signed-off-by: Trent Piepho Acked-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 19dc74b7c5f02ada19840a85582f42f4dddcdb3e Author: Trent Piepho Date: Tue Jul 31 23:06:50 2007 -0300 V4L/DVB (5975): cx88: Wrong values used for HD-3000 radio mode After some tedious work with a logic probe and a magnifying glass, I've determined that GPIO 7 is used to switch between the DTT7612's Sound 4.5 MHz IF output on pin 12 and the FM 10.7MHz If output on pin 11. GPIO 2 is used to switch the card's analog sound output from from the analog input connector to the CX23883's audio DACs. So, in radio mode GPIO2 = 1 and GPIO7 = 0. Add some comments about how the HD-3000's GPIOs are connected. Delete the vmux setting for the radio, as vmux doesn't apply to radio mode. Also delete the lines setting unused gpio words to zero; it's not necessary as 0 is the default value for uninitialized fields. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit bfd7beacff2b5c811badb587a74c3dfbf7f98721 Author: Ian Armstrong Date: Fri Aug 3 10:01:39 2007 -0300 V4L/DVB (5973): ivtv: attach yuv field order to each frame In the current driver, the field order is global. As soon as it's changed it takes immediate effect. This is a problem when the video changes order mid stream. Although it mostly works okay, the video may judder / flicker. This patch attaches the field order to the frame, so that any buffered frames will not be displayed until the correct field. In the event that the field order is changed mid stream, the driver will ensure that the previous frame is displayed for a minimum of 3 fields. These are the two original fields the frame should have occupied, plus the one extra since the new frame still has to wait for the correct field. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 943e8910db31e36d945f2bf7d4c273ca5fa01f6e Author: Ian Armstrong Date: Fri Aug 3 09:58:29 2007 -0300 V4L/DVB (5972): ivtv: prevent yuv register updates from being missed The yuv output code always compares the new frame position & size with those of the previous frame. If they are different, a flag is set to request the yuv output registers be updated when the new frame is displayed. If the incoming frames are delivered too fast, exhausting the buffers, the most recent frame already buffered will be discarded. Unfortunately, any update request will also be discarded. If the new frame matches the size & position of the now discarded frame, the yuv registers are not flagged for update & will remain in their old state. This patch preserves the register update flag in the event that a frame is dropped. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 68a341a53ab5a3c5b7dad4b226124414c62c124d Author: Ian Armstrong Date: Fri Aug 3 09:51:58 2007 -0300 V4L/DVB (5971): ivtv-fb: framebuffer timings no longer locked on module load Framebuffer timings are currently locked to the video format in use when the module is loaded. If the video format is then changed, the timings returned by the framebuffer will be for the original format. This patch ensures that the timings returned reflect the current video format. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b4b38bd63c07c8927b43c6c378eca1db10fdaf2e Author: Ian Armstrong Date: Fri Aug 3 09:44:13 2007 -0300 V4L/DVB (5970): ivtv: prevent vertical overflow of yuv output When the video standard is changed, there's no guarantee the framebuffer dimensions are still legal. The yuv output code uses these dimensions to calculate the size & position for the video overlay. If the framebuffer dimensions are now illegal, the output may exceed the vertical limit of the display, causing distortion. This patch adds an additional check to ensure the output doesn't exceed the limits for the current video standard, cropping if required. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 813ce47cee33964ff710d2c91063548773cb4cd5 Author: Adrian Bunk Date: Wed Aug 1 10:13:36 2007 -0300 V4L/DVB (5965): Frontend_ioctl(): fix check-after-use The Coverity checker spotted that we have already oops'ed if "fe" was NULL. Since "fe" being NULL seems impossible at this point this patch removes the NULL check. Signed-off-by: Adrian Bunk Acked-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 89f4267d6fa96cb3db053d5183558c94ad5f46e5 Author: Janne Grunau Date: Tue Jul 31 19:45:13 2007 -0300 V4L/DVB (5964): Fixed remote control for dib0700 with new firmware The new firmware returns the data of the REQUEST_POLL_RC request in reversed order. The default is RC5, but it can be adjusted using a module parameter. Signed-off-by: Janne Grunau Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8d99996b0942ff566c62602d83ac2c13521bbe40 Author: Patrick Boettcher Date: Tue Jul 31 10:36:06 2007 -0300 V4L/DVB (5963): Module parameter description for SFN workaround Thanks to Matt Doran I found that there the module parameter description was not OK. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 034d65ed209f8525b1989dc3e6beca92fad57a7d Author: Janne Grunau Date: Tue Jul 31 08:48:40 2007 -0300 V4L/DVB (5962): Fix line-break in err output line-breaks in dib0700-remote-query function fixed. Signed-off-by: Janne Grunau Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 3db78e59500a45e05cbe271c8e1ba5a2b7ce0ef8 Author: Patrick Boettcher Date: Tue Jul 31 08:19:28 2007 -0300 V4L/DVB (5961): Fix support for DiB7000M-devices Forgot to initialize the timf_default field. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8f6956c7f9fa72c502bde47df4122bd32d0b86d5 Author: Matt Doran Date: Tue Jul 31 07:09:30 2007 -0300 V4L/DVB (5960): Add module parameter to enable SFN workaround In some areas in the world the broadcasters are not using the same cellid for each transmitter in a SFN. The DiBcom has problems with that setup. The module parameter buggy_sfn_workaround makes it re-usable. Signed-off-by: Matt Doran Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8779737b8e01b95fe6f1e33dc90ea621281c7b67 Author: Patrick Boettcher Date: Mon Jul 30 17:02:17 2007 -0300 V4L/DVB (5959): Fix for size of remote keys in DiB0700 Fix for size of remote control keys in DiB0700. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 1f8ca4b37355cc56a4d25d5698a894ec46964f83 Author: Patrick Boettcher Date: Mon Jul 30 14:24:37 2007 -0300 V4L/DVB (5958): Add support Compro VideoMate 500 with DiB7000PC Add support Compro VideoMate 500 with DiB7000PC. Another design of Compro uses the DiB7000PC and it has new USB ids. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 7161f27f2e61b44352a9dcf3927813380d5e710b Author: Janne Grunau Date: Mon Jul 30 13:54:55 2007 -0300 V4L/DVB (5957): Add remote keymap for the Hauppauge Nova-TD Stick Copied from drivers/media/dvb/dvb-usb/nova-t-usb2.c Signed-off-by: Janne Grunau Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 82f3d5594240adcd8d6764cf31dffc473a6cc1d0 Author: Janne Grunau Date: Mon Jul 30 13:50:28 2007 -0300 V4L/DVB (5956): Add remote control support for the Hauppauge Nova-T 500 This patch adds remote control support for the Hauppauge Nova-T 500 using the same keys as for STK7700PD. Signed-off-by: Janne Grunau Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 01373a5c97ced83d4cb520f7e56c80454a198bfb Author: Patrick Boettcher Date: Mon Jul 30 12:49:04 2007 -0300 V4L/DVB (5955): Add support for DiB7070-based devices This changeset adds support for DiB7070P-based devices by adding the dib0070-driver and putting the appropriate layouts into dib0700_devices.c It also includes a new firmware for the dib0700 which is necessary to make the DiB7070-boards work and it also should fix the i2c-problems on some boards. Signed-off-by: Jean-Philippe Sibers Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit b6884a17fc70e979ef34e4b5560988b522bb50a0 Author: Patrick Boettcher Date: Fri Jul 27 10:08:51 2007 -0300 V4L/DVB (5954): Sync with DiBcom Driver Release 2.1.3 + some improvements This changesets syncs the OpenSource driver for DiBcom demodulators with version 2.1.3 of DiBcom reference driver. There were some improvements since the last release for linux-dvb, e.g.: - stepped AGC startup - less space for initialization - diversity synchronization Furthermore this changeset contains the following things: - latest AGC settings for MT2266-based devices (namely Nova-TD and other) will improve the sensitivity - support for STK7700D reference design in dib0700-devices - remove some line-breaks when debugging is enabled - getting rid of layer between frontend_parameters and ofdm_channel used in dib*-drivers Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit b2a657603e7285bf05b86ad198111b5403c57b41 Author: Mariusz Kozlowski Date: Tue Jul 31 16:35:32 2007 -0300 V4L/DVB (5953): msp3400-driver.c: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: Mauro Carvalho Chehab commit 3873dd041465799cfdeb642531c0ade4fb6614e5 Author: Michael Krufky Date: Sat Jul 28 20:02:55 2007 -0300 V4L/DVB (5950): whitespace cleanup for mt2131 and s5h1409 - trivial whitespace cleanups - add "c-basic-offset: 8" to enforce tabbing style in emacs Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a45c92756ed60bc89528701ac512e954acd23b9e Author: Michael Krufky Date: Wed Mar 21 12:03:23 2007 -0300 V4L/DVB (5949): s5h1409: use ARRAY_SIZE macro when appropriate Use ARRAY_SIZE macro already defined in kernel.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 89885558ada9e076b48f4b6887e252e13e7eaf74 Author: Steven Toth Date: Sat Jul 28 19:34:52 2007 -0300 V4L/DVB (5948): Adding support for the S5H1409/CX24227 8VSB/QAM demodulator. This patch adds support for the Samsung S5H1409 demodulator, also known as the Conexant CX24227 demodulator. 8VSB mode has been tested and QAM has been implemented based on the spec, although it's untested. The S5H1409 / CX24227 appears on various Hauppauge boards. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit f47623a04dab402fb2c18fe516a174bc02005629 Author: Steven Toth Date: Sat Jul 28 19:17:39 2007 -0300 V4L/DVB (5947): Adding support for the MT2131 tuner. This adds support for the Microtune MT2131 tuner. 8VSB mode has been tested but QAM support will likely require more register work. Hauppauge have not announced any QAM devices using the MT2131 so QAM remains undone. For legal reasons, Microtune allowed us to write a GPL driver providing we did not document in significant detail any of the registers. This explains the lack of comments or defined on register names. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 03b7612336560c6799852acaaaeac70e1f00e483 Author: Matthias Kaehlcke Date: Mon Jul 30 14:58:10 2007 -0300 V4L/DVB (5946): Use mutex instead of semaphore in the DVB frontend tuning interface The DVB frontend tuning interface uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 667c7bc0aff18288186f1223784b57f77be7d81b Author: Andi Drebes Date: Mon Jul 30 11:49:51 2007 -0300 V4L/DVB (5942): Usb/vp7045.c: ARRAY_SIZE() This patch replaces an array size calculation done using sizeof with an invocation of the ARRAY_SIZE macro. Tested by compilation on an i386 box using "allyesconfig". Diffed against Linus' git-tree. Signed-off-by: Andi Drebes Signed-off-by: Mauro Carvalho Chehab commit af520a3478b59476ed61eddee73948807398e358 Author: Andi Drebes Date: Mon Jul 30 11:48:10 2007 -0300 V4L/DVB (5941): Ttpci/budget-av.c: ARRAY_SIZE() This patch replaces an array size calculation done using sizeof with an invocation of the ARRAY_SIZE macro. Tested by compilation on an i386 box using "allyesconfig". Diffed against Linus' git-tree. Signed-off-by: Andi Drebes Signed-off-by: Mauro Carvalho Chehab commit 261efd12fc291e6b3b42011201bfd011484ad90b Author: Adrian Bunk Date: Mon Jul 30 11:43:55 2007 -0300 V4L/DVB (5940): Export v4l2_int_device_{, un}register This patch fixes the following build error: <-- snip --> ... MODPOST 2135 modules make[2]: *** [__modpost] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 92b3c1ec128695e606fc435d0b68902105d585bb Author: Oliver Endriss Date: Mon Jul 23 21:14:10 2007 -0300 V4L/DVB (5936): tda10023: Remove range check of symbol rate Remove incorrect range check of symbol rate, spotted by the coverity checker and reported by Adrian Bunk. These range checks are performed by dvb_core now. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 1fab46f0decd226fcbae73b23d7f8ed478416fbb Author: Oliver Endriss Date: Mon Jul 23 21:00:36 2007 -0300 V4L/DVB (5935): dvb_frontend: Range check of frequency and symbol rate Add range check of frequency and symbol rate to the FE_SET_FRONTEND ioctl. This will also avoid a divide-by zero exception in the stv0297 driver, if symbol rate is set to 0. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 36c15f8ee41fbc3d8eaf88bba95be3d50268d5d2 Author: Oliver Endriss Date: Mon Jul 23 13:59:55 2007 -0300 V4L/DVB (5934): dvb-ttpci/saa7146: Replace saa7146_i2c_transfer by generic i2c_transfer Convert av7110_v4l.c to use i2c_transfer() instead of saa7146_i2c_transfer(). Make saa7146_i2c_transfer() static. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit ac247433fe205acf460f05de64a30ee71ea307f2 Author: Hans Verkuil Date: Fri Jul 27 06:56:50 2007 -0300 V4L/DVB (5929): Add vp27smpx driver This device is internal to the Panasonic VP27S tuner and is used to set the mono/stereo/bilingual setting of the tuner. It is used by two Japanese cx23416-based cards. Signed-off-by: Takahiro Adachi Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b4c85248afcc5265ce8c36b9c15e40e6a92b5ae7 Author: Hans Verkuil Date: Fri Jul 20 06:53:23 2007 -0300 V4L/DVB (5928): tuner: fix TOP values for the Panasonic VP27 tuner. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 469ba047c08669f364c2616967e8494b1f3ef21c Author: Hans Verkuil Date: Fri Jul 20 06:51:58 2007 -0300 V4L/DVB (5927): ivtv: set correct crystal frequency of the GVMVPRX cards Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6e5eb59102aa6007d3ea2b382a1d3ca4112c272a Author: Hans Verkuil Date: Wed Jul 25 12:55:52 2007 -0300 V4L/DVB (5924): ivtv-fb: initializing the fb should trigger ivtv firmware load ivtv-fb: initializing the framebuffer should trigger ivtv firmware load Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c976bc82339437e840f7dbf0b8c89c09d3fcd75e Author: Hans Verkuil Date: Sun Jul 22 12:52:40 2007 -0300 V4L/DVB (5922): ivtv, cx25840: postpone fw load until first use The firmware is now loaded when the driver is actually used for the first time. This allows the driver to be compiled in-kernel instead of as a module. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fa8a7529ba8c3c2f87dec78ad32c388695f4c1b7 Author: Hans Verkuil Date: Sun Jul 22 12:13:08 2007 -0300 V4L/DVB (5921): ivtv: add missing composite input line for ivtv_pci_pg600v2 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7bb293849489b6cc5d6919b8c7f94cb273303e1f Author: Hans Verkuil Date: Sun Jul 22 09:42:09 2007 -0300 V4L/DVB (5919): ivtv: remove dead code Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 54d75ebaa02809f24a16624e32706af3bf97588e Author: Olivier DANET Date: Wed Jul 25 14:42:54 2007 -0300 V4L/DVB (5914): Add initial support for Dual-DVB-T stick Add initial support for Dual-DVB-T stick based on DiB7700 and MT2266 - Microtune MT2266 driver. - Preliminary support for these dual tuner devices : - Pinnacle Dual DVB-T diversity - Terratec Cinergy DT USB XS diversity - Hauppauge Nova TD USB Signed-off-by: Olivier DANET Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 59a00adbd30ed5d3a97ac41ad9e4b040a111eea8 Author: Jesper Juhl Date: Mon Jul 23 11:34:34 2007 -0300 V4L/DVB (5913): Clean up duplicate includes in include/media/ This patch cleans up duplicate includes in include/media/ Signed-off-by: Jesper Juhl Signed-off-by: Mauro Carvalho Chehab commit 915366da0c591f60cb670d89b5ff376f2ef9d8fe Author: Jesper Juhl Date: Mon Jul 23 11:33:26 2007 -0300 V4L/DVB (5912): Clean up duplicate includes in drivers/media/ This patch cleans up duplicate includes in drivers/media/ Signed-off-by: Jesper Juhl Signed-off-by: Mauro Carvalho Chehab commit c6f95d16e0da4d909afc787a3a3dfc504be12177 Author: Hans Verkuil Date: Sun Jul 22 15:44:41 2007 -0300 V4L/DVB (5910): ivtv-fb: improve debug message Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f38a7982ad4c38dc592f7f0ac8ee155a2df19fb5 Author: Hans Verkuil Date: Sun Jul 22 08:39:43 2007 -0300 V4L/DVB (5909): ivtv: update version to 1.1 to mark ivtv-fb support Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit aaf9fa21b684509973dd593e30423fc0a6a5e7a3 Author: Ian Armstrong Date: Sat Jul 21 16:43:36 2007 -0300 V4L/DVB (5908): ivtv-fb: cleanups, prevent fw calls in some cases Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 84149a0f70a73385ee7fbb77024544cbed4fe16d Author: Hans Verkuil Date: Fri Jul 20 18:17:18 2007 -0300 V4L/DVB (5906): ivtv-fb: replace HZ with msecs_to_jiffies Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d715e766ddf4786a06abe6a841e956ad8a875963 Author: Hans Verkuil Date: Fri Jul 20 10:30:32 2007 -0300 V4L/DVB (5905): ivtv-fb: Use proper ioctl value Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit be383bd312c4defab8bd4bde8c06fea5bfe0996b Author: Hans Verkuil Date: Fri Jul 20 10:16:03 2007 -0300 V4L/DVB (5904): ivtv-fb: cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 32db775452818656d5fd8fd8b0f54425f5cfc177 Author: Hans Verkuil Date: Fri Jul 20 09:29:43 2007 -0300 V4L/DVB (5902): Add ivtv-fb framebuffer driver. Add the ivtv-fb framebuffer driver for cx23415 devices (currently only the Hauppauge PVR-350 cards). This makes it possible to use the On-Screen Display functionality of these cards, either for menus during MPEG playback, or as a console or X display. Signed-off-by: Kevin Thayer Signed-off-by: Chris Kennedy Signed-off-by: Hans Verkuil Signed-off-by: John P Harvey Signed-off-by: Ian Armstrong Signed-off-by: Mauro Carvalho Chehab commit d3c35acf2455fe354bdd00085511bef6bd6d52f1 Author: Rasmus Rohde Date: Sat Jul 21 15:37:35 2007 -0300 V4L/DVB (5897): dtt200u: add support for the Miglia TVMini USB DVB-T adapter add code for autodetection and firmware download to the Miglia TVMini USB DVB-T adapter. After firmware download, the device re-registers using the WT220U_ZL0353_WARM usb id. Signed-off-by: Rasmus Rohde Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 60e3cac47a442fae74d3429f706350229623bcce Author: Trent Piepho Date: Tue Jul 17 18:29:42 2007 -0300 V4L/DVB (5885): zr36067: Fix problems with module parameters Add permissions to all the module parameters so they can be queried and set (when possible) via sysfs. Add description for the vidmem parameter. Change the video_nr parameter to an array, so that the video number can be specified when a user has more than one card. The driver would try to give all cards the same number otherwise, which will fail for all cards after the first. The default_input option would only allow values of 0 or 1, contrary to the description. Allow values up to the number of inputs defined for the card. Add description of lock_norm's different behavior for 1 and >1. Signed-off-by: Trent Piepho Acked-by: Ronald S. Bultje Signed-off-by: Mauro Carvalho Chehab commit 18b548ca580838a2cc5813a941e6dab28660bb22 Author: Jean Delvare Date: Tue Jul 17 18:29:41 2007 -0300 V4L/DVB (5884): zr36067: clean up debug function Debugging cleanups to the zr36067 driver: * Use module_param_named() to declare the debug parameter, so we can use a single global variable to handle the debug level. This makes the driver a bit smaller (by 648 bytes on x86_64), thanks to one less level of indirection on every use. * Change the debug parameter sysfs permissions, so that the debug level can be adjusted at runtime, as is done in many other media/video drivers. * The debug level is between 0 and 5, not 0 and 4. * Move the zr_debug export and dprintk macro definition to a header file so that we don't have to define them in each source file. * Simplify a duplicate test on zr_debug. Note that zr_debug was subsequently renamed to debug_zr36067 to avoid possible conflicts with other Zoran device drivers, on a suggestion by Trent Piepho. Signed-off-by: Jean Delvare Signed-off-by: Trent Piepho Acked-by: Ronald S. Bultje Signed-off-by: Mauro Carvalho Chehab commit 63116febb9233743279a05be510ab8524f5f6242 Author: Sakari Ailus Date: Fri Jul 20 13:12:51 2007 -0300 V4L/DVB (5883): V4L: Fix a compile warning on non-32-bit machines. Fix a compile warning on non-32-bit machines in v4l2-int-device.h. Add internal ioctl interface fallback function for ioctls with one argument. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit baa05e4b454fa7d87f9a41a4bbc1f749c113ff3a Author: Hans Verkuil Date: Fri Jul 20 06:26:34 2007 -0300 V4L/DVB (5881): ivtv: init channel for NTSC_M_JP standard. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a5e90862114124d79e1a3f34641b00fec51d1806 Author: Sakari Ailus Date: Wed Jul 18 18:04:17 2007 -0300 V4L/DVB (5863): TCM825x: Add driver. Add a driver for Toshiba TCM825x VGA camera sensor. This sensor is used e.g. in Nokia N800 internet tablet. This driver uses the new V4L2 internal ioctl interface. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 9b5d0f1e6dd6b4a67d0851a1c5a4bcf9b0c2f258 Author: Sakari Ailus Date: Wed Jul 18 17:59:15 2007 -0300 V4L/DVB (5862): V4L: Add internal ioctl-like interface. This patch adds an internal ioctl-like interface which can be used in situations where a single Video4Linux device is implemented by multiple device drivers. One master device controls one or more slave devices. The slaves provide Video4Linux ioctl-like interface for the use of the master. Only a handful of ioctls are implemented at the moment. More can (and should) be added as more functionality is required. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 1855256c497ecfefc730df6032243f26855ce52c Author: Jeff Garzik Date: Wed Oct 3 15:15:40 2007 -0400 drivers/firmware: const-ify DMI API and internals Three main sets of changes: 1) dmi_get_system_info() return value should have been marked const, since callers should not be changing that data. 2) const-ify DMI internals, since DMI firmware tables should, whenever possible, be marked const to ensure we never ever write to that data area. 3) const-ify DMI API, to enable marking tables const where possible in low-level drivers. And if we're really lucky, this might enable some additional optimizations on the part of the compiler. The bulk of the changes are #2 and #3, which are interrelated. #1 could have been a separate patch, but it was so small compared to the others, it was easier to roll it into this changeset. Signed-off-by: Jeff Garzik commit e3cec00366e9d60ff65c6f6f8fffdfcadea01056 Author: Grant Likely Date: Thu Oct 4 15:44:52 2007 -0600 [POWERPC] XilinxFB: Make missing pdata structure non-fatal Missing pdata structure is not a fatal error. The device can still be initialized without it. Signed-off-by: Grant Likely commit 31e8d4603ecaeb02424c9669e252ab835354a36e Author: Grant Likely Date: Thu Oct 4 10:48:37 2007 -0600 [POWERPC] XilinxFB: add of_platform bus binding Adds the of_platform bus binding to the xilinxfb driver. Needed to use framebuffer devices described in the OF device tree (used by arch/powerpc). Signed-off-by: Grant Likely Acked-by: Andrei Konovalov commit 47473e31585032e5c048eeec50e0f9165890230a Author: Grant Likely Date: Thu Oct 4 10:48:37 2007 -0600 [POWERPC] XilinxFB: cleanup platform_bus binding to use platform bus API. Change the platform bus binding to make use of the established platform_bus API. Signed-off-by: Grant Likely Acked-by: Andrei Konovalov commit 264776224d3bb0cd80bc0ec11a769e05a58f8c6b Author: Grant Likely Date: Thu Oct 4 10:48:37 2007 -0600 [POWERPC] XilinxFB: Split device setup from bus binding Split the device setup code away from the platform bus binding. This is in preparation for adding the of_platform bus binding to this driver and most of the setup code is common between the two busses. Signed-off-by: Grant Likely Acked-by: Andrei Konovalov commit 3fb99ce4e2748dafe3f10dba2932f0d13f577623 Author: Grant Likely Date: Thu Oct 4 10:48:37 2007 -0600 [POWERPC] XilinxFB: rename failout labels to reflect failure Labels and gotos are used in xilinxfb_assign to unwind allocations on device registration failures. Rename the labels to reflect the error which occured. This change is being made to make it easier to add new failout paths (which occurs in a subsuquent patch) and to make reviewing the failout path easier. Signed-off-by: Grant Likely Acked-by: Andrei Konovalov commit 3cb3ec2c26473d8123a468abfaca1e926344b1c2 Author: Grant Likely Date: Thu Oct 4 10:48:36 2007 -0600 [POWERPC] XilinxFB: Replace calls to printk with dev_dbg, dev_err, etc. The dev_dbg, dev_err, etc functions provide more context that plain vanilla printk which is useful for debugging. Where appropriate, change printk calls to the appropriate dev_*() call. Signed-off-by: Grant Likely Acked-by: Andrei Konovalov commit 258de4badd5b7b5d168307638f755bd4df16c18e Author: Grant Likely Date: Thu Oct 4 10:48:36 2007 -0600 [POWERPC] XilinxFB: add banner output to probe routine when DEBUG is defined Debug support: when DEBUG is defined, output relevant details to the log about the framebuffer registration. Signed-off-by: Grant Likely Acked-by: Andrei Konovalov commit 5e7fc436426b1f9e106f511a049de91c82ec2c53 Author: J. Bruce Fields Date: Tue Oct 2 14:18:12 2007 -0400 nfsd: remove IS_ISMNDLCK macro This macro is only used in one place; in this place it seems simpler to put open-code it and move the comment to where it's used. Signed-off-by: J. Bruce Fields commit 7f8ada98d9edd83d6ebd01e431e15b024a4a3dc4 Author: Pavel Emelyanov Date: Mon Oct 1 14:41:15 2007 -0700 Rework /proc/locks via seq_files and seq_list helpers Currently /proc/locks is shown with a proc_read function, but its behavior is rather complex as it has to manually handle current offset and buffer length. On the other hand, files that show objects from lists can be easily reimplemented using the sequential files and the seq_list_XXX() helpers. This saves (as usually) 16 lines of code and more than 200 from the .text section. [akpm@linux-foundation.org: no externs in C] [akpm@linux-foundation.org: warning fixes] Signed-off-by: Pavel Emelyanov Cc: "J. Bruce Fields" Cc: Trond Myklebust Signed-off-by: Andrew Morton commit 094f2825218fec1b240cb8537d2d0a10edf5ddc9 Author: Matthias Kaehlcke Date: Tue Oct 2 11:21:34 2007 -0700 fs/locks.c: use list_for_each_entry() instead of list_for_each() fs/locks.c: use list_for_each_entry() instead of list_for_each() in posix_locks_deadlock() and get_locks_status() Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton commit dfad9441be82f1eadc3fa3f1bbc93f93d48d1bdf Author: Pavel Emelyanov Date: Mon Oct 1 14:41:15 2007 -0700 NFS: clean up explicit check for mandatory locks The __mandatory_lock(inode) macro makes the same check, but makes the code more readable. Signed-off-by: Pavel Emelyanov Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton commit fc5846e555177c2ae01bcded7fddf60cb10dcfd0 Author: Pavel Emelyanov Date: Mon Oct 1 14:41:14 2007 -0700 AFS: clean up explicit check for mandatory locks The __mandatory_lock(inode) macro makes the same check, but makes the code more readable. Signed-off-by: Pavel Emelyanov Cc: David Howells Signed-off-by: Andrew Morton commit 66abe5f257e719547744fdb8691cf5d20603f051 Author: Pavel Emelyanov Date: Mon Oct 1 14:41:13 2007 -0700 9PFS: clean up explicit check for mandatory locks The __mandatory_lock(inode) macro makes the same check, but makes the code more readable. Signed-off-by: Pavel Emelyanov Cc: Eric Van Hensbergen Cc: Ron Minnich Cc: Latchesar Ionkov Signed-off-by: Andrew Morton commit 7afaac6202782ec28f2039503bdaef666834d60c Author: Pavel Emelyanov Date: Mon Oct 1 14:41:13 2007 -0700 GFS2: clean up explicit check for mandatory locks The __mandatory_lock(inode) function makes the same check, but makes the code more readable. Signed-off-by: Pavel Emelyanov Cc: Steven Whitehouse Signed-off-by: Andrew Morton commit a16877ca9cec211708a161057a7cbfbf2cbc3a53 Author: Pavel Emelyanov Date: Mon Oct 1 14:41:11 2007 -0700 Cleanup macros for distinguishing mandatory locks The combination of S_ISGID bit set and S_IXGRP bit unset is used to mark the inode as "mandatory lockable" and there's a macro for this check called MANDATORY_LOCK(inode). However, fs/locks.c and some filesystems still perform the explicit i_mode checking. Besides, Andrew pointed out, that this macro is buggy itself, as it dereferences the inode arg twice. Convert this macro into static inline function and switch its users to it, making the code shorter and more readable. The __mandatory_lock() helper is to be used in places where the IS_MANDLOCK() for superblock is already known to be true. Signed-off-by: Pavel Emelyanov Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: David Howells Cc: Eric Van Hensbergen Cc: Ron Minnich Cc: Latchesar Ionkov Cc: Steven Whitehouse Signed-off-by: Andrew Morton commit 98257af5a2ad0c5b502ebd07094d9fd8ce87acef Author: J. Bruce Fields Date: Sun Sep 30 22:18:55 2007 -0400 Documentation: move locks.txt in filesystems/ This documentation (about file locking) belongs in filesystems/. Signed-off-by: J. Bruce Fields commit 9efa68ed079af97f4e9477eadef567ffe64f7afc Author: J. Bruce Fields Date: Tue Sep 25 11:57:19 2007 -0400 locks: add warning about mandatory locking races The mandatory file locking implementation has long-standing races that probably render it useless. I know of no plans to fix them. Till we do, we should at least warn people. Signed-off-by: J. Bruce Fields commit 4f3b19ca41fbe572e3d44caf516c215b286fe2a6 Author: J. Bruce Fields Date: Mon Sep 24 18:52:09 2007 -0400 Documentation: move mandatory locking documentation to filesystems/ Shouldn't this mandatory-locking documentation be in the Documentation/filesystems directory? Give it a more descriptive name while we're at it, and update 00-INDEX with a more inclusive description of Documentation/filesystems (which has already talked about more than just individual filesystems). Signed-off-by: J. Bruce Fields Acked-by: Randy Dunlap commit 85c59580b30c82aa771aa33b37217a6b6851bc14 Author: Pavel Emelyanov Date: Thu Sep 20 12:45:02 2007 +0400 locks: Fix potential OOPS in generic_setlease() This code is run under lock_kernel(), which is dropped during sleeping operations, so the following race is possible: CPU1: CPU2: vfs_setlease(); vfs_setlease(); lock_kernel(); lock_kernel(); /* spin */ generic_setlease(): ... for (before = ...) /* here we found some lease after * which we will insert the new one */ fl = locks_alloc_lock(); /* go to sleep in this allocation and * drop the BKL */ generic_setlease(): ... for (before = ...) /* here we find the "before" pointing * at the one we found on CPU1 */ ->fl_change(my_before, arg); lease_modify(); locks_free_lock(); /* and we freed it */ ... unlock_kernel(); locks_insert_lock(before, fl); /* OOPS! We have just tried to add the lease * at the tail of already removed one */ The similar races are already handled in other code - all the allocations are performed before any checks/updates. Thanks to Kamalesh Babulal for testing and for a bug report on an earlier version. Signed-off-by: Pavel Emelyanov Signed-off-by: J. Bruce Fields Cc: Kamalesh Babulal commit f0c1cd0eaf0b127356c2c09e40305453bc361b0f Author: Pavel Emelyanov Date: Wed Sep 19 16:44:07 2007 +0400 Use list_first_entry in locks_wake_up_blocks This routine deletes all the elements from the list with the "while (!list_empty())" loop, and we already have a list_first_entry() macro to help it look nicer :) Signed-off-by: Pavel Emelyanov commit 02888f41e9d7fa95d1f5b2f76e0f0af6ea8198cc Author: J. Bruce Fields Date: Wed Sep 12 15:45:07 2007 -0400 locks: fix flock_lock_file() comment This comment wasn't updated when lease support was added, and it makes essentially the same mistake that the code made before a recent bugfix. Signed-off-by: J. Bruce Fields commit 84d535ade62b6f8ce852745731ad6200c46b977c Author: Pavel Emelyanov Date: Tue Sep 11 16:38:13 2007 +0400 Memory shortage can result in inconsistent flocks state When the flock_lock_file() is called to change the flock from F_RDLCK to F_WRLCK or vice versa the existing flock can be removed without appropriate warning. Look: for_each_lock(inode, before) { struct file_lock *fl = *before; if (IS_POSIX(fl)) break; if (IS_LEASE(fl)) continue; if (filp != fl->fl_file) continue; if (request->fl_type == fl->fl_type) goto out; found = 1; locks_delete_lock(before); <<<<<< ! break; } if after this point the subsequent locks_alloc_lock() will fail the return code will be -ENOMEM, but the existing lock is already removed. This is a known feature that such "re-locking" is not atomic, but in the racy case the file should stay locked (although by some other process), but in this case the file will be unlocked. The proposal is to prepare the lock in advance keeping no chance to fail in the future code. Found during making the flocks pid-namespaces aware. (Note: Thanks to Reuben Farrelly for finding a bug in an earlier version of this patch.) Signed-off-by: Pavel Emelyanov Signed-off-by: J. Bruce Fields Cc: Reuben Farrelly commit 526985b9dd6ef7716b87f5fe6f0e2438ea3a89c7 Author: J. Bruce Fields Date: Tue Nov 14 16:54:36 2006 -0500 locks: kill redundant local variable There's no need for another variable local to this loop; we can use the variable (of the same name!) already declared at the top of the function, and not used till later (at which point it's initialized, so this is safe). Signed-off-by: J. Bruce Fields commit b842e240f27678aa5d71611cddc8d17a93fb0caf Author: J. Bruce Fields Date: Thu May 10 19:02:07 2007 -0400 locks: reverse order of posix_locks_conflict() arguments The first argument to posix_locks_conflict() is meant to be a lock request, and the second a lock from an inode's lock request. It doesn't really make a difference which order you call them in, since the only asymmetric test in posix_lock_conflict() is the check whether the second argument is a posix lock--and every caller already does that check for some reason. But may as well fix posix_test_lock() to call posix_locks_conflict() with the arguments in the same order as everywhere else. Signed-off-by: "J. Bruce Fields" commit a16e92edcd0a2846455a30823e1bac964e743baa Author: J. Bruce Fields Date: Fri Sep 28 16:45:51 2007 -0400 knfsd: query filesystem for NFSv4 getattr of FATTR4_MAXNAME Without this we always return 2^32-1 as the the maximum namelength. Thanks to Andreas Gruenbacher for bug report and testing. Signed-off-by: J. Bruce Fields Cc: Andreas Gruenbacher commit cfdcad4da1903720b9b8c1f176e46a0ebf546be3 Author: J. Bruce Fields Date: Wed Sep 12 20:35:15 2007 -0400 knfsd: nfsv4 delegation recall should take reference on client It's not enough to take a reference on the delegation object itself; we need to ensure that the rpc_client won't go away just as we're about to make an rpc call. Signed-off-by: J. Bruce Fields commit 1b1a9b3163a83f52ea2ac333846d4dfd2c4edd90 Author: J. Bruce Fields Date: Wed Sep 12 08:43:59 2007 -0400 knfsd: don't shutdown callbacks until nfsv4 client is freed If a callback still holds a reference on the client, then it may be about to perform an rpc call, so it isn't safe to call rpc_shutdown(). (Though rpc_shutdown() does wait for any outstanding rpc's, it can't know if a new rpc is about to be issued with that client.) So, wait to shutdown the rpc_client until the reference count on the client has gone to zero. Signed-off-by: J. Bruce Fields commit 0272e1fd9f4fa8a43357c168e081744f99e67195 Author: J. Bruce Fields Date: Wed Sep 12 18:56:12 2007 -0400 knfsd: let nfsd manage timing out its own leases Currently there's a race that can cause an oops in generic_setlease. (In detail: nfsd, when it removes a lease, does so by calling vfs_setlease() with F_UNLCK and a pointer to the fl_flock field, which in turn points to nfsd's existing lease; but the first thing the setlease code does is call time_out_leases(). If the lease happens to already be beyond the lease break time, that will free the lease and (in nfsd's release_private callback) set fl_flock to NULL, leading to a NULL deference soon after in vfs_setlease().) There are probably other things to fix here too, but it seems inherently racy to allow either locks.c or nfsd to time out this lease. Instead just set the fl_break_time to 0 (preventing locks.c from ever timing out this lock) and leave it up to nfsd's laundromat thread to deal with it. Signed-off-by: J. Bruce Fields commit 354ecbb9dd89c21708b319da8c4ffd3dd6e6811d Author: Dr. David Alan Gilbert Date: Sat Aug 25 16:09:27 2007 +0100 knfsd: Add source address to sunrpc svc errors This patch adds the address of the client that caused an error in sunrpc/svc.c so that you get errors that look like: svc: 192.168.66.28, port=709: unknown version (3 for prog 100003, nfsd) I've seen machines which get bunches of unknown version or similar errors from time to time, and while the recent patch to add the service helps to find which service has the wrong version it doesn't help find the potentially bad client. The patch is against a checkout of Linus's git tree made on 2007-08-24. One observation is that the svc_print_addr function prints to a buffer which in this case makes life a little more complex; it just feels as if there must be lots of places that print a connection address - is there a better function to use anywhere? I think actually there are a few places with semi duplicated code; e.g. one_sock_name switches on the address family but only currently has IPV4; I wonder how many other places are similar. Signed-off-by: Dave Gilbert Cc: Randy Dunlap Signed-off-by: J. Bruce Fields Acked-by: Neil Brown commit 40ee5dc6af351c1b3de245abed4bd8e6a4a5646a Author: Peter Staubach Date: Thu Aug 16 12:10:07 2007 -0400 knfsd: 64 bit ino support for NFS server Modify the NFS server code to support 64 bit ino's, as appropriate for the system and the NFS protocol version. The gist of the changes is to query the underlying file system for attributes and not just to use the cached attributes in the inode. For this specific purpose, the inode only contains an ino field which unsigned long, which is large enough on 64 bit platforms, but is not large enough on 32 bit platforms. I haven't been able to find any reason why ->getattr can't be called while i_mutex. The specification indicates that i_mutex is not required to be held in order to invoke ->getattr, but it doesn't say that i_mutex can't be held while invoking ->getattr. I also haven't come to any conclusions regarding the value of lease_get_mtime() and whether it should or should not be invoked by fill_post_wcc() too. I chose not to change this because I thought that it was safer to leave well enough alone. If we decide to make a change, it can be done separately. Signed-off-by: Peter Staubach Signed-off-by: J. Bruce Fields Acked-by: Neil Brown commit 21fcd02be34f73bbc94db267b4db6ccd7332923d Author: J. Bruce Fields Date: Thu Aug 9 20:16:22 2007 -0400 svcgss: move init code into separate function We've let svcauth_gss_accept() get much too long and hairy. The RPC_GSS_PROC_INIT and RPC_GSS_PROC_CONTINUE_INIT cases share very little with the other cases, so it's very natural to split them off into a separate function. This will also nicely isolate the piece of code we need to parametrize to authenticating gss-protected NFSv4 callbacks on behalf of the NFS client. Signed-off-by: J. Bruce Fields Acked-by: Neil Brown commit c175b83c4c4be72535c5c12abc155e29a08323a0 Author: J. Bruce Fields Date: Thu Aug 9 18:34:32 2007 -0400 knfsd: remove code duplication in nfsd4_setclientid() Each branch of this if-then-else has a bunch of duplicated code that we could just put at the end. Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown commit 246d95ba051101e515670a1cbe2907a88d360b88 Author: Andrew Morton Date: Thu Aug 9 00:53:50 2007 -0700 nfsd warning fix fs/nfsd/nfsctl.c: In function 'write_filehandle': fs/nfsd/nfsctl.c:301: warning: 'maxsize' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown commit dd4877bfb6f09cb4a294b459b354c8fc8fa66904 Author: J. Bruce Fields Date: Tue Oct 24 18:33:17 2006 -0400 knfsd: fix callback rpc cred It doesn't make sense to make the callback with credentials that the client made the setclientid with. Instead the spec requires that the callback occur with the credentials the client authenticated *to*. It probably doesn't matter what we use for auth_unix, and some more infrastructure will be needed for auth_gss, so let's just remove the cred lookup for now. Signed-off-by: J. Bruce Fields Acked-by: Neil Brown commit e8ff2a8453cedf38d6d7a0528cb9c308066a3e3e Author: J. Bruce Fields Date: Wed Aug 1 15:30:59 2007 -0400 knfsd: move nfsv4 slab creation/destruction to module init/exit We have some slabs that the nfs4 server uses to store state objects. We're currently creating and destroying those slabs whenever the server is brought up or down. That seems excessive; may as well just do that in module initialization and exit. Also add some minor header cleanup. (Thanks to Andrew Morton for that and a compile fix.) Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown commit 2b47eece1fa519a81c8b802af77a8b8aa44baa10 Author: J. Bruce Fields Date: Fri Jul 27 18:06:50 2007 -0400 knfsd: spawn kernel thread to probe callback channel We want to allow gss on the callback channel, so people using krb5 can still get the benefits of delegations. But looking up the rpc credential can take some time in that case. And we shouldn't delay the response to setclientid_confirm while we wait. It may be inefficient, but for now the simplest solution is just to spawn a new thread as necessary for the purpose. (Thanks to Adrian Bunk for catching a missing static here.) Signed-off-by: "J. Bruce Fields" Cc: Adrian Bunk commit c9b6cbe56d3ac471e6cd72a59ec9e324b3417016 Author: J. Bruce Fields Date: Fri Jul 27 16:36:45 2007 -0400 knfsd: nfs4 name->id mapping not correctly parsing negative downcall Note that qword_get() returns length or -1, not an -ERROR. Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown commit 2fdada03b3876ab9f84ede160f187e888cafefb4 Author: J. Bruce Fields Date: Fri Jul 27 16:10:37 2007 -0400 knfsd: demote some printk()s to dprintk()s To quote a recent mail from Andrew Morton: Look: if there's a way in which an unprivileged user can trigger a printk we fix it, end of story. OK. I assume that goes double for printk()s that might be triggered by random hosts on the internet. So, disable some printk()s that look like they could be triggered by malfunctioning or malicious clients. For now, just downgrade them to dprintk()s. Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown commit 599e0a2290b22d959c7748bda83da3614187a299 Author: J. Bruce Fields Date: Thu Jul 26 17:04:54 2007 -0400 knfsd: cleanup of nfsd4 cmp_* functions Benny Halevy suggested renaming cmp_* to same_* to make the meaning of the return value clearer. Fix some nearby style deviations while we're at it, including a small swath of creative indentation in nfs4_preprocess_seqid_op(). Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown commit 3b398f0ef8db6a9bb431474afd871f4295203d2d Author: J. Bruce Fields Date: Tue Jul 24 21:38:18 2007 -0400 knfsd: delete code made redundant by map_new_errors I moved this check into map_new_errors, but forgot to delete the original. Oops. Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown commit 9c85fca56b569dfba1f10ae12ce425c0e678df83 Author: Christoph Hellwig Date: Wed Mar 7 15:26:25 2007 +0000 nfsd: fix horrible indentation in nfsd_setattr Signed-off-by: Christoph Hellwig Signed-off-by: J. Bruce Fields Acked-by: Neil Brown commit dca1dd30ce0a6234acc751bb90efba1b49079669 Author: J. Bruce Fields Date: Thu Jul 12 15:30:32 2007 -0400 nfsd: remove unused cache_for_each macro This macro is unused. Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown commit 45457e0916f8253691a44d3574949b6d3d5872b1 Author: J. Bruce Fields Date: Fri Jun 22 17:26:32 2007 -0400 nfsd: tone down inaccurate dprintk The nfserr_dropit happens routinely on upcalls (so a kmalloc failure is almost never the actual cause), but I occasionally get a complant from some tester that's worried because they ran across this message after turning on debugging to research some unrelated problem. Signed-off-by: "J. Bruce Fields" Acked-by: Neil Brown commit f43bf0bebed7c33b698a8a25f95812f9e87c3843 Author: Trond Myklebust Date: Tue Oct 9 12:01:04 2007 -0400 NFS: Add a boot parameter to disable 64 bit inode numbers This boot parameter will allow legacy 32-bit applications which call stat() to continue to function even if the NFSv3/v4 server uses 64-bit inode numbers. Signed-off-by: Trond Myklebust commit 2a3f5fd45938bd86ce8faf4cb26be4f7e9ae2941 Author: Trond Myklebust Date: Mon Oct 8 14:26:13 2007 -0400 NFS: nfs_refresh_inode should clear cache_validity flags on success If the cached attributes match the ones supplied in the fattr, then assume we've revalidated the inode. Signed-off-by: Trond Myklebust commit 40d24704091c8a29a4c99d25670f1996749aea6f Author: Trond Myklebust Date: Mon Oct 8 09:24:22 2007 -0400 NFS: Fix a connectathon regression in NFSv3 and NFSv4 We're failing basic test6 against Linux servers because they lack a correct change attribute. The fix is to assume that we always want to invalidate the readdir caches when we call update_changeattr and/or nfs_post_op_update_inode on a directory. Signed-off-by: Trond Myklebust commit 9e08a3c5aec5b745e844328bcbc16458b6118faf Author: Trond Myklebust Date: Mon Oct 8 14:10:31 2007 -0400 NFS: Use nfs_refresh_inode() in ops that aren't expected to change the inode nfs_post_op_update_inode() is really only meant to be used if we expect the inode and its attributes to have changed in some way. Signed-off-by: Trond Myklebust commit 220bcc2afd7011b3e0569fc178331fa983c92c1b Author: Trond Myklebust Date: Mon Oct 1 12:06:48 2007 -0400 SUNRPC: Don't call xprt_release in call refresh Call it from call_verify() instead... Signed-off-by: Trond Myklebust commit b6e9c713f5c526a85893c6e0ab1d5d6c6f1ab479 Author: Trond Myklebust Date: Mon Oct 1 12:06:44 2007 -0400 SUNRPC: Don't call xprt_release() if call_allocate fails It completely fouls up the RPC call statistics, and serves no useful purpose. Signed-off-by: Trond Myklebust commit 2199700f1d660494d2552278354422c51becb686 Author: Trond Myklebust Date: Mon Oct 1 11:43:37 2007 -0400 SUNRPC: Fix buggy UDP transmission xs_sendpages() may return a negative result. We sure as hell don't want to add that to the 'tk_bytes_sent' tally... Signed-off-by: Trond Myklebust commit 58eaab93376cb524fd0f1531a56902d2b3eaa619 Author: Jesper Juhl Date: Sat Jul 21 17:03:28 2007 +0200 [23/37] Clean up duplicate includes in Hi, This patch cleans up duplicate includes in include/linux/nfs_fs.h Signed-off-by: Jesper Juhl Signed-off-by: Trond Myklebust commit 7f4adeff6fa32ff46f148110c4f08130175c8da8 Author: Adrian Bunk Date: Wed Jun 13 01:03:13 2007 +0200 [2.6 patch] net/sunrpc/rpcb_clnt.c: make struct rpcb_program static This patch makes the needlessly global struct rpcb_program static. Signed-off-by: Adrian Bunk Signed-off-by: Trond Myklebust commit 67f97d83bfcca9d9f8fbeeb14e7c644a82b24e12 Author: Chuck Lever Date: Wed Sep 26 14:38:10 2007 -0400 SUNRPC: Use correct type in buffer length calculations Use correct type signage in gss_krb5_remove_padding() when doing length calculations. Both xdr_buf.len and iov.iov_len are size_t, which is unsigned; so use an unsigned type for our temporary length variable to ensure we don't overflow it.. Signed-off-by: Chuck Lever Signed-off-by: "J. Bruce Fields" Signed-off-by: Trond Myklebust commit afde94f398b62c8596a8d0cbfc25798f0b52a371 Author: J. Bruce Fields Date: Wed Sep 26 14:38:08 2007 -0400 SUNRPC: Fix default hostname created in rpc_create() Since 43780b87fa7..., rpc_create() fills in a default hostname based on the ip address if the servername passed in is null. A small typo made that default incorrect. (But this information appears to be used only for debugging right now, so I don't believe the typo causes any bugs in the current kernel.) Thanks to Olga Kornievskaia for bug report and testing. Signed-off-by: J. Bruce Fields Cc: Olga Kornievskaia Cc: Chuck Lever Signed-off-by: Trond Myklebust commit bf19aacecbeebccb2c3d150a8bd9416b7dba81fe Author: J. Bruce Fields Date: Wed Sep 26 14:38:09 2007 -0400 nfs: add server port to rpc_pipe info file On the client, when an alternate server port is specified on the mount commandline, we need to make sure gssd knows about it. Also, on the server side, when we're sending krb5 callbacks to the client, we'll use the same mechanism to let gssd know about the callback port. Thanks to Olga Kornievskaia for testing and for an earlier implementation. Signed-off-by: "J. Bruce Fields" Cc: Olga Kornievskaia Signed-off-by: Trond Myklebust commit c7c209730d635226b81e9aeae63b6dc8f445569f Author: Trond Myklebust Date: Fri Sep 28 19:22:40 2007 -0400 NFS: Get rid of some obsolete macros - NFS_READTIME, NFS_CHANGE_ATTR are completely unused. - Inline the few remaining uses of NFS_ATTRTIMEO, and remove. Signed-off-by: Trond Myklebust commit 4f48af45842c6e78ab958c90344d3c940db4da15 Author: Trond Myklebust Date: Tue Oct 2 23:13:32 2007 -0400 NFS: Simplify filehandle revalidation Signed-off-by: Trond Myklebust commit 9697d2342e1a480bc14921c52f185c2fe01016e7 Author: Trond Myklebust Date: Tue Oct 2 21:58:05 2007 -0400 NFS: Ensure that nfs_link() returns a hashed dentry Signed-off-by: Trond Myklebust commit a12802cab8520f86c9a80bbf87d10ee6171687d1 Author: Trond Myklebust Date: Tue Oct 2 19:13:04 2007 -0400 NFS: Be strict about dentry revalidation when doing exclusive create Signed-off-by: Trond Myklebust commit b050aa791fad6b060d6ff59305f01289e18b058c Author: Trond Myklebust Date: Tue Oct 2 19:02:07 2007 -0400 NFS: Don't zap the readdir caches upon error If necessary, the caches will get zapped under normal revalidation. Signed-off-by: Trond Myklebust commit efbb06b7f98a154ef51ad41674548af5cc1fd005 Author: Trond Myklebust Date: Tue Oct 2 17:11:54 2007 -0400 NFS: Remove the redundant nfs_reval_fsid() Signed-off-by: Trond Myklebust commit 81c768808c78283e1b4ed4cd2cad2571294b2090 Author: Trond Myklebust Date: Tue Oct 2 10:30:00 2007 -0400 NFSv3: Always use directory post-op attributes in nfs3_proc_lookup LOOKUP returns the directory post-op attributes whether or not the operation was successful. Signed-off-by: Trond Myklebust commit d75340cc4de5c187fbf0bba234309ca86cf0a2fb Author: Trond Myklebust Date: Mon Oct 1 21:42:01 2007 -0400 NFSv4: Fix nfs_atomic_open() to set the verifier on negative dentries too Signed-off-by: Trond Myklebust commit 216d5d06883edfaf992ada0d72a2a22fdfdbd296 Author: Trond Myklebust Date: Mon Oct 1 20:10:12 2007 -0400 NFSv4: Use NFSv2/v3 rules for negative dentries in nfs_open_revalidate Signed-off-by: Trond Myklebust commit 0a5ebc148879be68acdb12fbe72b65cb88c410d9 Author: Trond Myklebust Date: Tue Oct 2 12:57:24 2007 -0400 NFSv4: Don't revalidate the directory in nfs_atomic_lookup() Why bother, since the call to nfs4_atomic_open() will do it for us. Signed-off-by: Trond Myklebust commit f2c77f4e62a2290ae46b5b0449eb72d72afe691e Author: Trond Myklebust Date: Tue Oct 2 12:54:39 2007 -0400 NFS: Optimise nfs_lookup_revalidate() We don't need to call nfs_revalidate_inode() on the directory if we already know that the verifiers don't match. Signed-off-by: Trond Myklebust commit 6d2b2966869142660f46d1e06cf9d15c3debcf77 Author: Trond Myklebust Date: Mon Oct 1 18:57:50 2007 -0400 NFS: Reset nfsi->last_updated only if the attribute changed Otherwise set it to nfsi->read_cache_jiffies in order to prevent jiffy wraparound issues. Signed-off-by: Trond Myklebust commit 60ccd4ec4170c9487e3792322626acd160197bce Author: Trond Myklebust Date: Sat Sep 29 17:48:19 2007 -0400 NFS: Remove nfs_begin_data_update/nfs_end_data_update The lower level routines in fs/nfs/proc.c, fs/nfs/nfs3proc.c and fs/nfs/nfs4proc.c should already be dealing with the revalidation issues. Signed-off-by: Trond Myklebust commit 80eb209def76d375677840800eb838abce1e6639 Author: Trond Myklebust Date: Sat Sep 29 17:34:46 2007 -0400 NFS: Remove NFS_I(inode)->data_updates We have no more users... Signed-off-by: Trond Myklebust commit a1643a92f6de92074116922a2d2906dd33499ff4 Author: Trond Myklebust Date: Sat Sep 29 17:25:43 2007 -0400 NFS: NFS_CACHEINV() should not test for nfs_caches_unstable() The fact that we're in the process of modifying the inode does not mean that we should not invalidate the attribute and data caches. The defensive thing is to always invalidate when we're confronted with inode mtime/ctime or change_attribute updates that we do not immediately recognise. Signed-off-by: Trond Myklebust commit 3258b4fa552c4f994b5e6490a8ad88f5d7e0e648 Author: Trond Myklebust Date: Mon Oct 1 13:54:51 2007 -0400 NFS: Remove bogus nfs_mark_for_revalidate() in nfs_lookup The parent of the newly materialised dentry has just been revalidated... Signed-off-by: Trond Myklebust commit cf8ba45e0554f1c8838fcfe43a93114f177af839 Author: Trond Myklebust Date: Mon Oct 1 13:46:53 2007 -0400 NFS: don't cache the verifer across ->lookup() calls If the ->lookup() call causes the directory verifier to change, then there is still no need to use the old verifier, since our dentry has been verified. Signed-off-by: Trond Myklebust commit f38211100d4823be530577dc3452f838861222ec Author: Trond Myklebust Date: Mon Oct 1 10:00:23 2007 -0400 NFS: nfs_mark_for_revalidate don't update cache_change_attribute Just let the subsequent inode revalidation do the update... Signed-off-by: Trond Myklebust commit 7668fdbe9aaeab705d1169ac86d0d18a12906d06 Author: Trond Myklebust Date: Mon Oct 1 09:59:15 2007 -0400 NFS: nfs_post_op_update_inode don't update cache_change_attribute If nfs_post_op_update_inode fails because the server didn't return any attributes, then we let the subsequent inode revalidation update cache_change_attribute. Signed-off-by: Trond Myklebust commit 12b373ebf05485d4937dd63a00c16f8efeaa79ba Author: Trond Myklebust Date: Mon Oct 1 09:56:59 2007 -0400 NFS: Don't revalidate dentries on directory size or ctime changes We only need to look at the mtime changes... Signed-off-by: Trond Myklebust commit 2f78e4313afd34a4ded591ec5687843113fbaa01 Author: Trond Myklebust Date: Sun Sep 30 15:31:19 2007 -0400 NFS: Don't set cache_change_attribute in nfs_revalidate_mapping The attribute revalidation code will already have taken care of resetting nfsi->cache_change_attribute. Signed-off-by: Trond Myklebust commit 446e534985bada0ad7451c08cf213c06695f9b67 Author: Trond Myklebust Date: Wed Oct 3 15:58:38 2007 -0400 NFS: Fix a bug in nfs_open_revalidate() We want to set the verifier when the call to nfs4_open_revalidate() _succeeds_. Signed-off-by: Trond Myklebust commit d4d9cdcb470784df76304f75d0ce88f20f15fa6a Author: Trond Myklebust Date: Tue Oct 2 18:38:53 2007 -0400 NFS: Don't hash the negative dentry when optimising for an O_EXCL open We don't want to leave an unverified hashed negative dentry if the exclusive create fails to complete. Signed-off-by: Trond Myklebust commit 5724ab37872042176916441930e78fd353be1e5e Author: Trond Myklebust Date: Mon Oct 1 21:51:38 2007 -0400 NFS: nfs_instantiate() should set the dentry verifier That will also allow us to remove the calls in mknod and mkdir. In addition it will ensure that symlinks set it correctly. Signed-off-by: Trond Myklebust commit fab728e156b3cbfe31f05d6e7cdebe3d5eaff878 Author: Trond Myklebust Date: Sat Sep 29 17:41:33 2007 -0400 NFS: Ensure nfs_instantiate() invalidates the parent dir on error Also ensure that it drops the dentry in this case. Signed-off-by: Trond Myklebust commit 4b841736bc16b320bcdb1e8ece585b3ced9a8811 Author: Trond Myklebust Date: Sat Sep 29 17:15:01 2007 -0400 NFS: Fix nfs_verify_change_attribute() We don't care about whether or not some other process on our client is changing the directory while we're in nfs_lookup_revalidate(), because the dcache will take care of ensuring local atomicity. We can therefore remove the test for nfs_caches_unstable(). Signed-off-by: Trond Myklebust commit 8edb01828837302055a8f0afddb2256659480bc5 Author: Trond Myklebust Date: Sat Sep 29 17:14:03 2007 -0400 NFS: Fix the sign of the return value of nfs_save_change_attribute() Also fix up the comments. Signed-off-by: Trond Myklebust commit 70ca88521fc7bee8ef0fc22033a439d4b9a2c70d Author: Trond Myklebust Date: Sun Sep 30 15:21:24 2007 -0400 NFS: Fake up 'wcc' attributes to prevent cache invalidation after write NFSv2 and v4 don't offer weak cache consistency attributes on WRITE calls. In NFSv3, returning wcc data is optional. In all cases, we want to prevent the client from invalidating our cached data whenever ->write_done() attempts to update the inode attributes. Signed-off-by: Trond Myklebust commit b64e8a5ef758888cb42b7c105dcfaaf51aab1baf Author: Trond Myklebust Date: Sun Sep 30 15:13:17 2007 -0400 NFS: Remove bogus check of cache_change_attribute in nfs_update_inode Remove the bogus 'data_stable' check in nfs_update_inode. The cache_change_attribute tells you if the directory changed on the server, and should have nothing to do with the file length. Signed-off-by: Trond Myklebust commit 7fdc49c4e49ba926348f71844cda7f5e12709738 Author: Trond Myklebust Date: Fri Sep 28 19:11:33 2007 -0400 NFS: Fix the ESTALE "revalidation" in _nfs_revalidate_inode() For one thing, the test NFS_ATTRTIMEO() == 0 makes no sense: we're testing whether or not the cache timeout length is zero, which is totally unrelated to the issue of whether or not we trust the file staleness. Secondly, we do not want to retry the GETATTR once a file has been declared stale by the server: we rather want to discard that inode as soon as possible, since there are broken servers still in use out there that reuse filehandles on new files. Signed-off-by: Trond Myklebust commit 8850df999cd16aa141098e2e8be04a590276f3cc Author: Trond Myklebust Date: Fri Sep 28 17:20:07 2007 -0400 NFS: Fix atime revalidation in read() NFSv3 will correctly update atime on a read() call, so there is no need to set the NFS_INO_INVALID_ATIME flag unless the call to nfs_refresh_inode() fails. Signed-off-by: Trond Myklebust commit c4812998398d9cbce8646494704c52297359ede0 Author: Trond Myklebust Date: Fri Sep 28 17:11:45 2007 -0400 NFS: Fix atime revalidation in readdir() NFSv3 will correctly update atime on a readdir call, so there is no need to set the NFS_INO_INVALID_ATIME flag unless the call to nfs_refresh_inode() fails. Signed-off-by: Trond Myklebust commit 57fa76f2da05d0fee597b26bbc1f05242252beab Author: Trond Myklebust Date: Sun Sep 30 18:01:13 2007 -0400 NFS: Don't use readdirplus data if the page cache is invalid Signed-off-by: Trond Myklebust commit 47aabaa7e45385fee4a535a6f6e523ff944e1684 Author: Trond Myklebust Date: Thu Sep 27 15:57:24 2007 -0400 NFSv4: Don't use ctime/mtime for determining when to invalidate the caches In NFSv4 we should only be looking at the change attribute. Signed-off-by: Trond Myklebust commit 17cadc95372e28024be0874e67329c1862912c5d Author: Trond Myklebust Date: Thu Sep 27 10:07:31 2007 -0400 NFS: Don't force a dcache revalidation if nfs_wcc_update_inode succeeds The reason is that if the weak cache consistency update was successful, then we know that our client must be the only one that changed the directory, and we've already updated the dcache to reflect the change. Signed-off-by: Trond Myklebust commit e323ea46d95d7f8c789effd1194dfc120284dbbd Author: Trond Myklebust Date: Sun Sep 30 17:03:25 2007 -0400 NFS: nfs_wcc_update_inode: directory caches are always invalidated We must ensure that the readdir data is always invalidated whether or not the weak cache consistency data update succeeds. Signed-off-by: Trond Myklebust commit 6ecc5e8fcad7ad64d68c098249359831331bd299 Author: Trond Myklebust Date: Fri Sep 28 14:20:33 2007 -0400 NFS: Fix dcache revalidation bugs We don't need to force a dentry lookup just because we're making changes to the directory. Don't update nfsi->cache_change_attribute in nfs_end_data_update: that overrides the NFSv3/v4 weak consistency checking that tells us our update was the only one, and that tells us the dcache is still valid. Signed-off-by: Trond Myklebust commit 7957c1418f4b6c66e28d4ac3c4d7a8c19d526c48 Author: Trond Myklebust Date: Fri Sep 28 14:20:12 2007 -0400 NFS: fix nfs_verify_change_attribute We always want to check that the verifier and directory cache_change_attribute match. This also allows us to remove the 'wraparound hack' for the cache_change_attribute. If we're only checking for equality, then we don't care about wraparound issues. Signed-off-by: Trond Myklebust commit 68e8a70d3cae23716f6b2b3872eba10eccea148c Author: Trond Myklebust Date: Wed Aug 15 12:59:12 2007 -0400 NFS: nfs_post_op_update_inode() should call nfs_refresh_inode() Ensure that we don't clobber the results from a more recent getattr call... Signed-off-by: Trond Myklebust commit f2115dc9877d480392e48e3c83bc8cbb4b418fee Author: Trond Myklebust Date: Wed Aug 15 12:49:17 2007 -0400 NFS: Fix over-conservative attribute invalidation in nfs_update_inode() We should always be declaring the attribute cache as valid after having updated it. Signed-off-by: Trond Myklebust commit 76b32999dfff6e59252a8af17a5671a4cf3bcf9b Author: Trond Myklebust Date: Fri Aug 10 17:45:11 2007 -0400 NFSv4: Make NFSv4 ACCESS calls return attributes too... It doesn't really make sense to cache an access call without also revalidating the attributes. Signed-off-by: Trond Myklebust commit af22f94ae02ab9dd4fd7fe628c8434a59cc293be Author: Trond Myklebust Date: Fri Aug 10 17:45:10 2007 -0400 NFSv4: Simplify _nfs4_do_access() Currently, _nfs4_do_access() is just a copy of nfs_do_access() with added conversion of the open flags into an access mask. This patch merges the duplicate functionality. Signed-off-by: Trond Myklebust commit cd3758e37ddea66fccca7d93c4b601e8a2e51926 Author: Trond Myklebust Date: Fri Aug 10 17:44:32 2007 -0400 NFS: Replace file->private_data with calls to nfs_file_open_context() Signed-off-by: Trond Myklebust commit c03025d55540bd648f2546659090140ecc835572 Author: Trond Myklebust Date: Fri Aug 10 17:44:28 2007 -0400 NFS: Add a helper to extract the nfs_open_context from a struct file Signed-off-by: Trond Myklebust commit 8fb559f87fee7f71dbf9a595095ad7d8e84c55e7 Author: Chuck Lever Date: Mon Sep 24 15:40:16 2007 -0400 NFS: Eliminate nfs_refresh_verifier() nfs_set_verifier() and nfs_refresh_verifier() do exactly the same thing, so replace one with the other. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 77a55a1fe8f26f7d022986a599b68002e21d968a Author: Chuck Lever Date: Mon Sep 24 15:40:11 2007 -0400 NFS: Eliminate nfs_renew_times() The nfs_renew_times() function plants the current time in jiffies in dentry->d_time. But a call to nfs_renew_times() is always followed by another call that overwrites dentry->d_time. Get rid of the nfs_renew_times() calls. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 92f6c178250170222f6d80c8ae725400765aa7a4 Author: Chuck Lever Date: Mon Sep 24 15:40:06 2007 -0400 NFS: Don't call nfs_renew_times() in nfs_dentry_iput() Negative dentries need to be reverified after an asynchronous unlink. Quoth Trond: "Unfortunately I don't think that we can avoid revalidating the resulting negative dentry since the UNLINK call is asynchronous, and so the new verifier on the directory will only be known a posteriori." Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 1321d8d971028e796978f6a48d195c09158b3bcd Author: Chuck Lever Date: Mon Sep 24 15:40:00 2007 -0400 SUNRPC: Fix bytes-per-op accounting for RPC over UDP NFS performance metrics reported zero bytes sent per op when mounting with UDP. The UDP socket transport wasn't properly counting the number of bytes sent. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit bcf35617a7c3474ad12892dfbb089a572e5c06d2 Author: Chuck Lever Date: Mon Sep 24 15:39:55 2007 -0400 NFS: Show "nointr" mount option The default "intr" setting is different for NFS and NFSv4. To avoid confusion on this issue, don't hide the "nointr" option in /proc/mounts. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 6e88e0618cb1e354a44cc49a996df4dd89511039 Author: Chuck Lever Date: Mon Sep 24 15:39:50 2007 -0400 NFS: Verify server address before invoking in-kernel mount client Re-order mount option sanity checking slightly to ensure we have a valid server address *before* trying to do the mountd RPC call. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 113632d00acb569420b14eb7575833ac7e2eb311 Author: \"Talpey, Thomas\ Date: Thu Sep 20 17:37:58 2007 -0400 SUNRPC: Add RDMA dependency to SUNRPC_XPRT_RDMA Add a dependency on RDMA before enabling SUNRPC_XPRT_RDMA Yes, "INFINIBAND" also turns on iWARP and other RDMA support. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit c56c65fb67d6461f6059dd83b1750a1973a91185 Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:51:18 2007 -0400 RPCRDMA: rpc rdma verbs interface implementation This implements the interface from rpcrdma to the RDMA verbs interface supported by Infniband and iWARP. Signed-off-by: Tom Talpey Signed-off-by: James Lentini Signed-off-by: Trond Myklebust commit e96018280cb36210f4c69663561825114a57e7e1 Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:50:42 2007 -0400 RPCRDMA: rpc rdma protocol implementation This implements the marshaling and unmarshaling of the rpcrdma transport headers. Connection management is also addressed. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit f58851e6b0f148fb4b2a1c6f70beb2f125863c0f Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:50:12 2007 -0400 RPCRDMA: rpc rdma transport switch This implements the configuration and building of the core transport switch implementation of the rpcrdma transport. Stubs are provided for the rpcrdma protocol handling, and the infiniband/iwarp verbs interface. These are provided in following patches. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 2cf7ff7a37cc149bd59c4f3bad432f686a4619c8 Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:49:41 2007 -0400 NFS: support RDMA mounts Adds hooks to the string-based NFS mount to support an "rdma" protocol option. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit c3a57ed7471a17b07844d531534d970b84b69faf Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:49:15 2007 -0400 RPCRDMA: Kconfig and header file with rpcrdma protocol definitions This file implements the configuration target, protocol template and constants for the rpcrdma transport framing, for use by the xprtrdma rpc transport implementation. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 56928edd5afb51d684c38c0bed56594e93ffe4c7 Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:48:47 2007 -0400 NFS - print accurate transport protocol Use the per-transport strings to display the transport protocol accurately. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 0896a725a1c5fdc8773a4d1ab0b73059507f5925 Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:48:23 2007 -0400 NFS/SUNRPC: use transport protocol naming Instead of an { address family, raw IP protocol number }-tuple, use the newly-defined RPC identifier when creating clients in the upper layers. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 4fa016eb248cac875541fa199af550a8aefa0e90 Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:47:57 2007 -0400 NFS/SUNRPC: support transport protocol naming To prepare for including non-sockets-based RPC transports, select RPC transports by an identifier (to be used in following patches). Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 49c36fcc441baf6a4d698e3645d1adf28edaf57b Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:47:31 2007 -0400 SUNRPC: rearrange RPC sockets definitions To prepare for including non-sockets-based RPC transports, move the sockets-dependent definitions into their own file. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 3c341b0b925eee01daae2c594b81e673f659d7cd Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:47:07 2007 -0400 SUNRPC: rename the rpc_xprtsock_create structure To prepare for including non-sockets-based RPC transports, change the overly suggestive name of the transport creation arguments struct. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit bc25571e21e8bd053554209f5b1b228ad71e6b99 Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:46:39 2007 -0400 SUNRPC: Finish API to load RPC transport implementations dynamically Allow RPC client transport implementations to be loaded as needed, or as they become available from distributors or third-party vendors. Note that we leave the IP sockets implementation in sunrpc.o permanently, as IP functionality is always available in any kernel that runs NFS. Signed-off-by: Chuck Lever Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 81c098af3da7981902e9f8163aeccc2467c4ba6d Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:46:00 2007 -0400 SUNRPC: Provide a new API for registering transport implementations To allow transport capabilities to be loaded dynamically, provide an API for registering and unregistering the transports with the RPC client. Eventually xprt_create_transport() will be changed to search the list of registered transports when initializing a fresh transport. Signed-off-by: Chuck Lever Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 1244480976d357447aeddd3f44977586bfa0462b Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:45:36 2007 -0400 SUNRPC: add EXPORT_SYMBOL_GPL for generic transport functions SUNRPC: add EXPORT_SYMBOL_GPL for generic transport functions As a preface to allowing arbitrary transport modules to be loaded dynamically, add EXPORT_SYMBOL_GPL for all generic transport functions that a transport implementation might want to use. Signed-off-by: Chuck Lever Acked-by: Tom Talpey Signed-off-by: Trond Myklebust commit 4f22ccc3460ef65e9899ec271d36fc4ef795c68d Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:44:58 2007 -0400 SUNRPC: mark bulk read/write data in xdrbuf Adds a flag word to the xdrbuf struct which indicates any bulk disposition of the data. This enables RPC transport providers to marshal it efficiently/appropriately, and may enable other optimizations. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 20c71f5e0f954b00d75009542db2c1f844d94a1e Author: Trond Myklebust Date: Thu Sep 20 20:23:51 2007 -0400 NFSv4: Fix a bug in nfs4_validate_mount_data() The previous patch introduced a bug when copying the server address. Also clarify a copy into the auth_flavours array: currently the two size calculations are equivalent, but we may decide to change the size of auth_flavors[] at some point. Signed-off-by: Trond Myklebust commit 91ea40b9c6303ddab5c84f078f96b29084b45817 Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:44:33 2007 -0400 NFS: use in-kernel mount argument structure for nfsv4 mounts The user-visible nfs4_mount_data does not contain sufficient data to describe new mount options, and also is now a legacy structure. Replace it with the internal nfs_parsed_mount_data for nfsv4 in-kernel use. Signed-off-by: Tom Talpey Acked-by: Chuck Lever Signed-off-by: Trond Myklebust commit 2283f8d6ed21ea2221df4cc329314b93f35351b0 Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:43:56 2007 -0400 NFS: use in-kernel mount argument structure for nfsv[23] mounts The user-visible nfs_mount_data does not contain sufficient data to describe new mount options, and also is now a legacy structure. Replace it with the internal nfs_parsed_mount_data for nfsv[23] in-kernel use. Signed-off-by: Tom Talpey Acked-by: Chuck Lever Signed-off-by: Trond Myklebust commit 6b18eaa0821a559c5e2b7ed4b90f8aca5a8e6228 Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:43:29 2007 -0400 NFS: move nfs_parsed_mount_data structure definition In preparation for rearranging the nfs mount argument passing, make the nfs_parsed_mount_data struct visible across nfs kernel files. Signed-off-by: Tom Talpey Acked-by: Chuck Lever Signed-off-by: Trond Myklebust commit 4417c8c41a51a2ae95b2a2fa2811640b368c4151 Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:43:05 2007 -0400 SUNRPC: export per-transport rpcbind netid's The rpcbind (v3+) netid is provided by each RPC client transport. This fixes an omission in IPv6 rpcbind client support, and enables future extension. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 4f40ee4a02a2d017b714d5b2faaf5c25bf9eae47 Author: \"Talpey, Thomas\ Date: Mon Sep 10 13:42:38 2007 -0400 SUNRPC: move per-transport rpcbind netid's Move the TCP/UDP rpcbind netid's from the rpcbind client to a global header. Signed-off-by: Tom Talpey Signed-off-by: Trond Myklebust commit 817cb9d43d4c330f9fc023d96e5beaa1abe8c4b7 Author: Chuck Lever Date: Tue Sep 11 18:01:20 2007 -0400 NFSD: Convert printk's to dprintk's in NFSD's nfs4xdr Due to recent edict to remove or replace printk's that can flood the system log. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit e159a08b6ab14e255536fddae75d448395295c6f Author: Chuck Lever Date: Tue Sep 11 18:01:15 2007 -0400 LOCKD: Convert printk's to dprintk's in lockd XDR routines Due to recent edict to remove or replace printk's that might flood the system log. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fe82a183ca3c9188945c4ebeebc2ca45abfa24e5 Author: Chuck Lever Date: Tue Sep 11 18:01:10 2007 -0400 NFS: Convert printk's to dprintk's in fs/nfs/nfs?xdr.c Due to recent edict to replace or remove printk's that can be triggered en masse by remote misbehavior. Left a few that only occur just before a BUG. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0ac83779fa5bffb90e32a97abc61f1840af31ee9 Author: Chuck Lever Date: Tue Sep 11 18:01:04 2007 -0400 NFS: Add new 'mountaddr=' mount option I got the 'mounthost=' option wrong - it shouldn't look for an address value, but rather a hostname value. However, the in-kernel mount client and NFS client cannot resolve a hostname by themselves; they rely on user-land to pass in the resolved address. Create a new mount option that does take an address so that the mount program's address can be passed in. The mount hostname is now ignored by the kernel. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit aad700073557c7932ef9f81c19a5e0647f8a6850 Author: James Lentini Date: Mon Sep 24 17:32:49 2007 -0400 [NFS] [PATCH] NFS: initialize default port in kernel mount client If no mount server port number is specified, the previous change to the kernel mount client inadvertently allows the NFS server's port number to be the used as the mount server's port number. If the user specifies an NFS server port (-o port=x), the mount will fail. The fix below sets the mount server's port to 0 if no mount server port is specified by the user. Signed-off-by: James Lentini Signed-off-by: Trond Myklebust commit efd8340bb19c26a43e77c92fee9283b1f5777204 Author: Chuck Lever Date: Tue Sep 11 18:00:58 2007 -0400 NFS: Kernel mount client should use async bind Simplify the in-kernel mount client by using autobind instead of an explicit call to rpc_getport_sync. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit b79dc8ced1412e7056f3969bef40a30cc75ee530 Author: Chuck Lever Date: Tue Sep 11 18:00:52 2007 -0400 SUNRPC: RPC bind failures should be permanent for NULL requests The purpose of an RPC ping (a NULL request) is to determine whether the remote end is operating and supports the RPC program and version of the request. If we do an RPC bind and the remote's rpcbind service says "this program or service isn't supported" then we have our answer already, and we should give up immediately. This is good for the kernel mount client, as it will cause the request to fail, and then allow an immediate retry with different options. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 906462af4c707ba0238f3579fdb2b594c4ea29c3 Author: Chuck Lever Date: Tue Sep 11 18:00:47 2007 -0400 SUNRPC: Split another new rpcbind retry error code from EACCES Add more new error code processing to the kernel's rpcbind client and to call_bind_status() to distinguish two cases: Case 1: the remote has replied that the program/version tuple is not registered (returns EACCES) Case 2: retry with a lesser rpcbind version (rpcb now returns EPFNOSUPPORT) This change allows more specific error processing for each of these two cases. We now fail case 2 instead of retrying... it's a server configuration error not to support even rpcbind version 2. And don't expose this new error code to user land -- convert it to EIO before failing the RPC. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 2429cbf6a1566b8e92436d615387e4250feab46b Author: Chuck Lever Date: Tue Sep 11 18:00:41 2007 -0400 SUNRPC: Add a new error code for retry waiting for another binder Add new error code processing to the kernel's rpcbind client and to call_bind_status() to distinguish two cases: Case 1: the remote has replied that the program/version tuple is not registered (returns -EACCES) Case 2: another process is already in the middle of binding on this transport (now returns -EAGAIN) This change allows more specific retry processing for each of these two cases. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 4784cb51a3f66d401f8a08810231aa7dc8f44e43 Author: Chuck Lever Date: Tue Sep 11 18:00:36 2007 -0400 SUNRPC: Retry bad rpcbind replies When a server returns a bad rpcbind reply, make rpcbind client recovery logic retry with an older protocol version. Older versions are more likely to work correctly. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit e65fe3976f594603ed7b1b4a99d3e9b867f573ea Author: Chuck Lever Date: Tue Sep 11 18:00:31 2007 -0400 SUNRPC: Make rpcb_decode_getaddr more picky about universal addresses Add better sanity checking of server replies to the GETVERSADDR reply decoder. Change the error return code: EIO is what other XDR decoding routines return if there is a failure while decoding. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit d66968f207b6402fd12c20145cb31dbe3608979c Author: Chuck Lever Date: Tue Sep 11 18:00:25 2007 -0400 SUNRPC: Clean up in rpc_show_tasks /home/cel/linux/net/sunrpc/clnt.c: In function ‘rpc_show_tasks’: /home/cel/linux/net/sunrpc/clnt.c:1538: warning: signed and unsigned type in conditional expression This points out another case where a conditional expression returns a signed value in one arm and an unsigned value in the other. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 06b8d2552d50f802a3277137a565febcd59ef037 Author: Chuck Lever Date: Tue Sep 11 18:00:20 2007 -0400 SUNRPC: Make sure server name is reasonable before trying to print it Check the length of the passed-in server name before trying to print it in the log. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 6d0aa06afd62a868d83c6021335622a316469527 Author: Chuck Lever Date: Tue Sep 11 18:00:15 2007 -0400 SUNRPC: Use correct argument type in memcpy() Noticed by Tom Talpey : OBTW, there's a nit on that memcpy, too. The r_addr is an array, so memcpy(&map->r_addr is passing the address of the array as a char **. It's the same as map->r_addr, but technically the wrong type. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 89eb21c35b61b5157940e1b78c2c6d0529d11c63 Author: Chuck Lever Date: Tue Sep 11 18:00:09 2007 -0400 SUNRPC: fix a signed v. unsigned comparison nit in rpc_bind_new_program /home/cel/linux/net/sunrpc/clnt.c: In function ‘rpc_bind_new_program’: /home/cel/linux/net/sunrpc/clnt.c:445: warning: comparison between signed and unsigned RPC version numbers are u32, not int. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 5d34da3af923e0f950a89f160540d2506ca046ce Author: Chuck Lever Date: Tue Sep 11 18:00:03 2007 -0400 SUNRPC: Only one dprintk is needed during client creation Remove one of two identical dprintk's that occur when an RPC client is created. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 143b6c4008a7928de7e139c3a77a90e4cad8db2c Author: Chuck Lever Date: Thu Aug 16 16:03:31 2007 -0400 SUNRPC: Fix generation of universal addresses for Fix some problems with rpcbind v3 and v4 queries from the in-kernel rpcbind client: 1. The r_addr argument must be a full universal address, not just an IP address, and 2. The universal address in r_addr is the address of the remote rpcbind server, not the RPC service being requested This addresses bugzilla.kernel.org report 8891 for 2.6.23-rc and greater. In addition, if the rpcbind client is unable to start the rpcbind request, make sure not to leak the xprt. Signed-off-by: Chuck Lever commit 756805e7a76bcd2aae07fe31786fe453375e60b1 Author: Chuck Lever Date: Thu Aug 16 16:03:26 2007 -0400 SUNRPC: Add support for formatted universal addresses "Universal addresses" are a string representation of an IP address and port. They are described fully in RFC 3530, section 2.2. Add support for generating them in the RPC client's socket transport module. Signed-off-by: Chuck Lever commit 8945ee5e27156ef9708bc3a11da87ba689aa38b6 Author: Chuck Lever Date: Mon Aug 6 11:58:04 2007 -0400 SUNRPC: Split xs_reclassify_socket into an IPv4 and IPv6 version Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 95392c593e13fa7546857425971f87e4ded6e0c1 Author: Chuck Lever Date: Mon Aug 6 11:57:58 2007 -0400 SUNRPC: Add a helper for extracting the address using the correct type Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 8f9d5b1a2e717fb9e0c4d2c60a224ecce905bd23 Author: Chuck Lever Date: Mon Aug 6 11:57:53 2007 -0400 SUNRPC: Add IPv6 address support to net/sunrpc/xprtsock.c Finalize support for setting up RPC client transports to remote RPC services addressed via IPv6. Based on work done by Gilles Quillard at Bull Open Source. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit 68e220bd5c9fc52d8029275cd42e08f573ce3600 Author: Chuck Lever Date: Mon Aug 6 11:57:48 2007 -0400 SUNRPC: create connect workers for IPv6 Clone separate connect worker functions for connecting AF_INET6 sockets. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit 9c3d72de28eed3e882becd7054da2118f8a73131 Author: Chuck Lever Date: Mon Aug 6 11:57:43 2007 -0400 SUNRPC: Rename IPv4 connect workers Prepare for introduction of IPv6 versions of same. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 16be2d20d999cb65daebfdaf0e560225e28fcb9d Author: Chuck Lever Date: Mon Aug 6 11:57:38 2007 -0400 SUNRPC: Refactor a part of socket connect logic into a helper function Finishing a socket connect is the same for IPv4 and IPv6, so split it out into a helper. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit 90058d37c30ffce0e033ea3dcc6a539111483a58 Author: Chuck Lever Date: Mon Aug 6 11:57:33 2007 -0400 SUNRPC: create an IPv6-savvy mechanism for binding to a reserved port Clone xs_bindresvport into two functions, one that can handle IPv4 addresses, and one that can handle IPv6 addresses. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit 7dc753f0391ad94868609376f37be4833671b57d Author: Chuck Lever Date: Mon Aug 6 11:57:28 2007 -0400 SUNRPC: Rename xs_bind() to prepare for IPv6-specific bind method Prepare for introduction of IPv6-specific socket bind function. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 20612005c51a5ba1bb17902276b9216825958724 Author: Chuck Lever Date: Mon Aug 6 11:57:23 2007 -0400 SUNRPC: Introduce support for setting the port number in IPv6 addresses We could clone xs_set_port, but this is easier overall. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit d5b6443014940eb83788161c69b17cb7a1ffaaed Author: Chuck Lever Date: Mon Aug 6 11:57:18 2007 -0400 SUNRPC: add support for IPv6 to the kernel's rpcbind client Prepare for adding IPv6 support to the RPC client by adding IPv6 capabilities to rpcbind. Note that this is support on the query side only; registering IPv6 addresses with the local portmapper will come later. Note we have to take care not to fall back to using version 2 of the rpcbind protocol if we're dealing with IPv6 address. Version 2 doesn't support IPv6 at all. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit 4b6473fba4e832ee1d15737bc38779501c349a61 Author: Chuck Lever Date: Mon Aug 6 11:57:12 2007 -0400 SUNRPC: add a function to format IPv6 addresses Clone xs_format_ipv4_peer_addresses into an IPv6 version. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit ba10f2c23471b2ef106eb0c71ead4e9862766b8d Author: Chuck Lever Date: Mon Aug 6 11:57:07 2007 -0400 SUNRPC: Rename xs_format_peer_addresses Prepare to add an IPv6 version of xs_format_peer_addresses by renaming it to xs_format_ipv4_peer_addresses. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit fbfe3cc677c1a62ca6472abf24d03d4bf9f03a55 Author: Chuck Lever Date: Mon Aug 6 11:57:02 2007 -0400 SUNRPC: Add hex-formatted address support to rpc_peeraddr2str() Add support for the NFS client's need to export volume information with IP addresses formatted in hex instead of decimal. This isn't used yet, but subsequent patches (not in this series) will change the NFS client to use this functionality. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0c43b3d81cca46ab2469f8802f8bd68b49f1b2a5 Author: Chuck Lever Date: Mon Aug 6 11:56:57 2007 -0400 SUNRPC: Free address buffers in a loop Use more generic logic to free buffers holding formatted addresses. This makes it less likely a bug will be introduced when adding additional buffer types in xs_format_peer_address(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit bda243df2f5beebce92bae22bc01960544783984 Author: Chuck Lever Date: Mon Aug 6 11:56:52 2007 -0400 SUNRPC: Use standard macros for printing IP addresses include/linux/kernel.h gives us some nice macros for formatting IP addresses. Use them. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit b595bb15061567441546be1af883b256bcdfff9c Author: Chuck Lever Date: Mon Aug 6 11:56:42 2007 -0400 SUNRPC: Fix a signed v. unsigned comparison in net/sunrpc/xprtsock.c Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit adc24df81d6903d2d6280d77e936aa5e1670d7a1 Author: Chuck Lever Date: Mon Aug 6 11:56:31 2007 -0400 SUNRPC: Fix a signed v. unsigned comparison in rpcbind's XDR routines Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ddc01c0813dc07ca7a2bd32c143a9b54a64915ce Author: Jeff Layton Date: Mon Jul 30 08:47:38 2007 -0400 [NFS] [PATCH] NFS: show addr=ipaddr in /proc/mounts rather than A minor thing, but useful when working with a server with multiple addrs. This looks like it might also be necessary if Miklos' effort to eliminate /etc/mtab ever comes to fruition. When displaying mount options in /proc/mounts, the kernel prints "addr=hostname". This info is redundant since we already have the hostname displayed as part of the "device" section of the mount. This patch changes it to display the IP address to which the socket is connected. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit f8cf3678f4885d66475b19b10ec2e9918ff2ca1c Author: Christoph Hellwig Date: Fri Aug 3 16:20:32 2007 +0200 [NFS] [PATCH] nfs: tiny makefile cleanup no need to set up foo-objs these days. Signed-off-by: Christoph Hellwig Signed-off-by: Trond Myklebust commit c7e15961115028b99f6142266b5fb08acca0e8dd Author: Fabio Olive Leite Date: Thu Jul 26 22:59:00 2007 -0300 Re: [NFS] [PATCH] Attribute timeout handling and wrapping u32 jiffies I would like to discuss the idea that the current checks for attribute timeout using time_after are inadequate for 32bit architectures, since time_after works correctly only when the two timestamps being compared are within 2^31 jiffies of each other. The signed overflow caused by comparing values more than 2^31 jiffies apart will flip the result, causing incorrect assumptions of validity. 2^31 jiffies is a fairly large period of time (~25 days) when compared to the lifetime of most kernel data structures, but for long lived NFS mounts that can sit idle for months (think that for some reason autofs cannot be used), it is easy to compare inode attribute timestamps with very disparate or even bogus values (as in when jiffies have wrapped many times, where the comparison doesn't even make sense). Currently the code tests for attribute timeout by simply adding the desired amount of jiffies to the stored timestamp and comparing that with the current timestamp of obtained attribute data with time_after. This is incorrect, as it returns true for the desired timeout period and another full 2^31 range of jiffies. In testing with artificial jumps (several small jumps, not one big crank) of the jiffies I was able to reproduce a problem found in a server with very long lived NFS mounts, where attributes would not be refreshed even after touching files and directories in the server: Initial uptime: 03:42:01 up 6 min, 0 users, load average: 0.01, 0.12, 0.07 NFS volume is mounted and time is advanced: 03:38:09 up 25 days, 2 min, 0 users, load average: 1.22, 1.05, 1.08 # ls -l /local/A/foo/bar /nfs/A/foo/bar -rw-r--r-- 1 root root 0 Dec 17 03:38 /local/A/foo/bar -rw-r--r-- 1 root root 0 Nov 22 00:36 /nfs/A/foo/bar # touch /local/A/foo/bar # ls -l /local/A/foo/bar /nfs/A/foo/bar -rw-r--r-- 1 root root 0 Dec 17 03:47 /local/A/foo/bar -rw-r--r-- 1 root root 0 Nov 22 00:36 /nfs/A/foo/bar We can see the local mtime is updated, but the NFS mount still shows the old value. The patch below makes it work: Initial setup... 07:11:02 up 25 days, 1 min, 0 users, load average: 0.15, 0.03, 0.04 # ls -l /local/A/foo/bar /nfs/A/foo/bar -rw-r--r-- 1 root root 0 Jan 11 07:11 /local/A/foo/bar -rw-r--r-- 1 root root 0 Jan 11 07:11 /nfs/A/foo/bar # touch /local/A/foo/bar # ls -l /local/A/foo/bar /nfs/A/foo/bar -rw-r--r-- 1 root root 0 Jan 11 07:14 /local/A/foo/bar -rw-r--r-- 1 root root 0 Jan 11 07:14 /nfs/A/foo/bar Signed-off-by: Fabio Olive Leite Signed-off-by: Trond Myklebust commit 4e769b934e7638038e232c05b64f644e7269a90f Author: Peter Staubach Date: Fri Aug 3 15:07:10 2007 -0400 64 bit ino support for NFS client Hi. Attached is a patch to modify the NFS client code to support 64 bit ino's, as appropriate for the system and the NFS protocol version. The code basically just expand the NFS interfaces for routines which handle ino's from using ino_t to u64 and then uses the fileid in the nfs_inode instead of i_ino in the inode. The code paths that were updated are in the getattr method and the readdir methods. This should be no real change on 64 bit platforms. Since the ino_t is an unsigned long, it would already be 64 bits wide. Thanx... ps Signed-off-by: Peter Staubach Signed-off-by: Trond Myklebust commit 50e437d522a6cc34a882b2f740297f1b6b4c3af3 Author: Trond Myklebust Date: Thu Jun 7 22:44:34 2007 -0400 SUNRPC: Convert rpc_pipefs to use the generic filesystem notification hooks This will allow rpc.gssd to use inotify instead of dnotify in order to locate new rpc upcall pipes. This also requires the exporting of __audit_inode_child(), which is used by fsnotify_create() and fsnotify_mkdir(). Ccing David Woodhouse. Cc: David Woodhouse Signed-off-by: Trond Myklebust commit 7b159fc18d417980f57aef64cab3417ee6af70f8 Author: Trond Myklebust Date: Wed Jul 25 14:09:54 2007 -0400 NFS: Fall back to synchronous writes when a background write errors... This helps prevent huge queues of background writes from building up whenever the server runs out of disk or quota space, or if someone changes the file access modes behind our backs. Signed-off-by: Trond Myklebust commit 34901f70d119d88126e7390351b8c780646628e1 Author: Trond Myklebust Date: Wed Jul 25 14:09:54 2007 -0400 NFS: Writeback optimisation Schedule writes using WB_SYNC_NONE first, then come back for a second pass using WB_SYNC_ALL. Signed-off-by: Trond Myklebust commit ed90ef51a33f572fa7d00c8b05f7457be727e74f Author: Trond Myklebust Date: Fri Jul 20 13:13:28 2007 -0400 NFS: Clean up NFS writeback flush code The only user of nfs_sync_mapping_range() is nfs_getattr(), which uses it to flush out the entire inode without sending a commit. We therefore replace nfs_sync_mapping_range with a more appropriate helper. Signed-off-by: Trond Myklebust commit 90e9a3f9b0a14198a8ae5a0a5c13ad30f0b8b40d Author: Trond Myklebust Date: Sun Jul 22 19:27:46 2007 -0400 VFS: Remove writeback_control->fs_private The only user of this field was NFS. Signed-off-by: Trond Myklebust commit f758c885199611504ff681e3ba66c410b4e9e995 Author: Trond Myklebust Date: Sun Jul 22 19:27:32 2007 -0400 NFS: Clean up nfs_writepages() Just call write_cache_pages directly instead of hacking the writeback control structure in order to find out if we were called from writepages() or directly from the VM. Signed-off-by: Trond Myklebust commit 9cccef95052c7169040c3577e17d4f6fa230cc28 Author: Trond Myklebust Date: Sun Jul 22 17:09:05 2007 -0400 NFS: Clean up write code... The addition of nfs_page_mkwrite means that We should no longer need to create requests inside nfs_writepage() Signed-off-by: Trond Myklebust commit 94387fb1aa16ee853d00f959373132a181b0196b Author: Trond Myklebust Date: Sun Jul 22 17:09:05 2007 -0400 NFS: Add the helper nfs_vm_page_mkwrite This is needed in order to set up a proper nfs_page request for mmapped files. Signed-off-by: Trond Myklebust commit 38b08e48355641f843c1a5eb4ee252b6db9934aa Author: Robert P. J. Day Date: Sun Oct 7 21:34:57 2007 +1000 [POWERPC] Remove redundant reference to non-existent CONFIG_BOOTIMG There is no BOOTIMG Kconfig variable, not to mention that there is no include/linux/bootimg.h header file. Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mackerras commit ef2ac63aef91f2a93da23476cc6b32a346b00c41 Author: Geoff Levand Date: Tue Oct 9 11:07:24 2007 +1000 [POWERPC] PS3: Add os-area database routines Add support for a simple tagged database in the PS3 flash rom os-area. The database allows the flash rom os-area to be shared between a bootloader and installed operating systems. The application ps3-flash-util or the library libps3-utils from the ps3-utils package can be used for userspace database operations. The latest ps3-utils package is available here: git://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-utils.git Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 7db19421a9b116a196845a1118729cf5988f1b57 Author: Geoff Levand Date: Sun Oct 7 07:35:47 2007 +1000 [POWERPC] PS3: Save os-area params to device tree Add the PS3 os-area startup params to the device tree. This allows a second stage kernel loaded with kexec to use these values. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit d7b98e3dd87b4512462f6cdfe646a8e59673e62e Author: Geoff Levand Date: Sun Oct 7 07:35:46 2007 +1000 [POWERPC] PS3: Add os-area rtc_diff set/get routines Updates for PS3 os-area rtc_diff set/get routines o Add a new routine ps3_os_area_set_rtc_diff(). o Rename ps3_os_area_rtc_diff() to ps3_os_area_get_rtc_diff(). o Remove static variable rtc_shift with calls to ps3_os_area_get_rtc_diff(). Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 418ef2094eb8b0916d6cbda10e2ab857b9f64d97 Author: Geoff Levand Date: Sun Oct 7 07:35:45 2007 +1000 [POWERPC] PS3: os-area workqueue processing Add a workqueue to the PS3 os-area support. This is needed to support writing updates to flash memory and to update the /proc device tree entries from the timer tick interrupt context. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 01263e88c3b8c4ec9621062a40b42814e0859e92 Author: Geoff Levand Date: Sun Oct 7 07:35:44 2007 +1000 [POWERPC] PS3: Remove unused os-area params Updates for PS3 os-area startup params o Remove some unused PS3 os-area startup params from struct saved_params. o Rename ps3_os_area_init() to ps3_os_area_save_params(). o Zero mirrored header after saving params. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ca94297f0c169710848a095a2fd986195e546cb3 Author: Geoff Levand Date: Sun Oct 7 07:35:43 2007 +1000 [POWERPC] PS3: Cleanup of os-area.c Minor cleanup of the PS3 file os-area.c: o Correct file text header. o Add type names enum os_area_ldr_format, enum os_area_boot_flag, enum os_area_ctrl_button. o Change struct os_area_header.magic_num type to u8. o Add preprocessor macro SECONDS_FROM_1970_TO_2000. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit d767efe30f42c9e827ac1f452762f55b2d8fbdb3 Author: Benjamin Herrenschmidt Date: Thu Oct 4 15:40:43 2007 +1000 [POWERPC] cell: Add Cell memory controller register defs and expose it This adds definitions for the Cell memory controller registers (at least some of them) for use by the EDAC driver for ECC error reporting. It also expose the said MIC as a platform device that can be used by the EDAC driver to match on. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit eef686a0095430bdd6c1942f86dd2b543e66679f Author: Benjamin Herrenschmidt Date: Thu Oct 4 15:40:42 2007 +1000 [POWERPC] cell: Move cbe_regs.h to include/asm-powerpc/cell-regs.h The new Cell EDAC driver needs that file, oprofile also does ugly path tricks to get to it, it's time to move it to asm-powerpc. While at it, rename it to be consistent with cell-pmu.h (and dashes look nicer than underscores anyway). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 105c13dd7a29fe2d18643b851d7f1c1cbc4315ed Author: Grant Likely Date: Thu Oct 4 14:05:01 2007 +1000 [POWERPC] Enable debug info on boot wrapper Add '-g' to BOOTCFLAGS if CONFIG_DEBUG_INFO is set. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 6ee0d9f744d4417f20aabd9a4e40fac93f2c9d76 Author: Paul Mackerras Date: Thu Oct 4 13:47:06 2007 +1000 [POWERPC] Remove unused old code from powermac setup code Since bootdevice never gets initialized, it's always NULL, and hence a whole pile of code in arch/powerpc/platforms/setup.c never gets used. (This was the code that originally was there so that the automatic root partition selection mechanism would prefer a rootish-looking partition on the device that OF loaded the kernel from over a similar partition on other devices.) This removes the unused code. Signed-off-by: Paul Mackerras Acked-by: Benjamin Herrenschmidt commit d7418031cf10fe82e16aa2057a702a2d1dab6f4a Author: Stephen Rothwell Date: Thu Oct 4 12:00:28 2007 +1000 [POWERPC] Remove some more section mismatch warnings WARNING: vmlinux.o(.text+0x2ff5c): Section mismatch: reference to .init.text:.pmac_find_ide_boot (between '.note_bootable_part' and '.note_scsi_host') >From holly_defconfig: WARNING: vmlinux.o(.text+0x164fe): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') WARNING: vmlinux.o(.text+0x16506): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') >From linkstation_defconfig: WARNING: vmlinux.o(.text+0x158fe): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') WARNING: vmlinux.o(.text+0x15906): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') >From mpc7448_hpc2_defconfig: WARNING: vmlinux.o(.text+0x1583e): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') WARNING: vmlinux.o(.text+0x15846): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') >From pmac32_defconfig: WARNING: vmlinux.o(.text+0x154ca): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'note_scsi_host') WARNING: vmlinux.o(.text+0x154d2): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'note_scsi_host') WARNING: vmlinux.o(.text+0x1553c): Section mismatch: reference to .init.text:pmac_find_ide_boot (between 'note_bootable_part' and 'note_scsi_host') >From ppc64_defconfig: WARNING: vmlinux.o(.text+0x3acdc): Section mismatch: reference to .init.text:.pmac_find_ide_boot (between '.note_bootable_part' and '.note_scsi_host') >From prpmc2800_defconfig: WARNING: vmlinux.o(.text+0x1611e): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') WARNING: vmlinux.o(.text+0x16126): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 84fdde5af1eca5ff170d1dff7e2681b0a50a9ecb Author: Paul Mackerras Date: Wed Oct 3 14:41:15 2007 +1000 [POWERPC] Use cache-inhibited large page bit from firmware Discussions with firmware architects have confirmed that the bit in the ibm,pa-features property that indicates support for cache-inhibited large (>= 64kB) page mappings does in fact mean that the hypervisor allows 64kB mappings to I/O devices. Thus we can now enable the code that tests that bit and sets our CPU_FTR_CI_LARGE_PAGE feature bit. Signed-off-by: Paul Mackerras commit cd6eed3718b1b32c60a6ee5658ae6341de3177d9 Author: Stephen Rothwell Date: Fri Sep 21 18:08:17 2007 +1000 [POWERPC] Prepare to remove of_platform_driver name The name field of of_platform_driver is just copied into the included device_driver. By not overriding an already initialised device_driver name, we can convert the drivers over time to stop using the of_platform_driver name. Also we were not copying the owner field from of_platform_driver, so do the same with it. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 7d6524f035e25fc3abd806f62e5345f911b9d10a Author: Stephen Rothwell Date: Fri Sep 21 14:36:47 2007 +1000 [POWERPC] iSeries: Correct missing newline in printk Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit cb0f3fe08d4718cfe6cf7b50d0fb2732e5e5459d Author: Paul Mundt Date: Tue Oct 9 15:56:24 2007 +0900 sh64: mach-cayman: Build fixes. Signed-off-by: Paul Mundt commit 7b523c9e0886809a7dd100dd79e0a018c454da7a Author: Paul Mundt Date: Tue Oct 9 15:55:40 2007 +0900 sh64: Symbol export fixups. Kill off the __div_table reference, modern compilers don't have it, and old compilers can't build the sh64 kernel anyways. __copy_user also needs to be exported to satisfy module builds. Signed-off-by: Paul Mundt commit 3f7a0ce3b7db6906275eff042c9562aa8baf8487 Author: Paul Mundt Date: Tue Oct 9 15:53:16 2007 +0900 sh64: linker script tidying and alignment fixups. Use more of the generic section helpers, and get the alignment for some of the sections reduced. Follows the sh change. Signed-off-by: Paul Mundt commit 0f1d884d3aad334dc603303b7cc2a79aae9b2057 Author: Paul Mundt Date: Tue Oct 9 15:52:06 2007 +0900 sh64: Set KBUILD_IMAGE to make the rpm target happy. Signed-off-by: Paul Mundt commit d78ffa0dcc2584b0ec35bdb6e585d092359ee74f Author: Paul Mundt Date: Tue Oct 9 15:51:06 2007 +0900 sh64: Kill off obsolete linux/blk.h reference. This is just dead code, kill it off.. Reported-by: Robert P. J. Day Signed-off-by: Paul Mundt commit 63482aaadacbc7e125d672bf8d8f2d39c13a49ed Author: Paul Mundt Date: Tue Oct 9 15:23:02 2007 +0900 sh: Discard .exit.text/.exit.data at runtime. These were previously discarded at link time, though as with MIPS we keep them around until runtime to satisfy .rodata references. Signed-off-by: Paul Mundt commit 3497337946415849a2e4473ec2e9f0d2a6624b23 Author: Paul Mundt Date: Tue Oct 9 15:20:53 2007 +0900 sh: Fix up some section alignments in linker script. With the PERCPU() macro introduction .data.cacheline_aligned was inhereting PAGE_SIZE alignment, fix that up for L1_CACHE_BYTES again. Likewise, the initramfs section wants PAGE_SIZE alignment. Signed-off-by: Paul Mundt commit dcccb37e98e0444b0c6a03b303855771aa463c96 Author: Grant Likely Date: Mon Oct 8 01:24:22 2007 -0600 [POWERPC] Lite5200: Use comma delimiter format for lists in device tree DTC now supports "foo","bar" format for lists of strings; use the new format on the lite5200 device trees. Signed-off-by: Grant Likely Signed-off-by: Kumar Gala commit 082ea86fce463f8c2f1ce059cc959f21dc1ef24a Author: Peter Korsgaard Date: Sat Oct 6 22:06:40 2007 +0200 [POWERPC] spi: Support non-QE processors On non-QE processors (mpc831x/mpc834x) the SPI clock is the SoC clock. Signed-off-by: Peter Korsgaard Signed-off-by: Kumar Gala commit 803dedb60849a8e4ec38e66ca41f51188c18a87d Author: Anton Vorontsov Date: Fri Oct 5 21:46:47 2007 +0400 [POWERPC] 85xx: mpc85xx_mds - reset UCC ethernet properly Apart from that the current code doesn't compile it's also meaningless with regard to the MPC8568E-MDS' BCSR. This patch used to reset UCCs properly. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit af6521ea8af210fea094b183a9ad29ab73945ee1 Author: Anton Vorontsov Date: Fri Oct 5 21:46:53 2007 +0400 [POWERPC] 85xx: mpc8568mds - update dts to be able to use UCCs 1. UCC1's RX_DV pin is 16, not 15; 2. UCC1's phy is at 0x7, not 0x1. Schematics says 0x7, and recent u-boot also using 0x7. 3. Use gianfar's (eTSEC) mdio bus. This is hardware default setup. 4. tx-clock should be CLK16 (GE125, PB31); 5. phy-connection-type is RGMII-ID; Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 321872dcc07f83f9b60af1be41c6bafbaddf9bf6 Author: Anton Vorontsov Date: Fri Oct 5 21:47:09 2007 +0400 [POWERPC] QE: pario - support for MPC85xx layout 8 bytes padding required to match MPC85xx registers layout. Signed-off-by: Anton Vorontsov Reviewed-by: Kim Phillips Signed-off-by: Kumar Gala commit cccd21027c17c27ad275093c22475354b4495814 Author: Anton Vorontsov Date: Fri Oct 5 21:47:29 2007 +0400 [POWERPC] QEIC: Implement pluggable handlers, fix MPIC cascading set_irq_chained_handler overwrites MPIC's handle_irq function (handle_fasteoi_irq) thus MPIC never gets eoi event from the cascaded IRQ. This situation hangs MPIC on MPC8568E. To solve this problem efficiently, QEIC needs pluggable handlers, specific to the underlaying interrupt controller. Patch extends qe_ic_init() function to accept low and high interrupt handlers. To avoid #ifdefs, stack of interrupt handlers specified in the header file and functions are marked 'static inline', thus handlers are compiled-in only if actually used (in the board file). Another option would be to lookup for parent controller and automatically detect handlers (will waste text size because of never used handlers, so this option abolished). qe_ic_init() also changed in regard to support multiplexed high/low lines as found in MPC8568E-MDS, plus qe_ic_cascade_muxed_mpic() handler implemented appropriately. Signed-off-by: Anton Vorontsov Acked-by: Benjamin Herrenschmidt Signed-off-by: Kumar Gala commit 55f9ed0f6a3af19b5b5cc633eced658723bd3395 Author: Anton Vorontsov Date: Fri Oct 5 21:47:38 2007 +0400 [POWERPC] mpc85xx_mds: select QUICC_ENGINE Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 090fe850f9520eaedf6de50877e0c5b95349f225 Author: Timur Tabi Date: Tue Oct 2 16:27:13 2007 -0500 [POWERPC] 86xx: update immap_86xx.h for the 8610 Update the definition of the global utilities structure (ccsr_guts) in immap_86xx.h and add some related macros for the Freescale 8610 SOC. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit e1c1575f831ab2165732037e6d664010a0149730 Author: Kumar Gala Date: Thu Oct 4 01:04:57 2007 -0500 [POWERPC] 85xx/86xx: refactor RSTCR reset code On the majority of 85xx & 86xx we have a register that's ability to assert HRESET_REQ to reset the board. We refactored that code so it can be shared between both platforms into fsl_soc.c and removed all the duplication in each platform directory. Signed-off-by: Kumar Gala commit c9438affcb7ac0dda4c6c6961637fb272f7c32d4 Author: Kumar Gala Date: Thu Oct 4 00:28:43 2007 -0500 [POWERPC] Use for_each_ matching routinues for pci PHBs On the Freescale embedded (83xx, 85xx, 86xx) and a few of the discrete bridges (mpc10x, tsi108) use the new for_each_compatible_node() or for_each_node_by_type() to provide more exact matching when looking for PHBs in the device tree. With the previous code it was possible to match on pci bridges since we were only matching on device_type. Signed-off-by: Kumar Gala commit 2fce1225af6f2d3bb9ffb4e6253400db61278594 Author: Kumar Gala Date: Wed Oct 3 23:37:33 2007 -0500 [POWERPC] FSL: Access PCIe LTSSM register with correct size The LTSSM register is actual 32-bits wide so we should be doing a dword access. Signed-off-by: Kumar Gala commit 873553b3d6b3b19f187a5630300ece20bbf74afd Author: Dale Farnsworth Date: Wed Oct 3 12:01:40 2007 -0700 [POWERPC] 85xx: Failure with odd memory sizes and CONFIG_HIGHMEM The CONFIG_FSL_BOOKE mmu setup code fails when CONFIG_HIGHMEM=y and the 3 fixed TLB entries cannot exactly map the lowmem size. Each TLB entry can map 4MB, 16MB, 64MB or 256MB, so the failure is observed when the kernel lowmem size is not equal to the sum of up to 3 of those values. Normally, memory is sized in nice numbers, but I observed this problem while testing a crash dump kernel. The failure can also be observed by artificially reducing the kernel's main memory via the mem= kernel command line parameter. This commit fixes the problem by setting __initial_memory_limit in adjust_total_lowmem(). Signed-off-by: Dale Farnsworth Signed-off-by: Kumar Gala commit 0e65bfe34c1000581746b9889d095241c4cf4a5c Author: Xianghua Xiao Date: Wed Oct 3 15:09:33 2007 -0500 [POWERPC] Add initial MPC8610 HPCD Platform files. Add basic board support for the MPC8610 HPCD. This does not include any support the SoC Display or Audio controllers. Signed-off-by: Xianghua Xiao Signed-off-by: Jason Jin Signed-off-by: Jon Loelier Signed-off-by: Kumar Gala commit 61c5d3cde10689867b86c8352aa0295637e941cb Author: Jason Jin Date: Wed Oct 3 15:09:50 2007 -0500 [POWERPC] Treat 8610 PCIe host bridge as transparent Signed-off-by: Jason Jin Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 53f3945a160af9a2282b9fad0f6ccde25e4ed805 Author: Xianghua Xiao Date: Wed Oct 3 15:09:15 2007 -0500 [POWERPC] Add initial MPC8610 HPCD Device Tree Source file. Signed-off-by: Xianghua Xiao Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit f023dc769c47b9158d897ee8a0278bdfe39b0115 Author: Peter Korsgaard Date: Wed Oct 3 18:29:09 2007 +0200 [POWERPC] spi: mode should be "cpu-qe" instead of "qe" Mode should be "cpu-qe" for QE in CPU mode. "qe" should be reserved for native QE mode. Signed-off-by: Peter Korsgaard Signed-off-by: Kumar Gala commit 33799e337997284a4b845743fc43af52f66babd7 Author: Peter Korsgaard Date: Wed Oct 3 17:44:58 2007 +0200 [POWERPC] spi: Use fsl_spi instead of mpc83xx_spi According to booting-without-of.txt, compatible should be "fsl_spi" and mode "cpu" or "qe" for the fsl SPI controllers. Signed-off-by: Peter Korsgaard Signed-off-by: Kumar Gala commit 6b0b594bb81f86dbc7b0829ee5102abaab242913 Author: Timur Tabi Date: Wed Oct 3 11:34:59 2007 -0500 [POWERPC] qe: miscellaneous code improvements and fixes to the QE library This patch makes numerous miscellaneous code improvements to the QE library. 1. Remove struct ucc_common and merge ucc_init_guemr() into ucc_set_type() (every caller of ucc_init_guemr() also calls ucc_set_type()). Modify all callers of ucc_set_type() accordingly. 2. Remove the unused enum ucc_pram_initial_offset. 3. Refactor qe_setbrg(), also implement work-around for errata QE_General4. 4. Several printk() calls were missing the terminating \n. 5. Add __iomem where needed, and change u16 to __be16 and u32 to __be32 where appropriate. 6. In ucc_slow_init() the RBASE and TBASE registers in the PRAM were programmed with the wrong value. 7. Add the protocol type to struct us_info and updated ucc_slow_init() to use it, instead of always programming QE_CR_PROTOCOL_UNSPECIFIED. 8. Rename ucc_slow_restart_x() to ucc_slow_restart_tx() 9. Add several macros in qe.h (mostly for slow UCC support, but also to standardize some naming convention) and remove several unused macros. 10. Update ucc_geth.c to use the new macros. 11. Add ucc_slow_info.protocol to specify which QE_CR_PROTOCOL_xxx protcol to use when initializing the UCC in ucc_slow_init(). 12. Rename ucc_slow_pram.rfcr to rbmr and ucc_slow_pram.tfcr to tbmr, since these are the real names of the registers. 13. Use the setbits, clrbits, and clrsetbits where appropriate. 14. Refactor ucc_set_qe_mux_rxtx(). 15. Remove all instances of 'volatile'. 16. Simplify get_cmxucr_reg(); 17. Replace qe_mux.cmxucrX with qe_mux.cmxucr[]. 18. Updated struct ucc_geth because struct ucc_fast is not padded any more. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 6039680705906f270411435c05c869ac4f59ef10 Author: Kumar Gala Date: Wed Oct 3 10:43:10 2007 -0500 [POWERPC] Update .gitignore for new vdso generated files We now generate vdso[32,64].so.dbg as part of the build so add them to .gitignore Signed-off-by: Kumar Gala commit 86a04d9c850787040ba63261cfa5eb9a48b58e5a Author: Kumar Gala Date: Tue Oct 2 09:51:32 2007 -0500 [POWERPC] Fixup MPC8568 dts The PCI nodes on the MPC8568 dts didn't get moved up to be sibilings of the SOC node when we did that clean up for some reason. Fix that up and some minor whitespace and adjusting the size of the soc reg property. Signed-off-by: Kumar Gala commit 5d9df8eeacec943c9599f1cfd1069bc8cced3de6 Author: Adrian McMenamin Date: Mon Oct 8 05:19:36 2007 +0900 sh: Fix SH-4 DMAC CHCR masking. This patch fixes the DMA cascade by masking the correct bits. Tested and working with Dreamcast PVR2 DMA. With this patch applied the existing mainline code in arch/sh/drivers/dma/dma-sh.c works, whereas before I was patching that to get round this problem. Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit 8fb870df5a1f261294b833dd807bcba3bacface6 Author: David Woodhouse Date: Sat Oct 6 15:12:58 2007 -0400 [JFFS2] Trigger garbage collection when very_dirty_list size becomes excessive With huge amounts of free space, we weren't bothering to GC for while a while, and pathological numbers of obsolete nodes were accumulating, seriously affecting performance on NAND flash (OLPC trac #3978) Signed-off-by: David Woodhouse commit 49defc015ff58fda46a3afa3462dfdfa69bc8401 Author: David Woodhouse Date: Sat Oct 6 15:01:59 2007 -0400 [MTD] [NAND] Avoid deadlock in erase callback; release chip lock first. When the erase callback performs some other action on the flash, it's highly likely to deadlock unless we actually release the chip lock before calling it. Signed-off-by: David Woodhouse commit 1fcf8ce51e7acc4b66904c4e159690c9467606b5 Author: David Woodhouse Date: Sat Oct 6 14:59:32 2007 -0400 [MTD] [NAND] Resume method for CAFÉ NAND controller Originally from Marcelo; modified to put the original timing registers back instead of 0xFFFFFFFF. Signed-off-by: David Woodhouse commit 06ed24e5773346eb13579a4ae9599502bc78e4f7 Author: David Woodhouse Date: Sat Oct 6 14:44:12 2007 -0400 [MTD] [NAND] Fix PCI ident table for CAFÉ NAND controller. It was only the very early prototypes which made the mistake of using the same device ident for all three functions on the device -- don't bother trying to express that in the PCI match table, since the tools don't cope. We can check in the probe routine instead, just in case. Also remember to terminate the table. Signed-off-by: David Woodhouse commit 599473cf15a3fae78cbc3192cfb38ca04d5abc72 Author: Nicolas Pitre Date: Wed Oct 3 15:32:57 2007 -0400 sdio: make the IRQ thread more resilient in the presence of bad states Currently we print a message about some bad states wrt function IRQ handlers but return 0 from process_sdio_pending_irqs() nevertheless. This can lead to an infinite loop as nothing might have cleared the condition for the pending card interrupt from the host controller by the time host->ops->enable_sdio_irq(host, 1) is called. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 3e01e4bcdd56209e70c39293e0c4c355d09364b8 Author: Nicolas Pitre Date: Wed Oct 3 15:32:10 2007 -0400 sdio: fix IRQ diagnostic message If func is actually null we won't get much from sdio_func_id(func). Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 562d94d98f7032bdc4a99d9124a78a543dbea225 Author: Mark Langsdorf Date: Fri Aug 3 14:09:05 2007 -0500 [CPUFREQ] Support different families in fid/did to frequency conversion The equation to find the frequency given the fid and did is family dependant. Acked-by: Mark Langsdorf Signed-off-by: Joachim Deguara Signed-off-by: Dave Jones commit 55395ae72b6e5ae614d28df74158c47454652583 Author: Satyam Sharma Date: Tue Oct 2 13:28:15 2007 -0700 [CPUFREQ] cpufreq_stats: misc cpuinit section annotations * Stop referencing the callback directly from the __init and __exit functions of this driver, and instead explicitly call cpufreq_update_policy() et al. This enables the callback function to be marked as __cpuinit (and the notifier_block __cpuinitdata), thereby saving space when HOTPLUG_CPU=n. This also enables us to use other tricks to replace __cpuinit{data} in future. * cpufreq_stats_free_table() is only called from __cpuinit or __exit marked functions, making it an ideal candidate for __cpuexit. * Fix missing space in the module description Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 6070b5de50ab5e3f810628a9cbb04deecf30a85f Author: Satyam Sharma Date: Tue Oct 2 13:28:15 2007 -0700 [CPUFREQ] implement !CONFIG_CPU_FREQ stub for cpufreq_unregister_notifier() Callsites such as arch/powerpc/oprofile/op_model_cell.c are having to open-code #ifdef CONFIG_CPU_FREQ only to be able to get at the full definition of cpufreq_unregister_notifier(), because no empty stub is available for the !CONFIG_CPU_FREQ case. Let's provide one, to be able to remove such #ifdef's from the rest of the kernel tree -- those will come in a subsequent patch. Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit dd184a01b8ece6bac2f7a63de99a4a4d29552746 Author: Satyam Sharma Date: Tue Oct 2 13:28:14 2007 -0700 [CPUFREQ] mark hotplug notifier callback as __cpuinit The notifier_block is already __cpuinitdata, thereby allowing us to safely mark the callback function as __cpuinit also, thereby saving space when HOTPLUG_CPU=n. Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 6afde10c3f58cc3ac593f5b4505b8b1cf719f5d6 Author: Thomas Renninger Date: Tue Oct 2 13:28:13 2007 -0700 [CPUFREQ] Only check for transition latency on problematic governors (kconfig fix) Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 1c2562459faedc35927546cfa5273ec6c2884cce Author: Thomas Renninger Date: Tue Oct 2 13:28:12 2007 -0700 [CPUFREQ] allow ondemand and conservative cpufreq governors to be used as default Depending on the transition latency of the HW for cpufreq switches, the ondemand or conservative governor cannot be used with certain cpufreq drivers. Still the ondemand should be the default governor on a wide range of systems. This patch allows this and lets the governor fallback to the performance governor at cpufreq driver load time, if the driver does not support fast enough frequency switching. Main benefit is that on e.g. installation or other systems without userspace support a working dynamic cpufreq support can be achieved on most systems by simply loading the cpufreq driver. This is especially essential for recent x86(_64) laptop hardware which may rely on working dynamic cpufreq OS support. Signed-off-by: Thomas Renninger Signed-off-by: Venkatesh Pallipadi Cc: Russell King Cc: Bryan Wu Cc: Andi Kleen Cc: "Luck, Tony" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 8122c6cea033e8034e99d3b10a4e3f377ce23994 Author: Thomas Renninger Date: Tue Oct 2 13:28:09 2007 -0700 [CPUFREQ] move policy's governor initialisation out of low-level drivers into cpufreq core Signed-off-by: Thomas Renninger Signed-off-by: Venkatesh Pallipadi Cc: Russell King Cc: Bryan Wu Cc: Andi Kleen Cc: "Luck, Tony" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit a09d60a622ea4a3592dc6836e709d4a7a4ed4025 Author: Rafał Bilski Date: Wed Sep 26 17:08:14 2007 +0200 [CPUFREQ] Longhaul - Add support for PM133 northbridge Add support for PM133 northbridge. Tested by Sylvain Ferrand. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit c925401b6dc2229adbb15b2f3c9f0f2d9253a5d5 Author: Yinghai Lu Date: Wed Aug 22 18:44:20 2007 -0700 [CPUFREQ] x86: use num_online_nodes to get physical cpus numbers for powernow_k8 [PATCH] x86: use num_online_nodes to get physical cpus numbers for powernow_k8 For opteron based system, don't assume all physical cpus have the same booted cpus even same cores. esp for downcore case. Signed-off-by: Yinghai Lu Signed-off-by: Dave Jones commit 2a721dfc8c677588fc98d818dfad3354081c6ddb Author: Anton Vorontsov Date: Fri Oct 5 01:05:00 2007 +0400 apm_power: calculate to_full/to_empty time using energy This patch adds ability to calculate time using energy. Needed to calculate time_to_full for PMU batteries. Signed-off-by: Anton Vorontsov commit d385376f0d75fdbeed8041ed6baf5cb4a1578ffb Author: Anton Vorontsov Date: Fri Oct 5 01:05:00 2007 +0400 apm_power: improve battery finding algorithm Prior to this patch, if use_for_apm unspecified, apm_power able to choice batteries according to their charge only. This patch adds ability to choice batteries according to their charge, energy, use_for_apm flag, and fallback to any battery if it failed to decide. Patch is mandatory to report Apple PMU batteries through legacy /proc/apm interface using power supply class. Signed-off-by: Anton Vorontsov commit cd1ebcc0ef620e8e7c5e399bf9e123135e4f24a4 Author: Anton Vorontsov Date: Fri Oct 5 01:04:59 2007 +0400 apm_power: fix obviously wrong logic for time reporting Prior to this patch, apm_power was unable to report "to empty"/"to full" time for batteries that hardware-report these values, such as Apple PMU batteries. Signed-off-by: Anton Vorontsov commit 6b9c67681b8d08301cdc31b0503023e0208cc1d8 Author: Anton Vorontsov Date: Tue Oct 2 17:48:07 2007 +0400 [POWERPC] mpc8568mds.dts: fix PCIe I/O address space location and size According to u-boot/board/mpc8568mds/init.S: LAW(Local Access Window) configuration: 2) 0xa000_0000 0xbfff_ffff PCIe MEM 512MB 4) 0xe280_0000 0xe2ff_ffff PCIe I/O 8M Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit c0e4eb2d8a8a094db5295a42d84aef08dea8aea4 Author: Anton Vorontsov Date: Tue Oct 2 17:47:43 2007 +0400 [POWERPC] MPC8568E-MDS: add support for ds1374 rtc MPC8568E-MDS have DS1374 chip on the I2C bus, thus let's use it. This patch also adds #address-cells and #size-cells to the I2C controllers nodes. p.s. DS1374 rtc class driver is in the -mm tree, its name is rtc-rtc-class-driver-for-the-ds1374.patch. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit da1bb3a0e1f7f9cabe70fb2c41b47fa57c42fdfd Author: Anton Vorontsov Date: Tue Oct 2 17:47:40 2007 +0400 [POWERPC] fsl_soc: fix uninitialized i2c_board_info structure i2c_board_info used semi-initialized, causing garbage in the info->flags, and that, in turn, causes various symptoms of i2c malfunctioning, like PEC mismatches. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 15f8c604a79c4840ed76eecf3af5d88b7c1dee9e Author: Scott Wood Date: Fri Sep 28 14:06:16 2007 -0500 [POWERPC] cpm: Describe multi-user ram in its own device node. The way the current CPM binding describes available multi-user (a.k.a. dual-ported) RAM doesn't work well when there are multiple free regions, and it doesn't work at all if the region doesn't begin at the start of the muram area (as the hardware needs to be programmed with offsets into this area). The latter situation can happen with SMC UARTs on CPM2, as its parameter RAM is relocatable, u-boot puts it at zero, and the kernel doesn't support moving it. It is now described with a muram node, similar to QE. The current CPM binding is sufficiently recent (i.e. never appeared in an official release) that compatibility with existing device trees is not an issue. The code supporting the new binding is shared between cpm1 and cpm2, rather than remain separated. QE should be able to use this code as well, once minor fixes are made to its device trees. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit a013689ddb2a4ba5f0452c053c0bf00bafb686f1 Author: Steve French Date: Thu Oct 4 20:05:09 2007 +0000 [CIFS] Fix cifsd so shuts down when signing fails during mount Fixes two problems: 1) we dropped down to negotiating lanman if we did not recognize the mechanism (krb5 e.g.) 2) we did not stop cifsd (thus will fail when doing rmod cifs with slab free errors) when we fail tcon but have a bad session (which is the case in which signing is required but we don't allow signing on the client) It also turns on extended security flag in the header when passing "sec=krb5" on mount command (although kerberos support is not done of course) Acked-by: Jeff Layton CC: Shaggy Signed-off-by: Steve French commit 3c5df5c26ed17828760945d59653a2e22e3fb63f Author: Kumar Gala Date: Thu Sep 27 08:43:35 2007 -0500 [POWERPC] Cleaned up whitespace in head_fsl_booke.S Signed-off-by: Kumar Gala commit b6927bca245f83879bcb319aa108a1a347e36d8f Author: Emil Medve Date: Wed Sep 26 12:03:40 2007 -0500 [POWERPC] QE: Added missing CEURNR register According to the publicly available MPC8360E RM (rev. 1 from 09/2006 and rev. 2 from 05/2007) and MPC8323E RM (rev. 1 from 09/2006), CEURNR is the QE microcode revision number register and is located at offset 0x1b8 within the QE internal register space Signed-off-by: Emil Medve Signed-off-by: Kumar Gala commit 0438c28fa40c1145e8322f91feb9e6fed3301d94 Author: Peter Korsgaard Date: Thu Sep 20 12:42:13 2007 +0200 [POWERPC] fsl_soc: rtc-ds1307 support Add support for the I2C devices handled by the rtc-ds1307 driver to of_register_i2c_devices. Cc: G. Liakhovetski Signed-off-by: Peter Korsgaard Signed-off-by: Kumar Gala commit 210805e219f781d0a0efbdbe41d59f6fccef529c Author: Peter Korsgaard Date: Thu Sep 20 12:42:12 2007 +0200 [POWERPC] fsl_soc: Fix trivial printk typo. Fix a trivial printk typo in fsl_soc. Cc: G. Liakhovetski Signed-off-by: Peter Korsgaard Signed-off-by: Kumar Gala commit 5dd57a1308a7e40e04fb6ecbff170df7a0b92cd8 Author: Scott Wood Date: Tue Sep 18 15:29:35 2007 -0500 [POWERPC] 8xx: Move softemu8xx.c from arch/ppc Previously, Soft_emulate_8xx was called with no implementation, resulting in build failures whenever building 8xx without math emulation. The implementation is copied from arch/ppc to resolve this issue. However, this sort of minimal emulation is not a very good idea other than for compatibility with existing userspaces, as it's less efficient than soft-float and can mislead users into believing they have soft-float. Thus, it is made a configurable option, off by default. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit c4e05bc57dd14294683cdea7fe36ce3c01f5c6ae Author: Roy Zang Date: Mon Sep 24 18:31:55 2007 +0800 [POWERPC] bootwrapper: adds cuboot for MPC7448HPC2 platform This patch adds cuboot support for MPC7448HPC2 platform. The cuImage can be used with legacy u-boot without FDT support. Signed-off-by: Roy Zang Acked-by: David Gibson Signed-off-by: Kumar Gala commit 3611f2ad424094655d381f099613a6f43239824d Author: Scott Wood Date: Wed Sep 5 14:00:54 2007 -0500 [POWERPC] mpc82xx: Add pq2fads board support. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit e00c5498a2a614931cbb7d88a53979d5d47594e1 Author: Scott Wood Date: Fri Sep 14 15:41:56 2007 -0500 [POWERPC] mpc82xx: Update mpc8272ads, and factor out PCI and reset. 1. PCI and reset are factored out into pq2.c. I renamed them from m82xx to pq2 because they won't work on the Integrated Host Processor line of 82xx chips (i.e. 8240, 8245, and such). 2. The PCI PIC, which is nominally board-specific, is used on multiple boards, and thus is used into pq2ads-pci-pic.c. 3. The new CPM binding is used. 4. General cleanup. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 11c146cc19df337f4af42dade9e4fca33c5a54ee Author: Scott Wood Date: Fri Sep 14 14:58:25 2007 -0500 [POWERPC] 8xx/wrapper: Embedded Planet EP88xC support This board is also resold by Freescale under the names "QUICCStart MPC885 Evaluation System" and "CWH-PPC-885XN-VE". Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 20906ecea2004c0667c8b229ac6461d16ea6bde3 Author: Scott Wood Date: Fri Sep 14 14:38:16 2007 -0500 [POWERPC] 8xx: mpc885ads cleanup It now uses the new CPM binding and the generic pin/clock functions, and has assorted fixes and cleanup. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 96fca1dea8f32e96668d55727d66416fdd67360b Author: Scott Wood Date: Fri Sep 14 13:24:02 2007 -0500 [POWERPC] Document local bus nodes in the device tree, and update cuboot-pq2. The localbus node is used to describe devices that are connected via a chip select or similar mechanism. The advantages over placing the devices under the root node are that it can be probed without probing other random things under the root, and that the description of which chip select a given device uses can be used to set up mappings if the firmware failed to do so in a useful manner. cuboot-pq2 is updated to match the binding; previously, it called itself chipselect rather than localbus, and used phandle linkage between the actual bus node and the control node (the current agreement is to simply use the fully-qualified address of the control registers, and ignore the overlap with the IMMR node). Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 2d2294ae12827a97c9daa253f1ce99e7ae3195d7 Author: Scott Wood Date: Thu Jul 26 13:52:28 2007 -0500 [POWERPC] mpc8272ads: Change references from 82xx_ADS to 8272_ADS. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit d1df447197b11e70d451786be8aebf2f8606754e Author: Scott Wood Date: Thu Jul 26 13:51:42 2007 -0500 [POWERPC] mpc82xx: Rename mpc82xx_ads to mpc8272_ads. This is just a rename patch; internal references to mpc82xx_ads will be changed in the next one. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 4ff62e1c7f5263427e742069235d94ba1336960d Author: Scott Wood Date: Mon Aug 27 16:56:43 2007 -0500 [POWERPC] mpc82xx: Remove a bunch of cruft that duplicates generic functionality. m82xx_calibrate_decr(), mpc82xx_ads_show_cpuinfo(), and mpc82xx_halt() do anything useful beyond what the generic code does. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 11af1192b75307e4099dd962b3b97b255d5ab023 Author: Scott Wood Date: Fri Sep 14 15:32:14 2007 -0500 [POWERPC] mpc82xx: Define CPU_FTR_NEED_COHERENT The 8272 (and presumably other PCI PQ2 chips) appear to have the same issue as the 83xx regarding PCI streaming DMA. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 7f21f52940212c25b4387c2450018e161043549a Author: Scott Wood Date: Mon Jul 16 13:32:24 2007 -0500 [POWERPC] cpm2: Add cpm2_set_pin(). This provides a generic way for board code to set up CPM pins, rather than directly poking magic values into registers. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 2652d4ec4a363487d0106a8bf51f1b081dd7e397 Author: Scott Wood Date: Mon Jul 16 13:26:35 2007 -0500 [POWERPC] cpm2: Add SCCs to cpm2_clk_setup(), and cpm2_smc_clk_setup(). Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 449012daa92a60e42f0d55478641cfa796d51528 Author: Scott Wood Date: Fri Sep 14 15:30:44 2007 -0500 [POWERPC] cpm2: Infrastructure code cleanup. Mostly sparse fixes (__iomem annotations, etc); also, cpm2_immr is used rather than creating many temporary mappings. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 6cc15e9fdce49e6b3d00eba4dfcdfbe1496f2114 Author: Paul Mundt Date: Thu Oct 4 19:52:32 2007 +0900 sh: Rip out left-over nommu cond syscall cruft. At some point way back when (2.5 or so) quite a few syscalls hadn't yet been wired up as cond_syscalls(), so we opted to just do direct sys_ni_syscall wrapping in the assembly code instead. That's all been fixed up since then, so we can drop the wrapping. Signed-off-by: Paul Mundt commit 544cdabe642e5508e784de709530a74d0775d070 Author: John Traill Date: Tue Jul 17 05:17:23 2007 +0400 [POWERPC] 8xx: Set initial memory limit. The 8xx can only support a max of 8M during early boot (it seems a lot of 8xx boards only have 8M so the bug was never triggered), but the early allocator isn't aware of this. The following change makes it able to run with larger memory. Signed-off-by: John Traill Signed-off-by: Vitaly Bordug Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 7401685242fbcbf4b0660726372c77a88c4af17d Author: Scott Wood Date: Mon Jun 25 14:50:41 2007 -0500 [POWERPC] 8xx: Work around CPU15 erratum. The CPU15 erratum on MPC8xx chips can cause incorrect code execution under certain circumstances, where there is a conditional or indirect branch in the last word of a page, with a target in the last cache line of the next page. This patch implements one of the suggested workarounds, by forcing a TLB miss whenever execution crosses a page boundary. This is done by invalidating the pages before and after the one being loaded into the TLB in the ITLB miss handler. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 663edbd2640447dc43840568cd5701e6c9878d63 Author: Scott Wood Date: Mon Jul 16 17:22:01 2007 -0500 [POWERPC] 8xx: Add pin and clock setting functions. These let board code set up pins and clocks without having to put magic numbers directly into the registers. The clock function is mostly duplicated from the cpm2 version; hopefully this stuff can be merged at some point. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit fb533d0c5a9783ecafa9a177bace6384c47282a9 Author: Scott Wood Date: Fri Sep 14 14:22:36 2007 -0500 [POWERPC] 8xx: Infrastructure code cleanup. 1. Keep a global mpc8xx_immr mapping, rather than constantly creating temporary mappings. 2. Look for new fsl,cpm1 and fsl,cpm1-pic names. 3. Always reset the CPM when not using the udbg console; this is required in case the firmware initialized a device that is incompatible with one that the kernel is about to use. 4. Remove some superfluous casts and header includes. 5. Change a usage of IMAP_ADDR to get_immrbase(). 6. Use phys_addr_t, not uint, for dpram_pbase. 7. Various sparse-related fixes, such as __iomem annotations. 8. Remove mpc8xx_show_cpuinfo, which doesn't provide anything useful beyond the generic cpuinfo handler. 9. Move prototypes for 8xx support functions from board files to sysdev/commproc.h. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit ccf0d68e835003f19d5a9463d5a8c1e092d3a31a Author: Scott Wood Date: Mon Jul 16 11:28:18 2007 -0500 [POWERPC] 8xx: Fix CONFIG_PIN_TLB. 1. Move CONSISTENT_START on 8xx so that it doesn't overlap the IMMR mapping. 2. The wrong register was being loaded into SPRN_MD_RPN. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit d948a29ea7a9514f588dafb61d5a6da68131c3ba Author: Scott Wood Date: Tue Jul 17 18:09:33 2007 -0500 [POWERPC] cpm_uart: Issue STOP_TX command before initializing console. This prevents some bootloader/bootwrapper characters from being lost. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit c1dcfd9d199043ff0e8805484a736ad36d9dd04a Author: Scott Wood Date: Tue Jul 24 15:53:07 2007 -0500 [POWERPC] cpm_uart: sparse fixes Mostly a bunch of direct access to in/out conversions, plus a few cast removals, __iomem annotations, and miscellaneous cleanup. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 7ae870368d198affa249ed3382a8a288167ce885 Author: Scott Wood Date: Tue Jul 17 17:59:06 2007 -0500 [POWERPC] cpm_uart: Be an of_platform device when CONFIG_PPC_CPM_NEW_BINDING is set. The existing OF glue code was crufty and broken. Rather than fix it, it has been removed, and the serial driver now talks to the device tree directly. The non-CONFIG_PPC_CPM_NEW_BINDING code can go away once CPM platforms are dropped from arch/ppc (which will hopefully be soon), and existing arch/powerpc boards that I wasn't able to test on for this patchset get converted (which should be even sooner). Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit a94b89a4813bddf85c052f8d04021688c5dfe0d7 Author: Scott Wood Date: Fri Aug 31 17:18:28 2007 -0500 [POWERPC] bootwrapper: Use fsl_get_immr() in cuboot-pq2.c. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit bbc6fac387f09e46a372e4aadbc935cba5a6b463 Author: Scott Wood Date: Mon Aug 27 13:46:38 2007 -0500 [POWERPC] bootwrapper: Add fsl_get_immr() and 8xx/pq2 clock functions. fsl_get_immr() uses /soc/ranges to determine the immr. mpc885_get_clock() transforms a crystal frequency into a system frequency according to the PLL register settings. pq2_get_clocks() does the same as the above for the PowerQUICC II, except that it produces several different clocks. The mpc8xx/pq2 set_clocks() functions modify common properties in the device tree based on the given clock data. The mpc885/pq2 fixup_clocks() functions call get_clocks(), and pass the results to set_clocks(). Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Kumar Gala commit 568091512d464b06f17b88bfd2bdc1ec98a697bd Author: Scott Wood Date: Thu Aug 30 12:06:21 2007 -0500 [POWERPC] bootwrapper: Support all-in-one PCI nodes in cuboot-pq2. Consensus was reached to put PCI nodes at the root of the tree (and not under /soc), but the phandle to a control node was rejected in favor of simply not worrying about /pci/reg overlapping /soc/ranges. This updates cuboot-82xx to not look for the phandle. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Kumar Gala commit c374e00e17f1c10768d5af922a1ff33e43df2eb0 Author: Scott Wood Date: Mon Jul 16 11:43:43 2007 -0500 [POWERPC] Add early debug console for CPM serial ports. This code assumes that the ports have been previously set up, with buffers in DPRAM. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Kumar Gala commit e631ae3b164158fbf486fbed5adb597696c4f0e5 Author: Scott Wood Date: Fri Sep 14 13:04:54 2007 -0500 [POWERPC] Introduce new CPM device bindings. This introduces a new device binding for the CPM and other devices on these boards. Some of the changes include: 1. Proper namespace scoping for Freescale compatibles and properties. 2. Use compatible rather than things like device_type and model to determine which particular variant of a device is present. 3. Give the drivers the relevant CPM command word directly, rather than requiring it to have a lookup table based on device-id, SCC v. SMC, and CPM version. 4. Specify the CPCR and the usable DPRAM region in the CPM's reg property. Boards that do not require the legacy bindings should select CONFIG_PPC_CPM_NEW_BINDING to enable the of_platform CPM devices. Once all existing boards are converted and tested, the config option can become default y to prevent new boards from using the old model. Once arch/ppc is gone, the config option can be removed altogether. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Kumar Gala commit 6d817aa71fddea859ba02d1a0b326da930ce6b50 Author: Scott Wood Date: Wed Aug 29 15:08:40 2007 -0500 [POWERPC] CPM: Change from fsl,brg-frequency to brg/clock-frequency As suggested by David Gibson, now that we have a separate node for the baud rate generators, it's better to use the standard clock-frequency property than a cpm-node-level fsl,brg-frequency property. This patch updates existing places where fsl,brg-frequency is used. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 26f571d7c968dbd30656fc1421eeb0d9088aaad9 Author: Paul Mackerras Date: Thu Oct 4 11:02:09 2007 +1000 [PPC] Use cpu setup routines from cpu_setup_44x.S for ARCH=ppc Commit 8112753bb2c0045398c89d0647792b39805f6d40 made 44x in ARCH=powerpc builds use cpu setup routines in cpu_setup_44x.S, but didn't make a similar change for ARCH=ppc, and consequently the ARCH=ppc builds fail with undefined symbols (since both use the same cputable.c). This fixes it by including cpu_setup_44x.S in the ARCH=ppc builds, and by taking out the now-redundant FPU initialization in arch/ppc/kernel/head_44x.S. Signed-off-by: Paul Mackerras commit d12fd121afd4f87cbc7675f8f6b651d649534f15 Author: Steve French Date: Wed Oct 3 19:43:19 2007 +0000 [CIFS] Cleanup formatting Signed-off-by: Steve French commit d0d66c443aefa51d5dbdd6a1d9b135a2a0e469cc Author: Shirish Pargaonkar Date: Wed Oct 3 18:22:19 2007 +0000 [CIFS] CIFS ACL support (part 2) Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit a8a11d399fc3c70f2aa645c7472235a06e8b8efa Author: Mariusz Kozlowski Date: Wed Oct 3 16:41:24 2007 +0000 [CIFS] remove some redundant argument checks This patch does kmalloc + memset conversion to kzalloc and removes some redundant argument checks. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Steve French commit d6f8deecefc133cac044f6029bdb349a1cb8753a Author: Pierre Ossman Date: Sun Sep 30 12:47:05 2007 +0200 sdhci: remove old dma module params The forcedma and nodma module parameters can be replaced with the quirks parameter, so remove the redundancy. Signed-off-by: Pierre Ossman commit 7c168e3db7d900008ee304574057e0dc1a8505af Author: Feng Tang Date: Sun Sep 30 12:44:18 2007 +0200 sdhci: add SDHCI_QUIRK_BROKEN_DMA quirk Some controllers like ENE712 can't work properly with DMA mode, add this quirk to force these kinds of HW work with PIO mode Signed-off-by: Feng Tang Signed-off-by: Pierre Ossman commit 56e71efe44eb06ae1761f43cca70a5f3cc54c0fb Author: Feng Tang Date: Sat Sep 29 14:15:05 2007 +0800 sdhci: remove DMA capability check from controller's PCI Class reg Many host controllers don't fully follow the PCI spec to claim whether they support DMA in PCI class register. Leave the driver to judge it from the Capability register, quirks and module parameter Signed-off-by: Feng Tang Signed-off-by: Pierre Ossman commit 2df3b71b2746469b5b344cf7da5facecd4110cc9 Author: Nicolas Pitre Date: Sat Sep 29 10:46:20 2007 -0400 sdhci: fix a typo Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 5ae70296c85f96a9969891d9de3410ebdf210b71 Author: Philip Langdale Date: Sat Sep 15 12:54:08 2007 -0700 mmc: Disabler for Ricoh MMC controller Thanks to Matt Domsch and Rezwanul Kabir at Dell, we know how to disable the MMC controller on the multi-function Ricoh R5C832. The MMC controller needs to be disabled or it will steal MMC cards from the SD controller where they would otherwise be supported by the Linux SDHCI driver. Signed-off-by: Philipl Langdale Signed-off-by: Pierre Ossman commit e077b50c29a7e8be5812d1156934ea837b712ca6 Author: Grant Likely Date: Wed Oct 3 02:47:02 2007 +1000 [POWERPC] Uartlite: Revert register io access changes Reverts commit a15da8eff3627b8368db7f5dd260e5643213d918 This driver is used by devices other than the xilinx opb-uartlite which depend on bytewise access to the registers. The change to 32 bit access does not work on these devices. Signed-off-by: Grant Likely Acked-by: Peter Korsgaard Signed-off-by: Josh Boyer commit be1b4d34e3a379d20d50e75a95aa5c3f0c7cf612 Author: Grant Likely Date: Wed Oct 3 02:44:15 2007 +1000 [POWERPC] Uartlite: Add macros for register names Add macros to define register names to improve readability. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 69c9c94303e309c02cf4b3e671a46a34fd0c4b0b Author: Grant Likely Date: Mon Oct 1 07:47:05 2007 +1000 [POWERPC] Setup default eth addr in embed_config for Xilinx Virtex platforms This simply adds the boilerplate default Ethernet address to embed_config for the Xilinx platform (bug fix). Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit dc8afdc7ada82562231cbae867fe6dcdb7b677f5 Author: Grant Likely Date: Mon Oct 1 07:47:00 2007 +1000 [POWERPC] XilinxFB: Move xilinxfb_platform_data definition to a shared header file XilnixFB can be used by more than just arch/ppc. Move the data structure definition into include/linux/xilinxfb.h so it can be used by microblaze and arch/powerpc Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit bedfc8a040378cb51f46155c980d295c2c397203 Author: Grant Likely Date: Mon Oct 1 07:46:55 2007 +1000 [POWERPC] Uartlite: Flush RX fifo in bootwrapper Flush the uartlite RX fifo so that characters typed before entry into the zImage wrapper do not muck up the kernel command line. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 267b49a96e30f129600bdb4f3fa6d80d6dd42523 Author: Josh Boyer Date: Tue Oct 2 07:33:22 2007 -0500 [POWERPC] Add treeImage to .gitignore Tell git to ignore the generated treeImage.* files in arch/powerpc/boot Signed-off-by: Josh Boyer commit fb4e6e663b404ecdfac2e3f6e643d204488b28e9 Author: Grant Likely Date: Tue Oct 2 12:16:09 2007 +1000 [POWERPC] Uartlite: Let the console be initialized earlier By configuring it earlier we get console output sooner which is helpful for debugging when the kernel crashes before the serial drivers are initialized. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 852e1ea748e83eba7fdb1cc198f271837b16137b Author: Grant Likely Date: Tue Oct 2 12:16:04 2007 +1000 [POWERPC] Uartlite: Add of-platform-bus binding Add of_platform bus binding so this driver can be used with arch/powerpc Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 435706b385d1f5422e44ee86b5dec0a2150eca02 Author: Grant Likely Date: Tue Oct 2 12:15:59 2007 +1000 [POWERPC] Uartlite: Comment block tidy Tidy the comments to split the driver into logical section; the main driver, the console driver, the platform bus binding, and module initialization and teardown. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 8fa7b6100693e0b648ffd34564f6f41226502a19 Author: Grant Likely Date: Tue Oct 2 12:15:54 2007 +1000 [POWERPC] Uartlite: Separate the bus binding from the driver proper Separate the bus binding code from the driver structure allocation code in preparation for adding the of_platform_bus bindings needed by arch/powerpc Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 00775828e66124b4af54fafc393e5e89248802c9 Author: Grant Likely Date: Tue Oct 2 12:15:49 2007 +1000 [POWERPC] Uartlite: Add macro for uartlite device name Changed to make the following OF_platform bus binding patch a wee bit cleaner Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 483c79db95b56a9650bd6f0638e7366eb20ffc01 Author: Grant Likely Date: Tue Oct 2 12:15:44 2007 +1000 [POWERPC] Uartlite: change name of ports to ulite_ports Changed to match naming convention used in the rest of the module Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit a15da8eff3627b8368db7f5dd260e5643213d918 Author: Grant Likely Date: Tue Oct 2 12:15:39 2007 +1000 [POWERPC] Uartlite: Fix reg io to access documented register size The Uartlite data sheet defines the registers as 32 bit wide. This patch changes the register access to use 32 bit transfers and eliminates the magic +3 offset which is currently required to make the device work. Signed-off-by: Grant Likely Acked-by: John Williams Signed-off-by: Josh Boyer commit 260c02a9beddf4186a8c7549b2eec2f6c67f1151 Author: Grant Likely Date: Tue Oct 2 12:15:34 2007 +1000 [POWERPC] Add PowerPC Xilinx Virtex entry to maintainers Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 486ba7e6418b69143701f6772e8864d9299178b8 Author: Grant Likely Date: Tue Oct 2 12:15:29 2007 +1000 [POWERPC] Virtex: Add generic Xilinx Virtex board support Adds support for generic Xilinx Virtex boards. Any board which specifies "xilinx,virtex" in the compatible property will make use of this board support. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 4dc9783ea9e4d6f97e40b808991b324a4719a837 Author: Grant Likely Date: Tue Oct 2 12:15:23 2007 +1000 [POWERPC] Virtex: add xilinx interrupt controller driver Adds support for the Xilinx opb-intc interrupt controller Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 36660cef734e3c80c4379443781ed0b2fe3e1ffe Author: Grant Likely Date: Tue Oct 2 12:15:18 2007 +1000 [POWERPC] Virtex: Add Kconfig macros for Xilinx Virtex board support Add the needed kconfig macros to enable Xilinx Virtex board support Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 7ddc5f978b16c024b6c1fcecbda6815d3d3222ef Author: Grant Likely Date: Tue Oct 2 12:15:13 2007 +1000 [POWERPC] Virtex: Add uartlite bootwrapper driver Allows the bootwrapper to use the uartlite device for console output. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 340ffd267c85fc28da7cfd681b177c816af800cf Author: Valentine Barshak Date: Sat Sep 22 00:50:09 2007 +1000 [POWERPC] 4xx: 440EPx/GRx incorrect write to DDR SDRAM errata workaround Add a workaround for PowerPC 440EPx/GRx incorrect write to DDR SDRAM errata. Data can be written to wrong address in SDRAM when write pipelining enabled on plb0. We disable it in the cpu_setup for these processors at early init. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 8112753bb2c0045398c89d0647792b39805f6d40 Author: Valentine Barshak Date: Sat Sep 22 00:46:57 2007 +1000 [POWERPC] 4xx: Move 440EP(x) FPU setup from head_44x to cpu_setup_4xx The PowerPC 440EP(x) FPU init is currently done in head_44x under ifdefs. Since we should support more then one board in the same kernel, we move FPU initialization code from head_44x to cpu_setup_44x and add cpu_setup callbacks for 440EP(x). Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 84e3ad5b91ed51db7513a54ad7ed652ab0ca4ba1 Author: Valentine Barshak Date: Sat Sep 22 00:44:38 2007 +1000 [POWERPC] 4xx: Introduce cpu_setup functionality to 44x platform This adds cpu_setup functionality for ppc44x platform. Low level cpu-spefic initialization routines should be placed in cpu_setup_44x.S and a callback should be added to cputable. The cpu_setup is invoked by identify_cpu() function at early init. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 2e71cc0d51d8f0dd4532d88c8fffccc08ba7ecdb Author: Josh Boyer Date: Mon Sep 24 07:32:15 2007 -0500 [POWERPC] 4xx: Fix Walnut wrapper compile errors Pass the appropriate -mcpu flag to the treeboot-walnut.o object to prevent some toolchains from erroring out with unknown opcodes Signed-off-by: Josh Boyer commit 01bd5e9ef2ead97059a1930de43942bdfc9e8755 Author: Paul Mundt Date: Wed Oct 3 17:21:10 2007 +0900 sh: Make kgdb i-cache flushing less inept. kgdb had its own ranged I-cache flushing routine that attempted to duplicate the flush_icache_range() functionality, but managed to do an explicit D-cache writeback & invalidate twice on SH-4. This is a no-op for SH-3, and the flush_icache_range() semantics already do what kgdb was feebly attempting to do already, so just move over to that and kill off the wrapper. Signed-off-by: Paul Mundt commit a90f354709b372c8dcabe3cd6315a83da5927573 Author: Paul Mundt Date: Wed Oct 3 17:13:34 2007 +0900 sh: kgdb section mismatches and tidying. The kgdb console setup was callable from a left-over deferred initialization path, which in turn depends on __init symbols. Since the deferred initialization was removed some time ago, kill off the rest of those remnants and move kgdb_init() and friends to __init. Signed-off-by: Paul Mundt commit e1fb4552ac938f2f70e9df2169b681594752bd85 Author: Thomas Gleixner Date: Wed Oct 3 15:04:08 2007 +0900 sh: cleanup struct irqaction initializers. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit 948d12cbc30b85dc9effbaaf506b2eeefaefea07 Author: Thomas Gleixner Date: Wed Oct 3 15:02:14 2007 +0900 sh64: cleanup struct irqaction initializers. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit 1ad749980a5fda46f7ec920d8409ddcc89b38714 Author: Tony Breeds Date: Fri Sep 21 13:26:03 2007 +1000 [POWERPC] Enable tickless idle and high res timers for powerpc Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit d831d0b83f205888f4be4dee0a074ad67ef809b3 Author: Tony Breeds Date: Fri Sep 21 13:26:03 2007 +1000 [POWERPC] Implement clockevents driver for powerpc This registers a clock event structure for the decrementer and turns on CONFIG_GENERIC_CLOCKEVENTS, which means that we now don't need most of timer_interrupt(), since the work is done in generic code. For secondary CPUs, their decrementer clockevent is registered when the CPU comes up (the generic code automatically removes the clockevent when the CPU goes down). Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit a0c7ce9c877ceef8428798ac91fb794f83609aed Author: Tony Breeds Date: Wed Oct 3 11:19:09 2007 +1000 [POWERPC] Fix panic in RTAS code Some older pSeries machines were panicking in pSeries_log_error because it was getting called before it was ready. This is a result of commit "[POWERPC] pseries: Fix jumbled no_logging flag." (79c0108d1b9db4864ab77b2a95dfa04f2dcf264c). This fixes it by explicitly enabling RTAS error logging when it has been initialized, and also makes the code clearer by renaming the "no_more_logging" variable to "logging_enabled". Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 2d5f5659649924b86d527a2af2552bab741d1d6f Author: Linas Vepstas Date: Wed Oct 3 07:40:12 2007 +1000 [POWERPC] Use alloc_maybe_bootmem() in pcibios_alloc_controller Use alloc_maybe_bootmem() which wraps the if (mem_init_done) malloc clause. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit da0bd34e03b48f366a29e0ecdb24f8a0fe856d40 Author: Ishizaki Kou Date: Tue Oct 2 18:26:53 2007 +1000 [POWERPC] Celleb: update for PCI This adds support for the PCI bus on Celleb with new "I/O routines for PowerPC." External PCI on Celleb must do explicit synchronization with devices (Bus has no automatic synchronization feature). Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 86de9f5f5e663123a5a49c6fe39750bea3dba24c Author: Ishizaki Kou Date: Tue Oct 2 18:25:16 2007 +1000 [POWERPC] Celleb: Serial I/O update This is an update for Serial I/O on Celleb. - Detection algorithm has been changed Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 7f2c85777db26c120821bc1c9b8273a30a705a09 Author: Ishizaki Kou Date: Tue Oct 2 18:23:46 2007 +1000 [POWERPC] Celleb: New HTAB Guest OS Interface on Beat This changes the Celleb code to work with new Guest OS Interface to tweak HTAB on Beat. It detects old and new Guest OS Interfaces automatically. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit b41848031ac16aee8d045e86f0b7ad3ba97e961e Author: Ishizaki Kou Date: Tue Oct 2 18:21:21 2007 +1000 [POWERPC] Celleb: Support for Power/Reset buttons This supports Power/Reset buttons on Beat on Celleb. On Beat, we have an event from Beat if Power button or Reset button is pressed. This patch catches the event and convert it to a signal to INIT process by calling ctrl_alt_del() function. /sbin/inittab have no entry to turn the machine power off so we have to detect if power button is pressed or not internally in our driver. This idea is taken from PS3's event handling subsystem. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 80755b4144b303882437ac301034f0c7330199a8 Author: Ishizaki Kou Date: Tue Oct 2 18:18:46 2007 +1000 [POWERPC] Celleb: Move pause, kexec_cpu_down to beat.c This is an update for "Beat on Celleb" - Move beat_pause(), beat_kexec_cpu_down() from setup.c to beat.c Signed-off-by: Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 74c9b99d4dcadd144fab7326c99d0ffb1de19245 Author: Joachim Fenkes Date: Wed Sep 26 19:46:34 2007 +1000 [POWERPC] ibmebus: More descriptive error return code in ibmebus_store_probe() Signed-off-by: Joachim Fenkes Signed-off-by: Paul Mackerras commit 4acb889627412cbab6b4b44593efe232f5028eb2 Author: Michael Ellerman Date: Mon Sep 17 16:05:02 2007 +1000 [POWERPC] Update axon_msi to use dcr_host_t.base Now that dcr_host_t contains the base address, we can use that in the axon_msi code, rather than storing it separately. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0411a5e233db0f5196cff46a34bff15c005bbe6a Author: Michael Ellerman Date: Mon Sep 17 16:05:01 2007 +1000 [POWERPC] Update mpic to use dcr_host_t.base Now that dcr_host_t contains the base address, we can use that in the mpic code, rather than storing it separately. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0b94a1eeeeb3542d046b928ca01fcd4bf0ea7587 Author: Michael Ellerman Date: Mon Sep 17 16:05:00 2007 +1000 [POWERPC] Store the base address in dcr_host_t In its current form, dcr_map() doesn't remember the base address you passed it, which means you need to store it somewhere else. Rather than adding the base to another struct it seems simpler to store it in the dcr_host_t. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ca786f83a97d7897b013b1e9b290c9010b69af9b Author: Adrian Bunk Date: Tue Oct 2 13:30:09 2007 -0700 [POWERPC] Select proper defconfig for crosscompiles The trick for finding the right defconfig is neat, but you forgot to provide an i686_defconfig. ;-) More seriously, cross compiling the defconfig is often useful, e.g. for testing the compilation of patches that touch multiple architectures, and this patch therefore chooses g5_defconfig if $(CROSS_COMPILE) is non-empty. Signed-off-by: Adrian Bunk Acked-by: Sam Ravnborg Cc: Benjamin Herrenschmidt Cc: Olof Johansson Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 3049ea7e04408abf35dc295014cb6f1eabcf9b8c Author: Cyrill Gorcunov Date: Tue Oct 2 13:30:09 2007 -0700 [POWERPC] Sky Cpu and Nexus: use seq_file/single_open on proc interface This patch changes proc interface to be used with single_file/seq_open calls. Signed-off-by: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 8b70da1a094fb781d49a811fd2368907adc92b8d Author: Cyrill Gorcunov Date: Tue Oct 2 13:30:08 2007 -0700 [POWERPC] Sky Cpu: use C99 style for struct init This changes structure item init format to C99, and removes useless structure items init. Signed-off-by: Cyrill Gorcunov Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Brian Waite Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 5f725fe92cc2e75892b237e863d5f695fb634bb2 Author: Cyrill Gorcunov Date: Tue Oct 2 13:30:07 2007 -0700 [POWERPC] Sky Cpu and Nexus: check for create_proc_entry ret code Adds checking of create_proc_entry call to prevent possible NULL pointer usage. Signed-off-by: Cyrill Gorcunov Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Kumar Gala Cc: Brian Waite Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 7472fd36a87e84c2819066543224285a6ab79ffc Author: Cyrill Gorcunov Date: Tue Oct 2 13:30:06 2007 -0700 [POWERPC] Sky Cpu and Nexus: check for platform_get_resource retcode Add adds checking for platform_get_resource() return code to prevent possible NULL pointer usage. Signed-off-by: Cyrill Gorcunov Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Brian Waite Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit d2ceb47a7cbcc50b45832c6b24c47515838d169a Author: Cyrill Gorcunov Date: Tue Oct 2 13:30:06 2007 -0700 [POWERPC] Sky Cpu and Nexus: include io.h Add #include directive to properly declare ioremap() and writel(). Signed-off-by: Cyrill Gorcunov Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Brian Waite Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit a4e32b5f0ac60e6bca7c6896f47e1c624ae45df1 Author: Cyrill Gorcunov Date: Tue Oct 2 13:30:05 2007 -0700 [POWERPC] Sky Cpu and Nexus: code style improvement Remove useless spaces and adds some empty lines to make code more readable. Also marker for printk is added. Signed-off-by: Cyrill Gorcunov Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Brian Waite Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 8150caad02266623b5b9f58088d589f130fccd97 Author: Roland McGrath Date: Tue Oct 2 13:30:04 2007 -0700 [POWERPC] powerpc vDSO: install unstripped copies on disk This keeps an unstripped copy of the vDSO images built before they are stripped and embedded in the kernel. The unstripped copies get installed in $(MODLIB)/vdso/ by "make install". These files can be useful when they contain source-level debugging information. Signed-off-by: Roland McGrath Cc: Sam Ravnborg Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit d4243c175f127b377c881f512e7fb8ddaf2ed5e2 Author: Mathieu Desnoyers Date: Tue Oct 2 13:30:04 2007 -0700 [POWERPC] Include pagemap.h in asm/powerpc/tlb.h Fixes this powerpc build error in 2.6.22-rc6-mm1 for powerpc 64 with CONFIG_SWAP=n : In file included from include2/asm/tlb.h:60, from /home/compudj/git/linux-2.6-lttng/arch/powerpc/mm/init_64. c:56: /home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h: In function 'tlb_flush_mmu': /home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h:76: error: implicit declaration of function 'release_pages' /home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h: In function 'tlb_remove_page': /home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h:105: error: implicit declaration of function 'page_cache_release' make[2]: *** [arch/powerpc/mm/init_64.o] Error 1 release_pages is declared in linux/pagemap.h, but cannot be included in linux/swap.h because of a sparc related comment: /* only sparc can not include linux/pagemap.h in this file * so leave page_cache_release and release_pages undeclared... */ #define free_page_and_swap_cache(page) \ page_cache_release(page) #define free_pages_and_swap_cache(pages, nr) \ release_pages((pages), (nr), 0); Signed-off-by: Mathieu Desnoyers Cc: Benjamin Herrenschmidt Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 048c8bc90e53bf1f5feec020a7d482da94894e93 Author: Hugh Dickins Date: Wed Nov 1 05:44:54 2006 +1100 [POWERPC] ppc64: support CONFIG_DEBUG_PREEMPT Add CONFIG_DEBUG_PREEMPT support to ppc64: it was useful for testing get_paca() preemption. Cheat a little, just use debug_smp_processor_id() in the debug version of get_paca(): it contains all the right checks and reporting, though get_paca() doesn't really use smp_processor_id(). Use local_paca for what might have been called __raw_get_paca(). Silence harmless warnings from io.h and lparcfg.c with local_paca - it is okay for iseries_lparcfg_data to be referencing shared_proc with preemption enabled: all cpus should show the same value for shared_proc. Why do other architectures need TRACE_IRQFLAGS_SUPPORT for DEBUG_PREEMPT? I don't know, ppc64 appears to get along fine without it. Signed-off-by: Hugh Dickins Signed-off-by: Paul Mackerras commit 5669c3cf19fbadaa9120b59914beec8431277efe Author: Stephen Rothwell Date: Tue Oct 2 13:37:53 2007 +1000 [POWERPC] Limit range of __init_ref_ok somewhat This patch introduces zalloc_maybe_bootmem and uses it so that we don't have to mark a whole (largish) routine as __init_ref_ok. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 88de3cab98ff6c794b840969427e61605d0cc1ea Author: Mark A. Greer Date: Tue Oct 2 10:24:08 2007 +1000 [POWERPC] MAINTAINERS shouldn't reference linuxppc-embedded Powerpc patches should be posted to linuxppc-dev@ozlabs.org, so modify MAINTAINERS to no longer reference linuxppc-embedded@ozlabs.org. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 0de2d820067e03ca93f6bf5320d362d5262fb7a3 Author: Scott Wood Date: Fri Sep 28 04:38:55 2007 +1000 [POWERPC] Make instruction dumping work in real mode On non-book-E, exceptions execute in real mode. If a fault happens that leads to a register dump, the kernel currently prints XXXXXXXX because it doesn't realize that PC is a physical address. This patch checks whether instruction address translation is turned on, and if not converts PC into a virtual address. Signed-off-by: Scott Wood Acked-by: Kumar Gala Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 3eb523b939d59fd90518188750c26df5d357478f Author: Arnd Bergmann Date: Thu Sep 27 00:02:05 2007 +1000 [POWERPC] Fix pci domain detection The /proc/bus/pci/* files list PCI domain numbers only for devices that claim to be on a multi-domain system. The check for this is broken on powerpc, because the buid value is truncated to 32 bits. There is at least one machine (IBM QS21) that only uses the high-order bits of the buid, so the return value of pci_proc_domain() ends up being always zero, which makes /proc/bus/pci useless. Change the logic to always return '1' for a nonzero buid value. Signed-off-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fabca2c0a461bd82a35194e3a4bb1e98f3ffa789 Author: Roland McGrath Date: Tue Sep 25 09:50:52 2007 +1000 [POWERPC] Add CHECK_FULL_REGS in several places in ptrace code This restores the CHECK_FULL_REGS sanity check to every place that can access the nonvolatile GPRs for ptrace. This is already done for native-bitwidth PTRACE_PEEKUSR, but was omitted for many other cases (32-bit ptrace, PTRACE_GETREGS, etc.); I think there may have been more uniform checks before that were lost in the recent cleanup of GETREGS et al. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit fec6047047fda307e47b9e87697144a89528c752 Author: Scott Wood Date: Tue Sep 25 06:09:49 2007 +1000 [POWERPC] bootwrapper: Add PlanetCore firmware support This is a library that board code can use to extract information from the PlanetCore configuration keys. PlanetCore is used on various boards from Embedded Planet. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 27ff35d9026b5d41d66ed95b65d7819db4cf5fb1 Author: Scott Wood Date: Tue Sep 25 06:09:11 2007 +1000 [POWERPC] bootwrapper: Factor out dt_set_mac_address() This allows callers to set addresses one at a time when that would be more convenient. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 51a505d73bfed863135861fdc0496a09766b69d5 Author: Milton Miller Date: Sat Sep 22 09:03:52 2007 +1000 [POWERPC] boot: Simplify gunzip_finish Call gunzip_partial to calculate the remaining length and copy the data to the user buffer. This makes it shorter and reduces duplication. Signed-off-by: Milton Miller Acked-by: David Gibson Signed-off-by: Paul Mackerras commit e47654d016c68a02f654ac16951577804f7789c7 Author: Milton Miller Date: Sat Sep 22 09:03:34 2007 +1000 [POWERPC] boot: Record header bytes in gunzip_start Record the number of header bytes skipped in the total bytes read field. This is needed for the initramfs parsing code to find the end of the zip file. Signed-off-by: Milton Miller Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 6fccab26df4f59815d7ec912e4111a92807780de Author: Stephen Rothwell Date: Fri Sep 21 14:32:05 2007 +1000 [POWERPC] Make vio_bus_type static Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit c868078ed82e3651b16f68a420ae7568de2102db Author: Stephen Rothwell Date: Fri Sep 21 14:31:02 2007 +1000 [POWERPC] Simplify vio_bus_init a little for legacy iSeries iSeries_vio_dev was already statically initialised and we can remove one set of #ifdef CONFIG_PPC_ISERIES guards. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit c546726293912c932f3c14d06b0f68e175d70781 Author: Stephen Rothwell Date: Fri Sep 21 14:29:28 2007 +1000 [POWERPC] Remove debug printk from vio_bus_init As it just adds noise to the boot messages. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 4a4cfe3836916e12282ceb5c4bdd799dc71af567 Author: Tony Breeds Date: Sat Sep 22 07:35:52 2007 +1000 [POWERPC] Implement generic time of day clocksource for powerpc Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit aa3be5f32db137bc4404f32a24b36fb47d48d260 Author: Tony Breeds Date: Fri Sep 21 13:26:02 2007 +1000 [POWERPC] Implement {read,update}_persistent_clock With these functions implemented we cooperate better with the generic timekeeping code. This obsoletes the need for the timer sysdev as a bonus. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit df174e3be88d4352bfcfe20d11adc671d2961c79 Author: Ed Swarthout Date: Fri Sep 21 12:53:02 2007 +1000 [POWERPC] Add memory regions to the kcore list for 32-bit machines The entries are only 32-bit, so restrict the virtual address to stay below 0xffff_ffff. With KERNELBASE set to 0xc000_0000, this in effect restricts access to the first 1GB of real memory. Make setup_kcore conditional on CONFIG_PROC_KCORE for both 32/64. Signed-off-by: Ed Swarthout Signed-off-by: Paul Mackerras commit 94987aff23bcdd7cee92edf02c2f4ef259d1cbf6 Author: Paul Mackerras Date: Fri Sep 21 11:52:36 2007 +1000 [POWERPC] Disable power management for arch/ppc Currently the prep_defconfig in arch/ppc won't build due to swsusp being broken. This patch avoids the problem by essentially disabling all power management on those platforms left in arch/ppc. Signed-off-by: Paul Mackerras commit 2578bfae84a78bd46fdbc0d2f9d39e9fbc9c8a3f Author: Stephen Rothwell Date: Fri Sep 21 10:16:20 2007 +1000 [POWERPC] Create and use CONFIG_WORD_SIZE Linus made this suggestion for the x86 merge and this starts the process for powerpc. We assume that CONFIG_PPC64 implies CONFIG_PPC_MERGE and CONFIG_PPC_STD_MMU_32 implies CONFIG_PPC_STD_MMU. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 75918a4b5998c93ee1ab131fbe64b97b5d0d2315 Author: Olof Johansson Date: Fri Sep 21 05:11:20 2007 +1000 [POWERPC] Separate out legacy machine check exception parsers Move out the old-style exception parsers to a separate function, and don't call it on platforms that have a platform-specific handler. It would make sense to move out the generic versions into their platforms instead, but that can be done gradually down the road. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 6f6682809b994fd9a61081fa0410df31481d5f7f Author: Domen Puncer Date: Fri Sep 21 00:00:11 2007 +1000 [POWERPC] clk.h interface for platforms This provides an implementation of the interface for arch/powerpc using a set of function pointers in clk_functions. Platforms that want to support this interface should fill clk_functions and select CONFIG_PPC_CLOCK in Kconfig. Signed-off-by: Domen Puncer Signed-off-by: Paul Mackerras commit 21ccdd31e9c70f42b00d9ea152f6c4e0ff3f536e Author: Michael Ellerman Date: Thu Sep 20 16:36:51 2007 +1000 [POWERPC] Inline u3msi_compose_msi_msg() In the MPIC U3 MSI code, we call u3msi_compose_msi_msg() once for each MSI. This is overkill, as the address is per pci device, not per MSI. So setup the address once, and just set the data per MSI. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit d385366a9b96fc3f4705f8513adccceaa0515f97 Author: Michael Ellerman Date: Thu Sep 20 16:36:50 2007 +1000 [POWERPC] Simplify rtas_change_msi() error semantics Currently rtas_change_msi() returns either the error code from RTAS, or if the RTAS call succeeded the number of irqs that were configured by RTAS. This makes checking the return value more complicated than it needs to be. Instead, have rtas_change_msi() check that the number of irqs configured by RTAS is equal to what we requested - and return an error otherwise. This makes the return semantics match the usual 0 for success, something else for error. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit fcbe8090a001522f98ad6f3146f0a1d9fa473821 Author: Michael Ellerman Date: Thu Sep 20 16:36:48 2007 +1000 [POWERPC] Simplify error logic in rtas_setup_msi_irqs() rtas_setup_msi_irqs() doesn't need to call teardown() itself, the generic code will do this for us as long as we return a non-zero value. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit d9303d662fa3fca8a6d27dee82b961a5f5524f20 Author: Michael Ellerman Date: Thu Sep 20 16:36:47 2007 +1000 [POWERPC] Simplify error logic in u3msi_setup_msi_irqs() u3msi_setup_msi_irqs() doesn't need to call teardown() itself, the generic code will do this for us as long as we return a non zero value. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit db220b234da9f183b127b9c3077c253b94756e35 Author: Michael Ellerman Date: Mon Sep 17 16:03:45 2007 +1000 [POWERPC] Make sure to of_node_get() the result of pci_device_to_OF_node() pci_device_to_OF_node() returns the device node attached to a PCI device, but doesn't actually grab a reference - we need to do it ourselves. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a35e370cfd2ddfb5d2f0ceae376ffeda273b357c Author: Arnd Bergmann Date: Thu Aug 30 09:11:24 2007 +1000 [POWERPC] Move embedded6xx into multiplatform The various embedded 6xx systems can easily coexist in one kernel together with the other 6xx based systems, so there is no strict reason to keep them separate. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit a7fb7ea76e20740c641a9b5401ef45b3b022cb69 Author: Linas Vepstas Date: Fri Aug 10 09:27:00 2007 +1000 [POWERPC] pseries: device node status can be "ok" or "okay" It seems that some versions of firmware will report a device node status as the string "okay". As we are not expecting this string, the device node will be ignored by the EEH subsystem. Which means EEH will not be enabled. When EEH is not enabled, PCI errors will be converted into Machine Check exceptions, and we'll have a very unhappy system. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 008d50fc16e8ea5005d324a25d62d29e417151fe Author: Paul Mundt Date: Tue Oct 2 16:24:50 2007 +0900 sh: early_printk tidying. setup_early_printk() can be static, and with that, we can kill off the early initialization variable and move the CON_BOOT check in to the function body. Signed-off-by: Paul Mundt commit 9b22b0b726c6e46048767728a0900c8c05f93c21 Author: Steve French Date: Tue Oct 2 01:11:08 2007 +0000 [CIFS] Reduce chance of list corruption in find_writable_file When find_writable_file is racing with close and the session to the server goes down, Shaggy noticed that there was a chance that an open file in the list of files off the inode could have been freed by close since cifs_reconnect can block (the spinlock thus not held). This means that we have to start over at the beginning of the list in some cases. There is a 2nd change that needs to be made later (pointed out by Jeremy Allison and Shaggy) in order to prevent cifs_close ever freeing the cifs per file info when a write is pending. Although we delay close from freeing this memory for sufficiently long for all known cases, ultimately on a very, very slow write overlapping a close pending we need to allow close to return (without freeing the cifs file info) and defer freeing the memory to be the responsibility of the (sloooow) write thread (presumably have to look at every place wrtPending is decremented - and add a flag for deferred free for after wrtPending goes to zero). Acked-by: Shaggy Acked-by: Shirish Pargaonkar Signed-off-by: Steve French commit 4084973dbae9a24e58598d6cdf60f0e5e4a3cabf Author: Steve French Date: Mon Oct 1 19:59:01 2007 +0000 [CIFS] change misleading field name num_auth is really num_subauth in ACL terminology Signed-off-by: Steve French commit 090495b54fabc88169aedebb2b3831a3b9ef174c Author: Paul Mundt Date: Mon Oct 1 18:05:36 2007 +0900 sh64: Kill off dead gdb stub symbol. There's no supported GDB stub in the kernel, kill off the dead config option for it. Signed-off-by: Paul Mundt commit 137a84acae1235774a0c3f7a4073f49d1438f336 Author: Paul Mundt Date: Mon Oct 1 18:04:55 2007 +0900 sh64: alphanumeric display only on Cayman. Dependency cleanup. The non-cayman boards don't have the mach callbacks for this and build error badness ensues. Signed-off-by: Paul Mundt commit 40ebfdbf5320e5b93399bef11a02cd36d095952e Author: Paul Mundt Date: Mon Oct 1 18:02:58 2007 +0900 sh64: Add defconfigs for mach-sim and mach-harp. defconfigs for the simulator and ST50-HARP. Signed-off-by: Paul Mundt commit 0c09e7d17c76007a3429691baa1247f2183f88ec Author: Paul Mundt Date: Mon Oct 1 17:48:28 2007 +0900 sh64: update cayman defconfig. Signed-off-by: Paul Mundt commit 8653fe49fc5b8541451a2a4bc5078d5163132907 Author: Paul Mundt Date: Mon Oct 1 17:45:24 2007 +0900 sh64: Tidy up Kconfig dependencies. Now that the ROM-RAM and generic boards are killed off, refactor the dependencies accordingly. Those were the only special cases, so all of the Kconfig dependency hell gets much cleaner as a result. Signed-off-by: Paul Mundt commit 049aa166b112beab77b9a2f8d9caa03b74843eab Author: Paul Mundt Date: Mon Oct 1 17:43:11 2007 +0900 sh64: Move consistent DMA routines to arch/sh64/mm/. The consistent DMA stuff was evolved from the old PCI DMA mapping functions. As this has been overhauled, it's something that is used by the generic DMA mapping code, and thus, has no intrinsic PCI dependence. Move the routines somewhere more sensible (same place as sh), and fix up the build for CONFIG_PCI=n in the process. Signed-off-by: Paul Mundt commit 749c84966c990092da20203a80e0749b614c79a6 Author: Paul Mundt Date: Mon Oct 1 17:36:47 2007 +0900 sh64: Some symbol exports and build fixes. This fixes up misc build issues that were hit on the non-cayman boards. Additionally, quite a few symbols needed to be exported to fix the module build. Signed-off-by: Paul Mundt commit 6b3d7f02a180af0d711d259adb4eccde1c3f10cd Author: Paul Mundt Date: Mon Oct 1 17:31:27 2007 +0900 sh64: mach-sim: Build fixes. Follow the mach-harp changes to get the simulator support building. Signed-off-by: Paul Mundt commit 7786962beed5161717a299933dd08240e20b6e26 Author: Paul Mundt Date: Mon Oct 1 17:30:40 2007 +0900 sh64: mach-harp: Build fixes. Get the ST50-HARP building again. Signed-off-by: Paul Mundt commit ced238f35b2dc9a0c53d0045ec42d818444946b8 Author: Paul Mundt Date: Mon Oct 1 16:24:53 2007 +0900 sh64: Kill off duplicate frame pointer option. This is already enabled through lib/Kconfig.debug, kill off the architecture specific one. Signed-off-by: Paul Mundt commit d00677255077c3b085a32c1a104fc42a64d17e6f Author: Paul Mundt Date: Mon Oct 1 16:20:41 2007 +0900 sh64: Kill off dead ROM-RAM and generic boards. The generic board stubs were never added, and the ROM-RAM boards never made it in to the wild. Neither one has any users, and both are utterly broken in-tree (likely since 2.4). Kill them both off. Signed-off-by: Paul Mundt commit 4e99b0b8d2e5a72b0fd27136fb3c0f08fc1da395 Author: Paul Mundt Date: Mon Oct 1 16:16:34 2007 +0900 sh64: Tidy up includes for Cayman board. There were quite a few left over includes from code that was removed long ago, rip out the stuff we no longer need. Signed-off-by: Paul Mundt commit 1ef7cbbe2157274a7003e78ef60b7ad885a970b8 Author: Paul Mundt Date: Mon Oct 1 16:13:28 2007 +0900 sh64: Move *_p() I/O routine variants to io.h. These were implemented using an ugly macro for just simple wrapping, so we just make the wrapping explicit and move it to io.h instead. Also fixes up some modules: CC [M] drivers/net/8390.o In file included from drivers/net/8390.c:6: drivers/net/lib8390.c: In function 'ei_start_xmit': drivers/net/lib8390.c:329: error: implicit declaration of function 'outb_p' drivers/net/lib8390.c: In function '__ei_interrupt': drivers/net/lib8390.c:457: error: implicit declaration of function 'inb_p' make[2]: *** [drivers/net/8390.o] Error 1 make[1]: *** [drivers/net] Error 2 Signed-off-by: Paul Mundt commit 053c59a0a7234bac669992f5b8b933b7d7fc189d Author: Tim Shimmin Date: Mon Oct 1 16:39:37 2007 +1000 Revert "[XFS] Avoid replaying inode buffer initialisation log items if on-disk version is newer." This reverts commit b394e43e995d08821588a22561c6a71a63b4ff27. SGI-PV: 969656 SGI-Modid: xfs-linux-melb:xfs-kern:29804a Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 78d7e0e5b8e5d662c3e4bdceadbd84c913e69614 Author: Adrian McMenamin Date: Mon Oct 1 10:46:05 2007 +0900 video: pvr2fb: Add TV (RGB) support to Dreamcast PVR driver. Add support for RGB output to the Dreamcast PVR2 frame buffer driver. Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit 92ad9b93cd268371d1fc0edbd09383cc1c59be34 Author: Steve French Date: Sat Sep 29 05:21:58 2007 +0000 [CIFS] named pipe support (part 2) Also fixes typo which could cause build break Signed-off-by: Steve French commit 7f8ed420f80c91176dfd27c8089f22cab5c9ba78 Author: Steve French Date: Fri Sep 28 22:28:55 2007 +0000 [CIFS] CIFS support for named pipes (part 1) This allows cifs to mount to ipc shares (IPC$) which will allow user space applications to layer over authenticated cifs connections (useful for Wine and others that would want to put DCE/RPC over CIFS or run CIFS named pipes) Acked-by: Rob Shearman Signed-off-by: Steve French commit 836624619b98535079053920a29a7e474ac17cbc Author: Paul Mundt Date: Fri Sep 28 16:04:49 2007 +0900 sh: Conditionalize gUSA support. This conditionalizes gUSA support. gUSA is not supported on SMP configurations, and it's not necessary there anyways due to having other atomicity options (ie, movli.l/movco.l). Anything implementing the LL/SC semantics (all SH-4A CPUs) can switch to userspace atomicity implementations without requiring gUSA. This is left default-enabled on all UP so that glibc doesn't break. Those that know what they are doing can disable this explicitly. Signed-off-by: Paul Mundt commit 407f61a2b482ab9a6d03549ab9513e4a823ae4a2 Author: Steve French Date: Fri Sep 28 06:53:39 2007 +0000 [CIFS] Fix memory leak in statfs to very old servers We were allocating request buffers twice in the statfs path when mounted to very old (Windows 9x) servers. Signed-off-by: Steve French commit 995bb781d42441ed48517bc7ea6414c3df3386ef Author: Paul Mundt Date: Fri Sep 28 15:48:06 2007 +0900 sh: Follow gUSA preempt changes in __switch_to(). Signed-off-by: Paul Mundt commit e5137682a1ad48bc5306070935c277e262f119ef Author: Paul Mundt Date: Fri Sep 28 15:21:51 2007 +0900 sh: Tidy up gUSA preempt handling. Currently gUSA toggles hardirqs to disable preemption in the signal handler. Make the preemption toggling explicit, and kill off some CONFIG_PREEMPT ifdefs in the process. Signed-off-by: Paul Mundt commit 023ef184fff6ac2e7cba345708f35536a2a419cb Author: Stuart Menefy Date: Fri Sep 28 12:36:35 2007 +0900 sh: __copy_user() optimizations for small copies. This implements a fast-path for small (less than 12 bytes) copies, with the existing path treated as the slow-path and left as the default behaviour for all other copy sizes. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 24eb17e0813490497f4d5b2fad218bdba402cece Author: Stuart Menefy Date: Fri Sep 28 11:51:52 2007 +0900 sh: clkfwk: Support multi-level clock propagation. Currently clock propagation only works for one level, but we have some clocks which need to propagate multiple levels, so make this recursive. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit d5b4a3d0efa36de31b86d5677dad6c36cb8735d7 Author: Alexey Starikovskiy Date: Wed Sep 26 19:44:06 2007 +0400 ACPI: AC: Add sysfs interface Refer to Documentation/power_supply_class.txt for interface description. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 8bd955320661cfd03ab8d5574d96aa684acd38f6 Author: Alexey Starikovskiy Date: Wed Sep 26 19:44:00 2007 +0400 ACPI: SBS: Add sysfs alarm Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 66e4b72bfa7347fd1017b9b82dce77a410f2e4a1 Author: Alexey Starikovskiy Date: Wed Sep 26 19:43:54 2007 +0400 ACPI: SBS: Add ACPI_PROCFS around procfs handling code. Make procfs support optional under ACPI_PROCFS Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 94f6c0860139da9219255b8ff45ad42117dda859 Author: Alexey Starikovskiy Date: Wed Sep 26 19:43:48 2007 +0400 ACPI: SBS: Add support for power_supply class (and sysfs) Add support for power_supply class and sysfs interface of it. Refer to Documentation/power_supply_class.txt for interface description. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit db1c291af7ad748777371f25b9ff92e3e5aba38e Author: Alexey Starikovskiy Date: Wed Sep 26 19:43:41 2007 +0400 ACPI: SBS: Make SBS reads table-driven. Re-factor SBS functions to use tables and cycles for repeated operations. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 89862e3be1ba387c738fc2c3a5875cfd7e51c5a8 Author: Alexey Starikovskiy Date: Wed Sep 26 19:43:35 2007 +0400 ACPI: SBS: Simplify data structures in SBS Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 91087dfa51a29b3c190e99339c4c32eb13646c51 Author: Alexey Starikovskiy Date: Wed Sep 26 19:43:28 2007 +0400 ACPI: SBS: Split host controller (ACPI0001) from SBS driver (ACPI0002) Replace poll-based host controller driver with the notify-based one. Split it out of sbs.c. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 30c08574da0ead1a47797ce028218ce5b2de61c7 Author: Alexey Starikovskiy Date: Wed Sep 26 19:43:22 2007 +0400 ACPI: EC: Add new query handler to list head. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 8db85d4c9a0cc131242c80ef8456362d66561dc2 Author: Alexey Starikovskiy Date: Wed Sep 26 19:43:16 2007 +0400 ACPI: Add acpi_bus_generate_event4() function acpi_bus_generate_event() takes two strings out of passed device object. SBS needs to supply these strings directly. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 3e58ea0d31659b22ba5753f7abf3d7db346eab81 Author: Alexey Starikovskiy Date: Wed Sep 26 19:43:11 2007 +0400 ACPI: Battery: add sysfs alarm Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit d7380965752505951668e85de59c128d1d6fd21f Author: Alexey Starikovskiy Date: Wed Sep 26 19:43:04 2007 +0400 ACPI: Battery: Add sysfs support Refer to Documentation/power_supply_class.txt for interface description. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit aa650bbdcb94bde4292eabc44490970825c98669 Author: Alexey Starikovskiy Date: Wed Sep 26 19:42:58 2007 +0400 ACPI: Battery: Misc clean-ups, no functional changes Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit f1d4661abe05d0a2c014166042d15ed8b69ae8f2 Author: Alexey Starikovskiy Date: Wed Sep 26 19:42:52 2007 +0400 ACPI: Battery: simplify update scheme Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 038fdea2960be53f82353fd409526fb77a558c52 Author: Alexey Starikovskiy Date: Wed Sep 26 19:42:46 2007 +0400 ACPI: Battery: don't use acpi_extract_package() acpi_extract_package() creates more problems with memory management than it solves as helper for package handling. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 9b039330808b83acac3597535da26f47ad1862ce Author: Alexey Starikovskiy Date: Wed Sep 26 19:47:30 2007 +0400 ACPI: Hibernate erroneously disabled Suspend wakeup devices S4 suspend to disk will disable GPE's permanently because acpi_gpe_sleep_prepare() does not have a counterpart at resume time. Thus, those devices became unavailable for wakeup from subsequent S3 suspend-to-ram. Here acpi_gpe_sleep_prepare() is removed, and upon suspend acpi_enable_wakeup_device() gets its functionality. Upon resume, acpi_disable_wakeup_device() restores the state. https://bugzilla.novell.com/show_bug.cgi?id=292300 Signed-off-by: Alexey Starikovskiy Acked-by: Pavel Machek Signed-off-by: Len Brown commit 675bd7804cb53998a57f96d4133856c29213cabd Author: Paul Mundt Date: Thu Sep 27 18:22:21 2007 +0900 sh: Fix URAM start address on SH7785. Not all of the SH-X2 URAM blocks are mapped in the same place, SH7785 happens to map it on the opposite end of the address space from SH7722, correct the addresses. Signed-off-by: Paul Mundt commit cb7af21f7d370edb3a6a6d3e15cb17c8fd61591e Author: Paul Mundt Date: Thu Sep 27 18:18:39 2007 +0900 sh: Use boot_cpu_data for CPU probe. This moves off of smp_processor_id() and only sets the probe information for the boot CPU directly. This will be copied out for the secondaries, so there's no reason to do this each time. This also allows for some header tidying. Signed-off-by: Paul Mundt commit c3af39758ce49b79570ab5ff2f64e0ea5fd82c9b Author: Paul Mundt Date: Thu Sep 27 18:08:46 2007 +0900 sh: Support extended mode TLB on SH-X3. Signed-off-by: Paul Mundt commit 6f4285d13300f1c8cd675a41ab390cea06173cd1 Author: Pierre Ossman Date: Thu Sep 27 10:48:29 2007 +0200 sdio: adaptive interrupt polling The interrupt polling frequency is a compromise between power usage and interrupt latency. Unfortunately, it affects throughput rather severely for devices which require an interrupt for every chunk of data. By making the polling frequency adaptive, we get better throughput with those devices without sacficing too much power. Polling will quickly increase when there is an actual interrupt, and slowly fall back to the idle frequency when the interrupts stop coming. Signed-off-by: Pierre Ossman commit dc47e9dd419df6c73a0c57b47fd8e0742dbe3424 Author: Paul Mundt Date: Thu Sep 27 16:48:00 2007 +0900 sh: Bump MAX_ACTIVE_REGIONS for SH7785. When using URAM in NUMA mode another active region is needed. Bump this up so we don't trigger the region truncation in add_active_range(). Signed-off-by: Paul Mundt commit f72abd0a4c3298912c03befa41660d03a2e3321d Author: Paul Mundt Date: Thu Sep 27 16:45:46 2007 +0900 sh: Fix plat_irq_setup_pins() for SH7785. There was some debug code left in here that caused the pin changes to never be hit. Kill that off, and all is well. Signed-off-by: Paul Mundt commit c167aeef232c45deaf5c6c9be00a1f71b14962d3 Author: Paul Mundt Date: Thu Sep 27 16:43:39 2007 +0900 sh: Kill off duplicate NODES_SHIFT. We already set this in arch/sh/mm/Kconfig, don't set a conflicting one in arch/sh/Kconfig too.. Signed-off-by: Paul Mundt commit 09a4df5f0c8b7c418821fe591bf0d0f13b206c61 Author: Paul Mundt Date: Thu Sep 27 12:57:35 2007 +0900 sh: processor.h needs smp.h Trivial build fix for SH-2. Signed-off-by: Paul Mundt commit 4d2cab7c00ebf5c12c3177763fed5a6b4658d384 Author: Paul Mundt Date: Thu Sep 27 10:47:00 2007 +0900 sh: Disable 4kB pages on extended mode TLB. 4kB pages are unstable on extended mode TLB, it's recommended that TLB compat mode be used when using a 4kB PAGE_SIZE. Set the default for extended mode to 8kB. This should have negligible impact, as other than the extra swap cache entry bits, there's no reason to use the extended mode TLB with 4kB pages. Signed-off-by: Paul Mundt commit 26fad19d8c3ca9abd7ffb85a63f8e25f1b4910dc Author: Paul Mundt Date: Thu Sep 27 10:29:58 2007 +0900 sh: Disable L2 reporting for present URAM only parts. The probing logic works for both URAM and L2, with no way to distinguish between the two. Disable the probing for now and let the CPU subtypes that have this in a real L2 configuration explicitly say so. Signed-off-by: Paul Mundt commit 5637f02a9cf84f2c00fd8a0f6561c375bb19103b Author: Kristoffer Ericson Date: Wed Sep 26 00:02:56 2007 -0400 Input: add support for the HP Jornada 7xx (710/720/728) touchscreen Signed-off-by: Kristoffer Ericson Signed-off-by: Dmitry Torokhov commit b0a4e1aa4063550faf7bc1c33b37c587796e931f Author: Kristoffer Ericson Date: Wed Sep 26 00:02:49 2007 -0400 Input: add support for HP Jornada 7xx onboard keyboard The driver supports onboard keyboards of HP Jornada 710/720/728 Signed-off-by: Kristoffer Ericson Signed-off-by: Dmitry Torokhov commit 2aa2cb9e7a20910d890f874e16a43a81b725ec54 Author: Kristoffer Ericson Date: Wed Sep 26 00:02:35 2007 -0400 Input: add support for HP Jornada onboard keyboard (HP6XX) Signed-off-by: Kristoffer Ericson Signed-off-by: Dmitry Torokhov commit 1788180eec4a9444249b0cbe788b1fac6592976c Author: Rene Herman Date: Wed Sep 26 00:02:19 2007 -0400 Input: ucb1400_ts - use schedule_timeout_uninterruptible Given that the code is not checking for signals it should use uninterruptible sleep. Signed-off-by: Rene Herman Acked-by: Nicolas Pitre Signed-off-by: Dmitry Torokhov commit 2f9d2827afab6a6ad82b657b1d7fe00cbffa65f8 Author: Dmitry Torokhov Date: Wed Sep 26 00:02:06 2007 -0400 Input: xpad - fix dependancy on LEDS class The driver can not be built-in when LEDS class is a module. Signed-off-by: Dmitry Torokhov commit 8d9f0952e72dccc40646997346338031d03832b3 Author: Andreas Herrmann Date: Wed Sep 26 00:01:50 2007 -0400 Input: auto-select INPUT for MAC_EMUMOUSEBTN option Otherwise we'll ge the following build error: LD .tmp_vmlinux1 drivers/built-in.o: In function `input_report_key': include/linux/input.h:1158: undefined reference to `input_event' ... Signed-off-by: Andreas Herrmann Signed-off-by: Dmitry Torokhov commit 3fdbc340876572e8b467d199946b7b475cb9cd75 Author: Dmitry Torokhov Date: Wed Sep 26 00:01:41 2007 -0400 HWMON: ams - convert to use input-polldev Switch to using input-polldev skeleton instead of implementing polling loop by itself. Signed-off-by: Dmitry Torokhov Acked-by: Michael Hanselmann commit d5cf2b99dac2e3ff17c7a80fcc71e538b38a3c75 Author: Dmitry Torokhov Date: Wed Sep 26 00:01:35 2007 -0400 HWMON: applesmc - convert to use input-polldev Switch to using input-polldev skeleton instead of implementing polling loop by itself. This also fixes problem with trylock on a mutex in atomic context. Signed-off-by: Dmitry Torokhov commit 14134b31ae646220a5a451e38aae1dd023d457cb Author: Stephen Hemminger Date: Wed Sep 26 00:01:25 2007 -0400 Input: polled device power saving For slow running polling, it saves power to align wakeups on tick boundary. Signed-off-by: Stephen Hemminger Signed-off-by: Dmitry Torokhov commit e15b02138b89d7bc053817e6f7601e92e29d371c Author: Anti Sullin Date: Wed Sep 26 00:01:17 2007 -0400 Input: gpio-keys - add suspend/resume support This patch adds suspend/resume support and enables wakeup from gpio_keys buttons. Signed-off-by: Anti Sullin Signed-off-by: Dmitry Torokhov commit 006df3024431a50262d4a2898d25924f84fb697a Author: Anti Sullin Date: Wed Sep 26 00:01:03 2007 -0400 Input: gpio_keys - verify that supplied GPIO numbers are valid As David Brownell pointed out, gpio_keys driver does not check return code of gpio_to_irq(). This patch adds the gpio_to_irq return code check to gpio_keys and moves the IRQ edge type setting to request_irq flags to avoid changing the irq type before we have confirmed we can use it. Signed-off-by: Anti Sullin Signed-off-by: Dmitry Torokhov commit 65874007c36930317c7a56d814a6a3e2966daaa8 Author: Steve French Date: Tue Sep 25 19:53:44 2007 +0000 [CIFS] fix cut and paste error - missing defines cause cifsacl build error Signed-off-by: Steve French commit 2369cc9492a462285f9eec9d2bbfa730cc2ab5ac Author: Henrique de Moraes Holschuh Date: Sun Sep 23 11:39:07 2007 -0300 ACPI: thinkpad-acpi: duplicate driver attributes to new hwmon pdrv Thinkpad-acpi has some driver attributes (debug level, sysfs interface version, etc) that also belong to the new hwmon driver. Duplicate them there. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 7fd400297978a2cf7a74344fb22020e9479b4f69 Author: Henrique de Moraes Holschuh Date: Tue Sep 25 06:38:03 2007 -0300 ACPI: thinkpad-acpi: use a separate platform device for hwmon and name it (v2) Use a separate platform device and driver ("thinkpad_hwmon") to attach hwmon attributes and class, and add a name attribute of "thinkpad" to it, which defines the hwmon device name for libsensors4. This makes thinkpad-acpi compatible with libsensors4 from lm-sensors, and the platform driver and device split will make it much easier to separate hwmon functionality into its own module later on. Signed-off-by: Henrique de Moraes Holschuh Cc: Jean Delvare Signed-off-by: Len Brown commit b15773a06e5feee192f83c578222b45d81d1edc9 Author: Jochen Friedrich Date: Mon Sep 24 18:54:41 2007 +0200 [POWERPC] Fix cpm_uart driver in cpm_uart_cpm1.h, DPRAM_BASE is assigned an address derived from cpmp. On ARC=ppc, this is a physical address with 1:1 DMA mapping which can't be used for arithmetric compare operations with virtual addresses returned by cpm_dpram_addr. This patch changes the assignment to use cpm_dpram_addr as well, like in cpm_uart_cpm2.h. Signed-off-by: Jochen Friedrich commit 7a6d44f79f60f2b106e2a820503fa7c1814a13d0 Author: Jochen Friedrich Date: Thu Sep 13 16:00:48 2007 +0200 [PPC] Compile fix for 8xx CPM Ehernet driver Add #include for flush_dcache_range to make the driver compile again. CC arch/ppc/8xx_io/enet.o arch/ppc/8xx_io/enet.c: In function 'scc_enet_start_xmit': arch/ppc/8xx_io/enet.c:240: error: implicit declaration of function 'flush_dcache_range' make[1]: *** [arch/ppc/8xx_io/enet.o] Error 1 make: *** [arch/ppc/8xx_io] Error 2 Signed-off-by: Jochen Friedrich commit 1d7a8ee0ebcc26c98f21889fd900546ef2a02fa1 Author: Jochen Friedrich Date: Fri Sep 21 13:15:07 2007 +0200 [PPC] Fix cpm_dpram_addr returning phys mem instead of virt mem cpm_dpram_addr returns physical memory of the DP RAM instead of iomapped virtual memory. As there usually is a 1:1 MMU map of the IMMR area, this is often not noticed. However, cpm_dpram_phys assumes this iomapped virtual memory and returns garbage on the 1:1 mapped memory causing CPM1 uart console to fail. This patch fixes the problem (copied from the powerpc tree). Signed-off-by: Jochen Friedrich commit c5552ca48b312880ba9111411c98abfe72d88ea9 Author: Jochen Friedrich Date: Fri Sep 21 12:57:13 2007 +0200 [POWERPC] Fix copy'n'paste typo in commproc.c The powerpc version of commproc.c exports cpm_dpram_addr twice and cpm_dpram_phys not at all due to a typo. This patch fixes this problem. CC arch/powerpc/sysdev/commproc.o arch/powerpc/sysdev/commproc.c:398: error: redefinition of '__kcrctab_cpm_dpram_addr' arch/powerpc/sysdev/commproc.c:392: error: previous definition of '__kcrctab_cpm_dpram_addr' was here arch/powerpc/sysdev/commproc.c:398: error: redefinition of '__kstrtab_cpm_dpram_addr' arch/powerpc/sysdev/commproc.c:392: error: previous definition of '__kstrtab_cpm_dpram_addr' was here arch/powerpc/sysdev/commproc.c:398: error: redefinition of '__ksymtab_cpm_dpram_addr' arch/powerpc/sysdev/commproc.c:392: error: previous definition of '__ksymtab_cpm_dpram_addr' was here make[1]: *** [arch/powerpc/sysdev/commproc.o] Error 1 make: *** [arch/powerpc/sysdev] Error 2 Signed-off-by: Jochen Friedrich commit 5d3ad4e8a12e538eead0a37d22b1ba6aec0f2127 Author: Bridge Wu Date: Tue Sep 25 19:11:00 2007 +0200 mmc: pxamci: add SDIO card interrupt reporting capability Again, only available from PXA27x. Signed-off-by: Bridge Wu Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit df456f479aa6fdc812df51627c6f2c21d8a1aed8 Author: Bridge Wu Date: Tue Sep 25 19:09:19 2007 +0200 mmc: pxamci: set proper buswidth capabilities according to PXA flavor From PXA27x, it is possible to do 4-bit data transfers. Signed-off-by: Bridge Wu Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit fe2dc44eac1223a0e92859242f58fd2a58a6f8fa Author: Nicolas Pitre Date: Mon Sep 24 15:47:18 2007 -0400 mmc: pxamci: set proper block capabilities according to PXA flavor From PXA27x, it is possible to do 2048-byte block transfers. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 81ab570f65395f09962f4bca0d89403f8911c071 Author: Bridge Wu Date: Tue Sep 25 18:59:07 2007 +0200 mmc: pxamci: better pending IRQ determination Pending interrupts should be determined from both I_REG and I_MASK registers. Signed-off-by: Bridge Wu Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit bcb020341a7d0fba6cd025f068d40f4ab5c36af8 Author: Steve French Date: Tue Sep 25 16:17:24 2007 +0000 [CIFS] move cifs acl code to new file and fix build break Signed-off-by: Steve French commit b7a701851842e6a3d33ac1b0f80379664c633d49 Author: Ben Dooks Date: Tue Jul 24 13:37:27 2007 +0100 [MTD] [NAND] s3c2410: fix arch moves Fixup the includes which have been moved around when changing the s3c24xx arch support. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 442aa310f3bc49cf4e059da790fbae62411d50db Author: Steve French Date: Mon Sep 24 20:25:46 2007 +0000 [CIFS] Support for CIFS ACLs (part 1) Add code to be able to dump CIFS ACL information when Query Posix ACL with cifsacl mount parm enabled. Signed-off-by: Shirish Pargoankar Signed-off-by: Steve French commit faf39ede5e6325d3e91b6e4e0017d27fbecb6022 Author: Pavel Pisa Date: Sun Sep 23 22:59:01 2007 +0200 arm: i.MX/MX1 SDHC implements SD cards read-only switch read-back The patch enables to define MMC host get_ro() method through platform data. Signed-off-by: Pavel Pisa Signed-off-by: Pierre Ossman commit 1f91bbb58413e0bce9726cd6d12bf4b95c343a7f Author: Paul Mundt Date: Mon Sep 24 18:11:27 2007 +0900 sh: Define _ebss for uClinux MTD map driver. The uClinux MTD device uses _ebss, add the symbol and corresponding export. Signed-off-by: Paul Mundt commit e71cf2b63c861bdcbe13d0a67d5007b5933c61a5 Author: Paul Mundt Date: Mon Sep 24 17:49:51 2007 +0900 sh: Revert incorrect license string changes. These were right the first time. Either a thinko or building in the wrong tree. Revert this. Signed-off-by: Paul Mundt commit ab27f62002f4dc8f759c1ec069024d8173e5dea0 Author: Paul Mundt Date: Mon Sep 24 17:00:45 2007 +0900 sh: Calculate cache aliases on L2 caches. Calculate the number of cache aliases on probed L2 caches, and while we're at it, print out the detected statistics at boot time for these also. Signed-off-by: Paul Mundt commit 8328a8ba92819792f37e3db002d404554e7a6f79 Author: Paul Mundt Date: Mon Sep 24 16:40:56 2007 +0900 sh: nommu: Kill off dummy page fault ops for SH-3/4. We stopped referencing these functions unconditionally when the old entry.S code was refactored, so this is just dead code at present. Kill it off. Signed-off-by: Paul Mundt commit d10040f7eb808cd984b563d1cf727a1020990a2e Author: Paul Mundt Date: Mon Sep 24 16:38:25 2007 +0900 sh: Fix alias calculation for non-aliasing cases. There was an off-by-1 on the cache alias detection logic on SH-4, which caused n_aliases to always be 1 even when the page size precluded the existence of aliases. With this corrected, 64KB pages happily reports n_aliases == 0, and hits the appropriate fast paths in the flushing routines. Signed-off-by: Paul Mundt commit af8350c756cb48a738474738f7bf8c0e572fa057 Author: Pierre Ossman Date: Mon Sep 24 07:15:48 2007 +0200 mmc: add led trigger Add a led trigger for each host controller that indicates if there is a request active on the controller. Signed-off-by: Pierre Ossman commit 3e5ce914bd17335ca74a7c7b06a776c6be6ca434 Author: Henrique de Moraes Holschuh Date: Sun Sep 23 11:39:05 2007 -0300 ACPI: thinkpad-acpi: fix regression on HKEY LID event handling We were letting ThinkPad-specific LID events through to userspace again, instead of dropping them. Fix it. We don't want to give userspace the option of not using generic LID handling. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 3eea123df1637a88d0899626a67b83dca959efff Author: Henrique de Moraes Holschuh Date: Sun Sep 23 11:39:04 2007 -0300 ACPI: thinkpad-acpi: dequeue all pending hot key events at once (v2.2) Receive all pending HKEY events at once from a single notification, and don't complain if the queue is empty. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 1b6521dc84f372dd92a96381fbeeebb01173d050 Author: Henrique de Moraes Holschuh Date: Sun Sep 23 11:39:03 2007 -0300 ACPI: thinkpad-acpi: check version of hot key firmware Check the HKEY firmware version (HKEY.MHKV handler), and refuse to load if it is unknown. Use this instead of the presence of HKEY.DHKV to detect hot key mask capability. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 8fef502e5a14df05f1e755edc9175e01c9814080 Author: Henrique de Moraes Holschuh Date: Sun Sep 23 11:39:02 2007 -0300 ACPI: thinkpad-acpi: keep track of module state Keep track of module state (init, running, exit). This makes it trivially easy to avoid running any interrupt handlers, threads, or any other async activity before we are ready, or when we want to go away. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 8523ed6fb2ca04973fe759fda8ab4af72492fc7e Author: Henrique de Moraes Holschuh Date: Sun Sep 23 11:39:01 2007 -0300 ACPI: thinkpad-acpi: add mutex-based locking to input device event send path Protect the input device event sending path with a mutex, since hot key input events are not atomic and require an cohesive event block to be sent together. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit f4e1e43c607b5ead89b2135c348392810420de69 Author: Henrique de Moraes Holschuh Date: Sun Sep 23 11:39:00 2007 -0300 ACPI: thinkpad-acpi: issue EV_SYNC after EV_SWITCH We were missing a input_sync on the radio switch event report path. Add it. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 4b2fe7e2a79727104e549a89a32b4aae26521861 Author: Henrique de Moraes Holschuh Date: Sun Sep 23 11:38:59 2007 -0300 ACPI: thinkpad-acpi: make room for more features in tp_features bitfield Increase tp_features to 32 bits. It is too close to running out of room. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 15a0580ced081a0f7dc2deea8a4812bdc5e9a109 Author: David Brownell Date: Wed Aug 8 09:12:54 2007 -0700 mmc_spi host driver This is the latest version of the MMC-over-SPI support. It works on 2.6.23-rc2 plus git-mmc (from rc1-mm2), along with the preceding patches which teach the rest of the MMC stack about SPI. The main issue of note is that sometimes cards need to be power cycled to recover after certain faults. Also, it may sometimes be necessary to disable CRCs. ("modprobe mmc_core use_spi_crc=n") Signed-off-by: David Brownell Cc: mikael.starvik@axis.com, Cc: Hans-Peter Nilsson Cc: Jan Nikitenko Cc: Mike Lavender Signed-off-by: Pierre Ossman commit af51715079e7fb6b290e1881d63d815dc4de5011 Author: David Brownell Date: Wed Aug 8 09:11:32 2007 -0700 MMC core learns about SPI Teach the MMC/SD/SDIO core about using SPI mode. - Use mmc_host_is_spi() so enumeration works through SPI signaling and protocols, not just the native versions. - Provide the SPI response type flags with each request issued, including requests from the new lock/unlock code. - Understand that cmd->resp[0] and mmc_get_status() results for SPI return different values than for "native" MMC/SD protocol; this affects resetting, checking card lock status, and some others. - Understand that some commands act a bit differently ... notably: * OP_COND command doesn't return the OCR * APP_CMD status doesn't have an R1_APP_CMD analogue Those changes required some new and updated primitives: - Provide utilities to access two SPI-only requests, and one request that wasn't previously needed: * mmc_spi_read_ocr() ... SPI only * mmc_spi_set_crc() ... SPI only (override by module parm) * mmc_send_cid() ... for use without broadcast mode - Updated internal routines: * Previous mmc_send_csd() modified into mmc_send_cxd_native(); it uses native "R2" responses, which include 16 bytes of data. * Previous mmc_send_ext_csd() becomes new mmc_send_cxd_data() helper for command-and-data access * Bugfix to that mmc_send_cxd_data() code: dma-to-stack is unsafe/nonportable, so kmalloc a bounce buffer instead. - Modified mmc_send_ext_csd() now uses mmc_send_cxd_data() helper - Modified mmc_send_csd(), and new mmc_spi_send_cid(), routines use those helper routines based on whether they're native or SPI The newest categories of cards supported by the MMC stack aren't expected to work yet with SPI: MMC or SD cards with over 4GB data, and SDIO. All those cards support SPI mode, so eventually they should work too. Signed-off-by: David Brownell Signed-off-by: Pierre Ossman commit 7213d175e3b6f6db60f843b72e88857a350e146a Author: David Brownell Date: Wed Aug 8 09:10:23 2007 -0700 MMC/SD card driver learns SPI Teaching the MMC/SD block card driver about SPI. - Provide the SPI response type flags with each request issued. - Understand that multiblock SPI writes don't use STOP_TRANSMISSION. - Correct check for APP_CMD failure. Signed-off-by: David Brownell Signed-off-by: Pierre Ossman commit 97018580c40c8a31dd7ae744da3378c787a2066d Author: David Brownell Date: Wed Aug 8 09:09:01 2007 -0700 MMC headers learn about SPI Teach the MMC/SD/SDIO system headers that some hosts use SPI mode - New host capabilities and status bits * MMC_CAP_SPI, with mmc_host_is_spi() test * mmc_host.use_spi_crc flag - SPI-specific declarations: * Response types, MMC_RSP_SPI_R* * Two SPI-only commands * Status bits used native to SPI: R1_SPI_*, R2_SPI_* - Fix a few (unrelated) whitespace bugs in the headers. - Reorder a few mmc_host fields, removing several bytes of padding None of these changes affect current code. Signed-off-by: David Brownell Signed-off-by: Pierre Ossman commit 759bdc7af450404382e937c76722ae8736daef92 Author: Pierre Ossman Date: Wed Sep 19 18:42:16 2007 +0200 sdio: store vendor strings Store vendor strings found in CISTPL_VERS_1 so that function drivers can access them. Signed-off-by: Pierre Ossman commit f9996aee36921e8f1d499de1b2ea380855cf6d97 Author: Pierre Ossman Date: Wed Sep 19 18:38:50 2007 +0200 mmc: increase power up delay Increase delay for power up in order to support some slower boards. Also add some comments about why the delays are there. Signed-off-by: Pierre Ossman commit f75979b77fb20b01522d8fab96dfc76cc9f42420 Author: Pierre Ossman Date: Tue Sep 4 07:59:18 2007 +0200 sdhci: sdio interrupt support Add support for relaying the sdio interrupt signal from the card. Signed-off-by: Pierre Ossman commit 15b82b46de358a574c2a6a6dea4c8076bef7ac43 Author: Nicolas Pitre Date: Mon Aug 20 17:17:37 2007 -0400 sdio: fix recursion issues between sdio-uart driver and tty layer In a few places, sdio_uart_irq() is called directly instead of waiting for the actual interrupt to be raised and the SDIO IRQ thread scheduled in order to reduce latency. However, some interaction with the tty core may end up calling us back (serial echo, flow control, etc.) creating two issues: - the host lock gets claimed twice from the same thread causing a deadlock; - the same direct calls to sdio_uart_irq() may be performed causing unexpected reentrancy into the IRQ handler. This patch handles both of those issues. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 2ba30eedec37e2f65babf4ea54233f98afbe0871 Author: Nicolas Pitre Date: Wed Aug 15 13:27:29 2007 -0400 sdio: add default c_ispeed/c_ospeed values to sdio_uart driver Note that the default baudrate is 4800 instead of 9600 as a convenience because that's what GPS devices want which is still the main use for this driver. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 7806cdb40fd562e5dcc07321579b62a5dc7cd95c Author: David Vrabel Date: Fri Aug 10 13:29:46 2007 +0100 sdio: add sdio_f0_readb() and sdio_f0_writeb() Add sdio_f0_readb() and sdio_f0_writeb() functions to reading and writing function 0 registers. Writes outside the vendor specific CCCR registers (0xF0 - 0xFF) are not permitted. Signed-off-by: David Vrabel Signed-off-by: Pierre Ossman commit d84075c8aed771d47d7ac6e96b098559da361c25 Author: Pierre Ossman Date: Thu Aug 9 13:23:56 2007 +0200 mmc: replace BUG_ON with WARN_ON Replace all cases of BUG_ON with WARN_ON where there is a chance (with varying degrees of slim) that the kernel can continue without incidence. Signed-off-by: Pierre Ossman commit 9f2fcf99394b34769e3243a7f42a0ba8d21fc774 Author: Mariusz Kozlowski Date: Wed Aug 1 00:05:24 2007 +0200 sdio: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: Pierre Ossman commit eb6594689226663968ef0a9fd71ec5e1e4e04f9c Author: David Vrabel Date: Wed Aug 8 14:24:21 2007 +0100 sdio: extend sdio_readsb() and friends to handle any length of buffer Extend sdio_readsb(), sdio_writesb(), sdio_memcpy_fromio(), and sdio_memcpy_toio() to handle any length of buffer by splitting the transfer into several IO_RW_EXTENDED commands. Typically, a transfer would be split into a single block mode transfer followed by a byte mode transfer for the remainder but we also handle lack of block mode support and the block size being greater than 512 (the maximum byte mode transfer size). host->max_seg_size <= host->max_req_size so there's no need to check both when determining the maximum data size for a single command. Signed-off-by: David Vrabel Signed-off-by: Pierre Ossman commit 9a08f82b3cc522f727ace580a2aaee5402435bc8 Author: David Vrabel Date: Wed Aug 8 14:23:48 2007 +0100 sdio: set the functions' block size Before a driver is probed, set the function's block size to the default so the driver is sure the block size is something sensible and it needn't explicitly set it. The default block size is the largest that's supported by both the card and the host, with a maximum of 512 to ensure aribitrarily sized transfer use the optimal (least) number of commands. See http://lkml.org/lkml/2007/8/7/150 for reasons for the block size choice. Signed-off-by: David Vrabel Signed-off-by: Pierre Ossman commit 7616ee95f27a04fd5a6434e9ef4a82cec4b2807c Author: David Vrabel Date: Wed Aug 8 14:23:05 2007 +0100 sdio: add SDIO_FBR_BASE(f) macro Signed-off-by: David Vrabel Signed-off-by: Pierre Ossman commit e6f918bf39773d712ab5b457bff54ade3bda0cb1 Author: Pierre Ossman Date: Tue Aug 7 14:11:55 2007 +0200 mmc: fix sdio timeout calculation SDIO doesn't have a CSD so it uses different timeout values than SD memory. Signed-off-by: Pierre Ossman commit ce252edd869ba1fee6a9a6f83e20f349d4c4d669 Author: Pierre Ossman Date: Tue Aug 7 14:06:18 2007 +0200 mmc: fix incorrect divisor in debug output Signed-off-by: Pierre Ossman commit 4ff6471c028a9885e8f09a000d87694f81190ab9 Author: Pierre Ossman Date: Mon Jul 30 18:23:53 2007 +0200 sdio: enable wide bus mode Enable 4-bit data bus mode, according to host and card capabilities. Signed-off-by: Pierre Ossman commit 6db5020e7386ddf17378f91eb8c445433e5b07cd Author: Pierre Ossman Date: Mon Jul 30 17:15:07 2007 +0200 sdio: change clock speed Change clock speed to the highest supported by the card. Signed-off-by: Pierre Ossman commit 22bfc979d38f57d5b10d141990175d8fc47f6775 Author: Adrian Bunk Date: Sun Jul 29 16:58:09 2007 +0200 make struct sdio_dev_attrs[] static On Wed, Jul 25, 2007 at 04:03:04AM -0700, Andrew Morton wrote: >... > Changes since 2.6.22-rc6-mm1: >... > git-mmc.patch >... > git trees >... sdio_dev_attrs[] can become static. Signed-off-by: Adrian Bunk Signed-off-by: Pierre Ossman commit 17b759aff916b4d02721e75ce5ed82b1903e5bd6 Author: Nicolas Pitre Date: Tue Jul 24 02:09:39 2007 -0400 sdio: add interface for host side SDIO interrupt reporting Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 112c9db91ee6bf19eca7cbb6854be3127381c229 Author: Pierre Ossman Date: Fri Jul 6 13:35:01 2007 +0200 sdio: support IO_RW_EXTENDED Support the multi-byte transfer operation, including handlers for common operations like writel()/readl(). Signed-off-by: Pierre Ossman commit 5ed334a1f8caaae98806d572f78c5802975ea20f Author: Nicolas Pitre Date: Wed Jul 4 23:40:34 2007 -0400 sdio: add /proc interface to sdio_uart driver This mimics what the serial_core does. Useful for diagnostics. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 6e418a9d26ab4fd44b3e07dc1158027cbdf0a919 Author: Nicolas Pitre Date: Sat Jun 30 02:04:21 2007 -0400 sdio: UART/GPS driver This currently only accepts the GPS class since that's all I have for testing. Tested with a Matsushita GPS and gpsd version 2.34. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit d1496c39e500857b8949cdb91af24e0eb8aae4d0 Author: Nicolas Pitre Date: Sat Jun 30 16:29:41 2007 +0200 sdio: core support for SDIO function interrupt Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 49dc08eeda707f59019814fe07a2b17979348002 Author: Artem Bityutskiy Date: Fri Sep 21 19:35:21 2007 +0300 [MTD] [OneNAND] fix numerous races This patch make the OneNAND driver much less racy. It fixes our "onenand_wait: read timeout!" heisenbugs. The reason of these bugs was that the driver did not lock the chip when accessing OTP, and it screwed up OneNAND state when the OTP was read while JFFS2 was doing FS checking. This patch also fixes other races I spotted: 1. BBT was not protected 2. Access to ecc_stats was not protected Now the chip is locked when BBT is accessed. To fix all of these I basically split all interface functions on 'function()' and 'function_nolock()' parts. I tested this patch on N800 hardware - it fixes our problems. But I tested a little different version because our OneNAND codebase is slightly out-of-date. But it should be OK. This patch also includes the prin fixes I posted before. Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 2342f3323c9a76367a1d7f9a35525ee3cb3911df Author: Nicolas Pitre Date: Sat Jun 30 16:21:52 2007 +0200 sdio: allow for mmc_claim_host to be aborted It is sometimes necessary to give up on trying to claim the host lock, especially if that happens in a thread that has to be stopped. While at it, fix the description for mmc_claim_host() which was wrong. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 55fe77a0a24e05c9aaf1a13550dde5efad8b49f2 Author: Nicolas Pitre Date: Sat Jun 16 21:40:07 2007 -0400 sdio: defines for some standard interface types Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit bcfe66e21ef78a078bb0de0bab532701996695d3 Author: Pierre Ossman Date: Sun Jun 17 11:42:21 2007 +0200 sdio: add basic sysfs attributes Signed-off-by: Pierre Ossman commit d59b66c7a575cfa8e01f483875d131e42b539bbc Author: Pierre Ossman Date: Sun Jun 17 11:34:23 2007 +0200 sdio: add modalias support Signed-off-by: Pierre Ossman commit 9eb3a94d022e6c233c0b22ec54516d35d2e87eb9 Author: Pierre Ossman Date: Sun Jun 17 11:18:46 2007 +0200 mmc: whip bus uevent handler into shape Make the mmc bus uevent callback look like all other subsystems. Signed-off-by: Pierre Ossman commit 3b38bea0d976513970f947806b08b9faca418e7a Author: Pierre Ossman Date: Sat Jun 16 15:54:55 2007 +0200 sdio: add device id table and matching Signed-off-by: Pierre Ossman commit 26074962e8f547b96614dbe248748ba2a1996ca3 Author: Nicolas Pitre Date: Sat Jun 16 02:07:53 2007 -0400 mmc: initialize mmc subsystem with subsys_initcall() The problem is that the sdio_bus must be registered before any SDIO drivers are registered against it otherwise the kernel sulks. Because the sdio_bus registration happens through module_init (equivalent to device_initcall), then any SDIO drivers linked before the SDIO core code in the kernel will be initialized first. Upcoming SDIO function drivers are likely to be located outside the drivers/mmc directory as it is common practice to group drivers according to their function rather than the bus they use. SDIO drivers are therefore likely to appear at random location in the kernel link. To make sure the sdio_bus is always initialized before any SDIO drivers, let's move the MMC init to the subsys_initcall level. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 1a632f8cdc33e7f8edca352164f0c96a75d08f08 Author: Pierre Ossman Date: Mon Jul 30 15:15:30 2007 +0200 sdio: split up common and function CIS parsing Add a more clean separation between global, common CIS information and the function specific one as we need the common information in places where no specific function is specified. Signed-off-by: Pierre Ossman commit b1538bcf75e2e11459947ec4d4329ed04fbe2b2c Author: Nicolas Pitre Date: Sat Jun 16 02:06:47 2007 -0400 sdio: link unknown CIS tuples to the sdio_func structure This way those tuples that the core cares about are consumed by the core code, and tuples that only function drivers might make sense of are available to drivers. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit b726126196d54cbbba0924191e5c4dd5ba747fa2 Author: Nicolas Pitre Date: Sat Jun 16 02:04:16 2007 -0400 sdio: initial CIS parsing code Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 0597007f1b22bbb5d4234ca09c045f9bb2711270 Author: Pierre Ossman Date: Mon Jun 11 21:01:00 2007 +0200 sdio: basic parsing of FBR Signed-off-by: Pierre Ossman commit 35c66c19088bddb11110c124bad8abd4441a8421 Author: Pierre Ossman Date: Mon Jun 11 20:25:43 2007 +0200 sdio: read and decode interesting parts of the CCCR Signed-off-by: Pierre Ossman commit fa64efa1f2a0672767ad0753a6e4bfa4bcc77b87 Author: Pierre Ossman Date: Sun May 27 14:22:37 2007 +0200 mmc: enable/disable functions for SDIO Like many other buses, the devices (functions) on the SDIO bus must be enabled before they can be used. Add functions that allow drivers to do so. Signed-off-by: Pierre Ossman commit 46f555f2731a14545a09ec06d27bd18e8e07069f Author: Pierre Ossman Date: Sun May 27 12:57:15 2007 +0200 mmc: add basic SDIO I/O operations Add command wrappers that simplify register access from SDIO function drivers. Signed-off-by: Pierre Ossman commit f76c85154d320497bf1a939a98d6c432edcbd4a9 Author: Pierre Ossman Date: Sun May 27 12:00:02 2007 +0200 mmc: add SDIO driver handling Add basic driver handling to the SDIO device model. Signed-off-by: Pierre Ossman commit 0bac5111cc00b70460dd8ba8340522e1f0d79f05 Author: David Woodhouse Date: Sun Sep 23 18:51:25 2007 +0100 [MTD] map driver for NOR flash on the Intel Vermilion Range chipset The Vermilion Range Expansion Bus supports four chip selects, each of which has 64MiB of address space. The 2nd BAR of the Expansion Bus PCI Device is a 256MiB memory region containing the address spaces for all four of the chip selects, with start addresses hardcoded on 64MiB boundaries. This map driver only supports NOR flash on chip select 0. The buswidth (either 8 bits or 16 bits) is determined by reading the Expansion Bus Timing and Control Register for Chip Select 0 (EXP_TIMING_CS0). Signed-off-by: Andy Lowe Signed-off-by: David Woodhouse commit e29a7d73f4277eb92aa64e17017dea33460828ef Author: Pierre Ossman Date: Sat May 26 13:48:18 2007 +0200 mmc: basic SDIO device model Add the sdio bus type and basic device handling. Signed-off-by: Pierre Ossman commit b2bcc798bbb482b2909801280f3c4aff8cbbf5be Author: Pierre Ossman Date: Tue May 22 20:25:21 2007 +0200 mmc: implement SDIO IO_RW_DIRECT operation Signed-off-by: Pierre Ossman commit 59d8235be2ab38ddaffbe9137385095a5e8b0a77 Author: Andy Lowe Date: Fri Jan 12 18:05:24 2007 -0500 [JFFS2] Fix unpoint length Fix a couple of instances in JFFS2 where the unpoint() routine is being called with the wrong length in cases where the point() routine truncated a request. Signed-off-by: Andy Lowe Signed-off-by: Nicolas Pitre Signed-off-by: David Woodhouse commit 097f2576eb7dbc8cd5f610847f229f4fea305b80 Author: Andy Lowe Date: Fri Jan 12 18:05:10 2007 -0500 [MTD] fix CFI point method for discontiguous maps The CFI probe routine is capable of detecting flash banks consisting of identical chips mapped to physically discontiguous addresses. (One common way this can occur is if a flash bank is populated with chips of less capacity than the hardware was designed to support.) The CFI point() routine currently ignores any such gaps. This patch fixes the CFI point() routine so that it truncates any request that would span a gap. Signed-off-by: Andy Lowe Signed-off-by: Nicolas Pitre Signed-off-by: David Woodhouse commit e644f7d6289456657996df4192de76c5d0a9f9c7 Author: Todd Poynor Date: Mon Nov 7 21:47:48 2005 +0000 [MTD] MAPS: Merge Lubbock and Mainstone drivers into common PXA2xx driver Replace Lubbock and Mainstone board drivers with common PXA2xx driver, convert to platform driver (corresponding platform device changes merged to kernel.org for 2.6.15), add power management callbacks. Signed-off-by: Todd Poynor Signed-off-by: Nicolas Pitre Signed-off-by: David Woodhouse commit 5c4e6f1301649d5b29dd0f70e6da83e728ab5ca5 Author: Pierre Ossman Date: Mon May 21 20:23:20 2007 +0200 mmc: detect SDIO cards Really basic init sequence for SDIO cards. Signed-off-by: Pierre Ossman commit 1d4de9edd6c9ad676b20729ab15c04b78e9a50c5 Author: Marc Pignat Date: Thu Aug 9 13:56:29 2007 +0200 mmc: at91_mci: disable handling of blocks with size not multiple of 4 bytes This kind of transfer is not supported, so don't advertise it and make it fail early. Signed-off-by: Marc Pignat Signed-off-by: Pierre Ossman commit 8fdd8521dcc9d89072f3ca5dca444560bcea39c6 Author: Pierre Ossman Date: Tue Jul 24 21:53:43 2007 +0200 mmc: add missing printk levels Some printk:s were missing an explicit level. Signed-off-by: Pierre Ossman commit be0192aae1aed3fbf172e3f9a22ec75392c1b175 Author: Pierre Ossman Date: Tue Jul 24 21:11:47 2007 +0200 mmc: remove confusing flag The MMC_DATA_MULTI flag never had a proper definition of what it means, so remove it and let the drivers check the block count in the request. Signed-off-by: Pierre Ossman commit 255d01af9a990fd5166f04ed0cc0b30b7b67e81e Author: Pierre Ossman Date: Tue Jul 24 20:38:53 2007 +0200 mmc: remove BYTEBLOCK capability Remove the BYTEBLOCK capability and let the broken hosts fail the requests with -EINVAL instead. Signed-off-by: Pierre Ossman commit b146d26a61e0feab2f12a98ae83fd352830899c0 Author: Pierre Ossman Date: Tue Jul 24 19:16:54 2007 +0200 mmc: mmc_set_data_timeout() parameter write is redundant The write parameter in mmc_set_data_timeout() is redundant as the data structure contains information about the direction of the transfer. Signed-off-by: Pierre Ossman commit d7604d76351f7745d0e62d9f2bbcbb917c9013f3 Author: Pierre Ossman Date: Mon Jul 23 00:34:07 2007 +0200 mmc: read ext_csd version number Make sure we do not try to parse a structure we do not understand. Signed-off-by: Pierre Ossman commit adf66a0dc5e8be8d4e64f3c2114f9b175558235b Author: Pierre Ossman Date: Sun Jul 22 23:08:30 2007 +0200 mmc: improve error code feedback Now that we use "normal" error codes, improve the reporting and response to error codes in the core. Signed-off-by: Pierre Ossman commit 17b0429dde9ab60f9cee8e07ab28c7dc6cfe6efd Author: Pierre Ossman Date: Sun Jul 22 22:18:46 2007 +0200 mmc: remove custom error codes Convert the MMC layer to use standard error codes and not its own, incompatible values. Signed-off-by: Pierre Ossman commit 576e393e74e58bd4c949d551a3340accc8dbab0f Author: Emil Medve Date: Thu Sep 20 12:25:17 2007 +1000 [POWERPC] Fix build errors when BLOCK=n These are the symptom error messages: CC arch/powerpc/kernel/setup_32.o In file included from include/linux/blkdev.h:17, from include/linux/ide.h:13, from arch/powerpc/kernel/setup_32.c:13: include/linux/bsg.h:67: warning: 'struct request_queue' declared inside parameter list include/linux/bsg.h:67: warning: its scope is only this definition or declaration, which is probably not what you want include/linux/bsg.h:71: warning: 'struct request_queue' declared inside parameter list In file included from arch/powerpc/kernel/setup_32.c:13: include/linux/ide.h:857: error: field 'wrq' has incomplete type CC arch/powerpc/kernel/ppc_ksyms.o In file included from include/linux/blkdev.h:17, from include/linux/ide.h:13, from arch/powerpc/kernel/ppc_ksyms.c:15: include/linux/bsg.h:67: warning: 'struct request_queue' declared inside parameter list include/linux/bsg.h:67: warning: its scope is only this definition or declaration, which is probably not what you want include/linux/bsg.h:71: warning: 'struct request_queue' declared inside parameter list In file included from arch/powerpc/kernel/ppc_ksyms.c:15: include/linux/ide.h:857: error: field 'wrq' has incomplete type The fix tries to use the smallest scope CONFIG_* symbols that will fix the build problem. In this case needs to be included only if IDE=y or IDE=m were selected. Also, ppc_ide_md is needed only if BLK_DEV_IDE=y or BLK_DEV_IDE=m Moved the EXPORT_SYMBOL(ppc_ide_md) from ppc_ksysms.c next to its declaration in setup_32.c which made not needed. With gone from ppc_ksyms.c, is needed to address the following warnings and errors: CC arch/powerpc/kernel/ppc_ksyms.o arch/powerpc/kernel/ppc_ksyms.c:122: error: '__flush_icache_range' undeclared here (not in a function) arch/powerpc/kernel/ppc_ksyms.c:122: warning: type defaults to 'int' in declaration of '__flush_icache_range' arch/powerpc/kernel/ppc_ksyms.c:123: error: 'flush_dcache_range' undeclared here (not in a function) arch/powerpc/kernel/ppc_ksyms.c:123: warning: type defaults to 'int' in declaration of 'flush_dcache_range' Signed-off-by: Emil Medve Signed-off-by: Paul Mackerras commit 4c2a54b09ba35a409afc34bd331a57a994921664 Author: Benjamin Herrenschmidt Date: Wed Sep 19 14:50:22 2007 +1000 [POWERPC] Fix platinumfb framebuffer Current kernels have a non-working platinumfb due to some resource management issues. This fixes it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 8fd7675c092f79f240246c76728477ec4e7f7f09 Author: Satyam Sharma Date: Tue Sep 18 09:43:40 2007 +1000 [POWERPC] Avoid pointless WARN_ON(irqs_disabled()) from panic codepath > ------------[ cut here ]------------ > Badness at arch/powerpc/kernel/smp.c:202 comes when smp_call_function_map() has been called with irqs disabled, which is illegal. However, there is a special case, the panic() codepath, when we do not want to warn about this -- warning at that time is pointless anyway, and only serves to scroll away the *real* cause of the panic and distracts from the real bug. * So let's extract the WARN_ON() from smp_call_function_map() into all its callers -- smp_call_function() and smp_call_function_single() * Also, introduce another caller of smp_call_function_map(), namely __smp_call_function() (and make smp_call_function() a wrapper over this) which does *not* warn about disabled irqs * Use this __smp_call_function() from the panic codepath's smp_send_stop() We also end having to move code of smp_send_stop() below the definition of __smp_call_function(). Signed-off-by: Satyam Sharma Signed-off-by: Paul Mackerras commit 17b5ee04c09a158129eb538933eae7be956190e9 Author: Olof Johansson Date: Tue Sep 18 06:12:29 2007 +1000 [POWERPC] Support setting affinity for U3/U4 MSI sources Hook up affinity-setting for U3/U4 MSI interrupt sources. Tested on Quad G5 with myri10ge. Signed-off-by: Olof Johansson Acked-by: Benjamin Herrenschmidt Acked-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 3164cccdc0e6e16eb9797586aaa8d1f759799c01 Author: Arnd Bergmann Date: Sat Sep 15 10:21:57 2007 +1000 [POWERPC] add Kconfig option for optimizing for cell Since the PPE on cell is an in-order core, it suffers significantly from wrong instruction scheduling. This adds a Kconfig option that enables passing -mtune=cell to gcc in order to generate object code that runs well on cell. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit fb8299ed31d474248c2028ab8393462841cc9b0b Author: Jeremy Kerr Date: Fri Sep 14 15:46:40 2007 +1000 [POWERPC] cell: Don't cast the result of of_get_property() The cast to u32 * isn't required, of_get_property returns a void *. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 408e83a682bbca54c579519098d63f3f5d8856e1 Author: Tony Breeds Date: Wed Sep 12 13:58:54 2007 +1000 [POWERPC] Convert define_machine(mpc885_ads) to C99 initializer syntax Make the define_machine() block for mpc885_ads more greppable and consistent with other examples in tree. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 85498ae87c7d789de613b7e21bd539577142c3cb Author: Grant Likely Date: Sat Sep 1 03:34:37 2007 +1000 [POWERPC] mpc5200: Add cuimage support for mpc5200 boards Signed-off-by: Grant Likely Acked-by: David Gibson Signed-off-by: Paul Mackerras commit ad25a4cca7f21b53e3af8303d922a87c910677d7 Author: Grant Likely Date: Fri Aug 31 06:26:24 2007 +1000 [POWERPC] mpc8349: Add linux,network-index to ethernet nodes in device tree cuImage needs to know the logical index of the ethernet devices in order to assign mac addresses. This adds the needed properties. Signed-off-by: Grant Likely Acked-by: David Gibson CC: Scott Wood CC: Kumar Gala CC: Timur Tabi Signed-off-by: Paul Mackerras commit 3e61576b2ac930b9d1fa2c8d077552f7e7709b3c Author: Meelis Roos Date: Wed Jul 25 22:17:43 2007 +1000 [POWERPC] Fix ppc kernels after build-id addition This patch fixes arch/ppc kernels, at least for prep subarch, after build-id addition. Without this, kernels were 3 times the size and bootloader refused to load them. Now they are back to normal again. Tested only with Roland McGrath's "Use LDFLAGS_MODULE only for .ko links" patch applied - boots and works fine. Signed-off-by: Meelis Roos Signed-off-by: Paul Mackerras commit 20b31b53ea87e598ea8159f109b4217ad185fce5 Author: Robert P. J. Day Date: Wed Jul 18 23:36:36 2007 +1000 [POWERPC] Prevent direct inclusion of . Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mackerras commit 555ddbb4e2191c8823df2d61525218ac39481385 Author: Aristeu Rozanski Date: Tue Jul 17 06:53:09 2007 +1000 [POWERPC] adbhid: Enable KEY_FN key reporting When a Fn key is used in combination with another key in ADB keyboards it will generate a Fn event and then a second event that can be a different key than pressed (Fn + F1 for instance can generate Fn + brightness down if it's configured like that). This enables the reporting of the Fn key to the input system. As Fn is a dead key for most purposes, it's useful to report it so applications can make use of it. One example is apple_mouse (https://jake.ruivo.org/uinputd/trunk/apple_mouse/) that emulates the second and third keys using a combination of keyboard keys and the mouse button. Other applications may use the KEY_FN as a modifier as well. I've been updating and using this patch for months without problems. Signed-off-by: Aristeu Rozanski Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fc624eae3278330f484669dd8fe85535def7eb78 Author: Mike Frysinger Date: Sun Jul 15 13:36:09 2007 +1000 [POWERPC] Use __attribute__ in asm-powerpc Pretty much everyone uses "__attribute__" or "attribute", no one uses "__attribute". This tweaks the three places in asm-powerpc where this comes up. While only asm-powerpc/types.h is interesting (for userspace), I did asm-powerpc/processor.h as well for consistency. Signed-off-by: Mike Frysinger Signed-off-by: Paul Mackerras commit 9b41fcb0eb890009f9de3df76fcdb2ba77314a4b Author: Dale Farnsworth Date: Tue May 15 05:52:22 2007 +1000 [POWERPC] Add Marvell mv64x60 udbg putc/getc functions Commit 69331af, "Fixes and cleanups for earlyprintk aka boot console", resulted in printk output prior to the initialization of the mpsc console driver not being printed. That commit causes the mpsc's CON_PRINTBUFFER flag to be cleared since udbg should have printed the previous output. I guess we can no longer ignore udbg. :) This patch provides udbg_putc() and udbg_getc() functions for the Marvell mv64x60 chips. These functions are enabled if an mv64x60 port is to be used as the console as determined from the device tree. Signed-off-by: Dale Farnsworth Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit e4533b243e5e0c3a26287a902a1ed0f8f5b1cec0 Author: David Woodhouse Date: Thu Apr 5 00:19:43 2007 +1000 [POWERPC] Optionally use new device number for pmac_zilog This adds the option for the pmac_zilog driver to use the major/minor numbers recently allocated specifically for it (/dev/ttyPZn) instead of the /dev/ttySn numbers. The advantage of doing this is that it allows the pmac_zilog and 8250 drivers to coexist. The disadvantage of doing this is that it is a user-visible ABI change and it will break existing working setups on powermacs, and could be confusing to users. Signed-off-by: David Woodhouse Signed-off-by: Paul Mackerras commit b38178ee712e8608f20c8e741adf97f75f1aea39 Author: Jörn Engel Date: Fri Sep 21 15:41:44 2007 +0200 [MTD] Document erase interface. Document mtd erase interface. Signed-off-by: Jörn Engel Signed-off-by: David Woodhouse commit 1a442fe02d205d6980202b07f799ab9336e72ad7 Author: Paul Mundt Date: Fri Sep 21 19:16:05 2007 +0900 sh: Initial SH-X3 SMP support. This adds basic support for SH-X3 SMP (4 CPUs). More IPI and cache debugging is necessary, mostly interfacing the d-cache coherency and the I-cache broadcast invalidates. Only for testing at present! Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0016a126accb32f1663eaeba966eb76c98f8929b Author: Paul Mundt Date: Fri Sep 21 18:39:49 2007 +0900 sh: Plug plat_smp_setup() in to generic setup path. Now that the SMP stubs are in place, call in to the setup code to be defined by the platform. Signed-off-by: Paul Mundt commit ceb9b974513de6bd0ee86c30e84c34dd6e974fb5 Author: Magnus Damm Date: Fri Sep 21 18:34:48 2007 +0900 sh: Hook up the SH-X3 SMP intc register groups. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit aba1030a7e529ec9fe47a8cfc06d12a39180fa71 Author: Paul Mundt Date: Fri Sep 21 18:32:32 2007 +0900 sh: Bring SMP support back from the dead. There was a very preliminary bunch of SMP code scattered around for the SH7604 microcontrollers from way back when, and it has mostly suffered bitrot since then. With the tree already having been slowly getting prepped for SMP, this plugs in most of the remaining platform-independent bits. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f18d533e3cd476aedf41fe1e6e9dc3e0a2446bba Author: Magnus Damm Date: Fri Sep 21 18:16:42 2007 +0900 sh: intc - initial SMP support. This implements initial support for the SMP INTC (particularly INTC2) controllers. These are largely implemented as conventional blocks, with register sets grouped together at fixed strides relative to the CPU id. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9964fa8bf952c5c4df9676223fab4cd886d18200 Author: Paul Mundt Date: Fri Sep 21 18:09:55 2007 +0900 sh: Add SMP tlbflush variants. This adds the TLB flushing routines for SMP systems, based on the MIPS implementation, with some additional SH-specific flush routines. Signed-off-by: Paul Mundt commit 7ec9d6f8c0e6932d380da1964021fbebf2311f04 Author: Paul Mundt Date: Fri Sep 21 18:05:20 2007 +0900 sh: Avoid smp_processor_id() in cache desc paths. current_cpu_data uses smp_processor_id() in order to find the corresponding cpu_data. As the cache descs are all currently identical, just have this look at probed results from the boot CPU. Signed-off-by: Paul Mundt commit 2d4a73d5b91528322631830784f4eb7897fb5e41 Author: Paul Mundt Date: Fri Sep 21 18:01:40 2007 +0900 sh: Kill off special boot_cpu_data. This consolidates the cpu_data definitions and gets rid of the special boot_cpu_data. It's made a wrapper to the boot CPU, in order to keep the existing in-tree users happy. Signed-off-by: Paul Mundt commit 00765c816a6396e2bb3c6588019bda1508b62f6a Author: Paul Mundt Date: Fri Sep 21 17:53:26 2007 +0900 sh: Make cpufreq driver less noisy on SMP. The cpufreq driver banner is currently printed for each CPU, move it down so it's not as noisy and it's only printed once. Signed-off-by: Paul Mundt commit c1a069f960f32ff1721b1de12c875855133fe9e4 Author: Paul Mundt Date: Fri Sep 21 15:56:51 2007 +0900 sh: Enable maple by default for the Dreamcast. Signed-off-by: Paul Mundt commit 17be2d2b1c333e1e4c378369ba90ab2dd11c589a Author: Adrian McMenamin Date: Fri Sep 21 15:55:55 2007 +0900 sh: Add maple bus support for the SEGA Dreamcast. The Maple bus is SEGA's proprietary serial bus for peripherals (keyboard, mouse, controller etc). The bus is capable of some (limited) hotplugging and operates at up to 2 M/bits. Drivers of one sort or another existed/exist for 2.4 and a rudimentary port, which didn't support the 2.6 device driver model was also in existence. This driver - for the bus logic itself and for the keyboard (other drivers will follow) are based on the code and concepts of those old drivers but have lots of completely rewritten parts. I have the maple bus code as a built in now as that seems the sane and rational way to handle something like that - you either want the bus or you don't. Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit e87ab0c43c30faa0f4b337bfa87bce7923e67485 Author: Markus Brunner Date: Fri Sep 21 15:27:35 2007 +0900 sh: Magic Panel MTD mapping update. This update moves the flash mapping for the Magic Panel into the board setup. It also removes references to the old MTD mapping option in the defconfig. Signed-off by: Markus Brunner Signed-off by: Mark Jonas Signed-off-by: Paul Mundt commit 02353f5d2a317861536b8c38fea44196bdd5787c Author: Paul Mundt Date: Fri Sep 21 15:21:55 2007 +0900 sh: rts7751r2d: Fix up trivial build failure. Signed-off-by: Paul Mundt commit 43f4b8c7578b928892b6f01d374346ae14e5eb70 Author: Aoi Shinkai Date: Fri Sep 21 15:18:33 2007 +0900 sh: rts7751r2d cf_ide rework Support CF IDE on R2D-1 boards. Signed-off-by: Aoi Shinkai Signed-off-by: Paul Mundt commit d04a0f79f502a87bb17b147afc4b3e39e75275c3 Author: Paul Mundt Date: Fri Sep 21 11:55:03 2007 +0900 sh: Fix up extended mode TLB for SH-X2+ cores. The extended mode TLB requires both 64-bit PTEs and a 64-bit pgprot, correspondingly, the PGD also has to be 64-bits, so fix that up. The kernel and user permission bits really are decoupled in early cuts of the silicon, which means that we also have to set corresponding kernel permissions on user pages or we end up with user pages that the kernel simply can't touch (!). Finally, with those things corrected, really enable MMUCR.ME and correct the PTEA value (this simply needs to be the upper 32-bits of the PTE, with the size and protection bit encoding). Signed-off-by: Paul Mundt commit db2504966ceb9f08557b6ea3ab7e367016fcaba9 Author: Paul Mundt Date: Fri Sep 21 11:34:31 2007 +0900 sh: Wire up URAM node on SH7785. Add SH7785 URAM as node 1, follows the SH-X3 change. Signed-off-by: Paul Mundt commit 0e01059c3db95b638aa0cc75be4b0e7a134fe904 Author: Paul Mundt Date: Tue Sep 18 15:58:45 2007 +0900 sh: se7206: update defconfig. Signed-off-by: Paul Mundt commit 8f3dc1371efb5fd5f1dc02b2a01da589f2d220a0 Author: Paul Mundt Date: Tue Sep 18 15:41:39 2007 +0900 sh: se7206: Handle non-SuperIO I/O ports. This fixes up the port calculation logic for non-SuperIO accesses, before these were always matching the MRSHPC base, now just make sure the original port is handed back if it's not in the I/O port range. Signed-off-by: Paul Mundt commit c3fae6d163f4647e9390eac3f2a1201e91cd6669 Author: Paul Mundt Date: Fri Sep 14 09:26:07 2007 +0900 sh: r7780rp: irq-r7780rp needs linux/io.h. Trivial build fix. Signed-off-by: Paul Mundt commit 2f0ae55f394a0d38ca3eb2fffac3f4d45c32eb97 Author: Paul Mundt Date: Thu Sep 13 16:36:52 2007 +0900 sh: hp6xx: Trivial build fixes for INTC changes. Get the IRL->IRQ stuff building. Signed-off-by: Paul Mundt commit 7216ddc6b61040d7bfdf44713ea94f6d845553b2 Author: Paul Mundt Date: Thu Sep 13 13:01:15 2007 +0900 sh: se7206: heartbeat needs 32-bit writes. Most boards use 8 or 16-bit access for the LED bank, se7206 needs 32. There's only 8 individual LEDs however, each with a 'special' value in terms of logical ordering. Go FPGA, go! Signed-off-by: Paul Mundt commit dfcb76089ada89a5520ad8544440799e75f01227 Author: Paul Mundt Date: Thu Sep 13 12:59:32 2007 +0900 sh: se7206: Make the I/O port routines less stupid. The port routines were logically inverted, and the MRSHPC range had no upper bound, causing 8 and 16-bit port I/O to get mangled. Signed-off-by: Paul Mundt commit ded5431ff311d963888ac951131a04fe7633aa79 Author: Markus Brunner Date: Wed Sep 12 11:54:58 2007 +0900 sh: Magic Panel R2 board support. This adds support for the SH7720 (SH3-DSP) based Magic Panel R2 board. Signed-off-by: Markus Brunner Signed-off by: Mark Jonas Signed-off-by: Paul Mundt commit 18d18ba8ef147f9d0d97da1da1253ce5c982bb91 Author: Kristoffer Ericson Date: Wed Sep 12 11:36:34 2007 +0900 sh: hp6xx: Enable pata_platform in defconfig. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit aedb598631885c54e1bd61b19a373cd1b97aa568 Author: Kristoffer Ericson Date: Wed Sep 12 11:35:55 2007 +0900 sh: hp6xx: Enable touchscreen and powerbutton IRQs. IRQ0->IRQ3 need to be an IRQ mode for these to work, fix them up. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 1db4e9bb5682fd3fd3f37f7fe9c322e7c5bb7578 Author: Paul Mundt Date: Tue Sep 11 18:10:23 2007 +0900 sh: Don't enable FPU for SH4AL-DSP. This leads to invalid configurations where both FPU and DSP support can be enabled in the same kernel, resulting in build failure. Signed-off-by: Paul Mundt commit d581593388e39d77acd643b1d7427c5ecbb85a03 Author: Paul Mundt Date: Tue Sep 11 17:55:36 2007 +0900 sh: dma: Fix CONFIG_SYSFS=n build. Trivial build fix for when sysfs is disabled. Signed-off-by: Paul Mundt commit 35f3abe97696e7563b0dbd7c825acdaab423d330 Author: Paul Mundt Date: Tue Sep 11 15:28:32 2007 +0900 sh: INTC stubs for SH7343 and SH7770 builds. Get the SH7343 and SH7770 stuff linking again. Both of these still require proper INTC support. Signed-off-by: Paul Mundt commit 68362e0857ecf8a9da1ac5f7abceafbcfaa969d7 Author: Paul Mundt Date: Tue Sep 11 15:27:29 2007 +0900 serial: sh-sci: kgdb console build fixes. The kgdb console code requires uart_set_options() and friends, which are only provided by the serial core when console support is enabled. These were sitting under CONFIG_SH_KGDB and resulted in a link error when console support wasn't enabled, work that by rolling the console routines under CONFIG_SH_KGDB_CONSOLE, which they should have been all along. Signed-off-by: Paul Mundt commit c9eaaa9763702bdeac5ac5f790dcebafbada44bb Author: Kristoffer Ericson Date: Tue Sep 11 12:51:02 2007 +0900 sh: hp6xx: Update CF IRQ for INTC changes. The vector changed, so follow the INTC changes for the new vector. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 4f247e84bdb81aab8880f556882a449782a1ea8b Author: Kristoffer Ericson Date: Tue Sep 11 12:49:59 2007 +0900 sh: dma: Fix up build for SH7709 support. Trivial build fixes for SH7709. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit f1382305b9357c8152852d6fcf0d84570d83987a Author: Kristoffer Ericson Date: Tue Sep 11 12:48:45 2007 +0900 sh: hd64461: Trivial build fixes for SH7709. Some trivial fixes to get SH7709 + HD64461 building again. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit eb650d67d8ad0fa16c0c61674d980adb25155358 Author: Kristoffer Ericson Date: Tue Sep 11 12:44:38 2007 +0900 backlight: Fix up hp680_bl build. Trivial build fixes. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 8c8ee8254767d517907418d88492d4d91f10aca1 Author: Kristoffer Ericson Date: Tue Sep 11 12:43:33 2007 +0900 sh: hp6xx: APM build fix and new battery values. Build fixes for the hp6xx APM code, as well as some adjustments for the battery values. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 9dd3f2205330a52674d7c015109813f639af0f14 Author: Kristoffer Ericson Date: Tue Sep 11 12:41:18 2007 +0900 sh: update hp6xx defconfig. hp6xx_defconfig resync. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit f12468a6fd9edc43c7beb8be461ca6927a371540 Author: Kristoffer Ericson Date: Tue Sep 11 12:37:30 2007 +0900 sh: Fix OFFCHIP_IRQ_BASE compile error. HP6xx uses OFFCHIP_IRQ_BASE to know the base irq number where non cpu interrupts should start. This define was in irq.h before, but since rework got lost. It really belongs inside hd64461.h since the hp6xx wont work without it. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 3d73e53870e5045eebe32b9b7d46e72b02adc4d9 Author: Paul Mundt Date: Tue Sep 11 12:35:51 2007 +0900 sh: nommu fault handler needs signal.h. Trivial build fix. Signed-off-by: Paul Mundt commit aa0e77dc21d73057208b8683114b400c898cf53a Author: Paul Mundt Date: Tue Sep 11 12:35:09 2007 +0900 sh: Fix up se7751 build. Trivial compile fix. Signed-off-by: Paul Mundt commit da6b003adc73011fd441a89c30d4f896667e24ba Author: Magnus Damm Date: Mon Sep 10 12:08:42 2007 +0900 sh: add writesb(), readsb(), writesw() and readsw() to io.h This patch adds inline versions of writesb(), readsb(), writesw() and readsw() to include/asm-sh/io.h. Stolen from include/asm-avr32/io.h. These functions are needed to compile certain device drivers such as ax88796. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9d4c82625914c31fd21e341765d476784cc74f14 Author: Magnus Damm Date: Mon Sep 10 12:06:44 2007 +0900 sh: remove sh7780 interrupt controller hack from pci code This patch removes the sh778x specific pci code that pokes in the interrupt controller and overwrites things. The new and improved IRL code manages this in plat_irq_setup() and plat_irq_setup_pins() instead. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 897cfcd878ccc9c2b0f1b3bb00a2368c43feafc0 Author: Magnus Damm Date: Mon Sep 10 12:06:03 2007 +0900 sh: intc - rework higlander irq code for r7780mp and r7785rp This patch reworks the highlander irq code for r7780mp and r7785rp. The same strategy as for the new R2D code is used here - the board specific interrupts are now starting from HL_FPGA_IRQ_BASE. The code for r7780rp is not touched due to lack of hardware. Tested with CF, AX88796 on r7780mp and r7785rp. The touch switch interrupt has also been tested on r7780mp. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5cbc3af521a85aab8ae72c25afcf2698a7547cbd Author: Magnus Damm Date: Mon Sep 10 12:05:10 2007 +0900 sh: minor fixes This patch contains the following fixes: - Adds sh7785 support to CONFIG_EARLY_SCIF_CONSOLE_PORT. - Removes duplicate include from rts7751r2d irq code. - Removes CONFIG_CPU_HAS_INTC from sh7720 Kconfig entry. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 953c8ef250fc6c329d1607cf9cd7fac1d72d7579 Author: Magnus Damm Date: Mon Sep 10 12:03:50 2007 +0900 sh: intc - irl mode update for sh7780 and sh7785 This patch contains the following fixes and improvements: - Fix address typo for INTMSK2 / INTMSKCLR2 registers on sh7780. - Adds IRQ_MODE_IRLnnnn_MASK using intc controller for IRL masking. - Good old IRQ_MODE_IRLnnnn should not register any intc controller. - plat_irq_setup_pins() now selects IRL or IRQ mode. - the holding function is now disabled using ICR0. By default all external pin interrupts are disabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 123f5f188638bfc673aca22ade64b863ec3a2804 Author: Adrian McMenamin Date: Mon Sep 10 12:01:42 2007 +0900 fb: pvr2fb: Shared IRQ for dreamcast pvr2. The maple bus driver (http://lkml.org/lkml/2007/9/4/165) uses hardware synchronisation between the maple bus and the VBLANK to poll the maple bus. This patch makes the interrupt shareable. By definition the interrupt is for both devices. Signed-off by: Adrian McMenamin Signed-off-by: Paul Mundt commit 1254d1db11d8528558613fde5b89eb09306f50a3 Author: Magnus Damm Date: Thu Aug 23 15:19:40 2007 +0900 sh: remove CONFIG_CPU_HAS_INTC_IRQ All processor specific interrupt code is now converted to make use of the new intc code. The config option CONFIG_CPU_HAS_INTC_IRQ is because of that pointless. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a1fd306b887f06d648f45a2c722e9036dced9590 Author: Paul Mundt Date: Thu Aug 23 15:11:44 2007 +0900 sh: Fix up heartbeat build and resource size. We were abusing the resource size for the number of bits, this has been reworked using proper platform data, so this can be tidied up now. Boards in general only have a 1-byte wide resource, which the ioremap_nocache() case already handles. Signed-off-by: Paul Mundt commit b8996e49e8d777abd64833095a1cd291b749df18 Author: Magnus Damm Date: Wed Aug 22 13:36:23 2007 +0900 sh: defconfigs for R2D-PLUS and for R2D-1 This patch removes the old r2d config file named rts7751r2d_defconfig and adds separate config files for the two r2d board versions. The two new defconfigs are identical with the exception of board selection: - rts7751r2dplus_defconfig selects CONFIG_RTS7751R2D_PLUS=y - rts7751r2d1_defconfig selects CONFIG_RTS7751R2D_1=y Please remember to update both files with r2d changes in the future. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 8a467a529f01c3471b195a0e8989c6177fe145ef Author: Paul Mundt Date: Wed Aug 22 10:34:31 2007 +0900 sh: Overhaul spinlocks and rwlocks for SH-4A SMP. This rips out some of the old spinlock and rwlock behaviour that the SH-2 parts were using and reworks them for LL/SC semantics on the SH-4A. This is primarily only useful for SH-X3 multi-cores, but can also be used for building CONFIG_SMP=y testing kernels on SH-4A UP. Signed-off-by: Paul Mundt commit b05d1865b46ea72c66ba082598ba370582bb590e Author: Paul Mundt Date: Tue Aug 21 12:25:09 2007 +0900 sh: Kill off volatile silliness in sq_flush_range(). CC arch/sh/kernel/cpu/sh4/sq.o arch/sh/kernel/cpu/sh4/sq.c: In function 'sq_flush_range': arch/sh/kernel/cpu/sh4/sq.c:65: warning: passing argument 1 of 'prefetch' discards qualifiers from pointer target type This didn't actually need to be volatile in the first place, so just kill off the qualifier entirely. Signed-off-by: Paul Mundt commit 2d009328db0951d5eec77a5fe0df3c3e64b35851 Author: Paul Mundt Date: Mon Aug 20 13:15:51 2007 +0900 sh: More license string silliness. 'GPL v2' vs 'GPLv2'. Signed-off-by: Paul Mundt commit 8786c952c1682a132e99b736beae4523e409b13d Author: Paul Mundt Date: Mon Aug 20 13:03:41 2007 +0900 sh: heartbeat driver update. Add some flags for the heartbeat driver, and kill off some duplication in the bit positions for the boards that don't have special cases. This also allows for variable access widths and inversion. Signed-off-by: Paul Mundt commit 2eb0303c2cd536d7f15c7f3bafc848b850a447f0 Author: Magnus Damm Date: Fri Aug 17 00:53:41 2007 +0900 sh: intc - add support for sh7206 This patch converts the cpu specific interrupt setup code for sh7206 from ipr to intc. New vectors are also added to match the information provided by the datasheet. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0dc3fc04dd0251aa95b49ca7048e9e8f24291166 Author: Magnus Damm Date: Fri Aug 17 00:53:07 2007 +0900 sh: intc - add support for sh7619 This patch converts the cpu specific interrupt setup code for sh7619 from ipr to intc. New vectors are also added to match the information provided by the datasheet. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c4773bc2a011efa9abe2027f6959106d6f911889 Author: Magnus Damm Date: Fri Aug 17 00:51:47 2007 +0900 sh: fix irqs for the second serial port on sh7206 This patch makes sure the serial port interrupt irqs matches the datasheet. Only irqs for SCIF1 are changed. While at some cosmetic spaces are added. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3d37d94e5aab669f5a492bb3cda67bbbbbca50b8 Author: Magnus Damm Date: Fri Aug 17 00:50:44 2007 +0900 sh: intc - primary priority masking fixes This patch contains various intc fixes for problems reported by Markus Brunner on the linuxsh-dev mailing list: http://marc.info/?l=linuxsh-dev&m=118701948224991&w=1 Apart from added comments, the fixes are: - add intc_set_priority() function prototype to hw_irq.h - fix off-by-one error in intc_set_priority() - make sure _INTC_WIDTH() is set for primary priority masking Big thanks to Markus for finding these problems. Version two fixes a compile error and an inverted primary check. Signed-off-by: Magnus Damm Acked-by: Markus Brunner Signed-off-by: Paul Mundt commit 5c37e025352b993d8726b0207ff2270b2f2bc7d6 Author: Magnus Damm Date: Fri Aug 17 00:45:35 2007 +0900 sh: intc - mark data structures as __initdata With the intc core improved it is now possible to put the intc data structures in the initdata section. Version two of this patch puts the __initdata inside DECLARE_INTC_DESC() and removes the __initdata included in the board specific r2d code. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 46420e49c9fd76defecfb3f048ab20c5a72dfd0a Author: Magnus Damm Date: Sun Aug 12 15:31:29 2007 +0900 sh: x3 - add ipi vectors With the intc dual prio register support in place it is now possible to add the ipi vectors to x3. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f8b40d8ce86035b126a27a57ed9139c08ae3ebf1 Author: Magnus Damm Date: Sun Aug 12 15:30:40 2007 +0900 sh: replace sh specific CONFIG_VOYAGERGX with CONFIG_MFD_SM501 This patch replaces all instances of CONFIG_VOYAGERGX with CONFIG_MFD_SM501. While at it we make sure the r2d code compiles both with and without SM501. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2eeec85638cebcb6fbcb2abfe182a32252f3456d Author: Magnus Damm Date: Sun Aug 12 15:29:16 2007 +0900 sh: intc - convert board specific r2d code This patch converts the board specific interrupt code for r2d to make use of intc. While at it we improve the Kconfig to avoid confusion. - Two sets of interrupt tables exist - one for R2D-1 and one for R2D-PLUS. - R2D-1 and R2D-PLUS use the same irq constants. - R2D-1 has AX88796 support, R2D-PLUS does not hook up that IRQ. - R2D-PLUS has KEY support, R2D-1 does not hook up that IRQ. - The number and order of IRQ values are disconnected from register bits. - Interrupt sources now start from IRQ 100. - The machvec demux function converts from irlm IRQ 0-14 to IRQ 100++. Tested on R2D-1 and R2D-PLUS boards. Version 2 adds CONFIG_RTS7751R2D_1 and CONFIG_RTS7751R2D_PLUS together with intc structured as __initdata. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 73505b445dbb8ad12df468404c4dd5cde9c40c65 Author: Magnus Damm Date: Sun Aug 12 15:26:12 2007 +0900 sh: intc - rework core code This patch reworks the intc core, implementing the following features: - Support dual priority registers - one set and one clear register - All 8/16/32 bit register combinations are now supported - Both single mask and single enable bitmap register are supported - Add code to set interrupt priority - Speedup sense and priority configuration code - Allocate data using bootmem, allows intc data structures to be __initdata - Save memory - allocated memory footprint is smaller than intc structures Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6ef5fb2cfcedaab4a43493c8f2305a67c0ce1af6 Author: Magnus Damm Date: Sun Aug 12 15:22:02 2007 +0900 sh: intc - add a clear register to struct intc_prio_reg We need a secondary register member in struct intc_prio_reg to support dual priority registers used by ipi on x3. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d6aee69ca11550f3ca325ceaa020ea74e173478f Author: Magnus Damm Date: Sun Aug 12 15:18:33 2007 +0900 sh: x3 - fix setup_bootmem_node() compile error with shx3_defconfig This makes sure the function prototype for setup_bootmem_node() gets included. The file setup-shx3.c does not compile otherwise for CONFIG_NUMA=n. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3ea6bc3de4f15fcae84fb31eeea4d420685a3da2 Author: Markus Brunner Date: Mon Aug 20 08:59:33 2007 +0900 sh: Add SH7720 CPU support. This adds support for the SH7720 (SH3-DSP) CPU. Signed-off by: Markus Brunner Signed-off by: Mark Jonas Signed-off-by: Paul Mundt commit dfc5ed2a939baf08f9385a8c6249b719cac63665 Author: Markus Brunner Date: Mon Aug 20 08:58:12 2007 +0900 sh: Add gpio.h stubs for PFC definitions. This adds the PFC definitions for SH-3, as well as consolidating the gpio.h mess within sh-sci. Stub in sh64, as it's the odd one out between the sh-sci architectures (sh, sh64, h8300) in this capacity. Signed-off by: Markus Brunner Signed-off by: Mark Jonas Signed-off-by: Paul Mundt commit f7f86345fd0cf951613e76e4d00f1f6e8cd11f81 Author: Paul Mundt Date: Wed Aug 8 18:11:26 2007 +0900 sh: Kill off duplicate symbol exports on SMP. synchronize_irq() was being exported twice, kill off the duplicate export. Signed-off-by: Paul Mundt commit e289fd972c9943e51c46929e9dbec3cc4558a6b8 Author: Paul Mundt Date: Wed Aug 8 18:09:13 2007 +0900 serial: sh-sci: Tidy cpufreq printk. This was a bit more verbose than it needed to be. Signed-off-by: Paul Mundt commit d3428e91017f2ecf5655b3ffdf6ed65f5430ade1 Author: Paul Mundt Date: Wed Aug 8 17:06:54 2007 +0900 sh: Wire up CSM node for SH-X3. Now that NODES_SHIFT is bumped up, we can plug in the CSM block as a separate node, too. Signed-off-by: Paul Mundt commit 1760b7d760b2804a87affcb8ec74edde8812a1ea Author: Paul Mundt Date: Wed Aug 8 16:57:05 2007 +0900 serial: sh-sci: Shut up compiler warning for SH-X3 SCIF. Signed-off-by: Paul Mundt commit 9904494d6a5303f6eebf6fe95a37bf1f952a3f5d Author: Paul Mundt Date: Wed Aug 8 16:45:07 2007 +0900 sh: Bump up NODES_SHIFT for SH-X3. This was at 1, which is where most subtypes want it. SH-X3 has more nodes, so bump it up to 3. Signed-off-by: Paul Mundt commit af24fdc1685ff8b27075afbc12d7f6b35b385ae1 Author: Paul Mundt Date: Wed Aug 8 16:31:38 2007 +0900 sh: x3proto: Trivial ILSEL build fix. Signed-off-by: Paul Mundt commit e7109a96e6e2a1f7c4b778146902d86c4f558949 Author: Paul Mundt Date: Wed Aug 8 15:27:55 2007 +0900 sh: x3proto: Hook up ethernet and USB platform devices. Now that we have a way of enabling the IRQs, hook up the platform devices and wrap in to ILSEL for mapping the vectors. Signed-off-by: Paul Mundt commit fef96086270e8d3c99fb2bfc72eef94d95ab2240 Author: Paul Mundt Date: Wed Aug 8 15:26:51 2007 +0900 sh: x3proto: ILSEL IRQ support. This adds functionality for the on-board ILSEL IRQs that chain IRL mode events. Many on-board devices (ethernet, usb, etc.) rely on ILSEL IRQs directly. Signed-off-by: Paul Mundt commit 94807a33dc4aaf522d3eab62db225361e5a97b2a Author: Paul Mundt Date: Wed Aug 8 15:22:04 2007 +0900 sh: Initial support for SH-X3 prototype board. This adds initial support for the SH-X3 prototype board. Only simple logic for the IRQ controller and the heartbeat driver for now. Signed-off-by: Paul Mundt commit 8d797cd191397b2a92b190228f07c7715c1c832a Author: Paul Mundt Date: Tue Aug 7 18:52:29 2007 +0900 sh: Plug in SH-X3 SCIF0 for sercon earlyprintk. Signed-off-by: Paul Mundt commit 6d64d4256cccd3a452ebd8c37a1d41e2d5dab8c6 Author: Paul Mundt Date: Tue Aug 7 18:51:19 2007 +0900 sh: intc: Fix sense regs oops for IRL IRQs. IRL doesn't always define sense registers, so don't bother trying to iterate through the table. This ended up causing an oops on SH-X3 when using IRL mode. Signed-off-by: Paul Mundt commit 96290d808fa4c9b8e744dc1cd032b005179f4710 Author: Magnus Damm Date: Fri Aug 3 14:29:20 2007 +0900 sh: remove intc2 code There is no point in keeping around the now unused intc2 code. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 48180cab3adf4cb290c28b70e44e958b7fb8a5b0 Author: Magnus Damm Date: Fri Aug 3 14:27:20 2007 +0900 sh: intc - convert voyagergx code This patch converts the sh-specific voyagergx interrupt code to make use of intc. A lot of "interesting" old cruft gets replaced with intc tables and some simple demux code. - All interrupt sources in the sm501 data sheet are now in the header. - The number and order of IRQ values are disconnected from register bits. - Interrupt sources now start from IRQ 200. - set_irq_chained_handler() is now used to hook up the demux function. In the future it would probably make sense to move the interrupt demuxer into into the mfd driver, but this is probably a nice step in the right direction until that happens. Tested on a R2D-1 board using the serial port hooked up to the sm501. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 51da64264b8d59a1e5fceebd94a975690b70b086 Author: Magnus Damm Date: Fri Aug 3 14:25:32 2007 +0900 sh: intc - add single bitmap register support This patch adds single bitmap register support to intc. The current code only handles 16 and 32 bit registers where a set bit means interrupt enabled, but this is easy to extend in the future. The INTC_IRQ() macro is also added to provide a way to hook in interrupt controllers for FPGAs in boards or companion chips. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2635e8558a7ec0002724e3da8c0a221d2c08af33 Author: Magnus Damm Date: Fri Aug 3 14:24:29 2007 +0900 sh: intc - remove redundant irq code for shmin This patch removes redundant interrupt code for the shmin board which is using a sh770x processor and 4 IRQ lines as individual interrupts (IRQ-mode). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d59645d6ba67337ff09369d9da4fc47f7dc361cc Author: Magnus Damm Date: Fri Aug 3 14:23:35 2007 +0900 sh: intc - remove redundant irq code for sh03, snapgear and titan This patch removes redundant board specific interrupt code for boards using sh775x processors and 4 IRQ lines in "Individual Interrupt Mode" aka IRLM. Three boards are affected: sh03, snapgear and titan. The right way to do this is to use cpu specific code provided by intc. A nice side effect is that sh03 now compiles, board not BROKEN any more. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ad89f87a84040a57c4a78ca2759b364f72f423ab Author: Paul Mundt Date: Fri Aug 3 14:19:58 2007 +0900 rtc: rtc-sh: Support 4-digit year on SH7705/SH7710/SH7712. All SH-4 parts have a 4-digit year, while the SH-3 parts typically only use a 2-digit one. The SH7705, SH7710, and SH7712 SH-3 parts however opted to extend it to 4-digit and still look and act like an SH-3 RTC in all other ways. This adds a capability flag (RTC_CAP_4_DIGIT_YEAR) that these corner-case CPU subtypes can set in their platform data and cleans up some of the ifdef mess in the driver as a result. Reported-by: Markus Brunner Signed-off-by: Paul Mundt commit 7da3b8ef662af6252aa17c55cc0aa6d74cbf02e4 Author: Paul Mundt Date: Wed Aug 1 17:52:47 2007 +0900 sh: Initial multiple-node support for SH-X3. Wire up CPU#0 URAM as node 1 on SH-X3. Signed-off-by: Paul Mundt commit 1ee010087e2d26f0d8182bb189d5606e3586253c Author: Magnus Damm Date: Wed Aug 1 17:02:22 2007 +0900 sh: intc - add support for x3 This patch converts the cpu specific interrupt setup code for x3 from intc2 to intc. New vectors are also added to match the preliminary information. Use plat_irq_setup_pins() to select between IRQ and IRL mode for IRQ0-3. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 137b53b71cd421e0f59f7c4a3767c0fa9e49260a Author: Magnus Damm Date: Wed Aug 1 16:50:42 2007 +0900 sh: intc - fix IRQ4 and IRQ5 typo on sh3 The intc tables for sh3 currently contain a typo where the bit fields in IPRD are mixed up for IRQ4 and IRQ5. This patch makes sure the correct bit fields are used - all according to the datasheets. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ac38e4d33d8da3c3c402d2b4858d107273287f43 Author: Paul Mundt Date: Tue Jul 31 18:52:12 2007 +0900 sh: Fix cache disabling build failures on nommu. The cache disabling stuff screwed up some of the sh4 nommu builds, fix it up again. Signed-off-by: Paul Mundt commit c9d03d9a80c4bcc571efd93fe80ed40973030422 Author: Magnus Damm Date: Tue Jul 31 17:13:39 2007 +0900 sh: simplify se7780 IRQ code The new intc code handles IRQ3 and IRQ7 in the cpu specific code already, so there is no reason to duplicate that here. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e29bfbc44332ee2233d87d5adfd1824fd8a1c73b Author: Magnus Damm Date: Tue Jul 31 17:12:34 2007 +0900 sh: intc - add support for SH7760 This patch converts the cpu specific interrupt setup code for sh7760 from ipr + intc2 to intc. New vectors are also added to match the information provided by the datasheet. Vectors for IRQ4-IRQ7 are enabled by default. Use plat_irq_setup_pins() if pins IRL0-3 should be used in IRLM mode. The patch also adds the SIM block to the serial port platform data. Version two of this patch fixes MMCIF problems reported by Manuel Lauss. Signed-off-by: Magnus Damm Acked-by: Manuel Lauss Signed-off-by: Paul Mundt commit a0e23267d4c57cdaa88114c3d88e25c87ee32d84 Author: Magnus Damm Date: Tue Jul 31 17:11:21 2007 +0900 sh: intc - add support for SH7785 This patch converts the cpu specific interrupt setup code for sh7785 from intc2 to intc. New vectors are also added to match the information provided by the datasheet. No IRQ/IRL pin vectors are enabled by default. Use plat_irq_setup_pins() to select between IRL and IRQ mode. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e7bd34a15b85655f24d1b45edbe3bdfebf9d027e Author: Paul Mundt Date: Tue Jul 31 17:07:28 2007 +0900 sh: Support explicit L1 cache disabling. This reworks the cache mode configuration in Kconfig, and allows for explicit selection of write-back/write-through/off configurations. All of the cache flushing routines are optimized away for the off case. Signed-off-by: Paul Mundt commit ac919986d7dfc5d1d9f5585521307f222a8ebeaf Author: Magnus Damm Date: Thu Jul 26 10:13:21 2007 +0900 sh: intc - avoid SH7710 specific vector on SH7712 This patch makes sure that the sh7710 specific ipsec vector is missing if building for a sh7712. All according to the datasheet. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1301e71562acc301a39fd363010c971aade8511a Author: Magnus Damm Date: Thu Jul 26 10:12:50 2007 +0900 sh: intc - add missing vectors for SH7707 This patch adds a few missing vectors for sh7707. The only interrupt controller differences between sh7707 and sh7709 seem to be added vectors for one LCD controller and two PCMCIA slots. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ec58f1f32de0b6f9e83aada94c857a8fa9b00070 Author: Magnus Damm Date: Wed Jul 25 17:50:01 2007 +0900 sh: intc - add support for SH7706, SH7707, SH7708, SH7709 This patch unifies the cpu specific interrupt setup code for sh7706, sh7707, sh7708 and sh7709 and moves the code into a new file called setup-sh770x.c. It makes sense to share the setup code between these processors because most hardware blocks are identical from a software point of view. With this patch the sh770x processors now have a complete set of vectors that match with the information provided by the data sheets. This is a big improvement for sh7708. Vectors for IRQ4 and IRQ5 are enabled by default. Use plat_irq_setup_pins() if pins IRQ0-3 should be used in IRQ mode. This patch also unifies the platform device setup code which means that the rtc driver now has platform data for all sh770x processors. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 28b146c84ed571043f473d2ac2f2a27e48fda7d1 Author: Magnus Damm Date: Wed Jul 25 17:47:07 2007 +0900 sh: intc - add support for SH7710 This patch converts the cpu specific interrupt setup code for sh7710 from ipr to intc. While at it new vectors are added to match the information provided by the datasheet. Version two simplifies the Kconfig part. Vectors for IRQ4 and IRQ5 are enabled by default. Use plat_irq_setup_pins() if pins IRQ0-3 should be used in IRQ mode. This patch also adds sh7710 specific platform data for the rtc driver. The base address of SCIF1 is adjusted to match the datasheet. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 70e8be0a4e21f71e654bea2e5ec4789e976a796b Author: Magnus Damm Date: Wed Jul 25 10:50:42 2007 +0900 sh: intc - add support for SH7705 This patch converts the cpu specific interrupt setup code for sh7705 from ipr to intc. While at it new vectors are added to match the information provided by the datasheet. Vectors for IRQ4 and IRQ5 are enabled by default. Use plat_irq_setup_pins() if pins IRQ0-3 should be used in IRQ mode. This patch also adds sh7705 specific platform data for the rtc driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 06767fb2ba5af5542e2ec91e00e292ff93ab58ce Author: Imre Deak Date: Tue Mar 6 18:20:00 2007 +0200 ARM: OMAP: N770: add missing LCD, LCD controller, touchscreen device registration These were left out from the board file when merging these drivers, add them here. Call GPIO init from the board file as well, since the platform device init code uses the GPIO API. Signed-off-by: Imre Deak Signed-off-by: Tony Lindgren Removed hwa742 init for now as it needs some clock updates. Signed-off-by: Tony Lindgren commit 4dcc6d242ea576aaead9b5fe4b79cf941294855b Author: David Brownell Date: Thu Jan 25 16:24:01 2007 -0800 ARM: OMAP: osk+mistral backlight, power, board specific Mistral-specific: - Add PWL-driven LCD backlight device - Apply power to the board even when the LCD isn't configured; things like EEPROM, temperature sensor, and wakeup switch depend on it. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit e898088e250d9b0cce671490fb29c5fd82880d5e Author: Tony Lindgren Date: Thu Dec 7 16:32:55 2006 -0800 ARM: OMAP: Add omap osk defconfig Add omap osk defconfig Signed-off-by: Tony Lindgren commit b250428461130c32c5dde00fd5037ef6fa276004 Author: Tony Lindgren Date: Thu Dec 7 16:22:18 2006 -0800 ARM: OMAP: Update omap h2 defconfig Update omap h2 defconfig Signed-off-by: Tony Lindgren commit a524626b113e36fc70cb456449444018e3045d5f Author: Tony Lindgren Date: Thu Dec 7 13:58:17 2006 -0800 ARM: OMAP: Sync board specific files with linux-omap This patch syncs omap board specific files with linux-omap tree. Patch consists mostly of driver updates done in linux-omap tree for drivers not yet in mainline kernel. Signed-off-by: Tony Lindgren commit c79ed1940ca9a4af5e9c182ac51f28dadd32956d Author: Vladimir Ananiev Date: Wed Dec 6 17:14:08 2006 -0800 ARM: OMAP: Basic support for siemens sx1 This adds basic support for Siemens SX1. More patches are available, with video driver, mixer, and serial ports working. That is enough to do gsm calls with right userland. Signed-off-by: Pavel Machek Signed-off-by: Tony Lindgren commit dc563b4f2de0dd57a8febe26158cdf59bc15534f Author: Marek Vasut Date: Wed Dec 6 17:14:07 2006 -0800 ARM: OMAP: Palm Tungsten|T support This patch adds board file and necessary includes for Palm Tungsten|T. Signed-off-by: Marek Vasut Signed-off-by: Tony Lindgren commit cc32658ca0d7ff33a2e5778227a9c6dc3ad29856 Author: Andrzej Zaborowski Date: Wed Dec 6 17:13:58 2006 -0800 ARM: OMAP: Register tsc2102 on Palm Tungsten E Add palmte board config bits for TSC2102 controlled devices. This will enable touchscreen, audio and APM code to report battery level. If there are other boards at some point that use a TSC2102, similar code can be used. Signed-off-by: Andrzej Zaborowski Signed-off-by: Tony Lindgren commit ec70e8afb9b9818690bc440bc730c08bad4746a9 Author: Marek Vasut Date: Wed Dec 6 17:13:57 2006 -0800 ARM: OMAP: PalmZ71 support Palmz71 specific things - board file. Signed-off-by: Marek Vasut Signed-off-by: Tony Lindgren commit 325d50b660519398dc875b4cffedd0fc2cc4f425 Author: Jonathan McDowell Date: Wed Dec 6 17:13:52 2006 -0800 ARM: OMAP: Add support for Amstrad Delta keypad This adds support for the keypad on the top of the Amstrad Delta. It's just a standard omap-keypad so all we need to do is add the keypad layout and platform data to the board definition file. Signed-off-by: Jonathan McDowell Signed-off-by: Tony Lindgren commit c3695015087e21ff30606bf7fc661de1582af81b Author: Andrzej Zaborowski Date: Wed Dec 6 17:13:51 2006 -0800 ARM: OMAP: Palm Tungsten E board update General update of the board file for Palm Tungsten E. Registers the platform devices contained in the PDA (ROM chip, keypad, infra-red) and updates the configuration for USB and MMC, whose config values were previously guessed in most cases due to lack of documentation (and now are confirmed by a number of users). Macros for GPIO pins are moved to a file in include/asm-arm/arch-omap. Signed-off-by: Andrzej Zaborowski Signed-off-by: Tony Lindgren commit 6ea59bb3083dea3b48003ea49de12a3e3c868b05 Author: Imre Deak Date: Mon Mar 5 17:34:05 2007 +0200 ARM: OMAP: add SoSSI clock (remove manual checking of SoSSI state from idle) The SoSSI driver should already take care of this by enabling / disabling its clock when necessary, so this legacy callout from the PM idle code is not needed any more. Signed-off-by: Imre Deak Signed-off-by: Tony Lindgren commit df2c2e70f0cb3fa2586beffc41fcd7e093453bc5 Author: Imre Deak Date: Mon Mar 5 17:22:58 2007 +0200 ARM: OMAP: add SoSSI clock This is needed, so that disabling the SoSSI clock during idle can be prevented. Signed-off-by: Imre Deak Signed-off-by: Tony Lindgren commit c72d8950baf737fe4da1982a8fad1f33fecdde2e Author: David Brownell Date: Mon Dec 11 14:14:11 2006 -0800 ARM: OMAP: omap camera builds again; Mistral init and mux Support the camera connector on the OSK Mistral add-on board: - define muxing for both camera controllers - mux both of them for Mistral - teach ov9640 glue about mistral powerup/powerdown Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 6017e29536f37045f0897c1afdc5500b21af8243 Author: Marek Vasut Date: Wed Dec 6 17:13:55 2006 -0800 ARM: OMAP: Enable DSP clocks for McBSP on omap310 This patch enables some clock on omap310. Signed-off-by: Marek Vasut Signed-off-by: Tony Lindgren commit 8777297b5e5fb7f908b51b56548b7cf7dbbf2022 Author: Kai Svahn Date: Fri Jan 26 13:14:34 2007 -0800 ARM: OMAP: Merge driver headers from N800 tree This patch merges omap specific driver headers from N800 tree. Signed-off-by: Kai Svahn Signed-off-by: Tony Lindgren commit 23300597948131d07eebeb1308c2ba0a1c147494 Author: Kai Svahn Date: Fri Jan 26 12:29:40 2007 -0800 ARM: OMAP: Merge gpmc changes from N800 tree This patch merges gpmc changes from N800 tree and adds gpmc_get_fclk_period() to gpmc.h. Signed-off-by: Kai Svahn Signed-off-by: Tony Lindgren commit c1ed6407cddbd87206b860f6207731d51c1d57bf Author: David Brownell Date: Thu Dec 7 14:03:49 2006 -0800 ARM: OMAP: TUSB EVM init Add init support for the TUSB6010 EVM board, as connected to H4. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 7d34f3b3901cf31611183f158b949d8a823a9762 Author: Tony Lindgren Date: Thu Dec 7 14:01:29 2006 -0800 ARM: OMAP: Tabify mux.c Tabify mux.c, no functional changes. Signed-off-by: Tony Lindgren commit 72d0f1c3cdc7c456e1e357359ec6f566d0a5f264 Author: Syed Mohammed Khasim Date: Wed Dec 6 17:14:05 2006 -0800 ARM: OMAP: Add minimal OMAP2430 support This patch adds minimal OMAP2430 support to get the kernel booting on 2430SDP. Signed-off-by: Syed Mohammed Khasim Signed-off-by: Tony Lindgren commit f604931238dff7b44ef52ac2ad1f557e45b25b38 Author: David Brownell Date: Wed Dec 6 17:14:03 2006 -0800 ARM: OMAP: abstract debug card setup (smc, leds) Additional cleanup for debug boards on H2/P2/H3/H4: move the init code that's not board-specific into a new file where it can be easily shared between all the different boards (avoiding code duplication, and making it easier to support more devices). Make H4 use that. This should be easy to drop in to the OMAP1 boards using these debug cards; the only difference seems to be that the p2 does an extra reset of the smc using the fpga (probably all boards could do that, if it's necessary) and doesn't use the gpio mux or request APIs. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 1c22cc13256046162bb8e7b44763f6c39790af74 Author: David Brownell Date: Wed Dec 6 17:13:55 2006 -0800 ARM: OMAP: omap2/gpmc updates GPMC updates: - bugfixes: wrong/missing flags, omitted write, wrong test - don't map memory segments starting at zero - improve debug messaging - export gpmc_get_fclk_perio]d() since it's needed to calc timings - expect gpmc_cs_set_timings() caller to have initialized sync vs async Note that this API is glitchy; likely the best fix would be to add a member to "struct gpmc_timings" to hold GPMC_CONFIG1, since that holds one key aspect of the GPMC timings (the gpmc_fclk divisor, and sync vs. async == whether that divisor matters). Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 742c53e48e5f8e05ec9f0818281fada9c6061023 Author: David Brownell Date: Wed Dec 6 17:13:54 2006 -0800 ARM: OMAP: omap2/memory.c compile fixes Remove some conflicting declarations in omap2/memory.c so that the file builds again. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit f024840872e76b1fdef324aee8c9176ed7aa0ba4 Author: Kyungmin Park Date: Wed Dec 6 17:13:53 2006 -0800 ARM: OMAP: Board Apollon update, fix boot Update Apollon board init to initialize NAND, USB, and LEDs. Also configure GPMC memory for smc91x Ethernet. Signed-off-by: Kyungmin Park Signed-off-by: Tony Lindgren commit 375e12abceac4e8e20ea54ff6a9e7be58729ac70 Author: Juha Yrjola Date: Wed Dec 6 17:13:50 2006 -0800 ARM: OMAP: Optimize INTC register accesses and enable autoidling Use virtual addresses directly instead of physical addresses to avoid having to recalculate the virtual address with every register access. Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren commit 33c9907535cef6cb5de1269540c04664c393d09c Author: Juha Yrjola Date: Wed Dec 6 17:13:46 2006 -0800 ARM: OMAP2: Place SMS and SDRC into smart idle mode Place SMS and SDRC into smart idle mode Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren commit 2224f4e5d5317552d48ce9059761148b1516ba5d Author: Steve French Date: Thu Sep 20 15:37:29 2007 +0000 [CIFS] fix typo in previous commit Signed-off-by: Steve French commit 1e71f25d14d70f2bf607b40ab6d7e18daca57f36 Author: Steve French Date: Thu Sep 20 15:30:07 2007 +0000 [CIFS] Print better error when server returns malformed QueryUnixInfo response Signed-off-by: Steve French commit 5a44b3190e3441986648ff664ef045685995324b Author: Steve French Date: Thu Sep 20 15:16:24 2007 +0000 [CIFS] Add warning message when broken server fails SetFSInfo call A reasonably common NAS server returns an error on the SetFSInfo of the Unix capabilities. Log a message for this alerting the user that the server may have problems with the Unix extensions, and telling them what they can do to workaround it. Unfortunately the server does not return other clues that we could easily use to turn the Unix Extension support off automatically in this case (since they claim to support it). Signed-off-by: Steve French commit c4d5e375470862fd741f93bf0686d7ac2f7fdce4 Author: David Gibson Date: Thu Sep 20 11:22:25 2007 +1000 [POWERPC] Cleanups for physmap_of.c (v2) This patch includes a whole batch of smallish cleanups for drivers/mtd/physmap_of.c. - A bunch of uneeded #includes are removed - We switch to the modern linux/of.h etc. in place of asm/prom.h - Use some helper macros to avoid some ugly inline #ifdefs - A few lines of unreachable code are removed - A number of indentation / line-wrapping fixes - More consistent use of kernel idioms such as if (!p) instead of if (p == NULL) - Clarify some printk()s and other informative strings. - parse_obsolete_partitions() now returns 0 if no partition information is found, instead of returning -ENOENT which the caller had to handle specially. - (the big one) Despite the name, this driver really has nothing to do with drivers/mtd/physmap.c. The fact that the flash chips must be physically direct mapped is a constrant, but doesn't really say anything about the actual purpose of this driver, which is to instantiate MTD devices based on information from the device tree. Therefore the physmap name is replaced everywhere within the file with "of_flash". The file itself and the Kconfig option is not renamed for now (so that the diff is actually a diff). That can come later. Signed-off-by: David Gibson Signed-off-by: Josh Boyer commit bd0076cc330f303905018a17d9dcfbabde497572 Author: Valentine Barshak Date: Wed Sep 19 03:29:13 2007 +1000 [POWERPC] 4xx: Fix Sequoia MAL0 and EMAC dts entries. According to PowerPC 440EPx documentation, MAL0 is comprised of four channels (two transmit and two receive). Each channel is dedicated to one of two EMAC cores. This patch fixes Sequoia DTS MAL0 entry and EMAC entries, assigning correct channel numbers to EMACs. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit e52f5677bf6954dbd128a2d659d77a85ced55d30 Author: Valentine Barshak Date: Wed Sep 19 03:27:52 2007 +1000 [POWERPC] 4xx: Fix Bamboo MAL0 dts entry. According to PowerPC 440EP documentation, MAL0 consists of 6 channels (4 transmit channels and 2 receive channels) This patch fixes Bamboo DTS MAL0 "num-rx-chans" entry. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 472b5b43bec45e7e79f86094ca9091bd9eb474ed Author: Valentine Barshak Date: Thu Sep 6 03:30:16 2007 +1000 [POWERPC] Add 64-bit resources support to pci_iomap The patch adds support for the 64-bit resources to the PCI iomap code. Signed-off-by: Valentine Barshak Acked-by: David Gibson Signed-off-by: Josh Boyer commit 9a474fff4f6a5fc14ac493c48f56a14e65912cc7 Author: Josh Boyer Date: Wed Sep 19 21:19:07 2007 -0500 [POWERPC] Update PowerPC 4xx entry in MAINTAINERS Add myself as PowerPC 4xx maintainer and list the git tree Signed-off-by: Josh Boyer commit 70dea47da12932cc512e09124a836ddd3499ab39 Author: Hollis Blanchard Date: Mon Sep 17 05:56:47 2007 -0500 [POWERPC] 4xx: Implement udbg_getc() for 440 Implement udbg_getc() for 440, which fixes xmon input. Signed-off-by: Hollis Blanchard Acked-by: David Gibson Signed-off-by: Josh Boyer commit 504ca43e5e681b8ed3837f11ea458eb145a82e4e Author: Josh Boyer Date: Sat Sep 15 04:54:14 2007 +1000 [POWERPC] 4xx: Convert Seqouia flash mappings to new binding A new binding for flash devices was recently introduced. This updates the Sequoia DTS to use the new binding and enabled MTD in the defconfig. Signed-off-by: Josh Boyer Acked-by: David Gibson Acked-by: Stefan Roese commit bf07f32d4332be50f5d4ef06307fb328257fcd1b Author: Josh Boyer Date: Sat Sep 15 04:54:13 2007 +1000 [POWERPC] 4xx: Convert Walnut flash mappings to new binding A new binding for flash devices was recently introduced. This updates the Walnut DTS to use the new binding. Signed-off-by: Josh Boyer Acked-by: David Gibson commit 8d9ae994d8fce807fc90fb8e3b6ac8df1cc7dce6 Author: Josh Boyer Date: Sat Sep 15 04:54:12 2007 +1000 [POWERPC] Make partitions optional in physmap_of The latest physmap_of driver has a small error where it will fail the probe with: physmap-flash: probe of fff00000.small-flas failed with error -2 if there are no partition subnodes in the device tree and the old style binding is not used. Since partition definitions are optional, the probe should still succeed. Signed-off-by: Josh Boyer Acked-by: David Gibson commit 658e81701970a82d33f46241f20be416ebd5e930 Author: Josh Boyer Date: Sat Sep 15 04:54:11 2007 +1000 [POWERPC] cuimage for Bamboo board Add a cuboot wrapper for the Bamboo board. Additionally, we enable MAC address fixups for both cuboot and treeboot. This also removes some obsoleted linker declarations that have been moved into ops.h Signed-off-by: Josh Boyer Acked-by: David Gibson commit 9e4859ef5462193643fd2b3c8ffb298e5a4a4319 Author: Stephen Rothwell Date: Tue Sep 18 17:25:12 2007 +1000 [POWERPC] FWNMI is only used on pSeries This saves 4k on non pSeries builds (except for iSeries where it saves almost 4k). Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ee7a76da1ef5e3e5e0e54e84319e435ea25c267c Author: Stephen Rothwell Date: Tue Sep 18 17:22:59 2007 +1000 [POWERPC] Size swapper_pg_dir correctly David Gibson pointed out that swapper_pg_dir actually need to be PGD_TABLE_SIZE bytes long not PAGE_SIZE. This actually saves 64k in the bss for a kernel ppc64_defconfig built with CONFIG_PPC_64K_PAGES. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 19a8d97d89442e2bda6245b8a3de2c1fec69a7ad Author: Stephen Rothwell Date: Mon Sep 17 14:41:38 2007 +1000 [POWERPC] Remove cmd_line from head*.S It is just a C char array, so declare it thusly. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 7b2c3c5b1d6dd77d7bb5a7d57ab7280e051c59bc Author: Stephen Rothwell Date: Mon Sep 17 14:08:06 2007 +1000 [POWERPC] Fix section mismatch in PCI code Create a helper function (alloc_maybe_bootmem) that is marked __init_refok to limit the chances of mistakenly referring to other __init routines. WARNING: vmlinux.o(.text+0x2a9c4): Section mismatch: reference to .init.text:.__alloc_bootmem (between '.update_dn_pci_info' and '.pci_dn_reconfig_notifier') WARNING: vmlinux.o(.text+0x36430): Section mismatch: reference to .init.text:.__alloc_bootmem (between '.mpic_msi_init_allocator' and '.find_ht_magic_addr') WARNING: vmlinux.o(.text+0x5e804): Section mismatch: reference to .init.text:.__alloc_bootmem (between '.celleb_setup_phb' and '.celleb_fake_pci_write_config') WARNING: vmlinux.o(.text+0x5e8e8): Section mismatch: reference to .init.text:.__alloc_bootmem (between '.celleb_setup_phb' and '.celleb_fake_pci_write_config') WARNING: vmlinux.o(.text+0x5e968): Section mismatch: reference to .init.text:.__alloc_bootmem (between '.celleb_setup_phb' and '.celleb_fake_pci_write_config') Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ee983079ce04641523b23b8ed02cc3503632351e Author: Domen Puncer Date: Wed Jul 18 06:32:31 2007 +1000 [POWERPC] MPC5200 low power mode Low-power mode implementation for Lite5200b. Some I/O registers are also saved here. A recent U-Boot that supports this (lite5200b_PM_config) is needed. Signed-off-by: Domen Puncer Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 104f0cc2dcf7ce0ca7da041177233747d6aa0136 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Add DEFINE_SPUFS_ATTRIBUTE() This patch adds DEFINE_SPUFS_ATTRIBUTE(), a wrapper around DEFINE_SIMPLE_ATTRIBUTE which does the specified locking for the get routine for us. Unfortunately we need two get routines (a locked and unlocked version) to support the coredump code. This hides one of those (the locked version) inside the macro foo. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 9e25ae6d91e7fb058c8957c2a64dc3ca0377dd5b Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Respect RLIMIT_CORE in spu coredump code Currently the spu coredump code doesn't respect the ulimit, it should. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 7af1443a9d319132087e1e9a3984b94c6998835c Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Handle errors in SPU coredump code, and support coredump to a pipe Rework spufs_coredump_extra_notes_write() to check for and return errors. If we're coredumping to a pipe we can't trust file->f_pos, we need to maintain the foffset value passed to us. The cleanest way to do this is to have the low level write routine increment foffset when we've successfully written. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit e55014923e65e4ee8e477a1212381cca0125f3aa Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Cleanup ELF coredump extra notes logic To start with, arch_notes_size() etc. is a little too ambiguous a name for my liking, so change the function names to be more explicit. Calling through macros is ugly, especially with hidden parameters, so don't do that, call the routines directly. Use ARCH_HAVE_EXTRA_ELF_NOTES as the only flag, and based on it decide whether we want the extern declarations or the empty versions. Since we have empty routines, actually use them in the coredump code to save a few #ifdefs. We want to change the handling of foffset so that the write routine updates foffset as it goes, instead of using file->f_pos (so that writing to a pipe works). So pass foffset to the write routine, and for now just set it to file->f_pos at the end of writing. It should also be possible for the write routine to fail, so change it to return int and treat a non-zero return as failure. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 48cad41f7ee7b8a9a8317a4abbdaf09bc68b4773 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Combine spufs_coredump_calls with spufs_calls Because spufs might be built as a module, we can't have other parts of the kernel calling directly into it, we need stub routines that check first if the module is loaded. Currently we have two structures which hold callbacks for these stubs, the syscalls are in spufs_calls and the coredump calls are in spufs_coredump_calls. In both cases the logic for registering/unregistering is essentially the same, so we can simplify things by combining the two. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 78810ff6723f20015373b1ba8dd981f24c62f680 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Add contents of npc file to SPU coredumps Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 74de08bc10dd4d67870cf5b6c5aaf6875cd869c5 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Internal __spufs_get_foo() routines should take a spu_context * The SPUFS attribute get routines take a void * because the generic attribute code doesn't know what sort of data it's passing around. However our internal __spufs_get_foo() routines can take a spu_context * directly, which saves plonking it in and out of a void * again. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 936d5bf1d7dc69c56bf79ad68819e597307a1884 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Get rid of spufs_coredump_num_notes, it's not needed if we NULL terminate The spufs_coredump_read array is NULL terminated, and we also store the size. We only need one or the other, and the other arrays in file.c are NULL terminated, so do that. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit c1a72173ab156306666cb531f891f32e4e21d592 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Don't return -ENOSYS as extra notes size if spufs is not loaded Because the SPU coredump code might be built as part of a module (spufs), we have a stub which is called by the coredump code, this routine then calls into spufs if it's loaded. Unfortunately the stub returns -ENOSYS if spufs is not loaded, which is interpreted by the coredump code as an extra note size of -38 bytes. This leads to a corrupt core dump. If spufs is not loaded there will be no SPU ELF notes to write, and so the extra notes size will be == 0. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 59000b53c7ea07531018b6cf1f5fcd21e881867a Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Correctly calculate the size of the local-store to dump The routine to dump the local store, __spufs_mem_read(), does not take the spu_lslr_RW value into account - so we shouldn't check it when we're calculating the size either. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit d464fb441071a3d65bde2264c5f97f9ca47ce5c3 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Write some SPU coredump values as ASCII Unfortunately GDB expects some of the SPU coredump values to be identical in format to what is found in spufs. This means we need to dump some of the values as ASCII strings, not the actual values. Because we don't know what the values will be, we always print the values with the format "0x%.16lx", that way we know the result will be 19 bytes. do_coredump_read() doesn't take a __user buffer, so remove the annotation, and because we know that it's safe to just snprintf() directly to it. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 4fca9c425009c01d41db6c6ebf0189843ee90f0b Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Use computed sizes/#defines rather than literals in SPU coredump code The spufs_coredump_reader array contains the size of the data that will be returned by the read routine. Currently these are specified as literals, and though some are obvious, sizeof(u32) == 4, others are not, 69 * 8 == ??? Instead, use sizeof() whatever type is returned by each routine, or in the case of spufs_mem_read() the #define LS_SIZE. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 9a5080f11d67972d7972d824f1b1827fafbce126 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Call spu_acquire_saved() before calculating the SPU note sizes It makes sense to stop the SPU processes as soon as possible. Also if we dont acquire_saved() I think there's a possibility that the value in csa.priv2.spu_lslr_RW won't be accurate. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit f9b7bbe7a803c6f10e7b3a354c5d97f632060320 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Remove ctx_info and ctx_info_list Remove the ctx_info struct entirely, and also the ctx_info_list. This fixes a race where two processes can clobber each other's ctx_info structs. Instead of using the list, we just repeat the search through the file descriptor table. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit a595ed662c96dcd920415bea3135ff1af60e9a00 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Extract the file descriptor search logic in SPU coredump code Extract the logic for searching through the file descriptors for spu contexts into a separate routine, coredump_next_context(), so we can use it elsewhere in future. In the process we flatten the for loop, and move the NOSCHED test into coredump_next_context(). Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit c70d4ca52b1390dd2603535600c948cbdb0b9ec9 Author: Jeremy Kerr Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] cell: Remove DEBUG for SPU callbacks We don't want SPE programs to be able to flood the kernel log by invoking the SPE callback handler, so don't enable DEBUG for spu_callbacks.c by default. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 05a059f3296c07a7455290dd8188b23ecb380fc7 Author: Jeremy Kerr Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Fix restore_decr_wrapped() to match CBE Handbook Based on an original patch from Masato Noguchi . We're currently not restoring the SPE decrementer as specified by the CBE handbook. This change fixes our implementation to match, and makes the function read more like the docs. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 4ec3c3d08d4de744b7a1d885529d1e040ec747a4 Author: Jeremy Kerr Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Remove asmlinkage from spufs_calls spu_create and spu_run are wrapped by the cell syscall layer, so we don't need the asmlinkage. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 98f06978ffebbec16abdea58489f217229580859 Author: Jeremy Kerr Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] cell: Unify spufs syscall path At present, a built-in spufs will not use the spufs_calls callbacks, but directly call sys_spu_create. This saves us an indirect branch, but means we have duplicated functions - one for CONFIG_SPU_FS=y and one for =m. This change unifies the spufs syscall path, and provides access to the spufs_calls structure through a get/put pair. At present, the only user of the spufs_calls structure is spu_syscalls.c, but this will facilitate adding the coredump calls later. Everyone likes numbers, right? Here's a before/after comparison with CONFIG_SPU_FS=y, doing spu_create(); close(); 64k times. Before: [jk@cell ~]$ time ./spu_create performing 65536 spu_create calls real 0m24.075s user 0m0.146s sys 0m23.925s After: [jk@cell ~]$ time ./spu_create performing 65536 spu_create calls real 0m24.777s user 0m0.141s sys 0m24.631s So, we're adding around 11us per syscall, at the benefit of having only one syscall path. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 36ddbb1380f282b4280c57efdb646dd8647a789f Author: Andre Detsch Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Fix race condition on gang->aff_ref_spu Affinity reference point location (gang->aff_ref_spu) is reset when the whole gang is descheduled. However, the last member of a gang can be descheduled while we are trying to schedule another member of the gang. This was leading to a race condition, and the code was using gang->aff_ref_spu in an unsafe manner. By holding the gang->aff_mutex a little bit longer, and increment gang->aff_sched_count (which controls when gang->aff_ref_spu should be reset) a little bit earlier, the problem is fixed. Signed-off-by: Andre Detsch Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 8b0d3121a0b2cf91768ecef635e241b6abc3f1da Author: Sebastian Siewior Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Make isolated loader properly aligned According to the comment in spufs_init_isolated_loader(), the isolated loader should be aligned on a 16 byte boundary. ARCH_{KMALLOC,SLAB}_MINALIGN is not defined so only 8 byte alignment is guaranteed. This enforces alignment via __get_free_pages. Signed-off-by: Sebastian Siewior Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 6232a74f25f45a98d8cf64c5d4208f4795eb693d Author: Jeremy Kerr Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Remove spu_harvest Based on an initial patch from Sebastian Siewior spu_harvest isn't used, remove it. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 1e8b0f6d1b4dd5fafe732a24dfcb9ac9fd27cf08 Author: Jeremy Kerr Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Remove asmlinkage from do_spu_create do_spu_create doesn't need the asmlinkage qualifier; remove it. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 1238819a41b6e38e1560afe8f33bbc815671b4f7 Author: Sebastian Siewior Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Make file-internal functions & variables static There are a few symbols used only in one file within spufs; this change makes them static where suitable. Signed-off-by: Sebastian Siewior Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit aa0154290fc05948560ac43afcccf8259e10bcd0 Author: Olaf Hering Date: Sun Aug 26 19:10:59 2007 +1000 [POWERPC] Fix pmac_zilog debug arg drivers/serial/pmac_zilog.c:1590: warning: format '%d' expects type 'int', but argument 3 has type 'pm_message_t' Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 00efee7d5d0d7888aafbf0d2de76943ee8aca47a Author: Michael Neuling Date: Fri Aug 24 16:58:37 2007 +1000 [POWERPC] Remove barriers from the SLB shadow buffer update After talking to an IBM POWER hypervisor (PHYP) design and development guy, there seems to be no need for memory barriers when updating the SLB shadow buffer provided we only update it from the current CPU, which we do. Also, these guys see no need in the future for these barriers. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 61a564fd2e7ab13ab11a6ce8305433baacf344ef Author: Jesper Juhl Date: Fri Aug 24 09:45:08 2007 +1000 [POWERPC] Don't cast kmalloc return value in ibmebus.c kmalloc() returns a void pointer so there is absolutely no need to cast it in ibmebus_chomp(). Signed-off-by: Jesper Juhl Signed-off-by: Paul Mackerras commit 03e2bf261e832abf48d40113ce08a70338dd18c9 Author: Andreas Herrmann Date: Mon Sep 17 23:41:05 2007 +0200 acpi_video: kernel build error if !INPUT Commit e9dab1960ac9746fa34eff726b81635147615a79 (ACPI video hotkey: export missing ACPI video hotkey events via input layer) exports ACPI video hotkey events via input layer. But this breaks kernel build if ACPI_VIDEO && !INPUT: LD .tmp_vmlinux1 drivers/built-in.o: In function `acpi_video_bus_remove': drivers/acpi/video.c:2007: undefined reference to `input_unregister_device' ... Signed-off-by: Andreas Herrmann Signed-off-by: Len Brown commit 8a66074c379cacc79168681bf7dea37ad278f5d1 Author: Andreas Herrmann Date: Mon Sep 17 22:54:34 2007 +0200 sony-laptop/thinkpad-acpi: fix INPUT=n build Build errors if CONFIG_SONY_LAPTOP && !INPUT or if CONFIG_THINKPAD_ACPI && !INPUT: LD vmlinux ... drivers/built-in.o: In function `sony_laptop_remove_input': sony-laptop.c:(.text+0x768fb): undefined reference to `input_unregister_device' ... drivers/built-in.o: In function `thinkpad_acpi_module_exit': thinkpad_acpi.c:(.text+0x78c1b): undefined reference to `input_free_device' ... Signed-off-by: Andreas Herrmann Acked-by: Henrique de Moraes Holschuh Acked-by: Mattia Dongili Signed-off-by: Len Brown commit e6b6e3ffb9ee8926f9f2f7dc9147df73e27d5828 Author: Adrian Bunk Date: Mon Aug 27 23:29:53 2007 +0200 [POWERPC] Remove APUS support from arch/ppc Current status of APUS: - arch/powerpc/: removed in 2.6.23 - arch/ppc/: marked BROKEN since 2 years This therefore removes the remaining parts of APUS support from arch/ppc, include/asm-ppc, arch/powerpc and include/asm-powerpc. Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit c45d707f67b82236fcf9ca2af31c264669368b9b Author: Steve French Date: Mon Sep 17 02:04:21 2007 +0000 [CIFS] Fallback to standard mkdir if server incorrectly claims support for posix ops Signed-off-by: Steve French commit 5a07cdf86c1485b570789fb660c8ada7c2635b23 Author: Steve French Date: Sun Sep 16 23:12:47 2007 +0000 [CIFS] fix small memory leak in an error path in new posix mkdir There is a small memory leak in fs/cifs/inode.c::cifs_mkdir(). Storage for 'pInfo' is allocated with kzalloc(), but if the call to CIFSPOSIXCreate(...) happens to return 0 and pInfo->Type == -1, then we'll jump to the 'mkdir_get_info' label without freeing the storage allocated for 'pInfo'. This patch adds a kfree() call to free the storage just before jumping to the label, thus getting rid of the leak. Signed-off-by: Jesper Juhl Signed-off-by: Steve French commit a23d30698190f05491a6096f027311f94d4d26d5 Author: Steve French Date: Sat Sep 15 03:43:47 2007 +0000 [CIFS] missing field in debug output from previous fix Signed-off-by: Steve French commit 88f370a688e765de9755a343702ca04e6817e5f5 Author: Steve French Date: Sat Sep 15 03:01:17 2007 +0000 [CIFS] Fix potential NULL pointer usage if kzalloc fails Potential problem was noticed by Cyrill Gorcunov CC: Cyrill Gorcunov Signed-off-by: Steve French commit 638b250766272fcaaa0f7ed2776f58f4ac701914 Author: Steve French Date: Sat Sep 15 02:35:51 2007 +0000 [CIFS] typo in earlier cifs_reconnect fix Signed-off-by: Steve French commit 8237bf080e9ef6adc3f2adce26060722685bbb15 Author: Anton Vorontsov Date: Thu Aug 23 15:36:00 2007 +0400 [POWERPC] MPC832x_RDB: Update dts to use SPI1 in QE, register mmc_spi stub Enabled using SPI controller on the MPC832x RDB board. We currently use a modalias of "spidev" as a place holder (replace with "mmc_spie") until the mmc_spi driver support is merged in. This gets us the ability to test SPI until then. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 26f6cb999366a71b8e318bceaf8fafc1ffecae40 Author: Anton Vorontsov Date: Thu Aug 23 15:35:56 2007 +0400 [POWERPC] fsl_soc: add support for fsl_spi Add helper function to setup SPI bus/device information Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit af6a9aabc106b70ab03d6665c713bca3dd3cb195 Author: John Rigby Date: Wed May 23 11:30:55 2007 -0600 [POWERPC] 52xx: Fix mpc52xx_uart_of_assign to use correct index Use idx as index into mpc52xx_uart_nodes instead of i Signed-off-by: John Rigby Signed-off-by: Kumar Gala commit 82925e76db19112cad62066828c1db0bbb3f77e3 Author: Timur Tabi Date: Wed Jul 25 12:30:33 2007 -0500 [POWERPC] 86xx: Fix definition of global-utilites structure The current definition of struct ccsr_guts in immap_86xx.h was for 85xx. This patch fixes that and replaces the vague integer types with sized types of the correct endianness. The unused struct ccsr_pci is also deleted. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit dc967d7f5e5d2c9d01c8ea172a1e231908dba9de Author: Timur Tabi Date: Wed Aug 22 20:07:28 2007 -0500 [POWERPC] add clrsetbits macros This patch adds the clrsetbits_xxx() macros, which are used to set and clear multiple bits in a single read-modify-write operation. Specify the bits to clear in the 'clear' parameter and the bits to set in the 'set' parameter. These macros can also be used to set a multiple-bit bit pattern using a mask, by specifying the mask in the 'clear' parameter and the new bit pattern in the 'set' parameter. There are big-endian and little-endian versions for 8, 16, 32, and 64 bits. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 364f8ffc182ac5431b156ca1915dd81ddd4a592b Author: Anton Vorontsov Date: Thu Aug 23 15:35:53 2007 +0400 [POWERPC] QE: extern par_io_config_pin and par_io_data_set funcs This is needed to configure and control QE pario pins from the kernel. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 5a24e1a1773f284d19859d27f2ba7e50a533aaaf Author: Scott Wood Date: Tue Aug 28 15:16:49 2007 -0500 [PPC] Add clrbits8 and setbits8. These I/O accessors will be used in code under drivers/, which is expected to still work in arch/ppc. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 748a768384e05c021ea6be221b80c62a83d7b520 Author: Kumar Gala Date: Thu Sep 13 15:42:35 2007 -0500 [POWERPC] Fix modpost warnings from head*.S on ppc32 We get warnings like the following from the various ppc32 head*.S files: WARNING: vmlinux.o(.text+0x358): Section mismatch: reference to .init.text:early_init (between 'skpinv' and 'interrupt_base') WARNING: vmlinux.o(.text+0x380): Section mismatch: reference to .init.text:machine_init (between 'skpinv' and 'interrupt_base') WARNING: vmlinux.o(.text+0x384): Section mismatch: reference to .init.text:MMU_init (between 'skpinv' and 'interrupt_base') WARNING: vmlinux.o(.text+0x3aa): Section mismatch: reference to .init.text:start_kernel (between 'skpinv' and 'interrupt_base') WARNING: vmlinux.o(.text+0x3ae): Section mismatch: reference to .init.text:start_kernel (between 'skpinv' and 'interrupt_base') Added a .text.head section simliar to what other architectures do since modpost already excludes this from its warnings. Signed-off-by: Kumar Gala commit 5e14d21e3f28a4181dacff0336040e30942f4921 Author: Kumar Gala Date: Thu Sep 13 01:44:20 2007 -0500 [POWERPC] Add cpu feature for SPE handling Make it so that SPE support can be determined at runtime. This is similiar to how we handle AltiVec. This allows us to have SPE support built in and work on processors with and without SPE. Signed-off-by: Kumar Gala commit d8f1324a5063c833862328ceafabc53ac3cc4f71 Author: Kumar Gala Date: Wed Sep 12 22:14:10 2007 -0500 [POWERPC] 83xx: Removed PCI exclude of PHB Now that the generic code doesn't assign resources for Freescale PHBs we dont have to explicitly exclude it. Signed-off-by: Kumar Gala commit 1b3c5cdab49a605f0e048e1ccbf4cc61a2626485 Author: Kumar Gala Date: Wed Sep 12 18:23:46 2007 -0500 [POWERPC] Move PCI nodes to be sibilings with SOC nodes Updated the device trees to have the PCI nodes be at the same level as the SOC node. This is to make it so that the SOC nodes children address space is just on chip registers and not other bus memory as well. Also, for PCIe nodes added a P2P bridge to handle the virtual P2P bridge that exists in the PHB. Signed-off-by: Kumar Gala commit f0c8ac8083cbd9347b398bfddcca20f1e2786016 Author: Kumar Gala Date: Wed Sep 12 11:52:31 2007 -0500 [POWERPC] DTS cleanup Removed the following cruft from .dts files: * 32-bit in cpu node -- doesn't exist in any spec and not used by kernel * removed built-in (chrp legacy) * Removed #interrupt-cells in places they don't need to be set * Fixed ranges on lite5200* * Removed clock-frequency from i8259 pic node, not sure where this came from * Removed big-endian from i8259 pic nodes, this was just bogus Signed-off-by: Kumar Gala commit 5d54ddcbcf931bf07cd1ce262bda4674ebd1427f Author: Kumar Gala Date: Tue Sep 11 01:25:43 2007 -0500 [POWERPC] 85xx: Add basic Uniprocessor MPC8572 DS port Added basic board port for MPC8572 DS reference platform that is similiar to the MPC8544/33 DS reference platform in uniprocessor mode. Signed-off-by: Kumar Gala commit 26caeb2ee1924d564e8d8190aa783a569532f81a Author: Kumar Gala Date: Fri Aug 24 16:42:53 2007 -0500 [POWERPC] Handle alignment faults on SPE load/store instructions This adds code to handle alignment traps generated by the following SPE (signal processing engine) load/store instructions, by emulating the instruction in the kernel (as is done for other instructions that generate alignment traps): evldd[x] Vector Load Double Word into Double Word [Indexed] evldw[x] Vector Load Double into Two Words [Indexed] evldh[x] Vector Load Double into Four Half Words [Indexed] evlhhesplat[x] Vector Load Half Word into Half Words Even and Splat [Indexed] evlhhousplat[x] Vector Load Half Word into Half Word Odd Unsigned and Splat [Indexed] evlhhossplat[x] Vector Load Half Word into Half Word Odd Signed and Splat [Indexed] evlwhe[x] Vector Load Word into Two Half Words Even [Indexed] evlwhou[x] Vector Load Word into Two Half Words Odd Unsigned (zero-extended) [Indexed] evlwhos[x] Vector Load Word into Two Half Words Odd Signed (with sign extension) [Indexed] evlwwsplat[x] Vector Load Word into Word and Splat [Indexed] evlwhsplat[x] Vector Load Word into Two Half Words and Splat [Indexed] evstdd[x] Vector Store Double of Double [Indexed] evstdw[x] Vector Store Double of Two Words [Indexed] evstdh[x] Vector Store Double of Four Half Words [Indexed] evstwhe[x] Vector Store Word of Two Half Words from Even [Indexed] evstwho[x] Vector Store Word of Two Half Words from Odd [Indexed] evstwwe[x] Vector Store Word of Word from Even [Indexed] evstwwo[x] Vector Store Word of Word from Odd [Indexed] Signed-off-by: Kumar Gala commit f9234736112bf193e5ab451abbfbdf279cc53137 Author: Scott Wood Date: Mon Aug 20 11:38:12 2007 -0500 [POWERPC] fsl_soc.c cleanup 1. Update the way get_brgfreq() finds things in the device tree. It now uses names that are less namespace polluting. The old names are supported until all boards are converted. 2. "size" is changed from unsigned int to int, to match what of_get_property() expects. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 683d00b03eb09a140e25d7f1457d347277bc2619 Author: Jon Loeliger Date: Fri Jul 27 13:24:45 2007 -0500 [POWERPC] 85xx: Remove unnecessary loops_per_jiffy initialization code. Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit d347b3291b284e42c90b3f675a8332daf890b85a Author: Jon Loeliger Date: Fri Jul 27 13:24:36 2007 -0500 [POWERPC] 86xx: Remove unnecessary loops_per_jiffy initialization code. Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 7f2862c34521ee6006f9c2678d68a02dc57b5444 Author: Guennadi Liakhovetski Date: Sun Aug 26 00:08:11 2007 +0200 [POWERPC] linkstation updates 1. Fix RTC type - it is a rs5c372a, not rs5c372b 2. Configure both UART interrupts edge-triggered 3. Add a license header to ls_uart.c 4. Check for running on linkstation in a late_initcall() function. Needed for multiplatform builds, even though linkstation doesn't support them yet 5. Remove unneeded #include from linkstation.c Signed-off-by: Guennadi Liakhovetski Signed-off-by: Kumar Gala commit 7f50382dc87988d618f2d47364b22ad5973a968d Author: Kumar Gala Date: Fri Aug 17 09:26:40 2007 -0500 [POWERPC] 85xx: Clean up from 85xx_ds rename Renamed functions in 85xx_ds from 8544 to 85xx. Kept an unique machine def/probe for the MPC8544 DS board to handle some subtle differences between the future board based on the DS platform. Also fixed building w/o CONFIG_PCI and minor whitespace fixes. Signed-off-by: Kumar Gala commit 16d24060d1df9e38dd11ffb0a8afcb5e69a08e3c Author: Kumar Gala Date: Fri Aug 17 09:22:09 2007 -0500 [POWERPC] 85xx: Renamed mpc8544_ds.c to mpc85xx_ds.c Renamed the mpc8544_ds.c board code to mpc85xx_ds.c to make it more generic in prep for other boards based on the same platform. Signed-off-by: Kumar Gala commit 89a300e85b646dd08343264f025f4f412d552bfd Author: Kumar Gala Date: Wed Aug 22 21:49:01 2007 -0500 ucc_geth: kill unused include The ucc_geth_mii code is based on the gianfar_mii code that use to include ocp.h. ucc never need this and it causes issues when we want to kill arch/ppc includes from arch/powerpc. Signed-off-by: Kumar Gala commit a8cd925f74c3b1b6d1192f9e75f9d12cc2ab148a Author: Jeff Date: Thu Sep 13 18:38:50 2007 +0000 [CIFS] Respect umask when using POSIX mkdir When making a directory with POSIX mkdir calls, cifs_mkdir does not respect the umask. This patch causes the new POSIX mkdir to create with the right mode Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 75cdff9242c4e048cb830d359920719d29b9ee7c Author: Geoff Levand Date: Wed Sep 12 18:43:17 2007 +1000 [POWERPC] PS3: Enhance storage probe debug output Add some more info to the PS3 storage probe debug output. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 06462d9263e168da3ecdff5a3d95ed470a91bbdc Author: Geert Uytterhoeven Date: Wed Sep 12 18:43:16 2007 +1000 [POWERPC] PS3: Add new LV1 error codes Add new error codes that may be returned by the LV1 hypervisor Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 85d02924a38789be35e83adba32eb6690535cfb0 Author: Jeremy Kerr Date: Wed Sep 12 18:43:15 2007 +1000 [POWERPC] PS3: Fix CONFIG_SMP=n, CONFIG_KEXEC=y build Currently, the ps3 kernel fails to build without smp but with kexec, as ps3_kexec_cpu_down needs ps3_smp_cleanup_cpu, which isn't defined on UP kernels. This change adds an empty ps3_smp_cleanup_cpu for UP kernels. Booted on ps3. Signed-off-by: Jeremy Kerr Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 0d72ba930cbc9140a584af7e4e65041b6c7a7d18 Author: Olof Johansson Date: Sat Sep 8 05:13:19 2007 +1000 [POWERPC] Add workaround for MPICs with broken register reads Some versions of PWRficient 1682M have an interrupt controller in which the first register in each pair for interrupt sources doesn't always read with the right polarity/sense values. To work around this, keep a software copy of the register instead. Since it's not modified from the mpic itself, it's a feasible solution. Still, keep it under a config option to avoid wasting memory on other platforms. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 2099172d61abda1b793b499bb8edcaac4de2cdae Author: David Gibson Date: Fri Sep 7 13:23:53 2007 +1000 [POWERPC] Document and implement an improved flash device binding for powerpc This replaces the binding for flash chips in booting-without-of.txt with an clarified and improved version. It also makes drivers/mtd/maps/physmap_of.c recognize this new binding. Finally it revises the Ebony device tree source to use the new binding as an example. Signed-off-by: David Gibson Acked-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit 3c607ce2a3213f33b8b6b854b5f7db876021e466 Author: Linas Vepstas Date: Fri Sep 7 03:47:29 2007 +1000 [POWERPC] setup_64.c and prom.c comment cleanup Grammatical corrections to comments. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 70c6cc37db342d9f970884e12744ab5ee290d4ad Author: Linas Vepstas Date: Fri Sep 7 03:46:15 2007 +1000 [POWERPC] prom.c whitespace cleanup Whitespace cleanup: badly indented lines. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit e788ff13be03c2cc4055d5569b7b218dc3f2cb7b Author: Linas Vepstas Date: Fri Sep 7 03:45:21 2007 +1000 [POWERPC] prom_init whitespace cleanup, typo fix Whitespace cleanup: badly indented lines. Typo in comment. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit bde6c6e16aa489ea76c762fb7ffb0abb48660dd8 Author: Scott Wood Date: Thu Sep 6 08:04:38 2007 +1000 [POWERPC] Check _PAGE_RW and _PAGE_PRESENT on kernel addresses Previously, the TLB miss handlers assumed that pages above KERNELBASE are always present and read/write. This assumption is false in the case of CONFIG_DEBUG_PAGEALLOC. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 96ebc3bfb6ddedd5a400d5653b50551d5a3de439 Author: Scott Wood Date: Thu Sep 6 05:21:18 2007 +1000 [POWERPC] bootwrapper: Only print MAC addresses when the node is actually present Some firmwares (such as PlanetCore) only provide a base MAC address, and expect the kernel to set certain bits to generate the addresses for the other ports. As such, MAC addresses are generated that may not correspond to actual hardware. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 21f3fe2f7ab57832ea1fc7f719ec7e167b7ad80e Author: Scott Wood Date: Thu Sep 6 05:21:12 2007 +1000 [POWERPC] bootwrapper: Add get_path() This will be used by the PlanetCore firmware support to construct a linux,stdout-path from the serial node that it finds. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 9de782770b84768e1aa2e6454223ef30768de84e Author: Scott Wood Date: Thu Sep 6 05:21:10 2007 +1000 [POWERPC] bootwrapper: Add strtoull() This will be needed by PlanetCore firmware support. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 4674f2f33948432469e52d5bcaeda9904e34fe46 Author: Scott Wood Date: Thu Sep 6 05:21:04 2007 +1000 [POWERPC] bootwrapper: flatdevtree fixes 1. ft_create_node was returning the internal pointer rather than a phandle. 2. ft_find_device_rel was treating a "top" phandle of NULL as an error, rather than as the root of the tree. The old, absolute ft_find_device is removed, and the relative version is renamed to ft_find_device(). Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 6bcc4c01755fd2066bc374193cf3b0849cbabe47 Author: Olof Johansson Date: Wed Sep 5 12:43:17 2007 +1000 [POWERPC] Remove warning in arch/powerpc/kernel/sysfs.c Fixes: arch/powerpc/kernel/sysfs.c: In function 'cpu_add_sysdev_attr_group': arch/powerpc/kernel/sysfs.c:388: warning: ignoring return value of 'sysfs_create_group', declared with attribute warn_unused_result Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit a416561bf790d55db68b2980c2a6951981018041 Author: Olof Johansson Date: Wed Sep 5 12:42:30 2007 +1000 [POWERPC] Move lowlevel runlatch calls under cpu feature control There's no need to call the runlatch on functions on processors that don't implement them (CPU_FTR_CTRL). Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 01f1c735f57548e6b862e815cc845e452405643d Author: Olof Johansson Date: Wed Sep 5 12:41:09 2007 +1000 [POWERPC] Remove unused platform_machine_check() Remove leftover cruft from ARCH=ppc. There are no users of platform_machine_check() in ARCH=powerpc, and none should be added (they should use ppc_md.machine_check_handler instead). Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 3850169dbddcc9e53fd550eb093af7da5dfcefa9 Author: Olof Johansson Date: Wed Sep 5 12:09:45 2007 +1000 [POWERPC] pasemi: Move pasemi_idle_init() to late_initcall() Move pasemi_idle_init() to be a late_initcall instead of being called from setup_arch(). This way the cpufreq driver has a chance to initialize and save away the boot time astate before we go to idle for the first time. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit cd7834167ffb66b470e4d9edb10efb5c1a2dfe7f Author: Olof Johansson Date: Wed Sep 5 12:09:23 2007 +1000 [POWERPC] pasemi: Print more information at machine check Add printout of some SoC error status registers, and dump the SLB contents for those machine check events where it makes sense. Since we can't go about and ioremap registers at machine check time, and we generally want to do as little as possible to print out the information, pre-build a table of the registers to dump and their address in the common PCI config space range. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 2e1957fd47b9d4b7bf35be2ec3d4b5e3eefe5cc0 Author: Olof Johansson Date: Wed Sep 5 12:09:06 2007 +1000 [POWERPC] pasemi: Export more SPRs to sysfs when CONFIG_DEBUG_KERNEL=y Export some of the implementation-specific registers via sysfs. Useful when debugging, etc. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 4d442331e57b7bbc28b5a20f7d069bc12e9c503e Author: Olof Johansson Date: Wed Sep 5 12:08:50 2007 +1000 [POWERPC] pasemi: Add workaround for erratum 5945 Erratum 5945 causes some of the registers on the PCIe root ports to not read correctly. Do a small dance to avoid this: Write an unused register, read the value and write it back. Thankfully this is not in a hot code path. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 68c8404c742fdda2151b4bf6bd98419bf8118481 Author: Olof Johansson Date: Wed Sep 5 12:08:30 2007 +1000 [POWERPC] pasemi: Add pasemi_pci_getcfgaddr() Add pasemi_pci_getcfgaddr(), to get the remapped address of a specific config register for a PCI device. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit a302cb9d95978505b18c12be0cd1e41556564f68 Author: Olof Johansson Date: Fri Aug 31 13:58:51 2007 +1000 [POWERPC] Export new __io{re,un}map_at() symbols Export new __io{re,un}map_at() symbols so modules can use them. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 60b332e755da7dbf32f1660973ce4f97ebf05d05 Author: Michael Ellerman Date: Tue Aug 28 18:47:57 2007 +1000 [POWERPC] Export virq mapping via debugfs This adds a debugfs file "powerpc/virq_mapping", which shows the virtual to real mapping of irq numbers. Enable it with CONFIG_VIRQ_DEBUG. Signed-off-by: Zhang Wei Signed-off-by: Chen Gong Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 7866291d4cabf5491d4ecb62787308f8b8958f59 Author: Michael Ellerman Date: Tue Aug 28 18:47:56 2007 +1000 [POWERPC] Initialise hwirq for legacy irqs Although no one uses the hwirq value for legacy irqs at the moment, we should really setup the correct value in the irq_map. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 6815800601d3e46b976c868e4e85fb6de32b9133 Author: Michael Ellerman Date: Tue Aug 28 18:47:55 2007 +1000 [POWERPC] Provide a default irq_host match, which matches on an exact of_node The most common match semantic is an exact match based on the device node. So provide a default implementation that does this, and hook it up if no match routine is specified. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 8528ab84ebe7a1eeed9b0acc808df86663d506c0 Author: Michael Ellerman Date: Tue Aug 28 18:47:55 2007 +1000 [POWERPC] Invert null match behaviour for irq_hosts Currently if you don't specify a match callback for your irq_host it's assumed you match everything. This is a kind of opt-out approach, and turns out to be the exception rather than the rule. So change the semantics to be opt-in, ie. you don't match anything unless you provide a match callback. This in itself isn't very useful, but will allow us to provide a default match implementation in a subsequent patch. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 52964f87c64e6c6ea671b5bf3030fb1494090a48 Author: Michael Ellerman Date: Tue Aug 28 18:47:54 2007 +1000 [POWERPC] Add an optional device_node pointer to the irq_host The majority of irq_host implementations (3 out of 4) are associated with a device_node, and need to stash it somewhere. Rather than having it somewhere different for each host, add an optional device_node pointer to the irq_host structure. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 0ae0b54565a8dcc2b98de694b998e765de15b713 Author: David Gibson Date: Tue Aug 28 14:52:57 2007 +1000 [POWERPC] Move bootwrapper's strchr() and strncmp() from .h to string.S Currently the bootwrapper has implementations of strchr() and strncmp(), but they're inlines in flatdevtree_env.h, rather than in string.S with all the rest of the string functions. This moves them to string.S. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 768cc2d3b2768ca34f254e8190f1f9e297b09ad4 Author: Linas Vepstas Date: Wed Jul 18 02:09:35 2007 +1000 [POWERPC] IOMMU virtual merge is no longer experimental Per conversations with BenH, IOMMU virtual merging should no longer be considered to be an "experimental" feature. In particular, CONFIG_VMERGE has been set to "y" in the defconfigs for quite a while. Signed-off-by: Linas Vepstas Acked-by: Benjamin Herrenschmidt ---- arch/powerpc/Kconfig | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) Signed-off-by: Paul Mackerras commit 4efa53f0907bb4378015c129a2c11b8d3a90bce2 Author: Steve French Date: Tue Sep 11 05:50:53 2007 +0000 [CIFS] lock inode open file list in close in case racing with open Harmless since it only protected turning off caching for the inode, but cleaner to lock around this in case we have a close racing with open. Signed-off-by: Shaggy CC: Cyrill Gorcunov Signed-off-by: Steve French commit 2a8281d72da5dd8da025e6822dadd23a35383895 Author: Daniel Ritz Date: Mon Sep 10 01:31:40 2007 -0400 Input: usbtouchscreen - support DMC devices with empty EEPROM A reply of 0x0600 means all OK, 0x1501 means OK, but EEPROM empty. The behavior with an empty EEPROM is the same as without one at all so do not fail loading the driver. Signed-off-by: Daniel Ritz Signed-off-by: Dmitry Torokhov commit 5041f1f1b753031731bc404c906817323a9c280b Author: Yoichi Yuasa Date: Sun Sep 9 23:35:25 2007 +0900 [MTD] Remove Momenco Ocelot NOR flash support This patch has removed Momenco Ocelot support from MTD. Ocelot support has already removed. Signed-off-by: Yoichi Yuasa Signed-off-by: David Woodhouse commit 15745320f374aa6cbfe4836b76469159c0f49640 Author: Steve French Date: Fri Sep 7 22:23:48 2007 +0000 [CIFS] Fix oops in find_writable_file There was a case in which find_writable_file was not waiting long enough under heavy stress when writepages was racing with close of the file handle being used by the write. Signed-off-by: Steve French commit 5326152fa182b0a16e4abf913ce403e3c7ab53b7 Author: Josh Boyer Date: Fri Sep 7 07:51:44 2007 -0500 [POWERPC] Walnut zImage wrapper Add zImage wrapper for walnut board Signed-off-by: Josh Boyer Acked-by: David Gibson commit 545c069ccd76a0f1f3ceacd8ba5bc8f5208eb727 Author: Josh Boyer Date: Fri Sep 7 07:51:24 2007 -0500 [POWERPC] Walnut board support Board support for the PPC405 Walnut evaluation board Signed-off-by: Josh Boyer Acked-by: David Gibson commit 7f2814d229905c35d7c38798891adf00286fdca4 Author: Josh Boyer Date: Fri Sep 7 07:51:08 2007 -0500 [POWERPC] Walnut defconfig Walnut board defconfig Signed-off-by: Josh Boyer commit 8852ab7afc2397779f9ea926187dbc4e0452ab47 Author: Josh Boyer Date: Fri Sep 7 07:50:50 2007 -0500 [POWERPC] Walnut DTS Device tree source file for the PPC405 Walnut evaluation board. Signed-off-by: Josh Boyer Acked-by: David Gibson commit 1f6e57952180cd54e245241b74f4b9cb10c24f98 Author: Josh Boyer Date: Fri Sep 7 07:50:26 2007 -0500 [POWERPC] Fix bus probe on Bamboo board Commit 804ace8881d21 changed the behavior of how compatible nodes are found. This highlighted a bug on the Bamboo board where it wasn't probing the bus specified in the DTS file. We fix it by being explicit about which bus to probe. Signed-off-by: Josh Boyer Acked-by: David Gibson commit c9c6b744d8a2a95ef6d5c8389964df5148e3102a Author: Josh Boyer Date: Fri Sep 7 07:49:59 2007 -0500 [POWERPC] Remove dtc build cruft from DTS files The patch below removes the dtc incantation instructions from the in-kernel DTS files. It's not needed, and is prone to being out-of-date most of the time. Signed-off-by: Josh Boyer Acked-by: David Gibson commit 606d08bcd674073e0e505cb1eb4ff1516c3b498a Author: Valentine Barshak Date: Wed Aug 29 17:38:30 2007 +0400 [POWERPC] PowerPC 440EPx: Sequoia bootwrapper Bootwrapper code for AMCC PPC440EPx Sequoia. Signed-off-by: Valentine Barshak Acked-by: David Gibson Signed-off-by: Josh Boyer commit 15fc993e31293f9b179eb5f08b18a4a4f2ca648a Author: Valentine Barshak Date: Wed Aug 29 17:40:30 2007 +0400 [POWERPC] PowerPC 440EPx: Sequoia board support AMCC PPC440EPx Sequoia board support. Signed-off-by: Valentine Barshak Acked-by: David Gibson Signed-off-by: Josh Boyer commit 38a5d6c9e79c2dbf3b23fb6fe8c2b51551bc9ee3 Author: Valentine Barshak Date: Wed Aug 29 17:41:28 2007 +0400 [POWERPC] PowerPC 440EPx: Sequoia defconfig AMCC PPC440EPx Sequoia default config. Signed-off-by: Valentine Barshak Acked-by: David Gibson Signed-off-by: Josh Boyer commit d60ff953652f0a2f74ad17ab2d9a0e928c1902d3 Author: Valentine Barshak Date: Wed Aug 29 17:39:42 2007 +0400 [POWERPC] PowerPC 440EPx: Sequoia device tree AMCC PPC440EPx Sequoia device tree. Signed-off-by: Valentine Barshak Acked-by: David Gibson Signed-off-by: Josh Boyer commit 98b830d26095007aeb04041147b93d2b74e0a0c0 Author: Artem Bityutskiy Date: Tue Aug 28 20:33:32 2007 +0300 [MTD] [NAND] nandsim: avoid deadlocking FS Make nandsim use GFP_NOFS when allocating memory, because it might be used by a file-system (e.g. UBIFS2) which means, if we are short of memory, we may deadlock. Indee, UBIFS is holding a lock, writes to the media, reaches this place in NANDsim, kmalloc does not find the requested amount of RAM, calls memory shrinker, which decides to writeback inodes, calls FS, and it deadlocks on the lock which is already being held. Below is the UBIFS backtrace which demonstrates that: [] __mutex_lock_slowpath+0xc8/0x2e6 [] mutex_lock+0x1c/0x1f [] reserve_space+0x3d/0xa9 [ubifs] [] make_one_reservation+0x2b/0x86 [ubifs] [] ubifs_jrn_write_block+0xda/0x12f [ubifs] [] ubifs_writepage+0x11d/0x1ec [ubifs] [] shrink_inactive_list+0x7fa/0x969 [] shrink_zone+0xae/0x10c [] try_to_free_pages+0x159/0x251 [] __alloc_pages+0x125/0x2f0 [] cache_alloc_refill+0x380/0x6ba [] __kmalloc+0x14f/0x157 [] do_state_action+0xab7/0xc74 [nandsim] [] switch_state+0x225/0x402 [nandsim] [] ns_hwcontrol+0x3e2/0x620 [nandsim] [] nand_command+0x2e/0x1a5 [nand] [] nand_write_page+0x4a/0x9a [nand] [] nand_do_write_ops+0x1cf/0x343 [nand] [] nand_write+0x88/0xa6 [nand] [] part_write+0x72/0x8b [mtd] [] ubi_io_write+0x189/0x29c [ubi] [] ubi_eba_write_leb+0xb6/0x699 [ubi] [] ubi_leb_write+0xe4/0xe9 [ubi] [] ubifs_wbuf_write_nolock+0x333/0x4c9 [ubifs] [] write_node+0x74/0x8e [ubifs] [] ubifs_jrn_write_block+0x100/0x12f [ubifs] [] ubifs_writepage+0x11d/0x1ec [ubifs] [] __writepage+0xb/0x26 [] write_cache_pages+0x203/0x2d9 [] generic_writepages+0x23/0x2d [] do_writepages+0x37/0x39 [] __writeback_single_inode+0x96/0x399 [] sync_sb_inodes+0x1a3/0x274 [] writeback_inodes+0xa6/0xd8 [] background_writeout+0x86/0x9e [] pdflush+0xfb/0x1b6 [] kthread+0x37/0x59 [] kernel_thread_helper+0x7/0x14 The deadlock is funny because it starts in pdflush/writeback, and comes back to writeback, then deadlocks. It seems we should look carefully for other places in UBI and MTD and use GFP_NOFS instead of GFP_KERNEL. Caught-by: Adrian Hunter Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 241651d04d672fb685b2874707016cbbf95931e5 Author: David Woodhouse Date: Thu Sep 6 09:40:21 2007 +0100 [MTD] Fix CFI build error when no map width or interleave supported When building NOR flash support, you have compile-time options for the bus width and the number of individual chips which are interleaved together onto that bus. The code to deal with arbitrary geometry is a bit convoluted, and people want to just configure it for the specific hardware they have, to avoid the runtime overhead. Selecting _none_ of the available options doesn't make any sense. You should have at least one. This makes it build though, since people persist in trying. Signed-off-by: David Woodhouse commit d15057b7034d9fdc4259b66a0367c9d8ffcf0620 Author: Kyungmin Park Date: Thu Sep 6 10:06:12 2007 +0900 [MTD] [OneNAND] main read/write ops support for yaffs2 Now we can use yaffs2 on OneNAND Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit 4c611060660f0de3e9b8f02df207312bc6f5c331 Author: Alexey Starikovskiy Date: Wed Sep 5 19:56:38 2007 -0400 ACPI: EC: Drop ECDT-based boot_ec as soon as we find DSDT-based one. ASUS notebooks have numerous problems with EC initialization This patch tries to work around three known issues reported in bugzilla 8598, 8709 and 8909/8919. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 63f0edfc0b7f8058f9d3f9b572615ec97ae011ba Author: Alexey Starikovskiy Date: Mon Sep 3 16:30:08 2007 +0400 ACPI: VIDEO: Adjust current level to closest available one. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 4500ca8e221e72cc38e7c239b9b1a041031ee450 Author: Alexey Starikovskiy Date: Mon Sep 3 16:29:58 2007 +0400 ACPI: video: Don't call absent methods Signed-off-by: Ryan May Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 6e2157858ac94530fddbf19dc59ab6b392baf1f3 Author: Alexey Starikovskiy Date: Sat Sep 1 00:11:59 2007 +0400 ACPI: Thermal: Drop concurrent thermal checks Fix for #3686, where get_temperature() may cause thermal notify, which causes one more get_temperature(). Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit f76f672e093b1dc3abff3a21ae6b939b08d192e7 Author: Dmitry Torokhov Date: Wed Sep 5 00:22:17 2007 -0400 Input: lifebook - add signature of Panasonic CF-72 Signed-off-by: Dmitry Torokhov commit dac4ae0daa1be36ab015973ed9e9dc04a2684395 Author: William Pettersson Date: Wed Sep 5 00:18:44 2007 -0400 Input: ALPS - add support for model found in Dell Vostro 1400 Signed-off-by: William Pettersson Signed-off-by: Dmitry Torokhov commit 08b7c464460eaf9846ee963e1d3291b96a652941 Author: Andrew Morton Date: Tue Sep 4 23:51:53 2007 -0400 Input: iforce - de-dosify iforce-protocol.txt This file used DOS line endings. Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit b9198c3239a661c468c0f6340c21919b7dd0012f Author: Dmitry Torokhov Date: Tue Sep 4 23:46:42 2007 -0400 Input: remove ec3104_keyb driver Now that ec3104 board support has been removed nothing references this driver so it can be safely removed as well. Signed-off-by: Dmitry Torokhov commit a14a84014167c970886b44503f0736b015f4375e Author: Ondrej Zary Date: Tue Sep 4 23:45:01 2007 -0400 Input: usbtouchscreen - add support for IdealTEK URTC1000 This patch adds support for IdealTEK URTC1000 touchscreen controllers. Documentation can be downloaded at: http://projects.tbmn.org/cgi-bin/trac.cgi/wiki/urtc-1000 Signed-off-by: Ondrej Zary Signed-off-by: Daniel Ritz Signed-off-by: Dmitry Torokhov commit 21bc42ab852549f4a547d18d77e0e4d1b24ffd96 Author: Len Brown Date: Tue Sep 4 12:49:22 2007 -0400 ACPI: thermal: use round_jiffies when thermal zone polling is enabled Properly functioning systems do not use thermal zone polling, they use event-based notification. However, some users enable periodic thermal zone polling to work around bugs on their platforms, and at least one platform exists with a real _TZP that requests polling. While thermal zone polling (_TZP) is specified in units to 0.1 seconds, it actually has a maximum granularity of 1 second. Thus, we can safely round up the _TZP timeout to occur on the next 1-second boundary. This will batch it with other 1-second-granularity timers in the system and thus potentially extend processor idle duration. Note that the same timer is used both for _TZP and for passive processor thermal throttling. We can not round up the timeout when it is used for passive thermal throttling. Also, we can not make this a deferrable timer, as temperature is just as relevant during idle as it is during non-idle. Signed-off-by: Len Brown commit 77159b4df894f9e5e31f709fb0e5e52f6c1b1048 Author: Steve French Date: Fri Aug 31 01:10:17 2007 +0000 [CIFS] Fix warnings shown by newer version of sparse Signed-off-by: Steve French commit 26f57364d7cdef9d7ebe27c931fff5e4f21ffb1c Author: Steve French Date: Thu Aug 30 22:09:15 2007 +0000 [CIFS] formatting cleanup found by checkpatch Signed-off-by: Steve French commit f01d5e14e764b14b6bf5512678523d009254b209 Author: Steve French Date: Thu Aug 30 21:13:31 2007 +0000 [CIFS] fix for incorrect session reconnects cifs reconnect could end up happening incorrectly due to the small initial tcp recvmsg response. When the socket was within three bytes of being full and the recvmsg returned only 1 to 3 bytes of the initial 4 byte read of the RFC1001 length field. Fortunately this seems to be less common on more current kernels, but this fixes it so cifs tries to retrieve all 4 bytes of the initial tcp read. Signed-off-by: Shirish Pargoankar Signed-off-by: Steve French commit 8594c15ad226227aaf178b7cf57f2e7291684dd4 Author: Andre Haupt Date: Thu Aug 30 20:18:41 2007 +0000 [CIFS][KJ] use abs() from kernel.h where appropriate Signed-off-by: Andrew Haupt Signed-off-by: Steve French commit 554fc1935365ddba0936dfb6dc4088ba4ef23a4f Author: Alon Ziv Date: Thu Aug 30 00:22:48 2007 -0400 Input: psmouse - reset harder during probe Some rodents appear to be extra-finicky, and require both PSMOUSE_RESET_DIS and PSMOUSE_RESET_BAT before they are unconfused enough to be probed. Signed-off-by: Alon Ziv Signed-off-by: Dmitry Torokhov commit b9d2d110b10f7b4788d0fdd328cf57e34b767817 Author: Dmitry Torokhov Date: Thu Aug 30 00:22:39 2007 -0400 Input: tsdev - implement proper locking Signed-off-by: Dmitry Torokhov commit b126207ccdfe492fbc339c18d4898b1b5353fc6b Author: Dmitry Torokhov Date: Thu Aug 30 00:22:32 2007 -0400 Input: joydev - implement proper locking Signed-off-by: Dmitry Torokhov commit 464b241575f3700e14492e34f26bcd1794280f55 Author: Dmitry Torokhov Date: Thu Aug 30 00:22:24 2007 -0400 Input: mousedev - implement proper locking Signed-off-by: Dmitry Torokhov commit 6addb1d6de1968b84852f54561cc9a999909b5a9 Author: Dmitry Torokhov Date: Thu Aug 30 00:22:18 2007 -0400 Input: evdev - implement proper locking Signed-off-by: Dmitry Torokhov commit 8006479c9b75fb6594a7b746af3d7f1fbb68f18f Author: Dmitry Torokhov Date: Thu Aug 30 00:22:11 2007 -0400 Input: implement proper locking in input core Also add some kerneldoc documentation to input.h Signed-off-by: Dmitry Torokhov commit 12f77c9eed0d2a9f598500d9c1e3dd48883f1d0c Author: Kyungmin Park Date: Thu Aug 30 09:36:05 2007 +0900 [MTD] [OneNAND] Use mtd_oob_ops at oob functions To enable the main read/write at oob ops Next time we will commit the main read/write support for yaffs2 Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit e208520ed664db0f7584048ae09e5d2afda43714 Author: Jörn Engel Date: Wed Aug 29 17:57:11 2007 +0200 [MTD] [NAND] Driver for Olympus MAUSB-10 and Fujifilm DPC-R1 card readers Unlike most stuff on the market the chip inside these two allows raw flash access and doesn't implement and FTL, leaving that functionality to the device driver. Raw flash access in a cheap USB cardreader! An MTD test device one can attach to a PC! What a deal! The command set of the chip is not documented, so information was obtained from the existing mass-storage driver (drivers/usb/storage/alauda.c), its documentation (http://alauda.sourceforge.net/wikka.php?wakka=BulkCommandReference), additional reverse engineering and comparison with a vendor driver for a related chip (http://www.ratocsystems.com/english/download/driver/linux/sma03u.html). Signed-off-by: Joern Engel Signed-off-by: David Woodhouse commit d0482533c73a8685f7ce0951a10280cfd58b8825 Author: Jonathan Woithe Date: Wed Aug 29 15:58:19 2007 +0930 fujitsu-laptop: create Fujitsu laptop platform specific driver Signed-off-by: Jonathan Woithe Signed-off-by: Len Brown commit fd1caaed466de2ee100e250b6c755376eda7ba3b Author: Mattia Dongili Date: Sun Aug 12 16:20:28 2007 +0900 sony-laptop: old Vaio models contain 2 IO port entries Make the driver aware of this case and manage the existence of a second separate IO port. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit c19eb71020687e178b9fa564f4a8ac1880f87b10 Author: Steve French Date: Fri Aug 24 03:22:48 2007 +0000 [CIFS] fix typo in previous Signed-off-by: Steve French commit 39db810cb6c1e7d1f2e43ae38b437b7ee72fe815 Author: Jeff Layton Date: Fri Aug 24 03:16:51 2007 +0000 [CIFS] Byte range unlock request to non-Unix server can unlock too much On a mount without posix extensions enabled, when an unlock request is made, the client can release more than is intended. To reproduce, on a CIFS mount without posix extensions enabled: 1) open file 2) do fcntl lock: start=0 len=1 3) do fcntl lock: start=2 len=1 4) do fcntl unlock: start=0 len=1 ...on the unlock call the client sends an unlock request to the server for both locks. The problem is a bad test in cifs_lock. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 95ba7362105646523ee712fd252ec2e34ccbec15 Author: Cyrill Gorcunov Date: Fri Aug 24 00:23:36 2007 +0000 [CIFS] Fix unbalanced call to GetXid/FreeXid Signed-off-by: Cyrill Gorcunov Signed-off-by: Steve French commit 34a27ffdf59f80fe165f5c56a0be57d55b6da63d Author: Kumar Gala Date: Wed Aug 22 22:53:39 2007 -0500 [MTD] Remove dead maps The tqm834x map Kconfig options depends on TQM834x which does not exist anywhere else in the kernel. The pq2fads map Kconfig/makefile support was removed a while ago but the actual file persisted. Signed-off-by: Kumar Gala commit 3feb0ff1607ab3b7dcd36b2347f00c41774464c8 Author: Josh Boyer Date: Wed Aug 22 14:30:47 2007 -0500 [MTD] 4xx: Don't build arch/ppc dependent drivers in arch/powerpc These drivers are specific to 4xx support in arch/ppc at the moment. Make sure they don't get built on arch/powerpc. Signed-off-by: Josh Boyer Signed-off-by: Kumar Gala commit 2f6c9d961081dc7b109eb19166244bcb2a5dfc28 Author: Kumar Gala Date: Fri Aug 17 01:52:39 2007 -0500 [POWERPC] Stop include asm-ppc when building ARCH=powerpc for ppc32 We no longer have any dependancies on include/asm-ppc so we can get ride of the makefile hacks to include it in the build process. Signed-off-by: Kumar Gala commit 33d71d26ba982f99b8cb76b86b2e1e0a0964a8ac Author: Kumar Gala Date: Mon Aug 20 08:50:28 2007 -0500 [POWERPC] Copy over headers from arch/ppc to arch/powerpc that we need To build arch/powerpc without including asm-ppc/ we need these files in asm-powerpc/ Moved some headers under arch/powerpc/platforms if they were only used by platform or driver files and fixed up the source file includes to match the new locations Signed-off-by: Kumar Gala commit ed16c20da6f500bc2dfad933078d2987636a7b60 Author: Kumar Gala Date: Fri Aug 17 01:47:39 2007 -0500 [POWERPC] Remove old includes from arch/ppc Remove includes of files that existed in arch/ppc that we dont need in arch/powerpc anymore. The following includes were removed: This also caused platforms/embedded6xx/mpc7448_hpc2.h to no longer be needed and thus removed. Signed-off-by: Kumar Gala commit 8064ab4da104900505f33535d230ce0da5d18341 Author: Steve French Date: Wed Aug 22 22:12:07 2007 +0000 [CIFS] cifs truncate missing a fix for private map COW race vmtruncate had added the same fix to handle the case of private pages being Copy on writed while truncate_inode_pages is going on Signed-off-by: Steve French commit 68d09b1b6780415d82160f6b6d88e82bd724e691 Author: Andrew Morton Date: Fri Aug 10 14:01:31 2007 -0700 [MTD] mtdoops printk warning fixes drivers/mtd/mtdoops.c: In function 'mtdoops_inc_counter': drivers/mtd/mtdoops.c:109: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' drivers/mtd/mtdoops.c: In function 'mtdoops_console_sync': drivers/mtd/mtdoops.c:277: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' someone buy Dave an x86_64 box. Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit f4e35647f5c0ac24ca1ba14f84bf817ec0483b72 Author: Andrew Morton Date: Fri Aug 10 14:01:30 2007 -0700 [JFFS2] fix printk warning in jffs2_block_check_erase() fs/jffs2/erase.c: In function 'jffs2_block_check_erase': fs/jffs2/erase.c:355: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'long unsigned int' and fs/jffs2/erase.c: In function 'jffs2_erase_pending_blocks': fs/jffs2/erase.c:404: warning: 'bad_offset' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 9ed437c50d89eabae763dd422579f73fdebf288d Author: David Woodhouse Date: Wed Aug 22 12:39:19 2007 +0100 [JFFS2] Fix ACL vs. mode handling. When POSIX ACL support was enabled, we weren't writing correct legacy modes to the medium on inode creation, or when the ACL was set. This meant that the permissions would be incorrect after the file system was remounted. Signed-off-by: David Woodhouse commit 5b072ba453078293b8f6de8cdd79d9c26f015238 Author: Stephen Rothwell Date: Wed Aug 22 13:49:41 2007 +1000 [POWERPC] Exception numbers are not relevant to iSeries so remove them from the macros. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 7180e3e636deff82f8810291878a184f21142fa9 Author: Stephen Rothwell Date: Wed Aug 22 13:48:37 2007 +1000 [POWERPC] Split out iSeries specific exception macros Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit dc8f571a26689102f6abe2565a84226edeaacc61 Author: Stephen Rothwell Date: Wed Aug 22 13:47:24 2007 +1000 [POWERPC] Move the iSeries exception vectors out of head_64.S and into platforms/iseries/exception.S Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit f9ff0f304833be9a6a605c84e24d630d5aef2230 Author: Stephen Rothwell Date: Wed Aug 22 13:46:44 2007 +1000 [POWERPC] Move the exception macros into a header file It makes head_64.S a bit more readable and will allow us to move the iSeries exceptions elsewhere. This also removes the last line of the comment: * The following macros define the code that appears as * the prologue to each of the exception handlers. They * are split into two parts to allow a single kernel binary * to be used for pSeries and iSeries. * LOL. One day... - paulus Anything is possible. :-) Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit fc68e8699f1f987060ef817cff6a13a7cd7d4c8a Author: Stephen Rothwell Date: Wed Aug 22 13:44:58 2007 +1000 [POWERPC] Move iSeries startup code out of head_64.S Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit dc559f7cd5d6d11a99b6c29402b31fbb3f3a1db0 Author: Olof Johansson Date: Wed Aug 22 12:26:43 2007 +1000 [POWERPC] Rework SMP timebase handoff for pasemi Rework timebase handoff to play nice with configurations with more than 2 cores, as well as with CPU hotplug. Previous scheme just pushed out the current timebase from the giving core to all cores without caring if they wanted it or not, nor checking if they'd taken it. The taking side didn't make sure the giving side had provided a value yet either. In other words, it was completely broken. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit e5d8d54db25790524da34b0143f4e0176fb7677b Author: Scott Wood Date: Tue Aug 21 03:40:02 2007 +1000 [POWERPC] bootwrapper: Add PowerQUICC II (82xx with CPM) cuboot support This allows booting on legacy, non-device-tree aware versions of U-boot. It also fixes up the hardware to match the PCI and chipselect information in the device tree, as u-boot is inconsistent in setting these up correctly (or at all). Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 0b195812dfbccc2ac33e17b35b899dd4fea7611f Author: Scott Wood Date: Tue Aug 21 03:40:01 2007 +1000 [POWERPC] bootwrapper: Add 8xx cuboot support This allows booting on legacy, non-device-tree aware versions of U-boot. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 2f1d4899321be87bc5f0c4ee0e62c9d9ced05f80 Author: Scott Wood Date: Tue Aug 21 03:39:58 2007 +1000 [POWERPC] bootwrapper: Move linker symbols into ops.h Most of these were previously used by numerous C files and redeclared in each one. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit d0f53fafc016b3f4f20f63ecf52f6df8774bcb3c Author: Scott Wood Date: Tue Aug 21 03:39:57 2007 +1000 [POWERPC] bootwrapper: Add CPM serial driver This serial port is used on all 8xx, many 82xx, and some 85xx chips. The driver requires that the port has already been set up by the firmware and/or platform code. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 3ee9b7abafc36a9377af6f036f50c3450954884c Author: Scott Wood Date: Tue Aug 21 03:39:55 2007 +1000 [POWERPC] bootwrapper: Declare udelay() in ops.h Declarations in various users are removed. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit dc4f397d6e385c4ea0fe9732df911a86f1a78c9a Author: Scott Wood Date: Tue Aug 21 03:39:54 2007 +1000 [POWERPC] bootwrapper: serial_console_init() fixes 1. Search the entire compatible list for serial devices. The serial code previously did a simple strcmp on the compatible node; this fails when the match string is not the first compatible listed. Use dt_is_compatible() instead. 2. Don't call serial_edit_cmdline if getc isn't defined. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 61d3b949b70802c4f32d540b11a93128c31c67ea Author: Scott Wood Date: Tue Aug 21 03:39:52 2007 +1000 [POWERPC] bootwrapper: Add TARGET_HAS_ETHn tests to ppcboot.h U-boots more recent than when ppcboot.h was forked allow the board config file to enable additional ethernet ports explicitly, rather than using a hardcoded list of targets. This allows bootwrapper platform files to do the same. Fortunately, nothing after the ethernet addresses is of interest to cuboot platforms, so the inevitable mismatches won't be too catastrophic. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 6e913c67b3eb93e2b8bc1dc0ff854f00a760f41b Author: Scott Wood Date: Tue Aug 21 03:39:51 2007 +1000 [POWERPC] bootwrapper: Add 16-bit I/O, sync(), eieio(), and barrier() Also, include types.h from io.h, so callers don't have to. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit a73ac50c4787b1b28d5c94bb18c60352f5dd7d6f Author: Scott Wood Date: Tue Aug 21 03:39:48 2007 +1000 [POWERPC] bootwrapper: Add dt_is_compatible() This can be used rather than doing a simple strcmp, which will fail to handle multiple compatible entries. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 0602801c22ea1767cd0298b11da140bd5cb764d2 Author: Scott Wood Date: Tue Aug 21 03:39:46 2007 +1000 [POWERPC] bootwrapper: dt_xlate_range() bugfixes 1. The check whether ranges fits in the buffer was using elements rather than bytes. 2. Empty ranges were not properly treated as transparent, and missing ranges were treated as transparent. 3. The loop terminated when translating from the root rather than to. Once bug #2 was fixed, it failed due to a missing ranges in the root node. 4. In decoding the ranges property, the #size-cells used was that of the parent, not the child. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 643d3c139b0a5289d7f0ba19fdcb24be6d7e768f Author: Scott Wood Date: Tue Aug 21 03:39:45 2007 +1000 [POWERPC] bootwrapper: Set timebase_period_ns from dt_fixup_cpu_clocks This lets udelay() work properly on platforms which use dt_fixup_cpu_clocks. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 44d06ba72990893eb5506516b25ccaf3a757ffc0 Author: Scott Wood Date: Tue Aug 21 03:39:20 2007 +1000 [POWERPC] bootwrapper: Update .gitignore All cuImage types are ignored, as well as preprocessed .lds files, and the forthcoming zImage.bin files and embedded planet board images. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 804ace8881d211ac448082e871dd312132393049 Author: Scott Wood Date: Tue Aug 21 02:36:59 2007 +1000 [POWERPC] Use strcasecmp() rather than strncasecmp() when determining device node compatibility The current code assumes "foo-bar" must always be compatible with a node compatible with "foo", which breaks device trees where this is not so. The "case" part is also wrong according to Open Firmware, but it's more likely to have drivers and/or device trees depending on it, and thus needs to be handled more carefully. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 12cdac34c6e90d887de23ab9747185731cba254a Author: Scott Wood Date: Tue Aug 21 02:36:58 2007 +1000 [POWERPC] Add clrbits8 and setbits8 Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 4b218e9bb2fbbc57b5a05de41d77c056a134528c Author: Scott Wood Date: Tue Aug 21 02:36:19 2007 +1000 [POWERPC] Whitespace cleanup in arch/powerpc Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 16a15a30f8a09af6ce2dc4fd6eec9b454c1fe488 Author: Stephen Rothwell Date: Mon Aug 20 14:58:36 2007 +1000 [POWERPC] iSeries: Clean up lparmap mess We need to have xLparMap in head_64.S so that it is at a fixed address (because the linker will not resolve (address & 0xffffffff) for us). But the assembler miscalculates the KERNEL_VSID() expressions. So put the confusing expressions into asm-offsets.c. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 556ecf9be66f4d493e19bc71a7ce84366d512b71 Author: Olaf Hering Date: Sat Aug 18 04:27:17 2007 +1000 [POWERPC] Advertise correct IDE mode on Pegasos2 The built-in IDE controller is configured in legacy mode, but the PCI registers advertise native mode. Force the PCI class into legacy mode. This allows pata_via to access two drives. The Pegasos specific irq enforcement in the via82cxxx driver must stay because there is apparently no generic way to setup irq per channel. Tested on Pegasos2 with firmware version 20040810, and two IDE disks. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 2ba4573cdaf98b0f3acb8795a66f412c1c41284a Author: Josh Boyer Date: Mon Aug 20 07:30:32 2007 -0500 [POWERPC] Bamboo zImage wrapper Add a bootwrapper for the AMCC 440EP Bamboo Eval board. This also adds a common fixup_clock function for all 440EP(x) chips. Signed-off-by: Josh Boyer Acked-by: David Gibson commit 8c1449bdb4c7e9c4492ba18ded70fd8669eeffae Author: Josh Boyer Date: Mon Aug 20 07:30:14 2007 -0500 [POWERPC] Bamboo board support Add support for the AMCC Bamboo board Signed-off-by: Josh Boyer Acked-by: David Gibson commit 142b58ee5600e592e83ff7d2e4672e6cb0b39c27 Author: Josh Boyer Date: Mon Aug 20 07:29:55 2007 -0500 [POWERPC] Bamboo DTS AMCC Bamboo board DTS Signed-off-by: Josh Boyer commit 1daa194a87b3ea77760b4b5361eb47900dfc00a9 Author: Josh Boyer Date: Mon Aug 20 07:29:36 2007 -0500 [POWERPC] Fix 40x build Remove inclusion of __res on 40x. We don't need it in arch/powerpc Signed-off-by: Josh Boyer Acked-by: David Gibson commit aab69292e4efd38181cd300d9b83b12592643d6c Author: Josh Boyer Date: Mon Aug 20 07:29:11 2007 -0500 [POWERPC] 40x decrementer fixes Allow generic_calibrate_decr to work for 40x platforms. Given that the hardware behavior is identical, this also changes the set_dec function to reload the PIT on 40x to match the behavior 44x currently has. Signed-off-by: Josh Boyer commit 4d922c8dc332f4c7bc156fa832187661d4899cee Author: Josh Boyer Date: Mon Aug 20 07:28:48 2007 -0500 [POWERPC] 40x MMU Add MMU definitions for 40x platforms. Also fixes two warnings in 40x_mmu.c. Signed-off-by: Josh Boyer Acked-by: David Gibson commit e90f3b74d884d0f2826e06dbab4f615ca346eaa4 Author: Josh Boyer Date: Mon Aug 20 07:28:30 2007 -0500 [POWERPC] 4xx bootwrapper reworks Make the fixup_memsize function common for all of 4xx as several chips share the same SDRAM controller. Also add functions to reset 40x chips and quiesce the ethernet. Signed-off-by: Josh Boyer commit 869680c16fb028ac4ad9a449283e0514789c654a Author: Josh Boyer Date: Mon Aug 20 07:28:05 2007 -0500 [POWERPC] Rename 44x bootwrapper Rename the 44x.c wrapper file to 4xx.c. This will allow us to add common functions in a single file that can be shared across all of 4xx. Signed-off-by: Josh Boyer Acked-by: David Gibson commit 3cc248ae6eaac4175047d1fdc4fadd8a94651f83 Author: Josh Boyer Date: Mon Aug 20 07:27:42 2007 -0500 [POWERPC] 4xx Kconfig cleanup Remove some leftover cruft in the 40x Kconfig file. Also make sure we select WANT_DEVICE_TREE for 40x. Signed-off-by: Josh Boyer Acked-by: David Gibson commit 15f6527e8e63e793f8ab1ddce4ed3c487ebd0d42 Author: Josh Boyer Date: Mon Aug 20 07:27:07 2007 -0500 [POWERPC] Rename 4xx paths to 40x 4xx is a bit of a misnomer for certain things, as they really apply to PowerPC 40x only. Rename some of the files to clean this up. Signed-off-by: Josh Boyer Acked-by: David Gibson commit a65517f857bf6657839957617af942a4b631fba5 Author: Stephen Rothwell Date: Thu Aug 16 11:19:19 2007 +1000 [POWERPC] Remove some duplicate declarations from pmac.h Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit e78bb5dc2e0515dce2ac2c590d66405028b7ccd6 Author: Guennadi Liakhovetski Date: Thu Aug 16 05:15:03 2007 +1000 [POWERPC] Fix i2c device string format Use strlcpy() to guarantee strings in i2c device type and driver_name fields are 0-terminated. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mackerras commit 750d1d1ca1d2e94e15393927fd3c30222d1c5203 Author: Stephen Rothwell Date: Wed Aug 15 20:58:23 2007 +1000 [POWERPC] Fix section mismatch in pasemi/iommu.c These functions are only called by __init functions. WARNING: vmlinux.o(.text+0x56aa0): Section mismatch: reference to .init.text:.lmb_alloc (between '.iob_init' and '.iommu_init_early_pasemi') Signed-off-by: Stephen Rothwell Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 124d795d16b018b054956c9be561f889acf95ac4 Author: Stephen Rothwell Date: Wed Aug 15 20:55:57 2007 +1000 [POWERPC] Fix section mismatches in udbg_adb.c The functions are only called from __init functions. WARNING: vmlinux.o(.text+0x45ed0): Section mismatch: reference to .init.text:.btext_find_display (between '.udbg_adb_init_early' and '.udbg_adb_init') WARNING: vmlinux.o(.text+0x45f9c): Section mismatch: reference to .init.text:.btext_find_display (between '.udbg_adb_init' and '.udbg_adb_getc_poll') WARNING: vmlinux.o(.text+0x46000): Section mismatch: reference to .init.text:.find_via_pmu (between '.udbg_adb_init' and '.udbg_adb_getc_poll') Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 109b60f0bc1306192c765875badcaa5f3850a0a1 Author: Stephen Rothwell Date: Wed Aug 15 20:54:32 2007 +1000 [POWERPC] Fix section mismatch in dart_iommu.c These functions are only called from __init functions. WARNING: vmlinux.o(.text+0x398f4): Section mismatch: reference to .init.text:.lmb_alloc (between '.iommu_init_early_dart' and '.pci_dma_bus_setup_dart') Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit d56c3aaa9f660e5f5f295da74f5d3db510de0ede Author: Stephen Rothwell Date: Wed Aug 15 20:53:26 2007 +1000 [POWERPC] Fix section mismatch in crash_dump.c WARNING: vmlinux.o(.text+0x23258): Section mismatch: reference to .init.text:.lmb_reserve (between '.reserve_kdump_trampoline' and '.restore_processor_state') Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 553fdff633b1cb8cfccf554768444c5580a8d7f7 Author: David Gibson Date: Tue Aug 14 13:52:42 2007 +1000 [POWERPC] Improve robustness of the UIC cascade handler At present the cascade interrupt handler for the UIC (interrupt controller on 4xx embedded chips) will misbehave badly if it is called spuriously - that is if the handler is invoked when no interrupts are asserted in the child UIC. Although spurious interrupts shouldn't happen, it's good to behave robustly if they do. This patch does so by checking for and ignoring spurious interrupts. Signed-off-by: Valentine Barshak Signed-off-by: David Gibson Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit 868afce21fdadcecc7bde9263321065948508c56 Author: David Gibson Date: Tue Aug 14 13:52:42 2007 +1000 [POWERPC] Fix irq flow handler for 4xx UIC At present the driver for the UIC (the embedded interrupt controller in 4xx chips) uses the handle_level_irq() flow handler. It turns out this does not correctly handle level triggered interrupts on the UIC. Specifically, acknowledging an irq on the UIC (i.e. clearing the relevant bit in UIC_SR) will have no effect for a level interrupt which is still asserted by the external device, even if the irq is already masked. Therefore, unlike handle_level_irq() we must ack the interrupt after invoking the ISR (which should cause the device to stop asserting the irq) instead of acking it when we mask it, before the ISR. This patch implements this change, in a new handle_uic_irq(), a customised irq flow handler for the UIC. For edge triggered interrupts, handle_uic_irq() still uses the old flow - we must ack edge triggered interrupt before the ISR not after, or we could miss a second event which occurred between invoking the ISR and acking the irq. Signed-off-by: David Gibson Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit 4dc7b4b0405fd7320940849b6e31ea8ea68fd0df Author: David Gibson Date: Tue Aug 14 13:52:42 2007 +1000 [POWERPC] Fix setting of irq trigger type in UIC driver The UIC (interrupt controller in 4xx embedded CPUs) driver currently missets the IRQ_lEVEL flag in desc->status, due to a thinko. This patch fixes the bug. Currently this is only a cosmetic problem (affects the output in /proc/interrupts), however subsequent patches will use the IRQ_LEVEL flag to affect flow handling. Signed-off-by: Valentine Barshak Signed-off-by: David Gibson Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit a05afe9146f7611d40a58be34ee8442727a6af1f Author: Stephen Rothwell Date: Wed Aug 15 16:54:04 2007 +1000 [POWERPC] Comment out a currently unused function Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit e8ff0646e5df850ff084be9c97a2e69fff5697b4 Author: Stephen Rothwell Date: Wed Aug 15 16:51:18 2007 +1000 [POWERPC] Tidy up CONFIG_PPC_MM_SLICES code This removes some of the #ifdefs from .c files. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 0b8188a44def37f4f8ef01653da199ca3a3e0a2a Author: Stephen Rothwell Date: Wed Aug 15 16:45:15 2007 +1000 [POWERPC] Remove get_property and device_is_compatible They were only needed for backwards compatibility and all in tree uses have now been changed. Signed-off-by: Stephen Rothwell Acked-by: David S. Miller Signed-off-by: Paul Mackerras commit 9c25099db74b384e16345622071552f9f10dd045 Author: Stephen Rothwell Date: Wed Aug 15 16:42:12 2007 +1000 [POWERPC] Use of_get_property in ipmi code get_property has been renamed to of_get_property. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 9dfe5c53d0fcc08e9efc1e13bb6702fac74f4a12 Author: Stephen Rothwell Date: Wed Aug 15 16:33:55 2007 +1000 [POWERPC] Fix non HUGETLB_PAGE build warning arch/powerpc/mm/mmu_context_64.c: In function 'init_new_context': arch/powerpc/mm/mmu_context_64.c:31: warning: unused variable 'new_context' Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1ac9f1f71dea5944085b7b4954516794a9dab35a Author: Becky Bruce Date: Wed Aug 15 04:45:44 2007 +1000 [POWERPC] Update lmb.h include protection to ASM_POWERPC This file was protected by _PPC64_LMB_H, which is confusing, as the 32-bit code also uses the lmb these days. Changed to _ASM_POWERPC_LMB_H. Signed-off-by: Becky Bruce Signed-off-by: Paul Mackerras commit 7b52b440d37d669ec93297cf589984a110518d43 Author: Michael Buesch Date: Mon Aug 13 06:38:34 2007 +1000 [POWERPC] via-pmu: Fix typo in printk This fixes a typo in a printk message. Signed-off-by: Michael Buesch Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 9f0cbea0d8cc47801b853d3c61d0e17475b0cc89 Author: Segher Boessenkool Date: Sat Aug 11 10:15:30 2007 +1000 [POWERPC] Implement atomic{, 64}_{read, write}() without volatile Instead, use asm() like all other atomic operations already do. Also use inline functions instead of macros; this actually improves code generation (some code becomes a little smaller, probably because of improved alias information -- just a few hundred bytes total on a default kernel build, nothing shocking). Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit c6d4267eced79775399f256fbb4adb671e9b597e Author: Paul Mackerras Date: Fri Aug 10 14:07:38 2007 +1000 [POWERPC] Handle alignment faults on new FP load/store instructions This adds code to handle alignment traps generated by the following new floating-point load/store instructions, by emulating the instruction in the kernel (as is done for other instructions that generate alignment traps): lfiwax load floating-point as integer word algebraic indexed stfiwx store floating-point as integer word indexed lfdp load floating-point double pair lfdpx load floating-point double pair indexed stfdp store floating-point double pair stfdpx store floating-point double pair indexed All these except stfiwx are new in POWER6. lfdp/lfdpx/stfdp/stfdpx load and store 16 bytes of memory into an even/odd FP register pair. In little-endian mode each 8-byte value is byte-reversed separately (i.e. not as a 16-byte unit). lfiwax/stfiwx load or store the lower 4 bytes of a floating-point register from/to memory; lfiwax sets the upper 4 bytes of the FP register to the sign extension of the value loaded. Signed-off-by: Paul Mackerras commit 09a54101e15f43607722dee55f33d1962653c6cb Author: Linas Vepstas Date: Fri Aug 10 09:28:11 2007 +1000 [POWERPC] pseries: Remove dead EEH video code Remove dead code, and a misleading comment about EEH checking for video devices. The removed code is a left-over from the olden days where there was concern over how video devices worked in Linux. We are never going to go that way again, so kill this. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 17 ----------------- 1 file changed, 17 deletions(-) Signed-off-by: Paul Mackerras commit 0f7f2fb85a67953acd6bf379681f22f5c83d4f60 Author: Nathan Lynch Date: Fri Aug 10 07:43:28 2007 +1000 [POWERPC] Remove gratuitous reads from powermac pci config space methods The powermac pci configuration space write methods read the written location immediately after the write is performed, presumably in order to flush the write. However, configuration space writes are not allowed to be posted, making these reads gratuitous. Furthermore, this behavior potentially causes us to violate the PCI PM spec when changing between e.g. D0 and D3 states, because a delay of up to 10ms may be required before the OS accesses configuration space after the write which initiates the transition. Remove the unnecessary reads from macrisc_write_config, u3_ht_write_config, and u4_pcie_write_config. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit b139f1fb0f1e4bfe06f2c88ba8c9a55d9513d871 Author: Nathan Lynch Date: Fri Aug 10 07:37:27 2007 +1000 [POWERPC] Remove gratuitous reads from pasemi pci config space methods The pasemi pci configuration space write method reads the written location immediately after the write is performed, presumably in order to flush the write. However, configuration space writes are not allowed to be posted, making these reads gratuitous. Furthermore, this behavior potentially causes us to violate the PCI PM spec when changing between e.g. D0 and D3 states, because a delay of up to 10ms may be required before the OS accesses configuration space after the write which initiates the transition. Remove the unnecessary reads from pa_pxp_write_config. Signed-off-by: Nathan Lynch Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 8935fa0fe6f87c4df806f605de04aed4353c7600 Author: Nathan Lynch Date: Fri Aug 10 05:18:46 2007 +1000 [POWERPC] tsi108_direct_pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit c78d453b6f95ff38a2226f6f77a4b08a6e27fc42 Author: Nathan Lynch Date: Fri Aug 10 05:18:45 2007 +1000 [POWERPC] indirect_pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit f1d645f42849ce3c12781514e6ced97748ada6b1 Author: Nathan Lynch Date: Fri Aug 10 05:18:44 2007 +1000 [POWERPC] chrp pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 21d8f6c728a0eb852b521626a41b2bba6a6216d9 Author: Nathan Lynch Date: Fri Aug 10 05:18:43 2007 +1000 [POWERPC] efika rtas_pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 6127d1c0b097b2e9acc83dede1c1cb64ce76e7d5 Author: Nathan Lynch Date: Fri Aug 10 05:18:42 2007 +1000 [POWERPC] null_pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 3fac10e7f5a6dfa4a08938d24af2775cd9b9e267 Author: Nathan Lynch Date: Fri Aug 10 05:18:41 2007 +1000 [POWERPC] powermac pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 1bb8c6216f08519c16ce20b82e6f6a59fe0ce717 Author: Nathan Lynch Date: Fri Aug 10 05:18:40 2007 +1000 [POWERPC] pa_pxp_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 2e67d40762215bcd7c9b81e828ef6de453a09bc4 Author: Nathan Lynch Date: Fri Aug 10 05:18:39 2007 +1000 [POWERPC] maple pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 3e02aebbca47174d4263cac5ff5b68ea29a7bcff Author: Nathan Lynch Date: Fri Aug 10 05:18:38 2007 +1000 [POWERPC] celleb_epci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit aec249bc1944c5359c6d3aa2f674be6a9fb3d076 Author: Nathan Lynch Date: Fri Aug 10 05:18:37 2007 +1000 [POWERPC] celleb_fake_pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 8674e0c9e570fcce948518e8fe518f4b61ac91fe Author: Nathan Lynch Date: Fri Aug 10 05:18:36 2007 +1000 [POWERPC] rtas_pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 1bdb2867e5f0bca7c94f7df92f23fdd20524a488 Author: Nathan Lynch Date: Thu Aug 9 10:50:44 2007 +1000 [POWERPC] Remove gratuitous reads from maple PCI config space methods The maple PCI configuration space write methods read the written location immediately after the write is performed, presumably in order to flush the write. However, configuration space writes are not allowed to be posted, making these reads gratuitous. Furthermore, this behavior potentially causes us to violate the PCI PM spec when changing between e.g. D0 and D3 states, because a delay of up to 10ms may be required before the OS accesses configuration space after the write which initiates the transition. It definitely causes a system hang for me with a Broadcom 5721 PCIE network adapter, which is fixed by this change. Therefore this removes the gratuitous reads from u3_agp_write_config, u3_ht_write_config, and u4_pcie_write_config. Signed-off-by: Nathan Lynch Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 96b952dd4b8aaa752b6086ad8bcaf2af23729b5f Author: Murali Iyer Date: Thu Aug 9 07:46:49 2007 +1000 [POWERPC] Export DCR symbols for modules In order to compile drivers as modules that uses some of the DCR functions, we need to export the symbols. Example, EMAC driver and other drivers that are under development use these functions. Signed-off-by: Murali Iyer Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0f2342c85df4248bc1cd72421b13969a0782ed6a Author: Linas Vepstas Date: Fri Aug 10 06:56:41 2007 +1000 [POWERPC] pseries: Eliminate global error_log_cnt variable Eliminate the use of error_log_cnt as a global var shared across different directories. Pass it as a parameter instead. Signed-off-by: Linas Vepstas ---- Respin of earlier patch, with the CONFIG_PSERIES junk removed from the header file. arch/powerpc/kernel/nvram_64.c | 10 +++++----- arch/powerpc/platforms/pseries/rtasd.c | 7 ++++--- include/asm-powerpc/nvram.h | 6 ++++-- 3 files changed, 13 insertions(+), 10 deletions(-) Signed-off-by: Paul Mackerras commit 79c0108d1b9db4864ab77b2a95dfa04f2dcf264c Author: Linas Vepstas Date: Thu Aug 9 06:06:15 2007 +1000 [POWERPC] pseries: Fix jumbled no_logging flag Get rid of the jumbled usage of the no_logging flag. Its use spans several directories, and is incorrectly/misleadingly documented. Instead, two changes: 1) nvram will accept error log as soon as its ready. 2) logging to nvram stops on the first fatal error reported. Signed-off-by: Linas Vepstas ---- arch/powerpc/kernel/nvram_64.c | 8 -------- arch/powerpc/platforms/pseries/rtasd.c | 14 ++++++-------- 2 files changed, 6 insertions(+), 16 deletions(-) Signed-off-by: Paul Mackerras commit 72755f44075d34cdb9bc467c6cd9a229292b5aff Author: Linas Vepstas Date: Thu Aug 9 06:04:48 2007 +1000 [POWERPC] Remove nvram forward declarations Forward declarations serve no purpose in this file. Signed-off-by: Linas Vepstas ---- arch/powerpc/kernel/nvram_64.c | 5 ----- 1 file changed, 5 deletions(-) Signed-off-by: Paul Mackerras commit 4511dad42a8da41fc2f5a58066c519c2228896ac Author: Linas Vepstas Date: Thu Aug 9 06:03:37 2007 +1000 [POWERPC] pseries: Simplify rtasd initialization Simplify rtasd initialization code; this also fixes a buglet, where the /proc entries weren't being cleaned up in case of failure. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/rtasd.c | 53 +++++++++++---------------------- 1 file changed, 19 insertions(+), 34 deletions(-) Signed-off-by: Paul Mackerras commit ba28cc09316510aacb17f8421fdaae37969a4d5b Author: Linas Vepstas Date: Thu Aug 9 06:02:10 2007 +1000 [POWERPC] pseries: Use rtas_token instead of hand-rolled code The rtas_token() call does the same thing as this hand-rolled code. This makes the code easier to read. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/rtasd.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) Signed-off-by: Paul Mackerras commit a4fc3a3cead7f9e00dc0f6e00238b11c030f94cc Author: Linas Vepstas Date: Fri Aug 10 07:01:50 2007 +1000 [POWERPC] pseries: Avoid excess rtas_token calls We don't need to look up the rtas event token once per cpu per second. This avoids some misc device-tree lookups and string ops and so provides some minor performance improvement. Signed-off-by: Linas Vepstas ---- Revised commit-log message. arch/powerpc/platforms/pseries/rtasd.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) Signed-off-by: Paul Mackerras commit f774216d465959a4777ac3de67f33bf75ecd4a76 Author: Segher Boessenkool Date: Thu Aug 2 01:41:15 2007 +1000 [POWERPC] Replace a few #defines with empty inline functions ...so that GCC doesn't complain about unused variables in the callers of these. Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit c05129bd8190fd702426f93f9fe0a00fa6cacb31 Author: Grant Likely Date: Wed Aug 1 23:53:28 2007 +1000 [POWERPC] Only ignore arch/ppc/include, not arch/ppc/boot/include arch/ppc/.gitignore shouldn't exclude arch/ppc/boot/include, so this makes arch/ppc/.gitignore more specific. Signed-off-by: Paul Mackerras commit 33567a023e734b640c27fc9cc4e7c6b45987b083 Author: Gabriel C Date: Wed Aug 1 19:41:09 2007 +1000 [POWERPC] Typo fixes interrrupt -> interrupt This fixes some interrrupt -> interrupt typos. Signed-off-by: Gabriel Craciunescu Signed-off-by: Paul Mackerras commit cc61f957f486871536cc5531e83337fff4fe48f3 Author: Mariusz Kozlowski Date: Wed Aug 1 08:10:03 2007 +1000 [POWERPC] drivers/macintosh/therm_adt746x.c: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: Paul Mackerras commit 0d279d47612d1b63155a1d9637a6fc5143dad594 Author: David Gibson Date: Mon Jul 30 15:55:02 2007 +1000 [POWERPC] Fixes to allow use of Ebony's flash chips through physmap_of This patch contains a handful of small fixes to allow the Ebony's flash to be exposed as MTD devices via the physmap_of driver. Specifically it: - Makes a small addition to the device tree and zImage wrapper to record the correct address for the flash in the device tree based on the board switches as reported via an FPGA register. - Prohibits building the old hard-coded "Ebony" flash map on arch/powerpc kernels, in favour of using physmap_of's device tree based approach. - Enables MTD and physmap_of in the Ebony defconfig. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 9420dc65ff9e6b67c032286efde823aeb8684670 Author: Jesper Juhl Date: Mon Jul 30 08:18:25 2007 +1000 [POWERPC] Clean out a bunch of duplicate includes This removes several duplicate includes from arch/powerpc/. Signed-off-by: Jesper Juhl Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 2a4a9fbf26b109a748a336560ae3155c54f89de8 Author: Jon Loeliger Date: Sat Jul 28 04:25:09 2007 +1000 [POWERPC] embedded6xx: Remove unnecessary loops_per_jiffy initialization code Signed-off-by: Jon Loeliger Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit c3ca32fdb820d59e63c95115ec5caf2862c85040 Author: Jon Loeliger Date: Sat Jul 28 04:24:59 2007 +1000 [POWERPC] 8xx: Remove unnecessary loops_per_jiffy initialization code Signed-off-by: Jon Loeliger Acked-by: Vitaly Bordug Signed-off-by: Paul Mackerras commit 7888fbf7bbf8840e83078eae3a537fd1cde46e6e Author: Jon Loeliger Date: Sat Jul 28 04:24:52 2007 +1000 [POWERPC] 52xx: Remove unnecessary loops_per_jiffy initialization code Signed-off-by: Jon Loeliger Signed-off-by: Paul Mackerras commit 0b9369f4934eb9933a1fbe991c5e8a4f9725da37 Author: Linas Vepstas Date: Fri Jul 27 08:35:40 2007 +1000 [POWERPC] EEH: Dump PCI bridge status on event Gather bridge-specific data on EEH events. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) Signed-off-by: Paul Mackerras commit 093eda3ce5dc3758c9a5e806ea6573bfffed3ff7 Author: Linas Vepstas Date: Fri Jul 27 08:33:58 2007 +1000 [POWERPC] EEH: Fix PCI bridge handling bug The EEH code needs to ignore PCI bridges; sort-of. It was ignoring them in the wrong place, and thus failing to set up the PCI_DN(dn)->pcidev pointer. Imprudent dereferencing of this pointer would lead to a crash on cards with bridges. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh_cache.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) Signed-off-by: Paul Mackerras commit 12588da7cb57edc25355c8ae2a245f66d0d067d1 Author: Linas Vepstas Date: Fri Jul 27 08:30:26 2007 +1000 [POWERPC] EEH: Tweak printk message Print return code to print message. Also fix whitespace. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) Signed-off-by: Paul Mackerras commit 301d9cb80b4f64ba24d4b141ad3ca58165a29afb Author: Ishizaki Kou Date: Thu Jul 26 20:06:08 2007 +1000 [POWERPC] Init markings for hvc_beat Fix warnings about section mismatch. Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit a4ebd0174724193cbabf989352702ff37b1eb060 Author: Ishizaki Kou Date: Thu Jul 26 20:02:27 2007 +1000 [POWERPC] Init markings for celleb There are some variables and functions that we should place in init section. And this patch changes some '__devinit' to '__init', because the device is platform device and not hot-pluggable. Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit b090b3388b6ea5d1003260daa0a997f4a1c4acc5 Author: Ishizaki Kou Date: Thu Jul 26 20:00:56 2007 +1000 [POWERPC] Fix celleb sio section warning Fix following warning: WARNING: vmlinux.o(.text+0x45fd4): Section mismatch: reference to .init.text:.early_serial_txx9_setup (between '.txx9_serial_init' and '.txx9_serial_config') Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit e5b9187b16993e4bb6799185e266f68e26663bee Author: Ishizaki Kou Date: Thu Jul 26 19:59:17 2007 +1000 [POWERPC] Fix celleb pci section warnings Fix following warnings: WARNING: vmlinux.o(.text+0x44ad0): Section mismatch: reference to .init.text:.__alloc_bootmem (between '.celleb_setup_phb' and '.celleb_fake_pci_write_config') WARNING: vmlinux.o(.text+0x44dd8): Section mismatch: reference to .init.text:.free_bootmem (between '.celleb_setup_phb' and '.celleb_fake_pci_write_config') Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit 09b3fba562ce366312b90a6f71d0b727b4d93ba9 Author: David Woodhouse Date: Thu Aug 9 17:28:20 2007 +0800 [JFFS2] Correct cleanmarker checks -- we should use only 8 bytes Commit a7a6ace1406f95c3edb8365788f85984377f3832 revamped the OOB handling but accidentally switched to 12-byte cleanmarkers, which is incompatible with what 'flash_eraseall -j' will do. So using flash_eraseall -j and then trying to mount the 'empty' flash will fail, because the cleanmarkers aren't recognised. Signed-off-by: David Woodhouse commit bbf275f092b1b2a9bc8a504500ec387f9ddff859 Author: Mike Frysinger Date: Sun Aug 5 16:48:08 2007 +0800 Blackfin serial driver: pending a unique anomaly id, tie the break flood issue to ANOMALY_05000230 pending a unique anomaly id, tie the break flood issue to ANOMALY_05000230 as when that was fixed, the fallout also fixed the break flood Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 85a75996edd0e49477cc7c9eb4bac33f02b07685 Author: Alan Cox Date: Sun Aug 5 19:16:05 2007 +0800 blackfin enable arbitary speed serial setting Add the needed definitions to activate arbitary speed support on the blackfin platform. Signed-off-by: Alan Cox Acked-by: Aubrey Li Signed-off-by: Andrew Morton Signed-off-by: Bryan Wu commit 7417c8fe2e792b771b093c14e763816f154b62b4 Author: Robin Getz Date: Wed Oct 10 22:26:33 2007 +0800 Blackfin arch: Remove cruft - CONFIG_DEBUG_SERIAL_EARLY_INIT and DEBUG_KERNEL_START Remove cruft - CONFIG_DEBUG_SERIAL_EARLY_INIT didn't work that well, and DEBUG_KERNEL_START was just implmented poorly. Will replace with a new checkin. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit ddf416b2bce842105d29b170438fd1bc080456d0 Author: Mike Frysinger Date: Wed Oct 10 18:06:47 2007 +0800 Blackfin arch: fix typo in register name Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c3f2294f8cb161f568e244e283e1aa3eee397ef5 Author: Mike Frysinger Date: Wed Oct 10 17:54:46 2007 +0800 Blackfin arch: trim the Blackfin arch MAINTAINERS list Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit bc41bb11654f7fbb8cae2d316a7c2ac5ebf759d2 Author: Bernd Schmidt Date: Wed Oct 10 17:54:19 2007 +0800 Blackfin arch: fix bug libstdc++ calling writev with an iovec containing { NULL, 0 } fails on Blackfin Fix a problem reported in the forums - libstdc++ can call writev with an iovec containing { NULL, 0 }, which works fine on i686-linux, but fails on Blackfin. Fixed by allowing size 0 transfers to/from userspace regardless of the address. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit ef4a47db52cd8c15b5de07a318e5758d2f1e1bb9 Author: Bernd Schmidt Date: Wed Oct 10 17:45:22 2007 +0800 Blackfin arch: Export strcpy - occasionally get module link failures otherwise Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit b3f8b9276314f4942ef9033aa5f4dc184901d640 Author: Robin Getz Date: Wed Oct 10 17:28:27 2007 +0800 Blackfin arch: the load address is not safe to point to as a workaround for ANOMALY 05000281 Now that we have moved head.S into the init section, the load address is not safe to point to as a workaround for ANOMALY 05000281 Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit b76f98761acc909c20c1e65c8af11dc1decae935 Author: Robin Getz Date: Wed Oct 10 17:25:15 2007 +0800 Blackfin arch: show_mem can not be marked as init, since it is called during OOM condition show_mem can not be marked as init, since it is called during OOM condition from /mm/oom_kill.c:out_of_memory() and /mm/page_alloc.c:__alloc_pages() Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 1a7d91d651f25005c4f507aebf9eab17e508889c Author: Michael Hennerich Date: Wed Oct 10 17:42:55 2007 +0800 Blackfin arch: flush/inv the correct range when using write back cache and fix bugs find by dmacopy - flush/inv the correct range - dmacopy test failed when policy is write_back - invalidate before dma http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3367 It's the cache invalidate what is causing the issue. There is no invalidate only instruction it's always: FLUSHINV So when we "invalidate" after the DMA we might (do) overwrite freshly dma'ed data by dirty Cache WB content. Fixed by moving the "invalidate" at the beginning of dma_memcpy. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit a359cca71e73a83612b5bbecea41d3b7a47160ca Author: Sonic Zhang Date: Wed Oct 10 16:47:58 2007 +0800 Blackfin arch: update kgdb patch Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 2b39331a282c3a03415653d4e188910a11c9db8a Author: Michael Hennerich Date: Wed Oct 10 16:58:49 2007 +0800 Blackfin arch: Comply with revised Anomaly Workarounds for BF533 05000311 and BF561 05000323 Comply with revised Anomaly Workarounds for BF533 05000311 and BF561 05000323 accoring to BF533 anomaly sheet Rev. A 09/04/07 Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 337d390b3a9c1ce92a12bdb77b9ae6ded6273b12 Author: Robin Getz Date: Tue Oct 9 17:31:46 2007 +0800 Blackfin arch: Print out debug info, as early as possible Print out debug info, as early as possible - even before the kernel initializes the interrupt vectors. Now we can print out debug messages almost anytime during the boot process. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit ce3afa1c043ab3d4125671441a57353d80f5f6f7 Author: Robin Getz Date: Tue Oct 9 17:28:36 2007 +0800 Blackfin arch: Enable earlyprintk earlier - so any error after our interrupt tables are set up will print out Also ensure that the traps_c code doesn't cause a double fault, by sending a signal to a faulting kernel before the memory subsystem is fully initialized, by printing out the error message before sending the signal. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 2ebcade590dcf822dcdadcc4f8f68efd3ff2e217 Author: Robin Getz Date: Tue Oct 9 17:24:30 2007 +0800 Blackfin arch: fix endless loop bug when a double fault happens Today when a double fault happens (exception during an exception handling event), we go into an endless loop, with nothing comming out the UART. With this patch, we actually see that we have commited a double fault event Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 0ae53640b54f2c30e52044f7102ba08915b988a7 Author: Robin Getz Date: Tue Oct 9 17:24:49 2007 +0800 Blackfin arch: Initial patch to add earlyprintk support This allows debugging of problems which happen eary in the kernel boot process (after bootargs are parsed, but before serial subsystem is fully initialized) Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 1d487f468de75b8a5c664db60e106935f9dc753b Author: Bryan Wu Date: Thu Oct 11 00:30:56 2007 +0800 Blackfin arch: add TWIx_REGBASE and SPIx_REGBASE to specific CPU header files, use the new REGBASE for board platform resources Signed-off-by: Bryan Wu commit b7b2d344e7f7027497547a8b786a407047ee5e26 Author: Bryan Wu Date: Tue Oct 9 15:09:49 2007 +0800 Blackfin arch: modify the insX/outsX and dma_insX/dma_outsX to be compatible with other archs Signed-off-by: Bryan Wu commit c11b5776bfef671cd6eea4479f345ec042638643 Author: Mike Frysinger Date: Thu Oct 11 00:12:41 2007 +0800 Blackfin arch: add more common defines for output sections Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit fb282a72f13305a74fb105bce1ee232b3492b654 Author: Bryan Wu Date: Wed Sep 12 17:48:25 2007 +0800 Blackfin arch: cleanup IO and DMA_IO API function definitions according to other arches Signed-off-by: Bryan Wu commit b5c0e2e8068ca31eb2547f2e2e677516ce9d8800 Author: Mike Frysinger Date: Wed Sep 12 17:31:59 2007 +0800 Blackfin arch: fix typo pointed out by David Rowe (Mhz -> MHz) Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2714d9a6d1e68d30f5be8871722a7cff388c2d74 Author: Michael Hennerich Date: Thu Oct 11 00:29:49 2007 +0800 Blackfin arch: Workaround reboot bug, issue SSYNC at the start of bfin_reset reboot failes on BF533 http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3500 Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 4b3f058a7a34a10d99937e86bb28da118710ca9a Author: Michael Hennerich Date: Wed Sep 12 14:50:28 2007 +0800 Blackfin arch: Add ANOMALY_05000311 Workaround - for those who doesnt use the generic GPIO driver Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit eabb5a5e0b1ff6b7d36ac80bf39773fa6a0fc872 Author: Michael Hennerich Date: Tue Aug 28 14:57:05 2007 +0800 Blackfin arch: Remove legacy support Now that there is a generic GPIO driver framework remove GPIO register unified name space legacy support. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 2acde902301f73e824101e5ca9eb95dc733dc17d Author: Michael Hennerich Date: Thu Oct 11 00:24:40 2007 +0800 Blackfin arch: a few things still use bfin_read_PORT_FER() - Update gpio_request to allow multiple request with the same signature (label) - Use generic GPIO API where applicable - Update generic board support form stamp board Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 55249e9e3d07617e00cc6c52b83f7d1a7eb7e64d Author: Michael Hennerich Date: Thu Oct 11 00:06:31 2007 +0800 Blackfin arch: For compatibility reasons change IRQ_XXX_ERR into IRQ_XXX_ERROR like on any other supported Blackfin derivative Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 02f13f9d5c1d3104c5c4e7f4ae30c43d595d1d75 Author: Robin Getz Date: Mon Aug 27 17:38:40 2007 +0800 Blackfin arch: Remove cruft - CONFIG_DEBUG_SERIAL_EARLY_INIT didn't work that well with DEBUG_KERNEL_START Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit d2b11a468a49716debd96532552a72b6078f1cf5 Author: Michael Hennerich Date: Tue Aug 28 16:47:46 2007 +0800 Blackfin arch: Merge GPIO/Peripheral Resource Allocation back into a single file Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 2296fb7ff04531dd8d50394da24f49302ecf103b Author: Robin Getz Date: Thu Sep 13 11:49:33 2007 +0800 Blackfin arch: Fix bug missing L2_MEMORY definition for EZKIT-BF561 compiling error Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 4d5f4ed3fb797021523fc9fb6804047e8e35b33d Author: Michael Hennerich Date: Mon Aug 27 16:46:17 2007 +0800 Blackfin arch: extract gpio number from PIN function Singed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 168f1212c098727f2509fe0f66bd30d7209a8159 Author: Mike Frysinger Date: Thu Oct 11 00:22:35 2007 +0800 Blackfin arch: rewrite our reboot code in C rewrite our reboot code in C rather than assembly to be like other architectures and to allow board maintainers to define custom behavior Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 27d875f2c134c4b26860ccdd03b4c52cce4efc2c Author: Mike Frysinger Date: Mon Aug 27 16:08:53 2007 +0800 Blackfin arch: vmlinux.lds.S, break up our .init into separate sections Break up our .init into separate section like all other ports do and so that we dont mix text and data (causes disassembly headaches as pointed out by Robin) Cc: Robin Getz Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d8350e704e5a47784d108d57c27dbb7b9c0a4369 Author: Bryan Wu Date: Thu Oct 11 00:03:39 2007 +0800 Blackfin arch: Board defconfig updating Signed-off-by: Bryan Wu commit fbeb7370b6eef14bf12787d05c7460fae562d0be Author: Mike Frysinger Date: Mon Aug 27 15:02:20 2007 +0800 Blackfin arch: parse input sections properly when using -ffunction-sections/-fdata-sections Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 1ffe6646babf8471714e649849ec2c9662bf410c Author: Mike Frysinger Date: Sun Aug 5 17:14:04 2007 +0800 Blackfin arch: add an exception request/free api add an exception request/free api similar to the interrupt request/fre api so people can utilize the free software based exceptions for their own purposes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit dbcc78bebe9daed8998d9f7c4e30bd3b73a4a169 Author: Mike Frysinger Date: Sun Aug 5 17:06:48 2007 +0800 Blackfin arch: all our other ports call this SIZE rather than SPI_LEN Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f0b5d12f2b3226c85258519d7725e63d9daf5e90 Author: Mike Frysinger Date: Sun Aug 5 17:03:59 2007 +0800 Blackfin arch: allow people to select the feature that is unavailable to the kernel - allow people to select the feature that is unavailable to the kernel: NMI, JTAG, or CYCLES. - change default NMI handler to simply dump hardware trace buffer. - remove default NMI handler completely as calling into kernel code is not safe move example handler to wiki so people dont haphazardly copy and paste this stuff thinking its safe Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0174dd59bb5f343e8981b5ea7a3dc782fad5b644 Author: Mike Frysinger Date: Sun Aug 5 16:53:10 2007 +0800 Blackfin arch: make sure to stub out ANOMALY_05000230 were appropriate Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2615639758c0a9e0f0e14267c9cd2b83801eb8cf Author: Jie Zhang Date: Sun Aug 5 16:25:23 2007 +0800 Blackfin arch: Allow ptrace access the fixed code. Signed-off-by: Jie Zhang Signed-off-by: Bryan Wu commit 8a26ac7043b0cb3b446ad9f9a3ec0992d0fea1f7 Author: Sonic Zhang Date: Sun Aug 5 16:14:58 2007 +0800 Blackfin arch: Add DMA API to set curr descriptor address This API is necessary for DMA descriptor array mode. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 2cbfe107434b9651168afb21015f3285e02beed3 Author: Bryan Wu Date: Sun Aug 5 15:31:16 2007 +0800 Blackfin arch: kill ezkit548 compiling warning kill ezkit548 compiling warning: - include/asm/cplb.h:42:5: warning: "ANOMALY_05000158" is not defined Signed-off-by: Bryan Wu commit 2d8f161fe3d6f8d4a2a6f7d068757261b49191f7 Author: Mike Frysinger Date: Sun Aug 5 14:06:16 2007 +0800 Blackfin arch: update BOOT_LOAD update BOOT_LOAD help to reflect current state of the first 4k of our address space as well as add a memory range option to prevent invalid values Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit be7b0d3711ec198a20edd769b9f1ad4f935a9bc2 Author: Robin Getz Date: Sun Aug 5 14:14:42 2007 +0800 Blackfin arch: fix up header for BF533 Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit b4055d733d58135371c0c3a7f8c8899ca7b4f658 Author: Mike Frysinger Date: Sun Aug 5 14:00:11 2007 +0800 Blackfin arch: remove spurious KERN_EMERG log level in output Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 07bdda02623d6d9078e45f6b6451bc3508878db1 Author: Michael Hennerich Date: Mon Aug 27 15:29:35 2007 +0800 Blackfin arch: bug fixing restore mach dependent ASYNC memory size Bug: When SMC921X driver is enabled, kernel boot crash on EZKIT548 http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3460 Fixed by restoring mach dependent ASYNC memory size CPLB coverage. Once we have a more dynamic memory layout we should come up with a better solution for these hard-coded values. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 3bebca2d20796dd3dc62c5d3e74148087c7ce5bd Author: Robin Getz Date: Wed Oct 10 23:55:26 2007 +0800 Blackfin arch: to do some consolidation of common code and common name spaces now all BLKFIN should be BFIN, should be no functional changes. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 471f717a48d25afcb9428c9523cd0557738b7115 Author: David Woodhouse Date: Fri Aug 3 23:02:02 2007 +0100 Revert "[MTD] Driver for AT26Fxxx dataflash devices" This reverts commit 340ea370c2ce89d1c15fbf785460f2f74314ce58. It's not needed given the other m25p80 patch (which now handles at26 "dataflash" as well as most other standard SPI flash chips), and requires a controller driver that won't be merged upstream (supplanted by drivers/spi/atmel_spi.c) ... the submitter of that at91_dataflash26.c driver concurred. Requested by David Brownell Signed-off-by: David Woodhouse commit a298049180d2c56fc8ac1796b24973bf4f019cc7 Author: Mike Frysinger Date: Fri Aug 3 18:29:15 2007 +0800 Blackfin arch: remove unused code -- EVT0 is not controllable by software Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a924db7c00655447c5228bd74da070c69b7cadbc Author: Michael Hennerich Date: Fri Aug 3 17:43:29 2007 +0800 Blackfin arch: Add option to priorize DMA over Core Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 7735cefc4583175486685fced2f457fbe0fd5855 Author: Michael Hennerich Date: Sun Aug 5 18:55:30 2007 +0800 Blackfin arch: Add support for the M25P16 SPI FLash Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 1d945e2b3e421f2ce01b2eb260392f888406933f Author: Roy Huang Date: Wed Oct 10 23:31:19 2007 +0800 Blackfin arch: add set_dma_curr_addr DMA API to support sound driver recording function Signed-off-by: Roy Huang Signed-off-by: Bryan Wu commit 3ca135e16a393e5c5cf6490ce751e43c59011dde Author: David Woodhouse Date: Thu Aug 2 16:32:02 2007 +0100 [JFFS2] LZO compression should default off for compatibility. Signed-off-by: David Woodhouse commit 8b2b403ce0f1a816b7a6a4f47c8798003b26c07a Author: maximilian attems Date: Sat Jul 28 13:07:16 2007 +0200 [MTD] [NAND] nand_base.c fix broken link replace with working link from nand Kconfig help text fixes bugzilla 7815 Signed-off-by: maximilian attems Signed-off-by: David Woodhouse commit 73ff007537e591e53d070aafbfd90369c3580332 Author: Adrian Bunk Date: Sun Jul 29 16:58:12 2007 +0200 [MTD] [ONENAND] onenand_sim.c: make struct info static This patch makes the needlessly global struct info static. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit d9b0744d6c75f7b268b728cdd1843f31bdeba311 Author: Mariusz Kozlowski Date: Wed Aug 1 00:02:10 2007 +0200 [UBI] drivers/mtd/ubi/scan.c: kmalloc + memset conversion to kzalloc To be able to convert kmalloc + memset(..., 1, ...) to kzalloc this patch reverses the logic around 'buf'. Signed-off-by: Mariusz Kozlowski Signed-off-by: David Woodhouse commit 4fb4caa639a27a3cb0b3bfbf2041524af43efff9 Author: Mariusz Kozlowski Date: Tue Jul 31 23:49:06 2007 +0200 [MTD] pmcmsp-flash.c: kmalloc + memset conversion to k[cz]alloc Signed-off-by: Mariusz Kozlowski Signed-off-by: David Woodhouse commit 40562f812bb4b0211da07ad1927af030b089d3d3 Author: Mariusz Kozlowski Date: Tue Jul 31 23:22:18 2007 +0200 Documentation/DocBook/mtdnand.tmpl: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: David Woodhouse commit d67d1d7fc344e44b51296327a0b09a9419ca307f Author: Mariusz Kozlowski Date: Tue Jul 31 20:03:14 2007 +0200 [MTD] drivers/mtd/inftlmount.c: kmalloc + memset conversion to kcalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: David Woodhouse commit 8f0f23f97adbd833000e25e41c1310e49ace9ba8 Author: Mariusz Kozlowski Date: Fri Jul 27 17:29:32 2007 +0200 [MTD] remove redundant/dead code from physmap_of.c This patch removes redundant memset() and dead return line from of_physmap_probe(). No functional change. Signed-off-by: Mariusz Kozlowski Signed-off-by: David Woodhouse commit 518039bc24cbb9ce34665814fe120eac50bedd9a Author: Robin Getz Date: Wed Jul 25 11:03:28 2007 +0800 Blackfin arch: Add ability to expend the hardware trace buffer Add ability to expend the hardware trace buffer via a configurable software buffer - so you can have lots of history when a crash occurs. The interesting way we do printk in the traps.c confusese the checking script Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit f16295e7e7f2a2a15876f570f10d6dc8f1f36ab8 Author: Robin Getz Date: Fri Aug 3 18:07:17 2007 +0800 Blackfin arch: Fix CCLK and SCLK checks Fix CCLK and SCLK checks, combine all arch checks into one file for maintance. Checkins that remove more lines than they add are always good. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit b99ab54d4f11141b2ef3e50c3543b7243d3f49fb Author: Michael Hennerich Date: Thu Oct 11 10:57:54 2007 +0800 Blackfin serial driver: use new GPIO API Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 8c61362377970cd35cc37960b5cbed03cecd57e7 Author: Michael Hennerich Date: Fri Aug 3 17:48:09 2007 +0800 Blackfin arch: Some cosmetics based on LKML feedback from Joe Perches Signed-off-by: Michael Hennerich Cc: Joe Perches Signed-off-by: Bryan Wu commit 1708268f7ee5177c35826f047b91d7324f099ab0 Author: Mike Frysinger Date: Wed Jul 25 11:50:42 2007 +0800 Blackfin arch: scrub remaining ASSEMBLY usage since the switch to __ASSEMBLY__ Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 314c98d589b9da40af42cfe7213eff04c74caea3 Author: Michael Hennerich Date: Tue Jul 24 18:03:45 2007 +0800 Blackfin arch: add missing gpio error handling to make sure we roll back requests in case one fails Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 06039e90b90af4029184d577b3c66e59f6039a9e Author: Michael Hennerich Date: Mon Aug 27 16:57:55 2007 +0800 Blackfin arch: Fix define - SPORT0_DTPRI is first function Sigend-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 7c100f3b9073a8e64d843536f72a9414024f1969 Author: Bryan Wu Date: Sun Aug 5 15:43:03 2007 +0800 Blackfin arch: fix bugs report by Andy Liu , AD1836 can't be probed in BF561-EZ Cc: Andy Liu Signed-off-by: Bryan Wu commit 214cccbbb22136566e72956fcd23c48c2a4abb33 Author: Bryan Wu Date: Wed Jul 25 14:42:03 2007 +0800 Blackfin arch: bug fixing, add missing BF533_FAMILY GPIO_PFx definition Signed-off-by: Bryan Wu commit 31430ba58a3c33cf32aa89117876f6e24f1b9a6e Author: Michael Hennerich Date: Tue Jul 24 16:27:25 2007 +0800 Blackfin arch: Add PORT_J.High (needed for BF548-EZkit Touchscreen interrupts) - remove PORT_C.H Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 6782ea9ae8c2aa82dfeab84cb168126fbcbf4526 Author: Michael Hennerich Date: Tue Jul 24 15:16:59 2007 +0800 Blackfin arch: Add label to call new GPIO API Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 40d63406a0dfc070fff9336c182619a0b167f165 Author: Michael Hennerich Date: Wed Oct 10 22:55:30 2007 +0800 Blackfin arch: store labels so we later know who allocated GPIO/Peripheral resources Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit b2d1583f8e33c5472485fb99b29e065db373b675 Author: Michael Hennerich Date: Tue Jul 24 15:46:36 2007 +0800 Blackfin arch: Advertise GENERIC_GPIO and remove duplicated GENERIC_CALIBRATE_DELAY Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 301af2952b35fa527c89b4c0c0c1003d50afc378 Author: Michael Hennerich Date: Tue Jul 24 15:35:53 2007 +0800 Blackfin arch: Finalize the generic gpio support - add gpio_to_irq and irq_to_gpio Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit bc8c84c947ad65cd2850c43f96bea825e426f9eb Author: Mike Frysinger Date: Sun Aug 5 17:32:25 2007 +0800 Blackfin arch: update to latest anomaly sheets Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit fb51d566803413d2682ca718aef1c6f946fdab05 Author: Robin Getz Date: Fri Aug 3 17:56:29 2007 +0800 Blackfin arch: Fix Anomaly hanlding, as pointed out by Mike Signed-off-by: Robin Getz Cc: Mike Frysinger Signed-off-by: Bryan Wu commit 35c724f310c4b73dbfa6503a46bf86a4c55f8193 Author: Mike Frysinger Date: Fri Aug 3 16:48:13 2007 +0800 Blackfin arch: fix typo... we want csync in CSYNC(), not ssync Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit e208f83a7aa4ebf6c0a68e814903e8aa33f9439a Author: Mike Frysinger Date: Wed Jul 25 10:11:42 2007 +0800 Blackfin arch: use HI/LO macros rather than masking the bit ranges ourselves Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 36a1548f99e54520f049a703e1b91bae95e72481 Author: Mike Frysinger Date: Wed Jul 25 12:01:19 2007 +0800 Blackfin arch: reorganize headers slightly so we can be sure things are defined early enough Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d5148ffa600e6a655b458bedc593020e0574f967 Author: Mike Frysinger Date: Wed Jul 25 11:57:42 2007 +0800 Blackfin arch: use the [CS]SYNC() macros which include anomaly workarounds rather than __builtin_bfin_[cs]sync() Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 60e9356d770ca3622fe5e84680b78fc376e53fbf Author: Mike Frysinger Date: Wed Jul 25 11:56:01 2007 +0800 Blackfin arch: update BF54x anomaly list Signed-off-by: Mike Frysinger Signed-off-by: Roy Huang Signed-off-by: Bryan Wu commit 1aafd9091226a02b481298315f959f777294684e Author: Mike Frysinger Date: Wed Jul 25 11:19:14 2007 +0800 Blackfin arch: revise anomaly handling by basing things on the compiler not the kconfig defines revise anomaly handling by basing things on the compiler not the kconfig defines, so the header is stable and usable outside of the kernel. This also allows us to move some code from preprocessing to compiling (gcc culls dead code) which should help with code quality (readability, catch minor bugs, etc...). Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 287050fe13bf34824f03b4351002b0e2db4ee5cb Author: Mike Frysinger Date: Tue Jul 24 15:23:20 2007 +0800 Blackfin arch: cleanup and standardize anomaly.h file format -- no functional changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c6c4d7bbbb498c38afa05688dfc2784948a0c4e2 Author: Bryan Wu Date: Thu Oct 11 01:20:06 2007 +0800 Blackfin arch: update platform driver resource information to all board files Signed-off-by: Bryan Wu commit c0b8ba7bfe7b4c1f11b3356b65520405b005bd33 Author: Artem Bityutskiy Date: Mon Jul 23 16:06:50 2007 +0300 [MTD] [NAND] fix race in nand_base.c When we mark block bad we have to get chip because this involves writing to the page's OOB. We hit this bug in UBI - we observed random obscure crashes when it marks block bad from the background thread and there is some parallel task which utilizes flash. This patch also adds a TODO note about BBT table protection which it seems does not exist. Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 0bf9733d0d65ebb413d62204ad8e328e0a0b9407 Author: David Woodhouse Date: Mon Jul 23 13:07:06 2007 +0100 [MTD] Fix do_div() type warning in mtdconcat It expects a uint64_t; give it one. Signed-off-by: David Woodhouse commit e733450b675dfc07940c21b4832207c79059246f Author: Robert P. J. Day Date: Wed Jul 11 17:04:02 2007 -0400 [MTD] Remove useless references to MIPS_HYDROGEN3 and MIPS_MIRAGE_WHY. Signed-off-by: Robert P. J. Day Acked-by: Ralf Baechle Signed-off-by: David Woodhouse commit 4a32cfa0f5c3f9e8a0da610002e4555173226650 Author: Roland Stigge Date: Wed Jul 18 14:56:11 2007 +0200 [MTD] [NAND] Fix refactoring of EDB7312 hwcontrol function. The patch ensures that the current code (kernel 2.6.22) uses the bits like the code prior to the refactoring. The variable "bits" is employed in a useful way now. Signed-off-by: Roland Stigge Signed-off-by: David Woodhouse commit 030f9e13bec9aaae1def86c23963a1a825ccdab5 Author: akpm@linux-foundation.org Date: Fri Jul 20 11:56:19 2007 -0700 [MTD] Remove embedded return in RFD FTL. embedded returns are evil. Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 1050643431c74d29ac972141cb24df1d9aca65cd Author: Florin Malita Date: Thu Jul 19 16:45:18 2007 -0400 [MTD] Fix potential leak in rfd_ftl_add_mtd This fixes a leak in the !mtd->erasesize error path (Coverity 1765). Signed-off-by: Florin Malita Signed-off-by: David Woodhouse commit 4cfff0db3a60a775c29abd9cbc300fc0f616904b Author: Jesper Juhl Date: Sat Jul 21 17:02:36 2007 +0200 [MTD] Clean up duplicate includes in drivers/mtd/ This patch cleans up duplicate includes in drivers/mtd/ Signed-off-by: Jesper Juhl Signed-off-by: David Woodhouse commit 30eb0db07d67b9211da7f506220184df827e425d Author: Steven J. Hill Date: Wed Jul 18 23:29:46 2007 -0500 [MTD] [NAND] Add NAND manufacturer AMD. This patch adds the manufacturer ID for AMD flash. Signed-off-by: Steven J. Hill Signed-off-by: David Woodhouse commit 501cc54c4d2b0c2bbae1a6490b0e547be46fc09f Author: Dmitry Torokhov Date: Wed Jul 18 01:20:58 2007 -0400 Input: mark some functions __must_check Mark input_register_device() and input_register_handler() functions as __must_check so authors of new drivers add error handling right away. Signed-off-by: Dmitry Torokhov commit 018db6bb0d726c3683a5e1eb4621e728965db94c Author: Markus Armbruster Date: Wed Jul 18 01:20:41 2007 -0400 Input: i8042 - restore control register when enabling port fails When enabling interrupts for a port fails, the interrupt enable and port enable bits remain set in i8042_ctr. Later writes of i8042_ctr to the hardware could accidentally retry enabling interrupts. Clear the bits on failure. Signed-off-by: Markus Armbruster Signed-off-by: Dmitry Torokhov commit 20b3cdd6773be09f7bf52113de0d0c37da287f29 Author: Dmitry Torokhov Date: Wed Jul 18 01:20:34 2007 -0400 Input: xpad - use le16_to_cpup when parsing data stream Use avaliable functions instead of doing it all manually. Signed-off-by: Dmitry Torokhov commit 0fc72b81d3111d114ab378935b1cf07680ca1289 Author: David Woodhouse Date: Wed Jul 11 15:33:14 2007 +0100 [JFFS2] Add declaration of jffs2_lzo_{init,exit} to compr.h fs/jffs2/compr.c: In function ‘jffs2_compressors_init’: fs/jffs2/compr.c:320: warning: implicit declaration of function ‘jffs2_lzo_init’ fs/jffs2/compr.c: In function ‘jffs2_compressors_exit’: fs/jffs2/compr.c:346: warning: implicit declaration of function ‘jffs2_lzo_exit’ Signed-off-by: David Woodhouse commit 3b23c1f5fa7e4c99e9451958a1004ef7434a71f0 Author: Richard Purdie Date: Tue Jul 10 10:28:42 2007 +0100 [JFFS2] Add a "favourlzo" compression mode Add a "favourlzo" compression mode to jffs2 which tries to optimise by size but gives lzo an advantage when comparing sizes. This means the faster lzo algorithm can be preferred when there isn't much difference in compressed size (the exact threshold can be changed). Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit c799aca31bfe61ba3a91133acf5a13a0773087d4 Author: Richard Purdie Date: Tue Jul 10 10:28:36 2007 +0100 [JFFS2] Add LZO compression support. Add LZO1X compression/decompression support to jffs2. LZO's interface doesn't entirely match that required by jffs2 so a buffer and memcpy is unavoidable. Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit 8691a729a2a3d739ee40a577053157393450aabd Author: Richard Purdie Date: Tue Jul 10 20:33:54 2007 +0100 [MTD] Add sync/unblank function to mtdoops mtdoops wasn't ensuring data was flushed to flash in crash situations after recent changes in mainline kernels as tracking the oops_in_progress variable was no longer enough. We can use the "unblank" console call as a sync call to tell us to write out the buffer though. Therefore add a sync function to mtdoops and call this when console unblank events occur. Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit a2e96b627b58efe2d618a415f34b9b9d9f829bd6 Author: Yoichi Yuasa Date: Wed Jul 11 11:36:56 2007 +0900 [MTD] Remove Ocelot G support from DiskOnChip drivers. This patch has removed Ocelot G support from MTD. Ocelot G support has already removed since May 2007. Signed-off-by: Yoichi Yuasa Signed-off-by: David Woodhouse commit a6bc432e296dfa1f05d4b586ca5ca3085a2d42d7 Author: David Woodhouse Date: Wed Jul 11 14:23:54 2007 +0100 [JFFS2] Add support for write-buffer verification. We've seen some evil corruption issues, where the corruption seems to be introduced after the JFFS2 crc32 is calculated but before the NAND controller calculates the ECC. So it's in RAM or in the PCI DMA transfer; not on the flash. Attempt to catch it earlier by (optionally) reading back from the flash immediately after writing it. Signed-off-by: David Woodhouse commit ef53cb02ffee8ceb44ea75f778f77eace6b9c89a Author: David Woodhouse Date: Tue Jul 10 10:01:22 2007 +0100 [JFFS2] Whitespace cleanups. Convert many spaces to tabs; one or two other minor cosmetic fixes. Signed-off-by: David Woodhouse commit 16adce7b6f4dab015d0b93274b41f8aae6fe07a5 Author: David Woodhouse Date: Tue Jul 10 09:08:26 2007 +0100 [MTD] [ONENAND] Make onenand_sim compile on non-ARM platforms. The whole point of a sim is that it should run almost anywhere. Gratuitously depending on '#define SZ_128K 131072' from an ARM-specific header isn't really a good idea. Signed-off-by: David Woodhouse commit c9856e39e0c3b4d260e4614b66b0a7e0e79ec0ac Author: Philippe De Muyter Date: Thu Jul 5 17:05:47 2007 +0200 [MTD] [NOR] add FUJITSU MBM29F800BA and ST M29F800AB descriptions Add descriptions for Fujitsu MBM29F800BA and ST M29F800AB flash chips. Those chips are compatible (except for the ids) with the AMD AM29F800BB. Signed-off-by: Philippe De Muyter Signed-off-by: David Woodhouse commit b2e25235fe8b4b6cd8cd6a792cbe883d7417eaac Author: David Woodhouse Date: Thu Jul 5 01:57:26 2007 -0400 [JFFS2] Print correct node offset when complaining about broken data CRC Debugging the hardware problems in OLPC trac #1905 would be a whole lot easier if the correct node offsets were printed for the offending nodes. Signed-off-by: David Woodhouse commit 8f1a866fc6831f13593fae6194e3150d45976628 Author: Jesper Juhl Date: Thu Jul 5 02:18:34 2007 +0200 [MTD] [CHIPS] fix tiny spelling error in comment in cfi_cmdset_0001.c Trivial fix of a spelling error in a comment in cfi_cmdset_0001.c s/ships/chips/ Signed-off-by: Jesper Juhl Signed-off-by: David Woodhouse commit 14c6381ee46b32b9b38073cd023b618ab4f60629 Author: David Woodhouse Date: Tue Jul 3 16:51:19 2007 -0400 [JFFS2] Fix readinode failure when read_dnode() detects CRC failure. We should have stopped returning 1 from read_dnode() to indicate failure. We can just mark the damn thing obsolete immediately. But I missed a case where we don't. Signed-off-by: David Woodhouse commit 8dab169b8bdea3bcbc08b15fdbd9a21526fdbb77 Author: Kyungmin Park Date: Sat Jun 30 14:14:43 2007 +0900 [MTD] OneNAND Simulator support This simulate various OneNAND flash chips for the MTD onenand layer. It's simple implementation, only basic operations. It don't support the recent changes in NANDSIM such as lazy block allocation, bitflip, and so on. Note: This passed nand-tests. Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit ee9745fcf214272b7cdd9d320d044cf433ee958e Author: Kyungmin Park Date: Sat Jun 30 13:57:49 2007 +0900 [MTD] [OneNAND] 2X program support The 2X Program is an extension of Program Operation. Since the device is equipped with two DataRAMs, and two-plane NAND Flash memory array, these two component enables simultaneous program of 4KiB. Plane1 has only even blocks such as block0, block2, block4 while Plane2 has only odd blocks such as block1, block3, block5. So MTD regards it as 4KiB page size and 256KiB block size Now the following chips support it. (KFXXX16Q2M) Demux: KFG2G16Q2M, KFH4G16Q2M, KFW8G16Q2M, Mux: KFM2G16Q2M, KFN4G16Q2M, And more recent chips Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit 1bddb9a8ba30dffa963c76283bc482b67fb90d8a Author: David Woodhouse Date: Fri Jun 29 14:46:49 2007 +0100 Revert accidental commit to scripts/Makefile.headersinst Commit 43dfa07fbb6b8bd5b6173a5bab48470f578c8e5b accidentally included a fix to scripts/Makefile.headersinst which it should not have done. Revert. Signed-off-by: David Woodhouse commit a97145c22408865579be397460ca998301ab63a3 Author: Adrian Bunk Date: Sun Jun 3 22:54:00 2007 +0200 [MTD] remove dead MTD_PMC551_APERTURE_SIZE option The CONFIG_MTD_PMC551_APERTURE_SIZE option seems to never have existed, so there's no reason for carrying an #ifdef for it. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 8e0aedc5bcb9da4f613af097295a02a57aa0d41c Author: David Woodhouse Date: Fri Jun 29 14:18:22 2007 +0100 [MTD] Use proper binary multiple prefixes in pmc551 driver Signed-off-by: David Woodhouse commit 8f46c527acdb84f98d48809ba29173f515de1080 Author: Adrian Bunk Date: Fri Jun 22 01:52:08 2007 +0200 [MTD] [NAND] cafe_nand.c: the OLPC laptop is not available for $100 The price might drop to $100 in a few years. But currently, a more reasonable name might be "$175 laptop". Let's simply call it "OLPC laptop" without any price tag. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 43dfa07fbb6b8bd5b6173a5bab48470f578c8e5b Author: David Woodhouse Date: Fri Jun 29 13:39:57 2007 +0100 [JFFS2] Deletion dirents should be REF_NORMAL, not REF_PRISTINE. Otherwise they'll never actually get garbage-collected. Noted by Jonathan Larmour. Signed-off-by: David Woodhouse commit 663d77a7ccfd407cf7491dbd53c7c17eef58c96a Author: Adrian Bunk Date: Thu Jun 28 23:02:59 2007 +0100 [MTD] [MAPS] Cleanup nettel map driver - make 2 needlessly global functions static - remove the unused nettel_eraseconfig() Signed-off-by: Adrian Bunk Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 1da1caf8d80e953d0ff0c2131b04ccc609c3baa8 Author: Randy Dunlap Date: Thu Jun 28 23:00:09 2007 +0100 [MTD] [NOR] Use NULL instead of 0 for pointer to shut sparse up. Use NULL instead of 0 for pointer: drivers/mtd/chips/cfi_cmdset_0001.c:2258:43: warning: Using plain integer as NULL pointer Other changes by inspection. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit ec9ce52ef8f8496c83bc36a9b19f22e83575f890 Author: Matthias Kaehlcke Date: Thu Jun 28 22:58:42 2007 +0100 [MTD] Use mutex instead of semaphore in dataflash driver The MTD DataFlash driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 02d087dbc8cfade63205ee78612c5fd3762afc03 Author: David Woodhouse Date: Thu Jun 28 22:38:38 2007 +0100 [MTD] m25p80: Use correct units for binary multiples Signed-off-by: David Woodhouse commit fa0a8c71f352d89c54f2d3a92f7a8a97cdb7d9a4 Author: David Brownell Date: Sun Jun 24 15:12:35 2007 -0700 [MTD] m25p80 handles more chips, uses JEDEC ids and small eraseblocks Update chip ID tables in m25p80 to handle more SPI flash chips, matching datasheets. All of these can use the same core operations and are newer chips that support the JEDEC "read id" instruction: - Atmel AT25 and AT26 (seven chips) - Spansion S25SL (five chips) - SST 25VF (four chips) - ST M25, M45 (five more chips) - Winbond W25X series (seven chips) That JEDEC instruction is now used, either to support a sanity check on the platform data holding board configuration data, or to determine chip type when it's not included in platform data. In fact, boards that don't need a standard partition table may not need that platform data any more. For chips that support 4KiB erase units, use that smaller block size instead of the larger size (usually 64KiB); it's less wasteful. (Tested on W25X80.) Signed-off-by: David Brownell Signed-off-by: David Woodhouse commit 7d5230ea3987ea3eaa03601fe429cb69f87de3e3 Author: David Brownell Date: Sun Jun 24 15:09:13 2007 -0700 [MTD] m25p80 converted to mutex Convert semaphore usage in m25p80 driver to mutex; mention another kind of SPI flash chip that should be able to use this driver (given minor tweaks). Signed-off-by: David Brownell Signed-off-by: David Woodhouse commit 02d929187414f2095b30ebf4acee1ce6617add45 Author: Stefan Roese Date: Tue May 22 11:23:45 2007 +0200 [MTD] [NAND] Change NDFC driver to support 405 platforms too This patch adds 405 platform support to the 440 NDFC driver. The new AMCC 405EZ PPC is equipped with the same NDFC core as the 440EP(x) and other will follow soon. Signed-off-by: Stefan Roese Signed-off-by: David Woodhouse commit 356d70f19d949a11320ab626037b2d197a8e8b51 Author: Ben Dooks Date: Mon May 28 20:28:34 2007 +0100 [MTD] mtdcore.c: share syms with mtd_blkdev.c Fix the sparse warnings generated by the implicit dependency of mtd_blkdevs.c and mtd_core.c for the two symbols mtd_table and mtd_table_mutex. This is done by adding an local header file mtdcore.h to define these (including the warning about the non-proliferation of these symbols). Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 029a9eb1f667ca71fe7eb3bf8962f01ac4d252a5 Author: Ben Dooks Date: Mon May 28 20:11:37 2007 +0100 [MTD] [NOR] cfi_cmdset_0001.c: sparse fixes Fix sparse warnings generated from cfi_cmdset_0001.c. drivers/mtd/chips/cfi_cmdset_0001.c:1783:5: warning: symbol 'cfi_intelext_erase_varsize' was not declared. Should it be static? drivers/mtd/chips/cfi_cmdset_0001.c:2258:43: warning: Using plain integer as NULL pointer Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit ce0f33adec9737bdfe59a10d03fed0c674136ffe Author: Ben Dooks Date: Mon May 28 19:59:00 2007 +0100 [MTD] [NOR] cfi_cmdset_0002.c: fix 'cfi_amdstd_erase_varsize' to be static Make cfi_amdstd_erase_varsize static, as declared at the top of the file to ensure sparse does not print a warning for an undeclared function, as so: drivers/mtd/chips/cfi_cmdset_0002.c:1612:5: warning: symbol 'cfi_amdstd_erase_varsize' was not declared. Should it be static? Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 8f026f75accb8c9f1179a4b57a5019af36471046 Author: Ben Dooks Date: Mon May 28 19:51:59 2007 +0100 [MTD] mtd_blkdevs.c: do not export 'mtd_blktrans_ops' The mtd_blktrans_ops is not defined in any of the headers and is indeed not used elsewhere in the kernel, so mark it as static to reduce the warnings from sparse drivers/mtd/mtd_blkdevs.c:204:32: warning: symbol 'mtd_blktrans_ops' was not declared. Should it be static? Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 8b099a390defd294a3832fe73626c25072967316 Author: Ben Dooks Date: Mon May 28 19:17:54 2007 +0100 [MTD] [NAND] nand_base.c: fix type of eccpos pointer The nand_base.c driver implicitly casts the uint32_t eccpos array to 'int *', which is not only not guaranteed to be the same sign as the source, but is not guaranteed to be the same size. Fix by changing nand_base.c to use uint32_t referencing the eccpos fields. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 4b23aff083649eafa141ed69ad0ff59ba639edf8 Author: Richard Purdie Date: Tue May 29 13:31:42 2007 +0100 [MTD] oops and panic message logging to MTD device Kernel oops and panic messages are invaluable when debugging crashes. These messages often don't make it to flash based logging methods (say a syslog on jffs2) due to the overheads involved in writing to flash. This patch allows you to turn an MTD partition into a circular log buffer where kernel oops and panic messages are written to. The messages are obtained by registering a console driver and checking oops_in_progress. Erases are performed in advance to maximise the chances of a saving messages. To activate it, add console=ttyMTDx to the kernel commandline (where x is the mtd device number to use). Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit 1100b47ea557e1cd6d9b71fe7ba1a189ed8bf276 Author: Ivan Kuten Date: Thu May 24 14:35:58 2007 +0300 [MTD] [NAND] at91_nand rdy_pin fix The patch below fixes nand driver for AT91 boards which do not have NAND R/B signal connected to gpio (rdy_pin is not connected). Signed-off-by: Ivan Kuten Acked-by: Andrew Victor Signed-off-by: David Woodhouse commit 4854b75c7795604ea6a0b6b7f549f145813343d0 Author: David Woodhouse Date: Thu Jun 28 20:13:27 2007 +0100 [MTD] Remove references to ROOT_DEV from map drivers. Signed-off-by: David Woodhouse commit e716dd3644c2a79d6ffa4359bac06f57479dcb34 Author: David Woodhouse Date: Thu Jun 28 19:49:36 2007 +0100 [JFFS2] Fix suspend failure with JFFS2 GC thread. The try_to_freeze() call was in the wrong place; we need it in the signal-pending loop now that a pending freeze also makes signal_pending() return true. Signed-off-by: David Woodhouse commit 66bfaeaa90432a585d7e9e70605ee4df3ede9890 Author: David Woodhouse Date: Thu Jun 28 19:03:11 2007 +0100 [JFFS2] Improve diagnostic output for 'node added in wrong place' check Jocke has seen this fail. We want to know why. Signed-off-by: David Woodhouse commit d364fb18cd991734eb54aa8840e70030b0c9f699 Author: Joakim Tjernlund Date: Wed Jun 27 01:24:09 2007 +0200 [JFFS2] Reduce time for which erase_free_sem is held during erase. With current desing erase_free_sem is locked every time the flash block is being erased. For NOR flashes - ~1 second is needed to erase single flash block. In the worst case scenario erase_free_sem may be locked for a couple of seconds when the number of blocks is being erased (e.g. after large file was removed). When erase_free_sem is locked all read/write operations for given JFFS2 partition are locked too - in effect from time to time access to the JFFS2 partition is locked for a number of seconds. This fix makes critical section in flash erasing procedure shorter - now erase_free_sem is locked around erase_completion_lock spinlock only. Originally from Radoslaw Bisewski Signed-off-by: Joakim Tjernlund Signed-off-by: David Woodhouse commit f79c44980aae3f50fe73e50789641df265953cc6 Author: Joakim Tjernlund Date: Sun Jun 24 19:22:29 2007 +0200 [JFFS2] Prevent oops after 'node added in wrong place' debug check jffs2_add_physical_node_ref() should never really return error -- it's an internal debugging check which triggered. We really need to work out why and stop it happening. But in the meantime, let's make the failure mode a little less nasty. Signed-off-by: Joakim Tjernlund Signed-off-by: David Woodhouse commit fab2c399129273713b7dcc6a54cef17ca124a47f Author: Joakim Tjernlund Date: Fri Jun 1 15:14:09 2007 +0200 [JFFS2] Use point(), if available, to check newly erased blocks. Faster and won't trash the D-cache. Signed-off-by: Joakim Tjernlund Signed-off-by: David Woodhouse commit 7eafaed55f4b8599cfe55449a6ed88d3693954de Author: Joakim Tjernlund Date: Wed Jun 27 00:56:40 2007 +0200 [MTD] Only call mtd->sync() method in mtdchar close if opened for write. Signed-off-by: Joakim Tjernlund Signed-off-by: David Woodhouse commit fd5324909e410a3202c1b01bd507c2dfba58fca5 Author: Joakim Tjernlund Date: Tue Jun 26 23:32:10 2007 +0200 [JFFS2] Fix hanging close for /dev/mtd character device. When pdflush is erasing lots of sectors, drivers calling mtd->sync will hang until all blocks are erased. Be nicer. Signed-off-by: Joakim Tjernlund Signed-off-by: David Woodhouse