commit 2ddcca36c8bcfa251724fe342c8327451988be0d Author: Linus Torvalds Date: Sat May 3 11:59:44 2008 -0700 Linux 2.6.26-rc1 commit 38e80121bd7d0c493072442ac7eddcba165a07a8 Merge: e098675... 35bf559... Author: Linus Torvalds Date: Sat May 3 10:57:57 2008 -0700 Merge git://git.infradead.org/battery-2.6 * git://git.infradead.org/battery-2.6: PMU battery: filenames in sysfs with spaces pda_power: add init and exit function callbacks commit e098675635479e9267cf2b12fb969c463cf506ab Merge: 2905474... b9095fd... Author: Linus Torvalds Date: Sat May 3 10:54:23 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-inttypes * git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-inttypes: (24 commits) Make constants in kernel/timeconst.h fixed 64 bits types: add C99-style constructors to xtensa: types: use for the xtensa architecture x86: types: use for the x86 architecture v850: types: use for the v850 architecture sparc64: types: use for the sparc64 architecture sparc: types: use for the sparc architecture sh: types: use for the sh architecture s390: types: use for the s390 architecture powerpc: types: use for the powerpc architecture parisc: types: use for the parisc architecture mn10300: types: use for the mn10300 architecture mips: types: use for the mips architecture m68k: types: use for the m68k architecture m32r: types: use for the m32r architecture ia64: types: use for the ia64 architecture h8300: types: use for the h8300 architecture frv: types: use for the frv architecture cris: types: use for the cris architecture blackfin: types: use for the blackfin architecture ... commit 2905474d3842bfab0b9d8197fb1f4576462901da Author: Jesse Barnes Date: Sat May 3 08:35:49 2008 -0700 [MAINTAINERS] PCI list moved Many thanks to Martin for his years of hosting. The pci list has moved to vger, along with what seems like the rest of the major Linux mailing lists. Signed-off-by: Jesse Barnes Signed-off-by: Linus Torvalds commit c402f98c6d43f22b4c6d7b3db9d7099611cdcaec Merge: 4f9faaa... f6acb63... Author: Linus Torvalds Date: Sat May 3 10:18:40 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: #ifdef simplification slabinfo: Support printout of the number of fallbacks slub: Whitespace cleanup and use of strict_strtoul commit 4f9faaace217b854ae1e1746ee4ac44688ddadbd Merge: bf640be... f37f2c6... Author: Linus Torvalds Date: Sat May 3 10:18:21 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits) rose: Wrong list_lock argument in rose_node seqops netns: Fix reassembly timer to use the right namespace netns: Fix device renaming for sysfs bnx2: Update version to 1.7.5. bnx2: Update RV2P firmware for 5709. bnx2: Zero out context memory for 5709. bnx2: Fix register test on 5709. bnx2: Fix remote PHY initial link state. bnx2: Refine remote PHY locking. bridge: forwarding table information for >256 devices tg3: Update version to 3.92 tg3: Add link state reporting to UMP firmware tg3: Fix ethtool loopback test for 5761 BX devices tg3: Fix 5761 NVRAM sizes tg3: Use constant 500KHz MI clock on adapters with a CPMU hci_usb.h: fix hard-to-trigger race dccp: ccid2.c, ccid3.c use clamp(), clamp_t() net: remove NR_CPUS arrays in net/core/dev.c net: use get/put_unaligned_* helpers bluetooth: use get/put_unaligned_* helpers ... commit bf640be423d60d954b9673527e106a461a129eb8 Merge: c36c804... 4a1236a... Author: Linus Torvalds Date: Sat May 3 10:05:11 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc32: Delete prom_stdin and prom_stdout. sparc32: More memory probing consolidation. sparc32: Kill totally unused memory information tables. sparc64: Fix syscall restart, for real... serial: Fix sparc driver name strings. sparc64: Stop creating dummy root PCI host controller devices. commit c36c804559d3a891a2e655ba8185b4fa7eaee156 Merge: be2e880... 3b57506... Author: Linus Torvalds Date: Sat May 3 10:01:33 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Bolt in SLB entry for kernel stack on secondary cpus [POWERPC] PS3: Update ps3_defconfig [POWERPC] PS3: Remove unsupported wakeup sources [POWERPC] PS3: Make ps3_virq_setup and ps3_virq_destroy static [POWERPC] PS3: Add time include to lpm [POWERPC] Fix slb.c compile warnings [POWERPC] Xilinx: Fix compile warnings [POWERPC] Squash build warning for print of resource_size_t in fsl_soc.c [RAPIDIO] fix current kernel-doc notation [POWERPC] 86xx: mpc8610_hpcd: add support for PCI Express x8 slot Fix a potential issue in mpc52xx uart driver [POWERPC] mpc5200: Allow for fixed speed MII configurations [POWERPC] 86xx: Fix the wrong serial1 interrupt for 8610 board commit f37f2c62a28e848e06399ea2f9be1e098212625c Author: Bernard Pidoux Date: Fri May 2 17:03:22 2008 -0700 rose: Wrong list_lock argument in rose_node seqops In rose_node_start() as well as in rose_node_stop() __acquires() and spin_lock_bh() were wrongly passing rose_neigh_list_lock instead of rose_node_list_lock arguments. Signed-off-by: Bernard Pidoux Signed-off-by: David S. Miller commit 4ac2ccd01646e08d7176185c94e5b19404a25998 Author: Daniel Lezcano Date: Fri May 2 17:02:03 2008 -0700 netns: Fix reassembly timer to use the right namespace This trivial fix retrieves the network namespace from frag queue and use it to get the network device in the right namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit aaf8cdc34ddba08122f02217d9d684e2f9f5d575 Author: Daniel Lezcano Date: Fri May 2 17:00:58 2008 -0700 netns: Fix device renaming for sysfs When a netdev is moved across namespaces with the 'dev_change_net_namespace' function, the 'device_rename' function is used to fixup kobject and refresh the sysfs tree. The device_rename function will call kobject_rename and this one will check if there is an object with the same name and this is the case because we are renaming the object with the same name. The use of 'device_rename' seems for me wrong because we usually don't rename it but just move it across namespaces. As we just want to do a mini "netdev_[un]register", IMO the functions 'netdev_[un]register_kobject' should be used instead, like an usual network device [un]registering. This patch replace device_rename by netdev_unregister_kobject, followed by netdev_register_kobject. The netdev_register_kobject will call device_initialize and will raise a warning indicating the device was already initialized. In order to fix that, I split the device initialization into a separate function and use it together with 'netdev_register_kobject' into register_netdevice. So we can safely call 'netdev_register_kobject' in 'dev_change_net_namespace'. This fix will allow to properly use the sysfs per namespace which is coming from -mm tree. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 705d209168681b4408d10fca7257de3343be573d Author: Michael Chan Date: Fri May 2 16:58:18 2008 -0700 bnx2: Update version to 1.7.5. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d25be1d3ecf0b1b95ae29919786372b87b2bfea6 Author: Michael Chan Date: Fri May 2 16:57:59 2008 -0700 bnx2: Update RV2P firmware for 5709. The new RV2P firmware fixes 2 issues: 1. The jumbo rx buffer page size is now configurable and set to the proper PAGE_SIZE. Before, it was assumed to be always 4K. 2. Driver sometimes would crash when receiving jumbo packets mixed with firmware management packets. This was caused by the old firmware DMA'ing to the wrong address. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 352f76879ebde543817360ce9c18c973d4300f4f Author: Michael Chan Date: Fri May 2 16:57:26 2008 -0700 bnx2: Zero out context memory for 5709. We should zero out the context memory for 5709 before each reset. When we resume after suspend for example, the memory may not be zero and the chip may not function correctly. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 15b169cccff1503a88f12f104e5657c65c53ade7 Author: Michael Chan Date: Fri May 2 16:57:08 2008 -0700 bnx2: Fix register test on 5709. The register BNX2_CTX_STATUS (0x1004) should be skipped on 5709 as it contains reserved bits. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 543a827d7a5600a71855bd6afacac78536c86822 Author: Michael Chan Date: Fri May 2 16:56:44 2008 -0700 bnx2: Fix remote PHY initial link state. On some remote PHY blade systems, the driver receives no initial link interrupt. As a result, the GMII/MII MAC mode does not get setup properly. To fix this problem, we add an initial poll of the link state after chip reset. With this change, the setting of the initial carrier state in the init code can be eliminated. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 74ecc62d6e595ca64bbef2471787bf53b94e5d3c Author: Michael Chan Date: Fri May 2 16:56:16 2008 -0700 bnx2: Refine remote PHY locking. bnx2_set_remote_link() should be called under bp->phy_lock to protect against concurrent polling and interrupt calls. This change is needed by the next patch which will add one initial poll of the remote PHY link status. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit ae4f8fca4030a4e783fa4ccb0c9d8d8a8cf60a32 Author: Stephen Hemminger Date: Fri May 2 16:53:33 2008 -0700 bridge: forwarding table information for >256 devices The forwarding table binary interface (my bad choice), only exposes the port number of the first 8 bits. The bridge code was limited to 256 ports at the time, but now the kernel supports up 1024 ports, so the upper bits are lost when doing: brctl showmacs The fix is to squeeze the extra bits into small hole left in data structure, to maintain binary compatiablity. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 920e37f76b19b4a3d8a1a3144cd6ee24e0e7f5b4 Author: Matt Carlson Date: Fri May 2 16:49:50 2008 -0700 tg3: Update version to 3.92 This patch updates the version number to 3.92. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7c5026aa9b81dd45df8d3f4e0be73e485976a8b6 Author: Matt Carlson Date: Fri May 2 16:49:29 2008 -0700 tg3: Add link state reporting to UMP firmware All variants of the 5714, 5715, and 5780 offer a feature called the "Universal Management Port". This feature is implemented in firmware and is largely transparent to the driver, except... It turns out that the UMP firmware needs to know the current status of the link. Because the firmware cannot touch the PHY registers while the driver is in control of the device, it needs the driver to report link status changes through an additional handshaking mechanism. Without this handshake, it has been observed in the field that the UMP firmware will not operate correctly. This patch implements the new handshake with the UMP firmware. Since the handshake uses the same mechanism ASF heartbeats use, code was added to detect and wait for completion of a pending previous event. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 109115e1991824b88306b374b763d6857b292aeb Author: Matt Carlson Date: Fri May 2 16:48:59 2008 -0700 tg3: Fix ethtool loopback test for 5761 BX devices A CPMU related loopback test bug existed for AX revisions of the 5761. While that errata has been fixed, the CPMU still slows down the core clock too far to run the loopback test successfully. This patch disables the CPMU LINK_SPEED mode just like we do with the AX revisions of the 5761 and all revisions of the 5784. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit fd1122a2593d0bbe19856e3943c859ebfe563583 Author: Matt Carlson Date: Fri May 2 16:48:36 2008 -0700 tg3: Fix 5761 NVRAM sizes The 5761 NVRAM sizes assigned to the nvram_size member are half as big as they should be. This patch corrects the NVRAM sizes and replaces the hardcoded constants with preprocessor constants for readability. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 8ef214288622bf523a3b3096958292a1c63132ad Author: Matt Carlson Date: Fri May 2 16:47:53 2008 -0700 tg3: Use constant 500KHz MI clock on adapters with a CPMU The MI clock is not configured correctly on adapters with the CPMU present. The tg3 driver has code which statically sets the MI clock to be a fraction of the speed at which the core clock is running. However, the CPMU can change the adapter's core clock frequency based on operating conditions. Consequently, the MI will run slow when the core's clock has been slowed down. There is a new 500KHz constant frequency clock available on adapters with a CPMU. This patch removes the static core clock scaling and configures the MI clock to use this new 500KHz clock instead. Running the MI clock at slower speeds will not directly result in data corruption, but it does challenge the PHY read and write routine timeouts. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 026672d0997c911c9bef9aabe862884fc0add106 Author: Pavel Machek Date: Fri May 2 16:45:10 2008 -0700 hci_usb.h: fix hard-to-trigger race If someone tries to _urb_unlink while _urb_queue_head is running, he'll see _urb->queue == NULL and fail to do any locking. Prevent that from happening by strategically placed barriers. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 84994e16f25dabe234be4fc2d323ec9db95b87cb Author: Harvey Harrison Date: Fri May 2 16:44:07 2008 -0700 dccp: ccid2.c, ccid3.c use clamp(), clamp_t() Makes the intention of the nested min/max clear. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0c0b0aca66b3a58e12a216d992a0b534eff210e0 Author: Mike Travis Date: Fri May 2 16:43:08 2008 -0700 net: remove NR_CPUS arrays in net/core/dev.c Remove the fixed size channels[NR_CPUS] array in net/core/dev.c and dynamically allocate array based on nr_cpu_ids. Signed-off-by: Mike Travis Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 35bf559145b6332f5465c15a4e5cd7a363985382 Author: Christian Kujau Date: Fri May 2 13:41:56 2008 -0700 PMU battery: filenames in sysfs with spaces By changing drivers/power/pmu_battery.c I now have '_' instead of ' ' (spaces) in /sys: /sys/devices/platform/pmu-battery.0/power_supply/PMU_battery_0 /sys/class/power_supply/PMU_battery_0 I'm still not sure if some userspace tool out there uses the old paths and will break now. Signed-off-by: Christian Kujau Signed-off-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Anton Vorontsov commit f6b6b180b4614e57af217045f71caedd94821fc7 Author: Philipp Zabel Date: Sat Apr 12 13:47:45 2008 +0200 pda_power: add init and exit function callbacks This adds init/exit function callbacks to pda_power, to provide a place where the platform code can request/free GPIOs that it wants to use in the is_ac_online, is_usb_online and set_charge functions. Signed-off-by: Philipp Zabel Signed-off-by: Anton Vorontsov commit d3e2ce3bcdbf4319dea308c79b5f72a8ecc8015c Author: Harvey Harrison Date: Fri May 2 16:26:16 2008 -0700 net: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 83985319393973f280ca2a797047780a7955cf19 Author: Harvey Harrison Date: Fri May 2 16:25:46 2008 -0700 bluetooth: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Acked-by: Marcel Holtmann Signed-off-by: David S. Miller commit 260ffeed3fd185d29f08e98fb47c09e71bb59cd8 Author: Harvey Harrison Date: Fri May 2 16:21:52 2008 -0700 irda: use get_unaligned_* helpers Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit b4192bbd85d29eb3bec7f9297d6464250e6a7a90 Author: Arjan van de Ven Date: Fri May 2 16:21:07 2008 -0700 net: Add a WARN_ON_ONCE() to the transmit timeout function WARN_ON_ONCE() gives a stack trace including the full module list. Having this in the kernel dump for the timeout case in the generic netdev watchdog will help us see quicker which driver is involved. It also allows us to collect statistics and patterns in terms of which drivers have this event occuring. Suggested by Andrew Morton Signed-off-by: Arjan van de Ven Signed-off-by: David S. Miller commit 50aab54f3056ba28afc681f71adee41c399dde1e Author: Ilpo Järvinen Date: Fri May 2 16:20:10 2008 -0700 net: Add missing braces to multi-statement if()s One finds all kinds of crazy things with some shell pipelining. Signed-off-by: Ilpo Järvinen Acked-by: David Howells Signed-off-by: David S. Miller commit b9095fd8a7f41dc7ac0b0b7864f74766a3056f96 Author: H. Peter Anvin Date: Fri May 2 16:18:42 2008 -0700 Make constants in kernel/timeconst.h fixed 64 bits Force constants in kernel/timeconst.h (except shift counts) to be 64 bits, using U64_C() constructor macros, and eliminate constants that cannot be represented at all in 64 bits. This avoids warnings with some gcc versions. Drop generating 64-bit constants, since we have no real hope of getting a full set (operation on 64-bit values requires a 128-bit intermediate result, which gcc only supports on 64-bit platforms, and only with libgcc support on some.) Note that the use of these constants does not depend on if we are on a 32- or 64-bit architecture. This resolves Bugzilla 10153. Signed-off-by: H. Peter Anvin commit c25bd29805f4d854c3a0b4176813f3c1bff569d3 Author: H. Peter Anvin Date: Thu Apr 24 13:37:33 2008 -0700 types: add C99-style constructors to Add C99-style constructor macros for fixed types to . Since Linux uses names like "u64" instead of "uint64_t", the constructor macros are called U64_C() instead of UINT64_C() and so forth. These macros allow specific sizes to be specified as U64_C(0x123456789abcdef), without gcc issuing warnings as it will if one writes (u64)0x123456789abcdef. When used from assembly, these macros pass their argument unchanged. Signed-off-by: H. Peter Anvin commit 4cf63c8ac48c63b4c55669d4648506ed2bb8976f Author: H. Peter Anvin Date: Sun Apr 6 10:35:15 2008 -0700 xtensa: types: use for the xtensa architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Chris Zankel commit edfa5cfa3dc5bfa95e6aa82a2b8904e7f6c35ed7 Author: H. Peter Anvin Date: Sun Apr 6 10:35:14 2008 -0700 x86: types: use for the x86 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Thomas Gleixner commit a192da9afa00476ca27edf763922ab0b5d64246e Author: H. Peter Anvin Date: Sun Apr 6 10:35:13 2008 -0700 v850: types: use for the v850 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin commit 0dc794754cba8e3e8eb39bc028cb88c5d6ed506b Author: H. Peter Anvin Date: Sun Apr 6 10:35:13 2008 -0700 sparc64: types: use for the sparc64 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Acked-by: David S. Miller commit a3727dc6c21cd0bed64dbc97212c39d2b391f5af Author: H. Peter Anvin Date: Sun Apr 6 10:35:12 2008 -0700 sparc: types: use for the sparc architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: William L. Irwin Signed-off-by: David S. Miller commit ba6677886e46adcd075f251d8971debf7b5ca3ee Author: H. Peter Anvin Date: Sun Apr 6 10:35:11 2008 -0700 sh: types: use for the sh architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Paul Mundt commit 59df83992b6ec962fdf69e4db4c18951499cc67c Author: H. Peter Anvin Date: Sun Apr 6 10:35:10 2008 -0700 s390: types: use for the s390 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Martin Schwidefsky Cc: Heiko Carstens commit 3f02c4e0e5d20884677a0259de42e553514534f9 Author: H. Peter Anvin Date: Sun Apr 6 10:35:09 2008 -0700 powerpc: types: use for the powerpc architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Paul Mackerras Cc: Anton Blanchard commit 849bf3a09fdcf9dbbe060da0f5bce90231b14625 Author: H. Peter Anvin Date: Sun Apr 6 10:35:09 2008 -0700 parisc: types: use for the parisc architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler commit 8523437b4c664cfc0f11998c4274846b95182000 Author: H. Peter Anvin Date: Sun Apr 6 10:35:07 2008 -0700 mn10300: types: use for the mn10300 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: David Howells Cc: Koichi Yasutake commit 23cf11ddb5099f8c7f7cb3eb154bff0faf31cae9 Author: H. Peter Anvin Date: Sun Apr 6 10:35:06 2008 -0700 mips: types: use for the mips architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Ralf Baechle commit ad55ed6161c113cc03c04df266e75d484bce8247 Author: H. Peter Anvin Date: Sun Apr 6 10:35:06 2008 -0700 m68k: types: use for the m68k architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Geert Uytterhoeven Cc: Roman Zippel commit ff704db3d4d9354712df2683b62f89dc0611632a Author: H. Peter Anvin Date: Sun Apr 6 10:35:05 2008 -0700 m32r: types: use for the m32r architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Hirokazu Takata commit 4a4bb4cee14905dd8b2b471b6998d62eeae8199c Author: H. Peter Anvin Date: Sun Apr 6 10:35:04 2008 -0700 ia64: types: use for the ia64 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Acked-by: Tony Luck commit 861531555dfac342c1c40668af8ac2f88af26e71 Author: H. Peter Anvin Date: Sun Apr 6 10:35:04 2008 -0700 h8300: types: use for the h8300 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Yoshinori Sato commit 8f337b5399302e41ed44e999e0cc518f92d0a509 Author: H. Peter Anvin Date: Sun Apr 6 10:35:03 2008 -0700 frv: types: use for the frv architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: David Howells commit e3b8cf047eb2702178b8cc16f03f8194af840732 Author: H. Peter Anvin Date: Sun Apr 6 10:35:02 2008 -0700 cris: types: use for the cris architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Mikael Starvik Cc: Jesper Nilsson commit 5424a328d281f54bbc62bf9b5118c45f8113a8b8 Author: H. Peter Anvin Date: Sun Apr 6 10:35:02 2008 -0700 blackfin: types: use for the blackfin architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Bryan Wu commit 63eae0ccacd67fd5ee238c6ba68f83f0ab91a1df Author: H. Peter Anvin Date: Sun Apr 6 10:35:01 2008 -0700 avr32: types: use for the avr32 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Haavard Skinnemoen commit 4cc1a102b049ff2890e3a97c23ca88e7205b42fd Author: H. Peter Anvin Date: Sun Apr 6 10:35:00 2008 -0700 arm: types: use for the arm architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Russell King Cc: Lennert Buytenhek Cc: Ben Dooks commit 3726c23df8e4d95b6f2b335dfa90e3f4850a8a00 Author: H. Peter Anvin Date: Sun Apr 6 10:35:00 2008 -0700 alpha: types: use for the alpha architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Richard Henderson Cc: Ivan Kokshaysky commit d13ff31cfeedbf2fefc7ba13cb753775648eac0c Author: H. Peter Anvin Date: Thu Apr 24 12:56:52 2008 -0700 types: create This creates two generic files with common integer definitions; one where 64 bits is "long" (most 64-bit architectures) and one where 64 bits is "long long" (all 32-bit architectures and x86-64.) Signed-off-by: H. Peter Anvin Cc: Anton Blanchard Cc: Ben Dooks Cc: Bryan Wu Cc: Chris Zankel Cc: David Howells Cc: David S. Miller Cc: Geert Uytterhoeven Cc: Grant Grundler Cc: H. Peter Anvin Cc: Haavard Skinnemoen Cc: Heiko Carstens Cc: Hirokazu Takata Cc: Ingo Molnar Cc: Ivan Kokshaysky Cc: Jesper Nilsson Cc: Koichi Yasutake Cc: Kyle McMartin Cc: Lennert Buytenhek Cc: Martin Schwidefsky Cc: Matthew Wilcox Cc: Mikael Starvik Cc: Paul Mackerras Cc: Paul Mundt Cc: Ralf Baechle Cc: Richard Henderson Cc: Roman Zippel Cc: Russell King Cc: Thomas Gleixner Cc: Tony Luck Cc: William L. Irwin Cc: Yoshinori Sato commit be2e88011bd800222bfd7b477c727966f93186a9 Merge: d626e3b... 4ba1c5b... Author: Linus Torvalds Date: Fri May 2 13:53:07 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: Use GFP_NOFS in kmalloc during localalloc window move ocfs2: Allow uid/gid/perm changes of symlinks ocfs2/dlm: dlmdebug.c: make 2 functions static ocfs2: make struct o2cb_stack_ops static ocfs2: make struct ocfs2_control_device static ocfs2: Correct merge of 52f7c21 (Move /sys/o2cb to /sys/fs/o2cb) commit d626e3bf728c47746f2129aa00c775d4e8c2a73b Merge: b66e1f1... 7ad4a48... Author: Linus Torvalds Date: Fri May 2 13:52:35 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: [SCSI] aic94xx: fix section mismatch [SCSI] u14-34f: Fix 32bit only problem [SCSI] dpt_i2o: sysfs code [SCSI] dpt_i2o: 64 bit support [SCSI] dpt_i2o: move from virt_to_bus/bus_to_virt to dma_alloc_coherent [SCSI] dpt_i2o: use standard __init / __exit code [SCSI] megaraid_sas: fix suspend/resume sections [SCSI] aacraid: Add Power Management support [SCSI] aacraid: Fix jbod operations scan issues [SCSI] aacraid: Fix warning about macro side-effects [SCSI] add support for variable length extended commands [SCSI] Let scsi_cmnd->cmnd use request->cmd buffer [SCSI] bsg: add large command support [SCSI] aacraid: Fix down_interruptible() to check the return value correctly [SCSI] megaraid_sas; Update the Version and Changelog [SCSI] ibmvscsi: Handle non SCSI error status [SCSI] bug fix for free list handling [SCSI] ipr: Rename ipr's state scsi host attribute to prevent collisions [SCSI] megaraid_mbox: fix Dell CERC firmware problem commit 7ad4a485002c141f156a014e89542e01e7f8e36a Author: Sam Ravnborg Date: Fri Apr 18 13:57:22 2008 -0700 [SCSI] aic94xx: fix section mismatch Fix following warnings: WARNING: vmlinux.o(.data+0x17aa88): Section mismatch in reference from the variable asd_pcidev_data to the function .devinit.text:asd_aic9410_setup() WARNING: vmlinux.o(.data+0x17aa98): Section mismatch in reference from the variable asd_pcidev_data to the function .devinit.text:asd_aic9410_setup() WARNING: vmlinux.o(.data+0x17aaa8): Section mismatch in reference from the variable asd_pcidev_data to the function .devinit.text:asd_aic9405_setup() asd_pcidev_data is only used by __devinit asd_pci_probe. So mark is const and annotate it __devinitconst to fix the warnings. [akpm@linux-foundation.org: fix warning] Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit b66e1f11ebc429569a3784aaf64123633d9e3ed1 Merge: 1be1d6b... 5c598b3... Author: Linus Torvalds Date: Fri May 2 11:23:14 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: [PATCH] fix sysctl_nr_open bugs [PATCH] sanitize anon_inode_getfd() [PATCH] split linux/file.h [PATCH] make osf_select() use core_sys_select() [PATCH] remove horrors with irix tty ioctls handling [PATCH] fix file and descriptor handling in perfmon commit 392512fbf9407fa1647225143e3f9c28a869ac57 Author: Alan Cox Date: Fri May 2 14:21:50 2008 +0100 [SCSI] u14-34f: Fix 32bit only problem Another user of 32bit time Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit 1ed43910956f5faec690ea3214451779e93bbb52 Author: Miquel van Smoorenburg Date: Fri May 2 01:08:19 2008 +0200 [SCSI] dpt_i2o: sysfs code Create a /sys/class/dpt_i2o directory and populate it with dptiN directories. Each dptiN directory contains a "dev" file that makes udev create /dev/dptiN Signed-off-by: Miquel van Smoorenburg Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit 62ac5aedc51485d672a5d91c262a001acecbe447 Author: Miquel van Smoorenburg Date: Fri May 2 01:07:27 2008 +0200 [SCSI] dpt_i2o: 64 bit support This is the code to actually support 64 bit platforms. 64 bit DMA is enabled on both x86_32 PAE and 64 bit platforms. This code is based in part on the unofficial adaptec 64-bit dpt_i2o driver update that I got from Mark Salyzyn at Adaptec. Signed-off-by: Miquel van Smoorenburg Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit 67af2b060e027c84b8e48d77e00b2369d997c0d4 Author: Miquel van Smoorenburg Date: Fri May 2 01:06:39 2008 +0200 [SCSI] dpt_i2o: move from virt_to_bus/bus_to_virt to dma_alloc_coherent Remove virt_to_bus/bus_to_virt code from dpt_i2o, and use dma_alloc_coherent() / dma_free_coherent(). This is in preparation of 64-bit support, dma_alloc_coherent() can allocate memory in the lower 32 bits of physical memory which is needed because the HBA only supports message blocks under 4GB This code is based in part on the unofficial adaptec 64-bit dpt_i2o driver update that I got from Mark Salyzyn at Adaptec. Signed-off-by: Miquel van Smoorenburg Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit c864cb145dc2218cfad9fe53d323b54b48dbab6c Author: Miquel van Smoorenburg Date: Fri May 2 01:05:33 2008 +0200 [SCSI] dpt_i2o: use standard __init / __exit code Update dpt_i2o.c to use the standard __init / __exit code instead of the legacy '#include "scsi_module.c"' code. This is needed in preparation of 64-bit support. scsi_module.c calls scsi_add_host() with the device pointer set to NULL, and that crashes code like arch/x64/kernel/pci-gart_64.c::need_iommu(). The reboot_notifier code is deleted because it wasn't compiled in ever anyway, and it would be useless to duplicate it in the new code. Signed-off-by: Miquel van Smoorenburg Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit 33139b21013aba815924b421159fab35e5175483 Author: Jiri Slaby Date: Thu May 1 17:56:02 2008 +0200 [SCSI] megaraid_sas: fix suspend/resume sections megaraid_sas suspend and resume are inappropriatelly placed in __devinit section. Remove those placements and make the stuff dependent on CONFIG_PM. While at it, mark remove function as __devexit. Signed-off-by: Jiri Slaby Acked-by: "Yang, Bo" Signed-off-by: James Bottomley commit 655d722cf7812078306f975a3afe88b96a1306b8 Author: Mark Salyzyn Date: Wed Apr 30 16:03:42 2008 -0400 [SCSI] aacraid: Add Power Management support For firmware that supports the feature(s), add the ability to start or stop an array using the associated SCSI commands, to automatically manage the spin-up of an array on new I/O reporting back the appropriate check conditions and actions in cooperation with the normal timeout mechanisms and enable the blackout period management in the Firmware associated with the background spin-down of the arrays when the Firmware times out and deems the arrays as idle. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit a4576b5da671563187ac388e36e1d077bd20e43a Author: Mark Salyzyn Date: Wed Apr 30 15:47:35 2008 -0400 [SCSI] aacraid: Fix jbod operations scan issues As JBOD devices (really just Simple Single Drive Volumes exported to the SCSI channel) are managed, they fail to update correctly when the driver triggers a SCSI scan. In addition, the ability to change multiple arrays or JBODs at the same time was resulting in dropped scans, set up a mechanism to issue a list of single target scans on a single configuration change notification from the Firmware. Performed some additional sundry cosmetic code style cleanups. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit e2efe7aa24dc7b430d2ea109fa117bd3c60ae8e6 Author: Mark Salyzyn Date: Wed Apr 30 15:28:32 2008 -0400 [SCSI] aacraid: Fix warning about macro side-effects On some compile environments, warnings are produced regarding the usage of aac_logical_to_phys macro. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 1be1d6b7f3f6e3a87f872dd5e7a867d03d8a6851 Merge: 37b6a04... 62fd2ca... Author: Linus Torvalds Date: Fri May 2 11:03:08 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (32 commits) USB GADGET/PERIPHERAL: g_file_storage Bulk-Only Transport compliance, clear-feature ignore USB GADGET/PERIPHERAL: g_file_storage Bulk-Only Transport compliance usb_serial: some coding style fixes USB: Remove redundant dependencies on USB_ATM. USB: UHCI: disable remote wakeup when it's not needed USB: OHCI: work around bogus compiler warning USB: add Cypress c67x00 OTG controller HCD driver USB: add Cypress c67x00 OTG controller core driver USB: add Cypress c67x00 low level interface code USB: airprime: unlock mutex instead of trying to lock it again USB: storage: Update mailling list address USB: storage: UNUSUAL_DEVS() for PanDigital Picture frame. USB: Add the USB 2.0 extension descriptor. USB: add more FTDI device ids USB: fix cannot work usb storage when using ohci-sm501 usb: gadget zero timer init fix usb: gadget zero style fixups (mostly whitespace) usb serial gadget: CDC ACM fixes usb: pxa27x_udc driver USB: INTOVA Pixtreme camera mass storage device ... commit 37b6a04fd9fc887bbcc1a27d9354a5e7a5a4cdd8 Merge: 3482a6f... 0691663... Author: Linus Torvalds Date: Fri May 2 11:02:53 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: driver-core: add dev_name() to help transition away from using bus_id commit 62fd2cac5bf5cf9e6fcb2fc40b32e7271e605c53 Author: David Lopo Date: Tue Apr 29 10:14:38 2008 +0100 USB GADGET/PERIPHERAL: g_file_storage Bulk-Only Transport compliance, clear-feature ignore Gadget tells controller driver to ignore Clear-Feature(HALT_ENDPOINT) Signed-off-by: David Lopo Acked-by: Alan Stern commit a5e54b0dbb6a099793caf508b1d6c7d82f965ec3 Author: David Lopo Date: Tue Apr 29 10:12:37 2008 +0100 USB GADGET/PERIPHERAL: g_file_storage Bulk-Only Transport compliance Gadget can tell controller driver to ignore Clear-Feature(HALT_ENDPOINT) This API change enables future support for Bulk-Only Transport compliance Signed-off-by: David Lopo Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit c4d0f8cbca3a97900f85b082064a63c7a5928bd7 Author: Alan Cox Date: Tue Apr 29 14:35:39 2008 +0100 usb_serial: some coding style fixes Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit e5430f889ce04301152044cce15a4a11a3e21e7d Author: Robert P. J. Day Date: Fri Apr 25 17:06:35 2008 -0400 USB: Remove redundant dependencies on USB_ATM. Given that the bulk of the Kconfig file is enclosed in "if USB_ATM", remove the unnecessary dependencies. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit d8f12ab5d984761726e638a4222299a9fc516233 Author: Alan Stern Date: Tue Apr 22 10:49:15 2008 -0400 USB: UHCI: disable remote wakeup when it's not needed This patch (as1084b) fixes the way uhci-hcd handles polling and remote wakeups for its root hubs. When remote wakeup is disabled, neither interrupts nor polling should be enabled during a root-hub suspend. Likewise, if interrupts are enabled during suspend then polling isn't needed. Furthermore the EGSM (Enter Global Suspend Mode) bit shouldn't be set in the Command register unless remote wakeup is enabled. Apparently some controllers will issue a remote-wakeup interrupt whenever EGSM is on, even if Resume-Detect interrupts are supposedly disabled. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 1b7b61c5d4071b9a25f6a9aae6f0a1e0efdbb2ae Author: Alan Stern Date: Tue Apr 22 10:50:18 2008 -0400 USB: OHCI: work around bogus compiler warning The patch (as1086) works around a bogus "uninitialized variable" warning generated by some versions of GCC. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e9b29ffc519b9e63d4e1c0b1278bb951bb418a9d Author: Peter Korsgaard Date: Sun Apr 27 08:59:45 2008 +0200 USB: add Cypress c67x00 OTG controller HCD driver This patch adds HCD support for the Cypress c67x00 family of devices. Signed-off-by: Peter Korsgaard Signed-off-by: Greg Kroah-Hartman commit b02b371e6d14961ad458ca9d88b30eefef77003d Author: Peter Korsgaard Date: Sun Apr 27 08:59:44 2008 +0200 USB: add Cypress c67x00 OTG controller core driver This patch add the core driver for the c67x00 USB OTG controller. The core driver is responsible for the platform bus binding and creating either USB HCD or USB Gadget instances for each of the serial interface engines on the chip. This driver does not directly implement the HCD or gadget behaviours; it just controls access to the chip. Signed-off-by: Peter Korsgaard Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d6f945044ee3b91a170183e8e34c3db29696d9b8 Author: Peter Korsgaard Date: Sun Apr 27 08:59:43 2008 +0200 USB: add Cypress c67x00 low level interface code This patch adds the low level support code for the Cypress c67x00 family of OTG controllers. The low level code is responsible for register access and implements the software protocol for communicating with the 16bit microcontroller inside the c67x00 device. Communication is done over the HPI interface (16bit SRAM-like parallel bus). Signed-off-by: Peter Korsgaard Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 21ae1dd1d4948968ad2d923c5e104d38fb35b4e4 Author: Leonardo Chiquitto Date: Tue Apr 22 16:02:03 2008 -0300 USB: airprime: unlock mutex instead of trying to lock it again The following patch fixes a [probable] copy & paste mistake in airprime.c. Instead of unlocking an acquired mutex, the actual code tries to lock it again. Signed-off-by: Leonardo Chiquitto Signed-off-by: Greg Kroah-Hartman commit cef03f8f1d5042e85de431d739eeded89d79999b Author: Andrew Lunn Date: Wed Apr 23 22:04:30 2008 +0200 USB: storage: Update mailling list address drivers/usb/storage/unusual_devs.h lists the address linux-usb-devel@lists.sourceforge.net for patches to that file. This address results in a bounce and a pointer to vger. This patch updates the address in the header file. Signed-off-by: Andrew Lunn Signed-off-by: Greg Kroah-Hartman commit f7687217ddb5e20ca855fadef2f9eb3c3202acca Author: Andrew Lunn Date: Thu Apr 24 19:36:39 2008 +0200 USB: storage: UNUSUAL_DEVS() for PanDigital Picture frame. Signed-off-by: Andrew Lunn Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 35e5437e8c8cd013e1e573ac4671d556819edbcb Author: Sarah Sharp Date: Fri Apr 25 16:46:45 2008 -0700 USB: Add the USB 2.0 extension descriptor. This device descriptor was added by the recent USB Link Power Management (LPM) ECN. It indicates whether the USB device supports LPM. This descriptor is grouped under a Binary Device Object Store (BOS) descriptor. Update the BOS comments to indicate any USB device (not just wireless USB devices) can implement BOS descriptors. Signed-off-by: Sarah Sharp Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6e1ab3ed825418320319f44af1b990c9c3f4c45b Author: Peter Mack Date: Tue Apr 22 13:25:11 2008 +0200 USB: add more FTDI device ids Add more usb device ids to the ftdi driver. From: Peter Mack Signed-off-by: Greg Kroah-Hartman commit e2722528ce688eecf574c237f7656d3934d4f23c Author: Yoshihiro Shimoda Date: Mon Apr 21 13:48:22 2008 +0900 USB: fix cannot work usb storage when using ohci-sm501 When I used ohci-sm501, hcd_alloc_coherent() in map_urb_for_dma() is not called, because usb_sg_init() always sets URB_NO_TRANSFER_DMA_MAP. dmesg (CONFIG_USB_STORAGE_DEBUG enabled): usb-storage: Bulk Command S 0x43425355 T 0x1 L 36 F 128 Trg 0 LUN 0 CL 6 usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes usb-storage: Status code 0; transferred 31/31 usb-storage: -- transfer complete usb-storage: Bulk command transfer result=0 usb-storage: usb_stor_bulk_transfer_sglist: xfer 36 bytes, 1 entries usb-storage: Status code -75; transferred 0/36 usb-storage: -- babble usb-storage: Bulk data transfer result 0x3 usb-storage: Attempting to get CSW... usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes usb-storage: Status code 0; transferred 13/13 usb-storage: -- transfer complete usb-storage: Bulk status result = 0 usb-storage: Bulk Status S 0x53425355 T 0x1 R 0 Stat 0x0 usb-storage: scsi cmd done, result=0x2 Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 7a6ad1dd86a45da8f235300349d4abd9ae7d1a21 Author: David Lopo Date: Fri Apr 18 18:49:01 2008 -0700 usb: gadget zero timer init fix Initialize timer earlier so if an error occurs allocating USB request or buffer request (zero_bind) Gadget Zero will not hang trying to delete an uninitialized timer (zero_unbind). Signed-off-by: David Lopo Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7472f38b10c884f47241529d1367f77c2e1b3551 Author: David Brownell Date: Fri Apr 18 18:47:54 2008 -0700 usb: gadget zero style fixups (mostly whitespace) Minor updates to "Gadget Zero". - Primarily these are whitespace updates to address the fact that since this was written, Documentation/CodingStyle was changed to disapprove of parts of the original coding style. - Update a few comments that weren't quite correct, notably mentioning the "autoresume" module parameter. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f371e750c9324f3498842ee833a0242a11b359e6 Author: David Brownell Date: Fri Apr 18 17:37:49 2008 -0700 usb serial gadget: CDC ACM fixes Based on a patch from , this makes the CDC-ACM support in the serial gadget handle the SET_LINE_CODING and SET_CONTROL_LINE_STATE requests ... which should improve interop with at least MS-Windows "usbser.sys" if not some other ACM host drivers. It also adds a few REVISIT comments where this code plays a bit loose with the CDC ACM spec. If this were used to hook up to a real RS232 or modem link, those places would need a bit of work. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d75379a538708c5a8e3dba673d866c3f5f856620 Author: Robert Jarzmik Date: Fri Apr 18 15:56:49 2008 -0700 usb: pxa27x_udc driver Adds pxa27x udc driver to support USB peripherals on pxa27x chips. The driver is compatible with: Gadget Zero, the File Storage gadget, and the Ethernet gadget (only in CDC subset mode). The driver can't properly support multiple interfaces, because of hardware bugs without possible workaround. That means no RNDIS support from g_ether, and no CDC ACM support in g_serial. Signed-off-by: Robert Jarzmik Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d301f528eb7b204fc99fb9ebbf289f84a69bfa19 Author: Rohan Hart Date: Fri Apr 18 21:19:33 2008 +1200 USB: INTOVA Pixtreme camera mass storage device FIX_CAPACITY is all that's needed. Cc: Alan Stern Cc: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 87521c46f63f0e1cac2bf8af08942ac47bb25de5 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Apr 17 06:16:24 2008 +0200 USB: mos7840: test and propagate set_uart_reg return value The test for an mos7840_set_uart_reg() error return value only works when status is signed. propagate its error value. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: SL Baur Signed-off-by: Greg Kroah-Hartman commit 28ffd79c31a7bed6f610511a4d104d1255cd1d95 Author: David Brownell Date: Fri Apr 25 18:51:10 2008 -0700 USB: usbtest displays diagnostics again Minor cleanup to the "usbtest" driver, mostly to resolve a regression: all the important diagnostics were at KERN_DEBUG, so that when the "#define DEBUG" was removed from the top of that file it stopped providing diagnostics. Fix by using KERN_ERROR. Also: - Stop using the legacy dbg() calls - Simplify the internal debug macros - Correct some test descriptions: * Test #10 subcase 7 should *always* stall * Test #10 subcase 8 *may* stall - Diagnostic about control queue test failures is more informative - Fix some whitespace "bugs" And add a warning about the rude interaction between usbfs ioctl() and khubd during device disconnect ... don't unplug a device under test, that will wedge. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9029b174ba22918d0a0aa3b71859854bd50c39cc Author: Pete Zaitcev Date: Sat Apr 19 14:45:24 2008 -0700 ub: Cosmetics Fix a few comments and printk statements. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 0da13c8c3dfb1ab6c56f2a70fadfddd57e0d7c42 Author: Pete Zaitcev Date: Sat Apr 19 14:42:49 2008 -0700 ub: Ignore bad residue I hoped to continue to ignore this problem or use libusual, but these days it's simpler to work around than to deal with it. Let's attempt to use bad residue devices and hope that upper level integrity checks catch any problems (e.g. please use sha1sum on your backups). Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 82fe26ba7a21d9bcc77e6142c941683eede32940 Author: Pete Zaitcev Date: Sat Apr 19 14:35:30 2008 -0700 ub: Tune retries Make ub to fail faster in hopeless cases. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 2c51ae70ede5a90d8ccb67d965c1b4e20fc4e110 Author: Pete Zaitcev Date: Sat Apr 19 14:32:18 2008 -0700 ub: Fix timeouts The wodim says: "close track/session scsi sendcmd: cmd timeout after 5.000 (480) s" This happened because we ignored the supplied timeout and used 5s. It's not completely correct to apply a timeout meant for the complete command to any single URB, but we don't have many URBs per command, so this is simple and works. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 043042109b24a1bd418db7cd509dadc5d120daf1 Author: Rusty Russell Date: Mon Apr 21 06:38:34 2008 +1000 usb: libusual kthread_run() called with wrong format. Signed-off-by: Rusty Russell Signed-off-by: Greg Kroah-Hartman commit b28884c1729940df83d87c515a5e66e5afbe9dea Author: Alan Stern Date: Mon Apr 28 10:26:13 2008 -0400 usb-storage: add unusual_devs entry for Samsung YP-U3 This patch (as1088) adds an unusual_devs entry for Samsung's YP-U3. Signed-off-by: Alan Stern Cc: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 43c1e98c87013757ef02c50a6e43bafeb6871f68 Author: Adrian Bunk Date: Mon Apr 28 18:39:37 2008 +0300 USB: storage/onetouch.c: make a function static This patch makes the needlessly global onetouch_release_input() static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit e42dc36b2cf9849362967ea836196c8ef6079ec7 Author: Dmitry Torokhov Date: Mon Apr 28 16:57:14 2008 -0400 usb-storage: fix build failure in OneTouch driver If USB storage is built-in but input subsystem is made modular then OneTouch button functionality can not be selected. Signed-off-by: Dmitry Torokhov Cc: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit ce0d7d3f575fc1ba6a89c3c651e710355590daff Author: Daniel Walker Date: Mon Apr 28 10:34:56 2008 -0700 usb: ldusb: ld_usb semaphore to mutex Signed-off-by: Daniel Walker Acked-by: Matthew Wilcox Signed-off-by: Greg Kroah-Hartman commit db11e47dd7b09b7f76c7eaa236277f23391331e7 Author: Sebastian Siewior Date: Thu Apr 24 00:37:04 2008 +0200 USB: ISP1760 HCD driver This driver has been written from scratch and supports the ISP1760. ISP1761 might (should) work as well but the OTG isn't supported. Also ISO packets are not. However, it works on my little PowerPC board. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Kroah-Hartman commit 06916639e2fed9ee475efef2747a1b7429f8fe76 Author: Kay Sievers Date: Fri May 2 06:02:41 2008 +0200 driver-core: add dev_name() to help transition away from using bus_id Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit db4742dd8f0aa9125b74f9b2516336a75f3d9106 Author: Boaz Harrosh Date: Wed Apr 30 11:27:26 2008 +0300 [SCSI] add support for variable length extended commands Add support for variable-length, extended, and vendor specific CDBs to scsi-ml. It is now possible for initiators and ULD's to issue these types of commands. LLDs need not change much. All they need is to raise the .max_cmd_len to the longest command they support (see iscsi patch). - clean-up some code paths that did not expect commands to be larger than 16, and change cmd_len members' type to short as char is not enough. Signed-off-by: Boaz Harrosh Signed-off-by: Benny Halevy Signed-off-by: James Bottomley commit 3482a6f1d1447b618d37049529cf36a8dc3bd3e3 Merge: 59d42c0... 1adb085... Author: Linus Torvalds Date: Fri May 2 08:22:36 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-genirq * git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-genirq: genirq: reenable a nobody cared disabled irq when a new driver arrives commit 59d42c0eb1d8fdfeec18f4ff088de8084bda906b Merge: 02cdf08... 62478fa... Author: Linus Torvalds Date: Fri May 2 08:20:43 2008 -0700 Merge branch 'for-linus' of git://www.linux-m32r.org/git/takata/linux-2.6_dev * 'for-linus' of git://www.linux-m32r.org/git/takata/linux-2.6_dev: m32r: cleanup: drop .data.idt section in vmlinux.lds script m32r: use KBUILD_DEFCONFIG commit 02cdf0827b61d51f0e9cc1b5ddd486950830ba08 Merge: 8bec4a5... a007a75... Author: Linus Torvalds Date: Fri May 2 08:20:04 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest: make Launcher see device status updates lguest: remove bogus NULL cpu check lguest: avoid using NR_CPUS as a bounds check. virtio: add virtio disk geometry feature virtio: explicit advertisement of driver features virtio: change config to guest endian. virtio: finer-grained features for virtio_net virtio: wean net driver off NETDEV_TX_BUSY virtio-blk: fix remove oops virtio: fix scatterlist sizing in net driver. virtio: de-structify virtio_block status byte virtio: export more headers to userspace virtio: fix sparse return void-valued expression warnings virtio: fix tx_ stats in virtio_net virtio: ignore corrupted virtqueues rather than spinning. commit 64a87b244b9297667ca80264aab849a36f494884 Author: Boaz Harrosh Date: Wed Apr 30 11:19:47 2008 +0300 [SCSI] Let scsi_cmnd->cmnd use request->cmd buffer - struct scsi_cmnd had a 16 bytes command buffer of its own. This is an unnecessary duplication and copy of request's cmd. It is probably left overs from the time that scsi_cmnd could function without a request attached. So clean that up. - Once above is done, few places, apart from scsi-ml, needed adjustments due to changing the data type of scsi_cmnd->cmnd. - Lots of drivers still use MAX_COMMAND_SIZE. So I have left that #define but equate it to BLK_MAX_CDB. The way I see it and is reflected in the patch below is. MAX_COMMAND_SIZE - means: The longest fixed-length (*) SCSI CDB as per the SCSI standard and is not related to the implementation. BLK_MAX_CDB. - The allocated space at the request level - I have audit all ISA drivers and made sure none use ->cmnd in a DMA Operation. Same audit was done by Andi Kleen. (*)fixed-length here means commands that their size can be determined by their opcode and the CDB does not carry a length specifier, (unlike the VARIABLE_LENGTH_CMD(0x7f) command). This is actually not exactly true and the SCSI standard also defines extended commands and vendor specific commands that can be bigger than 16 bytes. The kernel will support these using the same infrastructure used for VARLEN CDB's. So in effect MAX_COMMAND_SIZE means the maximum size command scsi-ml supports without specifying a cmd_len by ULD's Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 8bec4a5d9305c86d028a519b08f05b81cd63cc55 Merge: 886c35f... f8e811b... Author: Linus Torvalds Date: Fri May 2 08:17:58 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] fix file and descriptor handling in perfmon [IA64] TS_RESTORE_SIGMASK [IA64] smp.c coding style fix [IA64] fix section mismatch in arch/ia64/kernel/topology.c [IA64] fix section mismatch in arch/ia64/kernel/palinfo.c [IA64] fix section mismatch in arch/ia64/kernel/irq.c [IA64] fix section mismatch in arch/ia64/kernel/acpi.c commit 9f5de6b105bfa45911d46566df0b36720b648c42 Author: FUJITA Tomonori Date: Wed Apr 30 13:16:21 2008 +0900 [SCSI] bsg: add large command support This enables bsg to handle the request length larger than BLK_MAX_CDB (mainly for the variable length CDB format). Signed-off-by: FUJITA Tomonori Acked-by: Jens Axboe Signed-off-by: James Bottomley commit 0462590efe9a562dd2aa976ae2dc9cd2e6f5a0c6 Author: Mark Salyzyn Date: Wed Apr 23 08:16:06 2008 -0400 [SCSI] aacraid: Fix down_interruptible() to check the return value correctly On Apr 21, 2008, at 8:42 PM, Yinghai Lu wrote: > bisected to: > > commit e6990c6448ca9359b6d4ad027c0a6efbf4379e64 > Author: Mark Salyzyn > Date: Mon Apr 14 14:20:16 2008 -0400 > > [SCSI] aacraid: Fix down_interruptible() to check the return value The return value for down_interruptible was incorrectly checked! updated patch enclosed. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 4a1236ac6ee3bb3a2f585e66871de3c39ab38f7c Author: David S. Miller Date: Thu May 1 22:33:04 2008 -0700 sparc32: Delete prom_stdin and prom_stdout. They are written, but never used. Signed-off-by: David S. Miller commit 9f2b2a5f68c27c00f1e1f1922de5aa2f24505ed8 Author: David S. Miller Date: Thu May 1 22:28:17 2008 -0700 sparc32: More memory probing consolidation. The PROM library function prom_meminit() builds a table, prom_phys_avail[], just so that probe_memory() in arch/sparc/mm/fault.c can copy it into sp_banks[]. Just have prom_meminit() fill in the sp_banks[] array directly, and remove duplicated sort() function. Signed-off-by: David S. Miller commit ccc34028d46230f715eeda4c8cce27e919934fad Author: David S. Miller Date: Thu May 1 21:28:59 2008 -0700 sparc32: Kill totally unused memory information tables. The code in arch/sparc/prom/memory.c computes three tables, the list of total memory, the list of available memory (total minus what firmware is using), and the list of firmware taken memory. Only the available memory list is even used. Therefore, kill those unused tables and make prom_meminfo() return just the available memory list. Signed-off-by: David S. Miller commit 2678fefedbbc03a3ae6f5c254791bf147d6c52fd Author: David S. Miller Date: Thu May 1 03:30:22 2008 -0700 sparc64: Fix syscall restart, for real... The change I put into copy_thread() just papered over the real problem. When we are looking to see if we should do a syscall restart, when deliverying a signal, we should only interpret the syscall return value as an error if the carry condition code(s) are set. Otherwise it's a success return. Also, sigreturn paths should do a pt_regs_clear_trap_type(). It turns out that doing a syscall restart when returning from a fork() does and should happen, from time to time. Even if copy_thread() returns success, copy_process() can still unwind and signal -ERESTARTNOINTR in the parent. Signed-off-by: David S. Miller commit 32039f4954938e4d761032d7046254d08d0db54c Author: David S. Miller Date: Thu May 1 01:14:27 2008 -0700 serial: Fix sparc driver name strings. They were all "serial" so if multiple of these drivers registered, we'd trigger sysfs directory creation errors: [ 1.695793] proc_dir_entry 'serial' already registered [ 1.695839] Call Trace: [ 1.831891] [00000000004f2534] create_proc_entry+0x7c/0x98 [ 1.833608] [00000000004f3a58] proc_tty_register_driver+0x40/0x70 [ 1.833663] [0000000000594700] tty_register_driver+0x1fc/0x208 [ 1.835371] [00000000005aade4] uart_register_driver+0x134/0x16c [ 1.841762] [00000000005ac274] sunserial_register_minors+0x34/0x68 [ 1.841818] [00000000007db2a4] sunsu_init+0xf8/0x150 [ 1.867697] [00000000007c62a4] kernel_init+0x190/0x330 [ 1.939147] [0000000000426cf8] kernel_thread+0x38/0x48 [ 1.939198] [00000000006a0d90] rest_init+0x18/0x5c Signed-off-by: David S. Miller commit c26d3c0138970778fabe114df99dffb34a04b1d7 Author: David S. Miller Date: Thu May 1 01:12:40 2008 -0700 sparc64: Stop creating dummy root PCI host controller devices. It just creates confusion, errors, and bugs. For one thing, this can cause dup sysfs or procfs nodes to get created: [ 1.198015] proc_dir_entry '00.0' already registered [ 1.198036] Call Trace: [ 1.198052] [00000000004f2534] create_proc_entry+0x7c/0x98 [ 1.198092] [00000000005719e4] pci_proc_attach_device+0xa4/0xd4 [ 1.198126] [00000000007d991c] pci_proc_init+0x64/0x88 [ 1.198158] [00000000007c62a4] kernel_init+0x190/0x330 [ 1.198183] [0000000000426cf8] kernel_thread+0x38/0x48 [ 1.198210] [00000000006a0d90] rest_init+0x18/0x5c Signed-off-by: David S. Miller commit a007a751d98fe97142e4724a83a4e31ec66b7532 Author: Rusty Russell Date: Fri May 2 21:50:53 2008 -0500 lguest: make Launcher see device status updates This brings us closer to Real Life, where we'd examine the device features once it's set the DRIVER_OK status bit. Signed-off-by: Rusty Russell commit 9f3f746741d917fe3c6c544c7d319d533176d90b Author: Rusty Russell Date: Fri May 2 21:50:51 2008 -0500 lguest: remove bogus NULL cpu check If lg isn't NULL, and cpu_id is sane, &lg->cpus[cpu_id] can't be NULL. Signed-off-by: Rusty Russell commit 24adf12722b4f2800e5b5f0955d57033f0d0c9e5 Author: Rusty Russell Date: Fri May 2 21:50:51 2008 -0500 lguest: avoid using NR_CPUS as a bounds check. NR_CPUS (being a host number) is an arbitrary limit for the Guest. Using the array size directly (which currently happes to be NR_CPUS) is more futureproof. Signed-off-by: Rusty Russell commit 48e4043d4529523cbc7fa8dd745bd8e2c45ce1d3 Author: Ryan Harper Date: Wed Apr 16 13:56:37 2008 -0500 virtio: add virtio disk geometry feature Rather than faking up some geometry, allow the backend to push the disk geometry via virtio pci config option. Keep the old geo code around for compatibility. Signed-off-by: Ryan Harper Reviewed-by: Anthony Liguori Signed-off-by: Rusty Russell (modified to single struct) commit c45a6816c19dee67b8f725e6646d428901a6dc24 Author: Rusty Russell Date: Fri May 2 21:50:50 2008 -0500 virtio: explicit advertisement of driver features A recent proposed feature addition to the virtio block driver revealed some flaws in the API: in particular, we assume that feature negotiation is complete once a driver's probe function returns. There is nothing in the API to require this, however, and even I didn't notice when it was violated. So instead, we require the driver to specify what features it supports in a table, we can then move the feature negotiation into the virtio core. The intersection of device and driver features are presented in a new 'features' bitmap in the struct virtio_device. Note that this highlights the difference between Linux unsigned-long bitmaps where each unsigned long is in native endian, and a straight-forward little-endian array of bytes. Drivers can still remove feature bits in their probe routine if they really have to. API changes: - dev->config->feature() no longer gets and acks a feature. - drivers should advertise their features in the 'feature_table' field - use virtio_has_feature() for extra sanity when checking feature bits Signed-off-by: Rusty Russell commit 72e61eb40b55dd57031ec5971e810649f82b0259 Author: Rusty Russell Date: Fri May 2 21:50:49 2008 -0500 virtio: change config to guest endian. A recent proposed feature addition to the virtio block driver revealed some flaws in the API, in particular how easy it is to break big endian machines. The virtio config space was originally chosen to be little-endian, because we thought the config might be part of the PCI config space for virtio_pci. It's actually a separate mmio region, so that argument holds little water; as only x86 is currently using the virtio mechanism, we can change this (but must do so now, before the impending s390 merge). API changes: - __virtio_config_val() just becomes a striaght vdev->config_get() call. Signed-off-by: Rusty Russell commit 5539ae9613587e4a4eec42d420b8bdd9ff552a65 Author: Rusty Russell Date: Fri May 2 21:50:46 2008 -0500 virtio: finer-grained features for virtio_net So, we previously had a 'VIRTIO_NET_F_GSO' bit which meant that 'the host can handle csum offload, and any TSO (v4&v6 incl ECN) or UFO packets you might want to send. I thought this was good enough for Linux, but it actually isn't, since we don't do UFO in software. So, add separate feature bits for what the host can handle. Add equivalent ones for the guest to say what it can handle, because LRO is coming too (thanks Herbert!). Signed-off-by: Rusty Russell commit 99ffc696d10b28580fe93441d627cf290ac4484c Author: Rusty Russell Date: Fri May 2 21:50:46 2008 -0500 virtio: wean net driver off NETDEV_TX_BUSY Herbert tells me that returning NETDEV_TX_BUSY from hard_start_xmit is seen as a poor thing to do; we should cache the packet and stop the queue. Signed-off-by: Rusty Russell Acked-by: Herbert Xu commit 2e895e4c23b7f73dba7238db5c5c2dcffb2a4d9d Author: Marcelo Tosatti Date: Thu Apr 24 15:49:53 2008 -0300 virtio-blk: fix remove oops Do not unregister the major at device remove, since there might be another device instances around. (qemu) pci_del 0 11 (qemu) ACPI: PCI interrupt for device 0000:00:0b.0 disabled (qemu) pci_del 0 10 (qemu) ------------[ cut here ]------------ WARNING: at block/genhd.c:126 unregister_blkdev+0x74/0x9e() ACPI: PCI interrupt for device 0000:00:0a.0 disabled Signed-off-by: Marcelo Tosatti Signed-off-by: Rusty Russell commit 0527168522c25121bdd5d5f1d3c5b484d972ea14 Author: Rusty Russell Date: Fri May 2 21:50:45 2008 -0500 virtio: fix scatterlist sizing in net driver. Herbert Xu points out (within another patch) that my scatterlists are too short: one entry for the gso header, one for the skb->data, and MAX_SKB_FRAGS for all the fragments. Fix both xmit and recv sides (recv currently unused, coming in later patch). Signed-off-by: Rusty Russell commit cb38fa23c17519faf46a76d2f71a8430705fe474 Author: Rusty Russell Date: Fri May 2 21:50:45 2008 -0500 virtio: de-structify virtio_block status byte Ron Minnich points out that a struct containing a char is not always sizeof(char); simplest to remove the structure to avoid confusion. Cc: "ron minnich" Signed-off-by: Rusty Russell commit 81473132878f8a1d0c6a78cffa0cf84c8a19c1be Author: Christian Borntraeger Date: Wed Apr 23 12:57:00 2008 +0200 virtio: export more headers to userspace Rusty, is there a reason why we dont export the virtio headers for 9p, balloon, console, pci, and virtio_ring? kvm uses make sync, but I think it is still useful to heave these headers exported as they might be useful for other userspace tools. I dont export virtio.h, because it does not seem to have useful information for userspace and it requires scatterlist.h which is also not exported. See also my other mail about your "virtio: change config to guest endian." patch. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 597d56e4b51fc3385e097e52d6e92bf596ff21ec Author: Harvey Harrison Date: Mon Mar 31 17:53:55 2008 -0700 virtio: fix sparse return void-valued expression warnings drivers/virtio/virtio_pci.c:148:2: warning: returning void-valued expression drivers/virtio/virtio_pci.c:155:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Rusty Russell commit 655aa31f028c4498e8896576571ee1ea68dd26e0 Author: Rusty Russell Date: Fri May 2 21:50:43 2008 -0500 virtio: fix tx_ stats in virtio_net get_buf() gives the length written by the other side, which will be zero. We want to add the skb length. Signed-off-by: Rusty Russell commit 5ef827526fc01820a7a80827802e9fad3f34f937 Author: Rusty Russell Date: Fri May 2 21:50:43 2008 -0500 virtio: ignore corrupted virtqueues rather than spinning. A corrupt virtqueue (caused by the other end screwing up) can have strange results such as a driver spinning: just bail when we try to get a buffer from a known-broken queue. Signed-off-by: Rusty Russell commit 1adb0850a1254333d81e64121c80af100c6d6e06 Author: Thomas Gleixner Date: Mon Apr 28 17:01:56 2008 +0200 genirq: reenable a nobody cared disabled irq when a new driver arrives Uwe Kleine-Koenig has some strange hardware where one of the shared interrupts can be asserted during boot before the appropriate driver loads. Requesting the shared irq line from another driver result in a spurious interrupt storm which finally disables the interrupt line. I have seen similar behaviour on resume before (the hardware does not work anymore so I can not verify). Change the spurious disable logic to increment the disable depth and mark the interrupt with an extra flag which allows us to reenable the interrupt when a new driver arrives which requests the same irq line. In the worst case this will disable the irq again via the spurious trap, but there is a decent chance that the new driver is the one which can handle the already asserted interrupt and makes the box usable again. Eric Biederman said further: This case also happens on a regular basis in kdump kernels where we deliberately don't shutdown the hardware before starting the new kernel. This patch should reduce the need for using irqpoll in that situation by a small amount. Signed-off-by: Thomas Gleixner Tested-and-Acked-by: Uwe Kleine-König commit 78e92b99ec4eb73755abd4e357b0b211eadafd88 Author: Denis V. Lunev Date: Fri May 2 04:12:41 2008 -0700 netns: assign PDE->data before gluing entry into /proc tree In this unfortunate case, proc_mkdir_mode wrapper can't be used anymore and this is no way to reuse proc_create_data due to nlinks assignment. So, copy the code from proc_mkdir and assign PDE->data at the appropriate moment. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 8b169240e266d7fc58d9b9077d18d50a548d9732 Author: Denis V. Lunev Date: Fri May 2 04:11:52 2008 -0700 netfilter: assign PDE->data before gluing PDE into /proc tree Replace proc_net_fops_create with proc_create_data. Signed-off-by: Denis V. Lunev Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 52c0e111fa082082060c4d43c05f20b756d5f06a Author: Denis V. Lunev Date: Fri May 2 04:10:57 2008 -0700 netfilter: assign PDE->fops before gluing PDE into /proc tree Replace create_proc_entry with specially created for this purpose proc_create. Signed-off-by: Denis V. Lunev Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 84841c3c6cf2ed9a8e0dfd842fb35ef6e2bce091 Author: Denis V. Lunev Date: Fri May 2 04:10:08 2008 -0700 ipv4: assign PDE->data before gluing PDE into /proc tree The check for PDE->data != NULL becomes useless after the replacement of proc_net_fops_create with proc_create_data. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 1d3faa390df9f009d7d76134b2aa1f07990945a4 Author: Denis V. Lunev Date: Fri May 2 04:09:11 2008 -0700 vlan: assign PDE->data before gluing PDE into /proc tree Simply replace proc_create and further data assigned with proc_create_data. Signed-off-by: Denis V. Lunev Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 0c89652a741cce71661d561c4466115c60c752d1 Author: Denis V. Lunev Date: Fri May 2 04:08:30 2008 -0700 atm: assign PDE->data before gluing PDE into /proc tree Simply replace proc_create and further data assigned with proc_create_data. proc_atm_dev_ops holds proper referrence. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 0bb53a66fe1258b1cb5eb1ea70768386f0c2a1ca Author: Denis V. Lunev Date: Fri May 2 02:46:55 2008 -0700 ipv6: assign PDE->data before gluing PDE into /proc tree Simply replace proc_create and further data assigned with proc_create_data. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 5efdccbcda20d3e5fbaa85f726dcc9cfeb005577 Author: Denis V. Lunev Date: Fri May 2 02:46:22 2008 -0700 net: assign PDE->data before gluing PDE into /proc tree Simply replace proc_create and further data assigned with proc_create_data. Additionally, there is no need to assign NULL to PDE->data after creation, /proc generic has already done this for us. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6e79d85d9a6b7a149dd3666b079c96cfbf57fdb8 Author: Denis V. Lunev Date: Fri May 2 02:45:42 2008 -0700 netfilter: assign PDE->data before gluing PDE into /proc tree Simply replace proc_create and further data assigned with proc_create_data. Signed-off-by: Denis V. Lunev Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit e7fe23363bab0488c7ce09626900e7d621ea2292 Author: Denis V. Lunev Date: Fri May 2 02:44:36 2008 -0700 sunrpc: assign PDE->data before gluing PDE into /proc tree Simply replace proc_create and further data assigned with proc_create_data. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 3b5750644b2ffa2a76fdfe7b4e00e4af2ecf3539 Author: Paul Mackerras Date: Fri May 2 14:29:12 2008 +1000 [POWERPC] Bolt in SLB entry for kernel stack on secondary cpus This fixes a regression reported by Kamalesh Bulabel where a POWER4 machine would crash because of an SLB miss at a point where the SLB miss exception was unrecoverable. This regression is tracked at: http://bugzilla.kernel.org/show_bug.cgi?id=10082 SLB misses at such points shouldn't happen because the kernel stack is the only memory accessed other than things in the first segment of the linear mapping (which is mapped at all times by entry 0 of the SLB). The context switch code ensures that SLB entry 2 covers the kernel stack, if it is not already covered by entry 0. None of entries 0 to 2 are ever replaced by the SLB miss handler. Where this went wrong is that the context switch code assumes it doesn't have to write to SLB entry 2 if the new kernel stack is in the same segment as the old kernel stack, since entry 2 should already be correct. However, when we start up a secondary cpu, it calls slb_initialize, which doesn't set up entry 2. This is correct for the boot cpu, where we will be using a stack in the kernel BSS at this point (i.e. init_thread_union), but not necessarily for secondary cpus, whose initial stack can be allocated anywhere. This doesn't cause any immediate problem since the SLB miss handler will just create an SLB entry somewhere else to cover the initial stack. In fact it's possible for the cpu to go quite a long time without SLB entry 2 being valid. Eventually, though, the entry created by the SLB miss handler will get overwritten by some other entry, and if the next access to the stack is at an unrecoverable point, we get the crash. This fixes the problem by making slb_initialize create a suitable entry for the kernel stack, if we are on a secondary cpu and the stack isn't covered by SLB entry 0. This requires initializing the get_paca()->kstack field earlier, so I do that in smp_create_idle where the current field is initialized. This also abstracts a bit of the computation that mk_esid_data in slb.c does so that it can be used in slb_initialize. Signed-off-by: Paul Mackerras commit d9f2f3f537acb8aa04280509b2eed50c855fd3ef Author: Geoff Levand Date: Thu May 1 08:25:36 2008 +1000 [POWERPC] PS3: Update ps3_defconfig Update ps3_defconfig. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 5442381cdd311633d18f8bb52a66ede2d0fa502c Author: Geoff Levand Date: Thu May 1 08:25:30 2008 +1000 [POWERPC] PS3: Remove unsupported wakeup sources Other OS wakeup is not supported from the IR controller, the bluetooth controller nor the RTC. Remove references to these in the PS3 sys-manager source. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit fdedb4caea36cfc00571928a727ac87906037712 Author: Geert Uytterhoeven Date: Thu May 1 08:25:18 2008 +1000 [POWERPC] PS3: Make ps3_virq_setup and ps3_virq_destroy static The routines ps3_virq_setup() and ps3_virq_destroy() are used in only one file, so make them static. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 483d8876f75aa5707a646442377051f1b90db206 Author: FUJITA Tomonori Date: Thu May 1 08:25:09 2008 +1000 [POWERPC] PS3: Add time include to lpm Add an include statement for get_tb(). Signed-off-by: FUJITA Tomonori Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit bbea34606269efedf7d12c608924b47bafb344f5 Author: Geoff Levand Date: Thu May 1 08:24:58 2008 +1000 [POWERPC] Fix slb.c compile warnings Arrange for a syntax check to always be done on the powerpc/mm/slb.c DBG() macro by defining it to pr_debug() for non-debug builds. Also, fix these related compile warnings: slb.c:273: warning: format '%04x' expects type 'unsigned int', but argument 2 has type 'long unsigned int slb.c:274: warning: format '%04x' expects type 'unsigned int', but argument 2 has type 'long unsigned int' Signed-off-by: Geoff Levand Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 5be661a28b12aa43cc83ba935ba2b2c273d0da45 Merge: fbe543b... b17b818... Author: Paul Mackerras Date: Fri May 2 14:45:50 2008 +1000 Merge branch 'powerpc-next' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc commit b17b8181c97e88e6fac5aa704879ad61fdd67351 Author: Kumar Gala Date: Wed Apr 30 10:24:44 2008 -0500 [POWERPC] Xilinx: Fix compile warnings arch/powerpc/sysdev/xilinx_intc.c: In function 'xilinx_intc_init': arch/powerpc/sysdev/xilinx_intc.c:111: warning: format '%08X' expects type 'unsigned int', but argument 2 has type 'resource_size_t' drivers/char/xilinx_hwicap/xilinx_hwicap.c: In function 'hwicap_setup': drivers/char/xilinx_hwicap/xilinx_hwicap.c:626: warning: cast to pointer from integer of different size drivers/char/xilinx_hwicap/xilinx_hwicap.c:646: warning: format '%x' expects type 'unsigned int', but argument 6 has type 'resource_size_t' Signed-off-by: Kumar Gala commit 128cf7f2eb952a85875834c0d274da05ee0f02aa Author: Becky Bruce Date: Thu May 1 18:15:45 2008 -0500 [POWERPC] Squash build warning for print of resource_size_t in fsl_soc.c When resource_size_t is larger than an int, the current code generates a build warning. Kill it. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit 9941d945f491320bc121d86c558b1288ac0ad6ca Author: Randy Dunlap Date: Wed Apr 30 16:45:58 2008 -0700 [RAPIDIO] fix current kernel-doc notation Fix current (-git16) missing docbook/kernel-doc notation in RapidIO files. Warning(linux-2.6.25-git16//include/linux/rio.h:187): No description found for parameter 'sys_size' Warning(linux-2.6.25-git16//include/linux/rio.h:187): No description found for parameter 'phy_type' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:188): No description found for parameter 'mport' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:224): No description found for parameter 'mport' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:245): No description found for parameter 'mport' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:270): No description found for parameter 'mport' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:311): No description found for parameter 'mport' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:996): No description found for parameter 'dev' Signed-off-by: Randy Dunlap Signed-off-by: Kumar Gala commit e598477a3a9679bd04565ef2be20cc985b8954ae Author: Anton Vorontsov Date: Tue Apr 29 20:41:12 2008 +0400 [POWERPC] 86xx: mpc8610_hpcd: add support for PCI Express x8 slot This patch adds pcie node which is resposible for PCI-E x8 slot functioning. Though, this was tested using only x1 SKY2 NIC. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit fb65f180e02dde224af256b43d3ab2c28b9689d7 Merge: ab59859... 61c2b68... Author: David S. Miller Date: Thu May 1 16:04:59 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 61c2b682b8391f13b67e2d95990a0aba34697d9c Author: Ivo van Doorn Date: Mon Apr 21 19:01:09 2008 +0200 rt2x00: Fix quality/activity led handling There was an obvious typo in LED structure initialization which caused the radio and quality/activity leds to be incorrectly initialized which resulted in the leds not being enabled. Additionally add the rt2x00led_led_activity() handler that will enable TX/RX activity leds when the radio is being enabled. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 44a9809b97ec5acd1c549c3120bdd35613897d7c Author: Ivo van Doorn Date: Mon Apr 21 19:00:17 2008 +0200 rt2x00: Don't enable short preamble for 1MBs The timing settings for 1MBs should exclude the short preamble bit since that only applies to 2MBs, 5.5MBs and 11MBs. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2218228392080f0ca2fc2974604e79f57b12c436 Author: Kirill A. Shutemov Date: Tue Apr 22 16:38:55 2008 +0300 Make linux/wireless.h be able to compile Signed-off-by: Kirill A. Shutemov Signed-off-by: John W. Linville commit 786b4557075ae0d8a23e73c316dc4204b41ccb4d Author: Bill Moss Date: Thu Apr 17 16:03:40 2008 -0700 iwlwifi: fix debug messages during scanning direct_mask will be set when we are not associated and requesting a direct scan. The second debug print will be confusing as priv->essid is not set at that time and it will thus print "" while it is known to which AP a direct scan is requested - as previous debug message also indicates. Now make all debugging consistent. Signed-off-by: Bill Moss Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f52764886540b16e7962bd1d150bd939aec9248c Author: Guy Cohen Date: Mon Apr 21 15:41:57 2008 -0700 iwlwifi: fix current channel is not scanned All channels should be scanned, including the current channel when the client is associated. Removed also unused flag to scan only active channels. Signed-off-by: Guy Cohen Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 21a75d7788f4e29b6c6d28e08f9f0310c4de828d Author: Michael Buesch Date: Fri Apr 25 19:29:08 2008 +0200 b43: Fix some TX/RX locking issues This fixes some TX/RX related locking issues. With this patch applied, some of the PHY transmission errors are fixed. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit f8e811b98935f702b48abc92563462a15c226eb8 Author: Al Viro Date: Thu May 1 14:36:36 2008 -0700 [IA64] fix file and descriptor handling in perfmon Races galore... General rule: as soon as it's in descriptor table, it's over; another thread might have started IO on it/dup2() it elsewhere/dup2() something *over* it/etc. fd_install() is the very last step one should take - it's a point of no return. Besides, the damn thing leaked on failure exits... Signed-off-by: Al Viro Signed-off-by: Tony Luck commit 848376c774a941c29e4fa083d96d84a5f2190857 Author: Roland McGrath Date: Wed Apr 30 14:40:14 2008 -0700 [IA64] TS_RESTORE_SIGMASK Replace TIF_RESTORE_SIGMASK with TS_RESTORE_SIGMASK and define our own set_restore_sigmask() function. This saves the costly SMP-safe set_bit operation, which we do not need for the sigmask flag since TIF_SIGPENDING always has to be set too. Signed-off-by: Roland McGrath Signed-off-by: Tony Luck commit c0cd661b1b0ad83dac54420169ec9ca14df409e9 Author: Hidetoshi Seto Date: Wed Apr 30 18:55:48 2008 +0900 [IA64] smp.c coding style fix Fix indenting of switch statement to follow CodingStyle, and pull out handling of call_data into an inlined function. I confirmed that applying this fix doesn't affect assembled code. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit f6acb63508700b5f8cd817082b62c96ba907775e Author: Christoph Lameter Date: Tue Apr 29 16:16:06 2008 -0700 slub: #ifdef simplification If we make SLUB_DEBUG depend on SYSFS then we can simplify some #ifdefs and avoid others. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit f715e6f15ee167026581a8a2e09b2ed644b974aa Author: Christoph Lameter Date: Tue Apr 29 16:14:46 2008 -0700 slabinfo: Support printout of the number of fallbacks Add functionality to slabinfo to print out the number of fallbacks that have occurred for each slab cache when the -D option is specified. Also widen the allocation / free field since the numbers became too big after a week. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 0121c619d03820d965745e56f80f6eb5994533fe Author: Christoph Lameter Date: Tue Apr 29 16:11:12 2008 -0700 slub: Whitespace cleanup and use of strict_strtoul Fix some issues with wrapping and use strict_strtoul to make parameter passing from sysfs safer. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 886c35fbcf6fb2eee15687efc2d64d99b6ad9a4a Merge: 6ed7b6a... f32ddad... Author: Linus Torvalds Date: Thu May 1 11:31:38 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: fw-sbp2: log scsi_target ID at release ieee1394: fix NULL pointer dereference in sysfs access commit 6ed7b6a05dc4332c391134809387220123e82ea7 Merge: 2c4aabc... 90ebd87... Author: Linus Torvalds Date: Thu May 1 11:31:24 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-linus * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-linus: kbuild: fix vmlinux.o link kconfig: made check-lxdialog more portable commit 2c4aabcca847ac4c92aa5e960c3f6053e1051b62 Merge: bcf35af... a98889f... Author: Linus Torvalds Date: Thu May 1 11:15:28 2008 -0700 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: [MTD][NOR] Add physical address to point() method [JFFS2] Track parent inode for directories (for NFS export) [JFFS2] Invert last argument of jffs2_gc_fetch_inode(), make it boolean. [JFFS2] Quiet lockdep false positive. [JFFS2] Clean up jffs2_alloc_inode() and jffs2_i_init_once() [MTD] Delete long-unused jedec.h header file. [MTD] [NAND] at91_nand: use at91_nand_{en,dis}able consistently. commit fbe543b412cef02350fab35526a6d4dc3d20d182 Author: Andrew Liu Date: Tue Apr 29 17:36:25 2008 +1000 Fix a potential issue in mpc52xx uart driver mpc52xx_uart_int and __uart_put_char both try to acquire the port->lock. Therefore the function sequence of: mpc52xx_uart_int--> ...-->flush_to_ldisc-->...-->__uart_put_char can potentially trigger a deadlock. To avoid this deadlock a fix similar to that found in the 8250.c serial driver is applied. The deadlock is avoided by releasing the lock before pushing a buffer and reacquiring it when completed. Signed-off-by: Andrew Liu Signed-off-by: Grant Likely commit a98889f3d8882995b5aa2255b931cf0202325cc0 Author: Jared Hulbert Date: Tue Apr 29 23:26:49 2008 -0700 [MTD][NOR] Add physical address to point() method Adding the ability to get a physical address from point() in addition to virtual address. This physical address is required for XIP of userspace code from flash. Signed-off-by: Jared Hulbert Reviewed-by: Jörn Engel Acked-by: Nicolas Pitre Acked-by: Greg Ungerer Signed-off-by: David Woodhouse commit f32ddaddf95d8a30be5a41cf681bc8792bc42ec7 Author: Stefan Richter Date: Thu Apr 24 23:17:47 2008 +0200 firewire: fw-sbp2: log scsi_target ID at release Makes the good-by message more informative. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 07c7224cf74c3977c69c7c9a0b0fba264f2df36a Author: Stefan Richter Date: Thu May 1 10:43:04 2008 +0200 ieee1394: fix NULL pointer dereference in sysfs access Regression since "ieee1394: prevent device binding of raw1394, video1394, dv1394", commit d2ace29fa44589da51fedc06a67b3f05301f3bfd: $ cat /sys/bus/ieee1394/drivers/raw1394/device_ids triggers a NULL pointer dereference in fw_show_drv_device_ids. Reported by Miles Lane. Signed-off-by: Stefan Richter Tested-by: Miles Lane commit 27c72b040c0be8f3704ed0b6b84c12cbba24a7e8 Author: David Woodhouse Date: Thu May 1 18:47:17 2008 +0100 [JFFS2] Track parent inode for directories (for NFS export) To support NFS export, we need to know the parent inode of directories. Rather than growing the jffs2_inode_cache structure, share space with the nlink field -- which was always set to 1 for directories anyway. Signed-off-by: David Woodhouse commit 90ebd878a5900839106664fae40a6cc83dbe86ab Author: Sam Ravnborg Date: Thu May 1 19:31:35 2008 +0200 kbuild: fix vmlinux.o link We always linked vmliux.o. Remove init/built-in.o dependency so we avoid this Signed-off-by: Sam Ravnborg commit b44158de9e318fbc92ac6c665ad3d0c948e80ac3 Author: Sam Ravnborg Date: Thu May 1 19:29:47 2008 +0200 kconfig: made check-lxdialog more portable OS-X shell did not like 'echo -e' so implement suggestion from Al Viro to use a more portable construct. Signed-off-by: Sam Ravnborg Cc: Al Viro Acked-By: Timur Tabi commit bcf35afb528109a31264b45d4851fa6ae72dbe18 Author: Christoph Hellwig Date: Thu May 1 18:43:12 2008 +0200 make generic sys_ptrace unconditional With s390 the last arch switched to the generic sys_ptrace yesterday so we can now kill the ifdef around it to enforce every new port it using it instead of introducing new weirdo versions. Signed-off-by: Christoph Hellwig Signed-off-by: Linus Torvalds commit 5c598b3428c372a1209597cee99a70da20625876 Author: Al Viro Date: Sun Apr 27 20:04:15 2008 -0400 [PATCH] fix sysctl_nr_open bugs * if luser with root sets it to something that is not a multiple of BITS_PER_LONG, the system is screwed. * if it gets decreased at the wrong time, we can get expand_files() returning success and _not_ increasing the size of table as asked. Signed-off-by: Al Viro commit 2030a42cecd4dd1985a2ab03e25f3cd6106a5ca8 Author: Al Viro Date: Sat Feb 23 06:46:49 2008 -0500 [PATCH] sanitize anon_inode_getfd() a) none of the callers even looks at inode or file returned by anon_inode_getfd() b) any caller that would try to look at those would be racy, since by the time it returns we might have raced with close() from another thread and that file would be pining for fjords. Signed-off-by: Al Viro commit 9f3acc3140444a900ab280de942291959f0f615d Author: Al Viro Date: Thu Apr 24 07:44:08 2008 -0400 [PATCH] split linux/file.h Initial splitoff of the low-level stuff; taken to fdtable.h Signed-off-by: Al Viro commit a2dcb44c3c5a8151d2d9f6ac8ad0789efcdbe184 Author: Al Viro Date: Wed Apr 23 14:05:15 2008 -0400 [PATCH] make osf_select() use core_sys_select() ... instead of open-coding it Signed-off-by: Al Viro commit bf7da7bcfb38409b4cdea34b0905bdf344f1b36d Author: Al Viro Date: Wed Apr 23 00:49:25 2008 -0400 [PATCH] remove horrors with irix tty ioctls handling Existing code in there (get_tty(), etc.) is both severely racy *and* pointless: ioctls in question have Linux equivalents and there's no need to play silly buggers in irix_ioctl() - just need to replace arguments and, in case of TIOCGSID, deal with API differences - Linux one expects pid_t __user * while Irix one does unsigned long __user *. BFD... Signed-off-by: Al Viro commit 74d92abc6143b124db03f0d341f02bde72fba6f5 Author: Al Viro Date: Tue Apr 22 19:46:10 2008 -0400 [PATCH] fix file and descriptor handling in perfmon Races galore... General rule: as soon as it's in descriptor table, it's over; another thread might have started IO on it/dup2() it elsewhere/dup2() something *over* it/etc. fd_install() is the very last step one should take - it's a point of no return. Besides, the damn thing leaked on failure exits... Signed-off-by: Al Viro commit 80791be11145f7dd7f68c84741fc66e5164b7353 Author: Grant Likely Date: Thu May 1 11:05:58 2008 -0600 [POWERPC] mpc5200: Allow for fixed speed MII configurations Various improvements for configuring the MPC5200 MII link from the device tree: * Look for 'current-speed' property for fixed speed MII links * Look for 'fsl,7-wire-mode' property for boards using the 7 wire mode * move definition of private data structure out of the header file Signed-off-by: Grant Likely Acked-by: Wolfgang Grandegger commit 1b690b48786229571e590dd22fe01ecc22a8746b Author: David Woodhouse Date: Thu May 1 16:59:24 2008 +0100 [JFFS2] Invert last argument of jffs2_gc_fetch_inode(), make it boolean. We don't actually care about nlink; we only care whether the inode in question is unlinked or not. Signed-off-by: David Woodhouse commit 9fc3ace937a675bf42cbe6e6ef8950a6731ca16f Merge: c92758c... 23f8e4b... Author: Linus Torvalds Date: Thu May 1 08:45:19 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide: fix early setup of hwif->host_flags commit c92758ceda477b1333fde35327cfa867dcc47bd1 Merge: 03fc922... 4f02f82... Author: Linus Torvalds Date: Thu May 1 08:28:26 2008 -0700 Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 * 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6: hwmon: (adt7473) minor cleanup / refactoring hwmon: (asb100) Remove some dead code hwmon: (lm75) Fix an incorrect comment hwmon: (w83793) VID and VRM handling cleanups hwmon: (w83l785ts) Don't ask the user to report failures hwmon: (smsc47b397) add a new chip id (0x8c) commit 03fc922f4085a0139f313831fe2dc6fed467cd2d Merge: a0be752... df4b565... Author: Linus Torvalds Date: Thu May 1 08:26:56 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: module: add MODULE_STATE_GOING notifier call module: Enhance verify_export_symbols module: set unused_gpl_crcs instead of overwriting unused_crcs module: neaten __find_symbol, rename to find_symbol module: reduce module image and resident size module: make module_sect_attrs private to kernel/module.c commit a0be7522b25f17ac2c3964a24b88b5fe7c9404b8 Merge: 3b2b74c... b1145ce... Author: Linus Torvalds Date: Thu May 1 08:15:36 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] cryptd: Correct kzalloc error test [CRYPTO] eseqiv: Fix off-by-one encryption [CRYPTO] api: Fix scatterwalk_sg_chain [CRYPTO] authenc: Fix async crypto crash in crypto_authenc_genicv() commit 3b2b74cad34e7a0cf6d4929ee9e8ad4e11a84867 Author: Sebastian Siewior Date: Thu May 1 14:08:12 2008 +1000 m68knommu: fix FEC driver locking It's easy: grab locks before talking to hardware and realease them afterwards. The one big lock has been splitted into a hw_lock and mii_lock. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit c1d9615680c3f43a305b1f66dff0f933d5079273 Author: Sebastian Siewior Date: Thu May 1 14:04:02 2008 +1000 m68knommu: kill warnings in FEC driver linux-2.6-mk68/drivers/net/fec.c: In function 'fec_enet_module_init': linux-2.6-mk68/drivers/net/fec.c:2627: warning: unused variable 'j' linux-2.6-mk68/drivers/net/fec.c: At top level: linux-2.6-mk68/drivers/net/fec.c:2136: warning: 'mii_link_interrupt' defined but not used Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 398ec922b9cd5fdec26d2ca75b9389bed2432557 Author: Greg Ungerer Date: Thu May 1 13:47:09 2008 +1000 m68knommu: remove unused interrupts in FEC driver Remove the acquisition of unused interrupt types. We don't need to register all the TX and RX varients used on some ColdFire FEC hardware. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit cc462f7df0a78df568fd4e1d19f0874476f3c002 Author: Greg Ungerer Date: Thu May 1 13:35:34 2008 +1000 m68knommu: fix ColdFire 5272 fec driver hash registers Renamed the 5272 hash_table registers to match the "grp" hash_table registers of the other ColdFire parts. They are actually a group hash. The makes for consistent setup across all ColdFire parts. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 6c5a7d504fb0e27aa90b96267177d434642a393d Author: Sebastian Siewior Date: Thu May 1 12:17:49 2008 +1000 m68knommu: fix compare race in sched related code The interrupts must be disabled before considering the need resched bit of the task struct and they have to be disabled before calling schedule() Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 0042a1f7ecbc5d40eb2164f375ec87ecf3494418 Author: Greg Ungerer Date: Thu May 1 12:17:41 2008 +1000 m68knommu: rework definition of HZ Rework the HZ definition to be more consistent with other architectures. Non-kernel includers will see a constant HZ setting of 100. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 6cca49173198e1666cb9852649f66e1dba99d88a Author: Sebastian Siewior Date: Thu May 1 12:17:36 2008 +1000 m68knommu: update MAX_M68K_DMA_CHANNELS for some plattforms include/asm-m68knommu/mcfdma.h defines base0-3 for M523x, M527x and M528x so it looks this has been forgotten. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit cff28b56bdafd314836f4193b638b88d9b3cb5b1 Author: Greg Ungerer Date: Thu May 1 12:17:21 2008 +1000 m68knommu: remove unused CONFIG_DISKtel Remove unused CONFIG_DISKtel support. Missing config definition pointed out by Robert P. J. Day Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 188a9a4841c9b4a56cdd9b58761a882db4873f0c Author: Steve Bennett Date: Thu May 1 12:17:08 2008 +1000 m68knommu: add WilFire and WildfireMod board support This patch adds linux-2.6.x kernel support for the Intec Automation ColdFire 5282-based boards, the WildFire and WildFireMod Signed-Off-By: Steve Bennett Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 653620d6190670a7e2e3a6c7c0a4f78badb0e31f Author: Greg Ungerer Date: Thu May 1 12:17:00 2008 +1000 m68knommu: remove unused CONFIG_MTD_KeyTechnology Remove unused board type CONFIG_MTD_KeyTechnology. Pointed out by Robert P. J. Day Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit d259c329835bc1c17eca1dac7604baaf2d895e73 Author: Greg Ungerer Date: Thu May 1 12:16:53 2008 +1000 m68knommu: fix 5206e UART init function naming Fix ColdFire 5206e platform UART init function naming. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 779125c274446e873f262e24853353eaf0002719 Author: Sebastian Siewior Date: Thu May 1 12:16:46 2008 +1000 m68knommu: add some missing sections into the linker script Add some missing sections into the linker script. Those are required for spinlocks & kallsyms. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit f6054e2131d8f5d43f6686ecc7687994adecc5a2 Author: Sebastian Siewior Date: Thu May 1 12:16:38 2008 +1000 m68knommu: add pretty back strace With this patch and CONFIG_FRAME_POINTER=y CONFIG_KALLSYMS=y The backtrace shows resolved function names and their numeric address. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 008150f53729d188a5c14b1a86725972e15fe5f4 Author: Sebastian Siewior Date: Thu May 1 12:16:33 2008 +1000 m68knommu: add a missing backslash n in setup code add a missing backslash n in setup code Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit a19325a77432338d2710b3ebbe7fd8e6627e81e3 Author: Sebastian Siewior Date: Thu May 1 12:16:29 2008 +1000 m68knommu: ColdFire add support for kernel preemption As the subject says this patch adds the support for kernel preemption on m68knommu Coldfire. I thing the same changes could be applied to 68360 & 68328 but since I don't have the HW for testing, I don't touch it. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 2d7f16d6d12682c41fb287ea8261df8e4679f638 Author: Wilson Callan Date: Thu May 1 12:16:28 2008 +1000 m68knommu: fix signal handling return path The return from software signal handling pushes code on the stack that system calls to the kernels cleanup code. This is borrowed directly from the m68k linux signal handler. The rt signal case is not quite right for the restricted instruction set of the ColdFire parts. And neither the normal signal case or rt signal case properly flushes/pushes the appropriate cache lines. Rework the return path to just call back through some code fragments in the kernel proper (with no MMU in the way we can do this). No cache problems, and less code overall. Original patch submitted by Wilson Callan Greg fixed the rt signal return path to use the proper system call Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 10ed2195bb8aef4358223f07bb00e8cf9b278bf2 Author: Andrew Morton Date: Thu May 1 04:35:20 2008 -0700 drivers/scsi/mvsas.c: fix printk warnings drivers/scsi/mvsas.c: In function `mvs_update_phyinfo': drivers/scsi/mvsas.c:2822: warning: long long unsigned int format, u64 arg (arg 5) drivers/scsi/mvsas.c:2822: warning: long long unsigned int format, u64 arg (arg 6) We do not know what type the arch uses to implement u64. Cc: Ke Wei Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 726792b26b66c41f650e4a0c2f7b9e1fc16473a4 Author: Andrew Morton Date: Thu May 1 04:35:20 2008 -0700 drivers/scsi/ncr53c8xx.c: fix warning drivers/scsi/ncr53c8xx.c: In function 'process_waiting_list': drivers/scsi/ncr53c8xx.c:8225: warning: suggest parentheses around assignment used as truth value recently added by commit 172c122df5186e7cbd413d61757ff90267331002 Author: Harvey Harrison Date: Mon Apr 28 16:50:03 2008 -0700 scsi: fix integer as NULL pointer warnings Cc: James Bottomley Cc: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5098021e1ed91388ab7f3984650e95a5584450c3 Author: Andrew Morton Date: Thu May 1 04:35:19 2008 -0700 drivers-char-synclinkc-inbreak-mgsl_put_char-fix Cc: Alan Cox Cc: Jiri Slaby Cc: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 076482307ff1acfe88d5ad1a3fbfbac5cc8d7ad4 Author: Andrew Morton Date: Thu May 1 04:35:18 2008 -0700 drivers/char/synclink.c: unbreak mgsl_put_char() Repair the effects of commit 55da77899c1472d83452c914fa179d00ea96df65 Author: Alan Cox Date: Wed Apr 30 00:54:07 2008 -0700 synclink series: switch to int put_char method Signed-off-by: Alan Cox Cc: Paul Fulghum Cc: Jiri Slaby drivers/char/synclink_gt.c: In function 'put_char': drivers/char/synclink_gt.c:919: warning: 'ret' may be used uninitialized in this function and do some whitespace repair and unneeded-cast-removal in there as well. Cc: Paul Fulghum Cc: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24c03d47d0481ed7b172b398f6c9b7ca1fafb9fa Author: Harvey Harrison Date: Thu May 1 04:35:17 2008 -0700 block: remove remaining __FUNCTION__ occurrences __FUNCTION__ is gcc specific, use __func__ Signed-off-by: Harvey Harrison Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e37d05dad7ff9744efd8ea95a70d389e9a65a6fc Author: Mike Travis Date: Thu May 1 04:35:16 2008 -0700 cpu: change cpu_sys_devices from array to per_cpu variable Change cpu_sys_devices from array to per_cpu variable in drivers/base/cpu.c. Signed-off-by: Mike Travis Cc: Ashok Raj Cc: Vivek Goyal Cc: Greg Kroah-Hartman Cc: Suresh Siddha Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd7309677c937bf23296f6c81027123c84c5cc5c Author: Harvey Harrison Date: Thu May 1 04:35:15 2008 -0700 fuse: use clamp() rather than nested min/max clamp() exists for this use. Signed-off-by: Harvey Harrison Cc: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dfcf9c4bf1fda4aa75861bcf6c50607dd322fe5 Author: Denis V. Lunev Date: Thu May 1 04:35:14 2008 -0700 cciss: assign PDE->data before gluing PDE into /proc tree Simply replace proc_create and further data assigned with proc_create_data. Signed-off-by: Denis V. Lunev Cc: Alexey Dobriyan Cc: Eric W. Biederman Acked-by: Mike Miller Cc: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a3e77cc212f3bc8eccc95e0d046405cf2a02764 Author: Andrew Liu Date: Thu May 1 04:35:14 2008 -0700 workqueue: remove redundant function invocation timer_stats_timer_set_start_info is invoked twice, additionally, the invocation of this function can be moved to where it is only called when a delay is really required. Signed-off-by: Andrew Liu Cc: Pavel Machek Cc: Ingo Molnar Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55e462b05b5df4fd113c4a304c4f487d44b0898e Author: Balaji Rao Date: Thu May 1 04:35:12 2008 -0700 memcg: simple stats for memory resource controller Implement trivial statistics for the memory resource controller. Signed-off-by: Balaji Rao Acked-by: Balbir Singh Cc: Dhaval Giani Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f39e578172f30d3bdd4533465c7ec00db738eb9d Author: Will Newton Date: Thu May 1 04:35:10 2008 -0700 gpio: pca953x: add support for pca9555 I2C I/O expander Add support for pca9555 I2C I/O expander. As the comment suggests this part is software compatible with the pca9539. Signed-off-by: Will Newton Cc: "eric miao" Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 868eb7a8539d3e8c494209be2b1f4084a274dfef Author: Jan Blunck Date: Thu May 1 04:35:10 2008 -0700 autofs: path_{get,put}() cleanups Here are some more places where path_{get,put}() can be used instead of dput()/mntput() pair. Besides that it fixes a bug in autofs4_mount_busy() where mntput() was called before dput(). Signed-off-by: Jan Blunck Cc: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d2de6ad2a78bb8b60bf7a54e6043dca44e9a801 Author: Jeff Moyer Date: Thu May 1 04:35:09 2008 -0700 autofs4: fix incorrect return from root.c:try_to_fill_dentry() Jeff Moyer has identified a case where the autofs4 function root.c:try_to_fill_dentry() can return -EBUSY when it should return 0. Jeff's description of the way this happens is: "automount starts an expire for directory d. after the callout to the daemon, but before the rmdir, another process tries to walk into the same directory. It puts itself onto the waitq, pending the expiration. When the expire finishes, the second process is woken up. In try_to_fill_dentry, it does this check: status = d_invalidate(dentry); if (status != -EBUSY) return -EAGAIN; And status is EBUSY. The dentry still has a non-zero d_inode, and the flags do not contain LOOKUP_CONTINUE or LOOKUP_DIRECTORY So, we fall through and return -EBUSY to the caller." Signed-off-by: Jeff Moyer Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 033790449ba9c4dcf8478a87693d33df625c23b5 Author: Jeff Moyer Date: Thu May 1 04:35:08 2008 -0700 autofs4: fix execution order race in mount request code Jeff Moyer has identified a race in due to an execution order dependency in the autofs4 function root.c:try_to_fill_dentry(). Jeff's description of this race is: "P1 does a lookup of /mount/submount/foo. Since the VFS can't find an entry for "foo" under /mount/submount, it calls into the autofs4 kernel module to allocate a new dentry, D1. The kernel creates a new waitq for this lookup and calls the daemon to perform the mount. The daemon performs a mkdir of the "foo" directory under /mount/submount, which ends up creating a *new* dentry, D2. Then, P2 does a lookup of /mount/submount/foo. The VFS path walking logic finds a dentry in the dcache, D2, and calls the revalidate function with this. In the autofs4 revalidate code, we then trigger a mount, since the dentry is an empty directory that isn't a mountpoint, and so set DCACHE_AUTOFS_PENDING and call into the wait code to trigger the mount. The wait code finds our existing waitq entry (since it is keyed off of the directory name) and adds itself to the list of waiters. After the daemon finishes the mount, it calls back into the kernel to release the waiters. When this happens, P1 is woken up and goes about clearing the DCACHE_AUTOFS_PENDING flag, but it does this in D1! So, given that P1 in our case is a program that will immediately try to access a file under /mount/submount/foo, we end up finding the dentry D2 which still has the pending flag set, and we set out to wait for a mount *again*! So, one way to address this is to re-do the lookup at the end of try_to_fill_dentry, and to clear the pending flag on the hashed dentry. This seems a sane approach to me." And Jeff's patch does this. Signed-off-by: Jeff Moyer Signed-off-by-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cab0936aac8aa907c6bb814c2cf26385478f254b Author: Ian Kent Date: Thu May 1 04:35:07 2008 -0700 autofs4: check for invalid dentry in getpath Catch invalid dentry when calculating its path. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afec570c32a0d116e3c68af583ed1d11110f12fc Author: Ian Kent Date: Thu May 1 04:35:06 2008 -0700 autofs4: fix sparse warning in waitq.c:autofs4_expire_indirect() Re-order some code in expire.c:autofs4_expire_indirect() to avoid compile warning, reported by Harvey Harrison: CHECK fs/autofs4/expire.c fs/autofs4/expire.c:383:2: warning: context imbalance in 'autofs4_expire_indirect' - unexpected unlock Signed-off-by: Ian Kent Reviewed-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c32e026efc1e1a4f9e36babebf123f2b88205b0b Author: Jan Kara Date: Thu May 1 04:35:05 2008 -0700 quota: add a convenience macro for filesystems Note that it cannot be an inline function because we don't have struct super_block prototype... Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d34aa4d5a3e5d141bb4d07ed5d4bf02d4d4998a Author: Matthew Wilcox Date: Thu May 1 04:35:04 2008 -0700 spi_s3c24xx signedness fix On Fri, Apr 18, 2008 at 09:08:55PM +0200, Julia Lawall wrote: > I found 63 occurrences of this problem with the following semantic match > (http://www.emn.fr/x-info/coccinelle/): > > @@ unsigned int i; @@ > > * i < 0 > Since this one's always in the range 0-255, it could probably be made signed, but it's just as easy to make it work unsigned. Reported-by: Julia Lawall Signed-off-by: Matthew Wilcox Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8eeb12e5a2486ab958fa27ec97e71dabf234b73b Author: Vitja Makarov Date: Thu May 1 04:35:03 2008 -0700 spi_bfin5xx: use PIO for full duplex, not DMA Use PIO for full-duplex transfers, instead of DMA. Signed-off-by: Vitja Makarov Signed-off-by: Bryan Wu Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef3fb66ced1a890769d71a4f4ae9f68b8afa98b6 Author: Jean Delvare Date: Thu May 1 04:35:01 2008 -0700 dmi: clean-up dmi helper declarations The declaration of dmi helper functions is a bit messy and inconsistent at the moment: * On ia64 they are declared in . * On x86-64 they are declared in . * On i386 they are declared both in and . Fix the header files so that the dmi helper functions are consistently defined in . Signed-off-by: Jean Delvare Cc: Matt Domsch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99da9047e675a4a8d671bbd67b34eb096c308b0d Author: Scott Kilau Date: Thu May 1 04:35:00 2008 -0700 jsm: add new supported board to jsm serial driver Add new PCI Express Neo/JSM board to the supported list of drivers in the JSM driver. Signed-off-by: Scott Kilau Acked-by: Ananda V Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f441fe99814f64315b8c11890744230b990c460 Author: Alan Cox Date: Thu May 1 04:34:59 2008 -0700 8250: switch 8250 drivers to use _nocache ioremaps Signed-off-by: Alan Cox Cc: Russell King Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ed99a27d161ce6f1eb6657c5cd5e6aef365c665 Author: Jochen Eisinger Date: Thu May 1 04:34:58 2008 -0700 i8k: make fan multiplier tunable with a module parameter The i8k driver multiplies the fan speed reported by the BIOS with a factor of 30. On my Dell Latitude D800, this factor is not required. I'd suggest to make this configurable. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af8e2a4cb9b3e14b919ae1cd4012825aefddbeb0 Author: Nadia Derbey Date: Thu May 1 04:34:57 2008 -0700 idr: fix idr_remove() The return inside the loop makes us free only a single layer. Signed-off-by: Nadia Derbey Cc: "Paul E. McKenney" Cc: Manfred Spraul Cc: Jim Houston Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7793bfcfccc91d036d61618d90baf2be3d76e710 Author: Randy Dunlap Date: Thu May 1 04:34:55 2008 -0700 PNP: fix printk format warnings next-20080430/drivers/pnp/pnpbios/rsparser.c:594: warning: format '%d' expects type 'int', but argument 4 has type 'resource_size_t' next-20080430/drivers/pnp/pnpbios/rsparser.c:605: warning: format '%d' expects type 'int', but argument 4 has type 'resource_size_t' [joe@perches.com: fix it] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Randy Dunlap Cc: Bjorn Helgaas Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e11cb4c52ffbadab4844b28803577ba7272b221 Author: Harvey Harrison Date: Thu May 1 04:34:54 2008 -0700 pcmcia: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23d077e28127ea96408032edcf9dd7062a0daaa3 Author: Andrew Morton Date: Thu May 1 04:34:54 2008 -0700 drivers/pcmcia/soc_common.c: convert soc_pcmcia_sockets_lock into a mutex and make it static Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12d1e75d3d4d2748f5db308d9b5d5b873435c308 Author: Matthias Kaehlcke Date: Thu May 1 04:34:53 2008 -0700 Alchemy Semi Au1000 pcmcia driver: convert pcmcia_sockets_lock in a mutex Alchemy Semi Au1000 pcmcia driver: The semaphore pcmcia_sockets_lock is used as a mutex, convert it to the mutex API (akpm: make it static too) Signed-off-by: Matthias Kaehlcke Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e772d782a6b0f14d491a95445f0ec6767d66fb29 Author: Sam Ravnborg Date: Thu May 1 04:34:52 2008 -0700 pcmcia: annotate cb_alloc with __ref cb_alloc() uses a function (pci_scan_slot) that will be annotated __devinit. Annotate cb_alloc() with __ref to tell modpost to ignore this reference. Signed-off-by: Sam Ravnborg Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba66ddfa613886cbb554f7b064dc05bdc2c7138b Author: Sam Ravnborg Date: Thu May 1 04:34:51 2008 -0700 pcmcia: silence section mismatch warnings from pci_driver variables Silence following warnings: WARNING: drivers/pcmcia/built-in.o(.data+0x14e0): Section mismatch in reference from the variable pd6729_pci_drv to the function .devinit.text:pd6729_pci_probe() WARNING: drivers/pcmcia/built-in.o(.data+0x14e8): Section mismatch in reference from the variable pd6729_pci_drv to the function .devexit.text:pd6729_pci_remove() WARNING: drivers/pcmcia/built-in.o(.data+0x16c0): Section mismatch in reference from the variable i82092aa_pci_drv to the function .devinit.text:i82092aa_pci_probe() WARNING: drivers/pcmcia/built-in.o(.data+0x16c8): Section mismatch in reference from the variable i82092aa_pci_drv to the function .devexit.text:i82092aa_pci_remove() Rename the variables from *_drv to *_driver so modpost ignore the OK references to __devinit/__devexit functions. Signed-off-by: Sam Ravnborg Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed49f5d0015927334dcca3607a9bfc1478ff8f55 Author: Sam Ravnborg Date: Thu May 1 04:34:50 2008 -0700 pcmcia: silence section mismatch warnings from class_interface variables Silence the following warnings: WARNING: drivers/pcmcia/built-in.o(.data+0x6e8): Section mismatch in reference from the variable pcmcia_bus_interface to the function .devinit.text:pcmcia_bus_add_socket() WARNING: drivers/pcmcia/built-in.o(.data+0xa88): Section mismatch in reference from the variable pccard_rsrc_interface to the function .devinit.text:pccard_sysfs_add_rsrc() WARNING: drivers/pcmcia/built-in.o(.data+0xa90): Section mismatch in reference from the variable pccard_rsrc_interface to the function .devexit.text:pccard_sysfs_remove_rsrc() The variables of type class_interface contains references to __devinit and __devexit functions which is OK. Silence warnings by annotating the variables with __refdata. Signed-off-by: Sam Ravnborg Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be089d79c46f5efa77fbdf03c5e576e220bf143f Author: Michael Ellerman Date: Thu May 1 04:34:49 2008 -0700 kexec: make extended crashkernel= syntax less confusing The extended crashkernel syntax is a little confusing in the way it handles ranges. eg: crashkernel=512M-2G:64M,2G-:128M Means if the machine has between 512M and 2G of memory the crash region should be 64M, and if the machine has 2G of memory the region should be 64M. Only if the machine has more than 2G memory will 128M be allocated. Although that semantic is correct, it is somewhat baffling. Instead I propose that the end of the range means the first address past the end of the range, ie: 512M up to but not including 2G. [bwalle@suse.de: clarify inclusive/exclusive in crashkernel commandline in documentation] Signed-off-by: Michael Ellerman Acked-by: Bernhard Walle Cc: "Eric W. Biederman" Cc: Simon Horman Signed-off-by: Bernhard Walle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c85d194bfd2e36c5254b8058c1f35cfce0dfa10a Author: Randy Dunlap Date: Thu May 1 04:34:48 2008 -0700 docbook: fix vmalloc missing parameter notation Fix vmalloc kernel-doc warning: Warning(linux-2.6.25-git14//mm/vmalloc.c:555): No description found for parameter 'caller' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5045790589bd426b5d515d78fa71f0fc92dd4e83 Author: Ingo Molnar Date: Thu May 1 04:34:47 2008 -0700 isdn: hysdn_procconf.c build fix x86.git randconfig testing found the following build error in latest -git: CC [M] drivers/isdn/hysdn/hysdn_procconf.o CC [M] drivers/isdn/hysdn/hysdn_init.o drivers/isdn/hysdn/hysdn_procconf.c: In function 'hysdn_procconf_init': drivers/isdn/hysdn/hysdn_procconf.c:408: error: too few arguments to function 'proc_create' with the following config: http://redhat.com/~mingo/misc/config-Wed_Apr_30_15_12_48_CEST_2008.bad Signed-off-by: Ingo Molnar Cc: "Denis V. Lunev" Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e3a7d666d6db19406ba0865e8116ff59c8af6f1 Author: David Woodhouse Date: Thu May 1 04:34:46 2008 -0700 Embedded Maintainer(s), linux-embedded@vger list Add Paul and myself, and the linux-embedded list, to MAINTAINERS. Signed-off-by: David Woodhouse Signed-off-by: Paul Gortmaker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02c6be615f1fcd37ac5ed93a3ad6692ad8991cd9 Author: Miklos Szeredi Date: Thu May 1 04:34:45 2008 -0700 vfs: fix permission checking in sys_utimensat If utimensat() is called with both times set to UTIME_NOW or one of them to UTIME_NOW and the other to UTIME_OMIT, then it will update the file time without any permission checking. I don't think this can be used for anything other than a local DoS, but could be quite bewildering at that (e.g. "Why was that large source tree rebuilt when I didn't modify anything???") This affects all kernels from 2.6.22, when the utimensat() syscall was introduced. Fix by doing the same permission checking as for the "times == NULL" case. Thanks to Michael Kerrisk, whose utimensat-non-conformances-and-fixes.patch in -mm also fixes this (and breaks other stuff), only he didn't realize the security implications of this bug. Signed-off-by: Miklos Szeredi Cc: Ulrich Drepper Cc: Michael Kerrisk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2850699c59d513a0cd0c68f60f75609a5f9d4d32 Author: Randy Dunlap Date: Thu May 1 04:34:43 2008 -0700 sysfs: sysfs_update_group stub for CONFIG_SYSFS=n scsi_transport_spi uses sysfs_update_group() when CONFIG_SYSFS=n, so provide a stub for it. next-20080423/drivers/scsi/scsi_transport_spi.c:1467: error: implicit declaration of function 'sysfs_update_group' make[3]: *** [drivers/scsi/scsi_transport_spi.o] Error 1 Signed-off-by: Randy Dunlap Cc: Greg KH Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34990cf702bdf2b4964e0629dab4af7669f8b2c5 Author: David Brownell Date: Thu May 1 04:34:42 2008 -0700 Add a new sysfs_streq() string comparison function Add a new sysfs_streq() string comparison function, which ignores the trailing newlines found in sysfs inputs. By example: sysfs_streq("a", "b") ==> false sysfs_streq("a", "a") ==> true sysfs_streq("a", "a\n") ==> true sysfs_streq("a\n", "a") ==> true This is intended to simplify parsing of sysfs inputs, letting them avoid the need to manually strip off newlines from inputs. Signed-off-by: David Brownell Acked-by: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7dffa3c673fbcf835cd7be80bb4aec8ad3f51168 Author: Roman Zippel Date: Thu May 1 04:34:41 2008 -0700 ntp: handle leap second via timer Remove the leap second handling from second_overflow(), which doesn't have to check for it every second anymore. With CONFIG_NO_HZ this also makes sure the leap second is handled close to the full second. Additionally this makes it possible to abort a leap second properly by resetting the STA_INS/STA_DEL status bits. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8383c42399f394a89bd6c2f03632c53689bdde7a Author: Roman Zippel Date: Thu May 1 04:34:39 2008 -0700 ntp: remove current_tick_length() current_tick_length used to do a little more, but now it just returns tick_length, which we can also access directly at the few places, where it's needed. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fc5c78409479d826341b103bdf734cb4fb02436 Author: Roman Zippel Date: Thu May 1 04:34:38 2008 -0700 ntp: rename TICK_LENGTH_SHIFT to NTP_SCALE_SHIFT As TICK_LENGTH_SHIFT is used for more than just the tick length, the name isn't quite approriate anymore, so this renames it to NTP_SCALE_SHIFT. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 153b5d054ac2d98ea0d86504884326b6777f683d Author: Roman Zippel Date: Thu May 1 04:34:37 2008 -0700 ntp: support for TAI This adds support for setting the TAI value (International Atomic Time). The value is reported back to userspace via timex (as we don't have a ntp_gettime() syscall). Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f14f669d18477fe3df071e2fa4da36c00acee8e Author: Roman Zippel Date: Thu May 1 04:34:36 2008 -0700 ntp: increase time_offset resolution time_offset is already a 64bit value but its resolution barely used, so this makes better use of it by replacing SHIFT_UPDATE with TICK_LENGTH_SHIFT. Side note: the SHIFT_HZ in SHIFT_UPDATE was incorrect for CONFIG_NO_HZ and the primary reason for changing time_offset to 64bit to avoid the overflow. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 074b3b87941c99bc0ce35385b5817924b1ed0c23 Author: Roman Zippel Date: Thu May 1 04:34:34 2008 -0700 ntp: increase time_freq resolution This changes time_freq to a 64bit value and makes it static (the only outside user had no real need to modify it). Intermediate values were already 64bit, so the change isn't that big, but it saves a little in shifts by replacing SHIFT_NSEC with TICK_LENGTH_SHIFT. PPM_SCALE is then used to convert between user space and kernel space representation. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eea83d896e318bda54be2d2770d2c5d6668d11db Author: Roman Zippel Date: Thu May 1 04:34:33 2008 -0700 ntp: NTP4 user space bits update This adds a few more things from the ntp nanokernel related to user space. It's now possible to select the resolution used of some values via STA_NANO and the kernel reports in which mode it works (pll/fll). If some values for adjtimex() are outside the acceptable range, they are now simply normalized instead of letting the syscall fail. I removed MOD_CLKA/MOD_CLKB as the mapping didn't really makes any sense, the kernel doesn't support setting the clock. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee9851b218b8bafa22942b5404505ff3d2d34324 Author: Roman Zippel Date: Thu May 1 04:34:32 2008 -0700 ntp: cleanup ntp.c This is mostly a style cleanup of ntp.c and extracts part of do_adjtimex as ntp_update_offset(). Otherwise the functionality is still the same as before. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8bd2258e2d520dff28c855658bd24bdafb5102d Author: Roman Zippel Date: Thu May 1 04:34:31 2008 -0700 remove div_long_long_rem x86 is the only arch right now, which provides an optimized for div_long_long_rem and it has the downside that one has to be very careful that the divide doesn't overflow. The API is a little akward, as the arguments for the unsigned divide are signed. The signed version also doesn't handle a negative divisor and produces worse code on 64bit archs. There is little incentive to keep this API alive, so this converts the few users to the new API. Signed-off-by: Roman Zippel Cc: Ralf Baechle Cc: Ingo Molnar Cc: Thomas Gleixner Cc: john stultz Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f6d6a1a6a1336431a6cba60ace9e97c3a496a19 Author: Roman Zippel Date: Thu May 1 04:34:28 2008 -0700 rename div64_64 to div64_u64 Rename div64_64 to div64_u64 to make it consistent with the other divide functions, so it clearly includes the type of the divide. Move its definition to math64.h as currently no architecture overrides the generic implementation. They can still override it of course, but the duplicated declarations are avoided. Signed-off-by: Roman Zippel Cc: Avi Kivity Cc: Russell King Cc: Geert Uytterhoeven Cc: Ralf Baechle Cc: David Howells Cc: Jeff Dike Cc: Ingo Molnar Cc: "David S. Miller" Cc: Patrick McHardy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71abb3af62dfa52930755f3b6497eafbe1d6ec85 Author: Roman Zippel Date: Thu May 1 04:34:26 2008 -0700 convert a few do_div users This converts a few users of do_div to div_[su]64 and this demonstrates nicely how it can reduce some expressions to one-liners. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2418f4f28f8467b92a6177af32d05737ebf6206c Author: Roman Zippel Date: Thu May 1 04:34:25 2008 -0700 introduce explicit signed/unsigned 64bit divide The current do_div doesn't explicitly say that it's unsigned and the signed counterpart is missing, which is e.g. needed when dealing with time values. This introduces 64bit signed/unsigned divide functions which also attempts to cleanup the somewhat awkward calling API, which often requires the use of temporary variables for the dividend. To avoid the need for temporary variables everywhere for the remainder, each divide variant also provides a version which doesn't return the remainder. Each architecture can now provide optimized versions of these function, otherwise generic fallback implementations will be used. As an example I provided an alternative for the current x86 divide, which avoids the asm casts and using an union allows gcc to generate better code. It also avoids the upper divde in a few more cases, where the result is known (i.e. upper quotient is zero). Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit adafbedf0c31ae1cde62035c82857f5e376af553 Author: David Howells Date: Thu May 1 04:34:24 2008 -0700 frv: unbreak misalignment handling changes Fix a reference in a arch/frv/mm/Makefile to unaligned.c which has now been deleted. Also revert the change to the guard macro name in include/asm-frv/unaligned.h. Signed-off-by: David Howells Cc: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5e417232e7c9ecc58a77902d2e8dd46792cd092 Author: Christian Borntraeger Date: Thu May 1 04:34:23 2008 -0700 Fix cpu hotplug problem in softirq code currently cpu hotplug (unplug) seems broken on s390 and likely others. On cpu unplug the system starts to behave very strange and hangs. I bisected the problem to the following commit: commit 48f20a9a9488c432fc86df1ff4b7f4fa895d1183 Author: Olof Johansson Date: Tue Mar 4 15:23:25 2008 -0800 tasklets: execute tasklets in the same order they were queued Reverting this patch seems to fix the problem. I looked into takeover_tasklet and it seems that there is a way to corrupt the tail pointer of the current cpu. If the tasklet list of the frozen cpu is empty, the tail pointer of the current cpu points to the address of the head pointer of the stopped cpu and not to the next pointer of a tasklet_struct. This patch avoids the list splice of the list is empty and cpu hotplug seems to work as the tail pointer is not corrupted. Olof, can you look into that patch and ACK/NACK it so Andrew can push this to Linus, if appropriate? Please note that some lines are longer than 80 chars, but line-wrapping looked worse that this version. Signed-off-by: Christian Borntraeger Acked-by: Olof Johansson Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bffd7b57d747d74ec2962d7c822f4b86e9f64d4 Author: Paul Jackson Date: Thu May 1 04:34:21 2008 -0700 cpusets: update maintainers Update CPUSETS MAINTAINERS to reflect the more active role of Paul Menage (secondary to his work on cgroups) and the retirement of the original author of cpusets, Simon Derr. Thanks, Simon! Best of luck to you. Signed-off-by: Paul Jackson Acked-by: Paul Menage Acked-by: Simon Derr Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 590fe34c47cb5c2d836ac76fabc5f160bf31a3f1 Author: David Woodhouse Date: Thu May 1 15:53:28 2008 +0100 [JFFS2] Quiet lockdep false positive. Don't hold f->sem while calling into jffs2_do_create(). It makes lockdep unhappy, and we don't really need it -- the _reason_ it's a false positive is because nobody else can see this inode yet and so nobody will be trying to lock it anyway. Signed-off-by: David Woodhouse commit 23f8e4bf7cf0e2125b6d798cc85c031951c763d3 Author: Bartlomiej Zolnierkiewicz Date: Thu May 1 14:08:51 2008 +0200 ide: fix early setup of hwif->host_flags On Thursday 01 May 2008, Jeremy Kerr wrote: > Hi all, > > On QS20 Cell machines, Linus' current git tree explodes on boot: > > SiI680: IDE controller (0x1095:0x0680 rev 0x02) at PCI slot > 0000:00:0a.0 > SiI680: BASE CLOCK == 133 > SiI680: 100% native mode on irq 51 > ide0: MMIO-DMA > ide1: MMIO-DMA > Unable to handle kernel paging request for data at address > 0xa000100081220080 > Faulting instruction address: 0xc000000000024748 > cpu 0x2: Vector: 300 (Data Access) at [c00000001e143420] > pc: c000000000024748: ._insw_ns+0x10/0x30 > lr: c000000000037fc4: .spiderpci_readsw+0x24/0x6c > sp: c00000001e1436a0 > msr: 9000000000001032 > dar: a000100081220080 > dsisr: 40000000 > current = 0xc00000003d060000 > paca = 0xc000000000623880 > pid = 1, comm = swapper > enter ? for help > [link register ] c000000000037fc4 .spiderpci_readsw+0x24/0x6c > [c00000001e1436a0] c00000000062ce63 (unreliable) > [c00000001e143730] c0000000000379d4 .iowa_readsw+0x78/0xa8 > [c00000001e1437c0] c000000000037a98 .iowa_insw+0x94/0xd4 > [c00000001e143850] c00000000022a190 .ata_input_data+0x298/0x2ec > [c00000001e143910] c00000000022b600 .try_to_identify+0x2c0/0x6d4 > [c00000001e1439d0] c00000000022bb54 .do_probe+0x140/0x35c > [c00000001e143a80] c00000000022bfbc .ide_probe_port+0x24c/0x670 > [c00000001e143b50] c00000000022d09c .ide_device_add_all+0x2ec/0x690 > [c00000001e143c00] c00000000022d4a4 .ide_device_add+0x64/0x74 > [c00000001e143c90] c00000000022f834 .ide_setup_pci_device+0x58/0x7c > [c00000001e143d30] c00000000038bdf8 > [c00000001e143e10] c000000000486fb0 .ide_scan_pcibus+0x8c/0x178 > [c00000001e143ea0] c000000000460c00 .kernel_init+0x1c4/0x344 > [c00000001e143f90] c000000000024a1c .kernel_thread+0x4c/0x68 > > It looks like we're trying to do PIO accesses (which appear to be > broken, but that's another issue) to this MMIO device. In > ata_input_data, we see that: > > u8 mmio = (hwif->host_flags & IDE_HFLAG_MMIO) ? 1 : 0; > > Gives mmio == 0. > > (what's the difference between hwif->mmio and ID_HFLAG_MMIO?) > > In the siimage driver, hwif->host flags is initially set up correctly > (host_flags includes IDE_HFLAG_MMIO), but we then *clear* this bit in > ide_init_port: > > hwif->host_flags = d->host_flags; > > where d is the struct ide_port_info for this chipset. In my case, > d->host_flags is 0x0. It looks like this will be the same for all of > the siimage chipsets. Don't over-write hwif->host_flags in ide_init_port(), some host drivers set IDE_HFLAG_MMIO or IDE_HFLAG_NO_IO_32BIT host flag early. Thanks to Jeremy Kerr for the excellent analysis of the bug. Reported-by: Jeremy Kerr Tested-by: Jeremy Kerr Cc: Sergei Shtylyov Cc: Ben Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 4f02f8220562591322c118d07a32bebf705318b7 Merge: 1852448... 8093077... Author: Mark M. Hoffman Date: Thu May 1 07:33:17 2008 -0400 Merge branch 'smsc47b397-new-id' into release commit 4e571aba7bb25a3a069a7b88c0f63fe5a14c05c6 Author: David Woodhouse Date: Thu May 1 12:28:04 2008 +0100 [JFFS2] Clean up jffs2_alloc_inode() and jffs2_i_init_once() Ditch a couple of pointless casts from void *, and use the normal variable name 'f' for jffs2_inode_info pointers -- especially since it actually shows up in lockdep reports. Signed-off-by: David Woodhouse commit df4b565e1fbc777bb6e274378a41fa8ff7485680 Author: Peter Oberparleiter Date: Mon Apr 21 14:34:31 2008 +0200 module: add MODULE_STATE_GOING notifier call Provide module unload callback. Required by the gcov profiling infrastructure to keep track of profiling data structures. Signed-off-by: Peter Oberparleiter Signed-off-by: Rusty Russell commit b211104d111c99dbb97c636b57bd9db711455684 Author: Rusty Russell Date: Thu May 1 21:15:00 2008 -0500 module: Enhance verify_export_symbols Make verify_export_symbols check the modules unused, unused_gpl and gpl_future syms. Inspired by Jan Beulich's fix, but table-driven. Signed-off-by: Rusty Russell commit 4e2d92454b2d822fe1d474efabccc2a3806d5f86 Author: Rusty Russell Date: Thu May 1 21:15:00 2008 -0500 module: set unused_gpl_crcs instead of overwriting unused_crcs Obvious typo, but I don't know of any modules with unused GPL exports, and then it would take someone noticing that the version shouldn't have matched in a dependent module. Signed-off-by: Rusty Russell commit ad9546c9917d44eddc7676b639296d624cee455e Author: Rusty Russell Date: Thu May 1 21:14:59 2008 -0500 module: neaten __find_symbol, rename to find_symbol __find_symbol() has grown over time: there are now 5 different arrays of symbols it traverses. It also shouldn't print out a warning on some calls (ie. verify_symbol which simply checks for name clashes, and __symbol_put which checks for bugs). 1) Rename to find_symbol: no need for underscores. 2) Use bool and add "warn" parameter to suppress warnings. 3) Make table-driven rather than open coded. Signed-off-by: Rusty Russell commit ea01e798e2d27fd04142e0473ca36570fa9d9218 Author: Rusty Russell Date: Thu Mar 13 09:02:17 2008 +0000 module: reduce module image and resident size Resulting reduction (x86-64, gcc 4.1.2) with my (special purpose, i.e. much reduced) configurations: - 16k kernel resident size - 180k module resident size - 10k module image size Signed-off-by: Jan Beulich Signed-off-by: Rusty Russell commit a58730c42174672fe0012a4edbe3e38f94ef2bad Author: Rusty Russell Date: Thu Mar 13 09:03:44 2008 +0000 module: make module_sect_attrs private to kernel/module.c No-one else is using these afaics. Signed-off-by: Jan Beulich Signed-off-by: Rusty Russell commit b1145ce395f7785487c128fe8faf8624e6586d84 Author: Julia Lawall Date: Wed Apr 30 00:27:14 2008 +0800 [CRYPTO] cryptd: Correct kzalloc error test Normally, kzalloc returns NULL or a valid pointer value, not a value to be tested using IS_ERR. Signed-off-by: Julia Lawall Signed-off-by: Herbert Xu commit 46f8153cc59384eb09a426d044668d4801f818ce Author: Herbert Xu Date: Tue Apr 29 21:57:01 2008 +0800 [CRYPTO] eseqiv: Fix off-by-one encryption After attaching the IV to the head during encryption, eseqiv does not increase the encryption length by that amount. As such the last block of the actual plain text will be left unencrypted. Fortunately the only user of this code hifn currently crashes so this shouldn't affect anyone :) Signed-off-by: Herbert Xu commit 8ec970d8561abb5645d4602433b772e268c96d05 Author: Herbert Xu Date: Tue Apr 29 21:53:52 2008 +0800 [CRYPTO] api: Fix scatterwalk_sg_chain When I backed out of using the generic sg chaining (as it isn't currently portable) and introduced scatterwalk_sg_chain/scatterwalk_sg_next I left out the sg_is_last check in the latter. This causes it to potentially dereference beyond the end of the sg array. As most uses of scatterwalk_sg_next are bound by an overall length, this only affected the chaining code in authenc and eseqiv. Thanks to Patrick McHardy for identifying this problem. This patch also clears the "last" bit on the head of the chained list as it's no longer last. This also went missing in scatterwalk_sg_chain and is present in sg_chain. Signed-off-by: Herbert Xu commit 161613293fd4b7d5ceb1faab788f47e688e07a67 Author: Patrick McHardy Date: Tue Apr 29 21:44:28 2008 +0800 [CRYPTO] authenc: Fix async crypto crash in crypto_authenc_genicv() crypto_authenc_givencrypt_done uses req->data as struct aead_givcrypt_request, while it really points to a struct aead_request, causing this crash: BUG: unable to handle kernel paging request at 6b6b6b6b IP: [] :authenc:crypto_authenc_genicv+0x23/0x109 *pde = 00000000 Oops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC Modules linked in: hifn_795x authenc esp4 aead xfrm4_mode_tunnel sha1_generic hmac crypto_hash] Pid: 3074, comm: ping Not tainted (2.6.25 #4) EIP: 0060:[] EFLAGS: 00010296 CPU: 0 EIP is at crypto_authenc_genicv+0x23/0x109 [authenc] EAX: daa04690 EBX: daa046e0 ECX: dab0a100 EDX: daa046b0 ESI: 6b6b6b6b EDI: dc872054 EBP: c033ff60 ESP: c033ff0c DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 Process ping (pid: 3074, ti=c033f000 task=db883a80 task.ti=dab6c000) Stack: 00000000 daa046b0 c0215a3e daa04690 dab0a100 00000000 ffffffff db9fd7f0 dba208c0 dbbb1720 00000001 daa04720 00000001 c033ff54 c0119ca9 dc852a75 c033ff60 c033ff60 daa046e0 00000000 00000001 c033ff6c dc87527b 00000001 Call Trace: [] ? dev_alloc_skb+0x14/0x29 [] ? printk+0x15/0x17 [] ? crypto_authenc_givencrypt_done+0x1a/0x27 [authenc] [] ? hifn_process_ready+0x34a/0x352 [hifn_795x] [] ? rhine_napipoll+0x3f2/0x3fd [via_rhine] [] ? hifn_check_for_completion+0x4d/0xa6 [hifn_795x] [] ? hifn_tasklet_callback+0xa/0xc [hifn_795x] [] ? tasklet_action+0x3f/0x66 [] ? __do_softirq+0x38/0x7a [] ? do_softirq+0x3e/0x71 [] ? irq_exit+0x2c/0x65 [] ? smp_apic_timer_interrupt+0x5f/0x6a [] ? apic_timer_interrupt+0x28/0x30 [] ? hifn_handle_req+0x44a/0x50d [hifn_795x] ... Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu commit ab59859de1946a098b091308380179e92dc7683b Author: Harvey Harrison Date: Thu May 1 02:47:38 2008 -0700 net: fix returning void-valued expression warnings drivers/net/8390.c:37:2: warning: returning void-valued expression drivers/net/bnx2.c:1635:3: warning: returning void-valued expression drivers/net/xen-netfront.c:1806:2: warning: returning void-valued expression net/ipv4/tcp_hybla.c:105:3: warning: returning void-valued expression net/ipv4/tcp_vegas.c:171:3: warning: returning void-valued expression net/ipv4/tcp_veno.c:123:3: warning: returning void-valued expression net/sysctl_net.c:85:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Acked-by: Alan Cox Signed-off-by: David S. Miller commit c2a3b233450d5bc426c063ea2d8a74351db29ea4 Merge: e4c576b... c0d4399... Author: David S. Miller Date: Thu May 1 02:06:32 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit e4c576b911e364737b1bf4f5bfdab1c440713f26 Author: Theodore Ts'o Date: Wed Apr 30 21:55:48 2008 -0400 Update .gitignore to include include/linux/bounds.h (which is autogenerated by kbuild) Signed-off-by: "Theodore Ts'o" Signed-off-by: Linus Torvalds commit ccc751841567816532874afcaeb449dbf6ca7d3a Merge: 214b704... 8099179... Author: Linus Torvalds Date: Wed Apr 30 20:13:22 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: ipv6: Compilation fix for compat MCAST_MSFILTER sockopts. commit 214b7049a7929f03bbd2786aaef04b8b79db34e2 Author: Al Viro Date: Thu May 1 03:52:22 2008 +0100 Fix dnotify/close race We have a race between fcntl() and close() that can lead to dnotify_struct inserted into inode's list *after* the last descriptor had been gone from current->files. Since that's the only point where dnotify_struct gets evicted, we are screwed - it will stick around indefinitely. Even after struct file in question is gone and freed. Worse, we can trigger send_sigio() on it at any later point, which allows to send an arbitrary signal to arbitrary process if we manage to apply enough memory pressure to get the page that used to host that struct file and fill it with the right pattern... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 6d98ca736441029e4e87ad3b6dc4a8645dc4c6d3 Author: Linus Torvalds Date: Wed Apr 30 19:50:03 2008 -0700 x86: Mark OPTIMIZE_INLINING broken So Ingo finally did figure out why UML broke with this option: UML passes gcc the -fno-unit-at-a-time flag, and apparently that wreaks havoc with gcc's inlining. We could turn off -fno-unit-at-a-time for UML for gcc4+ (which is what x86 does), but there's bad blood about this whole option, and it does show that the thing is just fragile as heck. So let tempers cool, and disable the thing, and we can revisit the decision later. Cc: Adrian Bunk Cc: David Miller Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 958a2f29a6520a1d2973077ce7854ea9a44f48a2 Merge: 6de3d58... 895d309... Author: Linus Torvalds Date: Wed Apr 30 19:31:52 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes3 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes3: (21 commits) x86: numaq fix x86: 8K stacks by default x86: ioremap ram check fix x86: fix HT cpu booting on 32-bit x86: optimize inlining off x86: CONFIG_X86_ELAN fix x86: Kconfig fix x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range() x86: use defconfigs from x86/configs/* toshiba: use ioremap_cached revert: "x86: ioremap(), extend check to all RAM pages" x86: don't bother printing compat vdso address fix: x86: support for new UV apic x86: fix early-BUG message x86: iommu_sac_force can become static x86: add proper header for reboot_force x86 VISWS: build fix x86, voyager: fix ioremap_nocache() hpet: fix x86: unexport kmap_atomic_to_page ... commit c0d43990768b6ca83604ff4be80425b89d317e2f Author: Holger Schurig Date: Tue Apr 29 10:07:56 2008 +0200 libertas: fix use-before-check violation According to Coverity (kudo's to Adrian Bunk), we had one use-before-check bug in libe libertas driver. This patch fixes this issue. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 2e35af143a1380173ba292e48e9b4913ef16b4ee Author: Michael Buesch Date: Sun Apr 27 19:06:18 2008 +0200 b43: Fix dual-PHY devices This fixes operation of dual-PHY (A/B/G) devices. Do not anounce the A-PHY to mac80211, as that's not supported, yet. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 17f830459d6116ae13dbcfc9d09a406e6717b1a6 Author: Harvey Harrison Date: Sun Apr 27 03:48:40 2008 -0700 mac80211: incorrect shift direction Looks like 5d2cdcd4e85c5187db30a6b29f79fbbe59f39f78 ("mac80211: get a TKIP phase key from skb") got the shifts wrong. Noticed by sparse: net/mac80211/tkip.c:234:25: warning: right shift by bigger than source value net/mac80211/tkip.c:235:25: warning: right shift by bigger than source value net/mac80211/tkip.c:236:25: warning: right shift by bigger than source value Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 636c5d488bc0b349e01cf5bfbf85588134af70a0 Author: Johannes Berg Date: Thu Apr 24 14:18:37 2008 +0200 mac80211: insert WDS peer after adding interface This reorders the open code so that WDS peer STA info entries are added after the corresponding interface is added to the driver so that driver callbacks aren't invoked out of order. Also make any master device startup fatal. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e94e106831403d5028e7bb73c3163951134de1ba Author: Johannes Berg Date: Thu Apr 24 14:16:36 2008 +0200 mac80211: don't allow invalid WDS peer addresses Rather than just disallowing the zero address, disallow all invalid ones. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8b808bf29bdafe9270cb283ea093bb87f5a3be19 Author: Johannes Berg Date: Wed Apr 23 23:35:09 2008 +0200 mac80211: assign conf.beacon_control for mesh Drivers can rightfully assume that they get a beacon_control if the beacon is set. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 51ceddade0fb1e15f080b2555f3b3e1d68c6707e Author: Luis Carlos Cobo Date: Wed Apr 23 12:15:29 2008 -0700 mac80211: use 4-byte mesh sequence number This follows the new 802.11s/D2.0 draft. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 4ba1c5bfd2e5a6c9528eb7777b66c297e70f61ca Author: Sunil Mushran Date: Fri Apr 18 15:03:59 2008 -0700 ocfs2: Use GFP_NOFS in kmalloc during localalloc window move kmalloc() during a localalloc window move can trigger the mm to prune the dcache which inturn can trigger the fs to delete an inode causing it start a recursive transaction. The fix also makes the change in kmalloc during localalloc shutdown just to be safe. Fixes oss bugzilla#901 http://oss.oracle.com/bugzilla/show_bug.cgi?id=901 Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit bc535809c06ada210d89f5a43b335c68ecbb8e1b Author: Sunil Mushran Date: Fri Apr 18 10:23:53 2008 -0700 ocfs2: Allow uid/gid/perm changes of symlinks This patch adds the ability to change attributes of a symlink. Fixes oss bugzilla#963 http://oss.oracle.com/bugzilla/show_bug.cgi?id=963 Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 95642e56647d84963428a1168baa8a73cb782ac3 Author: Adrian Bunk Date: Mon Apr 21 11:49:37 2008 +0300 ocfs2/dlm: dlmdebug.c: make 2 functions static This patch makes the following needlessly global functions static: - stringify_lockname() - dlm_debug_put() Signed-off-by: Adrian Bunk Acked-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 4af694e672aaa85940d6e29d27b7eeea5f6eb258 Author: Adrian Bunk Date: Mon Apr 21 11:49:31 2008 +0300 ocfs2: make struct o2cb_stack_ops static This patch makes the needlessly global struct o2cb_stack_ops static. Signed-off-by: Adrian Bunk Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 4d8755b5e667df8f01647773ba744a5ac97e68e6 Author: Adrian Bunk Date: Mon Apr 21 11:49:26 2008 +0300 ocfs2: make struct ocfs2_control_device static This patch makes the needlessly global struct ocfs2_control_device static. Signed-off-by: Adrian Bunk Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 9d80f7539a91c0154e40fc9e4ae5e818dd8f102e Author: Joel Becker Date: Tue Apr 22 11:46:44 2008 -0700 ocfs2: Correct merge of 52f7c21 (Move /sys/o2cb to /sys/fs/o2cb) Commit 52f7c21b613f80cb425d115c9e5b4ed958a133c0 was intended to move /sys/o2cb to /sys/fs/o2cb, providing /sys/o2cb as a symlink for backwards compatibility. However, the merge apparently added the symlink but failed to move the directory, resulting in a duplicate filename error. It's a one-line change that was missing. Signed-off-by: Joel Becker Acked-by: Randy Dunlap Signed-off-by: Mark Fasheh commit 6de3d58dcfbab516dbe9aff36ea9542f40cd1bf2 Merge: e0066c4... c3bb7fad... Author: Linus Torvalds Date: Wed Apr 30 17:05:21 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: klist: fix coding style errors in klist.h and klist.c driver core: remove no longer used "struct class_device" pcmcia: remove pccard_sysfs_interface warnings devres: support addresses greater than an unsigned long via dev_ioremap kobject: do not copy vargs, just pass them around sysfs: sysfs_update_group stub for CONFIG_SYSFS=n DEBUGFS: Correct location of debugfs API documentation. driver core: warn about duplicate driver names on the same bus klist: implement klist_add_{after|before}() klist: implement KLIST_INIT() and DEFINE_KLIST() sysfs: Disallow truncation of files in sysfs commit c3bb7fadaf52de3637b834002dac27f6250b4b49 Author: Greg Kroah-Hartman Date: Wed Apr 30 16:43:45 2008 -0700 klist: fix coding style errors in klist.h and klist.c Finally clean up the odd spacing in these files. Signed-off-by: Greg Kroah-Hartman commit c3b19ff06e0808555403491d61e8f0cbbb53e933 Author: Kay Sievers Date: Wed Mar 12 20:47:35 2008 +0100 driver core: remove no longer used "struct class_device" Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4356d73d028ad0726cfaf31ad30c5d28fcd98795 Author: David Brownell Date: Mon Apr 28 01:03:20 2008 -0700 pcmcia: remove pccard_sysfs_interface warnings Make the PCMCIA core stop using class_interface to hide socket attribute registration. This removes the associated section mismatch warnings, and helps get to the point where that mechanism can finally be removed. Simplify that attribute registration by using an attribute_group. This is a net shrink in object size. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4f452e8aa492c0b8028ca9b4bdb4d018ba28c6c7 Author: Kumar Gala Date: Tue Apr 29 10:25:48 2008 -0500 devres: support addresses greater than an unsigned long via dev_ioremap Use a resource_size_t instead of unsigned long since some arch's are capable of having ioremap deal with addresses greater than the size of a unsigned long. Signed-off-by: Kumar Gala Cc: Tejun Heo Cc: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit a4ca6617421188f50774780cdc91c3782b7d08fe Author: Kay Sievers Date: Wed Apr 30 02:06:29 2008 +0200 kobject: do not copy vargs, just pass them around This prevents a few unneeded copies. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 1cbfb7a5acd357de6c3f8e27e8d8f92b3867b1f3 Author: Randy Dunlap Date: Wed Apr 30 09:01:17 2008 -0700 sysfs: sysfs_update_group stub for CONFIG_SYSFS=n scsi_transport_spi uses sysfs_update_group() when CONFIG_SYSFS=n, so provide a stub for it. next-20080423/drivers/scsi/scsi_transport_spi.c:1467: error: implicit declaration of function 'sysfs_update_group' make[3]: *** [drivers/scsi/scsi_transport_spi.o] Error 1 Signed-off-by: Randy Dunlap Cc: James Bottomley Signed-off-by: Greg Kroah-Hartman commit 883ce42ec45c2dbef5be7c133ade9741ac978329 Author: Robert P. J. Day Date: Fri Apr 25 08:52:51 2008 -0400 DEBUGFS: Correct location of debugfs API documentation. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 16dc42e018c2868211b4928f20a957c0c216126c Author: Stas Sergeev Date: Sat Apr 26 19:52:35 2008 +0400 driver core: warn about duplicate driver names on the same bus Currently an attempt to register multiple drivers with the same name causes the stack trace with some cryptic error message. The attached patch adds the necessary check and the clear error message. Signed-off-by: Stas Sergeev Signed-off-by: Greg Kroah-Hartman commit 93dd40013f4f7f4b18d19d0d77855f025bcc57c3 Author: Tejun Heo Date: Tue Apr 22 18:58:46 2008 +0900 klist: implement klist_add_{after|before}() Add klist_add_after() and klist_add_before() which puts a new node after and before an existing node, respectively. This is useful for callers which need to keep klist ordered. Note that synchronizing between simultaneous additions for ordering is the caller's responsibility. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 1da43e4a9ee942c9c967dbe8839476571df0c3ed Author: Tejun Heo Date: Sat Apr 26 03:16:04 2008 +0900 klist: implement KLIST_INIT() and DEFINE_KLIST() klist is missing static initializers and definition helper. Add them. Signed-off-by: Tejun Heo Cc: Peter Zijlstra Signed-off-by: Greg Kroah-Hartman commit 40a2159abf3d0107bba359246554bd7d56f2171b Author: Ben Hutchings Date: Mon Apr 28 15:59:58 2008 +0100 sysfs: Disallow truncation of files in sysfs sysfs allows attribute files to be truncated, e.g. using ftruncate(), with the expected effect on their inode. For most attributes, this doesn't change the "real" size of the file i.e. how much can be read from it. However, the parameter validation for reading and writing binary attribute files is based on the inode size and not the size specified in the file's bin_attribute, so it can be broken by this. For example, if we try using dd to write to such a file: # pwd /sys/bus/pci/devices/0000:08:00.0 # ls -l config -rw-r--r-- 1 root root 4096 Feb 1 17:35 config # dd if=/dev/zero of=config bs=4 count=1 1+0 records in 1+0 records out # ls -l config -rw-r--r-- 1 root root 0 Feb 1 17:50 config # dd if=/dev/zero of=config bs=4 count=1 seek=128 dd: writing `config': No space left on device 1+0 records in 0+0 records out Also, after truncation to 0, parameter validation for read and write is disabled. Most bin_attribute read and write methods also validate the size and offset, but for some this will allow out-of-range access. This may be a security issue, though access to such files is often limited to root. In any case, the validation should remain for safety's sake!) This was previously reported in Bugzilla as bug 9867. sysfs should ignore size changes or else refuse them (by returning -EINVAL). This patch makes it ignore them. Signed-off-by: Ben Hutchings Signed-off-by: Greg Kroah-Hartman commit e0066c4ea9ffa420cb79814411ff74fdc7b7d98e Author: Alexey Dobriyan Date: Thu May 1 04:10:02 2008 +0400 Fix ACPI vs proc_create_data() mismerge acpi_device_dir() is NULL until all files are createst, so everyting is created in straight in /proc/ and creation code warns. Signed-off-by: Alexey Dobriyan Signed-off-by: Linus Torvalds commit 809917903127804c2b2ac76342ab0f29f4b394d3 Author: Pavel Emelyanov Date: Wed Apr 30 14:49:54 2008 -0700 ipv6: Compilation fix for compat MCAST_MSFILTER sockopts. The last hunk from the commit dae50295 (ipv4/ipv6 compat: Fix SSM applications on 64bit kernels.) escaped from the compat_ipv6_setsockopt to the ipv6_getsockopt (I guess due to patch smartness wrt searching for context) thus breaking 32-bit and 64-bit-without-compat compilation. Signed-off-by: Pavel Emelyanov Acked-by: David L Stevens Signed-off-by: David S. Miller commit 895d30935ebe05f192e844792668bf8d19deaae7 Author: Ingo Molnar Date: Wed Apr 30 23:05:52 2008 +0200 x86: numaq fix do not override the existing pci-y rule when adding visws or numaq rules. Signed-off-by: Ingo Molnar commit 6b8e1c7ec4af6defa7045ff3c9b266486124d9c5 Author: Ingo Molnar Date: Wed Apr 30 20:45:40 2008 +0200 x86: 8K stacks by default Switch back to 8K stacks as the safer default. Out-of-memory situations are less problematic than silent and hard to debug stack corruption. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cb8ab687c32331fb548c613ae74df574bb0908c1 Author: Andres Salomon Date: Wed Apr 30 11:30:24 2008 -0400 x86: ioremap ram check fix bdd3cee2e4b7279457139058615ced6c2b41e7de (x86: ioremap(), extend check to all RAM pages) breaks OLPC's ioremap call. The ioremap that OLPC uses is: romsig = ioremap(0xffffffc0, 16); The commit that breaks it is basically: - for (pfn = phys_addr >> PAGE_SHIFT; pfn < max_pfn_mapped && - (pfn << PAGE_SHIFT) < last_addr; pfn++) { + for (pfn = phys_addr >> PAGE_SHIFT; + (pfn << PAGE_SHIFT) < last_addr; pfn++) { + Previously, the 'pfn < max_pfn_mapped' check would've caused us to not enter the loop. Removing that check means we loop infinitely. The reason for that is because pfn is 0xfffff, and last_addr is 0xffffffcf. The remaining check that is used to exit the loop is not sufficient; when pfn< Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5f464707c8c18fccd3c6278ad46ac94b5cf15a98 Author: Hugh Dickins Date: Wed Apr 30 16:17:46 2008 +0100 x86: fix HT cpu booting on 32-bit Since recent smpboot 32/64-bit merge, my dual Xeon with HT has been booting only 2 of its 4 cpus (when running an i386 kernel; but x86_64 is okay). J.A. Magallón reports the same. native_cpu_up: bad cpu 2 native_cpu_up: bad cpu 3 The mach-default cpu_present_to_apicid() was just returning cpu number (2, 3) instead of apicid (6, 7): looks like we now need the x86_64 code even for the i386 case. Comparing with other versions of cpu_present_to_apicid(), it seems a good idea to include an NR_CPUS test too, since cpu_present() doesn't include that; but that wasn't a problem here, and may no problem at all. Prior to that smpboot merge, my Xeon booted the two HT siblings on one physical first, then the two siblings on the other physical after - when i386, but alternated them when x86_64. Since the merge, the x86_64 sequence is unchanged, but the i386 sequence is now like x86_64. I prefer this consistency, and I prefer the new sequence: booting with maxcpus=2 then uses the independent physicals without HT sharing. Signed-off-by: Hugh Dickins Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5de8f68b43229cce3d457ca9ac6dab8372a35f18 Author: Ingo Molnar Date: Wed Apr 30 10:29:13 2008 +0200 x86: optimize inlining off default to inline optimizing off. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit acbaa93e3d38db0e67b070d97598f87a7a6779da Author: Ingo Molnar Date: Wed Apr 30 08:58:27 2008 +0200 x86: CONFIG_X86_ELAN fix move the X86_CPU section out of the !X86_ELAN branch. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c9af1e33231912cedae3e49e56621b6c765e57fe Author: Ingo Molnar Date: Wed Apr 30 08:48:45 2008 +0200 x86: Kconfig fix Andrew noticed that OPTIMIZE_INLINING appeared in the toplevel menu - fix it. Reported-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit de33c442ed2a465d2d7804b26dafd2eec067aa34 Author: Suresh Siddha Date: Fri Apr 25 17:07:22 2008 -0700 x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range() Use UC_MINUS for ioremap(), ioremap_nocache() instead of strong UC. Once all the X drivers move to ioremap_wc(), we can go back to strong UC semantics for ioremap() and ioremap_nocache(). To avoid attribute aliasing issues, pci_mmap_page_range() will also use UC_MINUS for default non write-combining mapping request. Next steps: a) change all the video drivers using ioremap() or ioremap_nocache() and adding WC MTTR using mttr_add() to ioremap_wc() b) for strict usage, we can go back to strong uc semantics for ioremap() and ioremap_nocache() after some grace period for completing step-a. c) user level X server needs to use the appropriate method for setting up WC mapping (like using resourceX_wc sysfs file instead of adding MTRR for WC and using /dev/mem or resourceX under /sys) Signed-off-by: Suresh Siddha Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b9b39bfba5b0de3418305f01cfa7bc55a16004e1 Author: Sam Ravnborg Date: Tue Apr 29 12:48:15 2008 +0200 x86: use defconfigs from x86/configs/* Daniel Drake reported: In 2.6.23, if you unpacked a kernel source tarball and then ran "make menuconfig" you'd be presented with this message: # using defaults found in arch/i386/defconfig and the default options would be set. The same thing in 2.6.24 does not give you any "using defaults" message, and the default config options within menuconfig are rather blank (e.g. no PCI support). You can work around this by explicitly running "make defconfig" before menuconfig, but it would be nice to have the behaviour the way it was for 2.6.23 (and the way it still is for other archs). Fixed by adding a x86 specific defconfig list to Kconfig. Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=10470 Tested-by: dsd@gentoo.org Signed-off-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1dcf83fd0c42525dd36cfeb61fe0bfb12113c6b3 Author: Alan Cox Date: Tue Apr 29 14:20:23 2008 +0100 toshiba: use ioremap_cached The switch of ioremap to default to uncached doesn't break this driver but it does needlessly slow it down as BIOS space is cachable and this driver is quite happy scanning cached ROM space. Signed-off-by: Alan Cox Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2544a873ab2a1ee9196bb2f4b12c3afd44ec8a06 Author: Ingo Molnar Date: Tue Apr 29 12:04:51 2008 +0200 revert: "x86: ioremap(), extend check to all RAM pages" Vegard Nossum reported a large (150 seconds) boot delay during bootup, and bisected it to "x86: ioremap(), extend check to all RAM pages" (commit bdd3cee2e4b). Revert this commit for now. Bisected-by: Vegard Nossum Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a4c863f497e640e049083e1b3a1f3723cb766da9 Author: Jeremy Fitzhardinge Date: Mon Apr 28 11:05:07 2008 -0700 x86: don't bother printing compat vdso address The kernel prints the compat vdso address regardless of whether compat vdso mode is enabled or not, which is confusing. Given that this isn't very interesting information anyway, just remove the printk. Signed-off-by: Jeremy Fitzhardinge Cc: Gerhard Mack Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f6c133f7d5ee3b82f5b34b988e897ea38cd8219c Author: Andi Kleen Date: Fri Apr 25 11:45:26 2008 +0200 fix: x86: support for new UV apic Don't warn in read_apic_id() when preemptible but only one CPU online. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 575ca7351bf0546919060071797cccb4a05960df Author: Vegard Nossum Date: Fri Apr 25 21:02:34 2008 +0200 x86: fix early-BUG message The .asciz directive takes any number of strings, but each one is zero- terminated, and string pasting is not done as in C. That results in only the first line being output. Replace .asciz with multiple .ascii directives and terminate with .asciz. Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b4cdc4300de6ff7b8b366f23bed17c7d59c8117c Author: Dmitri Vorobiev Date: Mon Apr 28 03:15:58 2008 +0400 x86: iommu_sac_force can become static The iommu_sac_force variable is needlessly defined global, and this patch makes it static. Additionally, this variable needs not be explicitly initialized. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4412620fc2772af0fc7a94b2cfa28792a46b4fc8 Author: Dmitri Vorobiev Date: Mon Apr 28 03:15:59 2008 +0400 x86: add proper header for reboot_force This patch fixes one sparse warning by including the appropriate header for the reboot_force symbol. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3e8f7e35f3fd17eadef44e4679abb39a3806cf01 Author: Ingo Molnar Date: Mon Apr 28 10:46:58 2008 +0200 x86 VISWS: build fix the 'reboot_force' flag is a notion that non-PC subarchitectures do not have. also, unify the X86_BIOS_REBOOT option between 32-bit and 64-bit and get rid of a few unnecessary Kconfig and Makefile complications that way. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ed5e233284bc4aff965df7351da8426aa188c8f9 Author: Ingo Molnar Date: Sun Apr 27 23:21:03 2008 +0200 x86, voyager: fix ioremap_nocache() James Bottomley reported that the following commit: | commit 6371b495991debfd1417b17c2bc4f7d7bae05739 | Author: Ingo Molnar | Date: Wed Jan 30 13:33:40 2008 +0100 | | x86: change ioremap() to default to uncached broke Voyager. James says: " it broke a class of voyager machines: those which rely on the quad interrupt controller (QIC). The precis of why they broke is because the QIC does IPIs (or CPIs in its terminology) via cache line interference: you interrupt a processor by moving a designated memory area to write exclusive in the cache (by simply writing to the line) and the CPU acks the interrupt by moving it back to read shared (by reading from it). That area, is, of course, mapped by ioremap, so reversing the ioremap semantics and adding the uncached bit completely breaks the QIC. " Sorry about that! Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fc3fbc45098e5aff59f06962dee79aba2e11430d Author: Ingo Molnar Date: Sun Apr 27 14:04:14 2008 +0200 hpet: fix Al Viro pointed out that there's a missing readl() of timer->hpet_config, found by Sparse. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b9e017e04be672244502a0567fb752973556f388 Author: Adrian Bunk Date: Mon Apr 21 11:51:44 2008 +0300 x86: unexport kmap_atomic_to_page This patch removes the no longer used export of kmap_atomic_to_page. Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9cbfe20068878d597cfa064be9cab871875bea60 Author: Adrian Bunk Date: Mon Apr 21 11:47:46 2008 +0300 x86: remove Xgt_desc_struct The comment says it should have been removed in 2.6.25. Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6d3c51110819918617d9e2d1da7ff53f4b2c1187 Author: Hidetoshi Seto Date: Wed Apr 30 16:50:55 2008 +0900 [IA64] fix section mismatch in arch/ia64/kernel/topology.c This patch silences: WARNING: vmlinux.o(.text+0x44672): Section mismatch in reference from the function arch_register_cpu() to the function .cpuinit.text:register_cpu() Changes are based on codes in arch/x86/kernel/topology.c Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 9d4efae68714e24d40b628461bc4182e330969b1 Author: Hidetoshi Seto Date: Wed Apr 30 16:50:22 2008 +0900 [IA64] fix section mismatch in arch/ia64/kernel/palinfo.c This patch removes following warning: WARNING: vmlinux.o(.exit.text+0xb1): Section mismatch in reference from the function palinfo_exit() to the variable .cpuinit.data:palinfo_cpu_notifier Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 751fc7849d623bcd5e77fd494b01662599a8dccf Author: Hidetoshi Seto Date: Wed Apr 30 16:50:43 2008 +0900 [IA64] fix section mismatch in arch/ia64/kernel/irq.c This patch shuts up the following: WARNING: vmlinux.o(.text+0x7102): Section mismatch in reference from the function fixup_irqs() to the function .devinit.text:ia64_disable_timer() Removing ia64_disable_timer() is safe because there are no functions calling it other than the fixup_irqs(), Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit c5b5a5993234d4db2079e57e456bda5278ef59cf Author: Hidetoshi Seto Date: Wed Apr 30 16:51:06 2008 +0900 [IA64] fix section mismatch in arch/ia64/kernel/acpi.c This patch kills: WARNING: vmlinux.o(.text+0x1702): Section mismatch in reference from the function acpi_register_ioapic() to the function .devinit.text:iosapic_init() Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 08acd4f8af42affd8cbed81cc1b69fa12ddb213f Merge: ccf2779... 008238b... Author: Linus Torvalds Date: Wed Apr 30 11:52:52 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (179 commits) ACPI: Fix acpi_processor_idle and idle= boot parameters interaction acpi: fix section mismatch warning in pnpacpi intel_menlo: fix build warning ACPI: Cleanup: Remove unneeded, multiple local dummy variables ACPI: video - fix permissions on some proc entries ACPI: video - properly handle errors when registering proc elements ACPI: video - do not store invalid entries in attached_array list ACPI: re-name acpi_pm_ops to acpi_suspend_ops ACER_WMI/ASUS_LAPTOP: fix build bug thinkpad_acpi: fix possible NULL pointer dereference if kstrdup failed ACPI: check a return value correctly in acpi_power_get_context() #if 0 acpi/bay.c:eject_removable_drive() eeepc-laptop: add hwmon fan control eeepc-laptop: add backlight eeepc-laptop: add base driver ACPI: thinkpad-acpi: bump up version to 0.20 ACPI: thinkpad-acpi: fix selects in Kconfig ACPI: thinkpad-acpi: use a private workqueue ACPI: thinkpad-acpi: fluff really minor fix ACPI: thinkpad-acpi: use uppercase for "LED" on user documentation ... Fixed conflicts in drivers/acpi/video.c and drivers/misc/intel_menlow.c manually. commit 008238b54ac2350babf195084ecedbcf7851a202 Merge: 9691609... dfd2e1b... Author: Len Brown Date: Wed Apr 30 13:59:05 2008 -0400 Merge branch 'pnp' into release commit 96916090f488986a4ebb8e9ffa6a3b50881d5ccd Merge: 75a44ce... 729b2bd... 2f67a06... 51ae796... ce52ddf... e1faa9d... 36a9135... 9448b0d... 99bda83... 1071695... 7aa0f1a... 68f12ae... 66fb9d1... Author: Len Brown Date: Wed Apr 30 13:58:00 2008 -0400 Merge branches 'release', 'acpica', 'bugzilla-10224', 'bugzilla-9772', 'bugzilla-9916', 'ec', 'eeepc', 'idle', 'misc', 'pm-legacy', 'sysfs-links-2.6.26', 'thermal', 'thinkpad' and 'video' into release commit 36a913586597cab1cd565e9bf348d037f0df955b Author: Venkatesh Pallipadi Date: Wed Apr 30 13:57:15 2008 -0400 ACPI: Fix acpi_processor_idle and idle= boot parameters interaction acpi_processor_idle and "idle=" boot parameter interaction is broken. The problem is that, at boot time acpi driver is checking for "idle=" boot option and not registering the acpi idle handler. But, when there is a CST changed callback (typically when switching AC <-> battery or suspend-resume) there are no checks for boot_option_idle_override and acpi idle handler tries to get installed with nasty side effects. With CPU_IDLE configured this issue causes results in a nasty oops on CST change callback and without CPU_IDLE there is no oops, but boot option of "idle=" gets ignored and acpi idle handler gets installed. Change the behavior to not do anything in acpi idle handler when there is a "idle=" boot option. Note that the problem is only there when "idle=" boot option is used. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 9448b0d43e5509c6b7baca02510a92ef2de6e328 Author: Sam Ravnborg Date: Tue Apr 29 22:52:01 2008 +0200 acpi: fix section mismatch warning in pnpacpi Fix following section mismatch warning: WARNING: vmlinux.o(.text+0x153d69): Section mismatch in reference from the function is_exclusive_device() to the variable .init.data:excluded_id_list is_exclusive_device is only used from __init context so document this with the __init annotation and get rid of the warning. Signed-off-by: Sam Ravnborg Signed-off-by: Len Brown commit ccf2779544eecfcc5447e2028d1029b6d4ff7bb6 Merge: 7cece14... fd403dc... Author: Linus Torvalds Date: Wed Apr 30 09:22:27 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: [ALSA] soc - neo1973_wm8753.c add suspend and shutdown hooks for lm4857 chip [ALSA] soc - neo1973_wm8753.c change maintainer contact info [ALSA] soc - neo1973_wm8753.c cleanup checkpatch issues [ALSA] soc - ln2440sbc_alc650 - Fix checkpatch warnings [ALSA] soc - s3c24xx-pcm - Fix checkpatch warnings [ALSA] soc - s3c2443-ac97 - Fix checkpatch warnings [ALSA] soc - wm8753 - Clean up checkpatch warnings commit fd403dc84f29aee613d13bde5656ba74cdee1e7b Author: Graeme Gregory Date: Wed Apr 30 20:26:45 2008 +0200 [ALSA] soc - neo1973_wm8753.c add suspend and shutdown hooks for lm4857 chip Patch taken from the openmoko bugtracker http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=781 This patch adds Suspend/Resume and Shutdown support for the lm4857 to the driver. Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 443590e6f1823cd4bc1199cc658074bc3e30acbf Author: Graeme Gregory Date: Wed Apr 30 20:25:23 2008 +0200 [ALSA] soc - neo1973_wm8753.c change maintainer contact info I have moved workplaces since I originally wrote this driver so update the contact info for new employers. Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 8ba02ace943ce956606d1f6f2a5aad9498798c31 Author: Graeme Gregory Date: Wed Apr 30 20:24:54 2008 +0200 [ALSA] soc - neo1973_wm8753.c cleanup checkpatch issues Clean up a few issues with the file that checkpatch noted, no functionality changes. Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 854e4af258e214345d675dc406d24769e32a04c8 Author: Mark Brown Date: Wed Apr 30 17:19:57 2008 +0200 [ALSA] soc - ln2440sbc_alc650 - Fix checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 5111c0753486fffde14de2b207e46760b9c05fd0 Author: Mark Brown Date: Wed Apr 30 17:19:32 2008 +0200 [ALSA] soc - s3c24xx-pcm - Fix checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit ccfdd6c2b2ad3f32c02175007a66c82e2233b75c Author: Mark Brown Date: Wed Apr 30 17:19:07 2008 +0200 [ALSA] soc - s3c2443-ac97 - Fix checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 60fc684adfed810fc36b41778aca8de467fc3206 Author: Mark Brown Date: Wed Apr 30 17:18:43 2008 +0200 [ALSA] soc - wm8753 - Clean up checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 7cece14acd063dd1c4e8933461d44ec6a5a5517b Merge: 95dfec6... 8cd0ae3... Author: Linus Torvalds Date: Wed Apr 30 08:46:16 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: remove duplicated include sparc: Add kgdb support. kgdbts: Sparc needs sstep emulation. sparc32: Kill smp_message_pass() and related code. sparc64: Kill PIL_RESERVED, unused. sparc64: Split entry.S up into seperate files. commit 95dfec6ae1cb8c03406aac612a5642cbddb676b3 Merge: ae3a006... 1591311... Author: Linus Torvalds Date: Wed Apr 30 08:45:48 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (53 commits) tcp: Overflow bug in Vegas [IPv4] UFO: prevent generation of chained skb destined to UFO device iwlwifi: move the selects to the tristate drivers ipv4: annotate a few functions __init in ipconfig.c atm: ambassador: vcc_sf semaphore to mutex MAINTAINERS: The socketcan-core list is subscribers-only. netfilter: nf_conntrack: padding breaks conntrack hash on ARM ipv4: Update MTU to all related cache entries in ip_rt_frag_needed() sch_sfq: use del_timer_sync() in sfq_destroy() net: Add compat support for getsockopt (MCAST_MSFILTER) net: Several cleanups for the setsockopt compat support. ipvs: fix oops in backup for fwmark conn templates bridge: kernel panic when unloading bridge module bridge: fix error handling in br_add_if() netfilter: {nfnetlink,ip,ip6}_queue: fix skb_over_panic when enlarging packets netfilter: x_tables: fix net namespace leak when reading /proc/net/xxx_tables_names netfilter: xt_TCPOPTSTRIP: signed tcphoff for ipv6_skip_exthdr() retval tcp: Limit cwnd growth when deferring for GSO tcp: Allow send-limited cwnd to grow up to max_burst when gso disabled [netdrvr] gianfar: Determine TBIPA value dynamically ... commit ae3a0064e6d69068b1c9fd075095da062430bda9 Author: Ingo Molnar Date: Wed Apr 30 00:15:31 2008 +0200 inlining: do not allow gcc below version 4 to optimize inlining fix the condition to match intention: always use the old inlining behavior on all gcc versions below 4. this should solve the UML build problem. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 53809d7eaef9503eb2589babdaba5ef0b661bb14 Author: S.Çağlar Onur Date: Wed Apr 30 15:29:02 2008 +0300 Update .mailmap I realize some of the maintainers email clients and/or scripts cannot handle UTF-8 encoded names properly, as a result your ChangeLogs displays me as two different person :). Following patch adds correctly encoded name of mine into .mailmap, to prevent appearing it not to be so or badly displayed. Signed-off-by: S.Çağlar Onur Signed-off-by: Linus Torvalds commit d67c6f869c0a7f275689855161c93d714197e052 Merge: ec31b21... 1175cdc... Author: Linus Torvalds Date: Wed Apr 30 08:38:30 2008 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] Update default configuration. [S390] use generic sys_ptrace [S390] Remove self ptrace IEEE_IP hack. [S390] Convert to SPARSEMEM & SPARSEMEM_VMEMMAP [S390] System z large page support. [S390] Convert machine feature detection code to C. [S390] vmemmap: use clear_table to initialise page tables. [S390] Move stfl to system.h and delete duplicated version. [S390] uaccess_mvcos: #ifdef config dependent code. [S390] cpu topology: Fix possible deadlock. [S390] Add topology_core_siblings to topology.h [S390] cio: Make isc handling more robust. [S390] remove -traditional [S390] Automatically detect added cpus. [S390] smp: Fix locking order. [S390] Add missing ifndef/define to include/asm-s390/sysinfo.h. [S390] Move show_regs to traps.c. [S390] cio: Use strict_strtoul() for attributes. commit ec31b2124158f60c515ed84bd5e40db1a883c7b6 Merge: ca72cdd... eabd909... Author: Linus Torvalds Date: Wed Apr 30 08:37:40 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Fix crashkernel= handling when no crashkernel= specified [POWERPC] Make emergency stack safe for current_thread_info() use [POWERPC] spufs: add .gitignore for spu_save_dump.h & spu_restore_dump.h [POWERPC] spufs: trace spu_acquire_saved events [POWERPC] spufs: fix marker name for find_victim [POWERPC] spufs: add marker for destroy_spu_context [POWERPC] spufs: add sputrace marker parameter names [POWERPC] spufs: add context switch notification log [POWERPC] mpc5200: defconfigs for CM5200, Lite5200B, Motion-PRO and TQM5200 [POWERPC] mpc5200: Switch mpc5200 dts files to dts-v1 format [POWERPC] mpc5200: Fix FEC error handling on FIFO errors [POWERPC] mpc5200: add Phytec pcm030 board support [POWERPC] mpc5200: add gpiolib support for mpc5200 [POWERPC] mpc5200: add interrupt type function [POWERPC] mpc5200: Fix unterminated of_device_id table commit ca72cddfcb6afd75a808da4f027325fa63a1b856 Author: Ingo Molnar Date: Wed Apr 30 11:50:11 2008 +0200 fix drivers/media/common/tuners/ build bug x86.git randconfig testing found a build failure on latest -git: drivers/built-in.o: In function `set_type': tuner-core.c:(.text+0x2a9a26): undefined reference to `tea5761_attach' tuner-core.c:(.text+0x2a9d05): undefined reference to `tda9887_attach' tuner-core.c:(.text+0x2a9d51): undefined reference to `xc2028_attach' tuner-core.c:(.text+0x2a9e22): undefined reference to `tda829x_attach' tuner-core.c:(.text+0x2a9e3f): undefined reference to `microtune_attach' drivers/built-in.o: In function `tuner_probe': tuner-core.c:(.text+0x2aa18a): undefined reference to `tda829x_probe' tuner-core.c:(.text+0x2aa302): undefined reference to `tea5761_autodetection' with the following config: http://redhat.com/~mingo/misc/config-Wed_Apr_30_10_21_40_CEST_2008.bad the problem is caused by the drivers/media/common/tuners/ subdirectory not being part of the kbuild hierarchy anymore, due to commit 7c91f0624 ("V4L/DVB(7767): Move tuners to common/tuners"). this seems similar to the problem also reported by Mike Galbraith. Signed-off-by: Ingo Molnar Acked-by: Sam Ravnborg Signed-off-by: Linus Torvalds commit 5167464446e527b5a3b5618ba0baff93048bcbbe Author: Andrew Morton Date: Wed Apr 30 00:55:17 2008 -0700 revert "memory hotplug: allocate usemap on the section with pgdat" This: commit 86f6dae1377523689bd8468fed2f2dd180fc0560 Author: Yasunori Goto Date: Mon Apr 28 02:13:33 2008 -0700 memory hotplug: allocate usemap on the section with pgdat Usemaps are allocated on the section which has pgdat by this. Because usemap size is very small, many other sections usemaps are allocated on only one page. If a section has usemap, it can't be removed until removing other sections. This dependency is not desirable for memory removing. Pgdat has similar feature. When a section has pgdat area, it must be the last section for removing on the node. So, if section A has pgdat and section B has usemap for section A, Both sections can't be removed due to dependency each other. To solve this issue, this patch collects usemap on same section with pgdat. If other sections doesn't have any dependency, this section will be able to be removed finally. Signed-off-by: Yasunori Goto Cc: Badari Pulavarty Cc: Yinghai Lu Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds broke davem's sparc64 bootup. Revert it while we work out what went wrong. Cc: Yasunori Goto Cc: Badari Pulavarty Cc: Yinghai Lu Cc: "David S. Miller" Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a902c5f6851cd0b64c33efaa3bd57aa27a82efb Author: Nick Piggin Date: Wed Apr 30 00:55:16 2008 -0700 mm: fix warning on memory offline KAMEZAWA Hiroyuki found a warning message in the buffer dirtying code that is coming from page migration caller. WARNING: at fs/buffer.c:720 __set_page_dirty+0x330/0x360() Call Trace: [] show_stack+0x80/0xa0 [] dump_stack+0x30/0x60 [] warn_on_slowpath+0x90/0xe0 [] __set_page_dirty+0x330/0x360 [] __set_page_dirty_buffers+0xd0/0x280 [] set_page_dirty+0xc0/0x260 [] migrate_page_copy+0x5d0/0x5e0 [] buffer_migrate_page+0x2e0/0x3c0 [] migrate_pages+0x770/0xe00 What was happening is that migrate_page_copy wants to transfer the PG_dirty bit from old page to new page, so what it would do is set_page_dirty(newpage). However set_page_dirty() is used to set the entire page dirty, wheras in this case, only part of the page was dirty, and it also was not uptodate. Marking the whole page dirty with set_page_dirty would lead to corruption or unresolvable conditions -- a dirty && !uptodate page and dirty && !uptodate buffers. Possibly we could just ClearPageDirty(oldpage); SetPageDirty(newpage); however in the interests of keeping the change minimal... Signed-off-by: Nick Piggin Tested-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 969a19f1c405a8e9d15ceb9e75e3f4a321aaf56f Author: Robert P. J. Day Date: Wed Apr 30 00:55:14 2008 -0700 Drop the exporting of empty Fix up the contents of so that it doesn't export a content-free generic.h to user space. This involves: * Removing the __KERNEL__ tests from generic.h and dropping it from Kbuild. * Wrapping the inclusions of generic.h in both big_endian.h and little_endian.h in __KERNEL__ tests. * Shifting big_endian.h and little_endian.h from header-y to unifdef-y in Kbuild. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae50884f66fc93aa713feade8f87c03471241275 Author: Robert P. J. Day Date: Wed Apr 30 00:55:13 2008 -0700 remove __KERNEL__ tests of unexported headers under asm-generic/ Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 735643ee6cc5249bfac07fcad0946a5e7aff4423 Author: Robert P. J. Day Date: Wed Apr 30 00:55:12 2008 -0700 Remove "#ifdef __KERNEL__" checks from unexported headers Remove the "#ifdef __KERNEL__" tests from unexported header files in linux/include whose entire contents are wrapped in that preprocessor test. Signed-off-by: Robert P. J. Day Cc: David Woodhouse Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71cc2c2152170b8166f59abb0604dc62073aeb92 Author: Harvey Harrison Date: Wed Apr 30 00:55:10 2008 -0700 serial: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf9d89295233ae2ba7b312c78ee5657307b09f4c Author: Harvey Harrison Date: Wed Apr 30 00:55:10 2008 -0700 drivers/char: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e24eea728068bbeb6a3c500b848f883a20bf225 Author: Harvey Harrison Date: Wed Apr 30 00:55:09 2008 -0700 fs: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 530b6412786d7f83592c1a8e2445541ed73fca76 Author: Harvey Harrison Date: Wed Apr 30 00:55:09 2008 -0700 afs: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 810304db75b0ca4e6ef071f86aa3e85fdaddee5e Author: Harvey Harrison Date: Wed Apr 30 00:55:08 2008 -0700 lib: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af1f16d08f38ab6f17b5760e6ec9d2b7d3a5ff1a Author: Harvey Harrison Date: Wed Apr 30 00:55:08 2008 -0700 kernel: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d40cee245ff6ad05d3448401d7320be82c1c5af1 Author: Harvey Harrison Date: Wed Apr 30 00:55:07 2008 -0700 mm: remove remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7853d1f8932c847a8d7b3b38e6baedf77148cfb Author: Laurent Vivier Date: Wed Apr 30 00:55:06 2008 -0700 brd: modify ramdisk device to be able to manage partitions This patch adds partition management for Block RAM Device (BRD). This patch is done to keep in sync BRD and loop device drivers. This patch adds a parameter to the module, max_part, to specify the maximum number of partitions per RAM device. Example: # modprobe brd max_part=63 # ls -l /dev/ram* brw-rw---- 1 root disk 1, 0 2008-04-03 13:39 /dev/ram0 brw-rw---- 1 root disk 1, 64 2008-04-03 13:39 /dev/ram1 brw-rw---- 1 root disk 1, 640 2008-04-03 13:39 /dev/ram10 brw-rw---- 1 root disk 1, 704 2008-04-03 13:39 /dev/ram11 brw-rw---- 1 root disk 1, 768 2008-04-03 13:39 /dev/ram12 brw-rw---- 1 root disk 1, 832 2008-04-03 13:39 /dev/ram13 brw-rw---- 1 root disk 1, 896 2008-04-03 13:39 /dev/ram14 brw-rw---- 1 root disk 1, 960 2008-04-03 13:39 /dev/ram15 brw-rw---- 1 root disk 1, 128 2008-04-03 13:39 /dev/ram2 brw-rw---- 1 root disk 1, 192 2008-04-03 13:39 /dev/ram3 brw-rw---- 1 root disk 1, 256 2008-04-03 13:39 /dev/ram4 brw-rw---- 1 root disk 1, 320 2008-04-03 13:39 /dev/ram5 brw-rw---- 1 root disk 1, 384 2008-04-03 13:39 /dev/ram6 brw-rw---- 1 root disk 1, 448 2008-04-03 13:39 /dev/ram7 brw-rw---- 1 root disk 1, 512 2008-04-03 13:39 /dev/ram8 brw-rw---- 1 root disk 1, 576 2008-04-03 13:39 /dev/ram9 # fdisk /dev/ram0 Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): o Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-2, default 1): 1 Last cylinder or +size or +sizeM or +sizeK (1-2, default 2): 2 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. # ls -l /dev/ram0* brw-rw---- 1 root disk 1, 0 2008-04-03 13:40 /dev/ram0 brw-rw---- 1 root disk 1, 1 2008-04-03 13:40 /dev/ram0p1 # mkfs /dev/ram0p1 mke2fs 1.40-WIP (14-Nov-2006) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 4016 inodes, 16032 blocks 801 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=16515072 2 block groups 8192 blocks per group, 8192 fragments per group 2008 inodes per group Superblock backups stored on blocks: 8193 Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 26 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. # mount /dev/ram0p1 /mnt df /mnt Filesystem 1K-blocks Used Available Use% Mounted on /dev/ram0p1 15521 138 14582 1% /mnt # ls -l /mnt total 12 drwx------ 2 root root 12288 2008-04-03 13:41 lost+found # umount /mnt # rmmod brd Signed-off-by: Laurent Vivier Acked-by: Nick Piggin Cc: Al Viro Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 237fc6e7a35076f584b9d0794a5204fe4bd9b9e5 Author: Thomas Gleixner Date: Wed Apr 30 00:55:04 2008 -0700 add hrtimer specific debugobjects code hrtimers have now dynamic users in the network code. Put them under debugobjects surveillance as well. Add calls to the generic object debugging infrastructure and provide fixup functions which allow to keep the system alive when recoverable problems have been detected by the object debugging core code. Signed-off-by: Thomas Gleixner Cc: Greg KH Cc: Randy Dunlap Cc: Kay Sievers Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6f3a97f86a5c97be0ca255976110bb9c3cfe669 Author: Thomas Gleixner Date: Wed Apr 30 00:55:03 2008 -0700 debugobjects: add timer specific object debugging code Add calls to the generic object debugging infrastructure and provide fixup functions which allow to keep the system alive when recoverable problems have been detected by the object debugging core code. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Greg KH Cc: Randy Dunlap Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 691cc54c7d28542434d2b3ee4ddbad6a99312dec Author: Thomas Gleixner Date: Wed Apr 30 00:55:02 2008 -0700 debugobjects: add documentation Add a DocBook for debugobjects. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Greg KH Cc: Randy Dunlap Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ac7fe5a4aab409bd5674d0b070bce97f9d20872 Author: Thomas Gleixner Date: Wed Apr 30 00:55:01 2008 -0700 infrastructure to debug (dynamic) objects We can see an ever repeating problem pattern with objects of any kind in the kernel: 1) freeing of active objects 2) reinitialization of active objects Both problems can be hard to debug because the crash happens at a point where we have no chance to decode the root cause anymore. One problem spot are kernel timers, where the detection of the problem often happens in interrupt context and usually causes the machine to panic. While working on a timer related bug report I had to hack specialized code into the timer subsystem to get a reasonable hint for the root cause. This debug hack was fine for temporary use, but far from a mergeable solution due to the intrusiveness into the timer code. The code further lacked the ability to detect and report the root cause instantly and keep the system operational. Keeping the system operational is important to get hold of the debug information without special debugging aids like serial consoles and special knowledge of the bug reporter. The problems described above are not restricted to timers, but timers tend to expose it usually in a full system crash. Other objects are less explosive, but the symptoms caused by such mistakes can be even harder to debug. Instead of creating specialized debugging code for the timer subsystem a generic infrastructure is created which allows developers to verify their code and provides an easy to enable debug facility for users in case of trouble. The debugobjects core code keeps track of operations on static and dynamic objects by inserting them into a hashed list and sanity checking them on object operations and provides additional checks whenever kernel memory is freed. The tracked object operations are: - initializing an object - adding an object to a subsystem list - deleting an object from a subsystem list Each operation is sanity checked before the operation is executed and the subsystem specific code can provide a fixup function which allows to prevent the damage of the operation. When the sanity check triggers a warning message and a stack trace is printed. The list of operations can be extended if the need arises. For now it's limited to the requirements of the first user (timers). The core code enqueues the objects into hash buckets. The hash index is generated from the address of the object to simplify the lookup for the check on kfree/vfree. Each bucket has it's own spinlock to avoid contention on a global lock. The debug code can be compiled in without being active. The runtime overhead is minimal and could be optimized by asm alternatives. A kernel command line option enables the debugging code. Thanks to Ingo Molnar for review, suggestions and cleanup patches. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Greg KH Cc: Randy Dunlap Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30327acf7846c5eb97c8e31c78317a2918d3e515 Author: Thomas Gleixner Date: Wed Apr 30 00:54:59 2008 -0700 slab: add a flag to prevent debug_free checks on a kmem_cache This is a preperatory patch for the debugobjects infrastructure. The flag prevents debug_free checks on kmem_caches. This is necessary to avoid resursive calls into a debug mechanism which uses a kmem_cache itself. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Pekka Enberg Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 145980a0b07520f0f82cc40999acc92b349ea40c Author: Harvey Harrison Date: Wed Apr 30 00:54:57 2008 -0700 drivers: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdf4bbaaee3d4b8f555658333cbce1affe9070fb Author: Harvey Harrison Date: Wed Apr 30 00:54:55 2008 -0700 Add macros similar to min/max/min_t/max_t Also, change the variable names used in the min/max macros to avoid shadowed variable warnings when min/max min_t/max_t are nested. Small formatting changes to make all the macros have a similar form. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: fix v4l build] Signed-off-by: Harvey Harrison Cc: Mauro Carvalho Chehab Signed-off-by: Andrew Morton Cc: Bartlomiej Zolnierkiewicz Cc: Jeff Garzik Cc: Tejun Heo Cc: Michael Buesch Cc: "John W. Linville" Cc: Miklos Szeredi Cc: Dmitry Torokhov Cc: Jiri Kosina Cc: Arnaldo Carvalho de Melo Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 354a1f4d99240f53980275416ca3e1ac2ee73d5d Author: Andrew Morton Date: Wed Apr 30 00:54:54 2008 -0700 alloc_uid: cleanup Use kmem_cache_zalloc(), remove large amounts of initialisation code and ifdeffery. Note: this assumes that memset(*atomic_t, 0) correctly initialises the atomic_t. This is true for all present archtiectures and if it becomes false for a future architecture then we'll need to make large changes all over the place anyway. Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 487798df6d25e76ed6558b3e17c44cf0458cc6f3 Author: Andrew Morton Date: Wed Apr 30 00:54:54 2008 -0700 hfsplus: fix warning with 64k PAGE_SIZE fs/hfsplus/btree.c: In function 'hfsplus_bmap_alloc': fs/hfsplus/btree.c:239: warning: comparison is always false due to limited range of data type But this might hide a real bug? Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e5a5097303eedb4ffae2719843eb064221b1db4 Author: Andrew Morton Date: Wed Apr 30 00:54:53 2008 -0700 hfs: fix warning with 64k PAGE_SIZE fs/hfs/btree.c: In function 'hfs_bmap_alloc': fs/hfs/btree.c:263: warning: comparison is always false due to limited range of data type The patch makes the warning go away, but the code might actually be buggy? Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f735295b14ae073a8302d7b1da894bc597724557 Author: Markus Armbruster Date: Wed Apr 30 00:54:52 2008 -0700 printk: don't read beyond string arguments' terminating zero Fix update_console_cmdline() not to to read beyond the terminating zero of its name argument. Signed-off-by: Markus Armbruster Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7511d5f66f01fc451747b24e79f3ada7a3af9af Author: Samuel Thibault Date: Wed Apr 30 00:54:51 2008 -0700 Basic braille screen reader support This adds a minimalistic braille screen reader support. This is meant to be used by blind people e.g. on boot failures or when / cannot be mounted etc and thus the userland screen readers can not work. [akpm@linux-foundation.org: fix exports] Signed-off-by: Samuel Thibault Cc: Jiri Kosina Cc: Dmitry Torokhov Acked-by: Alan Cox Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 730f412c08c13858f7681bac0a2770fbc9159fed Author: Jeff Dike Date: Wed Apr 30 00:54:49 2008 -0700 asm-*/futex.h should include linux/uaccess.h Lots of asm-*/futex.h call pagefault_enable and pagefault_disable, which are declared in linux/uaccess.h, without including linux/uaccess.h. They all include asm/uaccess.h, so this patch replaces asm/uaccess.h with linux/uaccess.h. Signed-off-by: Jeff Dike Cc: "Luck, Tony" Cc: Ralf Baechle Cc: Kyle McMartin Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: "David S. Miller" Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07132922aac0caf807c56b9c2a388954b357a8c4 Author: Marcin Slusarz Date: Wed Apr 30 00:54:49 2008 -0700 sysv: [bl]e*_add_cpu conversion replace all: big/little_endian_variable = cpu_to_[bl]eX([bl]eX_to_cpu(big/little_endian_variable) + expression_in_cpu_byteorder); with: [bl]eX_add_cpu(&big/little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3592b12f507d2c12c883d9c18084b72a5710db3 Author: Marcin Slusarz Date: Wed Apr 30 00:54:48 2008 -0700 quota: le*_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20c79e785ae3f813310261dde81b29ab0c3e28b4 Author: Marcin Slusarz Date: Wed Apr 30 00:54:47 2008 -0700 hfs/hfsplus: be*_add_cpu conversion replace all: big_endian_variable = cpu_to_beX(beX_to_cpu(big_endian_variable) + expression_in_cpu_byteorder); with: beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6369a4abb486692cd0f5fe592b48ec7419b7976c Author: Marcin Slusarz Date: Wed Apr 30 00:54:47 2008 -0700 affs: be*_add_cpu conversion replace all: big_endian_variable = cpu_to_beX(beX_to_cpu(big_endian_variable) + expression_in_cpu_byteorder); with: beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86098fa0115358abf5159093d11ddb306ce4b0da Author: Christoph Hellwig Date: Wed Apr 30 00:54:46 2008 -0700 reiserfs: use open_bdev_excl Use the proper helper to open a blockdevice by name for filesystem use, this makes sure it's properly claimed (also added for open-by-number) and gets rid of the struct file abuse. Tested by mounting a reiserfs filesystem with external journal. Signed-off-by: Christoph Hellwig Cc: Chris Mason Cc: Jeff Mahoney Acked-by: Edward Shishkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4dbf930ed6c1f8aa992937d0461f8f70d4004aad Author: Miklos Szeredi Date: Wed Apr 30 00:54:45 2008 -0700 fuse: fix sparse warnings fs/fuse/dev.c:306:2: warning: context imbalance in 'wait_answer_interruptible' - unexpected unlock fs/fuse/dev.c:361:2: warning: context imbalance in 'request_wait_answer' - unexpected unlock fs/fuse/dev.c:1002:4: warning: context imbalance in 'end_io_requests' - unexpected unlock Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5559b8f4d1f630b8614b6c8e13b8bf6c9c45d7d7 Author: Miklos Szeredi Date: Wed Apr 30 00:54:45 2008 -0700 fuse: fix race in llseek Fuse doesn't use i_mutex to protect setting i_size, and so generic_file_llseek() can be racy: it doesn't use i_size_read(). So do a fuse specific llseek method, which does use i_size_read(). [akpm@linux-foundation.org: make `retval' loff_t] Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b48badf013018ef2aa4a46416454bdb18f77fb01 Author: Miklos Szeredi Date: Wed Apr 30 00:54:44 2008 -0700 fuse: fix node ID type Node ID is 64bit but it is passed as unsigned long to some functions. This breakage wasn't noticed, because libfuse uses unsigned long too. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5d9a0df07484d6d191756878c974e4307fb24ce Author: Miklos Szeredi Date: Wed Apr 30 00:54:44 2008 -0700 fuse: fix max i/o size calculation Fix a bug that Werner Baumann reported: fuse can send a bigger write request than the maximum specified. This only affected direct_io operation. In addition set a sane minimum for the max_read and max_write tunables, so I/O always makes some progress. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c5c5e51b26413d50a9efae2ca7d6c5c6cd453ac Author: Miklos Szeredi Date: Wed Apr 30 00:54:43 2008 -0700 fuse: update file size on short read If the READ request returned a short count, then either - cached size is incorrect - filesystem is buggy, as short reads are only allowed on EOF So assume that the size is wrong and refresh it, so that cached read() doesn't zero fill the missing chunk. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea9b9907b82a09bd1a708004454f7065de77c5b0 Author: Nick Piggin Date: Wed Apr 30 00:54:42 2008 -0700 fuse: implement perform_write Introduce fuse_perform_write. With fusexmp (a passthrough filesystem), large (1MB) writes into a backing tmpfs filesystem are sped up by almost 4 times (256MB/s vs 71MB/s). [mszeredi@suse.cz]: - split into smaller functions - testing - duplicate generic_file_aio_write(), so that there's no need to add a new ->perform_write() a_op. Comment from hch. Signed-off-by: Nick Piggin Signed-off-by: Miklos Szeredi Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 854512ec358f291bcadd7daea10d6bf3704933de Author: Miklos Szeredi Date: Wed Apr 30 00:54:41 2008 -0700 fuse: clean up setting i_size in write Extract common code for setting i_size in write functions into a common helper. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3be5a52b30aa5cf9d795b7634f728f612197b1c4 Author: Miklos Szeredi Date: Wed Apr 30 00:54:41 2008 -0700 fuse: support writable mmap Quoting Linus (3 years ago, FUSE inclusion discussions): "User-space filesystems are hard to get right. I'd claim that they are almost impossible, unless you limit them somehow (shared writable mappings are the nastiest part - if you don't have those, you can reasonably limit your problems by limiting the number of dirty pages you accept through normal "write()" calls)." Instead of attempting the impossible, I've just waited for the dirty page accounting infrastructure to materialize (thanks to Peter Zijlstra and others). This nicely solved the biggest problem: limiting the number of pages used for write caching. Some small details remained, however, which this largish patch attempts to address. It provides a page writeback implementation for fuse, which is completely safe against VM related deadlocks. Performance may not be very good for certain usage patterns, but generally it should be acceptable. It has been tested extensively with fsx-linux and bash-shared-mapping. Fuse page writeback design -------------------------- fuse_writepage() allocates a new temporary page with GFP_NOFS|__GFP_HIGHMEM. It copies the contents of the original page, and queues a WRITE request to the userspace filesystem using this temp page. The writeback is finished instantly from the MM's point of view: the page is removed from the radix trees, and the PageDirty and PageWriteback flags are cleared. For the duration of the actual write, the NR_WRITEBACK_TEMP counter is incremented. The per-bdi writeback count is not decremented until the actual write completes. On dirtying the page, fuse waits for a previous write to finish before proceeding. This makes sure, there can only be one temporary page used at a time for one cached page. This approach is wasteful in both memory and CPU bandwidth, so why is this complication needed? The basic problem is that there can be no guarantee about the time in which the userspace filesystem will complete a write. It may be buggy or even malicious, and fail to complete WRITE requests. We don't want unrelated parts of the system to grind to a halt in such cases. Also a filesystem may need additional resources (particularly memory) to complete a WRITE request. There's a great danger of a deadlock if that allocation may wait for the writepage to finish. Currently there are several cases where the kernel can block on page writeback: - allocation order is larger than PAGE_ALLOC_COSTLY_ORDER - page migration - throttle_vm_writeout (through NR_WRITEBACK) - sync(2) Of course in some cases (fsync, msync) we explicitly want to allow blocking. So for these cases new code has to be added to fuse, since the VM is not tracking writeback pages for us any more. As an extra safetly measure, the maximum dirty ratio allocated to a single fuse filesystem is set to 1% by default. This way one (or several) buggy or malicious fuse filesystems cannot slow down the rest of the system by hogging dirty memory. With appropriate privileges, this limit can be raised through '/sys/class/bdi//max_ratio'. Signed-off-by: Miklos Szeredi Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b88473f73e6d7b6af9cfc4ecc349d82c75d9a6af Author: Miklos Szeredi Date: Wed Apr 30 00:54:39 2008 -0700 mm: document missing fields for /proc/meminfo A few fields in /proc/meminfo were not documented. Fix. Signed-off-by: Miklos Szeredi Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc3ba692a4d19019387c5acaea63131f9eab05dd Author: Miklos Szeredi Date: Wed Apr 30 00:54:38 2008 -0700 mm: Add NR_WRITEBACK_TEMP counter Fuse will use temporary buffers to write back dirty data from memory mappings (normal writes are done synchronously). This is needed, because there cannot be any guarantee about the time in which a write will complete. By using temporary buffers, from the MM's point if view the page is written back immediately. If the writeout was due to memory pressure, this effectively migrates data from a full zone to a less full zone. This patch adds a new counter (NR_WRITEBACK_TEMP) for the number of pages used as temporary buffers. [Lee.Schermerhorn@hp.com: add vmstat_text for NR_WRITEBACK_TEMP] Signed-off-by: Miklos Szeredi Cc: Christoph Lameter Signed-off-by: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd5656e59ca7b25fb60a22f9079905ed0da5ed0c Author: Miklos Szeredi Date: Wed Apr 30 00:54:37 2008 -0700 mm: bdi: export bdi_writeout_inc() Fuse needs this for writable mmap support. Signed-off-by: Miklos Szeredi Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4ad08fe64afca4ef79ecc4c624e6e871688da0d Author: Miklos Szeredi Date: Wed Apr 30 00:54:37 2008 -0700 mm: bdi: add separate writeback accounting capability Add a new BDI capability flag: BDI_CAP_NO_ACCT_WB. If this flag is set, then don't update the per-bdi writeback stats from test_set_page_writeback() and test_clear_page_writeback(). Misc cleanups: - convert bdi_cap_writeback_dirty() and friends to static inline functions - create a flag that includes all three dirty/writeback related flags, since almst all users will want to have them toghether Signed-off-by: Miklos Szeredi Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76f1418b485da2707531178e517bbb5cf06b3c76 Author: Miklos Szeredi Date: Wed Apr 30 00:54:36 2008 -0700 mm: bdi: move statistics to debugfs Move BDI statistics to debugfs: /sys/kernel/debug/bdi//stats Use postcore_initcall() to initialize the sysfs class and debugfs, because debugfs is initialized in core_initcall(). Update descriptions in ABI documentation. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a42dde04152750426cc620fd277e80fffae2f65a Author: Peter Zijlstra Date: Wed Apr 30 00:54:36 2008 -0700 mm: bdi: allow setting a maximum for the bdi dirty limit Add "max_ratio" to /sys/class/bdi. This indicates the maximum percentage of the global dirty threshold allocated to this bdi. [mszeredi@suse.cz] - fix parsing in max_ratio_store(). - export bdi_set_max_ratio() to modules - limit bdi_dirty with bdi->max_ratio - document new sysfs attribute Signed-off-by: Peter Zijlstra Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 189d3c4a94ef19fca2a71a6a336e9fda900e25e7 Author: Peter Zijlstra Date: Wed Apr 30 00:54:35 2008 -0700 mm: bdi: allow setting a minimum for the bdi dirty limit Under normal circumstances each device is given a part of the total write-back cache that relates to its current avg writeout speed in relation to the other devices. min_ratio - allows one to assign a minimum portion of the write-back cache to a particular device. This is useful in situations where you might want to provide a minimum QoS. (One request for this feature came from flash based storage people who wanted to avoid writing out at all costs - they of course needed some pdflush hacks as well) max_ratio - allows one to assign a maximum portion of the dirty limit to a particular device. This is useful in situations where you want to avoid one device taking all or most of the write-back cache. Eg. an NFS mount that is prone to get stuck, or a FUSE mount which you don't trust to play fair. Add "min_ratio" to /sys/class/bdi. This indicates the minimum percentage of the global dirty threshold allocated to this bdi. [mszeredi@suse.cz] - fix parsing in min_ratio_store() - document new sysfs attribute Signed-off-by: Peter Zijlstra Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6f2fcbcfca9db2bd7aa24940224fcd3bbdbb8aa Author: Miklos Szeredi Date: Wed Apr 30 00:54:34 2008 -0700 mm: bdi: expose the BDI object in sysfs for FUSE Register FUSE's backing_dev_info under sysfs with the name "fuse-MAJOR:MINOR" Make the fuse control filesystem use s_dev instead of a fuse specific ID. This makes it easier to match directories under /sys/fs/fuse/connections/ with directories under /sys/class/bdi, and with actual mounts. Signed-off-by: Miklos Szeredi Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa799759f9801137f665dbedda2c0815f1bf6f1b Author: Miklos Szeredi Date: Wed Apr 30 00:54:33 2008 -0700 mm: bdi: expose the BDI object in sysfs for NFS Register NFS' backing_dev_info under sysfs with the name "nfs-MAJOR:MINOR" Signed-off-by: Miklos Szeredi Cc: Peter Zijlstra Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf0ca9fe5dd9e3693d935757a7b2fc50fc576554 Author: Peter Zijlstra Date: Wed Apr 30 00:54:32 2008 -0700 mm: bdi: export BDI attributes in sysfs Provide a place in sysfs (/sys/class/bdi) for the backing_dev_info object. This allows us to see and set the various BDI specific variables. In particular this properly exposes the read-ahead window for all relevant users and /sys/block//queue/read_ahead_kb should be deprecated. With patient help from Kay Sievers and Greg KH [mszeredi@suse.cz] - split off NFS and FUSE changes into separate patches - document new sysfs attributes under Documentation/ABI - do bdi_class_init as a core_initcall, otherwise the "default" BDI won't be initialized - remove bdi_init_fmt macro, it's not used very much [akpm@linux-foundation.org: fix ia64 warning] Signed-off-by: Peter Zijlstra Cc: Kay Sievers Acked-by: Greg KH Cc: Trond Myklebust Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit caafa4324335aeb11bc233d5f87aca8cce30beba Author: Pavel Emelyanov Date: Wed Apr 30 00:54:31 2008 -0700 pidns: make pid->level and pid_ns->level unsigned These values represent the nesting level of a namespace and pids living in it, and it's always non-negative. Turning this from int to unsigned int saves some space in pid.c (11 bytes on x86 and 64 on ia64) by letting the compiler optimize the pid_nr_ns a bit. E.g. on ia64 this removes the sign extension calls, which compiler adds to optimize access to pid->nubers[ns->level]. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab883af53ec1b87add43b32a28d8347f17d5155b Author: Adrian Bunk Date: Wed Apr 30 00:54:30 2008 -0700 make marker_debug static With the needlessly global marker_debug being static gcc can optimize the unused code away. Signed-off-by: Adrian Bunk Acked-by: Mathieu Desnoyers Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 148ff86b11ec51d7d2f7ff863bd85d0dd5aa908c Author: Christoph Hellwig Date: Wed Apr 30 00:54:29 2008 -0700 mxser: convert large macros to functions Signed-off-by: Christoph Hellwig Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12a3de0a965826096d8adc593bcf4392a7d5b459 Author: Oleg Nesterov Date: Wed Apr 30 00:54:29 2008 -0700 pids: sys_getpgid: fix unsafe *pid usage, s/tasklist/rcu/ 1. sys_getpgid() needs rcu_read_lock() to derive the pgrp _nr, even if the task is current, otherwise we can race with another thread which does sys_setpgid(). 2. Use rcu_read_lock() instead of tasklist_lock when pid != 0, make sure that we don't use the NULL pid if the task exits right after successful find_task_by_vpid(). Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1dd768c0815334d2319d6377f0750ace075b6142 Author: Oleg Nesterov Date: Wed Apr 30 00:54:28 2008 -0700 pids: sys_getsid: fix unsafe *pid usage, fix possible 0 instead of -ESRCH 1. sys_getsid() needs rcu_read_lock() to derive the session _nr, even if the task is current, otherwise we can race with another thread which does sys_setsid(). 2. The task can exit between find_task_by_vpid() and task_session_vnr(), in that unlikely case sys_getsid() returns 0 instead of -ESRCH. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d8da0962eaee30b4a380ded177349bfbdd6ac46 Author: Oleg Nesterov Date: Wed Apr 30 00:54:27 2008 -0700 pids: __set_special_pids: use change_pid() helper Use change_pid() instead of detach_pid() + attach_pid() in __set_special_pids(). This way task_session() is not NULL in between. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83beaf3c6c75b36b7c9be7f555c8cf7797842cc5 Author: Oleg Nesterov Date: Wed Apr 30 00:54:27 2008 -0700 pids: sys_setpgid: use change_pid() helper Use change_pid() instead of detach_pid() + attach_pid() in sys_setpgid(). This way task_pgrp() is not NULL in between. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24336eaeecea860b2a82530e07c80bc7e0558b73 Author: Oleg Nesterov Date: Wed Apr 30 00:54:26 2008 -0700 pids: introduce change_pid() helper Based on Eric W. Biederman's idea. Without tasklist_lock held task_session()/task_pgrp() can return NULL if the caller races with setprgp()/setsid() which does detach_pid() + attach_pid(). This can happen even if task == current. Intoduce the new helper, change_pid(), which should be used instead. This way the caller always sees the special pid != NULL, either old or new. Also change the prototype of attach_pid(), it always returns 0 and nobody check the returned value. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65450cebc6a2efde80ed45514f727e6e4dc1eafd Author: Oleg Nesterov Date: Wed Apr 30 00:54:25 2008 -0700 pids: de_thread: don't clear session/pgrp pids for the old leader Based on Eric W. Biederman's idea. Unless task == current, without tasklist_lock held task_session()/task_pgrp() can return NULL if the caller races with de_thread() which switches the group leader. Change transfer_pid() to not clear old->pids[type].pid for the old leader. This means that its .pid can point to "nowhere", but this is already true for sub-threads, and the old leader is not group_leader() any longer. IOW, with or without this change we can't trust task's special pids unless it is the group leader. With this change the following code rcu_read_lock(); task = find_task_by_xxx(); do_something(task_pgrp(task), task_session(task)); rcu_read_unlock(); can't race with exec and hit the NULL pid. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cd204550b1a006f2b0c986b0e0f53220ebfd391 Author: Pavel Emelyanov Date: Wed Apr 30 00:54:24 2008 -0700 Deprecate find_task_by_pid() There are some places that are known to operate on tasks' global pids only: * the rest_init() call (called on boot) * the kgdb's getthread * the create_kthread() (since the kthread is run in init ns) So use the find_task_by_pid_ns(..., &init_pid_ns) there and schedule the find_task_by_pid for removal. [sukadev@us.ibm.com: Fix warning in kernel/pid.c] Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb41d6d068716b2b3666925da34d3d7e658bf4f3 Author: Pavel Emelyanov Date: Wed Apr 30 00:54:23 2008 -0700 Use find_task_by_vpid in taskstats The pid to lookup a task by is passed inside taskstats code via genetlink message. Since netlink packets are now processed in the context of the sending task, this is correct to lookup the task with find_task_by_vpid() here. Besides, I fix the call to fill_pid() from taskstats_exit(), since the tsk->pid is not required in fill_pid() in this case, and the pid field on task_struct is going to be deprecated as well. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Cc: Balbir Singh Cc: Jay Lan Cc: Jonathan Lim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7127aa4547d8cc8a5b569631e2b6ef613af1bb7 Author: Oleg Nesterov Date: Wed Apr 30 00:54:22 2008 -0700 free_pidmap: turn it into free_pidmap(struct upid *) The callers of free_pidmap() pass 2 members of "struct upid", we can just pass "struct upid *" instead. Shaves off 10 bytes from pid.o. Also, simplify the alloc_pid's "out_free:" error path a little bit. This way it looks more clear which subset of pid->numbers[] we are freeing. Signed-off-by: Oleg Nesterov Cc: Pavel Emelyanov Cc: "Eric W. Biederman" Cc :Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 718a916338e821a10961e6a7a17430c18e5e58d9 Author: Sukadev Bhattiprolu Date: Wed Apr 30 00:54:21 2008 -0700 devpts: factor out PTY index allocation Factor out the code used to allocate/free a pts index into new interfaces, devpts_new_index() and devpts_kill_index(). This localizes the external data structures used in managing the pts indices. [akpm@linux-foundation.org: undo accidental mutex2sem conversion] Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Serge Hallyn Signed-off-by: Matt Helsley Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f8f9d66cdac4845409f7520e4f287a1907a6bf9 Author: Sukadev Bhattiprolu Date: Wed Apr 30 00:54:20 2008 -0700 devpts: propagate error code from devpts_pty_new Have ptmx_open() propagate any error code returned by devpts_pty_new() (which returns either 0 or -ENOMEM anyway). Signed-off-by: Sukadev Bhattiprolu Acked-by: Serge Hallyn Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86a96538178f923aa1aa43c1e7cfec5951df7f8a Author: Hiroshi Shimamoto Date: Wed Apr 30 00:54:20 2008 -0700 tty: fix routine name in ptmx_open() At ptmx_open(), the 2nd parameter for check_tty_count() should be "ptmx_open". Signed-off-by: Hiroshi Shimamoto Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24cb233520f01971d6d873cb52c64bbbb0665ac0 Author: Alan Cox Date: Wed Apr 30 00:54:19 2008 -0700 char serial: switch drivers to ioremap_nocache Simple search/replace except for synclink.c where I noticed a real bug and fixed it too. It was doing NULL + offset, then checking for NULL if the remap failed. Signed-off-by: Alan Cox Cc: Paul Fulghum Acked-by: Jiri Slaby Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6fc819ebe2d70c92e43e14adbb93a5bd8ea5aa3 Author: Alan Cox Date: Wed Apr 30 00:54:18 2008 -0700 ip2: switch remaining direct call of ops->flush_buffer Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39c2e60f8c584c1b29b5c4375dd49df7995386bb Author: Alan Cox Date: Wed Apr 30 00:54:18 2008 -0700 tty: add throttle/unthrottle helpers Something Arjan suggested which allows us to clean up the code nicely Signed-off-by: Alan Cox Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cd64518a3d166a21f5c69ac7860b3add0369dd0 Author: Alan Cox Date: Wed Apr 30 00:54:17 2008 -0700 isicom: fix buffer allocation Fix the rather strange buffer management on open that turned up while auditing for BKL dependencies. Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb100b6ea7bf8a95e52b90cc0dc0ea5744a0a40a Author: Alan Cox Date: Wed Apr 30 00:54:16 2008 -0700 esp: clean up to modern coding style Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 191260a01257793ad76cc35b7f9e1508d27bdd4b Author: Alan Cox Date: Wed Apr 30 00:54:16 2008 -0700 epca: coding style Clean up the epca driver Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9492e13516f00340d7d01d81551eea8deb0b8d0e Author: Alan Cox Date: Wed Apr 30 00:54:15 2008 -0700 riscom8: coding style Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e8bcf16c2b2f949dfafa3e8e94a51fd37bfc3ef Author: Alan Cox Date: Wed Apr 30 00:54:14 2008 -0700 strip: Fix up strip for the new order - Use the tty baud functions - Call driver termios methods directly holding the right locking - Check for a write method Signed-off-by: Alan Cox Cc: David S. Miller Cc: Jeff Garzik Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f34d7a5b7010b82fe97da95496b9971435530062 Author: Alan Cox Date: Wed Apr 30 00:54:13 2008 -0700 tty: The big operations rework - Operations are now a shared const function block as with most other Linux objects - Introduce wrappers for some optional functions to get consistent behaviour - Wrap put_char which used to be patched by the tty layer - Document which functions are needed/optional - Make put_char report success/fail - Cache the driver->ops pointer in the tty as tty->ops - Remove various surplus lock calls we no longer need - Remove proc_write method as noted by Alexey Dobriyan - Introduce some missing sanity checks where certain driver/ldisc combinations would oops as they didn't check needed methods were present [akpm@linux-foundation.org: fix fs/compat_ioctl.c build] [akpm@linux-foundation.org: fix isicom] [akpm@linux-foundation.org: fix arch/ia64/hp/sim/simserial.c build] [akpm@linux-foundation.org: fix kgdb] Signed-off-by: Alan Cox Acked-by: Greg Kroah-Hartman Cc: Jason Wessel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 251b8dd7eee30fda089a1dc088abf4fc9a0dee9c Author: Alan Cox Date: Wed Apr 30 00:54:12 2008 -0700 isicom: bring into coding style [akpm@linux-foundation.org: fix arm, cleanups] Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23d22cea85ba9114a59a32ca8dfb1e2aef52a278 Author: Alan Cox Date: Wed Apr 30 00:54:11 2008 -0700 serial: switch the serial core to int put_char methods Signed-off-by: Alan Cox Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56dbbb9a5704f665068778d4d2c1bdf757756e60 Author: Alan Cox Date: Wed Apr 30 00:54:10 2008 -0700 pc300: Update to tty_set_operations This driver somehow escaped the tty operations changes way back when. Update it so that we can switch to tty->ops shortly. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e8e88ca053150efdbecb45d8f481cf560ec808d Author: Alan Cox Date: Wed Apr 30 00:54:10 2008 -0700 pty: prepare for tty->ops changes We are about to change the tty layer to avoid keeping private copies of all the methods in each tty. We have to update the pty layer first as it currently patches the ioctl method according to the tty type. Use multiple tty operations sets instead. Signed-off-by: Alan Cox Acked-by: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2545a75632d18d62aa287b9e5d207255cc8bffc Author: Alan Cox Date: Wed Apr 30 00:54:09 2008 -0700 isdn: switch to int put_char method Signed-off-by: Alan Cox Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d19f546e7b6f0976f957780f2687c55668f4495 Author: Alan Cox Date: Wed Apr 30 00:54:08 2008 -0700 consoles: switch to int put_char method Signed-off-by: Alan Cox Cc: Antonino Daplas Cc: Stephen Rothwell Cc: Kelly Daly Cc: Paul Mackerras Cc: Jiri Slaby Cc: Samuel Thibault Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55da77899c1472d83452c914fa179d00ea96df65 Author: Alan Cox Date: Wed Apr 30 00:54:07 2008 -0700 synclink series: switch to int put_char method Signed-off-by: Alan Cox Cc: Paul Fulghum Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ae045767b2adae4e8fc054b980326a971ac4c8e Author: Alan Cox Date: Wed Apr 30 00:54:07 2008 -0700 specialix: Switch to int put_char method Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5b08c66194fba02a865b397579b7204688bcb1e Author: Alan Cox Date: Wed Apr 30 00:54:05 2008 -0700 serial167: switch to int put_char method Signed-off-by: Alan Cox Cc: Jiri Slaby Cc: Jeff Dike Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbbbb96f5ea84971545ecae5a9ec50387cd9c6a3 Author: Alan Cox Date: Wed Apr 30 00:54:05 2008 -0700 riscom/rocket: switch to int put_char method Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7e752e2757fba49178f4b1af4778ca64d305cbb Author: Alan Cox Date: Wed Apr 30 00:54:04 2008 -0700 pcmcia: serial to int put_char method Signed-off-by: Alan Cox Cc: Dominik Brodowski Cc: Paul Fulghum Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0be2eadee7baff96d2c7339be4bc2a0f5c96e4f5 Author: Alan Cox Date: Wed Apr 30 00:54:03 2008 -0700 mxser: switch to put_char being int Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76b25a5509bbafdbfc7d7d6b41a3c64947d59360 Author: Alan Cox Date: Wed Apr 30 00:54:03 2008 -0700 char: switch gs, cyclades and esp to return int for put_char Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 257afa3cb6beaad60849655cb272d4b9de74cf63 Author: Alan Cox Date: Wed Apr 30 00:54:02 2008 -0700 amiserial: Switch put char to return success/fail Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cd55ab1f991e4d4f3551a711f0f87441a57cd1b Author: Alan Cox Date: Wed Apr 30 00:54:01 2008 -0700 usb gadget: switch to put_char returning int Signed-off-by: Alan Cox Acked-by: Greg Kroah-Hartman Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09a6ffa84c8e893d9656296b322dc8145e09e186 Author: Alan Cox Date: Wed Apr 30 00:54:01 2008 -0700 serial m68k: put_char returns Signed-off-by: Alan Cox Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e7c9a19c1df8a7450c56c41b9c7405eca7eda07 Author: Alan Cox Date: Wed Apr 30 00:54:00 2008 -0700 s390 tty: Prepare for put_char to return success/fail Put the changes into the drivers first. This will still compile/work but produce a warning if bisected so can still be debugged Signed-off-by: Alan Cox Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Christian Borntraeger Cc: Peter Oberparleiter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 978e595f88a1fba5869aa42a4af4fba36f33ecac Author: Alan Cox Date: Wed Apr 30 00:53:59 2008 -0700 tty/serial: lay the foundations for the next set of reworks - Stop drivers calling their own flush method indirectly, it obfuscates code and it will change soon anyway - A few more lock_kernel paths temporarily needed in some driver internal waiting code - Remove private put_char method that does a write call for one char - we have that anyway - Most but not yet all of the termios copy under lock fixing (some has other dependencies to follow) - Note a few locking bugs in drivers found in the process - Kill remaining [ab]users of TIOCG/SSOFTCAR in the driver, these must go to fix the termios locking Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac0e4b7d319bf284bb64bc7e1c051417386b34a4 Author: Julia Lawall Date: Wed Apr 30 00:53:58 2008 -0700 drivers/char/ds1286.c: use time_before, time_before_eq, etc The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6f6341a6475eb7f9c2b948a7d0fd56fd16ad675 Author: Jiri Slaby Date: Wed Apr 30 00:53:57 2008 -0700 Char: rio, fix cirrus defines Rename defines to be in RIO* namespace to not to collide with other defines in tree. This broke (as akpm correctly pointed out) some allmodconfig builds, e.g. on ppc: In file included from drivers/char/rio/rio_linux.c:81: drivers/char/rio/cirrus.h:202:1: warning: "COMPLETE" redefined In file included from include/net/netns/ipv4.h:8, from include/net/net_namespace.h:13, from include/linux/seq_file.h:7, from include/asm/machdep.h:12, from include/asm/pci.h:17, from include/linux/pci.h:951, from drivers/char/rio/rio_linux.c:50: include/net/inet_frag.h:28:1: warning: this is the location of the previous definition Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd989b3a8c30148c872c7677c7a0415584f1658c Author: Alan Cox Date: Wed Apr 30 00:53:56 2008 -0700 cyclades: use ioremap_nocache for clarity as proposed Signed-off-by: Alan Cox Acked-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15ed6cc0ba6b7beaf31c6756b0c838188800051b Author: Alan Cox Date: Wed Apr 30 00:53:55 2008 -0700 cyclades: coding style & review Signed-off-by: Alan Cox Cc: Arnaldo Carvalho de Melo Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5b393e4f1178faaf3d7c22ef63e70c79633bd66 Author: Alan Cox Date: Wed Apr 30 00:53:54 2008 -0700 istallion: TIOCG/SSOFTCAR handling removal This is handled (and correctly) by the core code so does not belong incorrectly in the driver. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf1c63c3e68679dcac1cc6a37e619d9106ebc0ca Author: Jiri Slaby Date: Wed Apr 30 00:53:54 2008 -0700 Char: ip2, macros cleanup - remove i2os.h -- there was only macro to macro renaming or useless stuff - remove another uselless stuf (NULLFUNC, NULLPTR, YES, NO) - use outb/inb directly - use locking functions directly - don't define another ROUNDUP, use roundup(x, 2) instead - some comments and whitespace cleanup - remove some commented crap - prepend the rest by I2 prefix to not collide with rest of the world like in following output (pointed out by akpm) In file included from drivers/char/ip2/ip2main.c:128: drivers/char/ip2/i2ellis.h:608:1: warning: "COMPLETE" redefined In file included from include/net/netns/ipv4.h:8, from include/net/net_namespace.h:13, from include/linux/seq_file.h:7, from include/asm/machdep.h:12, from include/asm/pci.h:17, from include/linux/pci.h:951, from drivers/char/ip2/ip2main.c:95: include/net/inet_frag.h:28:1: warning: this is the location of the previous definition Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83e422b7649267067975cbb17a878b5f9dfd2de3 Author: Jon Schindler Date: Wed Apr 30 00:53:53 2008 -0700 drivers/char/ip2/ip2main.c: replace init_module&cleanup_module with module_init&module_exit Replace init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11fb09bfabd699a94555b69d6e6c4fa6c3febde8 Author: Harvey Harrison Date: Wed Apr 30 00:53:52 2008 -0700 epca.c: static functions and integer as NULL pointer fixes drivers/char/epca.c:926:28: warning: Using plain integer as NULL pointer drivers/char/epca.c:1841:2: warning: Using plain integer as NULL pointer Forward declarations were already marked static, mark the definitions too. drivers/char/epca.c:2493:6: warning: symbol 'digi_send_break' was not declared. Should it be static? drivers/char/epca.c:2881:12: warning: symbol 'init_PCI' was not declared. Should it be static? [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a4e2351e7fcf2d10bb5524b0ace7797ffad4d98 Author: Harvey Harrison Date: Wed Apr 30 00:53:52 2008 -0700 cyclades.c: fix sparse shadowed variable warnings Nested min() macros. drivers/char/cyclades.c:2750:7: warning: symbol '_x' shadows an earlier one drivers/char/cyclades.c:2750:7: originally declared here drivers/char/cyclades.c:2750:7: warning: symbol '_x' shadows an earlier one drivers/char/cyclades.c:2750:7: originally declared here drivers/char/cyclades.c:2750:7: warning: symbol '_y' shadows an earlier one drivers/char/cyclades.c:2750:7: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 709107fcd3c4ad82ff7c8137c27aa951d671706f Author: Harvey Harrison Date: Wed Apr 30 00:53:51 2008 -0700 char: rocket.c: fix sparse variable shadowing and int as NULL pointer Nested min() macros shadow _x, separate into two lines. drivers/char/rocket.c:451:7: warning: symbol '_x' shadows an earlier one drivers/char/rocket.c:451:7: originally declared here drivers/char/rocket.c:451:7: warning: symbol '_x' shadows an earlier one drivers/char/rocket.c:451:7: originally declared here drivers/char/rocket.c:451:7: warning: symbol '_y' shadows an earlier one drivers/char/rocket.c:451:7: originally declared here drivers/char/rocket.c:1754:7: warning: symbol '_x' shadows an earlier one drivers/char/rocket.c:1754:7: originally declared here drivers/char/rocket.c:1754:7: warning: symbol '_x' shadows an earlier one drivers/char/rocket.c:1754:7: originally declared here drivers/char/rocket.c:1754:7: warning: symbol '_y' shadows an earlier one drivers/char/rocket.c:1754:7: originally declared here drivers/char/rocket.c:1751:20: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3ceb6562bfbe8f27fa32d1e24eea0e2d4de0347 Author: Harvey Harrison Date: Wed Apr 30 00:53:50 2008 -0700 char: esp.c: fix possible double-unlock Hitting either of the break statements in the while loop would cause a double-unlock of info->lock. [Jiri Slaby suggested simply returning is safe here, rather than a goto] Noticed by sparse: drivers/char/esp.c:2042:2: warning: context imbalance in 'rs_wait_until_sent' - unexpected unlock Signed-off-by: Harvey Harrison Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5592268a5aa5e02f36f396de47c94a1506e3678 Author: Harvey Harrison Date: Wed Apr 30 00:53:50 2008 -0700 char: fix sparse shadowed variable warnings in esp.c flags only use was in spin_lock_irqsave/spin_lock_irgrestore pairs, no need to redeclare for each one. drivers/char/esp.c:1599:17: warning: symbol 'flags' shadows an earlier one drivers/char/esp.c:1517:16: originally declared here drivers/char/esp.c:1615:17: warning: symbol 'flags' shadows an earlier one drivers/char/esp.c:1517:16: originally declared here drivers/char/esp.c:1631:17: warning: symbol 'flags' shadows an earlier one drivers/char/esp.c:1517:16: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec09cd562135158dcb8a6c08e5a9efa36febedb1 Author: Jiri Slaby Date: Wed Apr 30 00:53:49 2008 -0700 Char: moxa, add firmware loading fix Be more verbose on fw load fail as noted by Oyvind. Signed-off-by: Jiri Slaby Cc: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9705b603d1d29471aa2977e6310f4f9a4e85925 Author: Jiri Slaby Date: Wed Apr 30 00:53:48 2008 -0700 Char: moxa, update credits - update version - update maintainers - copyright the stuff Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb9f910a1153101a2f92620f1e7d0fda786c9812 Author: Jiri Slaby Date: Wed Apr 30 00:53:48 2008 -0700 Char: moxa, notify about board readiness Drop a message to dmesg about card being ready. Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08d01c792568ba07d2bcf5202dbc8484dbff6747 Author: Jiri Slaby Date: Wed Apr 30 00:53:47 2008 -0700 Char: moxa, introduce MOXA_IS_320 macro It allows to simplify the code, especially MoxaPortSetBaud. Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92d30a9372040a6411e6ed1234fea6153e750874 Author: Jiri Slaby Date: Wed Apr 30 00:53:47 2008 -0700 Char: moxa, remove useless tty functions - moxa_flush_chars -- no code; ldics handle this well - moxa_put_char -- only wrapper to moxa_write (same code), tty does this the same way if tty->driver->put_char is NULL Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eaa95a8da6366c34d3a61e93109e5f8f8a4e72a0 Author: Jiri Slaby Date: Wed Apr 30 00:53:46 2008 -0700 Char: moxa, little cleanup Cleanup of - whitespace - macros - useless casts - return (sth); -> return sth; - types - superfluous parenthesis and braces - init tmp directly in moxa_get_serial_info - commented defunct code - commented prototypes - MOXA/moxa printk case Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8f5cda067e2eeefe49fe386caf0f61fc5c825e0 Author: Jiri Slaby Date: Wed Apr 30 00:53:45 2008 -0700 Char: moxa, rework open/close - add locking to open/close/hangup and ioctl (tiocm) - add pci hot-un-plug support (hangup on board remove, wait for openers) - cleanup block_till_ready - move close code common to close/hangup into separate function to be able to call it from open when hangup occurs while block_till_ready - let ldisc flush on tty layer, it will do it after we return Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a5413416b6b2fd8a5a38601a4fe3b56a52cfb86 Author: Jiri Slaby Date: Wed Apr 30 00:53:45 2008 -0700 Char: moxa, serialise timer - del timer after we are sure it won't be fired again - make timer scheduling atomic - don't reschedule timer when all cards have gone Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2108eba5c531c12f5ae2ed2ef4cee7bf4246897b Author: Jiri Slaby Date: Wed Apr 30 00:53:44 2008 -0700 Char: moxa, cleanup rx/tx - cleanup types - use tty_prepare_flip_string and io memcpys Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bcf97d1dd88135b58c7adb7c3bfebab55b21a20 Author: Jiri Slaby Date: Wed Apr 30 00:53:43 2008 -0700 Char: moxa, merge 2 poll functions - merge 2 timers into one -- one can handle the emptywait as good as the other - merge 2 separated poll functions into one, this allows handle the actions directly and simplifies the code Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74d7d97b9e2a090a4b1812b5074ac6c539234ebb Author: Jiri Slaby Date: Wed Apr 30 00:53:43 2008 -0700 Char: moxa, ioctl cleanup - allow stats only for sys_admin - move TCSBRK* processing to .break_ctl tty op - let TIOCGSOFTCAR and TIOCSSOFTCAR be processed by ldisc - remove MOXA_GET_MAJOR, MOXA_GET_CUMAJOR - fix jiffies subtraction by time_after - move moxa ioctl numbers into the header; still not exported to userspace, needs _IOC and 32/64 compat cleanup anyways Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0bcc4caadc8f5396b52950ee03c67b76875602df Author: Jiri Slaby Date: Wed Apr 30 00:53:42 2008 -0700 Char: moxa, timer cleanup - schedule timer even after some card is installed, not after insmod - cleanup timer functions Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 810ab09b2f3a4e9a6f553e3d1e84a27f4074de9c Author: Jiri Slaby Date: Wed Apr 30 00:53:41 2008 -0700 Char: moxa, centralize board readiness The only relevant sign of port being ready is its board->ready since now. Remove all other flags for this purpose which are set almost on the same place. Move ports inside the board to be sure that nobody will grab reference to the port without being sure that it exists. [jirislaby@gmail.com: fix unused var warning] Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97506056bdf0f230854142ffa986c616a0a5536e Author: Jiri Slaby Date: Wed Apr 30 00:53:41 2008 -0700 Char: moxa, remove unused port entries Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4173f45758a5b5185acb302c507289e661d9419 Author: Jiri Slaby Date: Wed Apr 30 00:53:40 2008 -0700 Char: moxa, remove port->port We don't need to hold a reference to port index. In most cases we need port structure anyway and index is available in port->tty->index. Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5292bcd38e4bcd147905941b5e37b5b0da1a5577 Author: Jiri Slaby Date: Wed Apr 30 00:53:39 2008 -0700 Char: moxa, merge c2xx and c320 firmware loading Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 037182346f0991683cc7320a257c3f6089432cee Author: Jiri Slaby Date: Wed Apr 30 00:53:39 2008 -0700 Char: moxa, add firmware loading Substitute ioctl load firmware interface by kernel firmware api. Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e9fc313ffa3cb92f7f81a8e076566bc9d582351 Author: Jiri Slaby Date: Wed Apr 30 00:53:38 2008 -0700 Char: moxa, fix TIOC(G/S)SOFTCAR param according to ioctl_list, both have int * as a param, not ulong *. Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e46a5e3ff06b70690d567bdc81faf6c1c32e742f Author: Jiri Slaby Date: Wed Apr 30 00:53:37 2008 -0700 Char: moxa, pci io space fixup - request region before remapping pci io space - use ioremap, iounmap istead of iomap interface, because we use readX/writeX for accessing this space because of isa support Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d353eca4e0480fddcb088c4692e1edba0a82eac9 Author: Jiri Slaby Date: Wed Apr 30 00:53:37 2008 -0700 Char: moxa, cleanup module-param passed isa init Make the code more readable, remap the base address directly. Describe module parameters. Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37794952a685538f20ac9792e98f1c9b161dbdfe Author: Jiri Slaby Date: Wed Apr 30 00:53:36 2008 -0700 Char: moxa, remove static isa support Static ISA field is empty and probably will never be filled in, remove it. The driver still supports ISA cards passed through module parameter. This actually fixes one bug inside the initialization of module-param passed cards initialization. Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbacdd9572285c86848dd323dc764abb3681ddbc Author: Dimitri Sivanich Date: Wed Apr 30 00:53:35 2008 -0700 SGI Altix mmtimer: allow larger number of timers per node The purpose of this patch to the SGI Altix specific mmtimer (posix timer) driver is to allow a virtually infinite number of timers to be set per node. Timers will now be kept on a sorted per-node list and a single node-based hardware comparator is used to trigger the next timer. [akpm@linux-foundation.org: mark things static] [akpm@linux-foundation.org: fix warning] Signed-off-by: Dimitri Sivanich Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d17468c73e138e1108b279acf892dd35937d43ed Author: Alan Cox Date: Wed Apr 30 00:53:34 2008 -0700 tty: drop the BKL for driver/ldisc ioctl methods Now we have pushed the lock down we can stop wrapping the call with a lock in the tty layer. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c2630ccf922b7ea2c54c184243d4fb2bd2cf3c6 Author: Alan Cox Date: Wed Apr 30 00:53:34 2008 -0700 tty_ioctl: soft carrier handling First cut at moving the soft carrier handling knowledge entirely into the core code. One or two drivers still needed to snoop these functions to track CLOCAL internally. Instead make TIOCSSOFTCAR generate the same driver calls as other termios ioctls changing the clocal flag. This allows us to remove any driver knowledge and special casing. Also while we are at it we can fix the error handling. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ee9cbb3c705903db9c258047d9ce87096e6a1a1 Author: Alan Cox Date: Wed Apr 30 00:53:32 2008 -0700 tty_ioctl: locking for tty_wait_until_sent This function still depends on the big kernel lock in some cases. Push locking into the function ready for removal of the BKL from ioctl call paths. Signed-off-by: Alan Cox Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d0fdf1e01899805b6c2c0b789a707dcb731b1ea Author: Alan Cox Date: Wed Apr 30 00:53:31 2008 -0700 tty_io: fix remaining pid struct locking This fixes the last couple of pid struct locking failures I know about. [oleg@tv-sign.ru: clean up do_task_stat()] Signed-off-by: Alan Cox Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 575537b3248ee9b7578a3bb3df33fcdda2bfc4d5 Author: Joe Peterson Date: Wed Apr 30 00:53:30 2008 -0700 Resume TTY on SUSP and fix CRNL order in N_TTY line discipline Refine these behaviors in the N_TTY line discipline: 1) Handle the signal characters consistently when received in a stopped TTY so that SUSP (typically ctrl-Z) behaves like INTR and QUIT in resuming a stopped TTY. 2) Adjust the order in which the IGNCR/ICRNL/INLCR processing is applied to be more logical and consistent with the behavior of other Unix systems. Signed-off-by: Joe Peterson Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47f86834bbd4193139d61d659bebf9ab9d691e37 Author: Alan Cox Date: Wed Apr 30 00:53:30 2008 -0700 redo locking of tty->pgrp Historically tty->pgrp and friends were pid_t and the code "knew" they were safe. The change to pid structs opened up a few races and the removal of the BKL in places made them quite hittable. We put tty->pgrp under the ctrl_lock for the tty. Signed-off-by: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04f378b198da233ca0aca341b113dc6579d46123 Author: Alan Cox Date: Wed Apr 30 00:53:29 2008 -0700 tty: BKL pushdown - Push the BKL down into the line disciplines - Switch the tty layer to unlocked_ioctl - Introduce a new ctrl_lock spin lock for the control bits - Eliminate much of the lock_kernel use in n_tty - Prepare to (but don't yet) call the drivers with the lock dropped on the paths that historically held the lock BKL now primarily protects open/close/ldisc change in the tty layer [jirislaby@gmail.com: a couple of fixes] Signed-off-by: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e52384426064bca0669a954736206adca7595d48 Author: Alan Cox Date: Wed Apr 30 00:53:28 2008 -0700 serial_core: Prepare for BKL push down Instead of checking for the BKL in these methods, take it ourselves. That avoids propogating it into the serial drivers and we can then fix them later on. Signed-off-by: Alan Cox Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0754c99a6bcfcba7e1d68b75e3f25cb367af0fa Author: Alan Cox Date: Wed Apr 30 00:53:27 2008 -0700 68360serial: Note that there isn't any info->mcr locking Noticed while auditing the code for the BKL elimination project Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e4d376c664ded7cb9cc1c7d0cae67c9672e46b1 Author: Alan Cox Date: Wed Apr 30 00:53:27 2008 -0700 isdn_tty: Prepare for BKL push down Three things here - Remove softcar handler - Correct termios change detection logic - Wrap break/ioctl in lock_kernel ready to drop it in the caller Signed-off-by: Alan Cox Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cc3c22bf017f33612748aeb466fdc3695fb1e1d Author: Alan Cox Date: Wed Apr 30 00:53:26 2008 -0700 vt_ioctl: Prepare for BKL push down This one could do with some eyeballs on it. In theory it simply wraps the ioctl handler in lock/unlock_kernel ready for the lock/unlocks to be pushed into specific switch values. To do that means changing the code to return via a common exit path not all over the place as it does now, hence the big diff Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd9a451aad4fd7d5f46d2300c0e4fb70d8914453 Author: Alan Cox Date: Wed Apr 30 00:53:25 2008 -0700 viocons: BKL locking For some weird reason I can't ascertain (translation "I think its broken") the viocons driver calls directly into the n_tty ldisc code even if another ldisc is in use. It'll probably break if you do that but I'm just fixing the locking and adding a comment that its horked. Signed-off-by: Alan Cox Cc: Paul Mackerras Cc: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f8cabb7055b98300aa0798ee0f6513dfc130cc2 Author: Alan Cox Date: Wed Apr 30 00:53:24 2008 -0700 synclink series: Prepare for BKL pushdown As these are quite complex I've simply pushed the BKL down into the ioctl handler not tried to do anything neater. Signed-off-by: Alan Cox Cc: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 341339e7aff33e3aa73d6c49dbd5a79be0bbec04 Author: Alan Cox Date: Wed Apr 30 00:53:24 2008 -0700 sx: prepare for BKL pushdown Wrap the ioctl handler, and in this case the break handler also in the BKL. Remove bogus softcar handlers. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f433c65b8acb5346e6fefff4e4b97711c987ccf9 Author: Alan Cox Date: Wed Apr 30 00:53:23 2008 -0700 stallion: Prepare for BKL push down Remove broken softcar functions, wrap ioctl handler in BKL Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b190e178f63e8dad7755054e02dc18a24ea6f0ac Author: Alan Cox Date: Wed Apr 30 00:53:22 2008 -0700 specialix: Prepare for BKL pushdown Lock the ioctl handlers and remove bogus softcar handling. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 638157bc1461f6718eeca06bedd9a09cf1f35c36 Author: Alan Cox Date: Wed Apr 30 00:53:22 2008 -0700 serial167: prepare to push BKL down into drivers Kill the softcar handlers again, wrap the ioctl handler in the BKL Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdf183aa47dcb46782e22ebd4d1061e47ad74b14 Author: Alan Cox Date: Wed Apr 30 00:53:21 2008 -0700 rocket: Prepare for BKL pushdown Wrap the ioctl code in lock_kernel calls Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb1745529622f204733139bde2201eb4ee994c03 Author: Alan Cox Date: Wed Apr 30 00:53:21 2008 -0700 riscom8: Prepare for BKL pushdown Push the locking down into a couple of functions that need it and remove bogus TIOCG/SSOFTCAR handling Signed-off-by: Alan Cox Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d6d162d495d7abf2bfcdffc73c0892f1179579a Author: Alan Cox Date: Wed Apr 30 00:53:20 2008 -0700 mxser: prepare for BKL pushdown Push the BKL down into various internal routines in the driver ready to remove it from the break, ioctl and other call points. Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3736113654165b5f4b8658b6a34d74631e0b7d81 Author: Alan Cox Date: Wed Apr 30 00:53:19 2008 -0700 isicom: istallion prepare for lock_kernel pushdown This is an ancient driver so just wrap it in lock_kernel internally and be done. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1eac494738a0447ef0c423ee2066f85a44ab59f5 Author: Alan Cox Date: Wed Apr 30 00:53:19 2008 -0700 isicom: prepare for lock_kernel push down Again lock the bits we can't trivially prove are safe without the BKL and remove the broken TIOCS/GSOFTCAR handler. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a4bc8c1bde7bcb7f02950764e37e9d6bbdb3e32 Author: Alan Cox Date: Wed Apr 30 00:53:18 2008 -0700 esp: lock_kernel push down Push the BKL down into a few internal bits of code in this driver. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37925e050379ef4db9f4ed251786b6d43da6ec71 Author: Alan Cox Date: Wed Apr 30 00:53:17 2008 -0700 epca: lock_kernel push down Prepare epca for removing the lock from above. Most of epca is internally locked so we can trivially push it down to a few bits of code. Drop the TIOCG/SSOFTCAR handling as that is done *properly* with locks by the mid layer. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b130c0efd7acbdc3cf9b2e7cc9a26e923feec93 Author: Alan Cox Date: Wed Apr 30 00:53:16 2008 -0700 cyclades: Prepare for relaxed locking in callers Basically wrap it in lock_kernel where it is hard to prove the locking is ok. Signed-off-by: Alan Cox Cc: "John Stoffel" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e18ce49b5b8f957fb99d66990ff49d527f823210 Author: Alan Cox Date: Wed Apr 30 00:53:16 2008 -0700 amiserial: prepare for locking relaxation in caller Just wrap this one in a lock_kernel. As I understand it there is no M68K SMP anyway. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00cd5c37afd5f431ac186dd131705048c0a11fdb Author: Oleg Nesterov Date: Wed Apr 30 00:53:15 2008 -0700 ptrace: permit ptracing of /sbin/init Afaics, currently there are no kernel problems with ptracing init, it can't lose SIGNAL_UNKILLABLE flag and be killed/stopped by accident. The ability to strace/debug init can be very useful if you try to figure out why it does not work as expected. However, admin should know what he does, "gdb /sbin/init 1" stops init, it can't reap orphaned zombies or take care of /etc/inittab until continued. It is even possible to crash init (and thus the whole system) if you wish, ptracer has full control. See also the long discussion: http://marc.info/?t=120628018600001 Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Acked-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33e9fc7d01269737cd5a3b6de1db9d0e796ab708 Author: Oleg Nesterov Date: Wed Apr 30 00:53:14 2008 -0700 ptrace: ptrace_attach: use send_sig_info() instead force_sig_specific() Nobody can block/ignore SIGSTOP, no need to use force_sig_specific() in ptrace_attach. Use the "regular" send_sig_info(). With this patch stracing of /sbin/init doesn't clear its SIGNAL_UNKILLABLE, but not that this makes ptracing of init safe. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68cb94786630b34196713794a2880ade17fca887 Author: Oleg Nesterov Date: Wed Apr 30 00:53:14 2008 -0700 ptrace: __ptrace_unlink: use the ptrace_reparented() helper Currently __ptrace_unlink() checks list_empty(->ptrace_list) to figure out whether the child was reparented. Change the code to use ptrace_reparented() to make this check more explicit and consistent. No functional changes. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53b6f9fbd3b63af14b4f6268e8b5b80d178d05bc Author: Oleg Nesterov Date: Wed Apr 30 00:53:13 2008 -0700 ptrace: introduce ptrace_reparented() helper Add another trivial helper for the sake of grep. It also auto-documents the fact that ->parent != real_parent implies ->ptrace. No functional changes. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2800d8d19e51414403df8144eaa214bb03400b87 Author: Oleg Nesterov Date: Wed Apr 30 00:53:12 2008 -0700 document de_thread() with exit_notify() connection Add a couple of small comments, it is not easy to see what this code does. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 376e1d2531860358c8a79fecf5f4f42994d03c4d Author: Oleg Nesterov Date: Wed Apr 30 00:53:12 2008 -0700 reparent_thread: use same_thread_group() Trivial, use same_thread_group() in reparent_thread(). Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d839fd4d2e95a5fbc4d50aa9d17eed6a5f2094e6 Author: Oleg Nesterov Date: Wed Apr 30 00:53:11 2008 -0700 ptrace: introduce task_detached() helper exit.c has numerous "->exit_signal == -1" comparisons, this check is subtle and deserves a helper. Imho makes the code more parseable for humans. At least it's surely more greppable. Also, a couple of whitespace cleanups. No functional changes. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a8da0ea82db6fa9737041381079fd16f25dcce2 Author: Roland McGrath Date: Wed Apr 30 00:53:10 2008 -0700 signals: x86 TS_RESTORE_SIGMASK Replace TIF_RESTORE_SIGMASK with TS_RESTORE_SIGMASK and define our own set_restore_sigmask() function. This saves the costly SMP-safe set_bit operation, which we do not need for the sigmask flag since TIF_SIGPENDING always has to be set too. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3de272b821accbc8387211977c2de4f38468d05 Author: Roland McGrath Date: Wed Apr 30 00:53:09 2008 -0700 signals: use HAVE_SET_RESTORE_SIGMASK Change all the #ifdef TIF_RESTORE_SIGMASK conditionals in non-arch code to #ifdef HAVE_SET_RESTORE_SIGMASK. If arch code defines it first, the generic set_restore_sigmask() using TIF_RESTORE_SIGMASK is not defined. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49eaeb4bc4c901c327ee259c7768be20fd020a30 Author: akpm@linux-foundation.org Date: Wed Apr 30 00:53:09 2008 -0700 signals: ia64 renumber TIF_RESTORE_SIGMASK TIF_RESTORE_SIGMASK no longer needs to be in the _TIF_WORK_* masks. Those low bits are scarce. Renumber TIF_RESTORE_SIGMASK to free one up. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02a029b325854a98e76f0a79ab38bec13e66bd38 Author: Roland McGrath Date: Wed Apr 30 00:53:08 2008 -0700 signals: s390: renumber TIF_RESTORE_SIGMASK TIF_RESTORE_SIGMASK no longer needs to be in the _TIF_WORK_* masks. Those low bits are scarce, and are all used up now. Renumber TIF_RESTORE_SIGMASK to free one up. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7648d961fcb454d38e864d2d850bc30e078bf7e6 Author: Roland McGrath Date: Wed Apr 30 00:53:07 2008 -0700 signals: set_restore_sigmask TIF_SIGPENDING Set TIF_SIGPENDING in set_restore_sigmask. This lets arch code take TIF_RESTORE_SIGMASK out of the set of bits that will be noticed on return to user mode. On some machines those bits are scarce, and we can free this unneeded one up for other uses. It is probably the case that TIF_SIGPENDING is always set anyway everywhere set_restore_sigmask() is used. But this is some cheap paranoia in case there is an arcane case where it might not be. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e4c22c71144c1b2e22c257ec6cf08ccb5be1165 Author: Roland McGrath Date: Wed Apr 30 00:53:06 2008 -0700 signals: add set_restore_sigmask This adds the set_restore_sigmask() inline in and replaces every set_thread_flag(TIF_RESTORE_SIGMASK) with a call to it. No change, but abstracts the details of the flag protocol from all the calls. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80fe728d593e3a048a56610de932919f7d6d968a Author: Oleg Nesterov Date: Wed Apr 30 00:53:05 2008 -0700 signals: allow the kernel to actually kill /sbin/init Currently the buggy /sbin/init hangs if SIGSEGV/etc happens. The kernel sends the signal, init dequeues it and ignores, returns from the exception, repeats the faulting instruction, and so on forever. Imho, such a behaviour is not good. I think that the explicit loud death of the buggy /sbin/init is better than the silent hang. Change force_sig_info() to clear SIGNAL_UNKILLABLE when the task should be really killed. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a5e873f096e04e6d8719e4ecb7b70d2decca503 Author: Oleg Nesterov Date: Wed Apr 30 00:53:04 2008 -0700 signals: de_thread: simplify the ->child_reaper switching Now that we rely on SIGNAL_UNKILLABLE flag, de_thread() doesn't need the nasty hack to kill the old ->child_reaper during the mt-exec. This also means we can avoid taking tasklist_lock around zap_other_threads(). Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fae5fa44f1fd079ffbed8e0add929dd7bbd1347f Author: Oleg Nesterov Date: Wed Apr 30 00:53:03 2008 -0700 signals: fix /sbin/init protection from unwanted signals The global init has a lot of long standing problems with the unhandled fatal signals. - The "is_global_init(current)" check in get_signal_to_deliver() protects only the main thread. Sub-thread can dequee the fatal signal and shutdown the whole thread group except the main thread. If it dequeues SIGSTOP /sbin/init will be stopped, this is not right too. Note that we can't use is_global_init(->group_leader), this breaks exec and this can't solve other problems we have. - Even if afterwards ignored, the fatal signals sets SIGNAL_GROUP_EXIT on delivery. This breaks exec, has other bad implications, and this is just wrong. Introduce the new SIGNAL_UNKILLABLE flag to fix these problems. It also helps to solve some other problems addressed by the subsequent patches. Currently we use this flag for the global init only, but it could also be used by kthreads and (perhaps) by the sub-namespace inits. Signed-off-by: Oleg Nesterov Acked-by: "Eric W. Biederman" Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 193191035ad6268db9f561e81e3474b8be89a5ba Author: Oleg Nesterov Date: Wed Apr 30 00:53:02 2008 -0700 signals: check_kill_permission: remove tasklist_lock Now that task_session() can't return a false NULL, check_kill_permission() doesn't need tasklist_lock. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e2ba22ea4fd4bb85f0fa37c521066db6775cbef Author: Oleg Nesterov Date: Wed Apr 30 00:53:01 2008 -0700 signals: check_kill_permission: check session under tasklist_lock This wasn't documented, but as Atsushi Tsuji pointed out check_kill_permission() needs tasklist_lock for task_session_nr(). I missed this fact when removed tasklist from the callers. Change check_kill_permission() to take tasklist_lock for the SIGCONT case. Re-order security checks so that we take tasklist_lock only if/when it is actually needed. This is a minimal fix for now, tasklist will be removed later. Also change the code to use task_session() instead of task_session_nr(). Also, remove the SIGCONT check from cap_task_kill(), it is bogus (and the whole function is bogus. Serge, Eric, why it is still alive?). Signed-off-by: Oleg Nesterov Acked-by: Atsushi Tsuji Cc: Roland McGrath Cc: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53c30337f2c61aff6eecf2a446e839641172f9bd Author: Oleg Nesterov Date: Wed Apr 30 00:53:00 2008 -0700 signals: send_signal: be paranoid about signalfd_notify() send_signal() shouldn't call signalfd_notify() if it then fails with -EAGAIN. Harmless, just a paranoid cleanup. Also remove the comment. It is obsolete, signalfd_notify() was simplified and does a simple wakeup. Signed-off-by: Oleg Nesterov Acked-by: Davide Libenzi Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 021e1ae3d85a76ce962a300c96813f04ae50c87c Author: Oleg Nesterov Date: Wed Apr 30 00:53:00 2008 -0700 signals: document CLD_CONTINUED notification mechanics A couple of small comments about how CLD_CONTINUED notification works. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e695a5ef5c1c768d7feb75cc61e42f13d763623 Author: Oleg Nesterov Date: Wed Apr 30 00:52:59 2008 -0700 signals: fold sig_ignored() into handle_stop_signal() Rename handle_stop_signal() to prepare_signal(), make it return a boolean, and move the callsites of sig_ignored() into it. No functional changes for now. But it would be nice to factor out the "should we drop this signal" checks as much as possible, before we try to fix the bugs with the sub-namespace init's signals (actually the global /sbin/init has some problems with signals too). Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2dce81bff28dceb2153c901883a56f278d91db65 Author: Oleg Nesterov Date: Wed Apr 30 00:52:58 2008 -0700 signals: cleanup the usage of print_fatal_signal() Move the callsite of print_fatal_signal() down, under "if (sig_kernel_coredump(signr))", so we don't need to check signr != SIGKILL. We are only interested in the sig_kernel_coredump() signals anyway, and due to the previous changes we almost never can see other fatal signals here except SIGKILL. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34c8f07b9ac499a807918eda377193a55f64f8df Author: Oleg Nesterov Date: Wed Apr 30 00:52:58 2008 -0700 signals: handle_stop_signal: don't worry about SIGKILL handle_stop_signal() clears SIGNAL_STOP_DEQUEUED when sig == SIGKILL. Remove this nasty special case. It was needed to prevent the race with group stop and exit caused by thread-specific SIGKILL. Now that we use complete_signal() for private signals too this is not needed, complete_signal() will notice SIGKILL and abort the soon-to-begin group stop. Except: the target thread is dead (has PF_EXITING). But in that case we should not just clear SIGNAL_STOP_DEQUEUED and nothing more. We should either kill the whole thread group, or silently ignore the signal. I suspect we are not right wrt zombie leaders, but this is another issue which and should be fixed separately. Note that this check can't abort the group stop if it was already started/finished, this check only adds a subtle side effect if we race with the thread which has already dequeued sig_kernel_stop() signal and temporary released ->siglock. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac5c215383f43a106ba4ef298126bf78c126f5e9 Author: Oleg Nesterov Date: Wed Apr 30 00:52:57 2008 -0700 signals: join send_sigqueue() with send_group_sigqueue() We export send_sigqueue() and send_group_sigqueue() for the only user, posix_timer_event(). This is a bit silly, because both are just trivial helpers on top of do_send_sigqueue() and because the we pass the unused .si_signo parameter. Kill them both, rename do_send_sigqueue() to send_sigqueue(), and export it. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e62e6650e99a3dffcd0bf0d063cd818fbc13fa95 Author: Oleg Nesterov Date: Wed Apr 30 00:52:56 2008 -0700 signals: unify send_sigqueue/send_group_sigqueue completely Suggested by Pavel Emelyanov. send_sigqueue/send_group_sigqueue are only differ in how they lock ->siglock. Unify them. send_group_sigqueue() uses spin_lock() because it knows the task can't exit, but in that case lock_task_sighand() can't fail and doesn't hurt. Note that the "sig" argument is ignored, it is always equal to ->si_signo. Signed-off-by: Pavel Emelyanov Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cd4b6d4e0372075f846feb85aea016cbdbfec4c Author: Pavel Emelyanov Date: Wed Apr 30 00:52:55 2008 -0700 signals: fold complete_signal() into send_signal/do_send_sigqueue Factor out complete_signal() callsites. This change completely unifies the helpers sending the specific/group signals. Signed-off-by: Pavel Emelyanov Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fcd835bf8c2cde06404559b1904e2f1dfcb4567 Author: Oleg Nesterov Date: Wed Apr 30 00:52:55 2008 -0700 signals: use __group_complete_signal() for the specific signals too Based on Pavel Emelyanov's suggestion. Rename __group_complete_signal() to complete_signal() and use it to process the specific signals too. To do this we simply add the "int group" argument. This allows us to greatly simply the signal-sending code and adds a useful behaviour change. We can avoid the unneeded wakeups for the private signals because wants_signal() is more clever than sigismember(blocked), but more importantly we now take into account the fatal specific signals too. The latter allows us to kill some subtle checks in handle_stop_signal() and makes the specific/group signal's behaviour more consistent. For example, currently sigtimedwait(FATAL_SIGNAL) behaves differently depending on was the signal sent by kill() or tkill() if the signal was not blocked. And. This allows us to tweak/fix the behaviour when the specific signal is sent to the dying/dead ->group_leader. Signed-off-by: Pavel Emelyanov Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ca3515aa57224edf0151e05a8c9f21a76bf5957 Author: Oleg Nesterov Date: Wed Apr 30 00:52:54 2008 -0700 signals: change send_signal/do_send_sigqueue to take "boolean group" parameter send_signal() is used either with ->pending or with ->signal->shared_pending. Change it to take "int group" instead, this argument will be re-used later. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71f11dc025055cb2ef9226424f26b3287efadd26 Author: Oleg Nesterov Date: Wed Apr 30 00:52:53 2008 -0700 signals: move the definition of __group_complete_signal() up Move the unchanged definition of __group_complete_signal() so that send_signal can see it. To simplify the reading of the next patches. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db51aeccd7097ce19a522a4c5ff91c320f870e2b Author: Oleg Nesterov Date: Wed Apr 30 00:52:52 2008 -0700 signals: microoptimize the usage of ->curr_target Suggested by Roland McGrath. Initialize signal->curr_target in copy_signal(). This way ->curr_target is never == NULL, we can kill the check in __group_complete_signal's hot path. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08d2c30ce98d274137f12b0a9b9c74137455922c Author: Oleg Nesterov Date: Wed Apr 30 00:52:51 2008 -0700 signals: send_sig_info: don't take tasklist_lock The comment in send_sig_info() is wrong, tasklist_lock can't help. The caller must ensure the task can't go away, otherwise ->sighand can be NULL even before we take the lock. p->sighand could be changed by exec(), but I can't imagine how it is possible to prevent exit(), but not exec(). Since the things seem to work, I assume all callers are correct. However, drm_vbl_send_signals() looks broken. block_all_signals() which is solely used by drm is definitely broken. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3547ff3aefbe092ca35506c60c02e2d17a4f2199 Author: Oleg Nesterov Date: Wed Apr 30 00:52:51 2008 -0700 signals: do_tkill: don't use tasklist_lock Convert do_tkill() to use rcu_read_lock() + lock_task_sighand() to avoid taking tasklist lock. Note that we don't return an error if lock_task_sighand() fails, we pretend the task dies after receiving the signal. Otherwise, we should fight with the nasty races with mt-exec without having any advantage. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e65acba7ca8169e38ab55d62d52f29a75fb141f Author: Oleg Nesterov Date: Wed Apr 30 00:52:50 2008 -0700 signals: move handle_stop_signal() into send_signal() Move handle_stop_signal() into send_signal(). This factors out a couple of callsites and allows us to do further unifications. Also, with this change specific_send_sig_info() does handle_stop_signal(). Not that this is really important, we never send STOP/CONT via send_sig() and friends, but still this looks more consistent. The only (afaics) special case is get_signal_to_deliver(). If the traced task dequeues SIGCONT, it can re-send it to itself after ptrace_stop() if the signal was blocked by debugger. In that case handle_stop_signal() is unnecessary, but hopefully not a problem. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c99fcf28b87d8cab592db7571e3164f5cb54c5b3 Author: Oleg Nesterov Date: Wed Apr 30 00:52:49 2008 -0700 signals: send_group_sigqueue: don't take tasklist_lock handle_stop_signal() was changed, now send_group_sigqueue() doesn't need tasklist_lock. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8c5b5c06f63fe9aaebefbf9f0b79909066b1b6c Author: Oleg Nesterov Date: Wed Apr 30 00:52:49 2008 -0700 signals: __group_complete_signal: cache the value of p->signal Cosmetic, cache p->signal to make the code a bit more readable. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fc894bb4fb1de8373d1d5fb6db19204a16859e8 Author: Oleg Nesterov Date: Wed Apr 30 00:52:48 2008 -0700 signals: send_sigqueue: don't forget about handle_stop_signal() send_group_sigqueue() calls handle_stop_signal(), send_sigqueue() doesn't. This is not consistent and in fact I'd say this is (minor) bug. Move handle_stop_signal() from send_group_sigqueue() to do_send_sigqueue(), the latter is called by send_sigqueue() too. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c193e8871b76f3bf8ed1e31f7af7c70890ebc4f Author: Oleg Nesterov Date: Wed Apr 30 00:52:48 2008 -0700 signals: send_sigqueue: don't take rcu lock lock_task_sighand() was changed, send_sigqueue() doesn't need rcu_read_lock() any longer. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6b76d4fb0039e077824be85ed4ac94e96beef86 Author: Oleg Nesterov Date: Wed Apr 30 00:52:47 2008 -0700 get_signal_to_deliver: use the cached ->signal/sighand values Cache the values of current->signal/sighand. Shrinks .text a bit and makes the code more readable. Also, remove "sigset_t *mask", it is pointless because in fact we save the constant offset. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad16a4606939ce1bedb79c87e412467be803e990 Author: Oleg Nesterov Date: Wed Apr 30 00:52:46 2008 -0700 handle_stop_signal: use the cached p->signal value Cache the value of p->signal, and change the code to use while_each_thread() helper. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc321d2e60d6f4eee17206612d0b50519f526daf Author: Oleg Nesterov Date: Wed Apr 30 00:52:46 2008 -0700 handle_stop_signal: unify partial/full stop handling Now that handle_stop_signal() doesn't drop ->siglock, we can't see both ->group_stop_count && SIGNAL_STOP_STOPPED. Merge two "if" branches. As Roland pointed out, we never actually needed 2 do_notify_parent_cldstop() calls. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ca25b551309eb1b1b41f83414a92f7472e0b23d Author: Oleg Nesterov Date: Wed Apr 30 00:52:45 2008 -0700 kill_pid_info: don't take now unneeded tasklist_lock Previously handle_stop_signal(SIGCONT) could drop ->siglock. That is why kill_pid_info(SIGCONT) takes tasklist_lock to make sure the target task can't go away after unlock. Not needed now. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e442055193e4584218006e616c9bdce0c5e9ae5c Author: Oleg Nesterov Date: Wed Apr 30 00:52:44 2008 -0700 signals: re-assign CLD_CONTINUED notification from the sender to reciever Based on discussion with Jiri and Roland. In short: currently handle_stop_signal(SIGCONT, p) sends the notification to p->parent, with this patch p itself notifies its parent when it becomes running. handle_stop_signal(SIGCONT) has to drop ->siglock temporary in order to notify the parent with do_notify_parent_cldstop(). This leads to multiple problems: - as Jiri Kosina pointed out, the stopped task can resume without actually seeing SIGCONT which may have a handler. - we race with another sig_kernel_stop() signal which may come in that window. - we race with sig_fatal() signals which may set SIGNAL_GROUP_EXIT in that window. - we can't avoid taking tasklist_lock() while sending SIGCONT. With this patch handle_stop_signal() just sets the new SIGNAL_CLD_CONTINUED flag in p->signal->flags and returns. The notification is sent by the first task which returns from finish_stop() (there should be at least one) or any other signalled thread from get_signal_to_deliver(). This is a user-visible change. Say, currently kill(SIGCONT, stopped_child) can't return without seeing SIGCHLD, with this patch SIGCHLD can be delayed unpredictably. Another difference is that if the child is ptraced by another process, CLD_CONTINUED may be delivered to ->real_parent after ptrace_detach() while currently it always goes to the tracer which doesn't actually need this notification. Hopefully not a problem. The patch asks for the futher obvious cleanups, I'll send them separately. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b5e9e53c6f31b5a5a0f5c43707503c62bdefa46 Author: Oleg Nesterov Date: Wed Apr 30 00:52:42 2008 -0700 signals: cleanup security_task_kill() usage/implementation Every implementation of ->task_kill() does nothing when the signal comes from the kernel. This is correct, but means that check_kill_permission() should call security_task_kill() only for SI_FROMUSER() case, and we can remove the same check from ->task_kill() implementations. (sadly, check_kill_permission() is the last user of signal->session/__session but we can't s/task_session_nr/task_session/ here). NOTE: Eric W. Biederman pointed out cap_task_kill() should die, and I think he is very right. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Serge Hallyn Cc: Roland McGrath Cc: Casey Schaufler Cc: David Quigley Cc: Eric Paris Cc: Harald Welte Cc: Pavel Emelyanov Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e3bd6c3fb2334be171e69b432039cd18bce4458 Author: Pavel Emelyanov Date: Wed Apr 30 00:52:41 2008 -0700 signals: consolidate send_sigqueue and send_group_sigqueue Both functions do the same thing after proper locking, but with different sigpending structs, so move the common code into a helper. After this we have 4 places that look very similar: send_sigqueue: calls do_send_sigqueue and signal_wakeup send_group_sigqueue: calls do_send_sigqueue and __group_complete_signal __group_send_sig_info: calls send_signal and __group_complete_signal specific_send_sig_info: calls send_signal and signal_wakeup Besides, send_signal performs actions similar to do_send_sigqueue's and __group_complete_signal - to signal_wakeup. It looks like they can be consolidated gracefully. Oleg said: Personally, I think this change is very good. But send_sigqueue() and send_group_sigqueue() have a very subtle difference which I was never able to understand. Let's suppose that sigqueue is already queued, and the signal is ignored (the latter means we should re-schedule cpu timer or handle overrruns). In that case send_sigqueue() returns 0, but send_group_sigqueue() returns 1. I think this is not the problem (in fact, I think this patch makes the behaviour more correct), but I hope Thomas can take a look and confirm. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Roland McGrath Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5363d03637885310f1101b95cbbd26d067b4c8d Author: Pavel Emelyanov Date: Wed Apr 30 00:52:40 2008 -0700 signals: clean dequeue_signal from excess checks and assignments The signr variable may be declared without initialization - it is set ro the return value from __dequeue_signal() right at the function beginning. Besides, after recalc_sigpending() two checks for signr to be not 0 may be merged into one. Both if-s become easier to read. Thanks to Oleg for pointing out mistakes in the first version of this patch. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Roland McGrath Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93585eeaf3d42d608cd7232e7420c93fb676bba1 Author: Pavel Emelyanov Date: Wed Apr 30 00:52:39 2008 -0700 signals: consolidate checks for whether or not to ignore a signal Both sig_ignored() and do_sigaction() check for signr to be explicitly or implicitly ignored. Introduce a helper for them. This patch is aimed to help handling signals by pid namespace's init, and was derived from one of Oleg's patches https://lists.linux-foundation.org/pipermail/containers/2007-December/009308.html so, if he doesn't mind, he should be considered as an author. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Roland McGrath Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06fffb1267c9d986687b69d74a46ee332a50575e Author: Oleg Nesterov Date: Wed Apr 30 00:52:38 2008 -0700 do_task_stat: don't take rcu_read_lock() lock_task_sighand() was changed, and do_task_stat() doesn't need rcu_read_lock any longer. sighand->siglock protects all "interesting" fields. Except: it doesn't protect ->tty->pgrp, but neither does rcu_read_lock(), this should be fixed. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: "Paul E. McKenney" Cc: Roland McGrath Cc: Alan Cox Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6cf723a142f63ccb92272bc0e9bfffd3c3a5cac Author: Oleg Nesterov Date: Wed Apr 30 00:52:38 2008 -0700 k_getrusage: don't take rcu_read_lock() Just a trivial example, more to come. k_getrusage() holds rcu_read_lock() because it was previously required by lock_task_sighand(). Unneeded now. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: "Paul E. McKenney" Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1406f2d321bae5ac5ff729dcb773336d9c05ec74 Author: Oleg Nesterov Date: Wed Apr 30 00:52:37 2008 -0700 lock_task_sighand: add rcu lock/unlock Most of the callers of lock_task_sighand() doesn't actually need rcu_lock(). lock_task_sighand() needs it only to safely play with tsk->sighand, it can take the lock itself. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: "Paul E. McKenney" Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfc4b0890af566940de6e7aeb4b5faf46d3c3513 Author: Oleg Nesterov Date: Wed Apr 30 00:52:36 2008 -0700 signals: do_group_exit(): use signal_group_exit() more consistently do_group_exit() checks SIGNAL_GROUP_EXIT to avoid taking sighand->siglock. Since ed5d2cac114202fe2978a9cbcab8f5032796d538 exec() doesn't set this flag, we should use signal_group_exit(). This is not needed for correctness, but can speedup the multithreaded exec and makes the code more consistent. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 573cf9ad72c13750e86c91de43477e9dfb440523 Author: Oleg Nesterov Date: Wed Apr 30 00:52:36 2008 -0700 signals: do_signal_stop(): use signal_group_exit() do_signal_stop() needs signal_group_exit() but checks sig->group_exit_task. This (optimization) is correct, SIGNAL_STOP_DEQUEUED and SIGNAL_GROUP_EXIT are mutually exclusive, but looks confusing. Use signal_group_exit(), this is not fastpath, the code clarity is more important. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2acb024d5524eda305523c1d6061fe5ef1949165 Author: Pavel Emelyanov Date: Wed Apr 30 00:52:35 2008 -0700 signals: consolidate checking for ignored/legacy signals Two callers for send_signal() - the specific_send_sig_info and the __group_send_sig_info - both check for sig to be ignored or already queued. Move these checks into send_signal() and make it return 1 to indicate that the signal is dropped, but there's no error in this. Besides, merge comments and spell-check them. [oleg@tv-sign.ru: simplifications] Signed-off-by: Pavel Emelyanov Cc: Roland McGrath Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af7fff9c13d56657dc328c75590f401c99bcecd9 Author: Pavel Emelyanov Date: Wed Apr 30 00:52:34 2008 -0700 signals: turn LEGACY_QUEUE macro into static inline function This makes the code more readable, due to less brackets and small letters in name. I also move it above the send_signal() as a preparation for the 3rd patch. Signed-off-by: Pavel Emelyanov Cc: Roland McGrath Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1401c6bbb289d154eb0d0c292cc9f8259e4af73 Author: Pavel Emelyanov Date: Wed Apr 30 00:52:34 2008 -0700 signals: remove unused variable from send_signal() This function doesn't change the ret's value and thus always returns 0, with a single exception of returning -EAGAIN explicitly. Signed-off-by: Pavel Emelyanov Cc: Roland McGrath Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2deb1acc653cbd5384b107d050d2deba089db2bd Author: Jan Kara Date: Wed Apr 30 00:52:33 2008 -0700 isofs: fix access to unallocated memory when reading corrupted filesystem When a directory on isofs is corrupted, we did not check whether length of the name in a directory entry and the length of the directory entry itself are consistent. This could lead to possible access beyond the end of buffer when the length of the name was too big. Add this sanity check to directory reading code. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bfe0b499082fd3950429017cd8ebf2a6c458aa5 Author: Dan Williams Date: Wed Apr 30 00:52:32 2008 -0700 md: support blocking writes to an array on device failure Allows a userspace metadata handler to take action upon detecting a device failure. Based on an original patch by Neil Brown. Changes: -added blocked_wait waitqueue to rdev -don't qualify Blocked with Faulty always let userspace block writes -added md_wait_for_blocked_rdev to wait for the block device to be clear, if userspace misses the notification another one is sent every 5 seconds -set MD_RECOVERY_NEEDED after clearing "blocked" -kill DoBlock flag, just test mddev->external Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11e2ede0228ee0f81ccacd15894908c3bf241f73 Author: Dan Williams Date: Wed Apr 30 00:52:32 2008 -0700 md: prevent duplicates in bind_rdev_to_array Found when trying to reassemble an active externally managed array. Without this check we hit the more noisy "sysfs duplicate" warning in the later call to kobject_add. Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 242b363e2207d14125f52a6701cfda7376a2a2fc Author: Dan Williams Date: Wed Apr 30 00:52:31 2008 -0700 md: remove a stray command from a copy and paste error in resync_start_store Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 648b629ed406233b0a607a3cf29d8a169876131f Author: NeilBrown Date: Wed Apr 30 00:52:30 2008 -0700 md: fix up switching md arrays between read-only and read-write When setting an array to 'readonly' or to 'active' via sysfs, we must make the appropriate set_disk_ro call too. Also when switching to "read_auto" (which is like readonly, but blocks on the first write so that metadata can be marked 'dirty') we need to be more careful about what state we are changing from. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31a59e3425d32743738e043c1df1668e0f22bbab Author: NeilBrown Date: Wed Apr 30 00:52:30 2008 -0700 md: fix 'safemode' handling for external metadata. 'safemode' relates to marking an array as 'clean' if there has been no write traffic for a while (a couple of seconds), to reduce the chance of the array being found dirty on reboot. ->safemode is set to '1' when there have been no write for a while, and it gets set to '0' when the superblock is updates with the 'clean' flag set. This requires a few fixes for 'external' metadata: - When an array is set to 'clean' via sysfs, 'safemode' must be cleared. - when we write to an array that has 'safemode' set (there must have been some delay in updating the metadata), we need to clear safemode. - Don't try to update external metadata in md_check_recovery for safemode transitions - it won't work. Also, don't try to support "immediate safe mode" (safemode==2) for external metadata, it cannot really work (the safemode timeout can be set very low if this is really needed). Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d897dbf91490f26dccef3d7056ffd09eb83a15a5 Author: NeilBrown Date: Wed Apr 30 00:52:29 2008 -0700 md: reinitialise more mddev fields in do_md_stop. I keep finding problems where an mddev gets reused and some fields has a value from a previous usage that confuses the new usage. So clear all fields that could possible need clearing when calling do_md_stop. Also initialise the 'level' of a new array to LEVEL_NONE (which isn't 0). Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8377bc808029251c2c0f52116cf87d80291b25bf Author: NeilBrown Date: Wed Apr 30 00:52:28 2008 -0700 md: skip all metadata update processing when using external metadata. All the metadata update processing for external metadata is on in user-space or through the sysfs interfaces, so make "md_update_sb" a no-op in that case. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a51830e14529063cb2685921e1177d9af50e49a Author: Dan Williams Date: Wed Apr 30 00:52:28 2008 -0700 md: fix use after free when removing rdev via sysfs rdev->mddev is no longer valid upon return from entry->store() when the 'remove' command is given. Cc: Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f1133cbf20bc308d73ba49f971180924e12119b Author: Eric Miao Date: Wed Apr 30 00:52:27 2008 -0700 pxafb: preliminary smart panel interface support (update) FB_PXA_SMARTPANEL defaults to "n" and removed the cast to void *. Signed-off-by: Daniel Mack Acked-by: Eric Miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c42a449107bf76c59b8e0b6a30d070e9696e49c Author: Eric Miao Date: Wed Apr 30 00:52:26 2008 -0700 pxafb: preliminary smart panel interface support Signed-off-by: Daniel Mack Signed-off-by: Eric Miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90eabbf0ec0c626cf5d186214cf8fc79150a7a29 Author: Eric Miao Date: Wed Apr 30 00:52:25 2008 -0700 pxafb: move parallel LCD timing setup into dedicate function the new_regs stuff has been removed, and all the setup (modification to those fbi->reg_*) is protected with IRQ disabled * disable IRQ is too heavy here, provided that no IRQ context will touch the fbi->reg_* and the only possible contending place is in the CPUFREQ_POSTCHANGE (task context), a mutex will be better, leave this for future improvement Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ba162b9335c6e3ba90c77637372fc9f078aae67 Author: Eric Miao Date: Wed Apr 30 00:52:24 2008 -0700 pxafb: use completion for LCD disable wait code Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7535ba730e13db037bd22c79c3805690d0945a2 Author: Eric Miao Date: Wed Apr 30 00:52:24 2008 -0700 pxafb: introduce lcd_{read,write}l() to wrap the __raw_{read,write}l() using __raw_{read,write}l() everywhere looks messy, introduce lcd_{read,write}l() to get this cleaned up a bit Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0454bd09de7380aac464c09018e6a533f7247b0d Author: eric miao Date: Wed Apr 30 00:52:23 2008 -0700 pxafb: make lubbock/mainstone/zylonite/littleton to use new LCD connection type Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84f43c308b73a6a12128288721a1007ba4f1a8da Author: eric miao Date: Wed Apr 30 00:52:22 2008 -0700 pxafb: introduce register independent LCD connection type for pxafb Reasons: 1. straight forward: the name "LCD_COLOR_DSTN_16BPP" is much better than "LCCR0_Pas | LCCR0_Color | LCCR0_Dual" 2. by defining LCD connection types as constants, it allows only valid possibilities 3. by removing the dependency of register bits definitions, those can be later moved into the body of pxafb.c, instead of having a regs-lcd.h around Currently, only lubbock, mainstone, zylonite and littleton have been modified to support these types (see coming patches after this). Other platforms are encouraged to change their way describing the LCD controller connections. Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c42dd8ebdd92ad59d9a68f88f0e20ad9f45270a Author: eric miao Date: Wed Apr 30 00:52:21 2008 -0700 pxafb: introduce "struct pxafb_dma_buff" for palette and dma descriptors Use structure and array for palette buffer and dma descriptors to: 1. better organize code for future expansion like overlays 2. separate palette and dma descriptors from frame buffer Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce4fb7b892a6d6c6a0f87366b26fd834d2923dd7 Author: eric miao Date: Wed Apr 30 00:52:21 2008 -0700 pxafb: convert fb driver to use ioremap() and __raw_{readl, writel} This is part of the effort moving peripheral registers outside of pxa-regs.h, and using ioremap() make it possible the same IP can be re-used on different processors with different registers space As a result, the fixed mapping in pxa_map_io() is removed. The regs-lcd.h can actually moved to where closer to pxafb.c but some of its bit definitions are directly used by various platform code, though this is not a good style. Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92ac73c1e4b4e039162f5d3980c2da8192b28060 Author: eric miao Date: Wed Apr 30 00:52:20 2008 -0700 pxafb: sanitize the usage of #ifdef .. processing pxafb parameters So to get a better coding style and centralize the pxafb parameters handling code. Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ded245b67f0a412b75052a285a0b0d1798650a63 Author: eric miao Date: Wed Apr 30 00:52:19 2008 -0700 pxafb: purge unnecessary pr_debug and comments from pxafb Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0086efba5ad4905090b1e2e62a7e84d9473287f Author: eric miao Date: Wed Apr 30 00:52:19 2008 -0700 pxafb: fix various coding style issues for pxafb Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 817daf14a5fa77d4e2c3b63c9be12fbf6eada37d Author: eric miao Date: Wed Apr 30 00:52:18 2008 -0700 pxafb: un-nest pxafb_parse_options() to cleanup the coding style issue pxafb_parse_options() has very long lines exceeding far beyond 80 characters, which makes the function looks bad. Un-nest it into smaller functions and use a temporary string for only what has been overridden instead of the whole dev_info() message to reduce the line a bit more. Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 592e7bf80566bf5ac3ed073d4e198dd5b0824c04 Author: Haavard Skinnemoen Date: Wed Apr 30 00:52:17 2008 -0700 atmel_spi: clean up baud rate divisor calculation Make the baud rate divisor calculation code a bit more readable and add a few comments. Also fix wrong debug information being displayed when !new_1 and max_speed_hz == 0. [david-b@pacbell.net: fix it] Signed-off-by: Haavard Skinnemoen Cc: "Janesh Ramakrishnan" Acked-by David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6495aaabfaa8256c292c54b48ab081f4d86ad79 Author: Bryan Wu Date: Wed Apr 30 00:52:16 2008 -0700 kallsyms: nuke all ChangeLog, this should be logged by git Pointed out by Paulo: "When I wrote this initially, it was a mistake to add a Changelog in the first place, but I didn't know better at the time. If you're going to make changes to this file, please remove all the Changelog, instead of adding more entries to it. The 'Changelog' should be kept by the version control system, and not the source code itself." Cc: Paulo Marques Signed-off-by: Bryan Wu Acked-by: Paulo Marques Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41b25a3784c137ad52c71619c73b925860b1b3a2 Author: KOSAKI Motohiro Date: Wed Apr 30 00:52:13 2008 -0700 /proc/pagetypeinfo: fix output for memoryless nodes on memoryless node, /proc/pagetypeinfo is displayed slightly funny output. this patch fix it. output example (header is outputed, but no data is outputed) -------------------------------------------------------------- Page block order: 14 Pages per block: 16384 Free pages count per migrate type at order 0 1 2 3 4 5 \ 6 7 8 9 10 11 12 13 14 15 16 Number of blocks type Unmovable Reclaimable Movable Reserve Isolate Page block order: 14 Pages per block: 16384 Free pages count per migrate type at order 0 1 2 3 4 5 \ 6 7 8 9 10 11 12 13 14 15 16 Signed-off-by: KOSAKI Motohiro Cc: KAMEZAWA Hiroyuki Acked-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f3517418dc0684a32318f2c5b53257416448b1e Author: Bryan Wu Date: Wed Apr 30 00:52:12 2008 -0700 Blackfin serial driver: this driver enable SPORTs on Blackfin emulate UART Signed-off-by: Bryan Wu Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e68852dca7a16271d09269f643a8e0eb8bb500d Author: Alan Cox Date: Wed Apr 30 00:52:11 2008 -0700 MAINTAINERS: sort ordering Seems we have various confused entries around S and T. Sort them all out and also add myself as tty maintainer (which is how I noticed it). Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64275ea4f33636de198da5c78d0dbe31522555b0 Author: David Chinner Date: Wed Apr 30 17:11:16 2008 +1000 [XFS] Include linux/random.h in all builds, not just debug. Noted-by: Stephen Rothwell Signed-off-by: Dave Chinner Signed-off-by: Linus Torvalds commit 1175cdc670f2d4197b033f823b32435031a6daa8 Author: Martin Schwidefsky Date: Wed Apr 30 13:38:50 2008 +0200 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit 941af343e2e25ff7afce43a3c7e2922643b8cd48 Author: Martin Schwidefsky Date: Wed Apr 30 13:38:49 2008 +0200 [S390] use generic sys_ptrace After the PT_IEEE_IP hack has been removed s390 can now use the common code sys_ptrace function. Signed-off-by: Martin Schwidefsky commit 613e1def6b52c399a8b72a5e11bc2e57d2546fb8 Author: Martin Schwidefsky Date: Wed Apr 30 13:38:48 2008 +0200 [S390] Remove self ptrace IEEE_IP hack. The self referential PT_IEEE_IP ptrace peek & poke calls have been broken for that last 6 years. For peek the code always returns 0 instead of the last ieee fault and for poke the code does nothing. Since nobody noticed the code seems to be superfluous. So lets remove it. Cc: Christoph Hellwig Signed-off-by: Martin Schwidefsky commit 17f345808563d2f425b2b15d60c4a5b00112e9eb Author: Heiko Carstens Date: Wed Apr 30 13:38:47 2008 +0200 [S390] Convert to SPARSEMEM & SPARSEMEM_VMEMMAP Convert s390 to SPARSEMEM and SPARSEMEM_VMEMMAP. We do a select of SPARSEMEM_VMEMMAP since it is configurable. This is because SPARSEMEM without SPARSEMEM_VMEMMAP gives us a hell of broken include dependencies that I don't want to fix. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 53492b1de46a7576170e865062ffcfc93bb5650b Author: Gerald Schaefer Date: Wed Apr 30 13:38:46 2008 +0200 [S390] System z large page support. This adds hugetlbfs support on System z, using both hardware large page support if available and software large page emulation on older hardware. Shared (large) page tables are implemented in software emulation mode, by using page->index of the first tail page from a compound large page to store page table information. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 2e5061e40af88070984e3769eafb5a06022375fd Author: Heiko Carstens Date: Wed Apr 30 13:38:45 2008 +0200 [S390] Convert machine feature detection code to C. From: Heiko Carstens From: Carsten Otte This lets us use defines for the magic bits in machine flags instead of using plain numbers all over the place. In addition on newer machines features/facilities are indicated by the result of the stfl instruction. So we use these bits instead of trying to execute new instructions and check wether we get an exception or not. Also the mvpg instruction is always available when in zArch mode, whereas the idte instruction is only available in zArch mode. This results in some minor optimizations. Signed-off-by: Heiko Carstens Signed-off-by: Carsten Otte Signed-off-by: Martin Schwidefsky commit 8fc63658681f32e6e29f6d1138de933d7272e0ec Author: Heiko Carstens Date: Wed Apr 30 13:38:44 2008 +0200 [S390] vmemmap: use clear_table to initialise page tables. Always use clear_table to initialise page tables. The overlapping memcpy is just a leftover of a previous version that wasn't fully converted to clear_table. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 484875b11f355b1b54d508a3f4671888f07e643c Author: Heiko Carstens Date: Wed Apr 30 13:38:43 2008 +0200 [S390] Move stfl to system.h and delete duplicated version. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ccf183e469be89e065ed389da9d3f50bd2faa215 Author: Heiko Carstens Date: Wed Apr 30 13:38:42 2008 +0200 [S390] uaccess_mvcos: #ifdef config dependent code. arch/s390/lib/uaccess_mvcos.c:166: warning: 'strnlen_user_mvcos' defined but not used arch/s390/lib/uaccess_mvcos.c:186: warning: 'strncpy_from_user_mvcos' defined but not used Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit fd781fa25c9e9c6fd1599df060b05e7c4ad724e5 Author: Heiko Carstens Date: Wed Apr 30 13:38:41 2008 +0200 [S390] cpu topology: Fix possible deadlock. When we get a notification that cpu topology changed, we schedule a work struct which just calls arch_reinit_sched_domains. This function in turn calls get_online_cpus() which results int the lockdep warning below. After all it turnded out that it's not legal to call get_online_cpus() from the context of a multi-threaded work queue. It could deadlock this way: process 0 (events/cpu-x): -> run_workqueue -> removes my work_struct from the work queue -> calls work_struct->fn -> get_online_cpus() -> locks on cpu_hotplug.lock since process 1 below is doing cpu hotplug process 1: -> cpu_down (for cpu-x) -> cpu_hotplug_begin (holds cpu_hotplug.lock now) -> cpu-x dead -> notifier_call_chain with CPU_DEAD -> cleanup_workqueue_thread -> flush_cpu_workqueue (succeeds) -> kthread_stop for events/cpu-x -> now kthread_stop waits for my work_struct to complete from within process 0. -> dead. A single threaded workqueue wouldn't have such problems, however there is no such common queue available and it's not worth to create one for the very rare calls to arch_reinit_sched_domains. So we just create a kernel thread from our work struct which calls arch_reinit_sched_domains and are done with it. Thanks to Oleg Nesterov and Peter Zijlstra for helping me figuring out that this isn't a false positive lockdep warning: ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.25-03562-g3dc5063-dirty #12 ------------------------------------------------------- events/3/14 is trying to acquire lock: (&cpu_hotplug.lock){--..}, at: [<0000000000076094>] get_online_cpus+0x50/0x78 but task is already holding lock: (topology_work){--..}, at: [<0000000000059cde>] run_workqueue+0x106/0x278 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #2 (topology_work){--..}: [<000000000006fc74>] __lock_acquire+0x1010/0x111c [<000000000006fe40>] lock_acquire+0xc0/0xf8 [<0000000000059d48>] run_workqueue+0x170/0x278 [<0000000000059edc>] worker_thread+0x8c/0xf0 [<000000000005f5bc>] kthread+0x68/0xa0 [<000000000001a33e>] kernel_thread_starter+0x6/0xc [<000000000001a338>] kernel_thread_starter+0x0/0xc -> #1 (events){--..}: [<000000000006fc74>] __lock_acquire+0x1010/0x111c [<000000000006fe40>] lock_acquire+0xc0/0xf8 [<000000000005a23c>] cleanup_workqueue_thread+0x60/0xa8 [<00000000003b2ab8>] workqueue_cpu_callback+0xbc/0x170 [<00000000003bba80>] notifier_call_chain+0x5c/0xa4 [<00000000000655a2>] __raw_notifier_call_chain+0x26/0x38 [<00000000000655e2>] raw_notifier_call_chain+0x2e/0x40 [<0000000000075e00>] cpu_down+0x228/0x31c [<00000000003b1dd8>] store_online+0x64/0xb8 [<00000000001e7128>] sysdev_store+0x48/0x58 [<0000000000121cd2>] sysfs_write_file+0x126/0x1c0 [<00000000000c1944>] vfs_write+0xb0/0x15c [<00000000000c20e6>] sys_write+0x56/0x88 [<0000000000027a68>] sys32_write+0x34/0x4c [<0000000000023f70>] sysc_noemu+0x10/0x16 [<0000000077f3f186>] 0x77f3f186 -> #0 (&cpu_hotplug.lock){--..}: [<000000000006fa84>] __lock_acquire+0xe20/0x111c [<000000000006fe40>] lock_acquire+0xc0/0xf8 [<00000000003b701c>] mutex_lock_nested+0xd0/0x364 [<0000000000076094>] get_online_cpus+0x50/0x78 [<000000000003a03e>] arch_reinit_sched_domains+0x26/0x58 [<000000000002700e>] topology_work_fn+0x26/0x34 [<0000000000059d4e>] run_workqueue+0x176/0x278 [<0000000000059edc>] worker_thread+0x8c/0xf0 [<000000000005f5bc>] kthread+0x68/0xa0 [<000000000001a33e>] kernel_thread_starter+0x6/0xc [<000000000001a338>] kernel_thread_starter+0x0/0xc other info that might help us debug this: 2 locks held by events/3/14: #0: (events){--..}, at: [<0000000000059cde>] run_workqueue+0x106/0x278 #1: (topology_work){--..}, at: [<0000000000059cde>] run_workqueue+0x106/0x278 stack backtrace: CPU: 3 Not tainted 2.6.25-03562-g3dc5063-dirty #12 Process events/3 (pid: 14, task: 000000002fb04038, ksp: 000000002fb0bd70) 0400000000000000 000000002fb0ba40 0000000000000002 0000000000000000 000000002fb0bae0 000000002fb0ba58 000000002fb0ba58 0000000000016488 0000000000000000 000000002fb0bd70 0000000000000000 0000000000000000 000000002fb0ba40 000000000000000c 000000002fb0ba40 000000002fb0bab0 00000000003c99e0 0000000000016488 000000002fb0ba40 000000002fb0ba90 Call Trace: ([<00000000000163fc>] show_trace+0x138/0x158) [<00000000000164e2>] show_stack+0xc6/0xf8 [<0000000000016624>] dump_stack+0xb0/0xc0 [<000000000006cd36>] print_circular_bug_tail+0xa2/0xb4 [<000000000006fa84>] __lock_acquire+0xe20/0x111c [<000000000006fe40>] lock_acquire+0xc0/0xf8 [<00000000003b701c>] mutex_lock_nested+0xd0/0x364 [<0000000000076094>] get_online_cpus+0x50/0x78 [<000000000003a03e>] arch_reinit_sched_domains+0x26/0x58 [<000000000002700e>] topology_work_fn+0x26/0x34 [<0000000000059d4e>] run_workqueue+0x176/0x278 [<0000000000059edc>] worker_thread+0x8c/0xf0 [<000000000005f5bc>] kthread+0x68/0xa0 [<000000000001a33e>] kernel_thread_starter+0x6/0xc [<000000000001a338>] kernel_thread_starter+0x0/0xc INFO: lockdep is turned off. Cc: Oleg Nesterov Cc: Peter Zijlstra Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d00aa4e7d0129983fc4389c85e15a066eb4e69a9 Author: Heiko Carstens Date: Wed Apr 30 13:38:40 2008 +0200 [S390] Add topology_core_siblings to topology.h This exposes the core siblings to user space via sysfs. Signed-off-by: Heiko Carstens commit edf2209692769d3e461c0351553098bc017c2caf Author: Cornelia Huck Date: Wed Apr 30 13:38:39 2008 +0200 [S390] cio: Make isc handling more robust. Introduce an ->isc field in the subchannel to store the desired interruption subclass, since sch->schib.pmcw.isc may be overwritten by the hardware on stsch() after machine checks. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 47494f6a84cdae2740b62e1d86a1860df85d9bbb Author: Mathieu Desnoyers Date: Wed Apr 30 13:38:38 2008 +0200 [S390] remove -traditional Signed-off-by: Mathieu Desnoyers CC: Sam Ravnborg Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 1e489518da2a49604df2c3281034097274324be9 Author: Heiko Carstens Date: Wed Apr 30 13:38:37 2008 +0200 [S390] Automatically detect added cpus. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0b18d318b80a7f350648ca8f7cc00a2f688104cb Author: Heiko Carstens Date: Wed Apr 30 13:38:36 2008 +0200 [S390] smp: Fix locking order. On some smp sysfs store attributes get_online_cpus() may block on cpu_hotplug.lock, but we hold already smp_cpu_state_mutex. Since the locking order on cpu hotplug via arch_update_cpu_topology is inverse this might lead to deadlocks. So make sure locking order is always the same. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f291e17227cf30432ca7c402220f62e6924dd97d Author: Heiko Carstens Date: Wed Apr 30 13:38:35 2008 +0200 [S390] Add missing ifndef/define to include/asm-s390/sysinfo.h. In order to protect against compile breakage in case the header file gets included twice. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 4e83be7b24ba4fe40acf0b967bd6ae8c9ac79bde Author: Heiko Carstens Date: Wed Apr 30 13:38:34 2008 +0200 [S390] Move show_regs to traps.c. This is where it should be and we can get rid of some externs and a static inline function. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2f972202315cf71fd60e890ebbed7d5bcf620ba4 Author: Cornelia Huck Date: Wed Apr 30 13:38:33 2008 +0200 [S390] cio: Use strict_strtoul() for attributes. Make parsing of attribute writes handle incorrect input better. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit aecb2b6eac6ee596f34a54fb164138756895c78a Author: Jason Jin Date: Sat Apr 19 15:07:56 2008 +0800 [POWERPC] 86xx: Fix the wrong serial1 interrupt for 8610 board Signed-off-by: Jason Jin Signed-off-by: Kumar Gala commit eabd90944b3a00766e84da3d117ea0f3e0a3b1a3 Author: Michael Ellerman Date: Wed Apr 30 14:47:12 2008 +1000 [POWERPC] Fix crashkernel= handling when no crashkernel= specified Commit edd8ce67436851a62f99f1d9707b40ea6a8e5323 (Use extended crashkernel command line on ppc64), changed the logic in reserve_crashkernel() which deals with the crashkernel= command line option. This introduced a bug in the case when there is no crashkernel= option, or it is incorrect. We would fall through and calculate the crash_size based on the existing values in crashk_res. If both start and end are 0, the default, we calculate the crash_size as 1 byte - which is wrong. Rework the logic so that we use crashk_res, regardless of whether it's set by the command line or via the device tree (see prom.c). Then check if we have an empty range (end == start), and if so make sure to set both end and start to zero (this is checked in machine_kexec_64.c). Then we calculate the crash_size once we know we have a non-zero range. Finally we always want to warn the user if they specify a base != 32MB, so remove the special case for that in the command line parsing case. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 3243d87441bf7f97c5c9f7dd46b35f5783ec6740 Author: Michael Ellerman Date: Wed Apr 30 13:21:45 2008 +1000 [POWERPC] Make emergency stack safe for current_thread_info() use The current_thread_info() macro, used by preempt_count(), assumes the base address and size of the stack are THREAD_SIZE aligned. The emergency stack currently isn't either of these things, which could potentially cause problems anytime we're running on the emergency stack. That includes when we detect a bad kernel stack pointer, and also during early_setup_secondary(). Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 159131149c2f56c1da5ae5e23ab9d5acef4916d1 Author: Lachlan Andrew Date: Wed Apr 30 01:04:03 2008 -0700 tcp: Overflow bug in Vegas From: Lachlan Andrew There is an overflow bug in net/ipv4/tcp_vegas.c for large BDPs (e.g. 400Mbit/s, 400ms). The multiplication (old_wnd * vegas->baseRTT) << V_PARAM_SHIFT overflows a u32. [ Fix tcp_veno.c too, it has similar calculations. -DaveM ] Signed-off-by: David S. Miller commit 595f403c1af37b1339e64b89040528b8cd48c5a3 Merge: 8222525... d0eb801... Author: Paul Mackerras Date: Wed Apr 30 16:53:17 2008 +1000 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs commit d0eb801c60c20c2fbfc70e677415122798c472d2 Author: Kumar Gala Date: Fri Apr 25 11:03:03 2008 +1000 [POWERPC] spufs: add .gitignore for spu_save_dump.h & spu_restore_dump.h Signed-off-by: Kumar Gala Signed-off-by: Jeremy Kerr commit be9164e769d57aa10b2bbe15d103edc041b9e7de Author: Kostya B Date: Tue Apr 29 22:36:30 2008 -0700 [IPv4] UFO: prevent generation of chained skb destined to UFO device Problem: ip_append_data() could wrongly generate a chained skb for devices which support UFO. When sk_write_queue is not empty (e.g. MSG_MORE), __instead__ of appending data into the next nr_frag of the queued skb, a new chained skb is created. I would normally assume UFO device should get data in nr_frags and not in frag_list. Later the udp4_hwcsum_outgoing() resets csum to NONE and skb_gso_segment() has oops. Proposal: 1. Even length is less than mtu, employ ip_ufo_append_data() and append data to the __existed__ skb in the sk_write_queue. 2. ip_ufo_append_data() is fixed due to a wrong manipulation of peek-ing and later enqueue-ing of the same skb. Now, enqueuing is always performed, because on error the further ip_flush_pending_frames() would release the queued skb. Signed-off-by: Kostya B Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 3a8209d19dd791aaac3668be2fa51a9b42113efd Author: Adrian Bunk Date: Tue Apr 29 22:29:59 2008 -0700 iwlwifi: move the selects to the tristate drivers This patch moves the following select's: - RFKILL : IWLWIFI_RFKILL -> IWLCORE - RFKILL_INPUT : IWLWIFI_RFKILL -> IWLCORE - MAC80211_LEDS : IWL4965_LEDS -> IWLCORE - LEDS_CLASS : IWL4965_LEDS -> IWLCORE - MAC80211_LEDS : IWL3945_LEDS -> IWL3945 - LEDS_CLASS : IWL3945_LEDS -> IWL3945 The effects are: - with IWLCORE=m and/or IWL3945=m RFKILL/RFKILL_INPUT/MAC80211_LEDS/LEDS_CLASS are no longer wrongly forced to y - fixes a build error with IWLCORE=y, IWL4965=m might be a bug in kconfig causing it, but doing this change that is anyway the right thing fixes it Reported-by: Carlos R. Mafra Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 3734dfc68b64d8ca202c799280daf28c2424659d Author: Julio M. Merino Vidal Date: Wed Apr 30 15:21:17 2008 +1000 [POWERPC] spufs: trace spu_acquire_saved events The sputrace module contained a trace entry for spu_acquire_saved, but this marker was not placed anywhere. Fix this by adding a marker to the routine. Signed-off-by: Julio M. Merino Vidal Signed-off-by: Jeremy Kerr commit 8a476d49555cb7e8d4222782f695048b46692731 Author: Julio M. Merino Vidal Date: Wed Apr 30 15:16:14 2008 +1000 [POWERPC] spufs: fix marker name for find_victim Fix a typo in the marker for the find_victim function, which prevented it from being traced. It previously read find_vitim. Signed-off-by: Julio M. Merino Vidal Signed-off-by: Jeremy Kerr commit 534578816f028b0dc675fdcc3314016d98588327 Author: Julio M. Merino Vidal Date: Wed Apr 30 15:12:30 2008 +1000 [POWERPC] spufs: add marker for destroy_spu_context The sputrace module contained a reference to a marker for destroy_spu_context, but this marker did not appear in the code. Fix this by adding a marker in the function. Signed-off-by: Julio M. Merino Vidal Signed-off-by: Jeremy Kerr commit d6508aaf27ccef0d7e986aaa220ad4d098bca260 Author: Julio M. Merino Vidal Date: Wed Apr 30 15:06:39 2008 +1000 [POWERPC] spufs: add sputrace marker parameter names The markers facility defines the marker parameters to be of the form 'name %format'. Add parameter names to sputrace, to specify the context and %spu paramerters, instead of just specifying the '%format' part. Signed-off-by: Julio M. Merino Vidal Signed-off-by: Jeremy Kerr commit 5158e9b5218bd3799c9fa8c401ad24d7f0c0a0a1 Author: Christoph Hellwig Date: Tue Apr 29 17:08:38 2008 +1000 [POWERPC] spufs: add context switch notification log There are userspace instrumentation tools that need to monitor spu context switches. This patch adds a new file called 'switch_log' to each spufs context directory that can be used to monitor the context switches. Context switch in/out and exit from spu_run are monitored after the file was first opened and can be read from it. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr commit 45e741b89000519bedd4da4e7075a35acf5c655b Author: Sam Ravnborg Date: Tue Apr 29 20:58:15 2008 -0700 ipv4: annotate a few functions __init in ipconfig.c A few functions are only used from __init context. So annotate these with __init for consistency and silence the following warnings: WARNING: net/ipv4/built-in.o(.text+0x2a876): Section mismatch in reference from the function ic_bootp_init() to the variable .init.data:bootp_packet_type WARNING: net/ipv4/built-in.o(.text+0x2a907): Section mismatch in reference from the function ic_bootp_cleanup() to the variable .init.data:bootp_packet_type Note: The warnings only appear with CONFIG_DEBUG_SECTION_MISMATCH=y Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 957d33fc1a3793e9ca8c24c6400271b924e46e19 Author: Randy Dunlap Date: Tue Apr 29 20:10:55 2008 -0700 docbook: fix fatal rapidio yet again (and more to come) Don't refer to file that no longer exists: docproc: linux-2.6.25-git14/arch/powerpc/kernel/rio.c: No such file or directory Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 0ff5ce7f30b45cc2014cec465c0e96c16877116e Merge: c4755d1... ba7cc36... Author: Linus Torvalds Date: Tue Apr 29 20:37:59 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: V4L/DVB (7798): tuners/Kconfig: Change config name and help to reflect dynamic load for tuners V4L/DVB (7794): cx88: Fix a warning V4L/DVB (7792): ivtv: correct misspelled "HIMEM4G" to "HIGHMEM4G" in error message V4L/DVB (7791): ivtv: POLLHUP must be returned on eof V4L/DVB (7789b): Fix merge conflicts commit c4755d16fce9a4cdbb316c17657444856821bd4b Merge: c15a243... f1fa334... Author: Linus Torvalds Date: Tue Apr 29 20:34:49 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (48 commits) ext4: fix hot spins in mballoc after err_freebuddy and err_freemeta ext4: fix test ext_generic_write_end() copied return value ext3: fix test ext_generic_write_end() copied return value ext4: Move mballoc headers/structures to a seperate header file mballoc.h ext4: cleanup for compiling mballoc with verification and debugging #defines ext4: don't use ext4_error in ext4_check_descriptors ext4: mark inode dirty after initializing the extent tree ext4: update ctime and mtime for truncate with extents. ext4: Don't do GFP_NOFS allocations after taking ext4_lock_group ext4: move headers out of include/linux ext4: fix wrong gfp type under transaction ext4: Fix hang on umount with quotas when journal is aborted ext4: Fix update of mtime and ctime on rename jdb2: replace remaining __FUNCTION__ occurrences ext4: replace remaining __FUNCTION__ occurrences jbd2: only create debugfs and stats entries if init is successful jbd2: fix kernel-doc notation jbd2: replace potentially false assertion with if block jbd2: eliminate duplicated code in revocation table init/destroy functions jbd2: tidy up revoke cache initialisation and destruction ... commit c15a2434ed4868cad99278ac4d4ae4de9de62e02 Merge: a94a630... adaa693... Author: Linus Torvalds Date: Tue Apr 29 20:34:17 2008 -0700 Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6 * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6: (24 commits) [XFS] Fix build failure after enabling CONFIG_XFS_DEBUG [XFS] remove dmapi cruft in xfs_file.c [XFS] remove sendfile leftovers [XFS] allow enabling CONFIG_XFS_DEBUG [XFS] Don't initialise new inode generation numbers to zero [XFS] Fix check for block zero access in xfs_write_iomap_allocate() [XFS] Don't double count reserved block changes on UP. [XFS] remove xfs_log_ticket_zone on rmmod [XFS] fix non-smp xfs build [XFS] Fix broken HAVE_SPLICE removal commit. [XFS] kill XFS_ICSB_SB_LOCKED [XFS] split xfs_icsb_balance_counter [XFS] Add xfs_icsb_sync_counters_locked for when m_sb_lock already held [XFS] Cleanup xfs_attr a bit with xfs_name and remove cred [XFS] kill usesless IHOLD calls in xfs_remove and xfs_rmdir [XFS] kill parent == child checks in xfs_remove and xfs_rmdir [XFS] kill usesless IHOLD calls in xfs_rename [XFS] remove manual lookup from xfs_rename and simplify locking [XFS] shrink mrlock_t [XFS] simplify xfs_lookup ... commit ba7cc365f50cee0758e89217875e56ca3d972ed3 Author: Mauro Carvalho Chehab Date: Wed Apr 30 03:19:33 2008 -0300 V4L/DVB (7798): tuners/Kconfig: Change config name and help to reflect dynamic load for tuners Signed-off-by: Mauro Carvalho Chehab commit c17bf5db76f19211eaed4d01614414f179a06554 Author: Mauro Carvalho Chehab Date: Wed Apr 30 02:17:14 2008 -0300 V4L/DVB (7794): cx88: Fix a warning drivers/media/video/cx88/cx88-i2c.c: In function 'attach_inform': drivers/media/video/cx88/cx88-i2c.c:102: warning: unused variable 'tun_setup' Signed-off-by: Mauro Carvalho Chehab commit dab2ea48dcd3f75fda7ea25479666693321636be Author: Robert P. J. Day Date: Mon Apr 28 20:16:20 2008 -0300 V4L/DVB (7792): ivtv: correct misspelled "HIMEM4G" to "HIGHMEM4G" in error message Signed-off-by: Robert P. J. Day Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 16928be301b0881f7b7afcf95e0ee7dc3214de8d Author: Hans Verkuil Date: Mon Apr 28 12:18:00 2008 -0300 V4L/DVB (7791): ivtv: POLLHUP must be returned on eof Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a94a630a4c69430bb4562ab8252104449bba9a67 Author: Stephen Rothwell Date: Wed Apr 30 11:16:16 2008 +1000 pasemi_edac needs to include linux/edac.h Commit c3c52bce6993c6d37af2c2de9b482a7013d646a7 ("edac: fix module initialization on several modules 2nd time") added a call to opstate_init but did not include linux/edac.h that declares it. Signed-off-by: Stephen Rothwell Acked-by: Olof Johansson Signed-off-by: Linus Torvalds commit ff138171ec6f84f311fe8c0395ad7f9e6d04feec Author: Mauro Carvalho Chehab Date: Tue Apr 29 23:02:33 2008 -0300 V4L/DVB (7789b): Fix merge conflicts Some Kconfig names were changed. This patch reapplies the rename script, fixing for those drivers merged after the patch that renamed those items. Signed-off-by: Mauro Carvalho Chehab commit f1fa3342e271029f93d323ca664809b94594fe04 Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Apr 29 22:01:15 2008 -0400 ext4: fix hot spins in mballoc after err_freebuddy and err_freemeta In ext4_mb_init_backend() 'i' is of type ext4_group_t. Since unsigned, i >= 0 is always true, so fix hot spins after err_freebuddy: and -meta: and prevent decrements when zero. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit f8a87d89304c1eea8e4a8dc02d134f57590913c6 Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Apr 29 22:01:18 2008 -0400 ext4: fix test ext_generic_write_end() copied return value 'copied' is unsigned, whereas 'ret2' is not. The test (copied < 0) fails Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 7c2f3d6f89aab04c5c66a0a757888d3a77a5e899 Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Apr 29 22:01:27 2008 -0400 ext3: fix test ext_generic_write_end() copied return value 'copied' is unsigned, whereas 'ret2' is not. The test (copied < 0) fails Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: "Theodore Ts'o" commit 8f6e39a7ade8a5329c5651a2bc07010b3011da6a Author: Mingming Cao Date: Tue Apr 29 22:01:31 2008 -0400 ext4: Move mballoc headers/structures to a seperate header file mballoc.h Move function and structure definiations out of mballoc.c and put it under a new header file mballoc.h Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 60bd63d1928c65abd71d8b9b45672cf6e3101845 Author: Solofo Ramangalahy Date: Tue Apr 29 21:59:59 2008 -0400 ext4: cleanup for compiling mballoc with verification and debugging #defines This patch allows compiling mballoc with: #define AGGRESSIVE_CHECK #define DOUBLE_CHECK #define MB_DEBUG It fixes: Compilation errors: fs/ext4/mballoc.c: In function '__mb_check_buddy': fs/ext4/mballoc.c:605: error: 'struct ext4_prealloc_space' has no member named 'group_list' fs/ext4/mballoc.c:606: error: 'struct ext4_prealloc_space' has no member named 'pstart' fs/ext4/mballoc.c:608: error: 'struct ext4_prealloc_space' has no member named 'len' Compilation warnings: fs/ext4/mballoc.c: In function 'ext4_mb_normalize_group_request': fs/ext4/mballoc.c:2863: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'int' fs/ext4/mballoc.c: In function 'ext4_mb_use_inode_pa': fs/ext4/mballoc.c:3103: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'int' Sparse check: fs/ext4/mballoc.c:3818:2: warning: context imbalance in 'ext4_mb_show_ac' - different lock contexts for basic block Signed-off-by: Solofo Ramangalahy Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit c19204b0ae3f8a125118fd5d425d3c7a5f8fda9b Author: Josef Bacik Date: Tue Apr 29 22:00:28 2008 -0400 ext4: don't use ext4_error in ext4_check_descriptors Because ext4_check_descriptors is called at mount time you can't use ext4_error as it calls ext4_commit_sb, which since the sb isn't all the way initialized causes bad things to happen (ie a panic). This patch changes the ext4_error's to printk's to keep this problem from happening. Thanks much, Signed-off-by: Josef Bacik Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 8753e88f1b4345677620ec68f847222a6301e2fd Author: Aneesh Kumar K.V Date: Tue Apr 29 22:00:36 2008 -0400 ext4: mark inode dirty after initializing the extent tree We should mark the inode dirty only after initializing the extent tree. Also if we fail during extent initialization we need to call DQUOT_FREE_INODE. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit ef7377289a1510d638004158e43878643bc75dc5 Author: Solofo Ramangalahy Date: Tue Apr 29 22:00:41 2008 -0400 ext4: update ctime and mtime for truncate with extents. The recently announced "Linux POSIX file system test suite" caught a truncate issue when using extents: mtime and ctime are not updated when truncate is successful. This is the single issue caught with "default" ext4 (mkfs and mount with minimal options). The testsuite does not report failure with -o noextents. With the following patch, all tests of the testsuite pass. Signed-off-by: Solofo Ramangalahy Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit c83617db76353ff30e825874be2c15c185b95759 Author: Aneesh Kumar K.V Date: Tue Apr 29 22:00:47 2008 -0400 ext4: Don't do GFP_NOFS allocations after taking ext4_lock_group We can't do GFP_NOFS allocation after taking ext4_lock_group BUG: sleeping function called from invalid context at mm/slab.c:3054 in_atomic():1, irqs_disabled():0 1 lock held by vi/2426: #0: (&ei->i_data_sem){----}, at: [] ext4_release_file+0x23/0x66 Pid: 2426, comm: vi Not tainted 2.6.25-rc7 #24 [] __might_sleep+0xbe/0xc5 [] kmem_cache_alloc+0x22/0xa6 [] ext4_mb_release_inode_pa+0x73/0x1b3 [] ext4_mb_discard_inode_preallocations+0x22d/0x2d4 [] ? param_set_ushort+0x32/0x39 [] ext4_discard_reservation+0x27/0x6a [] ext4_release_file+0x2a/0x66 [] __fput+0xae/0x155 [] fput+0x17/0x19 [] filp_close+0x50/0x5a [] sys_close+0x71/0xad [] sysenter_past_esp+0x5f/0xa5 Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 127ce971adeb4514bc4edc5bf45f79beb0c94aa5 Author: bo yang Date: Tue Apr 29 03:55:33 2008 -0400 [SCSI] megaraid_sas; Update the Version and Changelog Update the Version and Changelog for megaraid_sas Driver Signed-off-by: Bo Yang Signed-off-by: James Bottomley commit c3a3b55ae80a0d595445064159c69f8e80911e85 Author: Brian King Date: Fri Apr 25 16:58:29 2008 -0500 [SCSI] ibmvscsi: Handle non SCSI error status Adds support to the ibmvscsi driver to handle non SCSI error status. This is needed to support some new VIOS enhancements. Signed-off-by: Brian King Signed-off-by: Santiago Leon Signed-off-by: James Bottomley commit 61d7416a286e840d905c18b1e6b0977c036c8656 Author: Alan D. Brunelle Date: Tue Apr 29 16:12:51 2008 -0400 [SCSI] bug fix for free list handling commit: commit 542bd1377a963070bc4a03ff7d2690ddf3920596 Author: James Bottomley Date: Mon Apr 21 10:57:20 2008 -0500 [SCSI] fix SLUB WARN_ON Fixed another problem in free list handling by moving list allocation from scsi_host_alloc() to scsi_add_host(). Unfortunately it introduced a new failure mode in that hosts can pass straight from alloc to put without going through add, leaving the free list uninitialised. Fix by checking shost->cmd_pool on the release path to see if it got initialised. Signed-off-by: Alan D. Brunelle Signed-off-by: James Bottomley commit 49dd09613cf8ae3b697c341c501b7526b462cfeb Author: Brian King Date: Mon Apr 28 17:36:20 2008 -0500 [SCSI] ipr: Rename ipr's state scsi host attribute to prevent collisions Due to recent device model changes it now no longer tolerates name collisions. This causes a problem for ipr whose "state" attribute collides with an identically named one in the SCSI mid-layer. Rename the ipr driver attribute to be more specific. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 69cd39e94669e2994277a29249b6ef93b088ddbb Author: Hannes Reinecke Date: Fri Apr 18 13:57:20 2008 -0700 [SCSI] megaraid_mbox: fix Dell CERC firmware problem Newer Dell CERC firmware (>= 6.62) implement a random deletion handling compatible with the legacy megaraid driver. The legacy handling shifted the target ID by 0x80 only for I/O commands (READ/WRITE/etc), whereas megaraid_mbox shifts the target ID always if random deletion is supported. The resulted in megaraid_mbox sending an INQUIRY to the wrong channel, and not finding any devices, obviously. So we disable the random deletion support if the offending firmware is found. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=6695 Signed-off-by: Hannes Reinecke Signed-off-by: Andrew Morton Acked-by: "Yang, Bo" Signed-off-by: James Bottomley commit 33ae0cdd3eaba219e7c2f0647b6db4be540e2130 Merge: f5ba0cf... fe086a7... Author: Linus Torvalds Date: Tue Apr 29 16:50:49 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Provide ACPI fixup for /proc/cpuinfo/physical_id [IA64] Remove printk noise on unimplemented SAL_PHYSICAL_ID_INFO [IA64] allocate multiple contiguous pages via uncached allocator [IA64] bugfix: nptcg breaks cpu-hotadd commit f5ba0cf3cb145f9a8cc125fb0cc013c5656d6259 Merge: c65a350... d20bdda... Author: Linus Torvalds Date: Tue Apr 29 15:58:24 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: Smack: Integrate Smack with Audit Security: Typecast CAP_*_SET macros Security: Make secctx_to_secid() take const secdata commit d20bdda6d45a4035e48ca7ae467a0d955c1ffc60 Author: Ahmed S. Darwish Date: Wed Apr 30 08:34:10 2008 +1000 Smack: Integrate Smack with Audit Setup the new Audit hooks for Smack. SELinux Audit rule fields are recycled to avoid `auditd' userspace modifications. Currently only equality testing is supported on labels acting as a subject (AUDIT_SUBJ_USER) or as an object (AUDIT_OBJ_USER). Signed-off-by: Ahmed S. Darwish Acked-by: Casey Schaufler commit 780db6c104de48104501f5943361f2371564b85d Author: David Howells Date: Tue Apr 29 20:54:28 2008 +0100 Security: Typecast CAP_*_SET macros Cast the CAP_*_SET macros to be of kernel_cap_t type to avoid compiler warnings. Signed-off-by: David Howells Signed-off-by: James Morris commit e52c1764f18a62776a0f2bc6752fb76b6e345827 Author: David Howells Date: Tue Apr 29 20:52:51 2008 +0100 Security: Make secctx_to_secid() take const secdata Make secctx_to_secid() take constant secdata. Signed-off-by: David Howells Acked-by: Casey Schaufler Signed-off-by: James Morris commit c65a3500b2947d344862da8cce626b7cc7ec5758 Merge: d973664... f7e9893... Author: Linus Torvalds Date: Tue Apr 29 15:19:09 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] linux/libata.h: reorganize ata_device struct members a bit ahci: SB600 ahci can't do MSI, blacklist that capability libata: More TSSTcorp pain, keep in sync with legacy IDE pata_via: Fix 6410 misdetect [libata] pata_atiixp: fix PIO timing data misprogramming commit d973664992d814d93db161b28c0cc9a4c7e68f42 Merge: 2d5e3e8... 9d87dd9... Author: Linus Torvalds Date: Tue Apr 29 15:18:06 2008 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (26 commits) [ARM] pxa: fix 1c104e0e4f6ab396960c058e95e18bdedcac945b [ARM] serial: s3c2410: platform_get_irq() may return signed unnoticed [ARM] am79c961a: platform_get_irq() may return signed unnoticed [ARM] Feroceon: Feroceon-specific WA-cache compatible {copy,clear}_user_page() [ARM] Feroceon: fix function alignment in proc-feroceon.S [ARM] Orion: catch a couple more alternative spellings of PCIe [ARM] Orion: fix orion-ehci platform resource end addresses [ARM] Orion: fix ->map_irq() PCIe bus number check [ARM] Orion: fix ioremap() optimization [ARM] feroceon: remove CONFIG_CPU_CACHE_ROUND_ROBIN check [ARM] feroceon: remove CONFIG_CPU_DCACHE_WRITETHROUGH check kprobes/arm: fix decoding of arithmetic immediate instructions kprobes/arm: fix cache flush address for instruction stub [ARM] 5022/1: Race in ARM MMCI PL18x driver, V2 [ARM] 5021/1: at91: buildfix for sam9263 + PM [ARM] 5018/1: RealView: Fix the ARM11MPCore Oprofile compilation [ARM] 5016/1: AT91: typo in mci configuration for at91cap at91sam9263 [ARM] 5017/1: pxa3xx: Report unsupported wakeup sources in pxa3xx_set_wake() [ARM] 5020/1: magician: remove __devinit marker from pasic3_leds_info [ARM] 5014/1: Cleanup reset state before entering suspend or resetting. ... commit 3dcf54515aa4981a647ad74859199032965193a5 Author: Christoph Hellwig Date: Tue Apr 29 18:13:32 2008 -0400 ext4: move headers out of include/linux Move ext4 headers out of include/linux. This is just the trivial move, there's some more thing that could be done later. Signed-off-by: Christoph Hellwig Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 216553c4b7f3e3e2beb4981cddca9b2027523928 Author: Josef Bacik Date: Tue Apr 29 22:02:02 2008 -0400 ext4: fix wrong gfp type under transaction This fixes the allocations with GFP_KERNEL while under a transaction problems in ext4. This patch is the same as its ext3 counterpart, just switches these to GFP_NOFS. Signed-off-by: Josef Bacik Cc: Signed-off-by: Andrew Morton Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 2887df139c40512cdc147d1a84d95d4f3d261bd1 Author: Jan Kara Date: Tue Apr 29 22:02:07 2008 -0400 ext4: Fix hang on umount with quotas when journal is aborted Call dquot_drop() from ext4_dquot_drop() even if we fail to start a transaction. Otherwise we never get to dropping references to quota structures from the inode and umount will hang indefinitely. Thanks to Payphone LIOU for spotting the problem. Signed-off-by: Jan Kara Signed-off-by: Mingming Cao CC: Payphone LIOU Signed-off-by: "Theodore Ts'o" commit 53b7e9f6807c1274eee19201396b4c2b5f721553 Author: Jan Kara Date: Tue Apr 29 22:02:11 2008 -0400 ext4: Fix update of mtime and ctime on rename The patch below makes ext4 update mtime and ctime of the directory into which we move file even if the directory entry already exists. Signed-off-by: Jan Kara Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit fe086a7bea7ab714930bd48addba961ceeef7634 Author: Alex Chiang Date: Tue Apr 29 15:05:29 2008 -0700 [IA64] Provide ACPI fixup for /proc/cpuinfo/physical_id Legacy HP ia64 platforms currently cannot provide /proc/cpuinfo/physical_id due to legacy SAL/PAL implementations. However, that physical topology information can be obtained via ACPI. Provide an interface that gives ACPI one last chance to provide physical_id for these legacy platforms. This logic only comes into play iff: - ACPI actually provides slot information for the CPU - we lack a valid socket_id Otherwise, we don't do anything. Since x86 uses the ACPI processor driver as well, we provide a nop stub function for arch_fix_phys_package_id() in asm-x86/topology.h Signed-off-by: Alex Chiang Signed-off-by: Tony Luck commit 2d5e3e8d28a7820de1eb7b18a7c15d645bb26992 Merge: b57ab76... aed6abd... Author: Linus Torvalds Date: Tue Apr 29 14:53:40 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (28 commits) V4L-DVB(7789a): cx18: fix symbol conflict with ivtv driver V4L/DVB (7789): tuner: remove static dependencies on analog tuner sub-modules V4L/DVB (7785): [2.6 patch] make mt9{m001,v022}_controls[] static V4L/DVB (7786): cx18: new driver for the Conexant CX23418 MPEG encoder chip V4L/DVB (7783): drivers/media/dvb/frontends/s5h1420.c: printk fix V4L/DVB (7782): pvrusb2: Driver is no longer experimental V4L/DVB (7781): pvrusb2-dvb: include dvb support by default and update Kconfig help text V4L/DVB (7780): pvrusb2: always enable support for OnAir Creator / HDTV USB2 V4L/DVB (7779): pvrusb2-dvb: quiet down noise in kernel log for feed debug Rename common tuner Kconfig names to use the same Fix V4L/DVB core help messages V4L/DVB (7769): Move other terrestrial tuners to common/tuners V4L/DVB (7768): reorganize some DVB-S Kconfig items V4L/DVB(7767): Move tuners to common/tuners V4L/DVB (7766): saa7134: add another PCI ID for Beholder M6 V4L/DVB (7765): Add support for Beholder BeholdTV H6 V4L/DVB (7763): ivtv: add tuner support for the AverMedia M116 V4L/DVB (7762): ivtv: fix tuner detection for PAL-N/Nc V4L/DVB (7761): ivtv: increase the DMA timeout from 100 to 300 ms V4L/DVB (7759): ivtv: increase version number to 1.2.1 ... commit b57ab7632b8fc1eef139bbbb7a89002be61f99e1 Merge: f12c037... 3760f73... Author: Linus Torvalds Date: Tue Apr 29 14:48:31 2008 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c: Convert most new-style drivers to use module aliasing i2c: Add support for device alias names i2c-amd756-s4882: Fix an error path i2c: Drop unused RTC driver IDs i2c/tps65010: Add missing intialization of client data i2c-sis5595: Minor cleanups in sis5595_access i2c-piix4: Minor cleanups i2c: Spelling fix (successful) i2c-stub: No newline in parameter description commit f7e989301b6c232dec5489e94ee7741c85cb11ba Author: Jeff Garzik Date: Tue Apr 29 17:47:34 2008 -0400 [libata] linux/libata.h: reorganize ata_device struct members a bit Put the big stuff at the end, to prepare for upcoming changes (and also hopefully achieve nicer packing of remaining members). Signed-off-by: Jeff Garzik commit 22b5e7a74280deae560c20ee1a9b502b35181327 Author: Tejun Heo Date: Tue Apr 29 16:09:22 2008 +0900 ahci: SB600 ahci can't do MSI, blacklist that capability This fixes bz#10507. Signed-off-by: Tejun Heo Cc: Shane Huang Signed-off-by: Jeff Garzik commit aed6abd662c2903733bea7fcd3856c306e650680 Author: Mauro Carvalho Chehab Date: Tue Apr 29 21:38:51 2008 -0300 V4L-DVB(7789a): cx18: fix symbol conflict with ivtv driver LD drivers/media/video/built-in.o drivers/media/video/cx18/built-in.o: In function `get_service_set': /home/v4l/tokernel/git/drivers/media/video/cx18/cx18-ioctl.c:118: multiple definition of `get_service_set' drivers/media/video/ivtv/built-in.o:/home/v4l/tokernel/git/drivers/media/video/ivtv/ivtv-ioctl.c:119: first defined here drivers/media/video/cx18/built-in.o: In function `expand_service_set': /home/v4l/tokernel/git/drivers/media/video/cx18/cx18-ioctl.c:92: multiple definition of `expand_service_set' drivers/media/video/ivtv/built-in.o:/home/v4l/tokernel/git/drivers/media/video/ivtv/ivtv-ioctl.c:92: first defined here drivers/media/video/cx18/built-in.o: In function `service2vbi': /home/v4l/tokernel/git/drivers/media/video/cx18/cx18-ioctl.c:44: multiple definition of `service2vbi' drivers/media/video/ivtv/built-in.o:/home/v4l/tokernel/git/drivers/media/video/ivtv/ivtv-ioctl.c:42: first defined here make[2]: ** [drivers/media/video/built-in.o] Erro 1 make[1]: ** [drivers/media/video] Erro 2 make: ** [drivers/media/] Erro 2 Signed-off-by: Mauro Carvalho Chehab commit a07c8779fd212dcbad886a2824ef5f8b42cd5a06 Author: Michael Krufky Date: Tue Apr 29 03:54:19 2008 -0300 V4L/DVB (7789): tuner: remove static dependencies on analog tuner sub-modules Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4407a463dd6afc892aedfbdc4237c42136d9f848 Author: Adrian Bunk Date: Mon Apr 28 17:13:51 2008 -0300 V4L/DVB (7785): [2.6 patch] make mt9{m001,v022}_controls[] static This patch makes the needlessly global mt9{m001,v022}_controls[] static. Signed-off-by: Adrian Bunk Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 1c1e45d17b663d4749af456ab7c2fc1f36405ef8 Author: Hans Verkuil Date: Mon Apr 28 20:24:33 2008 -0300 V4L/DVB (7786): cx18: new driver for the Conexant CX23418 MPEG encoder chip Many thanks to Steve Toth from Hauppauge and Nattu Dakshinamurthy from Conexant for their support. I am in particular thankful to Hauppauge since without their help this driver would not exist. It should also be noted that Steve did the work to get the DVB part up and running. Thank you! Signed-off-by: Hans Verkuil Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: G. Andrew Walls Signed-off-by: Mauro Carvalho Chehab commit d74bee8b4776b5051c650a90f49a2022d46d8588 Author: Andrew Morton Date: Mon Apr 28 08:54:56 2008 -0300 V4L/DVB (7783): drivers/media/dvb/frontends/s5h1420.c: printk fix drivers/media/dvb/frontends/s5h1420.c: In function `s5h1420_setsymbolrate': drivers/media/dvb/frontends/s5h1420.c:484: warning: long long unsigned int format, u64 arg (arg 2) We do not know what type the architecture uses for u64. Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit f4d2782411d502c39f2c21376377c745c0f09061 Author: Mike Isely Date: Sun Apr 27 21:37:33 2008 -0300 V4L/DVB (7782): pvrusb2: Driver is no longer experimental This driver has been in-kernel and reasonably stable for well over a year. It is in a stable form and is known to work well. Remove its experimental status. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 8ed3c844040e492239609c9559de04d5397a6b2b Author: Michael Krufky Date: Sun Apr 27 19:22:45 2008 -0300 V4L/DVB (7781): pvrusb2-dvb: include dvb support by default and update Kconfig help text Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 749b6a77b0cb43b12b51f62735f948e9ccc34ba6 Author: Michael Krufky Date: Sun Apr 27 19:12:29 2008 -0300 V4L/DVB (7780): pvrusb2: always enable support for OnAir Creator / HDTV USB2 This was a build option in the past, to avoid conflicts with the cxusb module for digital televsion support. Now that dtv mode support has been merged into pvrusb2, the OnAir devices are fully supported by this single module. This no longer should be a build option. Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 485fcaed25ed42d064445f9a65faa79a1faa6b0c Author: Michael Krufky Date: Sat Apr 26 19:44:59 2008 -0300 V4L/DVB (7779): pvrusb2-dvb: quiet down noise in kernel log for feed debug Get rid of the noise in dmesg during dvb feed changes, unless the appropriate debug trace flag is enabled. Signed-off-by: Michael Krufky Reviewed-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 149ef72deeba57078216c9fa678baff392295853 Author: Mauro Carvalho Chehab Date: Tue Apr 29 21:38:46 2008 -0300 Rename common tuner Kconfig names to use the same namespace for all of them. commit f1784354f774e1fa4863fc6382296ef6ede26dc5 Author: Mauro Carvalho Chehab Date: Tue Apr 29 21:38:45 2008 -0300 Fix V4L/DVB core help messages Signed-off-by: Mauro Carvalho Chehab commit b094516f9589245617eb5d0452769826063f72ac Author: Mauro Carvalho Chehab Date: Tue Apr 29 21:38:45 2008 -0300 V4L/DVB (7769): Move other terrestrial tuners to common/tuners Those tuners are currently used only under media/dvb. However, they can support also analog TV. Better to move them to the same place as the other hybrid tuners. This would make easier to use those tuners also by analog drivers. Signed-off-by: Mauro Carvalho Chehab commit df7aaaf3a74016cbc72382b6388c7c62f3df49b2 Author: Mauro Carvalho Chehab Date: Sat Apr 26 16:19:58 2008 -0300 V4L/DVB (7768): reorganize some DVB-S Kconfig items There are some DVB-S tuners together with DVB-S tags, while others together with tuners. Better to have all of them together. Signed-off-by: Mauro Carvalho Chehab commit 7c91f0624a9a2b8b9b122cf94fef34bc7f7347a6 Author: Mauro Carvalho Chehab Date: Tue Apr 29 21:38:44 2008 -0300 V4L/DVB(7767): Move tuners to common/tuners There were several issues in the past, caused by the hybrid tuner design, since now, the same tuner can be used by drivers/media/dvb and drivers/media/video. Kconfig items were rearranged, to split V4L/DVB core from their drivers. Signed-off-by: Mauro Carvalho Chehab commit 5fe95e0b865060839449e1a61c1d5c67a4faab9a Author: Igor Kuznetsov Date: Sat Apr 26 14:59:08 2008 -0300 V4L/DVB (7766): saa7134: add another PCI ID for Beholder M6 Signed-off-by: Igor Kuznetsov Signed-off-by: Mauro Carvalho Chehab commit 025052716d124ab6e5f23d6a535e843a31fb8b35 Author: Igor Kuznetsov Date: Sat Apr 26 14:53:48 2008 -0300 V4L/DVB (7765): Add support for Beholder BeholdTV H6 Signed-off-by: Igor Kuznetsov Signed-off-by: Mauro Carvalho Chehab commit 136531dac435828c4aa9ca694a7693b63a573be1 Author: Hans Verkuil Date: Sat Apr 26 14:16:18 2008 -0300 V4L/DVB (7763): ivtv: add tuner support for the AverMedia M116 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a0bdd273a2fdb2a0debc90d5f8826073e2ddea4d Author: Hans Verkuil Date: Sat Apr 26 12:10:58 2008 -0300 V4L/DVB (7762): ivtv: fix tuner detection for PAL-N/Nc Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2968e31361a2687cebeda6f558f82a3ec9354ca6 Author: Hans Verkuil Date: Sat Apr 26 11:22:11 2008 -0300 V4L/DVB (7761): ivtv: increase the DMA timeout from 100 to 300 ms When there is a lot of DMA traffic this timeout might sometimes be too low. Increase it to be on the safe side. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fcbbf6fb07aa020088d5a35c289c80449a8e684b Author: Hans Verkuil Date: Sat Apr 26 09:43:22 2008 -0300 V4L/DVB (7759): ivtv: increase version number to 1.2.1 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 94dee760823606ff6e191efc60e5bb98b81f1676 Author: Hans Verkuil Date: Sat Apr 26 09:26:13 2008 -0300 V4L/DVB (7758): ivtv: fix oops when itv->speed == 0 and VIDEO_CMD_PLAY is called Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 22f23fcc13e34a1efde8e7c37d157516fc1aa24f Author: Hans Verkuil Date: Sat Apr 26 09:19:44 2008 -0300 V4L/DVB (7757): ivtv: add autodetect for the AVermedia M104 card Note that this card is only detected and not yet working. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cebfadff4a5c877c524ae6014613edab9f50a2a9 Author: Hans Verkuil Date: Sat Apr 26 08:51:51 2008 -0300 V4L/DVB (7756): ivtv: use strlcpy instead of strcpy Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ecfcc83b8d6ff8ac65b072b309a1774ca52d955e Author: Hans Verkuil Date: Sat Apr 26 08:48:26 2008 -0300 V4L/DVB (7755): ivtv: add support for card comments and detected but unsupported cards Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d86e2ee98eeef61bdab8ca1bf4837c5709173790 Author: Hans Verkuil Date: Sat Apr 26 08:43:50 2008 -0300 V4L/DVB (7754): ivtv: change initialization order to fix an oops when device registration failed Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c117d05cd4c09342f97ba1c6ef63f0bae3239a39 Author: Mauro Carvalho Chehab Date: Sat Apr 26 14:05:58 2008 -0300 V4L/DVB (7753): saa7134: fix tuner setup Tuner setup were happening during i2c attach callback. This means that it would happen on two conditions: 1) if tuner module weren't load, it will happen at request_module("tuner"); 2) if tuner is not compiled as a module, or it is already loaded (for example, on setups with more than one tuner), it will happen when saa7134 registers I2C bus. Due to that, if tuner were loaded, tuner setup will happen _before_ reading the proper values at tuner eeprom. Since set_addr refuses to change for a tuner that were previously defined (except if the tuner_addr is set), this were making eeprom tuner detection useless. This patch removes tuner type setup from saa7134-i2c, moving it to the proper place, after taking eeprom into account. Reviewed-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit 397be5c4d66e6583ce3d38b0f99a56eb9818492b Author: Mauro Carvalho Chehab Date: Sat Apr 26 14:04:10 2008 -0300 V4L/DVB (7752): tuner-core: add a missing \n after a debug printk Signed-off-by: Mauro Carvalho Chehab commit 4bf1226a7018bf79d05e0ce59244d702819529d1 Author: Mauro Carvalho Chehab Date: Sat Apr 26 11:55:09 2008 -0300 V4L/DVB (7749): cx88: fix tuner setup Tuner setup were happening during i2c attach callback. This means that it would happen on two conditions: 1) if tuner module weren't load, it will happen at request_module("tuner"); 2) if tuner is not compiled as a module, or it is already loaded (for example, on setups with more than one tuner), it will happen when cx88 registers I2C bus. Due to that, if tuner were loaded, tuner setup will happen _before_ reading the proper values at tuner eeprom. Since set_addr refuses to change for a tuner that were previously defined (except if the tuner_addr is set), this were making eeprom tuner detection useless. This patch removes tuner type setup from cx88-i2c, moving it to the proper place, after taking eeprom into account. Reviewed-by: Gert Vervoort Reviewed-by: Ian Pickworth Signed-off-by: Mauro Carvalho Chehab commit a79067e513c71733223e13a52aacc8dbd71e9f46 Author: Alan Cox Date: Tue Apr 29 14:08:36 2008 +0100 libata: More TSSTcorp pain, keep in sync with legacy IDE Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 11f6400e92aa3fc0aa936f20f7cc363674a4e3c4 Author: Alan Cox Date: Tue Apr 29 14:10:57 2008 +0100 pata_via: Fix 6410 misdetect The discrete VIA ATA chips don't have 0x40 enable bits. We check that properly in one location but not another. This causes some users 6410 RAID cards to be incorrectly skipped. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d7b5a23fc6e85456ed00a997ff2d925fb3f0dc52 Author: Jeff Garzik Date: Tue Apr 29 17:39:45 2008 -0400 [libata] pata_atiixp: fix PIO timing data misprogramming Use correct variable, achieve desired result... Spotted by LKML/linux-ide poster whose name I lost (apologies!) Signed-off-by: Jeff Garzik commit 3760f736716f74bdc62a4ba5406934338da93eb2 Author: Jean Delvare Date: Tue Apr 29 23:11:40 2008 +0200 i2c: Convert most new-style drivers to use module aliasing Based on earlier work by Jon Smirl and Jochen Friedrich. Update most new-style i2c drivers to use standard module aliasing instead of the old driver_name/type driver matching scheme. I've left the video drivers apart (except for SoC camera drivers) as they're a bit more diffcult to deal with, they'll have their own patch later. Signed-off-by: Jean Delvare Cc: Jon Smirl Cc: Jochen Friedrich commit d2653e92732bd3911feff6bee5e23dbf959381db Author: Jean Delvare Date: Tue Apr 29 23:11:39 2008 +0200 i2c: Add support for device alias names Based on earlier work by Jon Smirl and Jochen Friedrich. This patch allows new-style i2c chip drivers to have alias names using the official kernel aliasing system and MODULE_DEVICE_TABLE(). At this point, the old i2c driver binding scheme (driver_name/type) is still supported. Signed-off-by: Jean Delvare Cc: Jochen Friedrich Cc: Jon Smirl Cc: Kay Sievers commit ee56d977423a58b53fd0fc1ef0aca0c9cb564c53 Author: Jean Delvare Date: Tue Apr 29 23:11:38 2008 +0200 i2c-amd756-s4882: Fix an error path If initialization fails, we want to restore the physical bus, not delete it again. Signed-off-by: Jean Delvare commit 306f39f8f2ecf896ae761748843b148b90d3494d Author: Jean Delvare Date: Tue Apr 29 23:11:38 2008 +0200 i2c: Drop unused RTC driver IDs The x1208, pcf8563 and isl1208 RTC drivers have been converted to new-style i2c drivers, so they no longer use I2C driver IDs. Signed-off-by: Jean Delvare Cc: Alessandro Zummo commit 6d072d78f87e8fe0fe30d096991b83af07f8bdfe Author: Jean Delvare Date: Tue Apr 29 23:11:38 2008 +0200 i2c/tps65010: Add missing intialization of client data tps65010_remove() calls i2c_get_clientdata(client) but the client data is never set during initialization, so it gets a NULL pointer at best. I guess it was never spotted because the tps65010 driver is typically not built modular so this function is discarded. Signed-off-by: Jean Delvare Cc: David Brownell commit 1842cc2eeb345c4eef069ffd46e95359fb37b4b5 Author: Jean Delvare Date: Tue Apr 29 23:11:38 2008 +0200 i2c-sis5595: Minor cleanups in sis5595_access * Remove commented-out code. * Use dev_warn instead of printk. * Remove a legacy comment. Signed-off-by: Jean Delvare commit 3578a0759ed2f0ea1f2409144e628dad4d748059 Author: Jean Delvare Date: Tue Apr 29 23:11:37 2008 +0200 i2c-piix4: Minor cleanups * Remove a needless include. * Remove a legacy comment in piix4_access. * Minor optimization in piix4_access. Signed-off-by: Jean Delvare commit c5d21b7fb747042cb2155698649cffccfd77d1f3 Author: Jean Delvare Date: Tue Apr 29 23:11:37 2008 +0200 i2c: Spelling fix (successful) Signed-off-by: Jean Delvare commit 85d6931cde5bbb80254dcd2a9f0851bd3eb8960b Author: Jean Delvare Date: Tue Apr 29 23:11:37 2008 +0200 i2c-stub: No newline in parameter description Signed-off-by: Jean Delvare commit f12c03722045882a50c270f6332cf2c7b16a83d2 Merge: eeb85d0... 7495ab6... Author: Linus Torvalds Date: Tue Apr 29 14:02:48 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: RDMA/nes: Formatting cleanup RDMA/nes: Add support for SFP+ PHY RDMA/nes: Use LRO IPoIB: Copy child MTU from parent IB/mthca: Avoid changing userspace ABI to handle DMA write barrier attribute IB/mthca: Avoid recycling old FMR R_Keys too soon mlx4_core: Avoid recycling old FMR R_Keys too soon IB/ehca: Allocate event queue size depending on max number of CQs and QPs IPoIB: Use separate CQ for UD send completions IB/iser: Count FMR alignment violations per session IB/iser: Move high-volume debug output to higher debug level IB/ehca: handle negative return value from ibmebus_request_irq() properly RDMA/cxgb3: Support peer-2-peer connection setup RDMA/cxgb3: Set the max_mr_size device attribute correctly RDMA/cxgb3: Correctly serialize peer abort path mlx4_core: Add a way to set the "collapsed" CQ flag commit eeb85d0b0e312ab9a6c3476f18308409913ab369 Merge: 355a469... 6d1cee4... Author: Linus Torvalds Date: Tue Apr 29 14:01:25 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: alim15x3: disable init_hwif_ali15x3 for PowerPC ide: fix crash at boot with siimage driver commit 6d1cee44361b8d06ccd1812e80448d86ae60dfe3 Author: Anton Vorontsov Date: Tue Apr 29 22:57:38 2008 +0200 alim15x3: disable init_hwif_ali15x3 for PowerPC We don't need init_hwif_ali15x3() on the PowerPC systems either. Before: ALI15X3: IDE controller (0x10b9:0x5229 rev 0xc8) at PCI slot 0001:03:1f.0 ALI15X3: 100% native mode on irq 19 ide0: BM-DMA at 0x1120-0x1127 ide1: BM-DMA at 0x1128-0x112f hda: SONY DVD RW AW-Q170A, ATAPI CD/DVD-ROM drive hda: UDMA/66 mode selected ide0: Disabled unable to get IRQ 14. ide0: failed to initialize IDE interface ide1: Disabled unable to get IRQ 15. ide1: failed to initialize IDE interface After: ALI15X3: IDE controller (0x10b9:0x5229 rev 0xc8) at PCI slot 0001:03:1f.0 ALI15X3: 100% native mode on irq 19 ide0: BM-DMA at 0x1120-0x1127 ide1: BM-DMA at 0x1128-0x112f hda: SONY DVD RW AW-Q170A, ATAPI CD/DVD-ROM drive hda: UDMA/66 mode selected ide0 at 0x1100-0x1107,0x110a on irq 19 ide1 at 0x1110-0x1117,0x111a on irq 19 hda: ATAPI 48X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache ide0 works well, though I can't test ide1, it isn't traced out on the board. Signed-off-by: Anton Vorontsov Signed-off-by: Bartlomiej Zolnierkiewicz commit b26b0c590066f65ff3b1ff438502f3c40ea39520 Author: Benjamin Herrenschmidt Date: Tue Apr 29 22:57:37 2008 +0200 ide: fix crash at boot with siimage driver Some change to the IDE layer are causing the siimage driver to crash at boot with a NULL dereference. This is due to the sil_dma_ops not containing all the necessary pointers. I suppose it used to just "override" the defaults while now, it needs to contain everything. [bart: while at it: sil_dma_ops should be const now (pointed out by Sergei)] Signed-off-by: Benjamin Herrenschmidt Cc: Sergei Shtylyov , Signed-off-by: Bartlomiej Zolnierkiewicz commit 6ff0bc94eee96fe45e5caa338c8b03cb99431fa9 Author: Alex Chiang Date: Thu Apr 24 12:57:08 2008 -0600 [IA64] Remove printk noise on unimplemented SAL_PHYSICAL_ID_INFO Commit 113134fcbca83619be4c68d0ca66db6093777b5d changed the flow of control when calling PAL_LOGICAL_TO_PHYSICAL and SAL_PHYSICAL_ID_INFO. With the change, if a platform did not implement the latter, a useless printk would appear in the boot log: ia64_sal_pltid failed with -1 So let's check the return code and only printk on a true error, and do not print anything in the unimplemented case. While we're in there, clean up some stylistic issues too. Signed-off-by: Alex Chiang Signed-off-by: Tony Luck commit e4a064dfa2b242519a9f06f9a1e58c27bf0c371b Author: Dean Nelson Date: Fri Apr 25 15:22:19 2008 -0500 [IA64] allocate multiple contiguous pages via uncached allocator Enable the uncached allocator to allocate multiple pages of contiguous uncached memory. Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit e617fce64e5faea149fcf3bffc1b42e4ba29e7e5 Author: Hidetoshi Seto Date: Fri Apr 25 23:13:09 2008 +0900 [IA64] bugfix: nptcg breaks cpu-hotadd If "max_purges" from PAL is 0, it actually means 1. However it was not handled later when a hot-added cpu pass the max_purges from PAL. This makes systems easy to go BUG_ON(). Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 7495ab6837ea4660f5e14ad49e5bfc558d6862e7 Author: Glenn Streiff Date: Tue Apr 29 13:46:54 2008 -0700 RDMA/nes: Formatting cleanup Various cleanups: - Change // to /* .. */ - Place whitespace around binary operators. - Trim down a few long lines. - Some minor alignment formatting for better readability. - Remove some silly tabs. Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit 0e1de5d62e751ca9c589d8dfabfc1e5074e62724 Author: Eric Schneider Date: Tue Apr 29 13:46:54 2008 -0700 RDMA/nes: Add support for SFP+ PHY This patch enables the iw_nes module for NetEffect RNICs to support additional PHYs including SFP+ (referred to as ARGUS in the code). Signed-off-by: Eric Schneider Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit 37dab4112d7b53c3574426ef7bdd92a78d32ac3e Author: Faisal Latif Date: Tue Apr 29 13:46:54 2008 -0700 RDMA/nes: Use LRO Signed-off-by: Faisal Latif Signed-off-by: Roland Dreier commit b4132efa1a47858d741ecb05b8735e6fcb603bc8 Author: Eli Cohen Date: Tue Apr 29 13:46:53 2008 -0700 IPoIB: Copy child MTU from parent When creating a child interface, copy the MTU information from the parent. Otherwise when the child's multicast join completes, the MTU will not be updated since the code does dev->mtu = min(priv->mcast_mtu, priv->admin_mtu); and priv->admin_mtu will be set to 0. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit baaad380c0aa955f7d62e846467316c94067f1a5 Author: Roland Dreier Date: Tue Apr 29 13:46:53 2008 -0700 IB/mthca: Avoid changing userspace ABI to handle DMA write barrier attribute Commit cb9fbc5c ("IB: expand ib_umem_get() prototype") changed the mthca userspace ABI to provide a way for userspace to indicate which memory regions need the DMA write barrier attribute. However, it is possible to handle this without breaking existing userspace, by having the mthca kernel driver recognize whether it is talking to old or new userspace, depending on the size of the register MR structure passed in. The only potential drawback of this is that is allows old userspace (which has a bug with DMA ordering on large SGI Altix systems) to continue to run on new kernels, but the advantage of allowing old userspace to continue to work on unaffected systems seems to outweigh this, and we can print a warning to push people to upgrade their userspace. Signed-off-by: Roland Dreier commit 0bfe151cc4049f3f304adf28b37ea5437d02ad96 Author: Olaf Kirch Date: Tue Apr 29 13:46:53 2008 -0700 IB/mthca: Avoid recycling old FMR R_Keys too soon When a FMR is unmapped, mthca resets the map count to 0, and clears the upper part of the R_Key which is used as the sequence counter. This poses a problem for RDS, which uses ib_fmr_unmap as a fence operation. RDS assumes that after issuing an unmap, the old R_Keys will be invalid for a "reasonable" period of time. For instance, Oracle processes uses shared memory buffers allocated from a pool of buffers. When a process dies, we want to reclaim these buffers -- but we must make sure there are no pending RDMA operations to/from those buffers. The only way to achieve that is by using unmap and sync the TPT. However, when the sequence count is reset on unmap, there is a high likelihood that a new mapping will be given the same R_Key that was issued a few milliseconds ago. To prevent this, don't reset the sequence count when unmapping a FMR. Signed-off-by: Olaf Kirch Signed-off-by: Roland Dreier commit bbdc2821db041fb07ffa52e4a0e1ebb5410790e9 Author: Olaf Kirch Date: Tue Apr 29 13:46:53 2008 -0700 mlx4_core: Avoid recycling old FMR R_Keys too soon When a FMR is unmapped, mlx4 resets the map count to 0, and clears the upper part of the R_Key which is used as the sequence counter. This poses a problem for RDS, which uses ib_fmr_unmap as a fence operation. RDS assumes that after issuing an unmap, the old R_Keys will be invalid for a "reasonable" period of time. For instance, Oracle processes uses shared memory buffers allocated from a pool of buffers. When a process dies, we want to reclaim these buffers -- but we must make sure there are no pending RDMA operations to/from those buffers. The only way to achieve that is by using unmap and sync the TPT. However, when the sequence count is reset on unmap, there is a high likelihood that a new mapping will be given the same R_Key that was issued a few milliseconds ago. To prevent this, don't reset the sequence count when unmapping a FMR. Signed-off-by: Olaf Kirch Signed-off-by: Roland Dreier commit d227fa7288adebe5ba37fa8e4a589c977d4e4a34 Author: Stefan Roscher Date: Tue Apr 29 13:46:53 2008 -0700 IB/ehca: Allocate event queue size depending on max number of CQs and QPs If a lot of QPs fall into Error state at once and the EQ of the respective HCA is too small, it might overrun, causing the eHCA driver to stop processing completion events and calling the application's completion handlers, effectively causing traffic to stop. Fix this by limiting available QPs and CQs to a customizable max count, and determining EQ size based on these counts and a worst-case assumption. Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit f56bcd8013566d4ad4759ae5fc85a6660e4655c7 Author: Eli Cohen Date: Tue Apr 29 13:46:53 2008 -0700 IPoIB: Use separate CQ for UD send completions Use a dedicated CQ for UD send completions. Also, do not arm the UD send CQ, which reduces the number of interrupts generated. This patch farther reduces overhead by not calling poll CQ for every posted send WR -- it does polls only when there 16 or more outstanding work requests. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 87528227dfa8776d12779d073c217f0835fd6d20 Author: Eli Dorfman Date: Tue Apr 29 13:46:52 2008 -0700 IB/iser: Count FMR alignment violations per session Count FMR alignment violations per session as part of the iscsi statistics. Signed-off-by: Eli Dorfman Signed-off-by: Roland Dreier commit 6f735e36bad6fa4949271b3c3d0f331aad812313 Author: Eli Dorfman Date: Tue Apr 29 13:46:52 2008 -0700 IB/iser: Move high-volume debug output to higher debug level Add another level for debug. Signed-off-by: Eli Dorfman Signed-off-by: Roland Dreier commit 7df109d917e85d3da2e25bd495c4997e87ed2a4e Author: Hoang-Nam Nguyen Date: Tue Apr 29 13:46:52 2008 -0700 IB/ehca: handle negative return value from ibmebus_request_irq() properly ehca_create_eq() was assigning a signed return value to an unsiged local variable and then checking if the variable was < 0, which meant that errors were always ignored. Fix this by using one variable for signed integer return values and another for u64 hcall return values. Bug originally found by Roel Kluin <12o3l@tiscali.nl>. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit f8b0dfd15277974b5c9f3ff17f9e3ab6fdbe45ee Author: Steve Wise Date: Tue Apr 29 13:46:52 2008 -0700 RDMA/cxgb3: Support peer-2-peer connection setup Open MPI, Intel MPI and other applications don't respect the iWARP requirement that the client (active) side of the connection send the first RDMA message. This class of application connection setup is called peer-to-peer. Typically once the connection is setup, _both_ sides want to send data. This patch enables supporting peer-to-peer over the chelsio RNIC by enforcing this iWARP requirement in the driver itself as part of RDMA connection setup. Connection setup is extended, when the peer2peer module option is 1, such that the MPA initiator will send a 0B Read (the RTR) just after connection setup. The MPA responder will suspend SQ processing until the RTR message is received and reply-to. In the longer term, this will be handled in a standardized way by enhancing the MPA negotiation so peers can indicate whether they want/need the RTR and what type of RTR (0B read, 0B write, or 0B send) should be sent. This will be done by standardizing a few bits of the private data in order to negotiate all this. However this patch enables peer-to-peer applications now and allows most of the required firmware and driver changes to be done and tested now. Design: - Add a module option, peer2peer, to enable this mode. - New firmware support for peer-to-peer mode: - a new bit in the rdma_init WR to tell it to do peer-2-peer and what form of RTR message to send or expect. - process _all_ preposted recvs before moving the connection into rdma mode. - passive side: defer completing the rdma_init WR until all pre-posted recvs are processed. Suspend SQ processing until the RTR is received. - active side: expect and process the 0B read WR on offload TX queue. Defer completing the rdma_init WR until all pre-posted recvs are processed. Suspend SQ processing until the 0B read WR is processed from the offload TX queue. - If peer2peer is set, driver posts 0B read request on offload TX queue just after posting the rdma_init WR to the offload TX queue. - Add CQ poll logic to ignore unsolicitied read responses. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit ccaf10d0ad17bf755750160ebe594de7261a893e Author: Steve Wise Date: Tue Apr 29 13:46:52 2008 -0700 RDMA/cxgb3: Set the max_mr_size device attribute correctly cxgb3 only supports 4GB memory regions. The lustre RDMA code uses this attribute and currently has to code around our bad setting. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 989a1780698c65dfe093a6aa89ceeff84c31f528 Author: Steve Wise Date: Tue Apr 29 13:46:51 2008 -0700 RDMA/cxgb3: Correctly serialize peer abort path Open MPI and other stress testing exposed a few bad bugs in handling aborts in the middle of a normal close. Fix these by: - serializing abort reply and peer abort processing with disconnect processing - warning (and ignoring) if ep timer is stopped when it wasn't running - cleaning up disconnect path to correctly deal with aborting and dead endpoints - in iwch_modify_qp(), taking a ref on the ep before releasing the qp lock if iwch_ep_disconnect() will be called. The ref is dropped after calling disconnect. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit e463c7b197dbe64b8a99b0612c65f286937e5bf1 Author: Yevgeny Petrilin Date: Tue Apr 29 13:46:50 2008 -0700 mlx4_core: Add a way to set the "collapsed" CQ flag Extend the mlx4_cq_resize() API with a way to set the "collapsed" flag for the CQ being created. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit 9d87dd97ffcd3b5eb2bbaf0d5d93f4bfcaed3f04 Merge: 92794a5... 0ed1507... Author: Russell King Date: Tue Apr 29 21:31:13 2008 +0100 Merge branch 'orion-fixes2' commit 92794a5d6359f9e8ed0d43fe0f3c653f748dcc90 Merge: 681587c... 7883938... b46926b... Author: Russell King Date: Tue Apr 29 21:31:06 2008 +0100 Merge branches 'pxa' and 'orion-fixes1' commit 7883938b0d5ee8dd6381e1e2a9f71254252fd504 Author: Russell King Date: Tue Apr 29 21:28:03 2008 +0100 [ARM] pxa: fix 1c104e0e4f6ab396960c058e95e18bdedcac945b The referenced commit changed the order such that the CPU code was initialised before MFP, resulting in unregistered MFP sysfs objects being referenced. Reverse the link order of these so MFP is initialised before the CPU code. Signed-off-by: Russell King commit 355a46961b58012de239cafccbfce4c9321d4395 Author: Dave Jones Date: Tue Apr 29 16:01:22 2008 -0400 trivial: fix user-visible typo in hfsplus Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds commit 25f2ea9fc8c7ec34d351cef7dade2e8046e49ed1 Author: David Howells Date: Tue Apr 29 20:54:28 2008 +0100 Security: Typecast CAP_*_SET macros Cast the CAP_*_SET macros to be of kernel_cap_t type to avoid compiler warnings. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 7bf570dc8dcf76df2a9f583bef2da96d4289ed0d Author: David Howells Date: Tue Apr 29 20:52:51 2008 +0100 Security: Make secctx_to_secid() take const secdata Make secctx_to_secid() take constant secdata. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 7663c1e2792a9662b23dec6e19bfcd3d55360b8f Author: Jens Axboe Date: Tue Apr 29 21:31:27 2008 +0200 Improve queue_is_locked() spin_is_locked() doesn't work on UP without spinlock debugging. Make it safer and just return 1 on UP, so we don't get false positives. The plan is to kill this debug function during the -rc cycle. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 6203554207728f43cfb9fd48585cd6500da73d42 Author: Linus Torvalds Date: Tue Apr 29 11:45:16 2008 -0700 drivers/net/tehuti: use proper capability check for raw IO access Yeah, in practice they both mean "root", but Alan correctly points out that anybody who gets to do raw IO space accesses should really be using CAP_SYS_RAWIO rather than CAP_NET_ADMIN. Pointed-out-by: Alan Cox Signed-off-by: Linus Torvalds commit 9781db7b345b5dfe93787aaaf310c861db7c1ede Merge: 97094dc... 8b67dca... Author: Linus Torvalds Date: Tue Apr 29 11:41:22 2008 -0700 Merge branch 'audit.b50' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current * 'audit.b50' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: [PATCH] new predicate - AUDIT_FILETYPE [patch 2/2] Use find_task_by_vpid in audit code [patch 1/2] audit: let userspace fully control TTY input auditing [PATCH 2/2] audit: fix sparse shadowed variable warnings [PATCH 1/2] audit: move extern declarations to audit.h Audit: MAINTAINERS update Audit: increase the maximum length of the key field Audit: standardize string audit interfaces Audit: stop deadlock from signals under load Audit: save audit_backlog_limit audit messages in case auditd comes back Audit: collect sessionid in netlink messages Audit: end printk with newline commit 97094dcf5cefc8ccfdf93839f54dac2c4d316165 Author: akpm@linux-foundation.org Date: Tue Apr 29 10:47:54 2008 -0700 drivers/pcmcia/pcmcia_ioctl.c: fix build argh. A hunk got lost from "proc: remove proc_bus" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9a3f6d6f541915bd7451fc7e9cb23a8b33a3ab8 Author: Jens Axboe Date: Tue Apr 29 19:12:35 2008 +0200 dm: use unlocked variants of queue flag check/set dm.c already provides mutual exclusion through ->map_lock. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit a217656cb26c5b7ebe9900354b2e808c1f74b470 Merge: 8f45c1a... a53edac... Author: Linus Torvalds Date: Tue Apr 29 10:17:59 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (21 commits) pciehp: fix error message about getting hotplug control pci/irq: let pci_device_shutdown to call pci_msi_shutdown v2 pci/irq: restore mask_bits in msi shutdown -v3 doc: replace yet another dev with pdev for consistency in DMA-mapping.txt PCI: don't expose struct pci_vpd to userspace doc: fix an incorrect suggestion to pass NULL for PCI like buses Consistently use pdev as the variable of type struct pci_dev *. pciehp: Fix command write shpchp: fix slot name make pciehp_acpi_get_hp_hw_control_from_firmware() pciehp: Clean up pcie_init() pciehp: Mask hotplug interrupt at controller release pciehp: Remove useless hotplug interrupt enabling pciehp: Fix wrong slot capability check pciehp: Fix wrong slot control register access pciehp: Add missing memory barrier pciehp: Fix interrupt event handlig pciehp: fix slot name Update MAINTAINERS with location of PCI tree PCI: Add Intel SCH PCI IDs ... commit 8f45c1a58a25c3a1a2f42521445e1e786c4c0b92 Author: Linus Torvalds Date: Tue Apr 29 10:16:38 2008 -0700 block: fix queue locking verification The new queue_flag_set/clear() functions verify that the queue is locked, but in doing so they will actually instead oops if the queue lock hasn't been initialized at all. So fix the lock debug test to consider the "no lock" case to be unlocked. This way you get a nice WARN_ON_ONCE() instead of a fatal oops. Bug introduced by commit 75ad23bc0fcb4f992a5d06982bf0857ab1738e9e ("block: make queue flags non-atomic"). Cc: Jens Axboe Cc: Nick Piggin Signed-off-by: Linus Torvalds commit 25a025863e024f6b86b48137b10b4960c50351b0 Merge: 1f43c53... 7e48bf6... Author: Linus Torvalds Date: Tue Apr 29 09:38:52 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: [ALSA] soc - wm9712 - checkpatch fixes [ALSA] pcsp - Fix more dependency [ALSA] hda - Add support of Medion RIM 2150 [ALSA] ASoC: Add drivers for the Texas Instruments OMAP processors [ALSA] ice1724 - Enable watermarks [ALSA] Add MPU401_INFO_NO_ACK bitflag commit 7e48bf653c37eb32c2ba4c13f15aa154aa807e61 Author: Mark Brown Date: Mon Apr 28 14:15:28 2008 +0100 [ALSA] soc - wm9712 - checkpatch fixes Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit bad7785d4a787dd32245772e7daecf80d3618de9 Author: Takashi Iwai Date: Mon Apr 28 12:35:41 2008 +0200 [ALSA] pcsp - Fix more dependency Added the missing dependency and select for snd-pcsp driver. Signed-off-by: Takashi Iwai commit df99cd334e5356b002a9480048c06265e558e180 Author: Takashi Iwai Date: Fri Apr 25 15:25:04 2008 +0200 [ALSA] hda - Add support of Medion RIM 2150 Added the support of Medion RIM 2150 laptop with ALC880 codec. ALSA bug#3708: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3708 Signed-off-by: Takashi Iwai commit 2e74796a45ee05bd901968ef1eb6cb884d1dca5e Author: Jarkko Nikula Date: Fri Apr 25 13:55:19 2008 +0200 [ALSA] ASoC: Add drivers for the Texas Instruments OMAP processors Add common OMAP ASoC drivers and machine driver for Nokia N810. Currently supported features are: - Covers OMAPs from 1510 to 2420 - Common DMA driver - DAI link driver using McBSP port in I2S mode - Basic machine driver for Nokia N810 Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 7f70f046af855e027f7b53ec7d214c2d0c790b6d Author: Takashi Iwai Date: Fri Apr 25 09:15:12 2008 +0200 [ALSA] ice1724 - Enable watermarks Enable watermarks settings (previously commented out) for MPU RX/TX. Otherwise irqs aren't issued properly. Tested-by: Pavel Hofman Signed-off-by: Takashi Iwai commit df7e3fdf83699328d1fdf7000ce0dc852fbb0ad9 Author: Takashi Iwai Date: Fri Apr 25 09:13:45 2008 +0200 [ALSA] Add MPU401_INFO_NO_ACK bitflag Added MPU401_INFO_NO_ACK bitflag to ignore the ACK check for UART commands. VT172x doesn't handle ACK commands, for example. Tested-by: Pavel Hofman Signed-off-by: Takashi Iwai commit 7aa0f1a8b1f7072990c9dc37f238c96dc6d78911 Author: Len Brown Date: Tue Apr 29 12:24:24 2008 -0400 intel_menlo: fix build warning drivers/misc/intel_menlow.c:191: warning: label ‘unregister’ defined but not used Signed-off-by: Len Brown commit a53edac131cadee317e7e36a5908bb4c71d874cd Author: Kenji Kaneshige Date: Tue Apr 29 09:15:04 2008 -0700 pciehp: fix error message about getting hotplug control People are confused by the following error message that actually is not for indicating a error. Cannot get control of hotplug hardware for pci %s This patch changes this message to debug message. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit d52877c7b1afb8c37ebe17e2005040b79cb618b0 Author: Yinghai Lu Date: Wed Apr 23 14:58:09 2008 -0700 pci/irq: let pci_device_shutdown to call pci_msi_shutdown v2 [PATCH 2/2] pci/irq: let pci_device_shutdown to call pci_msi_shutdown v2 this change | commit 23a274c8a5adafc74a66f16988776fc7dd6f6e51 | Author: Prakash, Sathya | Date: Fri Mar 7 15:53:21 2008 +0530 | | [SCSI] mpt fusion: Enable MSI by default for SAS controllers | | This patch modifies the driver to enable MSI by default for all SAS chips. | | Signed-off-by: Sathya Prakash | Signed-off-by: James Bottomley | Causes the kexec of a RHEL 5.1 kernel to fail. root casue: the rhel 5.1 kernel still uses INTx emulation. and mptscsih_shutdown doesn't call pci_disable_msi to reenable INTx on kexec path So call pci_msi_shutdown in the shutdown path to do the same thing to msix Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 8e149e09f91098fd72bf9ac5b4a77a693abf721e Author: Yinghai Lu Date: Wed Apr 23 14:56:30 2008 -0700 pci/irq: restore mask_bits in msi shutdown -v3 [PATCH 1/2] pci/irq: restore mask_bits in msi shutdown -v3 Yinghai found that kexec'ing a RHEL 5.1 kernel with 2.6.25-rc3+ kernels prevents his NIC from working. He bisected to | commit 89d694b9dbe769ca1004e01db0ca43964806a611 | Author: Thomas Gleixner | Date: Mon Feb 18 18:25:17 2008 +0100 | | genirq: do not leave interupts enabled on free_irq | | The default_disable() function was changed in commit: | | 76d2160147f43f982dfe881404cfde9fd0a9da21 | genirq: do not mask interrupts by default | For MSI, default_shutdown will call mask_bit for msi device. All mask bits will left disabled after free_irq. Then in the kexec case, the next kernel can only use msi_enable bit, so all device's MSI can not be used. So lets to restore the mask bit to its pci reset defined value (enabled) when we disable the kernels use of msi to be a little friendlier to kexec'd kernels. Extend msi_set_mask_bit to msi_set_mask_bits to take mask, so we can fully restore that to 0x00 instead of 0xfe. Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 1f43c5393033de90bac4410352b1d2a69dcbe7ef Merge: c135b65... e90955c... Author: Linus Torvalds Date: Tue Apr 29 09:03:19 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes: x86: fix PCI MSI breaks when booting with nosmp x86: vget_cycles() __always_inline x86: add more boot protocol documentation bootprotocol: cleanup x86: fix warning in "x86: clean up vSMP detection" x86: !x & y typo in mtrr code commit 2768f92c06a59c3ebf17a6b86002c3f33ab61a28 Author: Matti Linnanvuori Date: Tue Apr 29 10:54:09 2008 +0300 doc: replace yet another dev with pdev for consistency in DMA-mapping.txt Replace "dev" with "pdev" for consistency in DMA-mapping.txt. Signed-off-by: Matti Linnanvuori Signed-off-by: Jesse Barnes commit c135b6592bd63925397e60425e0301f33f06c7a6 Merge: 5f78e4d... 65c0d4e... Author: Linus Torvalds Date: Tue Apr 29 08:52:05 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: Fix bug - Implement bfin ata interrupt handler to avoid "irq 68 nobody cared" (v2) sata_mv: Improve naming of main_irq cause/mask identifiers libata-scsi: improve rbuf handling for simulated commands libata-scsi: clean up inquiry / mode sense related functions [MIPS] ATA: Rename routerboard 500 to 532 commit 5f78e4d33945b291d12765cdd7e4304f437b9361 Merge: 867a89e... 5f0b297... Author: Linus Torvalds Date: Tue Apr 29 08:26:51 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-pci * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-pci: x86: add pci=check_enable_amd_mmconf and dmi check x86: work around io allocation overlap of HT links acpi: get boot_cpu_id as early for k8_scan_nodes x86_64: don't need set default res if only have one root bus x86: double check the multi root bus with fam10h mmconf x86: multi pci root bus with different io resource range, on 64-bit x86: use bus conf in NB conf fun1 to get bus range on, on 64-bit x86: get mp_bus_to_node early x86 pci: remove checking type for mmconfig probe x86: remove unneeded check in mmconf reject driver core: try parent numa_node at first before using default x86: seperate mmconf for fam10h out from setup_64.c x86: if acpi=off, force setting the mmconf for fam10h x86_64: check MSR to get MMCONFIG for AMD Family 10h x86_64: check and enable MMCONFIG for AMD Family 10h x86_64: set cfg_size for AMD Family 10h in case MMCONFIG x86: mmconf enable mcfg early x86: clear pci_mmcfg_virt when mmcfg get rejected x86: validate against acpi motherboard resources Fixed up fairly trivial conflicts in arch/x86/pci/{init.c,pci.h} due to OLPC support manually. commit 867a89e0b73af48838c7987e80899a1ff26dd6ff Merge: 44473d9... 6c39103... Author: Linus Torvalds Date: Tue Apr 29 08:19:14 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [RAPIDIO] Change RapidIO doorbell source and target ID field to 16-bit [RAPIDIO] Add RapidIO connection info print out and re-training for broken connections [RAPIDIO] Add serial RapidIO controller support, which includes MPC8548, MPC8641 [RAPIDIO] Add RapidIO node probing into MPC86xx_HPCN board id table [RAPIDIO] Add RapidIO node into MPC8641HPCN dts file [RAPIDIO] Auto-probe the RapidIO system size [RAPIDIO] Add OF-tree support to RapidIO controller driver [RAPIDIO] Add RapidIO multi mport support [RAPIDIO] Move include/asm-ppc/rio.h to asm-powerpc [RAPIDIO] Add RapidIO option to kernel configuration [RAPIDIO] Change RIO function mpc85xx_ to fsl_ [POWERPC] Provide walk_memory_resource() for powerpc [POWERPC] Update lmb data structures for hotplug memory add/remove [POWERPC] Hotplug memory remove notifications for powerpc [POWERPC] windfarm: Add PowerMac 12,1 support [POWERPC] Fix building of pmac32 when CONFIG_NVRAM=m [POWERPC] Add IRQSTACKS support on ppc32 [POWERPC] Use __always_inline for xchg* and cmpxchg* [POWERPC] Add fast little-endian switch system call commit 44473d991332053eb3fea1e08f8a6ee2c6fb409c Merge: bd5d435... 6501faf... Author: Linus Torvalds Date: Tue Apr 29 08:18:49 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] state info wrong after resume [CPUFREQ] allow use of the powersave governor as the default one [CPUFREQ] document the currently undocumented parts of the sysfs interface [CPUFREQ] expose cpufreq coordination requirements regardless of coordination mechanism commit bd5d435a96837c3495e62eef37cbe4cb728b79ae Merge: fee4b19... ac9fafa... Author: Linus Torvalds Date: Tue Apr 29 08:18:03 2008 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: block: Skip I/O merges when disabled block: add large command support block: replace sizeof(rq->cmd) with BLK_MAX_CDB ide: use blk_rq_init() to initialize the request block: use blk_rq_init() to initialize the request block: rename and export rq_init() block: no need to initialize rq->cmd with blk_get_request block: no need to initialize rq->cmd in prepare_flush_fn hook block/blk-barrier.c:blk_ordered_cur_seq() mustn't be inline block/elevator.c:elv_rq_merge_ok() mustn't be inline block: make queue flags non-atomic block: add dma alignment and padding support to blk_rq_map_kern unexport blk_max_pfn ps3disk: Remove superfluous cast block: make rq_init() do a full memset() relay: fix splice problem commit fee4b19fb3f28d17c0b9f9ea0668db5275697178 Author: Thomas Gleixner Date: Tue Apr 29 12:01:02 2008 +0200 bitops: remove "optimizations" The mapsize optimizations which were moved from x86 to the generic code in commit 64970b68d2b3ed32b964b0b30b1b98518fde388e increased the binary size on non x86 architectures. Looking into the real effects of the "optimizations" it turned out that they are not used in find_next_bit() and find_next_zero_bit(). The ones in find_first_bit() and find_first_zero_bit() are used in a couple of places but none of them is a real hot path. Remove the "optimizations" all together and call the library functions unconditionally. Boot-tested on x86 and compile tested on every cross compiler I have. Signed-off-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit 8972331292753c89dbdd10b175e999ce78dc3be7 Author: Christoph Lameter Date: Tue Apr 29 01:04:12 2008 -0700 v850: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc1c3a003edb8a6778e64e10ef671a38c76c969e Author: Christoph Lameter Date: Tue Apr 29 01:04:12 2008 -0700 sh: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ca4d7bf7a650817c441073cb8d1c2c8dfbb9959 Author: Christoph Lameter Date: Tue Apr 29 01:04:10 2008 -0700 s390: use kbuild.h instead of defining macros in asm-offsets.c New version that does not preserve the marker. Arch maintainers indicate that the marker functionality is is not needed anymore. Note you may simplify the s390 asm-offsets.c code further if you use the OFFSET() macro instead of the DEFINE. See kbuild.h Signed-off-by: Christoph Lameter Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a88d7a8f467e4ab1d3393ed5bce3d68cdf9be2e Author: Christoph Lameter Date: Tue Apr 29 01:04:09 2008 -0700 s390: use kbuild.h instead of defining macros in asm-offsets.c s390 has a strange marker in DEFINE. Undefine the DEFINE from kbuild.h and define it the way s390 wants it to preserve things as they were. May be good if the arch maintainer could go over this and check if this workaround is really necessary. Signed-off-by: Christoph Lameter Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4d298feeaebb43e0a74e5e2333f1b566c34a37c Author: Christoph Lameter Date: Tue Apr 29 01:04:08 2008 -0700 ppc/powerpc: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 943de37dbf313d33d1b4ee15a57fadeeeedc2556 Author: Christoph Lameter Date: Tue Apr 29 01:04:08 2008 -0700 parisc: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59957fc31fb78806fc95c99466caa9a0fff735aa Author: Christoph Lameter Date: Tue Apr 29 01:04:07 2008 -0700 mn10300: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8045b4af69c905a2b44ffffb4a1c13ba85e0867 Author: Christoph Lameter Date: Tue Apr 29 01:04:05 2008 -0700 m68k/m68kmmu: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 501cd36f9de960f640f15ed37428631167108006 Author: Christoph Lameter Date: Tue Apr 29 01:04:04 2008 -0700 h8300: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de400bd278464fe811186b4b0d3a5cfac0d747fb Author: Christoph Lameter Date: Tue Apr 29 01:04:04 2008 -0700 frv: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5544b9ed81bf1677ad6c3e5b58c05837249805b7 Author: Christoph Lameter Date: Tue Apr 29 01:04:03 2008 -0700 blackfin: use kbuild.h instead of defining macros in asm-macros.c Signed-off-by: Christoph Lameter Cc: Bryan Wu Cc: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40765200b688939a012f5facc87d8ee07c40288b Author: Christoph Lameter Date: Tue Apr 29 01:04:02 2008 -0700 avr32: use kbuild.h macros instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32b07679b479eee9195870b337b05046f5efedfb Author: Christoph Lameter Date: Tue Apr 29 01:04:01 2008 -0700 sparc: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0fcfbb1d317593d3d713a850bfdb310cc1585ae2 Author: Christoph Lameter Date: Tue Apr 29 01:04:00 2008 -0700 xtensa: use kbuild.h macros instead of defining them in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02cbe4749a79f880b29ce42bbb5441b8d57222e4 Author: Christoph Lameter Date: Tue Apr 29 01:03:59 2008 -0700 arm: use kbuild.h instead of macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad2bc7b480230fb298919c54fea37b7879f2251d Author: Christoph Lameter Date: Tue Apr 29 01:03:58 2008 -0700 ia64: use kbuild.h macros instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26946f4e9b3385f475df094371a016c9d217206a Author: Christoph Lameter Date: Tue Apr 29 01:03:58 2008 -0700 alpha: use kbuild.h instead of macros in asm-offsets.c Use the macros in kbuild.h Signed-off-by: Christoph Lameter Cc: Jay Estabrook Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd04d2067508d4a2b8cdb51d9ede1c0d96f13602 Author: Christoph Lameter Date: Tue Apr 29 01:03:55 2008 -0700 mips: use kbuild.h instead of macros in asm-offsets.c Use the macros provided in kbuild.h Signed-off-by: Christoph Lameter Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66916cd2670e2033a468c492a0192a643ff0965e Author: Christoph Lameter Date: Tue Apr 29 01:03:54 2008 -0700 x86: use kbuild.h Drop the macro definitions in asm-offsets_*.c and use kbuild.h Signed-off-by: Christoph Lameter Cc: Sam Ravnborg Acked-by: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37487a56523d402e25650da16c337acf4cecd13d Author: Christoph Lameter Date: Tue Apr 29 01:03:49 2008 -0700 Add kbuild.h that contains common definitions for kbuild users The same definitions are used for the bounds logic and the asm-offsets.h generation by kbuild. Put them into include/linux/kbuild.h file. Also add a new feature COMMENT("text") which can be used to insert lines of ocmments into asm-offsets.h and bounds.h. Cc: Sam Ravnborg Signed-off-by: Christoph Lameter Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Ralf Baechle Cc: Jay Estabrook Cc: Ivan Kokshaysky Cc: Richard Henderson Cc: "Luck, Tony" Cc: Russell King Cc: Chris Zankel Cc: David S. Miller Cc: Haavard Skinnemoen Cc: Bryan Wu Cc: Mike Frysinger Cc: Yoshinori Sato Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Greg Ungerer Cc: David Howells Cc: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Paul Mundt Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39fa00311f21318cc498b139c2cc2830dcad98ff Author: Jeff Moyer Date: Tue Apr 29 01:03:48 2008 -0700 aio: fix misleading comments The FIXME comments are inaccurate. The locking comment over lookup_ioctx() is wrong. Signed-off-by: Jeff Moyer Signed-off-by: Zach Brown Signed-off-by: Shen Feng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68ab3d883a2df13f4b93a923bae3a287cbee29d3 Author: Masami Hiramatsu Date: Tue Apr 29 01:03:46 2008 -0700 relayfs: support larger relay buffer Use vmalloc() and memset() instead of kcalloc() to allocate a page* array when the array size is bigger than one page. This enables relayfs to support bigger relay buffers than 64MB on 4k-page system, 512MB on 16k-page system. [akpm@linux-foundation.org: cleanup] Signed-off-by: Masami Hiramatsu Cc: David Wilder Reviewed-by: Tom Zanussi Reviewed-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97a4feb4a78ae5cd130be7d546471a0779f1aa14 Author: Harvey Harrison Date: Tue Apr 29 01:03:45 2008 -0700 ncpfs: use get/put_unaligned_* helpers [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58d485d481013b47f50b7cd2cf9eab7795a0fcbd Author: Harvey Harrison Date: Tue Apr 29 01:03:44 2008 -0700 isofs: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: Jan Kara Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b3789e5d552b8ba4841926066ef0ccd664e209c Author: Harvey Harrison Date: Tue Apr 29 01:03:44 2008 -0700 hfsplus: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: Roman Zippel Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 803f445f17aa1b71235ad6febae734dd7ad23ddd Author: Harvey Harrison Date: Tue Apr 29 01:03:43 2008 -0700 fat: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Acked-by: OGAWA Hirofumi Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d15c0a4dc44f9d47d3dad03d17175aa1e6428093 Author: Harvey Harrison Date: Tue Apr 29 01:03:41 2008 -0700 video: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: Petr Vandrovec Cc: Antonino Daplas Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5abdeafedf722b0f3f357f4a23089a686b1b80d Author: Harvey Harrison Date: Tue Apr 29 01:03:40 2008 -0700 usb: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Acked-by: Greg Kroah-Hartman Cc: Alan Stern Cc: David Brownell Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b1e6f637469647f435f8f8ab00fbafa3c129712 Author: Harvey Harrison Date: Tue Apr 29 01:03:39 2008 -0700 pcmcia: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: Dominik Brodowski Cc: Daniel Ritz Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 533dd1b0be103b0ff11da71152877e1ba530f1c2 Author: Harvey Harrison Date: Tue Apr 29 01:03:36 2008 -0700 wireless: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: John W. Linville Cc: Michael Buesch Cc: Daniel Drake Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6caf52a453d5fe0bc584a2895bfd39a3d9054829 Author: Harvey Harrison Date: Tue Apr 29 01:03:36 2008 -0700 net: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: Jeff Garzik Cc: Auke Kok Cc: John Ronciak Cc: Jesse Brandeburg Cc: Grant Grundler Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48b2cf9e2921581c3f72295397da07673cdde072 Author: Harvey Harrison Date: Tue Apr 29 01:03:34 2008 -0700 mmc: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: David Brownell Cc: Tony Jones Cc: Pierre Ossman Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 858ad08cf4c32a51d26552d3cb5fa8d5e2f0e579 Author: Harvey Harrison Date: Tue Apr 29 01:03:34 2008 -0700 input: use get_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: Dmitry Torokhov Cc: Jiri Kosina Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 973ea70c7c9be50d5ac34ff82a1c48fbe8fb2efb Author: Harvey Harrison Date: Tue Apr 29 01:03:32 2008 -0700 char: use get_unaligned_* helpers Remove unnecessary temp variable from_buf in snsc_event.c Signed-off-by: Harvey Harrison Cc: Jiri Slaby Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c105068f2b35343eecf2bf16ee29a362b6121fa3 Author: Harvey Harrison Date: Tue Apr 29 01:03:31 2008 -0700 hid-core: use get_unaligned_* helpers Signed-off-by: Harvey Harrison Acked-by: Jiri Kosina Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f885f8d127665e784a8071755243bd4e18f594d5 Author: Harvey Harrison Date: Tue Apr 29 01:03:30 2008 -0700 drivers/block: use get_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: Ed L. Cashin Cc: Jens Axboe Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6510d41954dc6a9c8b1dbca7eaca0f23195ca727 Author: Harvey Harrison Date: Tue Apr 29 01:03:30 2008 -0700 kernel: Move arches to use common unaligned access Unaligned access is ok for the following arches: cris, m68k, mn10300, powerpc, s390, x86 Arches that use the memmove implementation for native endian, and the byteshifting for the opposite endianness. h8300, m32r, xtensa Packed struct for native endian, byteshifting for other endian: alpha, blackfin, ia64, parisc, sparc, sparc64, mips, sh m86knommu is generic_be for Coldfire, otherwise unaligned access is ok. frv, arm chooses endianness based on compiler settings, uses the byteshifting versions. Remove the unaligned trap handler from frv as it is now unused. v850 is le, uses the byteshifting versions for both be and le. Remove the now unused asm-generic implementation. Signed-off-by: Harvey Harrison Acked-by: David S. Miller Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 064106a91be5e76cb42c1ddf5d3871e3a1bd2a23 Author: Harvey Harrison Date: Tue Apr 29 01:03:27 2008 -0700 kernel: add common infrastructure for unaligned access Create a linux/unaligned directory similar in spirit to the linux/byteorder folder to hold generic implementations collected from various arches. Currently there are five implementations: 1) packed_struct.h: C-struct based, from asm-generic/unaligned.h 2) le_byteshift.h: Open coded byte-swapping, heavily based on asm-arm 3) be_byteshift.h: Open coded byte-swapping, heavily based on asm-arm 4) memmove.h: taken from multiple implementations in tree 5) access_ok.h: taken from x86 and others, unaligned access is ok. All of the new implementations checks for sizes not equal to 1,2,4,8 and will fail to link. API additions: get_unaligned_{le16|le32|le64|be16|be32|be64}(p) which is meant to replace code of the form: le16_to_cpu(get_unaligned((__le16 *)p)); put_unaligned_{le16|le32|le64|be16|be32|be64}(val, pointer) which is meant to replace code of the form: put_unaligned(cpu_to_le16(val), (__le16 *)p); The headers that arches should include from their asm/unaligned.h: access_ok.h : Wrappers of the byteswapping functions in asm/byteorder Choose a particular implementation for little-endian access: le_byteshift.h le_memmove.h (arch must be LE) le_struct.h (arch must be LE) Choose a particular implementation for big-endian access: be_byteshift.h be_memmove.h (arch must be BE) be_struct.h (arch must be BE) After including as needed from the above, include unaligned/generic.h and define your arch's get/put_unaligned as (for LE): Signed-off-by: Harvey Harrison Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dddfbaf8f86894415abb8256b55da68dab966ebe Author: Robert P. J. Day Date: Tue Apr 29 01:03:26 2008 -0700 sysv fs: remove superfluous check for __GNUC__ compiler Since isn't exported to userspace, there is little point checking that this is a GNU-compatible compiler. Signed-off-by: Robert P. J. Day Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cedb27de0450fef73bc7dc28431d1108af54134c Author: Bjorn Helgaas Date: Tue Apr 29 01:03:25 2008 -0700 tpm: change Kconfig dependencies from PNPACPI to PNP There is no "PNPACPI" driver interface as such. PNPACPI is an internal backend of PNP, and drivers just use the generic PNP interface. The drivers should depend on CONFIG_PNP, not CONFIG_PNPACPI. tpm_nsc.c doesn't use PNP at all, so we can just remove the dependency completely. It probably *should* use PNP to discover the device, but until it does, there's no point in depending on PNP. Signed-off-by: Bjorn Helgaas Cc: Kylene Jo Hall Cc: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4821cd111d1dbe4bf230a3ecd7f8d3e803f1eec3 Author: Sam Ravnborg Date: Tue Apr 29 01:03:23 2008 -0700 tpm: fix section mismatch warning Fix following warning: WARNING: vmlinux.o(.init.text+0x32804): Section mismatch in reference from the function init_nsc() to the function .devexit.text:tpm_nsc_remove() The function tpm_nsc_remove() are used outside __exit, so remove the __exit annotation to make sure the function is always avilable. Note: Trying to compare this module with other users of platform_device gve me the impression that this driver needs some work to match other users. Signed-off-by: Sam Ravnborg Cc: Kylene Hall Cc: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2b9a3962c69754e8eeb3d578bb33fdb1cf97cca Author: Bjorn Helgaas Date: Tue Apr 29 01:03:22 2008 -0700 parport_pc: wrap PNP probe code in #ifdef CONFIG_PNP Wrap PNP probe code in #ifdef CONFIG_PNP. We already do the same for CONFIG_PCI. Without this change, we'll have unresolved references to pnp_get_resource() function when CONFIG_PNP=n. (This is a new interface that's not in mainline yet.) Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9396d496d74587d46a74b93a8b6b41659d2daf2e Author: David Howells Date: Tue Apr 29 01:03:22 2008 -0700 afs: support the CB.ProbeUuid RPC op Add support for the CB.ProbeUuid cache manager RPC op. This allows a modern OpenAFS server to quickly ask if the client has been rebooted. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c80bcce34a355c0920f8cab250d766d7827341d Author: David Howells Date: Tue Apr 29 01:03:21 2008 -0700 afs: the AFS RPC op CBGetCapabilities is actually CBTellMeAboutYourself The AFS RxRPC op CBGetCapabilities is actually CBTellMeAboutYourself. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ae52d6fbaf7ffe4d00876d25ea000e94f85819c Author: Robert P. J. Day Date: Tue Apr 29 01:03:20 2008 -0700 afs: use the shorter LIST_HEAD for brevity Signed-off-by: Robert P. J. Day Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3c52bce6993c6d37af2c2de9b482a7013d646a7 Author: Hitoshi Mitake Date: Tue Apr 29 01:03:18 2008 -0700 edac: fix module initialization on several modules 2nd time I implemented opstate_init() as a inline function in linux/edac.h. added calling opstate_init() to: i82443bxgx_edac.c i82860_edac.c i82875p_edac.c i82975x_edac.c I wrote a fixed patch of edac-fix-module-initialization-on-several-modules.patch, and tested building 2.6.25-rc7 with applying this. It was succeed. I think the patch is now correct. Cc: Alan Cox Signed-off-by: Hitoshi Mitake Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a45027d1afd7e85254b5ef8535e93ce3d588cf4 Author: Adrian Bunk Date: Tue Apr 29 01:03:18 2008 -0700 edac: remove unneeded functions and add static accessor Collection of patches, merged into one, from Adrian that do the following: 1) This patch makes the following needlessly global functions static: - edac_pci_get_log_pe() - edac_pci_get_log_npe() - edac_pci_get_panic_on_pe() - edac_pci_unregister_sysfs_instance_kobj() - edac_pci_main_kobj_setup() 2) Remove unneeded function edac_device_find() 3) Added #if 0 around function edac_pci_find() 4) make the needlessly global edac_pci_generic_check() static 5) Removed function edac_check_mc_devices() Doug Thompson modified Adrian's patches, to bettern represent the direction of EDAC, and make them one patch. Cc: Alan Cox Signed-off-by: Adrian Bunk Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff6ac2a616c85d1215899ffda815e29b699cbd3a Author: Robert P. J. Day Date: Tue Apr 29 01:03:17 2008 -0700 edac: use the shorter LIST_HEAD for brevity Signed-off-by: Robert P. J. Day Acked-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94ee1cf5a88e12f5cbf8c0c78a6c18d3e043241e Author: Peter Tyser Date: Tue Apr 29 01:03:15 2008 -0700 edac: add e752x parameter for sysbus_parity selection Add a module parameter "sysbus_parity" to allow forcing system bus parity error checking on or off. Also add support to automatically disable system bus parity errors for processors which do not support it. If the sysbus_parity parameter is specified, sysbus parity detection will be forced on or off. If it is not specified, the driver will attempt to look at the CPU identifier string and determine if the CPU supports system bus parity. A blacklist was used instead of a whitelist so that system bus parity would be enabled by default and to minimize the chances of breaking things for those people already using the driver which for some reason have a processor that does not have a valid CPU identifier string. [akpm@linux-foundation.org: coding-style fixes] Cc: Alan Cox Signed-off-by: Peter Tyser Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5135b797c8466eac39dc7fb4ae1fac6e7276377a Author: Andrei Konovalov Date: Tue Apr 29 01:03:13 2008 -0700 edac: new support for Intel 3100 chipset Add Intel 3100 chipset support to e752x EDAC driver. Cc: Alan Cox Signed-off-by: Andrei Konovalov Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 199f0ca514f9c17668eec4f935c4ba24cd789f85 Author: Akinobu Mita Date: Tue Apr 29 01:03:13 2008 -0700 idr: create idr_layer_cache at boot time Avoid a possible kmem_cache_create() failure by creating idr_layer_cache unconditionary at boot time rather than creating it on-demand when idr_init() is called the first time. This change also enables us to eliminate the check every time idr_init() is called. [akpm@linux-foundation.org: rename init_id_cache() to idr_init_cache()] [akpm@linux-foundation.org: fix alpha build] Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 801678c5a3b4c79236970bcca27c733f5559e0d1 Author: Hirofumi Nakagawa Date: Tue Apr 29 01:03:09 2008 -0700 Remove duplicated unlikely() in IS_ERR() Some drivers have duplicated unlikely() macros. IS_ERR() already has unlikely() in itself. This patch cleans up such pointless code. Signed-off-by: Hirofumi Nakagawa Acked-by: David S. Miller Acked-by: Jeff Garzik Cc: Paul Clements Cc: Richard Purdie Cc: Alessandro Zummo Cc: David Brownell Cc: James Bottomley Cc: Michael Halcrow Cc: Anton Altaparmakov Cc: Al Viro Cc: Carsten Otte Cc: Patrick McHardy Cc: Paul Mundt Cc: Jaroslav Kysela Cc: Takashi Iwai Acked-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a6f70bbed4e8b72dd340812d7c606bfd5e00b47 Author: Jeff Dike Date: Tue Apr 29 01:03:08 2008 -0700 random: add async notification support to /dev/random Add async notification support to /dev/random. A little test case is below. Without this patch, you get: $ ./async-random Drained the pool Found more randomness With it, you get: $ ./async-random Drained the pool SIGIO Found more randomness #include #include #include #include #include static void handler(int sig) { printf("SIGIO\n"); } int main(int argc, char **argv) { int fd, n, err, flags; if(signal(SIGIO, handler) < 0){ perror("setting SIGIO handler"); exit(1); } fd = open("/dev/random", O_RDONLY); if(fd < 0){ perror("open"); exit(1); } flags = fcntl(fd, F_GETFL); if (flags < 0){ perror("getting flags"); exit(1); } flags |= O_NONBLOCK; if (fcntl(fd, F_SETFL, flags) < 0){ perror("setting flags"); exit(1); } while((err = read(fd, &n, sizeof(n))) > 0) ; if(err == 0){ printf("random returned 0\n"); exit(1); } else if(errno != EAGAIN){ perror("read"); exit(1); } flags |= O_ASYNC; if (fcntl(fd, F_SETFL, flags) < 0){ perror("setting flags"); exit(1); } if (fcntl(fd, F_SETOWN, getpid()) < 0) { perror("Setting SIGIO"); exit(1); } printf("Drained the pool\n"); read(fd, &n, sizeof(n)); printf("Found more randomness\n"); return(0); } Signed-off-by: Jeff Dike Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit adc782dae6c4c0f6fb679a48a544cfbcd79ae3dc Author: Matt Mackall Date: Tue Apr 29 01:03:07 2008 -0700 random: simplify and rename credit_entropy_store - emphasize bits in the name - make zero bits lock-free - simplify logic Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e68e5b664ecb9bccf68102557107a6b6d739a97c Author: Matt Mackall Date: Tue Apr 29 01:03:05 2008 -0700 random: make mixing interface byte-oriented Switch add_entropy_words to a byte-oriented interface, eliminating numerous casts and byte/word size rounding issues. This also reduces the overall bit/byte/word confusion in this code. We now mix a byte at a time into the word-based pool. This takes four times as many iterations, but should be negligible compared to hashing overhead. This also increases our pool churn, which adds some depth against some theoretical failure modes. The function name is changed to emphasize pool mixing and deemphasize entropy (the samples mixed in may not contain any). extract is added to the core function to make it clear that it extracts from the pool. Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 993ba2114c554c1561a018e5c63a771ec8e1c469 Author: Matt Mackall Date: Tue Apr 29 01:03:04 2008 -0700 random: simplify add_ptr logic The add_ptr variable wasn't used in a sensible way, use only i instead. i got reused later for a different purpose, use j instead. While we're here, put tap0 first in the tap list and add a comment. Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d38b827400d7c02bce391f90d044e4c57d5bc1e Author: Matt Mackall Date: Tue Apr 29 01:03:03 2008 -0700 random: remove some prefetch logic The urandom output pool (ie the fast path) fits in one cacheline, so this is pretty unnecessary. Further, the output path has already fetched the entire pool to hash it before calling in here. (This was the only user of prefetch_range in the kernel, and it passed in words rather than bytes!) Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit feee76972bcc54b2b1d1dc28bc6c16a8daa9aff8 Author: Matt Mackall Date: Tue Apr 29 01:03:02 2008 -0700 random: eliminate redundant new_rotate variable - eliminate new_rotate - move input_rotate masking - simplify input_rotate update - move input_rotate update to end of inner loop for readability Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 433582093a9dc5454ba03b4a7ea201d85e6aa4de Author: Matt Mackall Date: Tue Apr 29 01:03:01 2008 -0700 random: remove cacheline alignment for locks Earlier changes greatly reduce the number of times we grab the lock per output byte, so we shouldn't need this particular hack any more. Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c0ad3d492adf670e47bf0a3d65c6ba5cdee0114 Author: Matt Mackall Date: Tue Apr 29 01:03:00 2008 -0700 random: make backtracking attacks harder At each extraction, we change (poolbits / 16) + 32 bits in the pool, or 96 bits in the case of the secondary pools. Thus, a brute-force backtracking attack on the pool state is less difficult than breaking the hash. In certain cases, this difficulty may be is reduced to 2^64 iterations. Instead, hash the entire pool in one go, then feedback the whole hash (160 bits) in one go. This will make backtracking at least as hard as inverting the hash. Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ffd8d3fa5813430fe3926fe950fde23630f6b1a0 Author: Matt Mackall Date: Tue Apr 29 01:02:59 2008 -0700 random: improve variable naming, clear extract buffer - split the SHA variables apart into hash and workspace - rename data to extract - wipe extract and workspace after hashing Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53c3f63e824764da23676e5c718755ff4aac9b63 Author: Matt Mackall Date: Tue Apr 29 01:02:58 2008 -0700 random: reuse rand_initialize Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43ae4860ff4a358c29b9d364e45c2d09ad9fa067 Author: Matt Mackall Date: Tue Apr 29 01:02:58 2008 -0700 random: use unlocked_ioctl No locking actually needed. Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88c730da8c8b20fa732221725347bd9460842bac Author: Matt Mackall Date: Tue Apr 29 01:02:56 2008 -0700 random: consolidate wakeup logic Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90b75ee54666fe615ebcacfc8d8540b80afdedd5 Author: Matt Mackall Date: Tue Apr 29 01:02:55 2008 -0700 random: clean up checkpatch complaints Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0302190411c2ba79819303503999cc839d600704 Author: Adrian Bunk Date: Tue Apr 29 01:02:54 2008 -0700 remove aoedev_isbusy() Remove the no longer used aoedev_isbusy(). Signed-off-by: Adrian Bunk Cc: "Ed L. Cashin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10521bd9f74be94b83cfcf639601ece1c8e4faad Author: Robert P. J. Day Date: Tue Apr 29 01:02:54 2008 -0700 generalize asm-generic/ioctl.h to allow overriding values In the spirit of a number of other asm-generic header files, generalize asm-generic/ioctl.h to allow arch-specific ioctl.h headers to simply override _IOC_SIZEBITS and/or _IOC_DIRBITS before including this header file, allowing a number of ioctl.h header files to be shortened considerably. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 098ef1c0ea7b1b3ff9d89364af5ebc5b672cf932 Author: Robert P. J. Day Date: Tue Apr 29 01:02:52 2008 -0700 nbd: delete superfluous test for __GNUC__ Since already tests for __GNUC__, there's no point in nbd.h repeating that test. Signed-off-by: Robert P. J. Day Cc: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d71a6d7332e5881a65249f4fb97b0db3c61dd5ec Author: Laurent Vivier Date: Tue Apr 29 01:02:51 2008 -0700 NBD: add partition support Permit the use of partitions with network block devices (NBD). A new parameter is introduced to define how many partition we want to be able to manage per network block device. This parameter is "max_part". For instance, to manage 63 partitions / loop device, we will do: [on the server side] # nbd-server 1234 /dev/sdb [on the client side] # modprobe nbd max_part=63 # ls -l /dev/nbd* brw-rw---- 1 root disk 43, 0 2008-03-25 11:14 /dev/nbd0 brw-rw---- 1 root disk 43, 64 2008-03-25 11:11 /dev/nbd1 brw-rw---- 1 root disk 43, 640 2008-03-25 11:11 /dev/nbd10 brw-rw---- 1 root disk 43, 704 2008-03-25 11:11 /dev/nbd11 brw-rw---- 1 root disk 43, 768 2008-03-25 11:11 /dev/nbd12 brw-rw---- 1 root disk 43, 832 2008-03-25 11:11 /dev/nbd13 brw-rw---- 1 root disk 43, 896 2008-03-25 11:11 /dev/nbd14 brw-rw---- 1 root disk 43, 960 2008-03-25 11:11 /dev/nbd15 brw-rw---- 1 root disk 43, 128 2008-03-25 11:11 /dev/nbd2 brw-rw---- 1 root disk 43, 192 2008-03-25 11:11 /dev/nbd3 brw-rw---- 1 root disk 43, 256 2008-03-25 11:11 /dev/nbd4 brw-rw---- 1 root disk 43, 320 2008-03-25 11:11 /dev/nbd5 brw-rw---- 1 root disk 43, 384 2008-03-25 11:11 /dev/nbd6 brw-rw---- 1 root disk 43, 448 2008-03-25 11:11 /dev/nbd7 brw-rw---- 1 root disk 43, 512 2008-03-25 11:11 /dev/nbd8 brw-rw---- 1 root disk 43, 576 2008-03-25 11:11 /dev/nbd9 # nbd-client localhost 1234 /dev/nbd0 Negotiation: ..size = 80418240KB bs=1024, sz=80418240 -------NOTE, RFC: partition table is not automatically read. The driver sets bdev->bd_invalidated to 1 to force the read of the partition table of the device, but this is done only on an open of the device. So we have to do a "touch /dev/nbdX" or something like that. It can't be done from the nbd-client or nbd driver because at this level we can't ask to read the partition table and to serve the request at the same time (-> deadlock) If someone has a better idea, I'm open to any suggestion. -------NOTE, RFC # fdisk -l /dev/nbd0 Disk /dev/nbd0: 82.3 GB, 82348277760 bytes 255 heads, 63 sectors/track, 10011 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/nbd0p1 * 1 9965 80043831 83 Linux /dev/nbd0p2 9966 10011 369495 5 Extended /dev/nbd0p5 9966 10011 369463+ 82 Linux swap / Solaris # ls -l /dev/nbd0* brw-rw---- 1 root disk 43, 0 2008-03-25 11:16 /dev/nbd0 brw-rw---- 1 root disk 43, 1 2008-03-25 11:16 /dev/nbd0p1 brw-rw---- 1 root disk 43, 2 2008-03-25 11:16 /dev/nbd0p2 brw-rw---- 1 root disk 43, 5 2008-03-25 11:16 /dev/nbd0p5 # mount /dev/nbd0p1 /mnt # ls /mnt bin dev initrd lost+found opt sbin sys var boot etc initrd.img media proc selinux tmp vmlinuz cdrom home lib mnt root srv usr # umount /mnt # nbd-client -d /dev/nbd0 # ls -l /dev/nbd0* brw-rw---- 1 root disk 43, 0 2008-03-25 11:16 /dev/nbd0 -------NOTE On "nbd-client -d", we can do an iocl(BLKRRPART) to update partition table: as the size of the device is 0, we don't have to serve the partition manager request (-> no deadlock). -------NOTE Signed-off-by: Paul Clements Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48cf6061b30205b29b306bf9bc22dd6f0b091461 Author: Laurent Vivier Date: Tue Apr 29 01:02:46 2008 -0700 NBD: allow nbd to be used locally This patch allows Network Block Device to be mounted locally (nbd-client to nbd-server over 127.0.0.1). It creates a kthread to avoid the deadlock described in NBD tools documentation. So, if nbd-client hangs waiting for pages, the kblockd thread can continue its work and free pages. I have tested the patch to verify that it avoids the hang that always occurs when writing to a localhost nbd connection. I have also tested to verify that no performance degradation results from the additional thread and queue. Patch originally from Laurent Vivier. Signed-off-by: Paul Clements Signed-off-by: Laurent Vivier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c4dd6068221cd1d0d90490ace80eb4344914a8c Author: Tim Gardner Date: Tue Apr 29 01:02:45 2008 -0700 edd: add default mode CONFIG_EDD_OFF=n, override with edd={on,off} Add a kernel parameter option to 'edd' to enable/disable BIOS Enhanced Disk Drive Services. CONFIG_EDD_OFF disables EDD while still compiling EDD into the kernel. Default behavior can be forced using 'edd=on' or 'edd=off' as a kernel parameter. [akpm@linux-foundation.org: fix kernel-parameters.txt] Signed-off-by: Tim Gardner Signed-off-by: Matt Domsch Cc: "H. Peter Anvin" Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7321cd62470b70d2717dae5a963e7a8fabff4d5 Author: Pavel Emelyanov Date: Tue Apr 29 01:02:44 2008 -0700 sysctl: add the ->permissions callback on the ctl_table_root When reading from/writing to some table, a root, which this table came from, may affect this table's permissions, depending on who is working with the table. The core hunk is at the bottom of this patch. All the rest is just pushing the ctl_table_root argument up to the sysctl_perm() function. This will be mostly (only?) used in the net sysctls. Signed-off-by: Pavel Emelyanov Acked-by: David S. Miller Cc: "Eric W. Biederman" Cc: Alexey Dobriyan Cc: Denis V. Lunev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c4c7155f25192da3511a6c911db4d08102d36c4 Author: Pavel Emelyanov Date: Tue Apr 29 01:02:41 2008 -0700 sysctl: clean from unneeded extern and forward declarations The do_sysctl_strategy isn't used outside kernel/sysctl.c, so this can be static and without a prototype in header. Besides, move this one and parse_table() above their callers and drop the forward declarations of the latter call. One more "besides" - fix two checkpatch warnings: space before a ( and an extra space at the end of a line. Signed-off-by: Pavel Emelyanov Acked-by: David S. Miller Cc: "Eric W. Biederman" Cc: Alexey Dobriyan Cc: Denis V. Lunev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7708bfb1c855f2a076ef71cc21647deea022ebe7 Author: Pavel Emelyanov Date: Tue Apr 29 01:02:40 2008 -0700 sysctl: merge equal proc_sys_read and proc_sys_write Many (most of) sysctls do not have a per-container sense. E.g. kernel.print_fatal_signals, vm.panic_on_oom, net.core.netdev_budget and so on and so forth. Besides, tuning then from inside a container is not even secure. On the other hand, hiding them completely from the container's tasks sometimes causes user-space to stop working. When developing net sysctl, the common practice was to duplicate a table and drop the write bits in table->mode, but this approach was not very elegant, lead to excessive memory consumption and was not suitable in general. Here's the alternative solution. To facilitate the per-container sysctls ctl_table_root-s were introduced. Each root contains a list of ctl_table_header-s that are visible to different namespaces. The idea of this set is to add the permissions() callback on the ctl_table_root to allow ctl root limit permissions to the same ctl_table-s. The main user of this functionality is the net-namespaces code, but later this will (should) be used by more and more namespaces, containers and control groups. Actually, this idea's core is in a single hunk in the third patch. First two patches are cleanups for sysctl code, while the third one mostly extends the arguments set of some sysctl functions. This patch: These ->read and ->write callbacks act in a very similar way, so merge these paths to reduce the number of places to patch later and shrink the .text size (a bit). Signed-off-by: Pavel Emelyanov Acked-by: "David S. Miller" Cc: "Eric W. Biederman" Cc: Alexey Dobriyan Cc: Denis V. Lunev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a46674b996bf9a15f0333178f5829ca2d7c32e2 Author: Adrian Bunk Date: Tue Apr 29 01:02:38 2008 -0700 include/linux/sysctl.h: remove empty #else Remove an empty #else. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88f458e4b91348b2e892c72977b5f665d7f374da Author: Holger Schurig Date: Tue Apr 29 01:02:36 2008 -0700 sysctl: allow embedded targets to disable sysctl_check.c Disable sysctl_check.c for embedded targets. This saves about about 11 kB in .text and another 11 kB in .data on a PXA255 embedded platform. Signed-off-by: Holger Schurig Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7705f3449c7edd5c1744871097f93977227afc4 Author: Denis V. Lunev Date: Tue Apr 29 01:02:35 2008 -0700 drivers: use non-racy method for proc entries creation (2) Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Greg Kroah-Hartman Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Peter Osterlund Cc: Bartlomiej Zolnierkiewicz Cc: Dmitry Torokhov Cc: Neil Brown Cc: Mauro Carvalho Chehab Cc: Bjorn Helgaas Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b50221738108c438d5f25c7a043fb89e9e27044 Author: Denis V. Lunev Date: Tue Apr 29 01:02:34 2008 -0700 drivers: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Acked-by: Greg Kroah-Hartman Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Acked-by: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0fd689468231cb5eee9cc5d6331081b77c7a7a76 Author: Denis V. Lunev Date: Tue Apr 29 01:02:32 2008 -0700 parisc: use non-racy method for proc entries creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c33fff0afbef4f0467c99e3f47ee7e98ae78c77e Author: Denis V. Lunev Date: Tue Apr 29 01:02:31 2008 -0700 kernel: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac41cfd19bf77424519b962f8205ede51fceaac6 Author: Denis V. Lunev Date: Tue Apr 29 01:02:30 2008 -0700 isdn: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Add correct ->owner to proc_fops to fix reading/module unloading race. Signed-off-by: Denis V. Lunev Acked-by: Karsten Keil Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a95609cb0283a23e519e607ff9fc2a4aa77e2532 Author: Denis V. Lunev Date: Tue Apr 29 01:02:29 2008 -0700 netdev: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Jeff Garzik Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf7acfab032ff262f42954328cdfd20a5d9aaaac Author: Denis V. Lunev Date: Tue Apr 29 01:02:27 2008 -0700 acpi: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Add correct ->owner to proc_fops to fix reading/module unloading race. Signed-off-by: Denis V. Lunev Cc: Len Brown Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 667471386d4068e75a6a55b615701ced61eb6333 Author: Denis V. Lunev Date: Tue Apr 29 01:02:26 2008 -0700 powerpc: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Add correct ->owner to proc_fops to fix reading/module unloading race. Signed-off-by: Denis V. Lunev Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f1c86ec315711d21666751b0bdae69ce2c6d589 Author: Denis V. Lunev Date: Tue Apr 29 01:02:25 2008 -0700 parisc: use non-racy method for /proc/pcxl_dma creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e23637681bef5b69a68c8ac399732b941f1af023 Author: Denis V. Lunev Date: Tue Apr 29 01:02:25 2008 -0700 ia64: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Tony Luck Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c293819a3caa77d96b801a7795f81a5913ec21d7 Author: Denis V. Lunev Date: Tue Apr 29 01:02:23 2008 -0700 cris: use non-racy method for /proc/system_profile creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Mikael Starvik Cc: Jesper Nilsson Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d9f10f4eb65797cf2d238836f7439045a37722e Author: Denis V. Lunev Date: Tue Apr 29 01:02:22 2008 -0700 avr32: proc: use non-racy method for /proc/tlb creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Haavard Skinnemoen Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40ad35d34fa62097b4664c7c1690cbe404d73744 Author: Denis V. Lunev Date: Tue Apr 29 01:02:21 2008 -0700 arm: use non-racy method for /proc/davinci_clocks creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Russell King Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b594007c381b01464358bc4b89bfb85ec7f076a Author: Denis V. Lunev Date: Tue Apr 29 01:02:20 2008 -0700 s390: use non-racy method for proc entries creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdefa185dda6b2b267f088a7477e96d845bdc6c1 Author: Denis V. Lunev Date: Tue Apr 29 01:02:19 2008 -0700 usb: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Acked-by: Greg Kroah-Hartman Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a973909fc32be90884280b7a8cd2f2e093c97890 Author: Denis V. Lunev Date: Tue Apr 29 01:02:17 2008 -0700 scsi: use non-racy method for proc entries creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Add correct ->owner to proc_fops to fix reading/module unloading race. Signed-off-by: Denis V. Lunev Cc: Greg Kroah-Hartman Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16e70f64a9358133a14872eb72cf39b6f38b6212 Author: Denis V. Lunev Date: Tue Apr 29 01:02:16 2008 -0700 samples: use non-racy method for /proc/marker-example creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Mathieu Desnoyers Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 659f865ea65a60564ce00a0c571099d1fa55e8e3 Author: Denis V. Lunev Date: Tue Apr 29 01:02:16 2008 -0700 zorro: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Add correct ->owner to proc_fops to fix reading/module unloading race. Signed-off-by: Denis V. Lunev Cc: Geert Uytterhoeven Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bf4e6d3e948e38893c718fa9c5bd0dfbfa49670 Author: Denis V. Lunev Date: Tue Apr 29 01:02:13 2008 -0700 sound: use non-racy method for /proc/driver/snd-page-alloc creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Jaroslav Kysela Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d71f86f4dfccd749e4421f10301f3f3b31da88a Author: Denis V. Lunev Date: Tue Apr 29 01:02:13 2008 -0700 mm: use non-racy method for /proc/swaps creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a6375db13703b42dd51b28576d444bb73c541b9 Author: Denis V. Lunev Date: Tue Apr 29 01:02:12 2008 -0700 sysvipc: use non-racy method for proc entries creation Use proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Nadia Derbey Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79da3664f61640057041bf172b1457e2d1969330 Author: Denis V. Lunev Date: Tue Apr 29 01:02:11 2008 -0700 jbd2: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19b4fc52d63b77adf700a215bfbabd680a8f1718 Author: Denis V. Lunev Date: Tue Apr 29 01:02:09 2008 -0700 reiserfs: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. /proc entry owner is also added. Signed-off-by: Denis V. Lunev Cc: Jeff Mahoney Cc: Chris Mason Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46fe74f2aed615c8c88164f4346b79c30cfd7c3d Author: Denis V. Lunev Date: Tue Apr 29 01:02:08 2008 -0700 ext4: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21ac295b42b8bdc3d677aba6bd7308a38de28a9b Author: Denis V. Lunev Date: Tue Apr 29 01:02:07 2008 -0700 afs: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Acked-by: David Howells Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34b37235c60fd23e4075da475c7bb22e6c7a466e Author: Denis V. Lunev Date: Tue Apr 29 01:02:07 2008 -0700 nfs: use proc_create to setup de->proc_fops Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: "J. Bruce Fields" Cc: Trond Myklebust Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ef2db2630652d68dfd336088648adae7ef0bcd4 Author: Denis V. Lunev Date: Tue Apr 29 01:02:04 2008 -0700 nfsd: use proc_create to setup de->proc_fops Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59b7435149eab2dd06dd678742faff6049cb655f Author: Denis V. Lunev Date: Tue Apr 29 01:02:00 2008 -0700 proc: introduce proc_create_data to setup de->data This set of patches fixes an proc ->open'less usage due to ->proc_fops flip in the most part of the kernel code. The original OOPS is described in the commit 2d3a4e3666325a9709cc8ea2e88151394e8f20fc: Typical PDE creation code looks like: pde = create_proc_entry("foo", 0, NULL); if (pde) pde->proc_fops = &foo_proc_fops; Notice that PDE is first created, only then ->proc_fops is set up to final value. This is a problem because right after creation a) PDE is fully visible in /proc , and b) ->proc_fops are proc_file_operations which do not have ->open callback. So, it's possible to ->read without ->open (see one class of oopses below). The fix is new API called proc_create() which makes sure ->proc_fops are set up before gluing PDE to main tree. Typical new code looks like: pde = proc_create("foo", 0, NULL, &foo_proc_fops); if (!pde) return -ENOMEM; Fix most networking users for a start. In the long run, create_proc_entry() for regular files will go. In addition to this, proc_create_data is introduced to fix reading from proc without PDE->data. The race is basically the same as above. create_proc_entries is replaced in the entire kernel code as new method is also simply better. This patch: The problem is the same as for de->proc_fops. Right now PDE becomes visible without data set. So, the entry could be looked up without data. This, in most cases, will simply OOPS. proc_create_data call is created to address this issue. proc_create now becomes a wrapper around it. Signed-off-by: Denis V. Lunev Cc: "Eric W. Biederman" Cc: "J. Bruce Fields" Cc: Alessandro Zummo Cc: Alexey Dobriyan Cc: Bartlomiej Zolnierkiewicz Cc: Benjamin Herrenschmidt Cc: Bjorn Helgaas Cc: Chris Mason Acked-by: David Howells Cc: Dmitry Torokhov Cc: Geert Uytterhoeven Cc: Grant Grundler Cc: Greg Kroah-Hartman Cc: Haavard Skinnemoen Cc: Heiko Carstens Cc: Ingo Molnar Cc: James Bottomley Cc: Jaroslav Kysela Cc: Jeff Garzik Cc: Jeff Mahoney Cc: Jesper Nilsson Cc: Karsten Keil Cc: Kyle McMartin Cc: Len Brown Cc: Martin Schwidefsky Cc: Mathieu Desnoyers Cc: Matthew Wilcox Cc: Mauro Carvalho Chehab Cc: Mikael Starvik Cc: Nadia Derbey Cc: Neil Brown Cc: Paul Mackerras Cc: Peter Osterlund Cc: Pierre Peiffer Cc: Russell King Cc: Takashi Iwai Cc: Tony Luck Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b640a89ddd742782bd2d83873da30d4776d1b9c6 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:58 2008 -0700 proc: convert /proc/tty/ldiscs to seq_file interface Note: THIS_MODULE and header addition aren't technically needed because this code is not modular, but let's keep it anyway because people can copy this code into modular code. Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8731f14d37825b54ad0c4c309cba2bc8fdf13a86 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:58 2008 -0700 proc: remove ->get_info infrastructure Now that last dozen or so users of ->get_info were removed, ditch it too. Everyone sane shouldd have switched to seq_file interface long ago. P.S.: Co-existing 3 interfaces (->get_info/->read_proc/->proc_fops) for proc is long-standing crap, BTW, thus a) put ->read_proc/->write_proc/read_proc_entry() users on death row, b) new such users should be rejected, c) everyone is encouraged to convert his favourite ->read_proc user or I'll do it, lazy bastards. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 352ced8e594091d74b92da9bcf07aea81d37ac55 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:55 2008 -0700 proc: switch /proc/scsi/device_info to seq_file interface Note 1: 0644 should be used, but root bypasses permissions, so writing to /proc/scsi/device_info still works. Note 2: looks like scsi_dev_info_list is unprotected Note 3: probably make proc whine about "unwriteable but with ->write hook" entries. Probably. Signed-off-by: Alexey Dobriyan Cc: James Bottomley Cc: Mike Christie Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a5cdb5b8f10998603e1e44adec1e56c234babfe Author: Alexey Dobriyan Date: Tue Apr 29 01:01:55 2008 -0700 proc: switch /proc/ip2mem to seq_file interface /******************************************/ /* Remove useless comment, while I am it. */ /******************************************/ Signed-off-by: Alexey Dobriyan Cc: Greg Kroah-Hartman Cc: Jeff Garzik Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 076ec04b8ac84a04df67840f15f36218d7519510 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:54 2008 -0700 proc: convert /proc/bus/nubus to seq_file interface Signed-off-by: Alexey Dobriyan Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ae02d6bc1c1b3784fec9e9e016e7e3dcc2f8727 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:52 2008 -0700 proc: switch /proc/irda/irnet to seq_file interface Probably interface misuse, because of the way iterating over hashbin is done. However! Printing of socket number ("IrNET socket %d - ", i++") made conversion to proper ->start/->next difficult enough to do blindly without hardware. Said that, please apply. Remove useless comment while I am it. Signed-off-by: Alexey Dobriyan Cc: Samuel Ortiz Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4bd61f76a5353df272d5c7232bf0928f6e4a9531 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:50 2008 -0700 proc: switch /proc/excite/unit_id to seq_file interface Signed-off-by: Alexey Dobriyan Cc: Ralf Baechle Cc: Thomas Koeller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b0012126ae191c90c88df4b535b0f2ade70ecb6 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:49 2008 -0700 proc: switch /proc/bus/ecard/devices to seq_file interface Signed-off-by: Alexey Dobriyan Acked-by: Russell King Cc: Yani Ioannou Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51251549140f99cc5fbfed8ac542f22cbf067870 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:47 2008 -0700 proc: remove /proc/mac_iop Entry creation was commented for a long time and right now it stands on the way of ->get_info removal, so unless nobody objects... Signed-off-by: Alexey Dobriyan Cc: Simon Arlott Cc: Roman Zippel Cc: Joern Engel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 647634df400ed26e2707ef65a8bf0df3f3bb8663 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:46 2008 -0700 proc: switch /proc/apm to seq_file interface Signed-off-by: Alexey Dobriyan Cc: Rafael J. Wysocki Cc: Ralf Baechle Cc: Len Brown Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8331438b38b07b97dbbb9049aa90a0d6ce5da03b Author: Alexey Dobriyan Date: Tue Apr 29 01:01:45 2008 -0700 proc: switch /proc/bus/zorro/devices to seq_file interface Signed-off-by: Alexey Dobriyan Cc: Josef Sipek Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c74c120a21d87b0b6925ada5830d8cac21e852d9 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:44 2008 -0700 proc: remove proc_root from drivers Remove proc_root export. Creation and removal works well if parent PDE is supplied as NULL -- it worked always that way. So, one useless export removed and consistency added, some drivers created PDEs with &proc_root as parent but removed them as NULL and so on. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 928b4d8c8963e75bdb133f562b03b07f9aa4844a Author: Alexey Dobriyan Date: Tue Apr 29 01:01:44 2008 -0700 proc: remove proc_root_driver Use creation by full path: "driver/foo". Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36a5aeb8787fbf92510ed20d806e229c55726f93 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:42 2008 -0700 proc: remove proc_root_fs Use creation by full path instead: "fs/foo". Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c37066d888bf6e1b96ad12304971b3ddeabbad0 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:41 2008 -0700 proc: remove proc_bus Remove proc_bus export and variable itself. Using pathnames works fine and is slightly more understandable and greppable. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e971dce0b2f6896e02372512df0d1fb0bfe2d55 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:41 2008 -0700 proc: drop several "PDE valid/invalid" checks proc-misc code is noticeably full of "if (de)" checks when PDE passed is always valid. Remove them. Addition of such check in proc_lookup_de() is for failed lookup case. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7cee4e00e0f8aa7290266382ea903a5a1b92c9a1 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:40 2008 -0700 proc: less special case in xlate code If valid "parent" is passed to proc_create/remove_proc_entry(), then name of PDE should consist of only one path component, otherwise creation or or removal will fail. However, if NULL is passed as parent then create/remove accept full path as a argument. This is arbitrary restriction -- all infrastructure is in place. So, patch allows the following to succeed: create_proc_entry("foo/bar", 0, pde_baz); remove_proc_entry("baz/foo/bar", &proc_root); Also makes the following to behave identically: create_proc_entry("foo/bar", 0, NULL); create_proc_entry("foo/bar", 0, &proc_root); Discrepancy noticed by Den Lunev (IIRC). Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f649d6d32605c7573884613289fb3b9fbd4f99a1 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:39 2008 -0700 proc: simplify locking in remove_proc_entry() proc_subdir_lock protects only modifying and walking through PDE lists, so after we've found PDE to remove and actually removed it from lists, there is no need to hold proc_subdir_lock for the rest of operation. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 638fa202cdb207083a12d6f73e313605a8fc1037 Author: Roland McGrath Date: Tue Apr 29 01:01:38 2008 -0700 procfs: mem permission cleanup This cleans up the permission checks done for /proc/PID/mem i/o calls. It puts all the logic in a new function, check_mem_permission(). The old code repeated the (!MAY_PTRACE(task) || !ptrace_may_attach(task)) magical expression multiple times. The new function does all that work in one place, with clear comments. The old code called security_ptrace() twice on successful checks, once in MAY_PTRACE() and once in __ptrace_may_attach(). Now it's only called once, and only if all other checks have succeeded. Signed-off-by: Roland McGrath Cc: Alexey Dobriyan Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d5c9f5f59a61cf8e98e2925cb5d81cbe7694305 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:37 2008 -0700 proc: switch to proc_create() Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 925d1c401fa6cfd0df5d2e37da8981494ccdec07 Author: Matt Helsley Date: Tue Apr 29 01:01:36 2008 -0700 procfs task exe symlink The kernel implements readlink of /proc/pid/exe by getting the file from the first executable VMA. Then the path to the file is reconstructed and reported as the result. Because of the VMA walk the code is slightly different on nommu systems. This patch avoids separate /proc/pid/exe code on nommu systems. Instead of walking the VMAs to find the first executable file-backed VMA we store a reference to the exec'd file in the mm_struct. That reference would prevent the filesystem holding the executable file from being unmounted even after unmapping the VMAs. So we track the number of VM_EXECUTABLE VMAs and drop the new reference when the last one is unmapped. This avoids pinning the mounted filesystem. [akpm@linux-foundation.org: improve comments] [yamamoto@valinux.co.jp: fix dup_mmap] Signed-off-by: Matt Helsley Cc: Oleg Nesterov Cc: David Howells Cc:"Eric W. Biederman" Cc: Christoph Hellwig Cc: Al Viro Cc: Hugh Dickins Signed-off-by: YAMAMOTO Takashi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e93b4ea20adb20f1f1f07f10ba5d7dd739d2843e Author: Alexey Dobriyan Date: Tue Apr 29 01:01:35 2008 -0700 proc: print more information when removing non-empty directories This usually saves one recompile to insert similar printk like below. :) Sample nastygram: remove_proc_entry: removing non-empty directory '/proc/foo', leaking at least 'bar' ------------[ cut here ]------------ WARNING: at fs/proc/generic.c:776 remove_proc_entry+0x18a/0x200() Modules linked in: foo(-) container fan battery dock sbs ac sbshc backlight ipv6 loop af_packet amd_rng sr_mod i2c_amd8111 i2c_amd756 cdrom i2c_core button thermal processor Pid: 3034, comm: rmmod Tainted: G M 2.6.25-rc1 #5 Call Trace: [] warn_on_slowpath+0x64/0x90 [] printk+0x4e/0x60 [] remove_proc_entry+0x18a/0x200 [] mutex_lock_nested+0x1c8/0x2d0 [] __try_stop_module+0x0/0x40 [] sys_delete_module+0x14d/0x200 [] lockdep_sys_exit_thunk+0x35/0x67 [] __up_read+0x27/0xa0 [] trace_hardirqs_on_thunk+0x35/0x3a [] system_call_after_swapgs+0x7b/0x80 ---[ end trace 10ef850597e89c54 ]--- Signed-off-by: Alexey Dobriyan Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7249db2c281ac688977ecc6862cdee9969d310e2 Author: David Howells Date: Tue Apr 29 01:01:34 2008 -0700 keys: make key_serial() a function if CONFIG_KEYS=y Make key_serial() an inline function rather than a macro if CONFIG_KEYS=y. This prevents double evaluation of the key pointer and also provides better type checking. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fdb89bce6c9ccb17dae13ec43a25d2fdd405233f Author: Robert P. J. Day Date: Tue Apr 29 01:01:32 2008 -0700 keys: explicitly include required slab.h header file. Since these two source files invoke kmalloc(), they should explicitly include . Signed-off-by: Robert P. J. Day Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b77f5bfb45c13e1e5142374f9d6ca75292252a4 Author: David Howells Date: Tue Apr 29 01:01:32 2008 -0700 keys: make the keyring quotas controllable through /proc/sys Make the keyring quotas controllable through /proc/sys files: (*) /proc/sys/kernel/keys/root_maxkeys /proc/sys/kernel/keys/root_maxbytes Maximum number of keys that root may have and the maximum total number of bytes of data that root may have stored in those keys. (*) /proc/sys/kernel/keys/maxkeys /proc/sys/kernel/keys/maxbytes Maximum number of keys that each non-root user may have and the maximum total number of bytes of data that each of those users may have stored in their keys. Also increase the quotas as a number of people have been complaining that it's not big enough. I'm not sure that it's big enough now either, but on the other hand, it can now be set in /etc/sysctl.conf. Signed-off-by: David Howells Cc: Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69664cf16af4f31cd54d77948a4baf9c7e0ca7b9 Author: David Howells Date: Tue Apr 29 01:01:31 2008 -0700 keys: don't generate user and user session keyrings unless they're accessed Don't generate the per-UID user and user session keyrings unless they're explicitly accessed. This solves a problem during a login process whereby set*uid() is called before the SELinux PAM module, resulting in the per-UID keyrings having the wrong security labels. This also cures the problem of multiple per-UID keyrings sometimes appearing due to PAM modules (including pam_keyinit) setuiding and causing user_structs to come into and go out of existence whilst the session keyring pins the user keyring. This is achieved by first searching for extant per-UID keyrings before inventing new ones. The serial bound argument is also dropped from find_keyring_by_name() as it's not currently made use of (setting it to 0 disables the feature). Signed-off-by: David Howells Cc: Cc: Cc: Cc: Stephen Smalley Cc: James Morris Cc: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b79ccb5144f9ffb4d4596c23e7570238dd12abc Author: Arun Raghavan Date: Tue Apr 29 01:01:28 2008 -0700 keys: allow clients to set key perms in key_create_or_update() The key_create_or_update() function provided by the keyring code has a default set of permissions that are always applied to the key when created. This might not be desirable to all clients. Here's a patch that adds a "perm" parameter to the function to address this, which can be set to KEY_PERM_UNDEF to revert to the current behaviour. Signed-off-by: Arun Raghavan Signed-off-by: David Howells Cc: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da91d2ef9fe4fd84cc0a8a729201d38e40ac9f2e Author: Alexey Dobriyan Date: Tue Apr 29 01:01:27 2008 -0700 keys: switch to proc_create() Signed-off-by: Alexey Dobriyan Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70a5bb72b55e82fbfbf1e22cae6975fac58a1e2d Author: David Howells Date: Tue Apr 29 01:01:26 2008 -0700 keys: add keyctl function to get a security label Add a keyctl() function to get the security label of a key. The following is added to Documentation/keys.txt: (*) Get the LSM security context attached to a key. long keyctl(KEYCTL_GET_SECURITY, key_serial_t key, char *buffer, size_t buflen) This function returns a string that represents the LSM security context attached to a key in the buffer provided. Unless there's an error, it always returns the amount of data it could produce, even if that's too big for the buffer, but it won't copy more than requested to userspace. If the buffer pointer is NULL then no copy will take place. A NUL character is included at the end of the string if the buffer is sufficiently big. This is included in the returned count. If no LSM is in force then an empty string will be returned. A process must have view permission on the key for this function to be successful. [akpm@linux-foundation.org: declare keyctl_get_security()] Signed-off-by: David Howells Acked-by: Stephen Smalley Cc: Paul Moore Cc: Chris Wright Cc: James Morris Cc: Kevin Coffman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a38e122e2cc6294779021ff4ccc784a3997059e Author: David Howells Date: Tue Apr 29 01:01:24 2008 -0700 keys: allow the callout data to be passed as a blob rather than a string Allow the callout data to be passed as a blob rather than a string for internal kernel services that call any request_key_*() interface other than request_key(). request_key() itself still takes a NUL-terminated string. The functions that change are: request_key_with_auxdata() request_key_async() request_key_async_with_auxdata() Signed-off-by: David Howells Cc: Paul Moore Cc: Chris Wright Cc: Stephen Smalley Cc: James Morris Cc: Kevin Coffman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dceba9944181b1fd5993417b5c8fa0e3dda38f8d Author: Kevin Coffman Date: Tue Apr 29 01:01:22 2008 -0700 keys: check starting keyring as part of search Check the starting keyring as part of the search to (a) see if that is what we're searching for, and (b) to check it is still valid for searching. The scenario: User in process A does things that cause things to be created in its process session keyring. The user then does an su to another user and starts a new process, B. The two processes now share the same process session keyring. Process B does an NFS access which results in an upcall to gssd. When gssd attempts to instantiate the context key (to be linked into the process session keyring), it is denied access even though it has an authorization key. The order of calls is: keyctl_instantiate_key() lookup_user_key() (the default: case) search_process_keyrings(current) search_process_keyrings(rka->context) (recursive call) keyring_search_aux() keyring_search_aux() verifies the keys and keyrings underneath the top-level keyring it is given, but that top-level keyring is neither fully validated nor checked to see if it is the thing being searched for. This patch changes keyring_search_aux() to: 1) do more validation on the top keyring it is given and 2) check whether that top-level keyring is the thing being searched for Signed-off-by: Kevin Coffman Signed-off-by: David Howells Cc: Paul Moore Cc: Chris Wright Cc: Stephen Smalley Cc: James Morris Cc: Kevin Coffman Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38bbca6b6f164e08a4a9cdfd719fff679af98375 Author: David Howells Date: Tue Apr 29 01:01:19 2008 -0700 keys: increase the payload size when instantiating a key Increase the size of a payload that can be used to instantiate a key in add_key() and keyctl_instantiate_key(). This permits huge CIFS SPNEGO blobs to be passed around. The limit is raised to 1MB. If kmalloc() can't allocate a buffer of sufficient size, vmalloc() will be tried instead. Signed-off-by: David Howells Cc: Paul Moore Cc: Chris Wright Cc: Stephen Smalley Cc: James Morris Cc: Kevin Coffman Cc: Steven French Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4220b7fe89f8c0623e09168ab81dd0da2fdadd72 Author: WANG Cong Date: Tue Apr 29 01:01:18 2008 -0700 elf: fix shadowed variables in fs/binfmt_elf.c Fix these sparse warings: fs/binfmt_elf.c:1749:29: warning: symbol 'tmp' shadows an earlier one fs/binfmt_elf.c:1734:28: originally declared here fs/binfmt_elf.c:2009:26: warning: symbol 'vma' shadows an earlier one fs/binfmt_elf.c:1892:24: originally declared here [akpm@linux-foundation.org: chose better variable name] Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6970c8eff85dd450e7eff69dad710dcf594b1bb8 Author: Cyrill Gorcunov Date: Tue Apr 29 01:01:18 2008 -0700 BINFMT: fill_elf_header cleanup - use straight memset first This patch does simplify fill_elf_header function by setting to zero the whole elf header first. So we fillup the fields we really need only. before: text data bss dec hex filename 11735 80 0 11815 2e27 fs/binfmt_elf.o after: text data bss dec hex filename 11710 80 0 11790 2e0e fs/binfmt_elf.o viola, 25 bytes of text is freed Signed-off-by: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb6900fbfa43cb50391b80b38608e25280705693 Author: Cyrill Gorcunov Date: Tue Apr 29 01:01:17 2008 -0700 ELF: Use EI_NIDENT instead of numeric value Signed-off-by: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit adf535eeaca9e3963698df7bc5b4634d6d07f809 Author: Adrian Bunk Date: Tue Apr 29 01:01:17 2008 -0700 ipmi: fix return from atca_oem_poweroff_hook A void returning function returned the return value of another void returning function... Spotted by sparse. Signed-off-by: Adrian Bunk Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74006309c7f09c893c18cbb6f0e19137edd04239 Author: Adrian Bunk Date: Tue Apr 29 01:01:14 2008 -0700 ipmi: make alloc_recv_msg static Make the needlessly global ipmi_alloc_recv_msg() static. Signed-off-by: Adrian Bunk Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66ec2d778657b1a58ad26d0bc3b39b92bca69b53 Author: Robert P. J. Day Date: Tue Apr 29 01:01:14 2008 -0700 ipmi: make comment match actual preprocessor check Signed-off-by: Robert P. J. Day Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa68be0def375c78f723a7d49221f8f6c8194f29 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:13 2008 -0700 ipmi: remove ->write_proc code IPMI code theoretically allows ->write_proc users, but nobody uses this thus far. Signed-off-by: Alexey Dobriyan Acked-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95c0ba892470a8f95b3dd3938a722ff64229aed1 Author: Denis Cheng Date: Tue Apr 29 01:01:13 2008 -0700 ipmi: remove unused target and action in Makefile Kbuild system handles this automatically. Signed-off-by: Denis Cheng Cc: Corey Minyard Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36c7dc44409ecc4631de25a66f13d67873cfd563 Author: Corey Minyard Date: Tue Apr 29 01:01:12 2008 -0700 IPMI: Style fixes in the misc code Lots of style fixes for the miscellaneous IPMI files. No functional changes. Basically fixes everything reported by checkpatch and fixes the comment style. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c305e3d38e5f54a48a4618496cdc1ada970ebf68 Author: Corey Minyard Date: Tue Apr 29 01:01:10 2008 -0700 IPMI: Style fixes in the system interface code Lots of style fixes for the IPMI system interface driver. No functional changes. Basically fixes everything reported by checkpatch and fixes the comment style. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Corey Minyard Cc: Rocky Craig Cc: Hannes Schulz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c70d749986f6f1d4e2bb008bfc0c5fc22ec3fc64 Author: Corey Minyard Date: Tue Apr 29 01:01:09 2008 -0700 ipmi: style fixes in the base code Lots of style fixes for the base IPMI driver. No functional changes. Basically fixes everything reported by checkpatch and fixes the comment style. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba8ff1c61eb119e687b06ca35f7f4ab041bf0422 Author: Corey Minyard Date: Tue Apr 29 01:01:08 2008 -0700 IPMI: Convert system interface defines to an enum Convert the #defines for statistics into an enum in the IPMI system interface and remove the unused timeout_restart statistic. And comment what these statistics mean. Signed-off-by: Corey Minyard Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64959e2d47dead81c6e3ce4864d629d6375e07e2 Author: Corey Minyard Date: Tue Apr 29 01:01:07 2008 -0700 ipmi: convert locked counters to atomics in the system interface Atomics are faster and neater than locked counters. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73f2bdb975751eb11de0df1970710e6c40badc26 Author: Corey Minyard Date: Tue Apr 29 01:01:06 2008 -0700 IPMI: convert message handler defines to an enum Convert the #defines for statistics into an enum in the IPMI message handler. Signed-off-by: Corey Minyard Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2655f2615e92e92ca3d55132b32776f1fe1a05c Author: Konstantin Baydarov Date: Tue Apr 29 01:01:05 2008 -0700 ipmi: convert locked counters to atomics Atomics are a lot more efficient and neat than using a lock. Signed-off-by: Konstantin Baydarov Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7caa1b51fa526586c9d9a4582b5f8af440909d7 Author: Corey Minyard Date: Tue Apr 29 01:01:04 2008 -0700 ipmi: update driver version Enough bug fixes and changes that we need a new driver version. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87ebd06f2f362acc3fd866f28a917b53c0ff560a Author: Corey Minyard Date: Tue Apr 29 01:01:04 2008 -0700 ipmi: don't print event queue full on every event Don't print out that the event queue is full on every event, only print something out when it becomes full or becomes not full. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5956dce1485efe3816febc24aa52490dcb2be837 Author: Konstantin Baydarov Date: Tue Apr 29 01:01:03 2008 -0700 ipmi: don't grab locks in run-to-completion mode This patch prevents deadlocks in IPMI panic handler caused by msg_lock in smi_info structure and waiting_msgs_lock in ipmi_smi structure. [cminyard@mvista.com: remove unnecessary memory barriers] Signed-off-by: Konstantin Baydarov Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bda4c30aa6f7dc1483f39ea1dfe37bcab8a96207 Author: Corey Minyard Date: Tue Apr 29 01:01:02 2008 -0700 ipmi: run to completion fixes The "run_to_completion" mode was somewhat broken. Locks need to be avoided in run_to_completion mode, and it shouldn't be used by normal users, just internally for panic situations. This patch removes locks in run_to_completion mode and removes the user call for setting the mode. The only user was the poweroff code, but it was easily converted to use the polling interface. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ea18425436e7c72716b7f8d314775f399821195 Author: Corey Minyard Date: Tue Apr 29 01:01:01 2008 -0700 ipmi: hold ATTN until upper layer ready Hold handling of ATTN until the upper layer has reported that it is ready. Signed-off-by: Corey Minyard Cc: Patrick Schoeller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02fdb36ae7f55db7757b623acd27a62d5000d755 Author: Serge E. Hallyn Date: Tue Apr 29 01:01:00 2008 -0700 ipc: sysvsem: refuse clone(CLONE_SYSVSEM|CLONE_NEWIPC) CLONE_NEWIPC|CLONE_SYSVSEM interaction isn't handled properly. This can cause a kernel memory corruption. CLONE_NEWIPC must detach from the existing undo lists. Fix, part 3: refuse clone(CLONE_SYSVSEM|CLONE_NEWIPC). With unshare, specifying CLONE_SYSVSEM means unshare the sysvsem. So it seems reasonable that CLONE_NEWIPC without CLONE_SYSVSEM would just imply CLONE_SYSVSEM. However with clone, specifying CLONE_SYSVSEM means *share* the sysvsem. So calling clone(CLONE_SYSVSEM|CLONE_NEWIPC) is explicitly asking for something we can't allow. So return -EINVAL in that case. [akpm@linux-foundation.org: cleanups] Signed-off-by: Serge E. Hallyn Cc: Manfred Spraul Acked-by: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Michael Kerrisk Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6013f67fc1a4c7fa5bcab2d39c1eaa3e260c7ac1 Author: Manfred Spraul Date: Tue Apr 29 01:00:59 2008 -0700 ipc: sysvsem: force unshare(CLONE_SYSVSEM) when CLONE_NEWIPC sys_unshare(CLONE_NEWIPC) doesn't handle the undo lists properly, this can cause a kernel memory corruption. CLONE_NEWIPC must detach from the existing undo lists. Fix, part 2: perform an implicit CLONE_SYSVSEM in CLONE_NEWIPC. CLONE_NEWIPC creates a new IPC namespace, the task cannot access the existing semaphore arrays after the unshare syscall. Thus the task can/must detach from the existing undo list entries, too. This fixes the kernel corruption, because it makes it impossible that undo records from two different namespaces are in sysvsem.undo_list. Signed-off-by: Manfred Spraul Signed-off-by: Serge E. Hallyn Acked-by: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Michael Kerrisk Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9edff4ab1f8d82675277a04e359d0ed8bf14a7b7 Author: Manfred Spraul Date: Tue Apr 29 01:00:57 2008 -0700 ipc: sysvsem: implement sys_unshare(CLONE_SYSVSEM) sys_unshare(CLONE_NEWIPC) doesn't handle the undo lists properly, this can cause a kernel memory corruption. CLONE_NEWIPC must detach from the existing undo lists. Fix, part 1: add support for sys_unshare(CLONE_SYSVSEM) The original reason to not support it was the potential (inevitable?) confusion due to the fact that sys_unshare(CLONE_SYSVSEM) has the inverse meaning of clone(CLONE_SYSVSEM). Our two most reasonable options then appear to be (1) fully support CLONE_SYSVSEM, or (2) continue to refuse explicit CLONE_SYSVSEM, but always do it anyway on unshare(CLONE_SYSVSEM). This patch does (1). Changelog: Apr 16: SEH: switch to Manfred's alternative patch which removes the unshare_semundo() function which always refused CLONE_SYSVSEM. Signed-off-by: Manfred Spraul Signed-off-by: Serge E. Hallyn Acked-by: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Michael Kerrisk Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44f564a4bf6ac70f2a84806203045cf515bc9367 Author: Zhang, Yanmin Date: Tue Apr 29 01:00:55 2008 -0700 ipc: add definitions of USHORT_MAX and others Add definitions of USHORT_MAX and others into kernel. ipc uses it and slub implementation might also use it. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Zhang Yanmin Reviewed-by: Christoph Lameter Cc: Nadia Derbey Cc: "Pierre Peiffer" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5f75e7f256f75759ec3d6dbef0ba932f1b397d2 Author: Pierre Peiffer Date: Tue Apr 29 01:00:54 2008 -0700 IPC: consolidate all xxxctl_down() functions semctl_down(), msgctl_down() and shmctl_down() are used to handle the same set of commands for each kind of IPC. They all start to do the same job (they retrieve the ipc and do some permission checks) before handling the commands on their own. This patch proposes to consolidate this by moving these same pieces of code into one common function called ipcctl_pre_down(). It simplifies a little these xxxctl_down() functions and increases a little the maintainability. Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f4a3809c18ff3107bdbb1fabe3f4e5d2a928321 Author: Pierre Peiffer Date: Tue Apr 29 01:00:51 2008 -0700 IPC: introduce ipc_update_perm() The IPC_SET command performs the same permission setting for all IPCs. This patch introduces a common ipc_update_perm() function to update these permissions and makes use of it for all IPCs. Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 016d7132f246a05e6e34ccba157fa278a96c45ae Author: Pierre Peiffer Date: Tue Apr 29 01:00:50 2008 -0700 IPC: get rid of the use *_setbuf structure. All IPCs make use of an intermetiate *_setbuf structure to handle the IPC_SET command. This is not really needed and, moreover, it complicates a little bit the code. This patch gets rid of the use of it and uses directly the semid64_ds/ msgid64_ds/shmid64_ds structure. In addition of removing one struture declaration, it also simplifies and improves a little bit the common 64-bits path. Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21a4826a7c49bddebbe8d83d232f6416f1697ff0 Author: Pierre Peiffer Date: Tue Apr 29 01:00:49 2008 -0700 IPC/semaphores: remove one unused parameter from semctl_down() semctl_down() takes one unused parameter: semnum. This patch proposes to get rid of it. Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 522bb2a2b420a0c1d0fcd037aa4e1bb9e2bca447 Author: Pierre Peiffer Date: Tue Apr 29 01:00:49 2008 -0700 IPC/semaphores: move the rwmutex handling inside semctl_down semctl_down is called with the rwmutex (the one which protects the list of ipcs) taken in write mode. This patch moves this rwmutex taken in write-mode inside semctl_down. This has the advantages of reducing a little bit the window during which this rwmutex is taken, clarifying sys_semctl, and finally of having a coherent behaviour with [shm|msg]ctl_down Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0d092fc2df845a43cc4847836818f49331d0a5c Author: Pierre Peiffer Date: Tue Apr 29 01:00:48 2008 -0700 IPC/message queues: introduce msgctl_down Currently, sys_msgctl is not easy to read. This patch tries to improve that by introducing the msgctl_down function to handle all commands requiring the rwmutex to be taken in write mode (ie IPC_SET and IPC_RMID for now). It is the equivalent function of semctl_down for message queues. This greatly changes the readability of sys_msgctl and also harmonizes the way these commands are handled among all IPCs. Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d4cc8b5c5e5bac526618ee704f3cfdcad954e0c Author: Pierre Peiffer Date: Tue Apr 29 01:00:47 2008 -0700 IPC/shared memory: introduce shmctl_down Currently, the way the different commands are handled in sys_shmctl introduces some duplicated code. This patch introduces the shmctl_down function to handle all the commands requiring the rwmutex to be taken in write mode (ie IPC_SET and IPC_RMID for now). It is the equivalent function of semctl_down for shared memory. This removes some duplicated code for handling these both commands and harmonizes the way they are handled among all IPCs. Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ff3797218ef41c248c83184101ce1aedc227333 Author: Pierre Peiffer Date: Tue Apr 29 01:00:46 2008 -0700 IPC/semaphores: code factorisation Trivial patch which adds some small locking functions and makes use of them to factorize some part of the code and to make it cleaner. Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6546bc4279241e8fa432de1bb63a4f6f791fd669 Author: Nadia Derbey Date: Tue Apr 29 01:00:45 2008 -0700 ipc: re-enable msgmni automatic recomputing msgmni if set to negative The enhancement as asked for by Yasunori: if msgmni is set to a negative value, register it back into the ipcns notifier chain. A new interface has been added to the notification mechanism: notifier_chain_cond_register() registers a notifier block only if not already registered. With that new interface we avoid taking care of the states changes in procfs. Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91cfb2b4b57816de0c96de417b3238249f0b125f Author: Nadia Derbey Date: Tue Apr 29 01:00:44 2008 -0700 ipc: do not recompute msgmni anymore if explicitly set by user Make msgmni not recomputed anymore upon ipc namespace creation / removal or memory add/remove, as soon as it has been set from userland. As soon as msgmni is explicitly set via procfs or sysctl(), the associated callback routine is unregistered from the ipc namespace notifier chain. Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2c284d8a87f95df9b47c6a13168a844ca7c03e9 Author: Nadia Derbey Date: Tue Apr 29 01:00:44 2008 -0700 ipc: recompute msgmni on ipc namespace creation/removal Introduce a notification mechanism that aims at recomputing msgmni each time an ipc namespace is created or removed. The ipc namespace notifier chain already defined for memory hotplug management is used for that purpose too. Each time a new ipc namespace is allocated or an existing ipc namespace is removed, the ipcns notifier chain is notified. The callback routine for each registered ipc namespace is then activated in order to recompute msgmni for that namespace. Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 424450c1dbe72b6e2637e91108417d7d9580c4c3 Author: Nadia Derbey Date: Tue Apr 29 01:00:43 2008 -0700 ipc: invoke the ipcns notifier chain as a work item Make the memory hotplug chain's mutex held for a shorter time: when memory is offlined or onlined a work item is added to the global workqueue. When the work item is run, it notifies the ipcns notifier chain with the IPCNS_MEMCHANGED event. Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6b337ad1c1d6fe11b09b35d75464b84b3e11f07 Author: Nadia Derbey Date: Tue Apr 29 01:00:42 2008 -0700 ipc: recompute msgmni on memory add / remove Introduce the registration of a callback routine that recomputes msg_ctlmni upon memory add / remove. A single notifier block is registered in the hotplug memory chain for all the ipc namespaces. Since the ipc namespaces are not linked together, they have their own notification chain: one notifier_block is defined per ipc namespace. Each time an ipc namespace is created (removed) it registers (unregisters) its notifier block in (from) the ipcns chain. The callback routine registered in the memory chain invokes the ipcns notifier chain with the IPCNS_LOWMEM event. Each callback routine registered in the ipcns namespace, in turn, recomputes msgmni for the owning namespace. Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c40ba4fd64f98e7a5cba8ffaedbd68642a85700 Author: Nadia Derbey Date: Tue Apr 29 01:00:41 2008 -0700 ipc: define the slab_memory_callback priority as a constant This is a trivial patch that defines the priority of slab_memory_callback in the callback chain as a constant. This is to prepare for next patch in the series. Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d89dc6ab2711258bfd12c72d753f3ad56b244e2 Author: Nadia Derbey Date: Tue Apr 29 01:00:40 2008 -0700 ipc: scale msgmni to the number of ipc namespaces Since all the namespaces see the same amount of memory (the total one) this patch introduces a new variable that counts the ipc namespaces and divides msg_ctlmni by this counter. Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7bf3df8be72d98afa84f5ff183e14c1ba1e560d Author: Nadia Derbey Date: Tue Apr 29 01:00:39 2008 -0700 ipc: scale msgmni to the amount of lowmem On large systems we'd like to allow a larger number of message queues. In some cases up to 32K. However simply setting MSGMNI to a larger value may cause problems for smaller systems. The first patch of this series introduces a default maximum number of message queue ids that scales with the amount of lowmem. Since msgmni is per namespace and there is no amount of memory dedicated to each namespace so far, the second patch of this series scales msgmni to the number of ipc namespaces too. Since msgmni depends on the amount of memory, it becomes necessary to recompute it upon memory add/remove. In the 4th patch, memory hotplug management is added: a notifier block is registered into the memory hotplug notifier chain for the ipc subsystem. Since the ipc namespaces are not linked together, they have their own notification chain: one notifier_block is defined per ipc namespace. Each time an ipc namespace is created (removed) it registers (unregisters) its notifier block in (from) the ipcns chain. The callback routine registered in the memory chain invokes the ipcns notifier chain with the IPCNS_MEMCHANGE event. Each callback routine registered in the ipcns namespace, in turn, recomputes msgmni for the owning namespace. The 5th patch makes it possible to keep the memory hotplug notifier chain's lock for a lesser amount of time: instead of directly notifying the ipcns notifier chain upon memory add/remove, a work item is added to the global workqueue. When activated, this work item is the one who notifies the ipcns notifier chain. Since msgmni depends on the number of ipc namespaces, it becomes necessary to recompute it upon ipc namespace creation / removal. The 6th patch uses the ipc namespace notifier chain for that purpose: that chain is notified each time an ipc namespace is created or removed. This makes it possible to recompute msgmni for all the namespaces each time one of them is created or removed. When msgmni is explicitely set from userspace, we should avoid recomputing it upon memory add/remove or ipcns creation/removal. This is what the 7th patch does: it simply unregisters the ipcns callback routine as soon as msgmni has been changed from procfs or sysctl(). Even if msgmni is set by hand, it should be possible to make it back automatically recomputed upon memory add/remove or ipcns creation/removal. This what is achieved in patch 8: if set to a negative value, msgmni is added back to the ipcns notifier chain, making it automatically recomputed again. This patch: Compute msg_ctlmni to make it scale with the amount of lowmem. msg_ctlmni is now set to make the message queues occupy 1/32 of the available lowmem. Some cleaning has also been done for the MSGPOOL constant: the msgctl man page says it's not used, but it also defines it as a size in bytes (the code expresses it in Kbytes). Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48dea404ed01869313f1908cca8a15774dcd8ee5 Author: Pierre Peiffer Date: Tue Apr 29 01:00:35 2008 -0700 IPC: use ipc_buildid() directly from ipc_addid() By continuing to consolidate a little the IPC code, each id can be built directly in ipc_addid() instead of having it built from each callers of ipc_addid() And I also remove shm_addid() in order to have, as much as possible, the same code for shm/sem/msg. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Pierre Peiffer Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02d15c43225afb2ebb6d700144285175a1c4abd9 Author: Randy Dunlap Date: Tue Apr 29 01:00:35 2008 -0700 doc: fix DMA-API function parameters Fix kernel bugzilla #10388. DMA-API.txt has wrong argument type for some functions. It uses struct device but should use struct pci_dev. Signed-off-by: Randy Dunlap Acked-by: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb9fbc5c37b69ac584e61d449cfd590f5ae1f90d Author: Arthur Kepner Date: Tue Apr 29 01:00:34 2008 -0700 IB: expand ib_umem_get() prototype Add a new parameter, dmasync, to the ib_umem_get() prototype. Use dmasync = 1 when mapping user-allocated CQs with ib_umem_get(). Signed-off-by: Arthur Kepner Cc: Tony Luck Cc: Jesse Barnes Cc: Jes Sorensen Cc: Randy Dunlap Cc: Roland Dreier Cc: James Bottomley Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Grant Grundler Cc: Michael Ellerman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 309df0c503c35fbb5a09537fcbb1f4967b9ca489 Author: Arthur Kepner Date: Tue Apr 29 01:00:32 2008 -0700 dma/ia64: update ia64 machvecs, swiotlb.c Change all ia64 machvecs to use the new dma_*map*_attrs() interfaces. Implement the old dma_*map_*() interfaces in terms of the corresponding new interfaces. For ia64/sn, make use of one dma attribute, DMA_ATTR_WRITE_BARRIER. Introduce swiotlb_*map*_attrs() functions. Signed-off-by: Arthur Kepner Cc: Tony Luck Cc: Jesse Barnes Cc: Jes Sorensen Cc: Randy Dunlap Cc: Roland Dreier Cc: James Bottomley Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Grant Grundler Cc: Michael Ellerman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a75b0a2f68d3937f96ed39525e4750601483e3b4 Author: Arthur Kepner Date: Tue Apr 29 01:00:31 2008 -0700 dma: document dma_*map*_attrs() interfaces Document the new dma_*map*_attrs() functions. [markn@au1.ibm.com: fix up for dma-add-dma_map_attrs-interfaces and update docs] Signed-off-by: Arthur Kepner Acked-by: David S. Miller Cc: Tony Luck Cc: Jesse Barnes Cc: Jes Sorensen Cc: Randy Dunlap Cc: Roland Dreier Cc: James Bottomley Cc: Benjamin Herrenschmidt Cc: Grant Grundler Cc: Michael Ellerman Signed-off-by: Mark Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74bc7ceebfa1c84ddd3a843ebfb56df013bf7ef5 Author: Arthur Kepner Date: Tue Apr 29 01:00:30 2008 -0700 dma: add dma_*map*_attrs() interfaces Introduce new interfaces, dma_*map*_attrs(), for passing architecture-specific attributes when memory is mapped and unmapped for DMA. Give the interfaces default implementations which ignore attributes. Also introduce the dma_{set|get}_attr() interfaces for setting and retrieving individual attributes. Define one attribute, DMA_ATTR_WRITE_BARRIER, in anticipation of its use by ia64/sn. Select whether architectures implement arch-specific versions of the dma_*map*_attrs() interfaces via HAVE_DMA_ATTRS in Kconfig. [markn@au1.ibm.com: dma_{set,get}_attr() have to be static inline] Signed-off-by: Arthur Kepner Cc: Tony Luck Cc: Jesse Barnes Cc: Jes Sorensen Cc: Randy Dunlap Cc: Roland Dreier Cc: James Bottomley Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Grant Grundler Cc: Michael Ellerman Signed-off-by: Mark Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2ba7e2ae206e9ab24e8937d99d0d5513bfd08e5 Author: Oleg Nesterov Date: Tue Apr 29 01:00:29 2008 -0700 simplify cpu_hotplug_begin()/put_online_cpus() cpu_hotplug_begin() must be always called under cpu_add_remove_lock, this means that only one process can be cpu_hotplug.active_writer. So we don't need the cpu_hotplug.writer_queue, we can wake up the ->active_writer directly. Also, fix the comment. Signed-off-by: Oleg Nesterov Cc: Dipankar Sarma Acked-by: Gautham R Shenoy Cc: Ingo Molnar Cc: Srivatsa Vaddagiri Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e35eaa2d86419470f3f3aed9acd85b8addff25c Author: Oleg Nesterov Date: Tue Apr 29 01:00:28 2008 -0700 cleanup_workqueue_thread: remove the unneeded "cpu" parameter cleanup_workqueue_thread() doesn't need the second argument, remove it. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00dfcaf748f46de89efe41baa298b5cf9adda67e Author: Oleg Nesterov Date: Tue Apr 29 01:00:27 2008 -0700 workqueues: shrink cpu_populated_map when CPU dies When cpu_populated_map was introduced, it was supposed that cwq->thread can survive after CPU_DEAD, that is why we never shrink cpu_populated_map. This is not very nice, we can safely remove the already dead CPU from the map. The only required change is that destroy_workqueue() must hold the hotplug lock until it destroys all cwq->thread's, to protect the cpu_populated_map. We could make the local copy of cpu mask and drop the lock, but sizeof(cpumask_t) may be very large. Also, fix the comment near queue_work(). Unless _cpu_down() happens we do guarantee the cpu-affinity of the work_struct, and we have users which rely on this. [akpm@linux-foundation.org: repair comment] Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 786083667e0ced85ce17c4c0b6c57a9f47c5b9f2 Author: Paul Menage Date: Tue Apr 29 01:00:26 2008 -0700 Cpuset hardwall flag: add a mem_hardwall flag to cpusets This flag provides the hardwalling properties of mem_exclusive, without enforcing the exclusivity. Either mem_hardwall or mem_exclusive is sufficient to prevent GFP_KERNEL allocations from passing outside the cpuset's assigned nodes. Signed-off-by: Paul Menage Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit addf2c739d9015d3e9c0500b58a3af051cd58ea7 Author: Paul Menage Date: Tue Apr 29 01:00:26 2008 -0700 Cpuset hardwall flag: switch cpusets to use the bulk cgroup_add_files() API Currently the cpusets mem_exclusive flag is overloaded to mean both "no-overlapping" and "no GFP_KERNEL allocations outside this cpuset". These patches add a new mem_hardwall flag with just the allocation restriction part of the mem_exclusive semantics, without breaking backwards-compatibility for those who continue to use just mem_exclusive. Additionally, the cgroup control file registration for cpusets is cleaned up to reduce boilerplate. This patch: This change tidies up the cpusets control file definitions, and reduces the amount of boilerplate required to add/change control files in the future. Signed-off-by: Paul Menage Reviewed-by: Li Zefan Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e0c914cabc6d75d2eafdff00671a2ad683a5e3c Author: Adrian Bunk Date: Tue Apr 29 01:00:25 2008 -0700 kernel/cpuset.c: make 3 functions static Make the following needlessly global functions static: - cpuset_test_cpumask() - cpuset_change_cpumask() - cpuset_do_move_task() Signed-off-by: Adrian Bunk Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1faf8e40a8ab12ae1f7f474965e6fb031e43f8d6 Author: Li Zefan Date: Tue Apr 29 01:00:24 2008 -0700 memcg: remove redundant initialization in mem_cgroup_create() *mem has been zeroed, that means mem->info has already been filled with 0. Signed-off-by: Li Zefan Acked-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33327948782bcef89c78eb47af86b6a2df9fd4a5 Author: KAMEZAWA Hiroyuki Date: Tue Apr 29 01:00:24 2008 -0700 memcgroup: use vmalloc for mem_cgroup allocation On ia64, this kmalloc() requires order-4 pages. But this is not necessary to be physically contiguous. For big mem_cgroup, vmalloc is better. For small ones, kmalloc is used. [akpm@linux-foundation.org: simplification] Signed-off-by: KAMEZAWA Hiroyuki Cc: Pavel Emelyanov Cc: Li Zefan Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a56d02e34baedbea5eb1fd558f2b856b8c7db1e Author: Balbir Singh Date: Tue Apr 29 01:00:23 2008 -0700 memcgroup: make the memory controller more desktop responsive This patch makes the memory controller more responsive on my desktop. 1. Set all cached pages as inactive. We were by default marking all pages as active, thus forcing us to go through two passes for reclaiming pages 2. Remove congestion_wait(), since we already have that logic in do_try_to_free_pages() Signed-off-by: Balbir Singh Reviewed-by: KOSAKI Motohiro Cc: YAMAMOTO Takashi Cc: Paul Menage Cc: Pavel Emelianov Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eae90c3cdd4e762d0f4f5e939c98780fccded57 Author: KAMEZAWA Hiroyuki Date: Tue Apr 29 01:00:22 2008 -0700 memcg: remove redundant function calls remove_list/add_list uses page_cgroup_zoneinfo() in it. So, it's called twice before and after lock. mz = page_cgroup_zoneinfo(); lock(); mz = page_cgroup_zoneinfo(); .... unlock(); And address of mz never changes. This is not good. This patch fixes this behavior. Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29f2a4dac856e9433a502b05b40e8e90385d8e27 Author: Pavel Emelyanov Date: Tue Apr 29 01:00:21 2008 -0700 memcgroup: implement failcounter reset This is a very common requirement from people using the resource accounting facilities (not only memcgroup but also OpenVZ beancounters). They want to put the cgroup in an initial state without re-creating it. For example after re-configuring a group people want to observe how this new configuration fits the group needs without saving the previous failcnt value. Merge two resets into one mem_cgroup_reset() function to demonstrate how multiplexing work. Besides, I have plans to move the files, that correspond to res_counter to the res_counter.c file and somehow "import" them into controller. I don't know how to make it gracefully yet, but merging resets of max_usage and failcnt in one function will be there for sure. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Pavel Emelyanov Acked-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85cc59db12724e1248f5e4841e61339cf485d5c7 Author: Pavel Emelyanov Date: Tue Apr 29 01:00:20 2008 -0700 memcgroup: use triggers in force_empty and max_usage files These two files are essentially event callbacks. They do not care about the contents of the string, but only about the fact of the write itself. Signed-off-by: Pavel Emelyanov Acked-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6ac57d50a375aa2f267e1b2b56c46564a936d00 Author: Balbir Singh Date: Tue Apr 29 01:00:19 2008 -0700 memcgroup: move memory controller allocations to their own slabs Move the memory controller data structure page_cgroup to its own slab cache. It saves space on the system, allocations are not necessarily pushed to order of 2 and should provide performance benefits. Users who disable the memory controller can also double check that the memory controller is not allocating page_cgroup's. NOTE: Hugh Dickins brought up the issue of whether we want to mark page_cgroup as __GFP_MOVABLE or __GFP_RECLAIMABLE. I don't think there is an easy answer at the moment. page_cgroup's are associated with user pages, they can be reclaimed once the user page has been reclaimed, so it might make sense to mark them as __GFP_RECLAIMABLE. For now, I am leaving the marking to default values that the slab allocator uses. Signed-off-by: Balbir Singh Cc: Pavel Emelianov Cc: Hugh Dickins Cc: Sudhir Kumar Cc: YAMAMOTO Takashi Cc: Paul Menage Cc: David Rientjes Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit faebe9fdf35058bb8421e4c09f6f70994eaf8db2 Author: Pavel Emelyanov Date: Tue Apr 29 01:00:18 2008 -0700 memcgroups: add a document describing the resource counter abstraction The resource counter is supposed to facilitate the resource accounting of arbitrary resource (and it already does this for memory controller). However, it is about to be used in other resources controllers (swap, kernel memory, networking, etc), so provide a doc describing how to work with it. This will eliminate all the possible future duplications in the appropriate controllers' docs. Fixed errors pointed out by Randy. [akpm@linux-foundation.org: fix documentation tpyo] Signed-off-by: Pavel Emelyanov Cc: Randy Dunlap Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c84872e168d10926acd2dee975d19172eef79252 Author: Pavel Emelyanov Date: Tue Apr 29 01:00:17 2008 -0700 memcgroup: add the max_usage member on the res_counter This field is the maximal value of the usage one since the counter creation (or since the latest reset). To reset this to the usage value simply write anything to the appropriate cgroup file. Signed-off-by: Pavel Emelyanov Acked-by: Balbir Singh Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf475ad28ac35cc9ba612d67158f29b73b38b05d Author: Balbir Singh Date: Tue Apr 29 01:00:16 2008 -0700 cgroups: add an owner to the mm_struct Remove the mem_cgroup member from mm_struct and instead adds an owner. This approach was suggested by Paul Menage. The advantage of this approach is that, once the mm->owner is known, using the subsystem id, the cgroup can be determined. It also allows several control groups that are virtually grouped by mm_struct, to exist independent of the memory controller i.e., without adding mem_cgroup's for each controller, to mm_struct. A new config option CONFIG_MM_OWNER is added and the memory resource controller selects this config option. This patch also adds cgroup callbacks to notify subsystems when mm->owner changes. The mm_cgroup_changed callback is called with the task_lock() of the new task held and is called just prior to changing the mm->owner. I am indebted to Paul Menage for the several reviews of this patchset and helping me make it lighter and simpler. This patch was tested on a powerpc box, it was compiled with both the MM_OWNER config turned on and off. After the thread group leader exits, it's moved to init_css_state by cgroup_exit(), thus all future charges from runnings threads would be redirected to the init_css_set's subsystem. Signed-off-by: Balbir Singh Cc: Pavel Emelianov Cc: Hugh Dickins Cc: Sudhir Kumar Cc: YAMAMOTO Takashi Cc: Hirokazu Takahashi Cc: David Rientjes , Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Acked-by: Pekka Enberg Reviewed-by: Paul Menage Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29486df325e1fe6e1764afcb19e3370804c2b002 Author: Serge E. Hallyn Date: Tue Apr 29 01:00:14 2008 -0700 cgroups: introduce cft->read_seq() Introduce a read_seq() helper in cftype, which uses seq_file to print out lists. Use it in the devices cgroup. Also split devices.allow into two files, so now devices.deny and devices.allow are the ones to use to manipulate the whitelist, while devices.list outputs the cgroup's current whitelist. Signed-off-by: Serge E. Hallyn Acked-by: Paul Menage Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28fd5dfc12bde391981dfdcf20755952b6e916af Author: Li Zefan Date: Tue Apr 29 01:00:13 2008 -0700 cgroups: remove the css_set linked-list Now we can run through the hash table instead of running through the linked-list. Signed-off-by: Li Zefan Reviewed-by: Paul Menage Cc: Balbir Singh Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8d55fdeb882cfcb5e8db5a5ce16edfba78aafc5 Author: Li Zefan Date: Tue Apr 29 01:00:13 2008 -0700 cgroups: simplify init_subsys() We are at system boot and there is only 1 cgroup group (i,e, init_css_set), so we don't need to run through the css_set linked list. Neither do we need to run through the task list, since no processes have been created yet. Also referring to a comment in cgroup.h: struct css_set { ... /* * Set of subsystem states, one for each subsystem. This array * is immutable after creation apart from the init_css_set * during subsystem registration (at boot time). */ struct cgroup_subsys_state *subsys[CGROUP_SUBSYS_COUNT]; } Signed-off-by: Li Zefan Reviewed-by: Paul Menage Cc: Balbir Singh Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 472b1053f3c319cc60bfb2a0bb062fed77a93eb6 Author: Li Zefan Date: Tue Apr 29 01:00:11 2008 -0700 cgroups: use a hash table for css_set finding When we attach a process to a different cgroup, the css_set linked-list will be run through to find a suitable existing css_set to use. This patch implements a hash table for better performance. The following benchmarks have been tested: For N in 1, 5, 10, 50, 100, 500, 1000, create N cgroups with one sleeping task in each, and then move an additional task through each cgroup in turn. Here is a test result: N Loop orig - Time(s) hash - Time(s) ---------------------------------------------- 1 10000 1.201231728 1.196311177 5 2000 1.065743872 1.040566424 10 1000 0.991054735 0.986876440 50 200 0.976554203 0.969608733 100 100 0.998504680 0.969218270 500 20 1.157347764 0.962602963 1000 10 1.619521852 1.085140172 Signed-off-by: Li Zefan Reviewed-by: Paul Menage Cc: Balbir Singh Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08ce5f16ee466ffc5bf243800deeecd77d9eaf50 Author: Serge E. Hallyn Date: Tue Apr 29 01:00:10 2008 -0700 cgroups: implement device whitelist Implement a cgroup to track and enforce open and mknod restrictions on device files. A device cgroup associates a device access whitelist with each cgroup. A whitelist entry has 4 fields. 'type' is a (all), c (char), or b (block). 'all' means it applies to all types and all major and minor numbers. Major and minor are either an integer or * for all. Access is a composition of r (read), w (write), and m (mknod). The root device cgroup starts with rwm to 'all'. A child devcg gets a copy of the parent. Admins can then remove devices from the whitelist or add new entries. A child cgroup can never receive a device access which is denied its parent. However when a device access is removed from a parent it will not also be removed from the child(ren). An entry is added using devices.allow, and removed using devices.deny. For instance echo 'c 1:3 mr' > /cgroups/1/devices.allow allows cgroup 1 to read and mknod the device usually known as /dev/null. Doing echo a > /cgroups/1/devices.deny will remove the default 'a *:* mrw' entry. CAP_SYS_ADMIN is needed to change permissions or move another task to a new cgroup. A cgroup may not be granted more permissions than the cgroup's parent has. Any task can move itself between cgroups. This won't be sufficient, but we can decide the best way to adequately restrict movement later. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: fix may-be-used-uninitialized warning] Signed-off-by: Serge E. Hallyn Acked-by: James Morris Looks-good-to: Pavel Emelyanov Cc: Daniel Hokka Zakrisson Cc: Li Zefan Cc: Paul Menage Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d447ea2f30ec60370ddb99a668e5ac12995f043d Author: Pavel Emelyanov Date: Tue Apr 29 01:00:08 2008 -0700 cgroups: add the trigger callback to struct cftype Trigger callback can be used to receive a kick-up from the user space. The string written is ignored. The cftype->private is used for multiplexing events. Signed-off-by: Pavel Emelyanov Acked-by: Paul Menage Acked-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46ae220bea40bd1cf4abec2d5cdfb4f9396c7115 Author: Li Zefan Date: Tue Apr 29 01:00:08 2008 -0700 cgroup: switch to proc_create() There is a race between create_proc_entry() and the assignment of file ops. proc_create() is invented to fix it. Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06a119204d3e1e67d393e996ed987b0df7998381 Author: Li Zefan Date: Tue Apr 29 01:00:07 2008 -0700 cgroup: annotate cgroup_init_subsys with __init It is called by cgroup_init() and cgroup_init_early() only, which are annotated with __init. Signed-off-by: Li Zefan Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06ecb27cfbf53ac2c7e397aa1619a6f9a98c5896 Author: Paul Menage Date: Tue Apr 29 01:00:06 2008 -0700 CGroups _s64 files: use read_s64/write_s64 in CFS cgroup for rt_runtime file This removes some filesystem boilerplate from the CFS cgroup subsystem. Signed-off-by: Paul Menage Acked-by: Peter Zijlstra Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e73d2c61d1fcbd3621688ae457b49509c8d4c601 Author: Paul Menage Date: Tue Apr 29 01:00:06 2008 -0700 CGroups _s64 files: add cgroups read_s64/write_s64 file methods These patches add cgroups read_s64 and write_s64 control file methods (the signed equivalent of read_u64/write_u64) and use them to implement the cpu.rt_runtime_us control file in the CFS cgroup subsystem. This patch: These are the signed equivalents of the read_u64/write_u64 methods Signed-off-by: Paul Menage Acked-by: Peter Zijlstra Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 418d7d875ce7f33ef0d48d7cc3a95f31302dcf56 Author: Paul Menage Date: Tue Apr 29 01:00:05 2008 -0700 CGroup API files: make CGROUP_DEBUG default to off The cgroup debug subsystem isn't generally useful for users. It should default to "n". Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3116f0e3df0a67ad56f15dd4c5f6cefb04bb4a98 Author: Paul Menage Date: Tue Apr 29 01:00:04 2008 -0700 CGroup API files: move "releasable" to cgroup_debug subsystem The "releasable" control file provided by the cgroup framework exports the state of a per-cgroup flag that's related to the notify-on-release feature. This isn't really generally useful, unless you're trying to debug this particular feature of cgroups. This patch moves the "releasable" file to the cgroup_debug subsystem. Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c27e8818a09bbdfe7c07c629cb2c27e1a742e156 Author: Paul Menage Date: Tue Apr 29 01:00:03 2008 -0700 CGroup API files: drop mem_cgroup_force_empty() This function isn't needed - a NULL pointer in the cftype read function will result in the same EINVAL response to userspace. Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c64745cf0f34f2cb08fc28c93d844e583d0d591d Author: Paul Menage Date: Tue Apr 29 01:00:02 2008 -0700 CGroup API files: use cgroup map for memcontrol stats file Remove the seq_file boilerplate used to construct the memcontrol stats map, and instead use the new map representation for cgroup control files Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9179656961adcea3c25403365597e486d851ac5e Author: Paul Menage Date: Tue Apr 29 01:00:01 2008 -0700 CGroup API files: add cgroup map data type Adds a new type of supported control file representation, a map from strings to u64 values. Each map entry is printed as a line in a similar format to /proc/vmstat, i.e. "$key $value\n" Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 700fe1ab99240c1a9c4d155e2a0612a1b044bb69 Author: Paul Menage Date: Tue Apr 29 01:00:00 2008 -0700 CGroup API files: update cpusets to use cgroup structured file API Many of the cpusets control files are simple integer values, which don't require the overhead of memory allocations for reads and writes. Move the handlers for these control files into cpuset_read_u64() and cpuset_write_u64(). [akpm@linux-foundation.org: ad dmissing `break'] Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7269dfc826fbf554c9e6a9eaa4e6ff95fa08656 Author: Paul Menage Date: Tue Apr 29 00:59:59 2008 -0700 CGroup API files: strip all trailing whitespace in cgroup_write_u64 This removes the need for people to remember to pass the -n flag to echo when writing values to cgroup control files. Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c3daa722b624eaf0c5ea60e4f180bd0684542e2 Author: Paul Menage Date: Tue Apr 29 00:59:58 2008 -0700 CGroup API files: use read_u64 in memory controller Update the memory controller to use read_u64 for its limit/usage/failcnt control files, calling the new res_counter_read_u64() function. Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c7eabf37647dd459d555e76954b4de87be2321f Author: Paul Menage Date: Tue Apr 29 00:59:58 2008 -0700 CGroup API files: add res_counter_read_u64() Adds a function for returning the value of a resource counter member, in a form suitable for use in a cgroup read_u64 control file method. Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4c753b7eacc277e506066abdda351cbc1cf8e6a Author: Paul Menage Date: Tue Apr 29 00:59:56 2008 -0700 CGroup API files: rename read/write_uint methods to read_write_u64 Several people have justifiably complained that the "_uint" suffix is inappropriate for functions that handle u64 values, so this patch just renames all these functions and their users to have the suffic _u64. [peterz@infradead.org: build fix] Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ff31d0cca38b3c20e88a022bf38c4f7c98492f0 Author: Adrian Bunk Date: Tue Apr 29 00:59:55 2008 -0700 cgroups: kernel/ns_cgroup.c should #include Every file should include the headers containing the externs its global functions (in this case for ns_cgroup_clone()). Signed-off-by: Adrian Bunk Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fe91d518e4958af7edebbeb112a3272b2be232d Author: Paul Jackson Date: Tue Apr 29 00:59:55 2008 -0700 cgroup: fix sparse warning of shadow symbol in cgroup.c Fix a code warning: symbol 'p' shadows an earlier one This is a reincarnation of Harvey Harrison's patch: cpuset: sparse warnings in cpuset.c Independently, Cliff Wickman moved the affected code, from kernel/cpuset.c to kernel/cgroup.c, in his patch: cpusets: update_cpumask revision Signed-off-by: Paul Jackson Cc: Harvey Harrison Cc: Cliff Wickman Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3df91fe30a1547af7e794c6e8cca76f4932c6ad7 Author: Adrian Bunk Date: Tue Apr 29 00:59:54 2008 -0700 make cgroup_enable_task_cg_lists() static Make the needlessly global cgroup_enable_task_cg_lists() static. Signed-off-by: Adrian Bunk Acked-by: David Rientjes Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ef0e1f8cad0a851b3dbf91802b14af7dd780352 Author: Andres Salomon Date: Tue Apr 29 00:59:53 2008 -0700 x86: olpc: add One Laptop Per Child architecture support This adds support for OLPC XO hardware. Open Firmware on XOs don't contain the VSA, so it is necessary to emulate the PCI BARs in the kernel. This also adds functionality for running EC commands, and a CONFIG_OLPC. A number of OLPC drivers depend upon CONFIG_OLPC. olpc_ec_timeout is a hack to work around Embedded Controller bugs. [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: geode_has_vsa build fix] [akpm@linux-foundation.org: olpc_register_battery_callback doesn't exist] Signed-off-by: Andres Salomon Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f9b12a31fcb738ea8c9eb0d4ddf906c6f1d696c Author: Michael Halcrow Date: Tue Apr 29 00:59:52 2008 -0700 eCryptfs: protect crypt_stat->flags in ecryptfs_open() Make sure crypt_stat->flags is protected with a lock in ecryptfs_open(). Signed-off-by: Michael Halcrow Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a3fd92e73fffd9e583650c56ad9558afe51dc5c Author: Michael Halcrow Date: Tue Apr 29 00:59:52 2008 -0700 eCryptfs: make key module subsystem respect namespaces Make eCryptfs key module subsystem respect namespaces. Since I will be removing the netlink interface in a future patch, I just made changes to the netlink.c code so that it will not break the build. With my recent patches, the kernel module currently defaults to the device handle interface rather than the netlink interface. [akpm@linux-foundation.org: export free_user_ns()] Signed-off-by: Michael Halcrow Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f66e883eb6186bc43a79581b67aff7d1a69d0ff1 Author: Michael Halcrow Date: Tue Apr 29 00:59:51 2008 -0700 eCryptfs: integrate eCryptfs device handle into the module. Update the versioning information. Make the message types generic. Add an outgoing message queue to the daemon struct. Make the functions to parse and write the packet lengths available to the rest of the module. Add functions to create and destroy the daemon structs. Clean up some of the comments and make the code a little more consistent with itself. [akpm@linux-foundation.org: printk fixes] Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bf2debd5f7bf12d122124e34fec14af5b1e8ecf Author: Michael Halcrow Date: Tue Apr 29 00:59:50 2008 -0700 eCryptfs: introduce device handle for userspace daemon communications A regular device file was my real preference from the get-go, but I went with netlink at the time because I thought it would be less complex for managing send queues (i.e., just do a unicast and move on). It turns out that we do not really get that much complexity reduction with netlink, and netlink is more heavyweight than a device handle. In addition, the netlink interface to eCryptfs has been broken since 2.6.24. I am assuming this is a bug in how eCryptfs uses netlink, since the other in-kernel users of netlink do not seem to be having any problems. I have had one report of a user successfully using eCryptfs with netlink on 2.6.24, but for my own systems, when starting the userspace daemon, the initial helo message sent to the eCryptfs kernel module results in an oops right off the bat. I spent some time looking at it, but I have not yet found the cause. The netlink interface breaking gave me the motivation to just finish my patch to migrate to a regular device handle. If I cannot find out soon why the netlink interface in eCryptfs broke, I am likely to just send a patch to disable it in 2.6.24 and 2.6.25. I would like the device handle to be the preferred means of communicating with the userspace daemon from 2.6.26 on forward. This patch: Functions to facilitate reading and writing to the eCryptfs miscellaneous device handle. This will replace the netlink interface as the preferred mechanism for communicating with the userspace eCryptfs daemon. Each user has his own daemon, which registers itself by opening the eCryptfs device handle. Only one daemon per euid may be registered at any given time. The eCryptfs module sends a message to a daemon by adding its message to the daemon's outgoing message queue. The daemon reads the device handle to get the oldest message off the queue. Incoming messages from the userspace daemon are immediately handled. If the message is a response, then the corresponding process that is blocked waiting for the response is awakened. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c3580aa52195699065bc2d7242b1c7e3e6903fa Author: Miklos Szeredi Date: Tue Apr 29 00:59:48 2008 -0700 ecryptfs: add missing lock around notify_change Callers of notify_change() need to hold i_mutex. Signed-off-by: Miklos Szeredi Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18d1dbf1d401e8f9d74cf1cf799fdb19cff150c6 Author: Harvey Harrison Date: Tue Apr 29 00:59:48 2008 -0700 ecryptfs: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05db67a4f2c14dab5bcaa46c7d4e9237bd11b37c Author: Adrian Bunk Date: Tue Apr 29 00:59:47 2008 -0700 remove ecryptfs_header_cache_0 Remove the no longer used ecryptfs_header_cache_0. Signed-off-by: Adrian Bunk Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afe42d7dea2983faa593d289ab241ffdd94d37b3 Author: Harvey Harrison Date: Tue Apr 29 00:59:47 2008 -0700 xen: make blkif_getgeo static Introduced between 2.6.25-rc2 and -rc3 drivers/block/xen-blkfront.c:139:5: warning: symbol 'blkif_getgeo' was not declared. Should it be static? Signed-off-by: Harvey Harrison Cc: Jeremy Fitzhardinge Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9e587abfdec2c2aaa55fab83bcb4972e2f84f9b Author: Jan Engelhardt Date: Tue Apr 29 00:59:46 2008 -0700 vt: fix background color on line feed A command that causes a line feed while a background color is active, such as perl -e 'print "x" x 60, "\e[44m", "x" x 40, "\e[0m\n"' and perl -e 'print "x" x 40, "\e[44m\n", "x" x 40, "\e[0m\n"' causes the line that was started as a result of the line feed to be completely filled with the currently active background color instead of the default color. When scrolling, part of the current screen is memcpy'd/memmove'd to the new region, and the new line(s) that will appear as a result are cleared using memset. However, the lines are cleared with vc->vc_video_erase_char, causing them to be colored with the currently active background color. This is different from X11 terminal emulators which always paint the new lines with the default background color (e.g. `xterm -bg black`). The clear operation (\e[1J and \e[2J) also use vc_video_erase_char, so a new vc->vc_scrl_erase_char is introduced with contains the erase character used for scrolling, which is built from vc->vc_def_color instead of vc->vc_color. Signed-off-by: Jan Engelhardt Cc: "Antonino A. Daplas" Cc: "H. Peter Anvin" Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3265e66b1825942c6e0fc457986cdf941a5f7d37 Author: Thomas Petazzoni Date: Tue Apr 29 00:59:43 2008 -0700 directly use kmalloc() and kfree() in init/initramfs.c Instead of using the malloc() and free() wrappers needed by the lib/inflate.c code for allocations, simply use kmalloc() and kfree() in the initramfs code. This is needed for a further lib/inflate.c-related cleanup patch that will remove the malloc() and free() functions. Take that opportunity to remove the useless kmalloc() return value cast. Based on work done by Matt Mackall. Signed-off-by: Thomas Petazzoni Signed-off-by: Matt Mackall Cc: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f97a5a8799b8d7d0afdb9d68a50a4e0e8298a05 Author: Dave Young Date: Tue Apr 29 00:59:43 2008 -0700 isolate ratelimit from printk.c for other use Due to the rcupreempt.h WARN_ON trigged, I got 2G syslog file. For some serious complaining of kernel, we need repeat the warnings, so here I isolate the ratelimit part of printk.c to a standalone file. Signed-off-by: Dave Young Acked-by: Paul E. McKenney Tested-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 762873c251b056c6c1b29e83a4dabafb064e5421 Author: OGAWA Hirofumi Date: Tue Apr 29 00:59:42 2008 -0700 vfs: fix unconditional write_super() call in file_fsync() We need to check ->s_dirt before calling write_super(). It became the cause of an unneeded write. This bug was noticed by Sudhanshu Saxena. Signed-off-by: OGAWA Hirofumi Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f0cfa52a1d4ffacd8e7de906d19662f5da58d58 Author: David Howells Date: Tue Apr 29 00:59:41 2008 -0700 xattr: add missing consts to function arguments Add missing consts to xattr function arguments. Signed-off-by: David Howells Cc: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ec02ef1596bb3c829a7e8b65ebf13b87faf1819 Author: Jan Blunck Date: Tue Apr 29 00:59:40 2008 -0700 vfs: remove lives_below_in_same_fs() Remove lives_below_in_same_fs() since is_subdir() from fs/dcache.c is providing the same functionality. Signed-off-by: Jan Blunck Acked-by: Miklos Szeredi Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5c8be3ce59dc59baf20b33dae3f8eb70af7b1f1 Author: Matthias Kaehlcke Date: Tue Apr 29 00:59:40 2008 -0700 fs/inode.c: use hlist_for_each_entry() fs/inode.c: use hlist_for_each_entry() in find_inode() and find_inode_fast() [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af065b8a19041554196971d8b6ae1459798d3b14 Author: Jan Kara Date: Tue Apr 29 00:59:39 2008 -0700 vfs: skip inodes without pages to free in drop_pagecache_sb() Many inodes have no pagecache, so we can avoid lots of lock-takings. Signed-off-by: Jan Kara Cc: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eccb95cee4f0d56faa46ef22fb94dd4a3578d3eb Author: Jan Kara Date: Tue Apr 29 00:59:37 2008 -0700 vfs: fix lock inversion in drop_pagecache_sb() Fix longstanding lock inversion in drop_pagecache_sb by dropping inode_lock before calling __invalidate_mapping_pages(). We just have to make sure inode won't go away from under us by keeping reference to it and putting the reference only after we have safely resumed the scan of the inode list. A bit tricky but not too bad... Signed-off-by: Jan Kara Cc: Fengguang Wu Cc: David Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8522509200b460443a7ca59138dc63bec1b690a Author: FUJITA Tomonori Date: Tue Apr 29 00:59:36 2008 -0700 swiotlb: use iommu_is_span_boundary helper function iommu_is_span_boundary in lib/iommu-helper.c was exported for PARISC IOMMUs (commit 3715863aa142c4f4c5208f5f3e5e9bac06006d2f). SWIOTLB can use it instead of the homegrown function. Signed-off-by: FUJITA Tomonori Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Cc: Tony Luck Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7133a15587b8921af8b074e0d3fe1606cbe5597 Author: Andrew Morton Date: Tue Apr 29 00:59:36 2008 -0700 lib/swiotlb.c: cleanups There's a pointlessly braced block of code in there. Remove the braces and save a tabstop. Cc: Andi Kleen Cc: FUJITA Tomonori Cc: Jan Beulich Cc: Tony Luck Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a3be324e3d9da08219d81d6765f445a726cf962 Author: Ciaran McCreesh Date: Tue Apr 29 00:59:35 2008 -0700 firmware loader: printk when requesting firmware Before requesting firmware, printk a message saying what we're requesting. This makes it easier to see what's going on, and provides an explanation for the huge silent delay that one would otherwise get after accidentally building ipw2200 as a non-module. Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66e106010db689fdbdbd7ae738b115dae5f521e4 Author: Robert P. J. Day Date: Tue Apr 29 00:59:34 2008 -0700 MAINTAINERS: clarify status of MN10300 mailing list as moderated Signed-off-by: Robert P. J. Day Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1d2c8b69ad81ea103b1e87809eba51931e16874 Author: David Howells Date: Tue Apr 29 00:59:34 2008 -0700 fdpic: check that the size returned by kernel_read() is what we asked for Check that the size of the read returned by kernel_read() is what we asked for. If it isn't, then reject the binary as being a badly formatted. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76308da18910e556747f6d100147f42ccc78662c Author: Ilpo Järvinen Date: Tue Apr 29 00:59:33 2008 -0700 smb.h: uses struct timespec but didn't include linux/time.h Signed-off-by: Ilpo Järvinen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c9ba34ee3dbc34e829f42e42a5e5273b1183500 Author: Andy Whitcroft Date: Tue Apr 29 00:59:33 2008 -0700 update checkpatch.pl to version 0.18 This version brings a few fixes for the extern checks, and a couple of new checks. Of note: - false is now recognised as a 0 assignment in static/external assignments, - printf format strings including %L are reported, - a number of fixes for the extern in .c file detector which had temporarily lost its ability to detect variables; undetected due to the loss of its test. Andy Whitcroft (8): Version: 0.18 false should trip 0 assignment checks tests: reinstate missing tests tests: allow specification of the file extension for a test fix extern checks for variables check for and report %Lu, %Ld, and %Li ensure we only start a statement on lines with some content extern spacing Signed-off-by: Andy Whitcroft Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 171ae1a491e216ef728436f9cc958e05cccf5a27 Author: Andy Whitcroft Date: Tue Apr 29 00:59:32 2008 -0700 update checkpatch.pl to version 0.17 This version brings improvements to external declaration detection, fixes to quote tracking, fixes to unary tracking, some clarification of wording, and the usual slew of fixes for false positives. Of note: - much better unary tracking across preprocessor directives - UTF8 checks highlight the character at fault - widening of mutex detection Andy Whitcroft (17): Version: 0.17 values: __attribute__ carries through the previous type quotes: should only follow "positive" lines clarify the indent tabs over spaces wording loosen NR_CPUS check for array range initialisers detect external function declarations without an extern prefix function declaration arguments should be with the identifier DEFINE_MUTEX should report in line with struct mutex NR_CPUS is valid in preprocessor statements comment detection should not start on the @@ line types: add support for #undef tighten mutex/completion reports to usage allow export of function pointers values: preprocessor #define is out of line maintain values values: #define does not always have parentheses unary '*' may be const utf8 checks should report location of the invalid character Wolfram Sang (1): make checkpatch.pl really skip Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee8900c9c7cc92db02b7edfa26ae3b2c9b2434f9 Author: Joe Perches Date: Tue Apr 29 00:59:31 2008 -0700 scripts/Lindent: support gnu indent v2.2.10 The new version of indent supports positioning labels in column 1 using "-il0" http://www.nabble.com/Release-2.2.10-of-GNU-Indent-td15990700.html Add "-il0" if indent version >= 2.2.10 Signed-off-by: Joe Perches Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a8ca95e9d62980fd3b41165ec05032c63ce21da Author: Julia Lawall Date: Tue Apr 29 00:59:30 2008 -0700 drivers/misc: elide a non-zero test on a result that is never 0 The function thermal_cooling_device_register always returns either a valid pointer or a value made with ERR_PTR, so a test for non-zero on the result will always succeed. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @a@ expression E, E1; statement S,S1; position p; @@ E = thermal_cooling_device_register(...) ... when != E = E1 if@p (E) S else S1 @n@ position a.p; expression E,E1; statement S,S1; @@ E = NULL ... when != E = E1 if@p (E) S else S1 @depends on !n@ expression E; statement S,S1; position a.p; @@ * if@p (E) S else S1 // Signed-off-by: Julia Lawall Cc: Thomas Sujith Cc: Len Brown Cc: Zhang Rui Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95d8c365b2df2adb904963333a93b15414403ed1 Author: Robert P. J. Day Date: Tue Apr 29 00:59:29 2008 -0700 lists: add "const" qualifier to first arg of list_splice() operations Since neither the list_splice() nor __list_splice() routines modify their first argument, might as well declare them "const". [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86735118459b46422e20d3b73ee732b1f1f780b1 Author: Robert P. J. Day Date: Tue Apr 29 00:59:28 2008 -0700 kbuild: move files that don't check __KERNEL__ Move files that don't check __KERNEL__ from unifdef-y to header-y. Signed-off-by: Robert P. J. Day Cc: Sam Ravnborg Cc: David Woodhouse Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a6924f93d0d511da5b34189563c5e31ffe5df2e Author: Robert P. J. Day Date: Tue Apr 29 00:59:28 2008 -0700 kbuild: remove duplicate, conflicting entry for oom.h oom.h is already tagged for unifdef'ing, so its entry as a simple exportable header should be deleted. Signed-off-by: Robert P. J. Day Cc: Sam Ravnborg Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e50b6ccdaaf0d933bb9d8409cac4b2f088f5a2f Author: S.Caglar Onur Date: Tue Apr 29 00:59:26 2008 -0700 fs/binfmt_aout.c: use printk_ratelimit() Use printk_ratelimit() instead of jiffies based arithmetic, suggested by Geert Uytterhoeven Signed-off-by: S.Caglar Onur Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aab3c3b01d1848a5e8a1ddec4e5656fc4de04982 Author: Robert P. J. Day Date: Tue Apr 29 00:59:25 2008 -0700 Remove superfluous include of string.h from percpu.h There's nothing in percpu.h that requires an explicit inclusion of string.h. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1aeb272cf09f9e2cbc62163b9f37a9b4d1c7e81d Author: Robert P. J. Day Date: Tue Apr 29 00:59:25 2008 -0700 kernel: explicitly include required header files under kernel/ Following an experimental deletion of the unnecessary directive #include from the header file , these files under kernel/ were exposed as needing to include one of or , so explicit includes were added where necessary. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a2e7f47d71e1df86acc1dda6826890b6546a4e1 Author: Pavel Emelyanov Date: Tue Apr 29 00:59:24 2008 -0700 binfmt_misc.c: avoid potential kernel stack overflow This can be triggered with root help only, but... Register the ":text:E::txt::/root/cat.txt:' rule in binfmt_misc (by root) and try launching the cat.txt file (by anyone) :) The result is - the endless recursion in the load_misc_binary -> open_exec -> load_misc_binary chain and stack overflow. There's a similar problem with binfmt_script, and there's a sh_bang memner on linux_binprm structure to handle this, but simply raising this in binfmt_misc may break some setups when the interpreter of some misc binaries is a script. So the proposal is to turn sh_bang into a bit, add a new one (the misc_bang) and raise it in load_misc_binary. After this, even if we set up the misc -> script -> misc loop for binfmts one of them will step on its own bang and exit. Signed-off-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbd9b67bd3883dff0ef4b8ec9229d315a9ba38f0 Author: Dmitry Adamushko Date: Tue Apr 29 00:59:23 2008 -0700 kthread: call wake_up_process() without the lock being held From the POV of synchronization, there should be no need to call wake_up_process() with the 'kthread_create_lock' being held. Signed-off-by: Dmitry Adamushko Cc: Nick Piggin Cc: Ingo Molnar Cc: Rusty Russell Cc: "Paul E. McKenney" Cc: Peter Zijlstra Cc: Andy Whitcroft Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2d416dcc92e576d0e339efd641bd3d8ee2bfb4d Author: Andrew Morton Date: Tue Apr 29 00:59:22 2008 -0700 codafs: fix build warning powerpc: fs/coda/coda_linux.c: In function 'coda_iattr_to_vattr': fs/coda/coda_linux.c:137: warning: large integer implicitly truncated to unsigned type Cc: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7afea3bcb1f87f3ddf34b38f202ad0d03f29e120 Author: Jon Schindler Date: Tue Apr 29 00:59:21 2008 -0700 drivers/block/floppy.c: replace init_module&cleanup_module with module_init&module_exit Replace init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5045bcae0fb466a1dbb6af0036e56901fd7aafb7 Author: Rik van Riel Date: Tue Apr 29 00:59:21 2008 -0700 sysrq: add show-backtrace-on-all-cpus function SysRQ-P is not always useful on SMP systems, since it usually ends up showing the backtrace of a CPU that is doing just fine, instead of the backtrace of the CPU that is having problems. This patch adds SysRQ show-all-cpus(L), which shows the backtrace of every active CPU in the system. It skips idle CPUs because some SMP systems are just too large and we already know what the backtrace of the idle task looks like. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Rik van Riel Randy Dunlap Cc: Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e574195b75543bc6a6240306313988b1952470c Author: Harvey Harrison Date: Tue Apr 29 00:59:20 2008 -0700 drivers/misc: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eecd58536a97502153d4a2bd6f05038f657a1ab3 Author: Harvey Harrison Date: Tue Apr 29 00:59:19 2008 -0700 firmware: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Doug Warzecha Cc: Matt Domsch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d195a5409120277b800c42e846ee29cc667b777 Author: Adrian Bunk Date: Tue Apr 29 00:59:18 2008 -0700 proper extern for late_time_init Add a proper extern for late_time_init in include/linux/init.h Signed-off-by: Adrian Bunk Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 175a06ae300188af8a61db68a78e1af44dc7d44f Author: Tetsuo Handa Date: Tue Apr 29 00:59:17 2008 -0700 exec: remove argv_len from struct linux_binprm I noticed that 2.6.24.2 calculates bprm->argv_len at do_execve(). But it doesn't update bprm->argv_len after "remove_arg_zero() + copy_strings_kernel()" at load_script() etc. audit_bprm() is called from search_binary_handler() and search_binary_handler() is called from load_script() etc. Thus, I think the condition check if (bprm->argv_len > (audit_argv_kb << 10)) return -E2BIG; in audit_bprm() might return wrong result when strlen(removed_arg) != strlen(spliced_args). Why not update bprm->argv_len at load_script() etc. ? By the way, 2.6.25-rc3 seems to not doing the condition check. Is the field bprm->argv_len no longer needed? Signed-off-by: Tetsuo Handa Cc: Ollie Wild Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ecd0fa9825a1270e31fb48bc9edcfb28918b6c51 Author: WANG Cong Date: Tue Apr 29 00:59:15 2008 -0700 Remove the macro get_personality Remove the macro get_personality, use ->personality instead. Cc: Christoph Hellwig Cc: David Howells Cc: Bryan Wu Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e5e8c5085190b30b6fa42a4b75a88c10846b5f2 Author: jan sonnek Date: Tue Apr 29 00:59:15 2008 -0700 Misc: phantom, consistent whitespace Make it consistent with the rest of the header. Signed-off-by: jan sonnek Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d4f9f094b0a01ba199f97cd4a5f5609391a04f9 Author: Jiri Slaby Date: Tue Apr 29 00:59:14 2008 -0700 Misc, phantom, fix poll Return ERR even if there are pending data, but hw is not running. Do not decrement count in poll, do it in ioctl, where data are actually read. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e4e8e689fe90dd94bd76f9706d6cce580941ed5 Author: Jiri Slaby Date: Tue Apr 29 00:59:13 2008 -0700 Misc: phantom, add compat ioctl Openhaptics uses pointers in _IOC() macros, implement compat for them. Also add _IOC alternatives which are not 32/64 bit dependent (structures passed through aren't yet) -- libphantom will use them. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb0f1c442d7cf1f7cb746c26c6120bb42e69c49c Author: Adrian Bunk Date: Tue Apr 29 00:59:12 2008 -0700 proper __do_softirq() prototype Add a proper prototype for __do_softirq() in include/linux/interrupt.h Signed-off-by: Adrian Bunk Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d4b69002e56e93f1cfe8bb863846ecde3990032 Author: Julia Lawall Date: Tue Apr 29 00:59:12 2008 -0700 fs/affs/file.c: use BUG_ON if (...) BUG(); should be replaced with BUG_ON(...) when the test has no side-effects to allow a definition of BUG_ON that drops the code completely. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ disable unlikely @ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (unlikely(E)) { BUG(); } + BUG_ON(E); ) @@ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (E) { BUG(); } + BUG_ON(E); ) // Signed-off-by: Julia Lawall Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b70d3a2c596fb52b02488ad4aef13fa0d602090c Author: Benjamin Herrenschmidt Date: Tue Apr 29 00:59:11 2008 -0700 iomap: fix 64 bits resources on 32 bits Almost all implementations of pci_iomap() in the kernel, including the generic lib/iomap.c one, copies the content of a struct resource into unsigned long's which will break on 32 bits platforms with 64 bits resources. This fixes all definitions of pci_iomap() to use resource_size_t. I also "fixed" the 64bits arch for consistency. Signed-off-by: Benjamin Herrenschmidt Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 626adeb6675fdf60e9d8c6212776b0b0acf0e376 Author: Bjorn Helgaas Date: Tue Apr 29 00:59:10 2008 -0700 Simplify initcall_debug output print_fn_descriptor_symbol() prints the address if we don't have a symbol, so no need to print both. Also, combine printing return value with elapsed time. Changes this: Calling initcall 0xc05b7a70: pci_mmcfg_late_insert_resources+0x0/0x50() initcall 0xc05b7a70: pci_mmcfg_late_insert_resources+0x0/0x50() returned 1. initcall 0xc05b7a70 ran for 0 msecs: pci_mmcfg_late_insert_resources+0x0/0x50() initcall at 0xc05b7a70: pci_mmcfg_late_insert_resources+0x0/0x50(): returned with error code 1 to this: calling pci_mmcfg_late_insert_resources+0x0/0x50() initcall pci_mmcfg_late_insert_resources+0x0/0x50() returned 1 after 0 msecs initcall pci_mmcfg_late_insert_resources+0x0/0x50() returned with error code 1 Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22caa0417db3b1d3dfafc9b7c0bf31baf8d667e7 Author: Jim Meyering Date: Tue Apr 29 00:59:09 2008 -0700 lib/inflate.c: handle failed malloc() lib/inflate.c (inflate_dynamic): Don't deref NULL upon failed malloc. Signed-off-by: Jim Meyering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd6fda36089cf3b450821228c2f575a3b5d0e7a7 Author: Jim Meyering Date: Tue Apr 29 00:59:08 2008 -0700 hfsplus: handle match_strdup failure fs/hfsplus/options.c (hfsplus_parse_options): Handle match_strdup failure. Signed-off-by: Jim Meyering Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fbe5c31009d26c7b6b73d5c69fe930a5e9d2e26 Author: Jim Meyering Date: Tue Apr 29 00:59:07 2008 -0700 hfs: handle match_strdup failure fs/hfs/super.c (parse_options): Handle match_strdup failure, twice. Signed-off-by: Jim Meyering Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6db27dd9d26fb270adaa4c265df65ccb49638bd0 Author: Jim Meyering Date: Tue Apr 29 00:59:06 2008 -0700 affs: handle match_strdup failure fs/affs/super.c (parse_options): Remove useless initialization. Handle match_strdup failure. Signed-off-by: Jim Meyering Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61d64576a21275114d6bffff3c1cac6c8e2f7cf2 Author: Jiri Olsa Date: Tue Apr 29 00:59:05 2008 -0700 fs: remove unused fops from struct char_device_struct struct char_device_struct::fops is no longer used: remove it. Signed-off-by: Jiri Olsa Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4aacd47bd88126109a7c295b79c93604bd4bfd5a Author: Jiri Kosina Date: Tue Apr 29 00:59:04 2008 -0700 ipwireless: remove dead code Remove unused leftovers of debugging functions. 2.6.25 material. Reported-by: Adrian Bunk Signed-off-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f249fdd8c19ff65825c0be67212cdf22e556668e Author: Harvey Harrison Date: Tue Apr 29 00:59:03 2008 -0700 autofs4: fix sparse warning in root.c fs/autofs4/root.c:536:23: warning: symbol 'ino' shadows an earlier one fs/autofs4/root.c:510:22: originally declared here There is no need to redeclare, we are at the end of the loop and in the next iteration of the loop, ino will be reset. Signed-off-by: Harvey Harrison Acked-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58b250daff6a24518813975143c8433d9d5b684f Author: Adrian Bunk Date: Tue Apr 29 00:59:02 2008 -0700 remove mca_is_adapter_used() Remove the no longer used mca_is_adapter_used(). Signed-off-by: Adrian Bunk Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3202e1811fd312f3f32ddc8f526aa2691b64ec55 Author: Adrian Bunk Date: Tue Apr 29 00:59:02 2008 -0700 make BINFMT_FLAT a bool I have not yet seen anyone saying he has a reasonable use case for using BINFMT_FLAT modular on his embedded device. Considering that fs/binfmt_flat.c even lacks a MODULE_LICENSE() I really doubt there is any, and this patch therefore makes BINFMT_FLAT a bool. Signed-off-by: Adrian Bunk Acked-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1e3af72c10ba74fb15864c354515ec1bd8bf2a5 Author: Adrian Bunk Date: Tue Apr 29 00:59:01 2008 -0700 make fs/buffer.c:cont_expand_zero() static cont_expand_zero() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 946a57b526a16e5662235cb8f573337bc8ecdc48 Author: Adrian Bunk Date: Tue Apr 29 00:59:00 2008 -0700 remove generic_commit_write() Remove the obsolete and no longer used generic_commit_write(). Signed-off-by: Adrian Bunk Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45cc2b96f20fa27088a650587e5d9dc5fa5e32c0 Author: Adrian Bunk Date: Tue Apr 29 00:58:59 2008 -0700 fs/timerfd.c should #include Every file should include the headers containing the prototypes for its global functions (in this case for sys_timerfd_*()). Signed-off-by: Adrian Bunk Cc: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f17a32e97eaa924754bf4463aee588a3890c7ae0 Author: Adrian Bunk Date: Tue Apr 29 00:58:58 2008 -0700 let LOG_BUF_SHIFT default to 17 16 kB is often no longer enough for a normal boot of an UP system. And even less when people e.g. use suspend. 17 seems to be a more reasonable default for current kernels on current hardware (it's just the default, anyone who is memory limited can still lower it). Signed-off-by: Adrian Bunk Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5470b596abdd566339b2417e807b1198be64b97 Author: Adrian Bunk Date: Tue Apr 29 00:58:57 2008 -0700 fs/aio.c: make 3 functions static Make the following needlessly global functions static: - __put_ioctx() - lookup_ioctx() - io_submit_one() Signed-off-by: Adrian Bunk Cc: Zach Brown Cc: Benjamin LaHaise Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07d45da616f8514651360b502314fc9554223a03 Author: Adrian Bunk Date: Tue Apr 29 00:58:57 2008 -0700 fs/drop_caches.c: make 2 functions static Make the following needlessly global functions static: - drop_pagecache() - drop_slab() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f11b00f3bd89c91c684d56b2082d1b0241ff20ae Author: Adrian Bunk Date: Tue Apr 29 00:58:56 2008 -0700 fs/fs-writeback.c: make 2 functions static Make the following needlessly global functions static: - writeback_acquire() - writeback_release() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67cde595374dd0e4e4a537dbf9dff70fd3d7bd7b Author: Adrian Bunk Date: Tue Apr 29 00:58:55 2008 -0700 make vfs_ioctl() static Make the needlessly global vfs_ioctl() static. Signed-off-by: Adrian Bunk Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b09ae66922ca198e5830c0a4d74400a507a9170 Author: Adrian Bunk Date: Tue Apr 29 00:58:54 2008 -0700 make __put_super() static Make the needlessly global __put_super() static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b1919a1e8b8968e0ac9030a4f14f0d2cd69e7cf Author: Adrian Bunk Date: Tue Apr 29 00:58:54 2008 -0700 fs/freevxfs/: proper externs Move the extern declarations of several structs to vxfs_extern.h Signed-off-by: Adrian Bunk Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b0a8da7a7bbe7f84c7bd16a5e965a129f461881 Author: Adrian Bunk Date: Tue Apr 29 00:58:52 2008 -0700 fs/hfsplus/: proper externs Add proper extern declarations for two structs in fs/hfsplus/hfsplus_fs.h Signed-off-by: Adrian Bunk Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4488c59c942bd6004fc97f0c2a7603a2f5dd80e0 Author: Adrian Bunk Date: Tue Apr 29 00:58:51 2008 -0700 fs/ramfs/ extern cleanup - internal.h shouldn't duplicate the extern declaration for ramfs_file_operations already in include/linux/ramfs.h - file-mmu.c needs two #include's for seeing the extern declarations of it's global struct's Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7b16c108fd044adc422ff21b5d6c16022462fd0 Author: Sam Ravnborg Date: Tue Apr 29 00:58:51 2008 -0700 cpu: fix section mismatch warning in reference to register_cpu_notifier Fix following warnings: WARNING: vmlinux.o(.text+0xc60): Section mismatch in reference from the function kvm_init() to the function .cpuinit.text:register_cpu_notifier() WARNING: vmlinux.o(.text+0x33869a): Section mismatch in reference from the function xfs_icsb_init_counters() to the function .cpuinit.text:register_cpu_notifier() WARNING: vmlinux.o(.text+0x5556a1): Section mismatch in reference from the function acpi_processor_install_hotplug_notify() to the function .cpuinit.text:register_cpu_notifier() WARNING: vmlinux.o(.text+0xfe6b28): Section mismatch in reference from the function cpufreq_register_driver() to the function .cpuinit.text:register_cpu_notifier() register_cpu_notifier() are only really defined when HOTPLUG_CPU is enabled. So references to the function are OK. Annotate it with __ref so we do not get warnings from callers and do not get warnings for the functions/data used by register_cpu_notifier(). Signed-off-by: Sam Ravnborg Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 514a20a5da99aef8e667cc395841a5c4e5f9e8c1 Author: Sam Ravnborg Date: Tue Apr 29 00:58:50 2008 -0700 cpu: fix section mismatch warnings in *cpu_down Fix following warnings: WARNING: vmlinux.o(.text+0x75c8d): Section mismatch in reference from the function take_cpu_down() to the variable .cpuinit.data:cpu_chain WARNING: vmlinux.o(.text+0x75d2a): Section mismatch in reference from the function _cpu_down() to the variable .cpuinit.data:cpu_chain WARNING: vmlinux.o(.text+0x75d4d): Section mismatch in reference from the function _cpu_down() to the variable .cpuinit.data:cpu_chain WARNING: vmlinux.o(.text+0x75de4): Section mismatch in reference from the function _cpu_down() to the variable .cpuinit.data:cpu_chain WARNING: vmlinux.o(.text+0x75e33): Section mismatch in reference from the function _cpu_down() to the variable .cpuinit.data:cpu_chain cpu_down is only used from code surrounded by HOTPLUG_CPU so any references to __cpuinit is OK. Add a few __ref to tech modpost to ignore the references. This is just papering over the fact that the cpu hotplug code is fragile with respect to use of HOTPLUG_CPU and in many cases rely on __cpuinit to get rid of code when HOTPLUG_CPU is not enabled. For now this is the least invasive change. Signed-off-by: Sam Ravnborg Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9647155ffbce9dffed8a9a4768c8994334b609db Author: Sam Ravnborg Date: Tue Apr 29 00:58:48 2008 -0700 cpu: fix section mismatch warning in unregister_cpu_notifier Fix following warning: WARNING: vmlinux.o(.text+0x75f4e): Section mismatch in reference from the function unregister_cpu_notifier() to the variable .cpuinit.data:cpu_chain We know that unregister_cpu_notifier is using HOTPLUG_CPU stuff - so ignore these references. Annotating unregister_cpu_notifier had been another option but this caused far more warnings since not all callers were annotated __cpuinit. Signed-off-by: Sam Ravnborg Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f718e31819857825315300ea3c2dbc3f26ff3b0e Author: Sam Ravnborg Date: Tue Apr 29 00:58:47 2008 -0700 cpu: fix section mismatch warnings in hotcpu_register Fix following warnings: WARNING: vmlinux.o(.data+0x5020): Section mismatch in reference from the variable cpu_vsyscall_notifier_nb.12876 to the function .cpuinit.text:cpu_vsyscall_notifier() WARNING: vmlinux.o(.data+0x9ce0): Section mismatch in reference from the variable profile_cpu_callback_nb.17654 to the function .devinit.text:profile_cpu_callback() WARNING: vmlinux.o(.data+0xd380): Section mismatch in reference from the variable workqueue_cpu_callback_nb.15004 to the function .devinit.text:workqueue_cpu_callback() WARNING: vmlinux.o(.data+0x11d00): Section mismatch in reference from the variable relay_hotcpu_callback_nb.19626 to the function .cpuinit.text:relay_hotcpu_callback() WARNING: vmlinux.o(.data+0x12970): Section mismatch in reference from the variable cpu_callback_nb.24694 to the function .devinit.text:cpu_callback() WARNING: vmlinux.o(.data+0x3fee0): Section mismatch in reference from the variable percpu_counter_hotcpu_callback_nb.10903 to the function .cpuinit.text:percpu_counter_hotcpu_callback() WARNING: vmlinux.o(.data+0x74ce0): Section mismatch in reference from the variable topology_cpu_callback_nb.12506 to the function .cpuinit.text:topology_cpu_callback() Functions used as argument are by definition only used in HOTPLUG_CPU situations so thay are annotated __cpuinit. Annotate the static variable used by hotcpu_register with __cpuinitdata to match this definition. Signed-off-by: Sam Ravnborg Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63e3453e547b20321381b212cb1ee11537dc843d Author: Harvey Harrison Date: Tue Apr 29 00:58:44 2008 -0700 befs: fix sparse warning in linuxvfs.c Use link as the variable name to avoid shadowing the arg. fs/befs/linuxvfs.c:492:8: warning: symbol 'p' shadows an earlier one fs/befs/linuxvfs.c:488:77: originally declared here Signed-off-by: Harvey Harrison Cc: "Sergey S. Kostyliov" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9fe76c763f0e18582bcb670c386978e83a755d05 Author: Harvey Harrison Date: Tue Apr 29 00:58:44 2008 -0700 coda: add static to functions in dir.c coda_unlink, coda_rmdir, coda_readdir can all be static, the forward declarations already were. Signed-off-by: Harvey Harrison Cc: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 679c9cd4acc2cf2872171813752eab3320273339 Author: Sripathi Kodi Date: Tue Apr 29 00:58:42 2008 -0700 add RUSAGE_THREAD Add the RUSAGE_THREAD option for the getrusage system call. This is essentially Roland's patch from http://lkml.org/lkml/2008/1/18/589, but the line about RUSAGE_LWP line has been removed, as suggested by Ulrich and Christoph. Signed-off-by: Roland McGrath Signed-off-by: Sripathi Kodi Cc: Ingo Molnar Cc: Michael Kerrisk Cc: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5949050f2610fa526b154e0d8379218e54f49d1 Author: Harvey Harrison Date: Tue Apr 29 00:58:41 2008 -0700 adfs: work around bogus sparse warning fs/adfs/dir_f.c:126:4: warning: do-while statement is not a compound statement Signed-off-by: Harvey Harrison Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95b570c9cef3b12356454c7112571b7e406b4b51 Author: Nur Hussein Date: Tue Apr 29 00:58:39 2008 -0700 Taint kernel after WARN_ON(condition) The kernel is sent to tainted within the warn_on_slowpath() function, and whenever a warning occurs the new taint flag 'W' is set. This is useful to know if a warning occurred before a BUG by preserving the warning as a flag in the taint state. This does not work on architectures where WARN_ON has its own definition. These archs are: 1. s390 2. superh 3. avr32 4. parisc The maintainers of these architectures have been added in the Cc: list in this email to alert them to the situation. The documentation in oops-tracing.txt has been updated to include the new flag. Signed-off-by: Nur Hussein Cc: Arjan van de Ven Cc: "Randy.Dunlap" Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Kyle McMartin Cc: Martin Schwidefsky Cc: Haavard Skinnemoen Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd3feb13e15a4859f629c9a076554e260c1d1397 Author: Ilpo Järvinen Date: Tue Apr 29 00:58:37 2008 -0700 fs/coda: remove static inline forward declarations They're defined later on in the same file with bodies and nothing in between needs them. Signed-off-by: Ilpo Järvinen Reviewed-by: Pekka Enberg Acked-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ede9c697bc7513f210103fa77a9031e89726ae40 Author: Eric Dumazet Date: Tue Apr 29 00:58:35 2008 -0700 Avoid divides in BITS_TO_LONGS BITS_PER_LONG is a signed value (32 or 64) DIV_ROUND_UP(nr, BITS_PER_LONG) performs signed arithmetic if "nr" is signed too. Converting BITS_TO_LONGS(nr) to DIV_ROUND_UP(nr, BITS_PER_BYTE * sizeof(long)) makes sure compiler can perform a right shift, even if "nr" is a signed value, instead of an expensive integer divide. Applying this patch saves 141 bytes on x86 when CONFIG_CC_OPTIMIZE_FOR_SIZE=y and speedup bitmap operations. Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdac75e6f2fec9abc21d0abb4e5d80720eeebb10 Author: Davide Libenzi Date: Tue Apr 29 00:58:34 2008 -0700 epoll: avoid kmemcheck warning Epoll calls rb_set_parent(n, n) to initialize the rb-tree node, but rb_set_parent() accesses node's pointer in its code. This creates a warning in kmemcheck (reported by Vegard Nossum) about an uninitialized memory access. The warning is harmless since the following rb-tree node insert is going to overwrite the node data. In any case I think it's better to not have that happening at all, and fix it by simplifying the code to get rid of a few lines that became superfluous after the previous epoll changes. Signed-off-by: Davide Libenzi Cc: Vegard Nossum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b781ecb6a379f155568ef7093e38c6c1d857fe53 Author: Arjan van de Ven Date: Tue Apr 29 00:58:34 2008 -0700 make /dev/kmem a config option Make /dev/kmem a config option; /dev/kmem is VERY rarely used, and when used, it's generally for no good (rootkits tend to be the most common users). With this config option, users have the choice to disable /dev/kmem, saving some size as well. A patch to disable /dev/kmem has been in the Fedora and RHEL kernels for 4+ years now without any known problems or legit users of /dev/kmem. [akpm@linux-foundation.org: make CONFIG_DEVKMEM default to y] Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0cddc0a906ee3e47ce3e09107d385ff89f87cd6d Author: Harvey Harrison Date: Tue Apr 29 00:58:29 2008 -0700 power: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Greg KH Cc: "Rafael J. Wysocki" Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 551883ae8c9c31460e796e7b1b8aa9069de268b4 Author: Nishanth Aravamudan Date: Tue Apr 29 00:58:26 2008 -0700 page allocator: explicitly retry hugepage allocations Add __GFP_REPEAT to hugepage allocations. Do so to not necessitate userspace putting pressure on the VM by repeated echo's into /proc/sys/vm/nr_hugepages to grow the pool. With the previous patch to allow for large-order __GFP_REPEAT attempts to loop for a bit (as opposed to indefinitely), this increases the likelihood of getting hugepages when the system experiences (or recently experienced) load. Mel tested the patchset on an x86_32 laptop. With the patches, it was easier to use the proc interface to grow the hugepage pool. The following is the output of a script that grows the pool as much as possible running on 2.6.25-rc9. Allocating hugepages test ------------------------- Disabling OOM Killer for current test process Starting page count: 0 Attempt 1: 57 pages Progress made with 57 pages Attempt 2: 73 pages Progress made with 16 pages Attempt 3: 74 pages Progress made with 1 pages Attempt 4: 75 pages Progress made with 1 pages Attempt 5: 77 pages Progress made with 2 pages 77 pages was the most it allocated but it took 5 attempts from userspace to get it. With the 3 patches in this series applied, Allocating hugepages test ------------------------- Disabling OOM Killer for current test process Starting page count: 0 Attempt 1: 75 pages Progress made with 75 pages Attempt 2: 76 pages Progress made with 1 pages Attempt 3: 79 pages Progress made with 3 pages And 79 pages was the most it got. Your patches were able to allocate the bulk of possible pages on the first attempt. Signed-off-by: Nishanth Aravamudan Cc: Andy Whitcroft Tested-by: Mel Gorman Cc: Dave Hansen Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a41f24ea9fd6169b147c53c2392e2887cc1d9247 Author: Nishanth Aravamudan Date: Tue Apr 29 00:58:25 2008 -0700 page allocator: smarter retry of costly-order allocations Because of page order checks in __alloc_pages(), hugepage (and similarly large order) allocations will not retry unless explicitly marked __GFP_REPEAT. However, the current retry logic is nearly an infinite loop (or until reclaim does no progress whatsoever). For these costly allocations, that seems like overkill and could potentially never terminate. Mel observed that allowing current __GFP_REPEAT semantics for hugepage allocations essentially killed the system. I believe this is because we may continue to reclaim small orders of pages all over, but never have enough to satisfy the hugepage allocation request. This is clearly only a problem for large order allocations, of which hugepages are the most obvious (to me). Modify try_to_free_pages() to indicate how many pages were reclaimed. Use that information in __alloc_pages() to eventually fail a large __GFP_REPEAT allocation when we've reclaimed an order of pages equal to or greater than the allocation's order. This relies on lumpy reclaim functioning as advertised. Due to fragmentation, lumpy reclaim may not be able to free up the order needed in one invocation, so multiple iterations may be requred. In other words, the more fragmented memory is, the more retry attempts __GFP_REPEAT will make (particularly for higher order allocations). This changes the semantics of __GFP_REPEAT subtly, but *only* for allocations > PAGE_ALLOC_COSTLY_ORDER. With this patch, for those size allocations, we will try up to some point (at least 1< Cc: Andy Whitcroft Tested-by: Mel Gorman Cc: Dave Hansen Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab857d09386661145924c9403792234aeca4bdff Author: Nishanth Aravamudan Date: Tue Apr 29 00:58:23 2008 -0700 mm: fix misleading __GFP_REPEAT related comments The definition and use of __GFP_REPEAT, __GFP_NOFAIL and __GFP_NORETRY in the core VM have somewhat differing comments as to their actual semantics. Annoyingly, the flags definition has inline and header comments, which might be interpreted as not being equivalent. Just add references to the header comments in the inline ones so they don't go out of sync in the future. In their use in __alloc_pages() clarify that the current implementation treats low-order allocations and __GFP_REPEAT allocations as distinct cases. To clarify, the flags' semantics are: __GFP_NORETRY means try no harder than one run through __alloc_pages __GFP_REPEAT means __GFP_NOFAIL __GFP_NOFAIL means repeat forever order <= PAGE_ALLOC_COSTLY_ORDER means __GFP_NOFAIL Signed-off-by: Nishanth Aravamudan Acked-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86051ca5eaf5e560113ec7673462804c54284456 Author: KAMEZAWA Hiroyuki Date: Tue Apr 29 00:58:21 2008 -0700 mm: fix usemap initialization usemap must be initialized only when pfn is within zone. If not, it corrupts memory. And this patch also reduces the number of calls to set_pageblock_migratetype() from (pfn & (pageblock_nr_pages -1) to !(pfn & (pageblock_nr_pages-1) it should be called once per pageblock. Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Mel Gorman Cc: Hugh Dickins Cc: Shi Weihua Cc: Balbir Singh Cc: Pavel Emelyanov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66fb9d120e91050093b8ce4c1daa2e440660152b Author: Thomas Renninger Date: Wed Apr 16 20:52:02 2008 +0200 ACPI: Cleanup: Remove unneeded, multiple local dummy variables Signed-off-by: Thomas Renninger Signed-off-by: Len Brown commit c46e5658a0b81891532705bd65592afe091a5967 Author: Dmitry Torokhov Date: Mon Nov 5 11:43:36 2007 -0500 ACPI: video - fix permissions on some proc entries POST and DOS are supposed to be writable but permissions did not allow it. Signed-off-by: Dmitry Torokhov Acked-by: Zhang Rui Signed-off-by: Len Brown commit 251cb0bc795f5c0d8ca27df093319e5b39966174 Author: Dmitry Torokhov Date: Mon Nov 5 11:43:34 2007 -0500 ACPI: video - properly handle errors when registering proc elements Have acpi_video_device_add_fs() and acpi_video_bus_add_fs() properly unwind proc creation after error. Signed-off-by: Dmitry Torokhov Acked-by: Zhang Rui Signed-off-by: Len Brown commit 78eed028f13b1a0b2612368dff3786e400e6cf8b Author: Dmitry Torokhov Date: Mon Nov 5 11:43:33 2007 -0500 ACPI: video - do not store invalid entries in attached_array list this is a cleanup, not a change to function. Signed-off-by: Dmitry Torokhov Acked-by: Zhang Rui Signed-off-by: Len Brown commit 2c6e33c366bff2f839df60d9235ff09143e28dd9 Author: Len Brown Date: Wed Apr 23 18:02:52 2008 -0400 ACPI: re-name acpi_pm_ops to acpi_suspend_ops ... as they are platform_suspend_ops after all. cosmetic re-name only, no functional change. Signed-off-by: Len Brown commit e7ae1e7ef9b4ef50444a49611dab92cb778eb97c Author: Ingo Molnar Date: Tue Apr 29 10:21:20 2008 +0200 ACER_WMI/ASUS_LAPTOP: fix build bug randconfig testing in x86.git found the following upstream build bug: drivers/built-in.o: In function `acer_led_exit': acer-wmi.c:(.text+0xdc76e): undefined reference to `led_classdev_unregister' drivers/built-in.o: In function `acer_platform_probe': acer-wmi.c:(.devinit.text+0x63e6): undefined reference to `led_classdev_register' which was due to acer-wmi.o only depending on CONFIG_LEDS_CLASS, while also using a symbol offered by CONFIG_NEW_LEDS. Also fix a similar bug in CONFIG_ASUS_LAPTOP. Signed-off-by: Ingo Molnar Signed-off-by: Len Brown commit 90fe17f4df2f830601ffd422b11d1f7f9a9d0355 Author: Cyrill Gorcunov Date: Fri Apr 18 13:27:29 2008 -0700 thinkpad_acpi: fix possible NULL pointer dereference if kstrdup failed Signed-off-by: Cyrill Gorcunov Acked-by: Henrique de Moraes Holschuh Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit a815ab8b5891f3d2515316655729272f68269e3b Author: Li Zefan Date: Fri Apr 18 13:27:29 2008 -0700 ACPI: check a return value correctly in acpi_power_get_context() We should check *resource != NULL rather than resource != NULL, which will be always true. Signed-off-by: Li Zefan Acked-by: Zhao Yakui Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 2a241d77cfdab08544a78057a4b24c9a98dc79d0 Author: Adrian Bunk Date: Mon Mar 31 02:05:40 2008 +0300 #if 0 acpi/bay.c:eject_removable_drive() This patch #if 0's the unused eject_removable_drive(). Signed-off-by: Adrian Bunk Signed-off-by: Len Brown commit e1faa9da284d14487ed4280b4e87cfde8e1539af Author: Corentin Chary Date: Thu Mar 13 12:57:18 2008 +0100 eeepc-laptop: add hwmon fan control Adds an hwmon interface to control the fan. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit a5fa429b4b19cccd3f91a98af891c7ba2706cc1d Author: Corentin Chary Date: Thu Mar 13 12:56:37 2008 +0100 eeepc-laptop: add backlight Add backlight class support to the eeepc-laptop driver. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit e59f87966adef2cb03d419530e3ade5159487d6d Author: Eric Cooper Date: Thu Mar 13 12:55:46 2008 +0100 eeepc-laptop: add base driver This patch is based on Eric Cooper's work to clean the original asus_acpi given by Asus. It's a platform driver (/sys/devices/platform/eeepc/) wich support: - hotkeys - wlan on/off - camera on/off - cardr on/off Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 68f12ae5d778279e13e406d3913c74c592307770 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:30 2008 -0300 ACPI: thinkpad-acpi: bump up version to 0.20 Full LED sysfs support, and the rest of the assorted minor fixes and enhancements are a good reason to checkpoint a new version... Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 3f6cb5630a5994f58c3cf620d0f6d71ff626229d Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:29 2008 -0300 ACPI: thinkpad-acpi: fix selects in Kconfig Add missing select for BACKLIGHT_LCD_SUPPORT, as select doesn't select the dependencies of a symbol for us. Also, "select INPUT" in Kconfig. We are not an Input device, nor are we anywhere close to the input subsystem in the Kconfig tree, so using "depends on INPUT" is not user-friendly at all. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit e0e3c0615abdb1c3e28356595f7be87627288d5b Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:28 2008 -0300 ACPI: thinkpad-acpi: use a private workqueue Switch all task workers to a private thinkpad-acpi workqueue. This way, we don't risk causing trouble for other tasks scheduled to the default work queue, as our workers end up needing to access the ACPI EC, run ACPI AML code, trigger SMI traps... and none of those are exactly known to be fast, simple operations. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 10cc92759bb5d6031d308bdde96775f74082bb44 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:27 2008 -0300 ACPI: thinkpad-acpi: fluff really minor fix Fix a minor (nano?) thing that bothered me at exactly at the wrong time. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 65807cc284dd291b024dd6e55de88feb16b4230a Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:26 2008 -0300 ACPI: thinkpad-acpi: use uppercase for "LED" on user documentation Change all occourences of the "led" word to full uppercase in user documentation. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Randy Dunlap Signed-off-by: Len Brown commit af116101924914a9655dfad108548d0db58c40f9 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:25 2008 -0300 ACPI: thinkpad-acpi: add sysfs led class support to thinkpad leds (v3.2) Add a sysfs led class interface to the led subdriver. Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Purdie Signed-off-by: Len Brown commit e306501d1c4ff610feaba74ac35dd13e470480e6 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:24 2008 -0300 ACPI: thinkpad-acpi: add sysfs led class support for thinklight (v3.1) Add a sysfs led class interface to the thinklight (light subdriver). Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Purdie Signed-off-by: Len Brown commit 4fa6811b8ade1b7839342824939817a8fc751539 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:23 2008 -0300 ACPI: thinkpad-acpi: prepare light and LED for sysfs support Do some preparatory work to add sysfs support to the thinklight and thinkpad leds driver. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 95e57ab2cbd8b016327b23d76da8a96cbd26ac0c Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:22 2008 -0300 ACPI: thinkpad-acpi: claim tpacpi as an official short handle (v1.1) Unfortunately, a lot of stuff in the kernel has size limitations, so "thinkpad-acpi" ends up eating up too much real estate. We were using "tpacpi" in symbols already, but this shorthand was not visible to userland. Document that the driver will use tpacpi as a short hand where necessary, and use it to name the kernel thread for NVRAM polling (now named "ktpacpi_nvramd"). Also, register a module alias with the shorthand. One can refer to the module using the shorthand name. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit e11aecf1379e7c4a0293182096e38e5a336696b2 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:21 2008 -0300 ACPI: thinkpad-acpi: fix brightness dimming control bug ibm-acpi and thinkpad-acpi did not know about bit 5 of the EC backlight level control register (EC 0x31), so it was always forced to zero on any writes. This would disable the BIOS option to *not* use a dimmer backlight level scale while on battery, and who knows what else (there are two other control bits of unknown function). Bit 5 controls the "reduce backlight levels when on battery" optional functionality (active low). Bits 6 and 7 are better left alone as well, instead of being forced to zero. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 2d5e94d7ca315f859a0eee1366838e8ad34dd7b2 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:20 2008 -0300 ACPI: thinkpad-acpi: rate-limit CMOS/EC unsynced error messages If userspace applications mess with the CMOS NVRAM, or something causes both the ACPI firmware and thinkpad-acpi to try to change the brightness at the same time, it is possible to have the CMOS and EC registers for the current brightness go out of sync. Should that happen, thinkpad-acpi could be really obnoxious when using a brightness_mode of 3 (both EC and CMOS). Instead of complaining a massive number of times, make sure to complain only once until EC and CMOS are back in sync. Signed-off-by: Henrique de Moraes Holschuh Cc: Joerg Platte Signed-off-by: Len Brown commit 8c74adbc692a3cb040cc69d7ca3dfd86d75860a8 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:19 2008 -0300 ACPI: thinkpad-acpi: enhance box identification output (v2) During initialization, thinkpad-acpi outputs some messages to make sure releavant box identification information is easily available in-line with the rest of the driver messages. Enhance those messages to output the alfanumeric model number as well. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 92889022250d736e135ca92fbffd1ab0ea4780d1 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:18 2008 -0300 ACPI: thinkpad-acpi: warn once about weird hotkey masks thinkpad-acpi knows for a while now how to best program the hotkeys by default, and always enable them by default. Unfortunately, this information has not filtered down everywhere it needs to, yet. Notably, old ibm-acpi documentation and most "thinkpad setup guides" will have wrong information on this area. Warn the local admin once whenever any of the following patterns are met: 1. Attempts to set hotkey mask to 0xffff (artifact from docs and config for the old ibm-acpi driver and behaviour). This mask makes no real-world sense; 2. Attempts to set hotkey mask to 0xffffffff, which means the user is trying to just have "everything work" without even reading the documentation, or that we need to get a bug report, because there is a new thinkpad out there with new exciting hot keys :-) 3. Attempts to set hotkey mask to 0xffffff, which is almost never the correct way to set up volume and brightness event reporting (and with the current state-of-the-art, it is known to never be right way to do it). The driver will perform any and all requested operations, though, regardless of any warnings. I hope these warnings can be removed one or two years from now. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit b59727965d7f286489206c292e2788d4835a8a23 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:17 2008 -0300 ACPI: thinkpad-acpi: BIOS backlight mode helper (v2.1) Lenovo ThinkPads with generic ACPI backlight level control can be easily set to react to keyboard brightness key presses in a more predictable way than what they do when in "DOS / bootloader" mode after Linux brings up the ACPI interface. The switch to the ACPI backlight mode in the firmware is designed to be safe to use only as an one way trapdoor. One is not to force the firmware to switch back to "DOS/bootloader" mode except by rebooting. The mode switch itself is performed by calling any of the ACPI _BCL methods at least once. When in ACPI mode, the backlight firmware just issues (standard) events for the brightness up/down hot key presses along with the non-standard HKEY events which thinkpad-acpi traps, and doesn't touch the hardware. thinkpad-acpi will: 1. Place the ThinkPad firmware in ACPI backlight control mode if one is available 2. Suppress HKEY backlight change notifications by default to avoid double-reporting when ACPI video is loaded when the ThinkPad is in ACPI backlight control mode 3. Urge the user to load the ACPI video driver The user is free to use either the ACPI video driver to get the brightness key events, or to override the thinkpad-acpi default hotkey mask to get them from thinkpad-acpi as well (this will result in duplicate events if ACPI video is loaded, so let's hope distros won't screw this up). Provided userspace is sane, all should work (and *keep* working), which is more that can be said about the non-ACPI mode of the new Lenovo ThinkPad BIOSes when coupled to current userspace and X.org drivers. Full guidelines for backlight hot key reporting and use of the thinkpad-acpi backlight interface have been added to the documentation. Signed-off-by: Henrique de Moraes Holschuh Cc: Matthew Garrett Cc: Thomas Renninger Signed-off-by: Len Brown commit 822252521651ad74a6d41e712d790e2f10838a67 Author: Bartlomiej Sieka Date: Tue Apr 15 20:36:36 2008 +1000 [POWERPC] mpc5200: defconfigs for CM5200, Lite5200B, Motion-PRO and TQM5200 Board-specific defconfigs based on current mpc5200_defconfig, archival lite5200_defconfig, and [cm5200|motionpro|tqm5200]_defconfig from the linux-2.6-denx tree. Kernels build using these defconfigs were verified to boot with root filesystem mounted over NFS on Motion-PRO, TQM5200 and Lite5200B boards. CM5200 target was not tested due to hardware unavailability. Signed-off-by: Bartlomiej Sieka Signed-off-by: Grant Likely commit a2884f37b6fe0074df70ebeb3a6c54201267663c Author: Grant Likely Date: Tue Apr 29 07:19:07 2008 -0600 [POWERPC] mpc5200: Switch mpc5200 dts files to dts-v1 format Signed-off-by: Grant Likely commit 8f3ba2dc811228213bcbdc2c8b389a8d6fa66c09 Author: Sascha Hauer Date: Wed Apr 16 01:44:39 2008 +1000 [POWERPC] mpc5200: Fix FEC error handling on FIFO errors The error handling for the mpc5200 fec interrupt is broken. The intended behaviour is like this: * If one of FEC_IEVENT_RFIFO_ERROR and FEC_IEVENT_XFIFO_ERROR happens, the datasheet says (MPC5200B User's Guide R1.2, p. 14-13): "When this occurs, software must ensure both the FIFO Controller and BestComm are soft-reset". * On any other error (non-TFINT) interrupt, just issue a debug message. Signed-off-by: Sascha Hauer Signed-off-by: Grant Likely commit 106757b38fffbe1f015b10a6d4a4f92e8a3881b9 Author: s.hauer@pengutronix.de Date: Fri Apr 25 23:48:05 2008 +1000 [POWERPC] mpc5200: add Phytec pcm030 board support Add board support for the Phytec pcm030 mpc5200b based board. It does not need any platform specific fixups and as such is handled as a mpc5200 simple platform. Signed-off-by: Sascha Hauer Signed-off-by: Grant Likely commit 3cd2550c736688c7f2651134e08bd5b5db5bed70 Author: s.hauer@pengutronix.de Date: Fri Apr 25 20:56:04 2008 +1000 [POWERPC] mpc5200: add gpiolib support for mpc5200 This patch adds gpiolib support for mpc5200 SOCs. Signed-off-by: Sascha Hauer Signed-off-by: Grant Likely commit f800ab44f5cd094743dc3df371bcf986375f5774 Author: Sascha Hauer Date: Wed Apr 16 01:29:54 2008 +1000 [POWERPC] mpc5200: add interrupt type function Add a set_type function for external (GPIO) interrupts. Signed-off-by: Juergen Beisert Signed-off-by: Sascha Hauer Signed-off-by: Grant Likely commit bc775eac63c16dbcfabc4c6e949c0228edf3e11f Author: Grant Likely Date: Tue Apr 29 06:40:37 2008 -0600 [POWERPC] mpc5200: Fix unterminated of_device_id table If CONFIG_PPC_MPC5121 is not set, then the of_device_id table for the mpc5200 serial driver will not get terminated with a NULL entry. Signed-off-by: Grant Likely commit ac9fafa1243640349aa481adf473db283a695766 Author: Alan D. Brunelle Date: Tue Apr 29 14:44:19 2008 +0200 block: Skip I/O merges when disabled The block I/O + elevator + I/O scheduler code spend a lot of time trying to merge I/Os -- rightfully so under "normal" circumstances. However, if one were to know that the incoming I/O stream was /very/ random in nature, the cycles are wasted. This patch adds a per-request_queue tunable that (when set) disables merge attempts (beyond the simple one-hit cache check), thus freeing up a non-trivial amount of CPU cycles. Signed-off-by: Alan D. Brunelle Signed-off-by: Jens Axboe commit d7e3c3249ef23b4617393c69fe464765b4ff1645 Author: FUJITA Tomonori Date: Tue Apr 29 09:54:39 2008 +0200 block: add large command support This patch changes rq->cmd from the static array to a pointer to support large commands. We rarely handle large commands. So for optimization, a struct request still has a static array for a command. rq_init sets rq->cmd pointer to the static array. Signed-off-by: FUJITA Tomonori Cc: Jens Axboe Signed-off-by: Jens Axboe commit d34c87e4ba3d1857f80a65179e81a18705a31656 Author: FUJITA Tomonori Date: Tue Apr 29 14:37:52 2008 +0200 block: replace sizeof(rq->cmd) with BLK_MAX_CDB This is a preparation for changing rq->cmd from the static array to a pointer. Signed-off-by: FUJITA Tomonori Cc: Boaz Harrosh Cc: Bartlomiej Zolnierkiewicz Cc: Jens Axboe Signed-off-by: Jens Axboe commit e7b241a7715d2a0885f779f5baa63711d71b1d75 Author: FUJITA Tomonori Date: Tue Apr 29 09:54:38 2008 +0200 ide: use blk_rq_init() to initialize the request This converts ide to use blk_rq_init to initialize the request. This is a preparation for large command support, which needs to initialize the request in a proper way (that is, just doing a memset() will not work). Signed-off-by: FUJITA Tomonori Cc: Jens Axboe Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit 4f54eec8311c3325888c29ce8e4496daf4dbe624 Author: FUJITA Tomonori Date: Tue Apr 29 09:54:37 2008 +0200 block: use blk_rq_init() to initialize the request Any path needs to call it to initialize the request. This is a preparation for large command support, which needs to initialize the request in a proper way (that is, just doing a memset() will not work). Signed-off-by: FUJITA Tomonori Cc: Jens Axboe Signed-off-by: Jens Axboe commit 2a4aa30c5f967eb6ae874c67fa6fceeee84815f9 Author: FUJITA Tomonori Date: Tue Apr 29 09:54:36 2008 +0200 block: rename and export rq_init() This rename rq_init() blk_rq_init() and export it. Any path that hands the request to the block layer needs to call it to initialize the request. This is a preparation for large command support, which needs to initialize the request in a proper way (that is, just doing a memset() will not work). Signed-off-by: FUJITA Tomonori Cc: Jens Axboe Signed-off-by: Jens Axboe commit 992b5bceee447a32ef2d617730ae0d03c063eedd Author: FUJITA Tomonori Date: Tue Apr 29 09:54:36 2008 +0200 block: no need to initialize rq->cmd with blk_get_request blk_get_request initializes rq->cmd (rq_init does) so the users don't need to do that. The purpose of this patch is to remove sizeof(rq->cmd) and &rq->cmd, as a preparation for large command support, which changes rq->cmd from the static array to a pointer. sizeof(rq->cmd) will not make sense and &rq->cmd won't work. Signed-off-by: FUJITA Tomonori Cc: James Bottomley Cc: Alasdair G Kergon Cc: Jens Axboe Signed-off-by: Jens Axboe commit 4917fa292558593d36b2880977ea206f7727dbe5 Author: FUJITA Tomonori Date: Tue Apr 29 09:54:35 2008 +0200 block: no need to initialize rq->cmd in prepare_flush_fn hook The block layer initializes rq->cmd (queue_flush calls rq_init) so prepare_flush_fn hooks don't need to do that. The purpose of this patch is to remove sizeof(rq->cmd), as a preparation for large command support, which changes rq->cmd from the static array to a pointer. sizeof(rq->cmd) will not make sense. Signed-off-by: FUJITA Tomonori Cc: Geert Uytterhoeven Cc: James Bottomley Cc: Jens Axboe Signed-off-by: Jens Axboe commit 6f6a036e6e061563efecb61505fc4cc3ca415f80 Author: Adrian Bunk Date: Tue Apr 29 09:49:06 2008 +0200 block/blk-barrier.c:blk_ordered_cur_seq() mustn't be inline This patch fixes the following build error with UML and gcc 4.3: <-- snip --> ... CC block/blk-barrier.o /home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c: In function ‘blk_do_ordered’: /home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:57: sorry, unimplemented: inlining failed in call to ‘blk_ordered_cur_seq’: function body not available /home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:252: sorry, unimplemented: called from here /home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:57: sorry, unimplemented: inlining failed in call to ‘blk_ordered_cur_seq’: function body not available /home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:253: sorry, unimplemented: called from here make[2]: *** [block/blk-barrier.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 72ed0bf60ade8d2cc1f58276cb16add0af2c3e25 Author: Adrian Bunk Date: Tue Apr 29 09:49:05 2008 +0200 block/elevator.c:elv_rq_merge_ok() mustn't be inline This patch fixes the following build error with UML and gcc 4.3: <-- snip --> ... CC block/elevator.o /home/bunk/linux/kernel-2.6/git/linux-2.6/block/elevator.c: In function ‘elv_merge’: /home/bunk/linux/kernel-2.6/git/linux-2.6/block/elevator.c:73: sorry, unimplemented: inlining failed in call to ‘elv_rq_merge_ok’: function body not available /home/bunk/linux/kernel-2.6/git/linux-2.6/block/elevator.c:103: sorry, unimplemented: called from here /home/bunk/linux/kernel-2.6/git/linux-2.6/block/elevator.c:73: sorry, unimplemented: inlining failed in call to ‘elv_rq_merge_ok’: function body not available /home/bunk/linux/kernel-2.6/git/linux-2.6/block/elevator.c:495: sorry, unimplemented: called from here make[2]: *** [block/elevator.o] Error 1 make[1]: *** [block] Error 2 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 75ad23bc0fcb4f992a5d06982bf0857ab1738e9e Author: Nick Piggin Date: Tue Apr 29 14:48:33 2008 +0200 block: make queue flags non-atomic We can save some atomic ops in the IO path, if we clearly define the rules of how to modify the queue flags. Signed-off-by: Jens Axboe commit e90955c26d8af318658c45caadb1d330ac6a506c Author: Jesse Barnes Date: Mon Apr 21 14:14:44 2008 -0700 x86: fix PCI MSI breaks when booting with nosmp set up sane APIC state even in the nosmp case. Signed-off-by: Ingo Molnar commit 9752082560b440e6a45624569d26802e20d1b8b4 Author: Hugh Dickins Date: Sun Apr 27 00:39:36 2008 +0100 x86: vget_cycles() __always_inline Mark vget_cycles() as __always_inline, so gcc is never tempted to make the vsyscall vread_tsc() dive into kernel text, with resulting SIGSEGV. This was a self-inflicted wound: I've not seen that happen with unhacked sources; but for debug reasons I'd changed my x86/Makefile to compile no-unit-at-a-time, and that in conjunction with OPTIMIZE_INLINING=y ended up with vget_cycles() in kernel text. Perhaps it can happen in other ways: safer to use __always_inline. Signed-off-by: Hugh Dickins Signed-off-by: Ingo Molnar commit 4c0587e6e42c5b679234d3dffda8a888dc0ff9c1 Author: Ian Campbell Date: Sun Apr 27 12:21:11 2008 +0100 x86: add more boot protocol documentation Signed-off-by: Ian Campbell Cc: Rusty Russell Cc: Jeremy Fitzhardinge Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 781fe2ebc0f44b32418d203ac023a541afdd042f Author: Ingo Molnar Date: Sat Apr 26 23:14:36 2008 +0200 bootprotocol: cleanup Signed-off-by: Ingo Molnar commit 8008abbd87644c84f93a7a86fec88f1e14031901 Author: Alexander van Heukelum Date: Wed Apr 16 18:45:35 2008 +0200 x86: fix warning in "x86: clean up vSMP detection" The function detect_vsmp_box is a void function in the PCI case. Change the !PCI stub to void too. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e686d34156ef0e56b2ebec505b809018bc0dc73b Author: Harvey Harrison Date: Sat Apr 26 21:00:17 2008 -0700 x86: !x & y typo in mtrr code As written, this can never be true. Spotted by the Sparse checker. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit eff0dee54674a449e7f160aad9f3e0d38e6983eb Author: Daniel Walker Date: Tue Apr 29 03:39:29 2008 -0700 atm: ambassador: vcc_sf semaphore to mutex Signed-off-by: Daniel Walker Signed-off-by: David S. Miller commit 220fc3fc60e9ebeb5ecfe727e4819d9504f2b0b0 Author: Pavel Emelyanov Date: Tue Apr 29 03:37:41 2008 -0700 MAINTAINERS: The socketcan-core list is subscribers-only. When I posted a copy_to_user fixes, the list daemon refused to accept the Cc: , because I was not a subscriber. I found, that other lists with such a feature are marked respectively in the MAINTAINERS file. Signed-off-by: Pavel Emelyanov Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 443a70d50bdc212e1292778e264ce3d0a85b896f Author: Philip Craig Date: Tue Apr 29 03:35:10 2008 -0700 netfilter: nf_conntrack: padding breaks conntrack hash on ARM commit 0794935e "[NETFILTER]: nf_conntrack: optimize hash_conntrack()" results in ARM platforms hashing uninitialised padding. This padding doesn't exist on other architectures. Fix this by replacing NF_CT_TUPLE_U_BLANK() with memset() to ensure everything is initialised. There were only 4 bytes that NF_CT_TUPLE_U_BLANK() wasn't clearing anyway (or 12 bytes on ARM). Signed-off-by: Philip Craig Signed-off-by: David S. Miller commit 0010e46577a27c1d915034637f6c2fa57a9a091c Author: Timo Teras Date: Tue Apr 29 03:32:25 2008 -0700 ipv4: Update MTU to all related cache entries in ip_rt_frag_needed() Add struct net_device parameter to ip_rt_frag_needed() and update MTU to cache entries where ifindex is specified. This is similar to what is already done in ip_rt_redirect(). Signed-off-by: Timo Teras Signed-off-by: David S. Miller commit 980c478ddbb720948967b028ddbb4179a025bc2c Author: Jarek Poplawski Date: Tue Apr 29 03:29:03 2008 -0700 sch_sfq: use del_timer_sync() in sfq_destroy() Let's delete timer reliably in sfq_destroy(). Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 42908c69f61f75dd70e424263ab89ee52040382b Author: David L Stevens Date: Tue Apr 29 03:23:22 2008 -0700 net: Add compat support for getsockopt (MCAST_MSFILTER) This patch adds support for getsockopt for MCAST_MSFILTER for both IPv4 and IPv6. It depends on the previous setsockopt patch, and uses the same method. Signed-off-by: David L Stevens Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit be666e0a1345ed80f29cb30c73da0ec2ea5c5863 Author: David L Stevens Date: Tue Apr 29 03:23:00 2008 -0700 net: Several cleanups for the setsockopt compat support. 1) added missing "__user" for kgsr and kgf pointers 2) verify read for only GROUP_FILTER_SIZE(0). The group_filter structure definition (via RFC) includes space for one source in the source list array, but that source need not be present. So, sizeof(group_filter) > GROUP_FILTER_SIZE(0). Fixed the user read-check for minimum length to use the smaller size. 3) remove unneeded "&" for gf_slist addresses Signed-off-by: David L Stevens Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 2ad17defd596ca7e8ba782d5fc6950ee0e99513c Author: Julian Anastasov Date: Tue Apr 29 03:21:23 2008 -0700 ipvs: fix oops in backup for fwmark conn templates Fixes bug http://bugzilla.kernel.org/show_bug.cgi?id=10556 where conn templates with protocol=IPPROTO_IP can oops backup box. Result from ip_vs_proto_get() should be checked because protocol value can be invalid or unsupported in backup. But for valid message we should not fail for templates which use IPPROTO_IP. Also, add checks to validate message limits and connection state. Show state NONE for templates using IPPROTO_IP. Signed-off-by: Julian Anastasov Signed-off-by: David S. Miller commit 8cd0ae3acc0154f3f9dfa1b4a2b7c02c271533f6 Author: Huang Weiyi Date: Tue Apr 29 03:19:38 2008 -0700 sparc64: remove duplicated include Remove dulicated include file in arch/sparc64/kernel/smp.c. Signed-off-by: Huang Weiyi Signed-off-by: David S. Miller commit d69efb16891ddfa6c0b527f912a7193054d50281 Author: Bodo Stroesser Date: Tue Apr 29 03:18:13 2008 -0700 bridge: kernel panic when unloading bridge module There is a race condition when unloading bridge and netfilter. The problem happens if __fake_rtable is in use by a skb coming in, while someone starts to unload bridge.ko. br_netfilter_fini() is called at the beginning of unload in br_deinit() while skbs still are being forwarded and transferred to local ip stack. Thus there is a possibility of the __fake_rtable pointer not being removed in a skb that goes up to ip stack. This results in a kernel panic, as ip_rcv() calls the input-function of __fake_rtable, which is NULL. Moving the call of br_netfilter_fini() to the end of br_deinit() solves the problem. Signed-off-by: Bodo Stroesser Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 43af8532ecd74a61f9e7aeb27c026c1ee27915ca Author: Volodymyr G Lukiianyk Date: Tue Apr 29 03:17:42 2008 -0700 bridge: fix error handling in br_add_if() When device is added to bridge its refcnt is incremented (in new_nbp()), but if error occurs during further br_add_if() operations this counter is not decremented back. Fix it by adding dev_put() call in the error path. Signed-off-by: Volodymyr G Lukiianyk Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9a732ed6d0e126d4c8a818f42a13f3df11755bee Author: Arnaud Ebalard Date: Tue Apr 29 03:16:34 2008 -0700 netfilter: {nfnetlink,ip,ip6}_queue: fix skb_over_panic when enlarging packets While reinjecting *bigger* modified versions of IPv6 packets using libnetfilter_queue, things work fine on a 2.6.24 kernel (2.6.22 too) but I get the following on recents kernels (2.6.25, trace below is against today's net-2.6 git tree): skb_over_panic: text:c04fddb0 len:696 put:632 head:f7592c00 data:f7592c00 tail:0xf7592eb8 end:0xf7592e80 dev:eth0 ------------[ cut here ]------------ invalid opcode: 0000 [#1] PREEMPT Process sendd (pid: 3657, ti=f6014000 task=f77c31d0 task.ti=f6014000) Stack: c071e638 c04fddb0 000002b8 00000278 f7592c00 f7592c00 f7592eb8 f7592e80 f763c000 f6bc5200 f7592c40 f6015c34 c04cdbfc f6bc5200 00000278 f6015c60 c04fddb0 00000020 f72a10c0 f751b420 00000001 0000000a 000002b8 c065582c Call Trace: [] ? nfqnl_recv_verdict+0x1c0/0x2e0 [] ? skb_put+0x3c/0x40 [] ? nfqnl_recv_verdict+0x1c0/0x2e0 [] ? nfnetlink_rcv_msg+0xf5/0x160 [] ? nfnetlink_rcv_msg+0x1e/0x160 [] ? nfnetlink_rcv_msg+0x0/0x160 [] ? netlink_rcv_skb+0x77/0xa0 [] ? nfnetlink_rcv+0x1c/0x30 [] ? netlink_unicast+0x243/0x2b0 [] ? memcpy_fromiovec+0x4a/0x70 [] ? netlink_sendmsg+0x1c6/0x270 [] ? sock_sendmsg+0xc4/0xf0 [] ? set_next_entity+0x1d/0x50 [] ? autoremove_wake_function+0x0/0x40 [] ? __wake_up_common+0x3e/0x70 [] ? n_tty_receive_buf+0x34f/0x1280 [] ? __wake_up+0x68/0x70 [] ? copy_from_user+0x37/0x70 [] ? verify_iovec+0x2c/0x90 [] ? sys_sendmsg+0x10a/0x230 [] ? __dequeue_entity+0x2a/0xa0 [] ? set_next_entity+0x1d/0x50 [] ? pty_write+0x47/0x60 [] ? tty_default_put_char+0x1b/0x20 [] ? __wake_up+0x49/0x70 [] ? tty_ldisc_deref+0x39/0x90 [] ? tty_write+0x1a0/0x1b0 [] ? sys_socketcall+0x7f/0x260 [] ? sysenter_past_esp+0x6a/0x91 [] ? snd_intel8x0m_probe+0x270/0x6e0 ======================= Code: 00 00 89 5c 24 14 8b 98 9c 00 00 00 89 54 24 0c 89 5c 24 10 8b 40 50 89 4c 24 04 c7 04 24 38 e6 71 c0 89 44 24 08 e8 c4 46 c5 ff <0f> 0b eb fe 55 89 e5 56 89 d6 53 89 c3 83 ec 0c 8b 40 50 39 d0 EIP: [] skb_over_panic+0x5c/0x60 SS:ESP 0068:f6015bf8 Looking at the code, I ended up in nfq_mangle() function (called by nfqnl_recv_verdict()) which performs a call to skb_copy_expand() due to the increased size of data passed to the function. AFAICT, it should ask for 'diff' instead of 'diff - skb_tailroom(e->skb)'. Because the resulting sk_buff has not enough space to support the skb_put(skb, diff) call a few lines later, this results in the call to skb_over_panic(). The patch below asks for allocation of a copy with enough space for mangled packet and the same amount of headroom as old sk_buff. While looking at how the regression appeared (e2b58a67), I noticed the same pattern in ipq_mangle_ipv6() and ipq_mangle_ipv4(). The patch corrects those locations too. Tested with bigger reinjected IPv6 packets (nfqnl_mangle() path), things are ok (2.6.25 and today's net-2.6 git tree). Signed-off-by: Arnaud Ebalard Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0e93bb9459f56b50a2f71f2c230f4ad00ec40a73 Author: Pavel Emelyanov Date: Tue Apr 29 03:15:35 2008 -0700 netfilter: x_tables: fix net namespace leak when reading /proc/net/xxx_tables_names The seq_open_net() call should be accompanied with seq_release_net() one. Signed-off-by: Pavel Emelyanov Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit be8d0d7903af85d396449b34366e7f5b0c9cc58b Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Apr 29 03:15:10 2008 -0700 netfilter: xt_TCPOPTSTRIP: signed tcphoff for ipv6_skip_exthdr() retval if tcphoff remains unsigned, a negative ipv6_skip_exthdr() return value will go unnoticed, Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 246eb2af060fc32650f07203c02bdc0456ad76c7 Author: John Heffner Date: Tue Apr 29 03:13:52 2008 -0700 tcp: Limit cwnd growth when deferring for GSO This fixes inappropriately large cwnd growth on sender-limited flows when GSO is enabled, limiting cwnd growth to 64k. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit ce447eb91409225f8a488f6b7b2a1bdf7b2d884f Author: John Heffner Date: Tue Apr 29 03:13:02 2008 -0700 tcp: Allow send-limited cwnd to grow up to max_burst when gso disabled This changes the logic in tcp_is_cwnd_limited() so that cwnd may grow up to tcp_max_burst() even when sk_can_gso() is false, or when sysctl_tcp_tso_win_divisor != 0. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit 6c39103ce5192bdb2195f3daab7323dfa44fb52e Author: Zhang Wei Date: Fri Apr 18 13:33:48 2008 -0700 [RAPIDIO] Change RapidIO doorbell source and target ID field to 16-bit Change RapidIO doorbell source and target ID field to 16-bit for support large system size, which max rio devid is 65535. Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 7f620df839661b37ee679402ced7e32da6aa5446 Author: Zhang Wei Date: Fri Apr 18 13:33:44 2008 -0700 [RAPIDIO] Add RapidIO connection info print out and re-training for broken connections Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 61b269179df582bb363f871e88f732fe8af62a5e Author: Zhang Wei Date: Fri Apr 18 13:33:44 2008 -0700 [RAPIDIO] Add serial RapidIO controller support, which includes MPC8548, MPC8641 Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 182e143beeb3529208f805f1ac543606c1e2cc8c Author: Zhang Wei Date: Fri Apr 18 13:33:43 2008 -0700 [RAPIDIO] Add RapidIO node probing into MPC86xx_HPCN board id table Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 56fde1ff69b7f202171391b2d040a93e1d78b636 Author: Zhang Wei Date: Fri Apr 18 13:33:42 2008 -0700 [RAPIDIO] Add RapidIO node into MPC8641HPCN dts file This adds properties describing the RapidIO controller to the device-tree source for the MPC8641HPCN board. Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit e042323607f5c14844b1c59aebbca8d1251c7d89 Author: Zhang Wei Date: Fri Apr 18 13:33:42 2008 -0700 [RAPIDIO] Auto-probe the RapidIO system size The RapidIO system size will auto probe in RIO setup. The route table and rionet_active in rionet.c are changed to be allocated dynamically according to the size of the system. Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit cc2bb6968a2c842149d285d77cb35200d2d37b15 Author: Zhang Wei Date: Fri Apr 18 13:33:41 2008 -0700 [RAPIDIO] Add OF-tree support to RapidIO controller driver This initializes the RapidIO controller driver using addresses and interrupt numbers obtained from the firmware device tree, rather than using hardcoded constants. Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit ad1e9380b17addf112f89ce5a57d4d0bee129b7a Author: Zhang Wei Date: Fri Apr 18 13:33:41 2008 -0700 [RAPIDIO] Add RapidIO multi mport support The original RapidIO driver suppose there is only one mpc85xx RIO controller in system. So, some data structures are defined as mpc85xx_rio global, such as 'regs_win', 'dbell_ring', 'msg_tx_ring'. Now, I changed them to mport's private members. And you can define multi RIO OF-nodes in dts file for multi RapidIO controller in one processor, such as PCI/PCI-Ex host controllers in Freescale's silicon. And the mport operation function declaration should be changed to know which RapidIO controller is target. Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 5a7b60ed8892756b137496b629f2e7c689fe6d8d Author: Zhang Wei Date: Fri Apr 18 13:33:40 2008 -0700 [RAPIDIO] Move include/asm-ppc/rio.h to asm-powerpc Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit f1f389d558d3884be565f152e9dd756e57b23d50 Author: Zhang Wei Date: Fri Apr 18 13:33:39 2008 -0700 [RAPIDIO] Add RapidIO option to kernel configuration Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit d02443a6f89dbd7ff868db30ad18f90bb633f716 Author: Zhang Wei Date: Fri Apr 18 13:33:38 2008 -0700 [RAPIDIO] Change RIO function mpc85xx_ to fsl_ The driver is suitable for the Freescale MPC8641 processor as well as 85xx processors, so this changes the mpc85xx prefix to fsl. Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit e2fdd7fd99dd68b77caaf2a2272b75b5da890de7 Author: David S. Miller Date: Tue Apr 29 02:38:50 2008 -0700 sparc: Add kgdb support. Current limitations: 1) On SMP single stepping has some fundamental issues, shared with other sw single-step architectures such as mips and arm. 2) On 32-bit sparc we don't support SMP kgdb yet. That requires some reworking of the IPI mechanisms and infrastructure on that platform. Signed-off-by: David S. Miller commit 4d7ffa49909a830f5f926a3280731d01e29f31fb Author: David S. Miller Date: Tue Apr 29 01:36:14 2008 -0700 kgdbts: Sparc needs sstep emulation. Signed-off-by: David S. Miller commit 0a9e9b110c4ef05ab6c35440e2779ec4aa2c65e6 Author: David S. Miller Date: Tue Apr 29 01:14:10 2008 -0700 sparc32: Kill smp_message_pass() and related code. Completely unused, and it just makes the SMP message passing code on 32-bit sparc look more complex than it is. Signed-off-by: David S. Miller commit 68154e90c9d1492d570671ae181d9a8f8530da55 Author: FUJITA Tomonori Date: Fri Apr 25 12:47:50 2008 +0200 block: add dma alignment and padding support to blk_rq_map_kern This patch adds bio_copy_kern similar to bio_copy_user. blk_rq_map_kern uses bio_copy_kern instead of bio_map_kern if necessary. bio_copy_kern uses temporary pages and the bi_end_io callback frees these pages. bio_copy_kern saves the original kernel buffer at bio->bi_private it doesn't use something like struct bio_map_data to store the information about the caller. Signed-off-by: FUJITA Tomonori Cc: Tejun Heo Signed-off-by: Jens Axboe commit 657e93be356f51888f56a58d2b374caefbf2fe86 Author: Adrian Bunk Date: Fri Apr 25 12:46:58 2008 +0200 unexport blk_max_pfn blk_max_pfn can now be unexported. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 31e103c595c0fa0d23eea5a4168362fba4c5ba62 Author: Geert Uytterhoeven Date: Fri Apr 25 12:46:20 2008 +0200 ps3disk: Remove superfluous cast As ps3disk is a ppc64-only driver, sector_t equals to unsigned long, and the cast is not needed. Reuse in another (possibly 32-bit) driver is protected by the safety net called `compiler warning' (with the cast, it may silently truncate to 32-bit). If sector_t ever changes, we will get a compiler warning as well (with the cast, we won't). Signed-off-by: Geert Uytterhoeven Acked-by: Christoph Hellwig Signed-off-by: Jens Axboe commit 1afb20f30151dd4160877c827f5b7203f98627fb Author: FUJITA Tomonori Date: Fri Apr 25 12:26:28 2008 +0200 block: make rq_init() do a full memset() This requires moving rq_init() from get_request() to blk_alloc_request(). The upside is that we can now require an rq_init() from any path that wishes to hand the request to the block layer. rq_init() will be exported for the code that uses struct request without blk_get_request. This is a preparation for large command support, which needs to initialize struct request in a proper way (that is, just doing a memset() will not work). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit c3270e577c18b3d0e984c3371493205a4807db9d Author: Tom Zanussi Date: Thu Apr 24 12:52:20 2008 +0200 relay: fix splice problem Splice isn't always incrementing the ppos correctly, which broke relay splice. Signed-off-by: Tom Zanussi Signed-off-by: Jens Axboe commit 51ae796f7fa1d8034252628572053f477bc29913 Author: Damián Viano Date: Tue Apr 29 03:32:25 2008 -0400 ACPICA: always disable GPE when requested acpi_ev_disable_gpe() has an optimization where it doesn't disable a GPE that it "doesn't have to". Unfortunately, it can get tricked by AML that scribbles on register state behind its back. So when asked to disable a GPE, simply do it -- a redundant register write in the common case is a fair price to pay to be bomb-proof for the rare cases. http://bugzilla.kernel.org/show_bug.cgi?id=6217 Signed-off-by: Damián Viano Acked-by: Zhang Rui Signed-off-by: Len Brown commit dfd2e1b4e6eb46ff59c7e1c1111c967b8b5981c1 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:42 2008 -0600 PNPBIOS: remove include/linux/pnpbios.h The contents of include/linux/pnpbios.h are used only inside the PNPBIOS backend, so this file doesn't need to be visible outside PNP. This patch moves the contents into an existing PNPBIOS-specific file, drivers/pnp/pnpbios/pnpbios.h. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 261b20da4bd349f1b26e206f440809f1351be34b Author: Bjorn Helgaas Date: Mon Apr 28 16:34:41 2008 -0600 ISAPNP: remove unused pnp_dev->regs field The "regs" field in struct pnp_dev is set but never read, so remove it. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 62cfb298b95d713825deb8faf2044c45a1e17a0a Author: Bjorn Helgaas Date: Mon Apr 28 16:34:40 2008 -0600 PNP: make interfaces private to the PNP core The interfaces for registering protocols, devices, cards, and resource options should only be used inside the PNP core. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit d152cf5d0c3325979e71ee53b425fdd51a1a285a Author: Bjorn Helgaas Date: Mon Apr 28 16:34:39 2008 -0600 PNPACPI: move _CRS/_PRS warnings closer to the action Move warnings about _CRS and _PRS problems to the place where we actually make the ACPI calls. Then we don't have to pass around acpi_status values any more than necessary. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 01115e7d41c4eaeffa064d818b4abbd3efa94f80 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:38 2008 -0600 ISAPNP: fold isapnp_read_resources() back into isapnp_get_resources() isapnp_get_resources() does very little besides call isapnp_read_resources(), so just fold them back together. Based on a patch by Rene Herman Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit d6180f36617953990bf90d4c1ff85b77e9995cd1 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:37 2008 -0600 PNP: make generic pnp_add_mem_resource() Add a pnp_add_mem_resource() that can be used by all the PNP backends. This consolidates a little more pnp_resource_table knowledge into one place. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit cc8c2e308194f0997c718c7c735550ff06754d20 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:36 2008 -0600 PNP: make generic pnp_add_io_resource() Add a pnp_add_io_resource() that can be used by all the PNP backends. This consolidates a little more pnp_resource_table knowledge into one place. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit dc16f5f2ede8cc2acf8ac22857a7fecf3a4296c2 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:35 2008 -0600 PNP: make generic pnp_add_dma_resource() Add a pnp_add_dma_resource() that can be used by all the PNP backends. This consolidates a little more pnp_resource_table knowledge into one place. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit dbddd0383c59d588f8db5e773b062756e39117ec Author: Bjorn Helgaas Date: Mon Apr 28 16:34:34 2008 -0600 PNP: make generic pnp_add_irq_resource() Add a pnp_add_irq_resource() that can be used by all the PNP backends. This consolidates a little more pnp_resource_table knowledge into one place. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit a50b6d7b8d7e1a8b13bd1be65a865b115e1190d9 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:33 2008 -0600 PNP: add pnp_new_resource() to find a new unset pnp_resource This encapsulates the code to locate a new pnp_resource of the desired type. Currently this uses the pnp_resource_table, but it will soon change to find a resource in a linked list. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 21855d69d1e3ace3efdb8159a4a7ab1ab98a6f19 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:32 2008 -0600 PNP: add pnp_resource index for ISAPNP Save the ISAPNP config register index in the struct pnp_resource. We need this because it is important to write ISAPNP configuration back to the same registers we read it from. For example, if we read valid regions from memory descriptors 0, 1, and 3, we'd better write them back to the same registers, without compressing them to descriptors 0, 1, and 2. This was previously guaranteed by using the index into the pnp_resource_table array as the ISAPNP config register index. However, I am removing those fixed-size arrays, so we need to save the ISAPNP register index elsewhere. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 0a977f15469457d9a19eed992caf71995c674064 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:31 2008 -0600 PNP: add pnp_get_pnp_resource() In some places, we need to get the struct pnp_resource, not just the struct resource, because ISAPNP needs to store the register index in the pnp_resource. I don't like pnp_get_pnp_resource() and hope that it is temporary, but we need it for a little while. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 784f01d5bdeae7d7005ede17305306b042ba2617 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:30 2008 -0600 PNP: add struct pnp_resource This patch adds a "struct pnp_resource". This currently contains only a struct resource, but we will soon need additional PNP-specific information. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 06cb58a6eb0b689f95a6c055cfc400fd30c500c6 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:29 2008 -0600 PNP: remove pnp_resource_table references from resource decoders This removes a few more references to the pnp_resource_table. No functional change. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 02d83b5da3efa3c278ce87db2637f3dd6837166d Author: Bjorn Helgaas Date: Mon Apr 28 16:34:28 2008 -0600 PNP: make pnp_resource_table private to PNP core There are no remaining references to the PNP_MAX_* constants or the pnp_resource_table structure outside of the PNP core. Make them private to the PNP core. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 8766ad0ce8621aa6f0e4a91ef355509cc3364d5b Author: Bjorn Helgaas Date: Mon Apr 28 16:34:27 2008 -0600 rtc: dont reference pnp_resource_table directly pnp_resource_table is going away soon, so use the more generic public interfaces instead. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 95ab3669f7830682c7762e9c305a0c1dd44454cc Author: Bjorn Helgaas Date: Mon Apr 28 16:34:26 2008 -0600 PNP: remove PNP_MAX_* uses Remove some PNP_MAX_* uses. The pnp_resource_table isn't dynamic yet, but with pnp_get_resource(), we can start moving away from the table size constants. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit f6505fef18644557f732468c1f22f84560d8a819 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:25 2008 -0600 PNP: convert assign, interface to use pnp_get_resource(), not pnp_resource_table This removes more direct references to pnp_resource_table from the pnp_assign_resources() path and the /sys user interface path. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 7e2cf31f1c97ac14b6d9dc5f1ce9e1e01aef9c18 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:24 2008 -0600 PNP: convert encoders to use pnp_get_resource(), not pnp_resource_table This removes more direct references to pnp_resource_table. This path is used when telling a device what resources it should use. This doesn't convert ISAPNP because ISA needs to know the config register index in addition to the resource itself. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit be81b4a4838ce329b9f3978c7fc007b047c23722 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:23 2008 -0600 PNP: convert resource checks to use pnp_get_resource(), not pnp_resource_table This removes more direct references to pnp_resource_table. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit f5d94ff014cb7e6212f40fc6644f3fd68507df33 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:22 2008 -0600 PNP: pass resources, not indexes, to pnp_check_port(), et al The caller already has the struct resource pointer, so no need for pnp_check_port(), pnp_check_mem(), etc., to look it up again. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit db9eaeab3e7ab72d773820820f1ba33960ad24c4 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:21 2008 -0600 PNP: check for conflicts with all resources, not just earlier ones This patch removes a use of "idx" in pnp_check_port() and similar functions, in preparation for replacing idx with a pointer to the resource itself. I split this out because it changes the behavior slightly: we used to check for conflicts only with earlier resources, e.g., we checked resource 2 against resources 0 and 1 but not against 3, 4, etc. Now we will check against all resources except 2. Since resources are assigned in ascending order, the old behavior was probably safe, but I don't like to depend on that ordering. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 470feb113a23de365b6051efde0d69de86d9d2f8 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:20 2008 -0600 PNP: reduce redundancy in pnp_set_current_resources() Use a temporary "res" pointer to replace repeated lookups in the pnp resource tables. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 30c016a0c8d2aae10be6a87bb98f0e85db8b09d5 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:19 2008 -0600 PNP: reduce redundancy in pnp_check_port() and others Use a temporary "res" pointer to replace repeated lookups in the pnp resource tables. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 28ccffcf028777e830cbdc30bc54ba8a37e2fc23 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:18 2008 -0600 PNP: reduce redundancy in pnp_assign_port() and others Use a temporary "res" pointer to replace repeated lookups in the pnp resource tables. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit ecfa935a2f7ef89543608f3ca05340c158c9a236 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:17 2008 -0600 PNP: use conventional "i" for loop indices Cosmetic only: just use "i" instead of "tmp". Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 13575e81bb38fc797a5513ad1bd8e6fda17439b8 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:16 2008 -0600 PNP: convert resource accessors to use pnp_get_resource(), not pnp_resource_table This removes more direct references to pnp_resource_table. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 53052feb6ddd05cb2b5c6e89fb489bf83bbb6803 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:15 2008 -0600 PNP: remove pnp_mem_flags() as an lvalue A future change will change pnp_mem_flags() from a "#define that simplifies to an lvalue" to "an inline function that returns the flags value." Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit b90eca0a61ebd010036242e29610bc6a909e3f19 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:14 2008 -0600 PNP: add pnp_get_resource() interface This adds a pnp_get_resource() that works the same way as platform_get_resource(). This will enable us to consolidate many pnp_resource_table references in one place, which will make it easier to make the table dynamic. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit d948a8daa059cf5b3e7f002e7b92acf00fc70c49 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:13 2008 -0600 PNP: factor pnp_init_resource_table() and pnp_clean_resource_table() Move the common part of pnp_init_resource_table() and pnp_clean_resource_table() into a new pnp_init_resource(). This reduces a little code duplication and will be useful later to initialize an individual resource. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit af11cb2d521f9d7e10c565bafe8f2358772baa65 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:12 2008 -0600 PNP: use dev_printk when possible Use dev_printk() when possible for more informative error messages. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 2cd1393098073426256cb4543c897f8c340d0b93 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:11 2008 -0600 PNP: remove unused interfaces using pnp_resource_table Rene Herman recently removed the only in-tree driver uses of: pnp_init_resource_table() pnp_manual_config_dev() pnp_resource_change() in this change: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=109c53f840e551d6e99ecfd8b0131a968332c89f These are no longer used in the PNP core either, so we can just remove them completely. It's possible that there are out-of-tree drivers that use these interfaces. They should be changed to either (1) use PNP quirks to work around broken hardware or firmware, or (2) use the sysfs interfaces to control resource usage from userspace. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 6969c7ed558cf5e9eff01734be0174a296938092 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:10 2008 -0600 PNP: remove pnp_resource_table from internal pnp_clean_resource_table interface This changes pnp_clean_resource_table() to take a pnp_dev pointer rather than a pnp_resource_table pointer. This reduces the visibility of pnp_resource_table and removes an opportunity for error in the caller. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit f44900020926b2cb06b87f0f52643d6285514fc3 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:09 2008 -0600 PNP: add pnp_init_resources(struct pnp_dev *) interface Add pnp_init_resources(struct pnp_dev *) to replace pnp_init_resource_table(), which takes a pointer to the pnp_resource_table itself. Passing only the pnp_dev * reduces the possibility for error in the caller and removes the pnp_resource_table implementation detail from the interface. Even though pnp_init_resource_table() is exported, I did not export pnp_init_resources() because it is used only by the PNP core. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 81b5c75f0ed22a93c3da00650d0898eec56e1d62 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:08 2008 -0600 PNP: add debug when assigning PNP resources This patch adds code to dump PNP resources before and after assigning resources and before writing them to the device. This is enabled by CONFIG_PNP_DEBUG=y. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 72dcc883d8e5b59105e75ee5265442e458740575 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:07 2008 -0600 PNP: add debug output to encoders Add debug output to encoders (enabled by CONFIG_PNP_DEBUG). This uses dev_printk, so I had to add pnp_dev arguments at the same time. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 4ab55d8d4f7b910c4c60e0f8ff70d0dfdd484f02 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:06 2008 -0600 PNP: remove more pnp_resource_table arguments Stop passing around struct pnp_resource_table pointers. In most cases, the caller doesn't need to know how the resources are stored inside the struct pnp_dev. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 59284cb4099411bc6f4915a5a4cb76414440c447 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:05 2008 -0600 PNP: remove pnp_resource_table from internal get/set interfaces When we call protocol->get() and protocol->set() methods, we currently supply pointers to both the pnp_dev and the pnp_resource_table even though the pnp_resource_table should always be the one associated with the pnp_dev. This removes the pnp_resource_table arguments to make it clear that these methods only operate on the specified pnp_dev. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit c1caf06ccfd3a4efd4b489f89bcdabd2362f31d0 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:04 2008 -0600 PNP: add debug output to option registration Add debug output to resource option registration functions (enabled by CONFIG_PNP_DEBUG). This uses dev_printk, so I had to add pnp_dev arguments at the same time. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit cdef6254e17e98f1071ce1bfc8f2a87997c855d0 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:03 2008 -0600 PNPACPI: pass pnp_dev instead of acpi_handle Pass the pnp_dev pointer when possible instead of the acpi_handle. This allows better error messages and reduces the chance of error in the caller. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit cd7ec927d9cd3d2001cbbdce872bd73f6e49c986 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:02 2008 -0600 PNPACPI: extend irq_flags() to set IORESOURCE_IRQ_SHAREABLE when appropriate This simplifies IRQ resource parsing slightly by computing all the IORESOURCE_IRQ_* flags at the same time. This also keeps track of shareability information when parsing options from _PRS. Previously we ignored shareability in _PRS. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit bb84b41d1a1e3ad1ebe7f91a7c97d3b6ca242e9d Author: Bjorn Helgaas Date: Mon Apr 28 16:34:01 2008 -0600 PNPACPI: hoist dma_flags() out of pnpacpi_parse_allocated_dmaresource() Hoist dma_flags() out of pnpacpi_parse_allocated_dmaresource() into its caller. This makes pnpacpi_parse_allocated_dmaresource() more similar to pnpbios_parse_allocated_dmaresource(). Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 9570a20e9da282721afc6885dbeaa1b9c1e7ff4d Author: Bjorn Helgaas Date: Mon Apr 28 16:34:00 2008 -0600 PNPACPI: use temporaries to reduce repetition No functional change, just fewer words and fewer chances for transcription errors. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit f7e8466a045c690002c1926e695ae312dd73bb4a Author: Bjorn Helgaas Date: Mon Apr 28 16:33:59 2008 -0600 PNPACPI: pnpacpi_encode_ext_irq() wrongly set "irq" instead of "extended_irq" pnpacpi_encode_ext_irq() should set resource->data.extended_irq, not resource->data.irq. This has been wrong since at least 2.6.12. I haven't seen any bug reports, but it's clearly incorrect. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 6bf2aab24a5dc26bf8274c4b9dbbed8ca99ae82c Author: Bjorn Helgaas Date: Mon Apr 28 16:33:58 2008 -0600 PNP: add pnp_alloc_card() Add pnp_alloc_card() to allocate a struct pnp_card and fill in the protocol, instance number, and initial PNP ID. Now it is always valid to use dev_printk() on any pnp_card pointer. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 068076d5517009654376ceda75ff44af0feb9b1d Author: Bjorn Helgaas Date: Mon Apr 28 16:33:57 2008 -0600 ISAPNP: pull pnp_add_card_id() out of isapnp_parse_card_id() Split the pnp_add_card_id() part from the PNPID conversion part so we can move the initial add_id() into the pnp_card allocation. This makes the PNPID conversion generic so we can use the same one for both devices and cards. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit e436675f2a09ea389c1844507658f304924a2eca Author: Bjorn Helgaas Date: Mon Apr 28 16:33:56 2008 -0600 PNP: change pnp_add_card_id() to allocate its own pnp_id structures This moves some of the pnp_id knowledge out of the backends and into the PNP core. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 048825deea5f261335b5202cd1114c53a3a21ae7 Author: Bjorn Helgaas Date: Mon Apr 28 16:33:55 2008 -0600 PNP: make pnp_add_card_id() internal to PNP core pnp_add_card_id() doesn't need to be exposed outside the PNP core, so move the declaration to an internal header file. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit bda1e4e5a3d976046378cd495a63e1ee0847deec Author: Bjorn Helgaas Date: Mon Apr 28 16:33:54 2008 -0600 PNP: add pnp_alloc_dev() Add pnp_alloc_dev() to allocate a struct pnp_dev and fill in the protocol, instance number, and initial PNP ID. Now it is always valid to use dev_printk() on any pnp_dev pointer. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 25eb846189d20db4114cebf14fee96d69bef4667 Author: Bjorn Helgaas Date: Mon Apr 28 16:33:53 2008 -0600 PNP: add pnp_eisa_id_to_string() Converting the EISA ID to a string is messy and error-prone, and we might as well use the same code for ISAPNP and PNPBIOS. PNPACPI uses the conversion done by the ACPI core with acpi_ex_eisa_id_to_string(). Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 772defc6292bae8b6db298476d1dabd22a99492b Author: Bjorn Helgaas Date: Mon Apr 28 16:33:52 2008 -0600 PNP: change pnp_add_id() to allocate its own pnp_id structures This moves some of the pnp_id knowledge out of the backends and into the PNP core. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 1692b27bf37826f85f9c12f8468848885643532a Author: Bjorn Helgaas Date: Mon Apr 28 16:33:51 2008 -0600 PNP: make pnp_add_id() internal to PNP core pnp_add_id() doesn't need to be exposed outside the PNP core, so move the declaration to an internal header file. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 4a490498643ea37520c315769b293085b6018ddd Author: Bjorn Helgaas Date: Mon Apr 28 16:33:50 2008 -0600 PNPACPI: continue after _CRS and _PRS errors Keep going and register the device even if we have trouble parsing _CRS or _PRS. A parsing problem might mean we ignore some resources the device is using, or we might not be able to change its resources. But we should still take note of anything we *could* parse correctly. Also remove reference to dev_id because I plan to remove it soon. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit ca0e8b6fd29819891c874b86ff286987c5bfdc21 Author: Bjorn Helgaas Date: Mon Apr 28 16:33:49 2008 -0600 ISAPNP: move config register addresses out of isapnp.h These are used only in drivers/pnp/isapnp/core.c, so no need to expose them to the world. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 1bd17e63a068db6f464925a79b1cc4b27a8b1af9 Author: Bjorn Helgaas Date: Mon Apr 28 16:33:48 2008 -0600 PNP: turn on -DDEBUG when CONFIG_PNP_DEBUG is set Turn on -DDEBUG in CFLAGS when CONFIG_PNP_DEBUG=y. This makes dev_dbg() do what you expect. Signed-off-by: Bjorn Helgaas Acked-by: Rene Herman Signed-off-by: Len Brown commit ff16cab69b6ed621686cf342306785175775152d Author: Len Brown Date: Tue Apr 29 03:12:17 2008 -0400 thermal: re-name thermal.c to thermal_sys.c thermal_sys was already the name of the resulting module, and it is built from this one source file. Signed-off-by: Len Brown commit 76ecb4f2d7ea5c3aac8970b9529775316507c6d2 Author: Zhang, Rui Date: Thu Apr 10 16:20:23 2008 +0800 ACPI: update thermal temperature Fix the problem that thermal_get_temp returns the cached value, which causes the temperature in generic thermal never updates. Signed-off-by: Zhang Rui Acked-by: Jean Delvare Signed-off-by: Len Brown commit 9030062f3d61f87c1e787b3aa134fa3a8e4b2d25 Author: Julia Lawall Date: Fri Apr 11 10:09:24 2008 +0800 ACPI: elide a non-zero test on a result that is never 0 thermal_cooling_device_register used to return NULL if THERMAL is "n". As the ACPI fan, processor and video drivers SELECT the generic thermal in PATCH 01, this is not a problem any more. Signed-off-by: Julia Lawall Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit e9ae71078b2c8657c0e8de808b76b76049806906 Author: Zhang Rui Date: Tue Apr 22 08:50:09 2008 +0800 thermal: update the documentation Update the documentation for the thermal driver hwmon sys I/F. Change the ACPI thermal zone type to be consistent with hwmon. Signed-off-by: Zhang Rui Acked-by: Jean Delvare Signed-off-by: Len Brown commit e68b16abd91dca91e35ea47537ef8a1b7ad72841 Author: Zhang Rui Date: Mon Apr 21 16:07:52 2008 +0800 thermal: add hwmon sysfs I/F Add hwmon sys I/F for generic thermal driver. Note: we have one hwmon class device for EACH TYPE of the thermal zone device. Signed-off-by: Zhang Rui Acked-by: Jean Delvare Signed-off-by: Len Brown commit 9ec732ff80b7e8a9096666f78ae584d3b393bc84 Author: Zhang, Rui Date: Thu Apr 10 16:13:10 2008 +0800 thermal: add new get_crit_temp callback Add a new callback so that the generic thermal can get the critical trip point info of a thermal zone, which is needed for building the tempX_crit hwmon sysfs attribute. Signed-off-by: Zhang Rui Acked-by: Jean Delvare Signed-off-by: Len Brown commit 63c4ec905d63834a97ec7dbbf0a2ec89ef5872be Author: Zhang Rui Date: Mon Apr 21 16:07:13 2008 +0800 thermal: add the support for building the generic thermal as a module Build the generic thermal driver as module "thermal_sys". Make ACPI thermal, video, processor and fan SELECT the generic thermal driver, as these drivers rely on it to build the sysfs I/F. Signed-off-by: Zhang Rui Acked-by: Jean Delvare Signed-off-by: Len Brown commit 2f67a0695dc389247c05041b05d2a2b06fc102a3 Author: Zhang Rui Date: Tue Apr 29 02:34:42 2008 -0400 flush kacpi_notify_wq before removing notify handler Flush kacpi_notify_wq before notify handler is removed, this can fix a bug which the deferred notify handler is executed after the notify_handler has already been removed. http://bugzilla.kernel.org/show_bug.cgi?id=9772 Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 65c0d4e54ae4b81d8c8bb685169e48306656bb5c Author: Sonic Zhang Date: Fri Apr 25 17:19:25 2008 +0800 Fix bug - Implement bfin ata interrupt handler to avoid "irq 68 nobody cared" (v2) Return IRQ_HANDLED when bfin ata device is busy. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3513 v1-v2: - fold api breakage fixing patch together. - mark 'static', not 'inline'. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit 7368f91926a2870a8c3f9546d86535ce71ae0757 Author: Mark Lord Date: Fri Apr 25 11:24:24 2008 -0400 sata_mv: Improve naming of main_irq cause/mask identifiers Tidy up naming of things associated with the PCI / SOC chip "main irq cause/mask" registers, as inspired by Jeff. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 87340e98345155631f7a1a4d8d66cf0ab286cb1b Author: Tejun Heo Date: Mon Apr 28 17:48:51 2008 +0900 libata-scsi: improve rbuf handling for simulated commands Buffer length handling in simulated commands is error-prone and full of bugs. There are a number of places where necessary length checks are missing and if the output buffer is passed in as sglist, nothing works. This patch adds a static buffer ata_scsi_rbuf which is sufficiently large to handle the larges output from simulated commands (4k currently), let all simulte functions write to the buffer and removes all length checks as we know that there always is enough buffer space. Copying in (for ATAPI inquiry fix up) and out are handled by sg_copy_to/from_buffer() behind ata_scsi_rbuf_get/put() interface which handles sglist properly. This patch is inspired from buffer length check fix patch from Petr Vandrovec. Updated to use sg_copy_to/from_buffer() as suggested by FUJITA Tomonori. Signed-off-by: Tejun Heo Cc: Petr Vandrovec Cc: FUJITA Tomonori Signed-off-by: Jeff Garzik commit f0761be344f9b1cc4284b1d945933cd983c233a4 Author: Tejun Heo Date: Mon Apr 28 17:16:52 2008 +0900 libata-scsi: clean up inquiry / mode sense related functions * make ata_scsiop_*() static * make ata_scsi_set_sense() static and move it above its users * make ata_scsi_rbuf_fill() static * kill unused ata_scsi_badcmd() Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3dd654bfdf8905d0acb6f6231b5e736d2b0d4bc6 Author: Ralf Baechle Date: Mon Apr 28 12:41:36 2008 +0100 [MIPS] ATA: Rename routerboard 500 to 532 The platform is actually named routerboard 532 so let's call it this. This patch only rename files, Kconfig and C symbols; no functional changes. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit adaa693b845373296631766176ebf0f73a342e10 Author: Stephen Rothwell Date: Tue Apr 22 15:26:13 2008 +1000 [XFS] Fix build failure after enabling CONFIG_XFS_DEBUG Signed-off-by: Stephen Rothwell Signed-off-by: Lachlan McIlroy commit c5acbaf43da139fe014d78d1f0ca7754fa856ddb Author: Christoph Hellwig Date: Mon Apr 21 18:11:13 2008 +1000 [XFS] remove dmapi cruft in xfs_file.c The dmapi cruft in xfs_file.c is totally out of date in mainline vs CVS, and at this point just removing this code which can't be used on mainline at all seems to be the best option to keep it maintainable. Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 3a738a5c73e0617d11b27ac46dd6a1a8f752017b Author: Christoph Hellwig Date: Mon Apr 21 17:25:35 2008 +1000 [XFS] remove sendfile leftovers Remove the last sendfile leftovers in mainline. This code is already gone in CVS. Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 7788fae6cce616fe2c624273fcfe54cf50f5c38b Author: Christoph Hellwig Date: Mon Apr 21 17:22:27 2008 +1000 [XFS] allow enabling CONFIG_XFS_DEBUG Back when I first submitted XFS for mainline inclusion we made the decision that the debug code is far to extensive to be accidentally enabled by users in mainline. But then again it's often quite useful to track problems down and hacking the makefile all the time is rather annoying. Given all the debug options with even more overhead like lockdep or DEBUG_PAGE_ALLOC users (or rather developers) should know by now what they're doing. Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 359346a9655c8800408ed3ca44517ac7ea95c197 Author: David Chinner Date: Tue Apr 29 12:53:32 2008 +1000 [XFS] Don't initialise new inode generation numbers to zero When we allocation new inode chunks, we initialise the generation numbers to zero. This works fine until we delete a chunk and then reallocate it, resulting in the same inode numbers but with a reset generation count. This can result in inode/generation pairs of different inodes occurring relatively close together. Given that the inode/gen pair makes up the "unique" portion of an NFS filehandle on XFS, this can result in file handles cached on clients being seen on the wire from the server but refer to a different file. This causes .... issues for NFS clients. Hence we need a unique generation number initialisation for each inode to prevent reuse of a small portion of the generation number space. Use a random number to initialise the generation number so we don't need to keep any new state on disk whilst making the new number difficult to guess from previous allocations. SGI-PV: 979416 SGI-Modid: xfs-linux-melb:xfs-kern:31001a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 86c4d62305649848164ae311a0959fc569b0d964 Author: David Chinner Date: Tue Apr 29 12:53:21 2008 +1000 [XFS] Fix check for block zero access in xfs_write_iomap_allocate() The check for block zero access should be done on non-realtime inodes. Fix the logic error in xfs_write_iomap_allocate(), and simplify the logic on all checks for block zero access in xfs_iomap.c SGI-PV: 980888 SGI-Modid: xfs-linux-melb:xfs-kern:30998a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit d349404ff14758dc9a2d3df032073ed795085860 Author: David Chinner Date: Tue Apr 29 12:53:15 2008 +1000 [XFS] Don't double count reserved block changes on UP. On uniprocessor machines, the incore superblock is used for all in memory accounting of free blocks. in this situation, changes to the reserved block count are accounted twice; once directly and once via xfs_mod_incore_sb(). Seeing as the modification on SMP is done via xfs_mod_incore_sb(), make this the only update mechanism that UP uses as well. SGI-PV: 980654 SGI-Modid: xfs-linux-melb:xfs-kern:30997a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit fe0754f0e5c0f070bf82b6e7e5e8fa5a188163fc Author: Alexey Dobriyan Date: Tue Apr 29 12:53:08 2008 +1000 [XFS] remove xfs_log_ticket_zone on rmmod Fix bug introduced in commit eb01c9cd87c7a9998c2edf209721ea069e3e3652 aka "[XFS] Remove the xlog_ticket allocator" SGI-PV: 980887 SGI-Modid: xfs-linux-melb:xfs-kern:30995a Signed-off-by: Alexey Dobriyan Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 7155054c9d8b5974f6e788b46939b419bd5fb020 Author: Eric Sandeen Date: Tue Apr 29 12:53:00 2008 +1000 [XFS] fix non-smp xfs build xfs_reserve_blocks() calls xfs_icsb_sync_counters_locked(), which is not defined if !CONFIG_SMP/!HAVE_PERCPU_SB SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30991a Signed-off-by: Eric Sandeen Signed-off-by: Lachlan McIlroy commit d0313587547092af7f5ee8a576793e1e5d61be89 Author: Paul Gortmaker Date: Thu Apr 17 00:08:10 2008 -0400 [netdrvr] gianfar: Determine TBIPA value dynamically TBIPA needs to be set to a value (on connected MDIO buses) that doesn't conflict with PHYs on the bus. By hardcoding it to 0x1f, we were preventing boards with PHYs at 0x1f from working properly. Instead, scan the bus when it comes up, and find an address that doesn't have a PHY on it. The TBI PHY configuration code then trusts that the value in TBIPA is either safe, or doesn't matter (ie - it's not an active bus with other PHYs). Signed-off-by: Andy Fleming Signed-off-by: Paul Gortmaker Signed-off-by: Jeff Garzik commit 9d88a2eb6e05c07aa0d484b8fa1372722fa921d0 Author: Badari Pulavarty Date: Fri Apr 18 13:33:53 2008 -0700 [POWERPC] Provide walk_memory_resource() for powerpc Provide walk_memory_resource() for 64-bit powerpc. PowerPC maintains logical memory region mapping in the lmb.memory structure. Walk through these structures and do the callbacks for the contiguous chunks. Signed-off-by: Badari Pulavarty Cc: Yasunori Goto Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 98d5c21c812e4e3b795f5bd912f407ed7c5e4e38 Author: Badari Pulavarty Date: Fri Apr 18 13:33:52 2008 -0700 [POWERPC] Update lmb data structures for hotplug memory add/remove The powerpc kernel maintains information about logical memory blocks in the lmb.memory structure, which is initialized and updated at boot time, but not when memory is added or removed while the kernel is running. This adds a hotplug memory notifier which updates lmb.memory when memory is added or removed. This information is useful for eHEA driver to find out the memory layout and holes. NOTE: No special locking is needed for lmb_add() and lmb_remove(). Calls to these are serialized by caller. (pSeries_reconfig_chain). Signed-off-by: Badari Pulavarty Cc: Yasunori Goto Cc: Benjamin Herrenschmidt Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 57b539269e9eef4dedc533d83c94877bc6b4d44d Author: Badari Pulavarty Date: Fri Apr 18 13:33:50 2008 -0700 [POWERPC] Hotplug memory remove notifications for powerpc Hotplug memory remove notifier for 64-bit powerpc. This gets invoked by writing to /proc/ppc64/ofdt the string "remove_node " followed by the firmware device tree pathname of the node that needs to be removed. In response, this adjusts the sections and removes sysfs entries by calling __remove_pages(). Then it calls arch-specific code to get rid of the hardware MMU mappings for the section of memory. Signed-off-by: Badari Pulavarty Reviewed-by: Michael Ellerman Cc: Yasunori Goto Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 18d18208daced52123de9ba0808447058d3442d8 Author: Donald Douwsma Date: Tue Apr 22 17:34:56 2008 +1000 [XFS] Fix broken HAVE_SPLICE removal commit. Commit e687330b5ed1ea899fdaf0dea50aba196b6e019a was meant to remove the unused HAVE_SPLICE macro, instead an unrelated change was checked enabling QUOTADEBUG when building DEBUG XFS. Restore the intended changes. SGI-PV: 971046 SGI-Modid: xfs-linux-melb:xfs-kern:30924a Signed-off-by: Donald Douwsma Signed-off-by: Barry Naujok Signed-off-by: Lachlan McIlroy commit ce46193bcaaf3c769718bcec6eae94719b8f53ed Author: Christoph Hellwig Date: Tue Apr 22 17:34:50 2008 +1000 [XFS] kill XFS_ICSB_SB_LOCKED With the last two patches XFS_ICSB_SB_LOCKED is never checked and only superflously passed to xfs_icsb_count, so kill it. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30920a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 80ff974dba8cc432ab81676fc09d3c357cb11276 Author: Étienne Bersac Date: Tue Apr 29 15:39:55 2008 +1000 [POWERPC] windfarm: Add PowerMac 12,1 support This implements a new driver named windfarm_pm121, which drives the fans on PowerMac 12,1 machines : iMac G5 iSight (rev C) 17" and 20". It's based on the windfarm_pm81 driver from Benjamin Herrenschmidt. This includes fixes from David Woodhouse correcting the names of some of the sensors. Signed-off-by: Étienne Bersac Signed-off-by: David Woodhouse Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 21e38dfee53a2159d14a24a3d2277ae757599efa Author: Tony Breeds Date: Tue Apr 29 11:42:32 2008 +1000 [POWERPC] Fix building of pmac32 when CONFIG_NVRAM=m Kamalesh Babulal (kamalesh@linux.vnet.ibm.com) reports that CONFIG_NVRAM=m is valid in terms of Kconfig but fails to build with: Building modules, stage 2. MODPOST 1401 modules ERROR: "pmac_newworld" [arch/powerpc/platforms/powermac/nvram.ko] undefined! ERROR: "__alloc_bootmem" [arch/powerpc/platforms/powermac/nvram.ko] undefined! make[1]: *** [__modpost] Error The arch/powerpc/platforms/powermac/nvram.c code really needs to be builtin, but as its compilation is dependent on a generic Kconfig symbol we force nvram.c to be builtin if CONFIG_NVRAM is 'y' or 'm'. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 85218827cc4ca900867807f19345418164ffc108 Author: Kumar Gala Date: Mon Apr 28 16:21:22 2008 +1000 [POWERPC] Add IRQSTACKS support on ppc32 This makes it possible to use separate stacks for hard and soft IRQs on 32-bit powerpc as well as on 64-bit. The code for 32-bit is just the 32-bit analog of the 64-bit code. * Added allocation and initialization of the irq stacks. We limit the stacks to be in lowmem for ppc32. * Implemented ppc32 versions of call_do_softirq() and call_handle_irq() to switch the stack pointers * Reworked how we do stack overflow detection. We now keep around the limit of the stack in the thread_struct and compare against the limit to see if we've overflowed. We can now use this on ppc64 if desired. [ paulus@samba.org: Fixed bug on 6xx where we need to reload r9 with the thread_info pointer. ] Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit dd18434ff0b7d9b9ad3d596985fc84b329d2f9a8 Author: Paul Mackerras Date: Mon Apr 28 14:44:08 2008 +1000 [POWERPC] Use __always_inline for xchg* and cmpxchg* This changes the definitions of the xchg and cmpxchg families of functions in include/asm-powerpc/system.h to be marked __always_inline rather than __inline__. The reason for doing this is that we rely on the compiler inlining them in order to eliminate the references to __xchg_called_with_bad_pointer and __cmpxchg_called_with_bad_pointer, which are deliberately left undefined. Thus this change will enable us to make the inline keyword be just a hint rather than a directive. Signed-off-by: Paul Mackerras commit 745a14cc264b1832c638e41812e0cb04328b2db1 Author: Paul Mackerras Date: Mon Apr 28 13:52:31 2008 +1000 [POWERPC] Add fast little-endian switch system call This adds a system call on 64-bit platforms for switching between little-endian and big-endian modes that is much faster than doing a prctl call. This system call is handled as a special case right at the start of the system call entry code, and because it is a special case, it uses a system call number which is out of the range of normal system calls, namely 0x1ebe. Measurements with lmbench on a 4.2GHz POWER6 showed no measurable change in the speed of normal system calls with this patch. Switching endianness with this new system call takes around 60ns on a 4.2GHz POWER6, compared with around 300ns to switch endian mode with a prctl. This can provide a significant performance advantage for emulators for little-endian architectures that want to switch between big-endian and little-endian mode frequently, e.g. because they are generating instructions sequences on the fly and they want to run those sequences in little-endian mode. The other thing about this system call is that it doesn't clobber as many registers as a normal system call. It only clobbers r12. Signed-off-by: Paul Mackerras commit 45af6c6de6453b385c80555c0ee40ab5fc4a033b Author: Christoph Hellwig Date: Tue Apr 22 17:34:44 2008 +1000 [XFS] split xfs_icsb_balance_counter Add an xfs_icsb_balance_counter_locked for the case where mp->m_sb_lock is already locked. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30918a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit d4d90b577ee5af5c1b29bd693aca026a77a1a2f1 Author: Christoph Hellwig Date: Tue Apr 22 17:34:37 2008 +1000 [XFS] Add xfs_icsb_sync_counters_locked for when m_sb_lock already held Add a new xfs_icsb_sync_counters_locked for the case where m_sb_lock is already taken and add a flags argument to xfs_icsb_sync_counters so that xfs_icsb_sync_counters_flags is not needed. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30917a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit dac2f83fce01f0c2900918a4a8abd4c652151804 Author: Krzysztof Halasa Date: Sun Apr 20 19:06:39 2008 +0200 Driver for IXP4xx built-in Ethernet ports Adds a driver for built-in IXP4xx Ethernet ports. Signed-off-by: Krzysztof Hałasa Signed-off-by: Jeff Garzik commit 770f867991155f9c9e36a845a142f770d55ee67c Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Apr 23 23:44:03 2008 +0200 ARM: am79c961a: platform_get_irq() may return signed unnoticed dev->irq is unsigned, platform_get_irq() may return signed unnoticed Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Jeff Garzik commit 0a0a83107c01a8dba04fa40ddb29ff021d4f8112 Author: Cornelia Huck Date: Thu Apr 24 10:15:28 2008 +0200 netiucv: Fix missing driver attributes. Signed-off-by: Cornelia Huck Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit efe3df6f6cfb587e662aa6f0cf9a9fde93d8af0b Author: Frank Blaschka Date: Thu Apr 24 10:15:27 2008 +0200 qeth: layer 2 allow ethtool to set TSO Allow ethtool to turn on/off EDDP via ethtool TSO interface. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit a74b08c7fcfc49727cb9e4409ec0410674410c93 Author: Ursula Braun Date: Thu Apr 24 10:15:26 2008 +0200 qeth: read number of ports from card Read out number of ports from the hardware. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 8af7c5aebc9a7b46f6ea55ee5a216dce4005f538 Author: Frank Blaschka Date: Thu Apr 24 10:15:25 2008 +0200 qeth: layer 3 add missing dev_open/close to ccwgroup handler In case the ccwgroup device is set online/offline we have to run the corresponding dev_open/close for the netdevice. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit f90b744eb8ead0af7a7aa2f78ff861dff4863f2c Author: Frank Blaschka Date: Thu Apr 24 10:15:24 2008 +0200 qeth: rework fast path Remove unnecessary traces. Remove unnecessary wrappers for skb functions. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 3f9975aa4d5b3c614eef8785ec63da13fbd55b51 Author: Frank Blaschka Date: Thu Apr 24 10:15:23 2008 +0200 qeth: provide get ethtool settings Load balancing bonding queries the speed of the slave interfaces. To support a bond consisting of different slave speeds we have to report the speed by ethtool settings. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 213298f862d10ade909bdb7d833493d4bdad683d Author: Frank Blaschka Date: Thu Apr 24 10:15:22 2008 +0200 qeth: layer 3 support vlan IPv6 on hiper socket hiper socket require the QETH_HDR_EXT_VLAN_FRAME flag in the qdio header to handle vlan tagged frames. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit cd023216e64cc0359ec51312bef14ef2449535dd Author: Peter Tiedemann Date: Thu Apr 24 10:15:21 2008 +0200 qeth module size reduction. Replace complex macro for s390dbf calls by equivalent function. This reduces module size about 10% without visible performance impact. Signed-off-by: Peter Tiedemann Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 022b660ae5d075ed9eaddef6f6fb7abb48bdf63b Author: Ursula Braun Date: Thu Apr 24 10:15:20 2008 +0200 ccwgroup: Unify parsing for group attribute. Instead of having each driver for ccwgroup slave device parsing the input itself and calling ccwgroup_create(), introduce a new function ccwgroup_create_from_string() and handle parsing inside the ccwgroup core. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 8bbf84404b02f193c5422c252264d7b82ffe4443 Author: Ursula Braun Date: Thu Apr 24 10:15:19 2008 +0200 netiucv: get rid of in_atomic() use There is no urgent need to restart a netiucv connection automatically, if packets are sent while the netiucv device is not up and running. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 93ad37d94d0b42e493d95b8a79181112c76ab459 Author: Klaus D. Wacker Date: Thu Apr 24 10:15:18 2008 +0200 lcs: CCL-sequ. numbers required for protocol 802.2 only. Sequence numbers in skbs (Receive path) are assigned only to 802.2 packets. Signed-off-by: Klaus D. Wacker Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 679dce39e3cdfcc641b2888ce04f1cd5ff0b3b92 Author: Bryan Wu Date: Fri Apr 25 11:53:11 2008 +0800 Blackfin EMAC Driver: Initial version of ethtool support Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit 7ef0a7ee2f9ac7ee8e2a597821adb2a78b882791 Author: Bryan Wu Date: Fri Apr 25 11:53:10 2008 +0800 Blackfin EMAC Driver: code cleanup - replace specific "bf537" function or data structure name to "bfin_mac" - cleanup bfin_mac_probe with error checking - punt set_pin_mux function, call peripheral request/free list functions directly Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit 4e5b864e7cac67f06f18147b1980cb6b8fb213ec Author: Harvey Harrison Date: Sat Apr 26 23:44:03 2008 -0700 net: eepro autoport typo Found by sparse dubious !x & y warning...hidden in the GetBit macro why !Word doesn't make any sense. Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 4d9b1a022a33c57ca8f31a1364cef682c8c817d6 Author: Steve Glendinning Date: Mon Apr 28 18:37:29 2008 +0100 Add support for SMSC LAN8187 and LAN8700 PHYs Add support for two additional SMSC PHY models with identical interrupt source and mask registers to the LAN83C185 Signed-off-by: Steve Glendinning Signed-off-by: Jeff Garzik commit 48c41b9941233a85ccdb88c579bd4e9b0ee609cf Author: Steve Glendinning Date: Mon Apr 28 18:36:46 2008 +0100 Rename SMSC phy functions to be more generic Several models of SMSC PHY have the same interrupt status and mask registers as the LAN83C185, so these functions can service multiple different PHY drivers. Signed-off-by: Steve Glendinning Signed-off-by: Jeff Garzik commit 5d12b132bc0bfb10d3f8d81f92606719b5032dcb Author: Randy Dunlap Date: Mon Apr 28 10:58:22 2008 -0700 drivers/net/phy: fix kernel-doc notation Fix kernel-doc warning: Warning(linux-2.6.25-git11//drivers/net/phy/phy_device.c:275): No description found for parameter 'bus_id' Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit 23d9b3871fa03af32d06f4946f8d56b1af55997b Author: Sreenivasa Honnur Date: Mon Apr 28 21:09:40 2008 -0400 S2io: Version update for multi ring patches - Updated version number. Signed-off-by: Surjit Reang Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 0425b46a4beef234c522f183d5c2934edbb0f625 Author: Sreenivasa Honnur Date: Mon Apr 28 21:08:45 2008 -0400 S2io: Enable multi ring support - Seperate ring specific data - Initialize all configured rings with equal priority. - Updated boundary check for number of Rings. - Updated per ring statistics of rx_bytes and rx_packets. - Moved lro struct from struct s2io_nic to struct ring_info. - Access respective rx ring directly in fill_rx_buffers. - Moved rx_bufs_left struct s2io_nic to struct ring_info. - Added per ring variables - rxd_mode, rxd_count, dev, pdev. Signed-off-by: Surjit Reang Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit dfd44151e8888b964b7f2400f26794154a58c86b Author: Paulius Zaleckas Date: Tue Apr 29 03:07:31 2008 +0300 3c515: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit 815f8802d201aba1ce343ba832daf639165f01a1 Author: Paulius Zaleckas Date: Tue Apr 29 02:45:43 2008 +0300 3c509: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit ba0f6caeb5d9cf6fbb99f84ff0f2731f04996595 Author: Paulius Zaleckas Date: Tue Apr 29 02:27:37 2008 +0300 3c505: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. No need to memset it to 0, because it is allocated by kzalloc. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit e8b0ebaa115ac46b21622b103c29927f5805aeaa Author: Barry Naujok Date: Tue Apr 22 17:34:31 2008 +1000 [XFS] Cleanup xfs_attr a bit with xfs_name and remove cred SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30913a Signed-off-by: Barry Naujok Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 5df78e73d328e870a1cd8a9e0f39bf094e42ce9d Author: Christoph Hellwig Date: Tue Apr 22 17:34:24 2008 +1000 [XFS] kill usesless IHOLD calls in xfs_remove and xfs_rmdir The VFS always has an inode reference when we call these functions. So we only need to grab a signle reference to each inode that's joined to a transaction - all the other bumping and dropping is as useless as the comments describing the IRIX semantics. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30912a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 82dab941a192d081dd0b7cde3ed32603372d5acc Author: Christoph Hellwig Date: Tue Apr 22 17:34:18 2008 +1000 [XFS] kill parent == child checks in xfs_remove and xfs_rmdir VFS guaranteed these can't happen. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30911a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit dd32f7effdd2f3f348ef91ca1649d78a0ab2b103 Merge: 090bf62... 21e197f... Author: Jeff Garzik Date: Tue Apr 29 01:54:31 2008 -0400 Merge branch 'upstream-jeff' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 into upstream commit 1ac74e01df959e3e91baded7c83399372af945a2 Author: Christoph Hellwig Date: Tue Apr 22 17:34:12 2008 +1000 [XFS] kill usesless IHOLD calls in xfs_rename Similar to to the previous patch for remove and rmdir only grab a reference to inodes when we join them to transaction to balance the decrement on transaction completion. Everything else it taken care of by the VFS. Note that the old case had leaks of inode count when src == target or src or target == one of the parent inodes, but these cases are fortunately already rejected by the VFS. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30904a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit cfa853e47df4fbee441ac0ac3fb592f076233145 Author: Christoph Hellwig Date: Tue Apr 22 17:34:06 2008 +1000 [XFS] remove manual lookup from xfs_rename and simplify locking ->rename already gets the target inode passed if it exits. Pass it down to xfs_rename so that we can avoid looking it up again. Also simplify locking as the first lock section in xfs_rename can go away now: the isdir is an invariant over the lifetime of the inode, and new_parent and the nlink check are namespace topology protected by i_mutex in the VFS. The projid check needs to move into the second lock section anyway to not be racy. Also kill the now unused xfs_dir_lookup_int and remove the now-unused first_locked argumet to xfs_lock_inodes. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30903a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 579aa9caf552c639fc78168db4cfe7ffcf00c3b3 Author: Christoph Hellwig Date: Tue Apr 22 17:34:00 2008 +1000 [XFS] shrink mrlock_t The writer field is not needed for non_DEBU builds so remove it. While we're at i also clean up the interface for is locked asserts to go through and xfs_iget.c helper with an interface like the xfs_ilock routines to isolated the XFS codebase from mrlock internals. That way we can kill mrlock_t entirely once rw_semaphores grow an islocked facility. Also remove unused flags to the ilock family of functions. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30902a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit eca450b7c23f804597b87085b2a05bfc5b3ccb8b Author: Christoph Hellwig Date: Tue Apr 22 17:33:52 2008 +1000 [XFS] simplify xfs_lookup Opencode xfs-kill-xfs_dir_lookup_int here, which gets rid of a lock roundtrip, and lots of stack space. Also kill the di_mode == 0 check that has been done in xfs_iget for a few years now. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30901a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d4377d84189349357e1812eaff6d0504766eea06 Author: Christoph Hellwig Date: Tue Apr 22 17:33:46 2008 +1000 [XFS] xfs_rename: pass resblks to xfs_dir_removename Similar to rmdir and remove - avoids a potential transaction reservation overrun. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30900a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 6a7f422d47d4af461704ebb9d7a389d9e59766b2 Author: Christoph Hellwig Date: Tue Apr 22 17:33:40 2008 +1000 [XFS] kill di_mode checks after xfs_iget Unless XFS_IGET_CREATE is passed xfs_iget will return ENOENT if it encounters an inode with di_mode == 0. Remove the duplicated checks in the callers. (the log recovery case is not touched for now) SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30898a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 4e5dbb3498e74514b9936d691413afc55fb84ea9 Author: Christoph Hellwig Date: Tue Apr 22 17:33:33 2008 +1000 [XFS] kill xfs_getattr It's currently used by the ACL code to read di_mode/di_uid, but these are simple 32bit scalar values we can just read directly without locking. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30897a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 42173f6860af7e016a950a9a19a66679cfc46d98 Author: Christoph Hellwig Date: Tue Apr 22 17:33:25 2008 +1000 [XFS] Remove VN_IS* macros and related cruft. We can just check i_mode / di_mode directly. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30896a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 62478fa4b7cd1bdf0ba8ff8a5e3a95c45c7b8ac8 Author: Cyrill Gorcunov Date: Fri Apr 18 13:42:54 2008 -0700 m32r: cleanup: drop .data.idt section in vmlinux.lds script The section .data.idt is not used at all - so drop it. Signed-off-by: Cyrill Gorcunov Acked-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Hirokazu Takata commit 7622b46451543872e7c8e75ec98f411f59e051b1 Author: Adrian Bunk Date: Tue Apr 22 00:33:02 2008 +0300 m32r: use KBUILD_DEFCONFIG With using KBUILD_DEFCONFIG we don't have to ship a second copy of m32700ut.smp_defconfig Signed-off-by: Adrian Bunk Acked-by: Hirokazu Takata commit 090bf62199d6079cc47c0b78ced9508391b24fa1 Merge: 8ceee66... 697c269... Author: Jeff Garzik Date: Tue Apr 29 01:45:04 2008 -0400 Merge branch 'sis190' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 into upstream commit 8ceee660aacb29721e26f08e336c58dc4847d1bd Author: Ben Hutchings Date: Sun Apr 27 12:55:59 2008 +0100 New driver "sfc" for Solarstorm SFC4000 controller. The driver supports the 10Xpress PHY and XFP modules on our reference designs SFE4001 and SFE4002 and the SMC models SMC10GPCIe-XFP and SMC10GPCIe-10BT. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit a01e035ebb552223c03f2d9138ffc73f2d4d3965 Author: Harvey Harrison Date: Mon Apr 28 16:50:04 2008 -0700 drivers: fix integer as NULL pointer warnings Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit a6a3a17b7fdaf824e6d73e8e4a94c9d149302f74 Author: Harvey Harrison Date: Mon Apr 28 16:50:03 2008 -0700 media: fix integer as NULL pointer warnings drivers/media/video/v4l2-common.c:719:16: warning: Using plain integer as NULL pointer drivers/media/video/au0828/au0828-dvb.c:122:19: warning: Using plain integer as NULL pointer drivers/media/video/ivtv/ivtv-yuv.c:1101:22: warning: Using plain integer as NULL pointer drivers/media/video/ivtv/ivtv-yuv.c:1102:23: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-audio.c:78:39: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-video-v4l.c:84:39: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-v4l2.c:1264:9: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-context.c:197:28: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c:126:39: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-dvb.c:133:32: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-dvb.c:145:31: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-dvb.c:177:55: warning: Using plain integer as NULL pointer drivers/media/video/videobuf-core.c:100:9: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 172c122df5186e7cbd413d61757ff90267331002 Author: Harvey Harrison Date: Mon Apr 28 16:50:03 2008 -0700 scsi: fix integer as NULL pointer warnings drivers/scsi/aic7xxx/aic7770_osm.c:53:58: warning: Using plain integer as NULL pointer drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:355:47: warning: Using plain integer as NULL pointer drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:372:55: warning: Using plain integer as NULL pointer drivers/scsi/aha152x.c:997:28: warning: Using plain integer as NULL pointer drivers/scsi/aha152x.c:1003:28: warning: Using plain integer as NULL pointer drivers/scsi/aha152x.c:1165:46: warning: Using plain integer as NULL pointer drivers/scsi/fdomain.c:1446:40: warning: Using plain integer as NULL pointer drivers/scsi/sym53c8xx_2/sym_hipd.c:1650:51: warning: Using plain integer as NULL pointer drivers/scsi/sym53c8xx_2/sym_hipd.c:3171:42: warning: Using plain integer as NULL pointer drivers/scsi/sym53c8xx_2/sym_hipd.c:5732:52: warning: Using plain integer as NULL pointer drivers/scsi/ncr53c8xx.c:8189:31: warning: Using plain integer as NULL pointer drivers/scsi/ncr53c8xx.c:8225:34: warning: Using plain integer as NULL pointer drivers/scsi/dpt_i2o.c:156:32: warning: Using plain integer as NULL pointer drivers/scsi/ultrastor.c:954:42: warning: Using plain integer as NULL pointer drivers/scsi/ultrastor.c:1104:18: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 8ab68ab420d5fc084b8cdd76a72df72c5e1cdb5d Merge: f05c463... 7b25543... Author: Linus Torvalds Date: Mon Apr 28 17:30:26 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (35 commits) siimage: coding style cleanup (take 2) ide-cd: clean up cdrom_analyze_sense_data() ide-cd: fix test unsigned var < 0 ide: add TSSTcorp CDDVDW SH-S202H to ivb_list[] piix: add Asus Eee 701 controller to short cable list ARM: always select HAVE_IDE remove the broken ETRAX_IDE driver ide: remove ->dma_prdtable field from ide_hwif_t ide: remove ->dma_vendor{1,3} fields from ide_hwif_t scc_pata: add ->dma_host_set and ->dma_start methods ide: skip "VLB sync" if host uses MMIO ide: add ide_pad_transfer() helper ide: remove ->INW and ->OUTW methods ide: use IDE I/O helpers directly in ide_tf_{load,read}() ns87415: add ->tf_read method scc_pata: add ->tf_{load,read} methods ide-h8300: add ->tf_{load,read} methods ide-cris: add ->tf_{load,read} methods ide: add ->tf_load and ->tf_read methods ide: move ide_tf_{load,read} to ide-iops.c ... commit f05c463be51898e745c4aa8245b05e25d73fa975 Merge: 8da5630... 5a1aa8a... Author: Linus Torvalds Date: Mon Apr 28 17:29:43 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: kconfig: add named choice group kconfig: fix choice dependency check kconifg: 'select' considered less evil dontdiff: ignore timeconst.h dontdiff: add modules.order kbuild: fix unportability in gen_initramfs_list.sh kbuild: fix help output to show correct arch kbuild: show defconfig subdirs in make help kconfig: reversed borderlines in inputbox commit 8da56309f04d76a474791fd27b33ddd52062bcd6 Author: Harvey Harrison Date: Mon Apr 28 14:13:20 2008 -0700 drivers: atm, char fix integer as NULL pointer warnings drivers/atm/nicstar.c:418:25: warning: Using plain integer as NULL pointer drivers/char/drm/r128_cce.c:820:25: warning: Using plain integer as NULL pointer drivers/char/tty_io.c:1183:10: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 7b8ee84d8926e6c6ec584548d23a12f1410b4db7 Author: Harvey Harrison Date: Mon Apr 28 14:13:19 2008 -0700 mm: fix integer as NULL pointer warnings mm/hugetlb.c:207:11: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit b331d259b1147f82d692f3b866e036017cbde8fe Author: Harvey Harrison Date: Mon Apr 28 14:13:19 2008 -0700 kernel: fix integer as NULL pointer warnings kernel/cpuset.c:1268:52: warning: Using plain integer as NULL pointer kernel/pid_namespace.c:95:24: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Reviewed-by: Paul Jackson Signed-off-by: Linus Torvalds commit d613c3e2d841889f32b1e74f251a6a6bcd9642cf Author: Harvey Harrison Date: Mon Apr 28 14:13:14 2008 -0700 init: fix integer as NULL pointer warnings init/do_mounts_rd.c:215:13: warning: Using plain integer as NULL pointer init/do_mounts_md.c:136:45: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 7b255436df0543856faaae4704034fe83bc20717 Author: Sergei Shtylyov Date: Mon Apr 28 23:44:44 2008 +0200 siimage: coding style cleanup (take 2) Fix 18 errors and several warnings given by checkpatch.pl: - use of C99 // comments; - trailing whitespace; - 'switch' and 'case' not at the same indentation level; - no space before the open parenthesis of the 'if' and 'switch' statements; - space between function name and open parenthesis (though I have introduced such warnins in some places since the code looks prettier with the spaces); - including instead of ; - line over 80 characters. In addition to these changes, also do the following: - make the arrays in sil_set_pio_mode() 'static', and make the arrays in sil_set_dma_mode() 'static const'; - change the string of the 'if' statements into the 'switch' statement in sil_pata_udma_filter(); - drop the needless '==' operators from the 'if' statements where a condition is a mere bit test; - remove needless initializer for the 'tmp' variable in init_chipset_siimage(); - beautify groups of the variable initializers and assignment operators; - add new line after variable definitions; - remove new line between the comment and the statements it refers to; - remove needless curly braces and parentheses; - fix typos, capitalize acronyms, etc. in the comments... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit eee49298ddb17ff6646a82b843f151e6a7a10edd Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Apr 28 23:44:43 2008 +0200 ide-cd: clean up cdrom_analyze_sense_data() [bart: fix handling of bio_sectors(failed_command->bio) == 0] Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit a83ead23449759b14aa1f194576ac442e84d3efb Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Apr 28 23:44:43 2008 +0200 ide-cd: fix test unsigned var < 0 valid is unsigned and cannot be below 0. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3ced5c49bd2d1f2c7f769e3a54385883de63a652 Author: Alexander Smal Date: Mon Apr 28 23:44:43 2008 +0200 ide: add TSSTcorp CDDVDW SH-S202H to ivb_list[] Signed-off-by: Bartlomiej Zolnierkiewicz commit 1fa5a40f27e832b7c31e93d6dc2952a41ed277f7 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:43 2008 +0200 piix: add Asus Eee 701 controller to short cable list Based on ata_piix patch by Dan McGee. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2064c946eaca641d28281264d01d0c8b977f1f20 Author: Adrian Bunk Date: Mon Apr 28 23:44:43 2008 +0200 ARM: always select HAVE_IDE It's plain wrong for PCMCIA to select HAVE_IDE that implies e.g. the availability of an asm/ide.h It turns out this was done for ARM, and we can simply always select HAVE_IDE on ARM instead of manually tracking which platforms might possible have an IDE controller directly or indirectly. Signed-off-by: Adrian Bunk Cc: Russell King Cc: Sam Ravnborg Signed-off-by: Bartlomiej Zolnierkiewicz commit 3f31b874600bcee53bac6846f72fbee5c33c8805 Author: Adrian Bunk Date: Mon Apr 28 23:44:42 2008 +0200 remove the broken ETRAX_IDE driver ETRAX_IDE was marked as broken last year with the comment "it doesn't even compile currently". Remove it since it won't get fixed in the near future. On Mon, Apr 14, 2008 at 02:50:19PM +0200, Mikael Starvik wrote: > You can remove it for now and we will resubmit a new if/when we get around > to fix it. [bart: ported it over IDE tree] Signed-off-by: Adrian Bunk Cc: Mikael Starvik Cc: Jesper Nilsson Signed-off-by: Bartlomiej Zolnierkiewicz commit 55224bc86a39409d55e47fd45573642ac709bb8f Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:42 2008 +0200 ide: remove ->dma_prdtable field from ide_hwif_t * Use 'hwif->dma_base + {4,8}' instead of hwif->dma_prdtable in {ide,scc}_dma_setup(). * Remove no longer needed ->dma_prdtable field from ide_hwif_t. While at it: * Use ATA_DMA_TABLE_OFS define. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 41051a141dcc67f4c5011a2ab2b547e80b9ac509 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:42 2008 +0200 ide: remove ->dma_vendor{1,3} fields from ide_hwif_t * Use 'hwif->dma_base + {1,3}' instead of hwif->dma_vendor{1,3} in pdc202xx_new host driver. * Remove no longer needed ->dma_vendor{1,3} fields from ide_hwif_t. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 669185e98c242fa4dcd68cf11899412da1a70dd7 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:41 2008 +0200 scc_pata: add ->dma_host_set and ->dma_start methods Add ->dma_host_set and ->dma_start methods (+ __scc_dma_end() helper) so scc_ide_{in,out}b() can be used directly. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 22cdd6cedc93653a95965191e65a30619234a640 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:41 2008 +0200 ide: skip "VLB sync" if host uses MMIO * Skip "VLB sync" in ata_{in,out}put_data() if host uses MMIO. * Use I/O ops directly in ata_vlb_sync() an drop no longer needed 'ide_drive_t *drive' argument. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9f87abe892f899f19df8d472f937ee955cd6264b Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:41 2008 +0200 ide: add ide_pad_transfer() helper * Add ide_pad_transfer() helper (which uses ->{in,out}put_data methods internally so the transfer is also padded to drive+host requirements) and use it instead of ide_atapi_{write_zeros,discard_data}(). * Remove no longer needed ide_atapi_{write_zeros,discard_data}(). Cc: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7c0daf2681f140dd9f39cd95966f471b5c904d8a Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:41 2008 +0200 ide: remove ->INW and ->OUTW methods * Remove no longer used ->INW and ->OUTW methods. While at it: * scc_pata.c: scc_ide_{out,in}w() is called only in scc_tf_{load,read}() so inline it there. Signed-off-by: Bartlomiej Zolnierkiewicz commit ca545c1e75cd017bfd9a9b6c4f81f9b82ba20947 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:41 2008 +0200 ide: use IDE I/O helpers directly in ide_tf_{load,read}() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit ea23b8ba0068df281988bfba605f107edb01bf7f Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:40 2008 +0200 ns87415: add ->tf_read method Add ->tf_read method so out{b,w}(), in{b,w}() and superio_ide_inb() can be used directly. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit db2432c40f4afbf5869d4885adbd023c581dbd0b Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:40 2008 +0200 scc_pata: add ->tf_{load,read} methods Add ->tf_{load,read} methods so scc_ide_{outb,outw,inb,inw}() can be used directly. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 92fcaaa85ec2004abc148b70b667812a42ae8272 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:40 2008 +0200 ide-h8300: add ->tf_{load,read} methods Add ->tf_{load,read} methods so outb()/inb() and mm_outw()/mm_inw() can be used directly. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6dbceb8c8083634ed4f5006deac12f0a45e6a7bc Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:40 2008 +0200 ide-cris: add ->tf_{load,read} methods Add ->tf_{load,read} methods so cris_ide_{outb,outw,inb,inw}() can be used directly. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 94cd5b62ff9bb07ef065333eb97438f115a75890 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:40 2008 +0200 ide: add ->tf_load and ->tf_read methods * Add ->tf_load and ->tf_read methods to ide_hwif_t and set the default methods in default_hwif_transport(). * Use ->tf_{load,read} instead o calling ide_tf_{load,read}() directly. * Make ide_tf_{load,read}() static. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d309e0bb8e5f29692f10790f3e966f05bbfc9355 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:39 2008 +0200 ide: move ide_tf_{load,read} to ide-iops.c Signed-off-by: Bartlomiej Zolnierkiewicz commit 089c5c7e0089c3461545be936bcd236cbf16b79a Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:39 2008 +0200 ide: factor out debugging code from ide_tf_load() Factor out debugging code from ide_tf_load() to ide_tf_dump() helper and update ide_tf_load() users accordingly. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1fc142589e58b20a67582974b8848595a2c7432e Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:39 2008 +0200 ide: add ide_execute_pkt_cmd() helper Add ide_execute_pkt_cmd() helper for executing PACKET command, then convert ATAPI device drivers to use it. As a nice side-effect this fixes ide-{floppy,tape,scsi} w.r.t. ide_lock taking (ide-cd was OK). Signed-off-by: Bartlomiej Zolnierkiewicz commit 3910dde6410e742f8bd3f516ee9b1a7114abbad0 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:39 2008 +0200 ide-{floppy,tape,scsi}: 400ns delay is required after executing the command Signed-off-by: Bartlomiej Zolnierkiewicz commit 32b3fe4fff0974d823a0c0d17d7b25690ecd5fc8 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:38 2008 +0200 ide: always use ->OUTBSYNC method for executing commands Always use ->OUTBSYNC method for executing commands so the posting is done if needed (this affects only pmac and scc_pata host drivers at the moment). Signed-off-by: Bartlomiej Zolnierkiewicz commit 24cc434acc2b3aaf70eba4ba20890eca5fcfa686 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:38 2008 +0200 siimage: remove proc_reports_siimage() * proc_reports_siimage() is now only called by init_chipset_siimage() so inline it there. * Use array instead of switch statement for reporting clock modes. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 165701d9fc0e4e2bf2784119514877484ab361c5 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:38 2008 +0200 siimage: add sil_* I/O ops Add sil_iowrite{8,16,32}() and sil_ioread{8,16}() helpers, then use them to merge code accessing configuration registers through PCI and MMIO together. [ because of this SATA initialization bits from setup_mmio_siimage() are moved to init_chipset_siimage() ] This also cuts code size a bit: text data bss dec hex filename 4437 164 0 4601 11f9 drivers/ide/pci/siimage.o.before 3979 164 0 4143 102f drivers/ide/pci/siimage.o.after While at it: * Use I/O ops directly instead of using ->IN{B,W} and ->OUT{B,W}. * Fixup CodingStyle in setup_mmio_siimage(). * Rename 'tmpbyte' variable to 'tmp' in init_chipset_siimage(). There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 24a96ae0e34e743f3ee00501ad38f1cb4aa31429 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:38 2008 +0200 siimage: do clocking register posting earlier in setup_mmio_siimage() Do clocking register posting earlier in setup_mmio_siimage() to match code in init_chipset_siimage(). This is a preparation for the next patch which merges PCI and MMIO code paths together. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 16bb69c14a42e64faef1ec5c724ffaca916347a1 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:37 2008 +0200 ide: remove ->INS{W,L} and ->OUTS{W,L} methods * Use ins{w,l}()/outs{w,l}() and __ide_mm_ins{w,l}()/__ide_mm_outs{w,l}() directly in ata_{in,out}put_data() (by using IDE_HFLAG_MMIO host flag to decide which I/O ops are required). * Remove no longer needed ->INS{W,L} and ->OUTS{W,L} methods (ide-h8300, au1xxx-ide and scc_pata implement their own ->{in,out}put_data methods). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit c5dd43ec65c1e1e378df043d517d40ed70a32cbe Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:37 2008 +0200 ide: add IDE_HFLAG_MMIO host flag (take 2) * Add IDE_HFLAG_MMIO host flag and set it for hosts which use default_hwif_mmiops(). v2: * Fix kernel panic in pmac host driver (',' should be '|'). Thanks to Kamalesh for reporting it + testing the fix and to Andrew for hinting me about the source of the issue. Cc: Kamalesh Babulal Cc: Andrew Morton Cc: Stephen Rothwell Cc: Andy Whitcroft Signed-off-by: Bartlomiej Zolnierkiewicz commit f04ff9cbb6389a6db64659cf917a1b6ac159f9f2 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:37 2008 +0200 ide-h8300: add ->{in,out}put_data methods (take 2) v2: * Update ->{in,out}_data methods to take 'struct request *rq' argument. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 70f91e0d1410f77e0a22aa78fa2d591f1fd691a5 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:37 2008 +0200 au1xxx-ide: add ->{in,out}put_data methods (take 2) v2: * Update ->{in,out}_data methods to take 'struct request *rq' argument. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit efa3db1bb70c45a384419fdc257723cb167905ff Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:36 2008 +0200 scc_pata: add ->{in,out}put_data methods (take 2) v2: * Update ->{in,out}_data methods to take 'struct request *rq' argument (thanks to Stephen Rothwell for catching it). There should be no functional changes caused by this patch. Cc: Kou Ishizaki Cc: Akira Iguchi Cc: Stephen Rothwell Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9567b349f7e7dd7e2483db99ee8e4a6fe0caca38 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:36 2008 +0200 ide: merge ->atapi_*put_bytes and ->ata_*put_data methods * Merge ->atapi_{in,out}put_bytes and ->ata_{in,out}put_data methods into new ->{in,out}put_data methods which take number of bytes to transfer as an argument and always do padding. While at it: * Use 'hwif' or 'drive->hwif' instead of 'HWIF(drive)'. There should be no functional changes caused by this patch (all users of ->ata_{in,out}put_data methods were using multiply-of-4 word counts). Signed-off-by: Bartlomiej Zolnierkiewicz commit 92d3ab27e8fd23d1a9dc3b69d17b2afb83e5c6f5 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:36 2008 +0200 falconide/q40ide: add ->atapi_*put_bytes and ->ata_*put_data methods (take 2) * Add ->atapi_{in,out}put_bytes and ->ata_{in,out}put_data methods to falconide and q40ide host drivers (->ata_* methods are implemented on top of ->atapi_* methods so they also do byte-swapping now). * Cleanup atapi_{in,out}put_bytes(). v2: * Add 'struct request *rq' argument to ->ata_{in,out}put_data methods and don't byte-swap disk fs requests (we shouldn't un-swap fs requests because fs itself is stored byte-swapped on the disk) - this is how things were done before the patch (ideally device mapper should be used instead but it would break existing setups and would have some performance impact). Cc: Geert Uytterhoeven Cc: Michael Schmitz Cc: Roman Zippel Cc: Alan Cox Cc: Richard Zidlicky Signed-off-by: Bartlomiej Zolnierkiewicz commit 284aa76b5339ce79d5ad2ac1c7cbf717082816a7 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:35 2008 +0200 ide: fix au1xxx-ide breakage On Monday 28 April 2008, Sergei Shtylyov wrote: > Hello, I wrote: > > > Fix these warnings emitted when compiling drivers/ide/mips/au1xxx-ide.c: > > > include/asm/mach-au1x00/au1xxx_ide.h:137: warning: 'auide_tune_drive' declared > > `static' but never defined > > include/asm/mach-au1x00/au1xxx_ide.h:138: warning: 'auide_tune_chipset' declared > > `static' but never defined > > > by wiping out the whole "function prototyping" section from the header file > > as it mostly declared functions that are > > already dead in the IDE driver; move the only useful prototype into the driver. > > > > Signed-off-by: Sergei Shtylyov > > > --- > > I'm not sure thru which tree this should go -- probably thru Linux/MIPS one... > > > Bart, au1xxx-ide-fix-mwdma-support.patch will probably need to be updated to > > remove that added prototype since it won't be needed anymore... > > Which you haven't done either in that patch or in > au1xxx-ide-use-init_dma-method.patch. So, face the consequences: > > drivers/ide/mips/au1xxx-ide.c:456: error: conflicting types for 'auide_ddma_init' > drivers/ide/mips/au1xxx-ide.c:51: error: previous declaration of > 'auide_ddma_init' was here > drivers/ide/mips/au1xxx-ide.c:456: error: conflicting types for 'auide_ddma_init' > drivers/ide/mips/au1xxx-ide.c:51: error: previous declaration of > 'auide_ddma_init' was here > drivers/ide/mips/au1xxx-ide.c:51: warning: 'auide_ddma_init' used but never > defined Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9d04d9280c4bbf6950b70b705bc4ace41de65615 Author: Roland McGrath Date: Mon Apr 28 13:57:19 2008 -0700 ptrace: conditionalize compat_ptrace_request My recent additions to compat_ptrace_request made it mandatory for CONFIG_COMPAT arch's to define copy_siginfo_from_user32. This broke some builds, though they all really should get cleaned up in that way. Since all the arch's that actually call compat_ptrace_request have now been cleaned up to use the generic compat_sys_ptrace, we can avoid the build problems on the crufty arch's by changing the conditionals on the definition. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit e97e386b126c2d60b8da61ce1e4964b41b3d1514 Merge: d9dedc1... c124f5b... Author: Linus Torvalds Date: Mon Apr 28 14:08:56 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: pack objects denser slub: Calculate min_objects based on number of processors. slub: Drop DEFAULT_MAX_ORDER / DEFAULT_MIN_OBJECTS slub: Simplify any_slab_object checks slub: Make the order configurable for each slab cache slub: Drop fallback to page allocator method slub: Fallback to minimal order during slab page allocation slub: Update statistics handling for variable order slabs slub: Add kmem_cache_order_objects struct slub: for_each_object must be passed the number of objects in a slab slub: Store max number of objects in the page struct. slub: Dump list of objects not freed on kmem_cache_close() slub: free_list() cleanup slub: improve kmem_cache_destroy() error message slob: fix bug - when slob allocates "struct kmem_cache", it does not force alignment. commit 5a1aa8a1aff6191ecc55f21d8b5f0e47108ed91b Author: Roman Zippel Date: Fri Feb 29 05:11:50 2008 +0100 kconfig: add named choice group As choice dependency are now fully checked, it's quite easy to add support for named choices. This lifts the restriction that a choice value can only appear once, although it still has to be within the same group, but multiple choices can be joined by giving them a name. While at it I cleaned up a little the choice type logic to simplify it a bit. Signed-off-by: Roman Zippel Signed-off-by: Sam Ravnborg commit 48981178869bf7d9770f11fc361996ad11217a75 Author: Roman Zippel Date: Fri Feb 29 05:10:24 2008 +0100 kconfig: fix choice dependency check Properly check the dependency of choices as a group. Also fix that sym_check_deps() correctly terminates the dependency loop error check (otherwise it would continue printing the dependency chain). Signed-off-by: Roman Zippel Signed-off-by: Sam Ravnborg commit dfecbec8b54038ef02835d2f8181e1f44bd080d2 Author: Matthew Wilcox Date: Sat Apr 19 14:45:11 2008 -0600 kconifg: 'select' considered less evil While select should be used with care, it is not actually evil. Signed-off-by: Matthew Wilcox Signed-off-by: Sam Ravnborg commit beda8ae7160bd7b521d9db274a27d8964dfba8ab Author: Ben Dooks Date: Fri Apr 18 16:28:35 2008 +0100 dontdiff: ignore timeconst.h Ignore the autobuilt kernel/timeconst.h when using diff on an built kernel tree. Signed-off-by: Ben Dooks Signed-off-by: Sam Ravnborg commit a72a431bf8aefee7552bffd2bcdfd5c3a09605d1 Author: Ben Dooks Date: Fri Apr 18 16:18:16 2008 +0100 dontdiff: add modules.order Add modules.order to the list of files that shoud be ignored when using diff on a built kernel tree. Signed-off-by: Ben Dooks Signed-off-by: Sam Ravnborg commit b5a5e4c73228e1c5f646ee2524f5e13ae5f08b4d Author: Felix Fietkau Date: Wed Apr 2 14:50:05 2008 +0200 kbuild: fix unportability in gen_initramfs_list.sh On a Mac OS X machine the output of ls -l is different from a standard Linux machine. Use readlink instead of parsing a hardcoded field number from the ls output. Signed-off-by: Felix Fietkau Signed-off-by: Sam Ravnborg commit d9dedc13851f9cbd568fbc631a17b0be83404957 Author: Roland McGrath Date: Sun Apr 27 18:45:38 2008 -0700 x86_64 vDSO: use initdata The 64-bit vDSO image is in a special ".vdso" section for no reason I can determine. Furthermore, the location of the vdso_end symbol includes some wrongly-calculated padding space in the image, which is then (correctly) rounded to page size, resulting in an extra page of zeros in the image mapped in to user processes. This changes it to put the vdso.so image into normal initdata as we have always done for the 32-bit vDSO images. The extra padding is gone, so the user VMA is one page instead of two. The image that was already copied around at boot time is now in initdata, so we recover that wasted space after boot. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 7f6c69dcf40a227b8c98e5619367269b427164d7 Merge: 1e5ad9a... e56a727... Author: Linus Torvalds Date: Mon Apr 28 13:47:21 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Make acpi-cpufreq more robust against BIOS freq changes behind our back. [CPUFREQ] change cpu freq tables to per_cpu variables [CPUFREQ] fix show_trans_table [CPUFREQ] Warn when cpufreq_register_notifier called before pure initcalls [CPUFREQ] Refactor locking in cpufreq_add_dev [CPUFREQ] more CodingStyle [CPUFREQ] CodingStyle [CPUFREQ] Slightly shorten the error paths of cpufreq_suspend/cpufreq_resume commit 01dee1881d7cbcd5c456735085e52de94da8d4e1 Author: Andres Salomon Date: Fri Apr 25 22:34:58 2008 -0400 kbuild: fix help output to show correct arch Signed-off-by: Andres Salomon Signed-off-by: Sam Ravnborg commit 1e5ad9a3b9b78767a2eb1345201e46f41f9457ef Author: Adrian Bunk Date: Mon Apr 28 20:40:08 2008 +0300 mm/memory_hotplug.c must #include "internal.h" This patch fixes the following compile error caused by commit 04753278769f3b6c3b79a080edb52f21d83bf6e2 ("memory hotplug: register section/node id to free"): CC mm/memory_hotplug.o /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/memory_hotplug.c: In function ‘put_page_bootmem’: /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/memory_hotplug.c:82: error: implicit declaration of function ‘__free_pages_bootmem’ /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/memory_hotplug.c: At top level: /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/memory_hotplug.c:87: warning: no previous prototype for ‘register_page_bootmem_info_section’ make[2]: *** [mm/memory_hotplug.o] Error 1 [ Andrew: "Argh. The -mm-only memory-hotplug-add-removable-to-sysfs- to-show-memblock-removability.patch debugging patch adds that include so nobody hit this before. ] Signed-off-by: Adrian Bunk Signed-off-by: Linus Torvalds commit 5dffbe811b78684fc4d8538cb7b38d9c47f96f9f Author: Segher Boessenkool Date: Sun Apr 6 22:16:07 2008 +0200 kbuild: show defconfig subdirs in make help PowerPC will start moving board defconfigs into subarch-specific subdirs soon. "make help" currently does not look in subdirs to find the defconfigs to show. This is partially a good thing, since there are way too many defconfigs for one list. This patch makes the main "make help" display something like help-40x - Show 40x-specific targets help-44x - Show 44x-specific targets help-boards - Show all of the above and wires up stuff so those new help-* commands actually work. [sam: fixed it up to display x86 defconfigs too] Cc: Josh Boyer Signed-off-by: Segher Boessenkool Signed-off-by: Sam Ravnborg commit 79d6e539df8260fe5d12a2117494aaf80ca1b3e8 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Mar 20 21:30:32 2008 +0100 kconfig: reversed borderlines in inputbox Fix reversal of dlg.border.atr and dlg.dialog.atr for draw_box() Makes the inputbox look like expected Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Sam Ravnborg commit 6501faf8c1bbaa51dc493f3681df016d2ebce833 Author: Shaohua Li Date: Sun Apr 27 13:46:56 2008 -0700 [CPUFREQ] state info wrong after resume Sometimes old_index != stat->last_index, see cpufreq_update_policy, bios can change cpu setting in resume. In my test, after resume cpu is in lowest speed, but the stat info shows cpu is in full speed. This patch makes the stat info correct after a resume. Signed-off-by: Shaohua Li Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 30d221db4439973076953e2ed44344fa92d1d09f Author: Alessandro Guido Date: Fri Apr 18 13:31:13 2008 -0700 [CPUFREQ] allow use of the powersave governor as the default one Allow use of the powersave cpufreq governor as the default one for EMBEDDED configs. Signed-off-by: Alessandro Guido Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 605400a8ab44131698b206cbe253e48380daaa69 Author: Darrick J. Wong Date: Fri Apr 18 13:31:13 2008 -0700 [CPUFREQ] document the currently undocumented parts of the sysfs interface There is a description of some of the sysfs files. However, there are some that are not mentioned in the documentation, so add them to the user's guide. Signed-off-by: Darrick J. Wong Cc: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit e8628dd06d66f2e3965ec9742029b401d63434f1 Author: Darrick J. Wong Date: Fri Apr 18 13:31:12 2008 -0700 [CPUFREQ] expose cpufreq coordination requirements regardless of coordination mechanism Currently, affected_cpus shows which CPUs need to have their frequency coordinated in software. When hardware coordination is in use, the contents of this file appear the same as when no coordination is required. This can lead to some confusion among user-space programs, for example, that do not know that extra coordination is required to force a CPU core to a particular speed to control power consumption. To fix this, create a "related_cpus" attribute that always displays the coordination map regardless of whatever coordination strategy the cpufreq driver uses (sw or hw). If the cpufreq driver does not provide a value, fall back to policy->cpus. Signed-off-by: Darrick J. Wong Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 681587c58639444215a7c88f7471819997d2f226 Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Apr 23 23:59:36 2008 +0200 [ARM] serial: s3c2410: platform_get_irq() may return signed unnoticed port->irq is unsigned, platform_get_irq() may return signed unnoticed Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Alan Cox Signed-off-by: Russell King commit 62783679540fbdfd74e10fbe9478d978141ba45f Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Apr 23 23:44:03 2008 +0200 [ARM] am79c961a: platform_get_irq() may return signed unnoticed dev->irq is unsigned, platform_get_irq() may return signed unnoticed Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Russell King commit 0c96c5979a522c3323c30a078a70120e29b5bdbc Author: Thomas Gleixner Date: Mon Apr 28 09:23:24 2008 +0200 hrtimer: raise softirq unlocked to avoid circular lock dependency The scheduler hrtimer bits in 2.6.25 introduced a circular lock dependency in a rare code path: ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.25-sched-devel.git-x86-latest.git #19 ------------------------------------------------------- X/2980 is trying to acquire lock: (&rq->rq_lock_key#2){++..}, at: [] task_rq_lock+0x56/0xa0 but task is already holding lock: (&cpu_base->lock){++..}, at: [] lock_hrtimer_base+0x31/0x60 which lock already depends on the new lock. The scenario which leads to this is: posix-timer signal is delivered -> posix-timer is rearmed timer is already expired in hrtimer_enqueue() -> softirq is raised To prevent this we need to move the raise of the softirq out of the base->lock protected code path. Signed-off-by: Thomas Gleixner Cc: stable@kernel.org Acked-by: Peter Zijlstra commit 0ed1507183adea174bc4b6611b50d90e044730c2 Author: Lennert Buytenhek Date: Thu Apr 24 01:31:45 2008 -0400 [ARM] Feroceon: Feroceon-specific WA-cache compatible {copy,clear}_user_page() This patch implements a set of Feroceon-specific {copy,clear}_user_page() routines that perform more optimally than the generic implementations. This also deals with write-allocate caches (Feroceon can run L1 D in WA mode) which otherwise prevents Linux from booting. [nico: optimized the code even further] Signed-off-by: Lennert Buytenhek Tested-by: Sylver Bruneau Tested-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 6b29e681aa7e80792e6e6be4ac2577014018c2fd Author: Nicolas Pitre Date: Fri Apr 25 13:56:32 2008 -0400 [ARM] Feroceon: fix function alignment in proc-feroceon.S One overzealous .align 10 fixed, and a few .align5 added. Signed-off-by: Nicolas Pitre commit b46926bb2d9977799c88aef17a4386ee02c326d8 Author: Lennert Buytenhek Date: Fri Apr 25 16:31:32 2008 -0400 [ARM] Orion: catch a couple more alternative spellings of PCIe Unify a couple more spellings of "PCIe" ("PCI-E", "PCIE".) Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 994cab846422bc9c636cc780a48b7370e837a3bb Author: Lennert Buytenhek Date: Fri Apr 25 16:30:21 2008 -0400 [ARM] Orion: fix orion-ehci platform resource end addresses End addresses in 'struct resource' are inclusive -- fix the common orion5x code to pass in the proper end addresses when instantiating the two on-chip EHCI controllers. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 92b913b08b18faa487b0c744282fafd944446ade Author: Lennert Buytenhek Date: Fri Apr 25 16:28:33 2008 -0400 [ARM] Orion: fix ->map_irq() PCIe bus number check The current orion5x board ->map_irq() routines check whether a given bus number lives on the PCIe controller by comparing it with the PCIe controller's primary bus number. This doesn't work in case there are multiple buses in the PCIe domain, i.e. if there exists a PCIe bridge on the primary PCIe bus. This patch adds a helper function (orion5x_pci_map_irq()) that returns the IRQ number for the given PCI device if that device has a hard-wired IRQ, or -1 otherwise, and makes each board's ->map_irq() function use this helper function. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit fd153abb01c3fbcc47cd4ac3c0bc8801cfcc0009 Author: Nicolas Pitre Date: Fri Apr 25 14:28:55 2008 -0400 [ARM] Orion: fix ioremap() optimization The ioremap() optimization used for internal register didn't cope with the fact that paddr + size can wrap to zero if the area extends to the end of the physical address space. Issue isolated by Sylver Bruneau . Signed-off-by: Nicolas Pitre commit c5a1e8f7091c33c7f6b53f070d13380facab6607 Author: Lennert Buytenhek Date: Thu Apr 24 01:31:46 2008 -0400 [ARM] feroceon: remove CONFIG_CPU_CACHE_ROUND_ROBIN check Since the Feroceon cache replacement policy is always pseudorandom (and the relevant control register bit is ignored), remove the CONFIG_CPU_CACHE_ROUND_ROBIN check from proc-feroceon.S. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit a7039bd6daa32f5ea1a185b7cb0b3b519e1f5018 Author: Lennert Buytenhek Date: Thu Apr 24 01:31:46 2008 -0400 [ARM] feroceon: remove CONFIG_CPU_DCACHE_WRITETHROUGH check Since the Feroceon doesn't have a global WT override bit like ARM926 does, remove all code relating to this mode of operation from proc-feroceon.S. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit a3fd133c24e16d430ba21f3d9f5c0b8faeeb37fe Author: Lennert Buytenhek Date: Thu Apr 24 01:31:45 2008 -0400 kprobes/arm: fix decoding of arithmetic immediate instructions The ARM kprobes arithmetic immediate instruction decoder (space_cccc_001x()) was accidentally zero'ing out not only the Rn and Rd arguments, but the lower nibble of the immediate argument as well -- this patch fixes this. Signed-off-by: Lennert Buytenhek Acked-by: Nicolas Pitre commit 8f79ff0cb5330a92032c30ff586745d3016b34ca Author: Nicolas Pitre Date: Wed Apr 23 18:44:15 2008 -0400 kprobes/arm: fix cache flush address for instruction stub It is more useful to flush the cache with the actual buffer address rather than the address containing a pointer to the buffer. Signed-off-by: Nicolas Pitre Acked-by: Lennert Buytenhek commit ee69439cc1dcadbae42ece1caa1ec1786560f7aa Author: Jesse Barnes Date: Mon Apr 28 12:30:35 2008 -0700 PCI: don't expose struct pci_vpd to userspace We just need to forward declare it for struct pci_dev, not expose it outside of __KERNEL__. Signed-off-by: Jesse Barnes commit e56a727b023d40d1adf660168883f30f2e6abe0a Author: Venkatesh Pallipadi Date: Mon Apr 28 15:13:43 2008 -0400 [CPUFREQ] Make acpi-cpufreq more robust against BIOS freq changes behind our back. We checked the hardware freq with OS cached freq value in get_cur_freqon_cpu(). Signed-off-by: Venkatesh Pallipadi Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit c938ac21329f19ad286eaaed7e26434943c8061b Author: Mike Travis Date: Wed Mar 5 08:31:29 2008 -0800 [CPUFREQ] change cpu freq tables to per_cpu variables Change cpufreq tables from arrays to per_cpu variables in drivers/acpi/processor_thermal.c Based on git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Cc: Len Brown Signed-off-by: Mike Travis Signed-off-by: Dave Jones commit 25aca347d49ffc38aa3b7e63ce9b90df7f8b79c8 Author: Cesar Eduardo Barros Date: Sat Feb 16 08:41:25 2008 -0200 [CPUFREQ] fix show_trans_table Fix show_trans_table when it overflows PAGE_SIZE. * Not all snprintf calls were protected against being passed a negative length. * When show_trans_table overflows, len might be > PAGE_SIZE. In that case, returns PAGE_SIZE. Signed-off-by: Cesar Eduardo Barros Signed-off-by: Dave Jones commit 74212ca432982903d0fc6a0f282b199e000ad8b1 Author: Cesar Eduardo Barros Date: Sat Feb 16 08:41:24 2008 -0200 [CPUFREQ] Warn when cpufreq_register_notifier called before pure initcalls If cpufreq_register_notifier is called before pure initcalls, init_cpufreq_transition_notifier_list will overwrite whatever it did, causing notifiers to be ignored. Print some noise to the kernel log if that happens. Signed-off-by: Cesar Eduardo Barros Signed-off-by: Dave Jones commit 457091181176643787a547dc04eb3cf5dcd822ce Author: Dave Jones Date: Wed Mar 5 14:07:34 2008 -0500 [CPUFREQ] Refactor locking in cpufreq_add_dev Simplify this by moving the unlocking out of the error paths into the exit path. Signed-off-by: Dave Jones commit 905d77cd95e856b8e0b2d099fb70b9b8ccb7337e Author: Dave Jones Date: Wed Mar 5 14:28:32 2008 -0500 [CPUFREQ] more CodingStyle void * p -> void *p no space between function parameters removed excess whitespace Signed-off-by: Dave Jones commit 4d34a67d0204029079815c8c2753ca647cd0e7e9 Author: Dave Jones Date: Thu Feb 7 16:33:49 2008 -0500 [CPUFREQ] CodingStyle return is not a function. Signed-off-by: Dave Jones commit c906049447019d69b9cc2d591a142af561afa7f9 Author: Dave Jones Date: Thu Feb 7 16:32:18 2008 -0500 [CPUFREQ] Slightly shorten the error paths of cpufreq_suspend/cpufreq_resume Signed-off-by: Dave Jones commit e31a94ed371c70855eb30b77c490d6d85dd4da26 Merge: 9d9ad4b... fcbd3b4... Author: Linus Torvalds Date: Mon Apr 28 10:51:43 2008 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (45 commits) [MIPS] Pb1200/DBAu1200: move platform code to its proper place [MIPS] Fix handling of trap and breakpoint instructions [MIPS] Pb1200: do register SMC 91C111 [MIPS] DBAu1200: fix bad SMC 91C111 resource size [NET] Kconfig: Rename MIKROTIK_RB500 -> MIKROTIK_RB532 [MIPS] IP27: Fix build bug due to missing include [MIPS] Fix some sparse warnings on traps.c and irq-msc01.c [MIPS] cevt-gt641xx: Kill unnecessary include [MIPS] DS1287: Add clockevent driver [MIPS] add DECstation I/O ASIC clocksource [MIPS] rbtx4938: minor cleanup [MIPS] Alchemy: kill unused PCI_IRQ_TABLE_LOOKUP macro [MIPS] rbtx4938: misc cleanups [MIPS] jmr3927: use generic txx9 gpio [MIPS] rbhma4500: use generic txx9 gpio [MIPS] generic txx9 gpio support [MIPS] make fallback gpio.h gpiolib-friendly [MIPS] unexport null_perf_irq() and make it static [MIPS] unexport rtc_mips_set_time() [MIPS] unexport copy_from_user_page() ... commit 9d9ad4b51d2b29b5bbeb4011f5e76f7538119cf9 Author: PJ Waskiewicz Date: Fri Apr 25 17:58:52 2008 -0700 x86: Fix 32-bit MSI-X allocation leakage This bug was introduced in the 2.6.24 i386/x86_64 tree merge, where MSI-X vector allocation will eventually fail. The cause is the new bit array tracking used vectors is not getting cleared properly on IRQ destruction on the 32-bit APIC code. This can be seen easily using the ixgbe 10 GbE driver on multi-core systems by simply loading and unloading the driver a few times. Depending on the number of available vectors on the host system, the MSI-X allocation will eventually fail, and the driver will only be able to use legacy interrupts. I am generating the same patch for both stable trees for 2.6.24 and 2.6.25. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Linus Torvalds commit a04140e17be54c4d44b9f88068f83256584f052a Author: Randy Dunlap Date: Mon Apr 28 10:21:40 2008 -0700 docbook: fix bitops fatal filename error bitops source file was renamed, so fix docbook for that. docproc: linux-2.6.25-git11/include/asm-x86/bitops_32.h: No such file or directory Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit cfd299dffe6f47c04c47b95893708cdc65876fbd Merge: 6b8588f... c9b7b97... Author: Linus Torvalds Date: Mon Apr 28 10:08:49 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: SELinux: Fix a RCU free problem with the netport cache SELinux: Made netnode cache adds faster SELinux: include/security.h whitespace, syntax, and other cleanups SELinux: policydb.h whitespace, syntax, and other cleanups SELinux: mls_types.h whitespace, syntax, and other cleanups SELinux: mls.h whitespace, syntax, and other cleanups SELinux: hashtab.h whitespace, syntax, and other cleanups SELinux: context.h whitespace, syntax, and other cleanups SELinux: ss/conditional.h whitespace, syntax, and other cleanups SELinux: selinux/include/security.h whitespace, syntax, and other cleanups SELinux: objsec.h whitespace, syntax, and other cleanups SELinux: netlabel.h whitespace, syntax, and other cleanups SELinux: avc_ss.h whitespace, syntax, and other cleanups Fixed up conflict in include/linux/security.h manually commit 97a34eb77c758ff7821c2d29b3b5a84299c93aa1 Author: Matti Linnanvuori Date: Mon Apr 28 09:33:27 2008 -0700 doc: fix an incorrect suggestion to pass NULL for PCI like buses Fix an incorrect suggestion to pass NULL to pci_alloc_consistent for PCI like buses where devices don't have struct pci_dev (like ISA, EISA). Signed-off-by: Matti Linnanvuori Acked-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 6b8588f71890fba78742f90e22390028a6cd706f Author: Al Viro Date: Mon Apr 28 07:00:26 2008 +0100 usb input endianness annotations and fixes Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 24caa6a0c7cde9309026880f8cc7eba587e1272a Author: Al Viro Date: Mon Apr 28 06:59:45 2008 +0100 celleb_scc_pciex __iomem annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit fd05e720099e8eeddb378305d1a41c1445344b91 Author: Al Viro Date: Mon Apr 28 07:00:16 2008 +0100 drivers/usb annotations and fixes * endianness annotations * endianness fixes * missing get_unaligned/put_unaligned It's pretty much all over the place, changes to different files are independent. Signed-off-by: Al Viro Serial-parts-Acked-by: Alan Cox Signed-off-by: Linus Torvalds commit 01d7b369887b6feb7c9ce2b20988fafe3f70841c Author: Al Viro Date: Mon Apr 28 07:00:05 2008 +0100 usbhid endianness annotations and fixes usb_control_msg() converts arguments to little-endian itself, doing that in caller means breakage on big-endian boxen. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit d28aa3ac4cdc2d03a2bde4b78780064a00f7ef61 Author: Al Viro Date: Mon Apr 28 06:59:35 2008 +0100 q40ide breakage again, fallout from ide merge Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ac2f217baf0f24965e40bce9a5d1a780a06596d1 Author: Al Viro Date: Mon Apr 28 06:59:55 2008 +0100 typo in sata_fsl it's ata_link, not ata_linke Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 7d896e0b8e37ae7f74088ce74bf81b58b423b48b Author: Al Viro Date: Mon Apr 28 06:59:25 2008 +0100 more icside breakage (from next ide merge) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b7505680538375e3e562805851e3f061675369b7 Author: Al Viro Date: Mon Apr 28 06:59:15 2008 +0100 fix ia64 local_irq_save() et.al. psr is not a good name for local variable in macro body when it has a good chance of being the argument of said macro (actually is at least in one place) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ea696f9cf37d8ab9236dd133ddb2727264f3add6 Author: Al Viro Date: Mon Apr 28 06:59:05 2008 +0100 ia64 kvm fixes for O=... builds * EXTRA_CFLAGS do not apply for *.S * don't bother with symlinks to ../lib/mem*.S, just add ../lib/mem*.o to object list Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ff471b2464ca7344eba347d360f23ea415a774dc Author: Al Viro Date: Mon Apr 28 06:58:56 2008 +0100 frv si_addr annotations Signed-off-by: Al Viro Acked-by: David Howells Signed-off-by: Linus Torvalds commit 819e32377e401669d2c010f1a0ce12fe43ea5261 Author: Matti Linnanvuori Date: Mon Apr 28 09:48:10 2008 -0700 Consistently use pdev as the variable of type struct pci_dev *. Update DMA mapping documentation to use 'pdev' rather than 'dev' in example code that calls routines expecting 'struct pci_device *', since 'dev' might make readers think they're passing 'struct device *' parameters. Bug 10397. Signed-off-by: Matti Linnanvuori Acked-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit e945e849e18006c131fe59252ab920c6b5f7959c Merge: 77a50df... 194f1a6... Author: Linus Torvalds Date: Mon Apr 28 09:45:57 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc: video drivers: add facility level sparc: tcx.c make tcx_init and tcx_exit static sparc: ffb.c make ffb_init and ffb_exit static sparc: cg14.c make cg14_init and cg15_exit static sparc: bw2.c fix bw2_exit sparc64: Fix accidental syscall restart on child return from clone/fork/vfork. sparc64: Clean up handling of pt_regs trap type encoding. sparc: Remove old style signal frame support. sparc64: Kill bogus RT_ALIGNEDSZ macro from signal.c sparc: sunzilog.c remove unused argument sparc: fix drivers/video/tcx.c warning sparc64: Kill unused local ISA bus layer. input: Rewrite sparcspkr device probing. sparc64: Do not ignore 'pmu' device ranges. sparc64: Kill ISA_FLOPPY_WORKS code. sparc64: Kill CONFIG_SPARC32_COMPAT sparc64: Cleanups and corrections for arch/sparc64/Kconfig sparc64: Fix wedged irq regression. commit 77a50df2b14c8d3ee3c58c21c4a0e0157570df09 Merge: 96fffeb... 358c129... Author: Linus Torvalds Date: Mon Apr 28 09:44:11 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: iwlwifi: Allow building iwl3945 without iwl4965. wireless: Fix compile error with wifi & leds tcp: Fix slab corruption with ipv6 and tcp6fuzz ipv4/ipv6 compat: Fix SSM applications on 64bit kernels. [IPSEC]: Use digest_null directly for auth sunrpc: fix missing kernel-doc can: Fix copy_from_user() results interpretation Revert "ipv6: Fix typo in net/ipv6/Kconfig" tipc: endianness annotations ipv6: result of csum_fold() is already 16bit, no need to cast [XFRM] AUDIT: Fix flowlabel text format ambibuity. commit 96fffeb4b413a4f8f65bb627d59b7dfc97ea0b39 Author: Ingo Molnar Date: Mon Apr 28 01:39:43 2008 +0200 make CC_OPTIMIZE_FOR_SIZE non-experimental this option has been the default on a wide range of distributions for a long time - time to make it non-experimental. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 513694b5f931a62561d21eb97a4740ce37464a45 Merge: 46b958e... d7b41a2... Author: Linus Torvalds Date: Mon Apr 28 09:36:40 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt * git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt: hrtimer: timeout too long when using HRTIMER_CB_SOFTIRQ commit fcbd3b4b92efe29b59df16b910138cf43683be88 Author: Sergei Shtylyov Date: Mon Apr 28 19:54:38 2008 +0400 [MIPS] Pb1200/DBAu1200: move platform code to its proper place Since both the IDE interface and SMC 91C111 Ethernet chip are on-board devices, not SOC devices, move the platform device registration form the common to the board specific code. While at it, remove semicolon (which didn't break compilation only by chance) from the AU1XXX_ATA_DDMA_REQ macro and do some renaming: - change 'au1200_ide0_' variable name prefix to the mere 'ide_'; - change 'smc91x_' variable name prefix to 'smc91c111_' since that's the name of the chip used on the boards; - drop 'AU1XXX_' prefix from the names of macros describing IDE and Ethernet on-board devices; - change 'SMC91111_' to 'SMC91C111_', change 'IRQ' to 'INT' in the names of the macros describing the Ethernet chip for consistency with the IDE macros; - change 'ATA_' to 'IDE_' and 'OFFSET' to 'SHIFT' (since this value is indeed a shift count) in the names of the macros describing the IDE interface. Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit df2700519c84ee8ee1e5ea165725c651f6d4d1a4 Author: Ralf Baechle Date: Sun Apr 20 16:28:54 2008 +0100 [MIPS] Fix handling of trap and breakpoint instructions With fixes and cleanups from Atsushi Nemoto (anemo@mba.ocn.ne.jp). Signed-off-by: Ralf Baechle commit cf85c109831ce11ffa9befd4e970d6363e410a10 Author: Sergei Shtylyov Date: Tue Apr 15 22:26:18 2008 +0400 [MIPS] Pb1200: do register SMC 91C111 Pb1200 does have SMC 91C111 Ethernet chip on board but the platform code did not register it, so one couldn't mount NFS... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 3854c69a0d3080c8647f7b041da2382702f574b7 Author: Sergei Shtylyov Date: Tue Apr 15 22:20:45 2008 +0400 [MIPS] DBAu1200: fix bad SMC 91C111 resource size The on-board SMC 91C111 chip only decodes 16 bytes of memory (obviously, it can not decode a whole megabyte starting from address 0x19000300). Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit f57b2061ab7d444ae0c98764a9c9e09b33c36050 Author: Ralf Baechle Date: Mon Apr 28 12:48:40 2008 +0100 [NET] Kconfig: Rename MIKROTIK_RB500 -> MIKROTIK_RB532 The platform is actually named routerboard 532 so let's call it this. Signed-off-by: Ralf Baechle Acked-by: Jeff Garzik commit a4a8f70d2db2998cf28532287ee89776d4d8a2ca Author: Adrian Bunk Date: Wed Apr 23 18:55:59 2008 +0300 [MIPS] IP27: Fix build bug due to missing include asm-mips/mach-ip27/topology.h must #include This fixes the following compile error: ... CC kernel/sched.o /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c: In function 'find_next_best_node': /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: implicit declaration of function 'node_to_cpumask_ptr' /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: '__tmp__' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: (Each undeclared identifier is reported only once /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: for each function it appears in.) /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c: In function 'sched_domain_node_span': /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7047: error: 'nodemask' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7048: warning: ISO C90 forbids mixed declarations and code /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7059: error: implicit declaration of function 'node_to_cpumask_ptr_next' /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c: In function '__build_sched_domains': /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7605: error: 'pnodemask' undeclared (first use in this function) make[2]: *** [kernel/sched.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit 411ba7fcba54b30ba4ce2c492ea8d20f1d0db996 Author: Atsushi Nemoto Date: Sat Apr 26 01:55:30 2008 +0900 [MIPS] Fix some sparse warnings on traps.c and irq-msc01.c * Declare board_bind_eic_interrupt, board_watchpoint_handler in traps.h * Make msc_bind_eic_interrupt static and fix its argument types. * Make msc_levelirq_type, msc_edgeirq_type static. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 855808392adf499a29e6bdb418f9474726ecbace Author: Atsushi Nemoto Date: Thu Apr 24 23:08:55 2008 +0900 [MIPS] cevt-gt641xx: Kill unnecessary include Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 6457d9fc3bb87c72db03cfb34cd414c8fb9b8edf Author: Yoichi Yuasa Date: Fri Apr 25 12:11:44 2008 +0900 [MIPS] DS1287: Add clockevent driver Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 4247417d8457b326ede001cb74af8570b5aa302b Author: Yoichi Yuasa Date: Thu Apr 24 09:48:40 2008 +0900 [MIPS] add DECstation I/O ASIC clocksource Add DECstation I/O ASIC clocksource Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 05a96fae433a662e12879b543a6838b6c2129402 Author: Atsushi Nemoto Date: Tue Apr 22 23:59:30 2008 +0900 [MIPS] rbtx4938: minor cleanup Do not initialize res->parent for platform device. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 6ed436932d1417534aa1a738fd9585795f954304 Author: Sergei Shtylyov Date: Tue Apr 22 23:28:57 2008 +0400 [MIPS] Alchemy: kill unused PCI_IRQ_TABLE_LOOKUP macro Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 66140c8e9f0d978bd26c58f236d0d86aa666d8fc Author: Atsushi Nemoto Date: Mon Apr 14 21:49:07 2008 +0900 [MIPS] rbtx4938: misc cleanups * Do not use non-standard I/O accessors, such as reg_rd08, etc. * Kill unnecessary wbflush() * Kill tx4938_mips.h * Kill unnecessary includes Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 1bd0962e3d5bc66ee0ee207a61485c6a436cfac2 Author: Atsushi Nemoto Date: Sat Apr 5 00:56:27 2008 +0900 [MIPS] jmr3927: use generic txx9 gpio Use generic txx9 gpio (and gpiolib) for JMR3927 board. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 4cad154b30e7471628cb1943081c72b6368b079a Author: Atsushi Nemoto Date: Sat Apr 5 00:56:09 2008 +0900 [MIPS] rbhma4500: use generic txx9 gpio Use generic txx9 gpio (and gpiolib) for RBHMA4500 board. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit a9aec7fe74cd912cad74ca621ed91cb1c37566ae Author: Atsushi Nemoto Date: Sat Apr 5 00:55:41 2008 +0900 [MIPS] generic txx9 gpio support This is a board-independent TXx9 gpio API implementation using gpiolib. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 8aa62adafada6e3f29e12dacf1d6f491d2ba5f7f Author: Atsushi Nemoto Date: Sat Apr 5 00:55:24 2008 +0900 [MIPS] make fallback gpio.h gpiolib-friendly If gpiolib was selected, asm-generic/gpio.h provides some prototypes for gpio API and implementation helpers. With this patch, platform code can implement its GPIO API using gpiolib without custom gpio.h file. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 46684734dd6a55af09c3fe799af7d74cb938684c Author: Dmitri Vorobiev Date: Wed Apr 2 03:58:38 2008 +0400 [MIPS] unexport null_perf_irq() and make it static This patch unexports the null_perf_irq() symbol, and simultaneously makes this function static. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit c5b0680aa1d7a751b7dd8ebf6854e5baf0a2e54b Author: Dmitri Vorobiev Date: Wed Apr 2 03:58:37 2008 +0400 [MIPS] unexport rtc_mips_set_time() No users for the rtc_mips_set_time() routine exist outside of the core kernel code. Therefore, EXPORT_SYMBOL(rtc_mips_set_time) is useless, and this patch removes it. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit e698d66b813bbe38940d2d80a2488214bdaf96b6 Author: Dmitri Vorobiev Date: Wed Apr 2 03:58:36 2008 +0400 [MIPS] unexport copy_from_user_page() No users for the copy_from_user_page() routine exist outside of the core kernel code. Therefore, EXPORT_SYMBOL(copy_from_user_page) is useless, and this patch removes it. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 715243e6c3e8e74202eb663a8e45880ff6a1dff7 Author: Dmitri Vorobiev Date: Wed Apr 2 03:58:35 2008 +0400 [MIPS] unexport copy_to_user_page() The copy_to_user_page() function is called only in the core kernel code. Therefore, there is no need to export it. This patch removes EXPORT_SYMBOL(copy_to_user_page). Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 11327ef77f8b6104bd4a855bbe783cce84416b03 Author: Dmitri Vorobiev Date: Wed Apr 2 03:58:34 2008 +0400 [MIPS] unexport copy_user_highpage() The copy_user_highpage() routine has no users outside of the core kernel code, so exporting this symbol is pointless. This patch removes EXPORT_SYMBOL(copy_user_highpage). Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 6e766458f78ca15198cf046bc098b36e40c8b471 Author: Sergei Shtylyov Date: Fri Apr 4 00:02:53 2008 +0400 [MIPS] Alchemy: move UART platform code to its proper place Move the code registering the Alchemy UART platform devices from drivers/serial/ to its proper place, into the Alchemy platform code. Fix the related Kconfig entry, while at it... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit ce28f94ca5a9ba3cd6bdcc47b52ea1b7a3bd933b Author: Sergei Shtylyov Date: Wed Apr 23 22:43:55 2008 +0400 [MIPS] Alchemy: kill useless #include's, #define's and extern's Go thru the Alchemy code and hunt down every unneeded #include, #define, and extern (some of which refer to already long dead functions). Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit b57c1913b4dd3bc070cbfccffff3768965a81282 Author: Dmitri Vorobiev Date: Tue Apr 1 02:03:25 2008 +0400 [MIPS] malta_int.c: make 4 variables static The following variables defined in arch/mips/mips-boards/malta/malta_int.c can become static: msc_irqmap[], msc_nr_irqs, msc_eicirqmap[], and msc_nr_eicirqs. This patch makes them static. Successfully build-tested using default configs for Malta, Atlas and SEAD boards. Runtime test successfully performed by booting the Malta 4Kc board up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 52d65cf87f439c5264527c3628d12a26322524eb Author: Dmitri Vorobiev Date: Tue Apr 1 02:03:24 2008 +0400 [MIPS] make standard_io_resources[] static The array standard_io_resources[] needs not to be exposed in the kernel global namespace. This patch makes it static. Successfully build-tested using default configs for Malta, Atlas and SEAD boards. Runtime test successfully performed by booting the Malta 4Kc board up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit b31dc3c4ff530923e471a66a8ad20801326e3951 Author: Dmitri Vorobiev Date: Tue Apr 1 02:03:23 2008 +0400 [MIPS] make plat_perf_setup() static There is no need for the plat_perf_setup() function to be global, so make it static. Successfully build-tested using default configs for Malta, Atlas and SEAD boards. Runtime test successfully performed by booting the Malta 4Kc board up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit ddaf5740b9e822d3650a19ab9757b49ddf5c95de Author: Dmitri Vorobiev Date: Tue Apr 1 02:03:22 2008 +0400 [MIPS] make mdesc and prom_getmdesc() static Neither the mdesc[] array nor the prom_getmdesc() function need to be global. This patch makes them static. Successfully build-tested using default configs for Malta, Atlas and SEAD boards. Runtime test successfully performed by booting the Malta 4Kc board up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 33d69d2a784851431f24c55abb00dfec13502b0b Author: Dmitri Vorobiev Date: Tue Apr 1 02:03:21 2008 +0400 [MIPS] make mips_ejtag_setup() static This change makes the needlessly global function mips_ejtag_setup() static. Successfully build-tested using default configs for Malta, Atlas and SEAD boards. Runtime test successfully performed by booting the Malta 4Kc board up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit cd2675fba90d3e87fa7c9902fd7fdedc2e5022e0 Author: Dmitri Vorobiev Date: Tue Apr 1 02:03:20 2008 +0400 [MIPS] make mips_nmi_setup() static This change makes the needlessly global function mips_nmi_setup() static. Successfully build-tested using default configs for Malta, Atlas and SEAD boards. Runtime test successfully performed by booting the Malta 4Kc board up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit bb09a954b64c61b691c095e0a20708265b5bc2bc Author: Harvey Harrison Date: Fri Mar 28 14:34:39 2008 -0700 [MIPS] replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Ralf Baechle commit f2ce89f30ede4cb32fa8f9aaec884087069c81ba Author: Johannes Weiner Date: Fri Mar 28 14:34:37 2008 -0700 [MIPS] remove redundant display of free swap space in show_mem() Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Ralf Baechle commit eba8291b514e6e590be161afcbfdab58cc5da6b8 Author: Sergei Shtylyov Date: Thu Mar 27 22:05:57 2008 +0300 [MIPS] Alchemy: kill useless time variables Since the commit 91a2fcc88634663e9e13dcdfad0e4a860e64aeee ([MIPS] Consolidate all variants of MIPS cp0 timer interrupt handlers) removed the Alchemy specific timer handler, 'r4k_offset' and 'r4k_cur' variables became practically useless, so get rid of them at last, renaming cal_r4off() function into calc_clock() and making it return CPU frequency. Also, make 'no_au1xxx_32khz' variable static... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 0167509574ef1cdb516906db5e8b6ad5ca64ab61 Author: Sergei Shtylyov Date: Mon Mar 24 23:15:50 2008 +0300 [MIPS] Alchemy: don't unmask timer IRQ early Defer the unmasking of the count/compare interrupt (IRQ5) till the clockevent driver initialization: - only enable the cascaded IRQs 0 thru 4 in arch_init_irq(); kill the ALLINTS macro -- this change is blessed by AMD as I saw it in their own patch; :-) - do not force IRQ5 enabled in plat_time_init() if PM is enabled and there's no 32 KHz crystal. Update the copyrights (taking into account my prior changes), also removing Pete Popov's old email... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit a92b05880d261e9017ef8e7d5b6b01e0e5aa991d Author: Daniel Laird Date: Thu Mar 6 09:07:18 2008 +0000 [MIPS] Move arch/mips/philips to arch/mips/nxp Signed-off-by: daniel.j.laird Signed-off-by: Ralf Baechle commit 389310e2b0c195f176e7d4be788bc245e9102412 Author: Harvey Harrison Date: Tue Mar 4 17:17:16 2008 -0800 [MIPS] replace __inline with inline Signed-off-by: Harvey Harrison Signed-off-by: Ralf Baechle commit 39b8d5254246ac56342b72f812255c8f7a74dca9 Author: Ralf Baechle Date: Mon Apr 28 17:14:26 2008 +0100 [MIPS] Add support for MIPS CMP platform. Signed-off-by: Chris Dearman Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 308402445e005a039a72b315cd9b5ceeaea0063c Author: Chris Dearman Date: Fri Sep 21 14:50:08 2007 +0100 [MIPS] Add CoreFPGA5 support; distinguish between SOCit/ROCit Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit bdc94eb41e6090961695747508ac7e33ea5d6c08 Author: Chris Dearman Date: Wed Oct 3 10:43:56 2007 +0100 [MIPS] Add noulri kernel argument to disable "rdhwr $29" usermode support. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 351336929ccf222ae38ff0cb7a8dd5fd5c6236a0 Author: Chris Dearman Date: Wed Sep 19 00:58:24 2007 +0100 [MIPS] Allow setting of the cache attribute at run time. Slightly tacky, but there is a precedent in the sparc archirecture code. Signed-off-by: Chris Dearman Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit bec5052743ec8ae4c5669918cf9b130bf15709a2 Author: Chris Dearman Date: Wed Sep 19 00:51:57 2007 +0100 [MIPS] Tidy up cache attributes Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 962f480e0f9024ecdcfe2ba1d216c038ee328ced Author: Chris Dearman Date: Wed Sep 19 00:46:32 2007 +0100 [MIPS] All MIPS32 processors support64-bit physical addresses. Still, only the 4K may actually implement it. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 0bfa130e741f8f73a7bbf6a89aad4816e9094a71 Author: Chris Dearman Date: Fri Sep 14 21:21:58 2007 +0100 [MIPS] Remove TLB sanitation code It is not being used by Malta and shouldn't be needed for MIPSsim. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 0b6d497fcbb72b356c9d6446810a9597ee55c432 Author: Chris Dearman Date: Thu Sep 13 12:32:02 2007 +0100 [MIPS] Basic SPRAM support Signed-off-by: Chris Dearman Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit fb2a27e743cd565c25cd896911e494482a8b7251 Author: Thiemo Seufer Date: Mon Feb 18 19:32:49 2008 +0000 [MIPS] Reimplement clear_page/copy_page Fold the SB-1 specific implementation of clear_page/copy_page in the generic version, and rewrite that one in tlbex style. The immediate benefits: - It converts the compile-time workaround for SB-1 pass 1 prefetches to a more efficient run-time check. - It allows adjustment of loop unfolling, which helps to reduce the number of redundant cdex cache ops. - It fixes some esoteric cornercases (the cache line length calculations can go wrong, and support for 64k pages without prefetch instructions will overflow the addiu immediate). - Somewhat better guesses of "good" prefetch values. Signed-off-by: Thiemo Seufer Signed-off-by: Ralf Baechle commit 26eed9a5c61edd93d88e147188d4feae6770174e Author: Linus Walleij Date: Sat Apr 26 23:39:44 2008 +0100 [ARM] 5022/1: Race in ARM MMCI PL18x driver, V2 Updated version of 4446/1. This also drops the suggested comparison of host_remain for == 0, since that doesn't make sense (still works for us, too). We have verified that this patch solve race problems on atleast 2 archs at high frequencies. (Verbatim copy of old patch text below.) The patch below fixes a race condition in the ARM MMCI PL18x driver. If new data arrives in the FIFO while existing data is being read then we get a second iteration of the loop in mmci_pio_read. However host->size is not updated until after mmci_pio_read returns, so we get count = number of new bytes PLUS number of bytes already copied in the first iteration. This results in a FIFO underrun as we try and read mode data than is available. The fix is to compensating for data read on previous iterations when calculating the amount of data in the FIFO. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 136eb955773dc99f82e6e754038eb1c530e03fdf Author: David Brownell Date: Thu Apr 24 20:58:33 2008 +0100 [ARM] 5021/1: at91: buildfix for sam9263 + PM Build fix for power management on at91sam9263: it has two memory controllers instead of just one, so it might have two banks of DRAM to put into selfrefresh mode. For now we continue to assume only the first bank is populated. Signed-off-by: David Brownell Acked-by: Andrew Victor Signed-off-by: Russell King commit fe6cfde60012d4891470828a391274d94e0ea3a0 Author: Catalin Marinas Date: Thu Apr 24 10:05:43 2008 +0100 [ARM] 5018/1: RealView: Fix the ARM11MPCore Oprofile compilation This patch fixes the Oprofile for ARM11MPCore compilation introduced by changes to the RealView code. Only RealView/EB is supported. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit fb8b131ba8f6618f84d87ef1f62067dcf5905a8f Author: Nicolas Ferre Date: Tue Apr 22 13:54:52 2008 +0100 [ARM] 5016/1: AT91: typo in mci configuration for at91cap at91sam9263 typo in mci configuration in devices files Signed-off-by: Nicolas Ferre Signed-off-by: Russell King commit 46b958eb808b73a232efc962e730faffe7cff5c5 Author: Randy Dunlap Date: Mon Apr 28 02:16:35 2008 -0700 kernel-doc: detect trailing kernel-doc line trash Print a warning when a kernel-doc comment block ends with text on the same line as the ending comment characters, e.g.: * this text is lost. */ Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94dc7ad5502e7d74e2fd74651743f5f1773aa1fe Author: Randy Dunlap Date: Mon Apr 28 02:16:34 2008 -0700 kernel-doc: detect/prevent duplicate doc section names I saw this problem recently. With this kernel-doc: * Note: some important info * * Note: other important info kernel-doc uses the "section name" (preceding the ':', like "Note") as a hash key for storing the descriptive text ("blah important info"). It is (was) possible to have duplicate (colliding) section names, without any kind of warning or error. kernel-doc happily used the latter descriptive text for all instances of printing the descriptive text and the former important info was lost. One way to "fix" this is to modify the kernel-doc comments, e.g.: * Note1: foo bar * * Note.2: blah zay For now, kernel-doc will signal an error when it sees colliding section names like this. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f354858b8ea29e969b82dd96caea376157d76ca Author: Olof Johansson Date: Mon Apr 28 02:16:32 2008 -0700 fatfs: fix build warning with 64k PAGE_SIZE Annoying gcc warning: fs/fat/inode.c: In function 'fat_fill_super': fs/fat/inode.c:1222: warning: comparison is always false due to limited range of data type Change it to compare with 4K instead of PAGE_CACHE_SIZE, as suggested by OGAWA-san. [FAT spec says: logical_sector_size should be 512, 1024, 2048 4096] So, at least for now, we limit it to 4096. Signed-off-by: Olof Johansson Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0607fd02587a6b4b086dc746d63123c1f284db68 Author: Frank Seidel Date: Mon Apr 28 02:16:31 2008 -0700 fat: detect media without partition table correctly I received a complaint that some FAT formated medias (e.g. sd memory cards) trigger a "unknown partition table" message even though there is no partition table and they work correctly, while in general (when e.g. formated with mkdosfs or even Windows Vista) this message is not shown. Currently this seems only to happen when the medias get formatted with Windows XP (and possibly Win 2000). Then the boot indicator byte contains garbage (part of text message) and so do the other parts checked by msdos_paritition which then later triggers this message. References: novell bug #364365 Most fat formatted media without partition table contains zeros in the boot indication and the other tested bytes and so falls through the checks in msdos_partition, leading it to return with 1 (all is fine). But some (e.g. WinXP formatted) fat fomated medias don't use boot_ind and so the check fails and causes a "unkown partition table" warning eventhough there is none and everything would be fine. This additional check directly verifies if there is a fat formatted medium without a partition table. Signed-off-by: Frank Seidel Cc: Andreas Dilger Acked-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73f20e58b1d586e9f6d3ddc3aad872829aca7743 Author: Andrew Morton Date: Mon Apr 28 02:16:30 2008 -0700 FAT_VALID_MEDIA(): remove pointless test The on-disk media specification field in FAT is only 8-bits, so testing for <=0xff is pointless, and can generate a "comparison is always true due to limited range of data type" warning. While we're there, convert FAT_VALID_MEDIA() into a C function - the present implementation is buggy: it generates either one or two references to its argument. Cc: Frank Seidel Acked-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7a6c4edc74ee5c3d990325fe93b6916f43499f4 Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:29 2008 -0700 fat: use __getname() __getname() is faster than __get_free_page(). Use it. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f22032ba8de2960a64a3dd9719fb5c99b1f1ae6e Author: Keith Mok Date: Mon Apr 28 02:16:29 2008 -0700 vfat: bug fix for vfat cannot handle filename with 255 This patch fix the problem that the buffer allocated for convert of unicode to utf8 in fat/dir.c is too small. And cannot handle filename with 255 asian characters when mounted with utf8 options. Also it fix the filename length limitation checking in vfat/namei.c that the filename length should be checked against the number of converted unicode characters. Not the length before NLS/UTF8 converted. Signed-off-by: Keith Mok Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 061e97469f46f924cf14bbf1dd4805b46986691a Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:28 2008 -0700 Add balance_dirty_pages_ratelimited() to cont_expand_zero() On the systems, ftruncate() which expand size for FAT became the cause of OOM. The cont_expand_zero() filled all memory with dirty pages, and since disk is very slow, limit of page scanning was exceeded, then it triggered OOM. This adds balance_dirty_pages_ratelimited() to avoid filling memory with dirty pages. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e69be4c9c4ac1b6bb6380512557da0afa6262e98 Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:27 2008 -0700 fat: Remove fat_clusters_flush() This removes unneeded fat_clusters_flush(). Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 606e423e43bac0c2f7b85b682eb1ddd2a634586e Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:27 2008 -0700 fat: Update free_clusters even if it is untrusted Currently, free_clusters is not updated until it is trusted, because Windows doesn't update it correctly. But if user is using FAT driver of Linux, it updates free_clusters correctly. Instead, this updates it even if it's untrusted, so if free_clustes is correct, now keep correct value. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ae43f826b6cb951fc5b0f9c92372a8d5b63c7f9 Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:26 2008 -0700 fat: Add allow_utime option Normally utime(2) checks current process is owner of the file, or it has CAP_FOWNER capability. But FAT filesystem doesn't have uid/gid as on disk info, so normal check is too unflexible. With this option you can relax it. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e97e8de388723f9491514fa0434ddf1fd713a188 Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:26 2008 -0700 fat: fat_setattr() fix Fix fat_setattr() on the case of showexec option. If user specified showexec option, inode->i_mode may not have S_IXUGO. This just use inode->i_mode to fix it. And with this patch, we don't allow chmod() on memory inode, it's just bad behaviour. IOW, we allow changing S_IWUGO only which can be stored to disk. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1278fdd34b12214b5c2e91e64848a5e54e57ed96 Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:25 2008 -0700 fat: fat_notify_change() and check_mode() cleanup - Rename fat_notify_change() to fat_setattr() - check_mode() cleanup - Change layout of code Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3754a544474b9fd4fdd32a96d98bc4ab558b2bb6 Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:24 2008 -0700 fat: kill is_bad_inode() check FAT doesn't need to check bad inode anymore. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5dee5c395062a55236318ac4eec1f4ebb9de6db Author: Jan Kara Date: Mon Apr 28 02:16:23 2008 -0700 reiserfs: unpack tails on quota files Quota files cannot have tails because quota_write and quota_read functions do not support them. So far when quota files did have tail, we just refused to turn quotas on it. Sadly this check has been wrong and so there are now plenty installations where quota files don't have NOTAIL flag set and so now after fixing the check, they suddently fail to turn quotas on. Since it's easy to unpack the tail from kernel, do this from reiserfs_quota_on() which solves the problem and is generally nicer to users anyway. Signed-off-by: Jan Kara Reported-by: Cc: Jeff Mahoney Cc: Chris Mason Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2fe594fa3732298947377409b5d8111b14f56ec Author: Jan Kara Date: Mon Apr 28 02:16:23 2008 -0700 reiserfs: fix hang on umount with quotas when journal is aborted Call dquot_drop() from reiserfs_dquot_drop() even if we fail to start a transaction. Otherwise we never get to dropping references to quota structures from the inode and umount will hang indefinitely. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fbe5498b3d5af44a8671800e85b2858c2ea236fa Author: Harvey Harrison Date: Mon Apr 28 02:16:22 2008 -0700 reiserfs: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Chris Mason Cc: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8acc570fabc022d41baedc0c9bf976a4b9d16d6f Author: Harvey Harrison Date: Mon Apr 28 02:16:21 2008 -0700 reiserfs: fix more sparse warnings in do_balan.c fs/reiserfs/do_balan.c:1467:10: warning: symbol 'ret_val' shadows an earlier one fs/reiserfs/do_balan.c:275:6: originally declared here fs/reiserfs/do_balan.c:1471:23: warning: symbol 'ih' shadows an earlier one fs/reiserfs/do_balan.c:249:67: originally declared here Signed-off-by: Harvey Harrison Cc: Chris Mason Cc: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e13601bc6aa427a6483e7f66fde55ac3b5fed335 Author: Harvey Harrison Date: Mon Apr 28 02:16:21 2008 -0700 reiserfs: fix sparse warning in journal.c fs/reiserfs/journal.c:4319:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Cc: Chris Mason Cc: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e902df6be2cb7444e5a0f7e2e72bcbf3b978f3e Author: Marcin Slusarz Date: Mon Apr 28 02:16:20 2008 -0700 reiserfs: le*_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Cc: Jeff Mahoney Cc: Chris Mason Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78e917d59c30c3d5a4cda7f47e0f40f1c98f9b02 Author: Harvey Harrison Date: Mon Apr 28 02:16:19 2008 -0700 udf: fix sparse warning in namei.c Let's use bsize instead. fs/udf/namei.c:960:12: warning: symbol 'elen' shadows an earlier one fs/udf/namei.c:937:15: originally declared here Signed-off-by: Harvey Harrison Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36a53ddf859b0a9aa56e2e72978997bf68eec37a Author: Harvey Harrison Date: Mon Apr 28 02:16:18 2008 -0700 ufs: replace __inline with inline Signed-off-by: Harvey Harrison Cc: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0045edaaf980e577272eeb11832daebaeb5d63c4 Author: Marcin Slusarz Date: Mon Apr 28 02:16:18 2008 -0700 ufs: remove unused fs64_add and fs64_sub remove fs64_add and fs64_sub - they probably weren't ever used because their prototypes used u32 instead of __fs64 Signed-off-by: Marcin Slusarz Cc: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9746077a71d01b8d86f5e471a3a2c8f1fa91ef94 Author: Harvey Harrison Date: Mon Apr 28 02:16:17 2008 -0700 ufs: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c5afae2bac974fe2c15cd9439f921526b3ea2d7 Author: Marcin Slusarz Date: Mon Apr 28 02:16:16 2008 -0700 ufs: [bl]e*_add_cpu conversion replace all: big/little_endian_variable = cpu_to_[bl]eX([bl]eX_to_cpu(big/little_endian_variable) + expression_in_cpu_byteorder); with: [bl]eX_add_cpu(&big/little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Cc: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08fc99bfc39d5b394aa27498ac5f14df0ef8e52a Author: Harvey Harrison Date: Mon Apr 28 02:16:16 2008 -0700 jbd: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e05b6b524bd5c5c2bae1b64a7cbe08d46d57a6fe Author: Harvey Harrison Date: Mon Apr 28 02:16:15 2008 -0700 ext3: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa1ff1e02fee908dfdc3f92902d39acc38041e4c Author: Jan Kara Date: Mon Apr 28 02:16:14 2008 -0700 ext3: fix mount messages when quota disabled When quota is disabled, we should not print 'journaled quota not supported' when user tried to mount non-journaled quota. Also fix typo in the message. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2588ef83f7933d8ae42868d7bf68fc8a3001186b Author: Aneesh Kumar K.V Date: Mon Apr 28 02:16:14 2008 -0700 ext3: retry block allocation if new blocks are allocated from system zone If the block allocator gets blocks out of system zone ext3 calls ext3_error. But if the file system is mounted with errors=continue retry block allocation. We need to mark the system zone blocks as in use to make sure retry don't pick them again System zone is the block range mapping block bitmap, inode bitmap and inode table. [akpm@linux-foundation.org: fix typo in comment] Signed-off-by: Aneesh Kumar K.V Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07c9938a4e2c92b796b163dc70e99d3d1870aaee Author: Jan Kara Date: Mon Apr 28 02:16:13 2008 -0700 ext3: fix hang on umount with quotas when journal is aborted Call dquot_drop() from ext3_dquot_drop() even if we fail to start a transaction. Otherwise we never get to dropping references to quota structures from the inode and umount will hang indefinitely. Thanks to Payphone LIOU for spotting the problem. Signed-off-by: Jan Kara Cc: Payphone LIOU Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b23076988b44b2c165e060248345de6f2337387 Author: Jan Kara Date: Mon Apr 28 02:16:12 2008 -0700 ext3: fix update of mtime and ctime on rename Make ext3 update mtime and ctime of the directory into which we move file even if the directory entry already exists. Signed-off-by: Jan Kara Cc: Al Viro Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b9a499d77e9dd39c9e6611ea10c56a31604f274 Author: Josef Bacik Date: Mon Apr 28 02:16:12 2008 -0700 jbd: fix possible journal overflow issues There are several cases where the running transaction can get buffers added to its BJ_Metadata list which it never dirtied, which makes its t_nr_buffers counter end up larger than its t_outstanding_credits counter. This will cause issues when starting new transactions as while we are logging buffers we decrement t_outstanding_buffers, so when t_outstanding_buffers goes negative, we will report that we need less space in the journal than we actually need, so transactions will be started even though there may not be enough room for them. In the worst case scenario (which admittedly is almost impossible to reproduce) this will result in the journal running out of space. The fix is to only refile buffers from the committing transaction to the running transactions BJ_Modified list when b_modified is set on that journal, which is the only way to be sure if the running transaction has modified that buffer. This patch also fixes an accounting error in journal_forget, it is possible that we can call journal_forget on a buffer without having modified it, only gotten write access to it, so instead of freeing a credit, we only do so if the buffer was modified. The assert will help catch if this problem occurs. Without these two patches I could hit this assert within minutes of running postmark, with them this issue no longer arises. Thank you, Signed-off-by: Josef Bacik Cc: Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bc833feaa8b2236265764e7e81f44937be46eda Author: Josef Bacik Date: Mon Apr 28 02:16:10 2008 -0700 jbd: fix the way the b_modified flag is cleared Currently at the start of a journal commit we loop through all of the buffers on the committing transaction and clear the b_modified flag (the flag that is set when a transaction modifies the buffer) under the j_list_lock. The problem is that everywhere else this flag is modified only under the jbd lock buffer flag, so it will race with a running transaction who could potentially set it, and have it unset by the committing transaction. This is also a big waste, you can have several thousands of buffers that you are clearing the modified flag on when you may not need to. This patch removes this code and instead clears the b_modified flag upon entering do_get_write_access/journal_get_create_access, so if that transaction does indeed use the buffer then it will be accounted for properly, and if it does not then we know we didn't use it. That will be important for the next patch in this series. Tested thoroughly by myself using postmark/iozone/bonnie++. Signed-off-by: Josef Bacik Cc: Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 269b26191650be46ce6c91dec24cf20f59650529 Author: Julia Lawall Date: Mon Apr 28 02:16:09 2008 -0700 fs/ext3: use BUG_ON if (...) BUG(); should be replaced with BUG_ON(...) when the test has no side-effects to allow a definition of BUG_ON that drops the code completely. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ disable unlikely @ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (unlikely(E)) { BUG(); } + BUG_ON(E); ) @@ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (E) { BUG(); } + BUG_ON(E); ) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33575f8ffe99bf9e381161ccd76b39079c0aa92f Author: Akinobu Mita Date: Mon Apr 28 02:16:08 2008 -0700 ext3: check ext3_journal_get_write_access() errors Check ext3_journal_get_write_access() errors. Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0e369a7dd39894465b6501a9492173e8104a19b Author: Akinobu Mita Date: Mon Apr 28 02:16:08 2008 -0700 ext3: use ext3_get_group_desc() Use ext3_get_group_desc() Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22a5daf5375a900e1a4efe8ffe2daef9be01e873 Author: Akinobu Mita Date: Mon Apr 28 02:16:07 2008 -0700 ext3: add missing ext3_journal_stop() Add missing ext3_journal_stop() in error handling. Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1eaafeae4b6f87eabdbabe3277826696f4ca196f Author: Akinobu Mita Date: Mon Apr 28 02:16:07 2008 -0700 ext3: use ext3_group_first_block_no() Use ext3_group_first_block_no() Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15633005e07883b57c6c7ca539c32148c3a7f588 Author: Adrian Bunk Date: Mon Apr 28 02:16:06 2008 -0700 make ext3_xattr_list() static Make the needlessly global ext3_xattr_list() static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7f23ebdef879226817ce94ae6e298afc8cd093d Author: Marcin Slusarz Date: Mon Apr 28 02:16:06 2008 -0700 ext3: convert byte order of constant instead of variable Convert byte order of constant instead of variable which can be done at compile time (vs run time). Signed-off-by: Marcin Slusarz Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d61f75eefedf75914ab4453c67aaa2ee64bcf93 Author: Hisashi Hifumi Date: Mon Apr 28 02:16:05 2008 -0700 ext3: fdatasync should skip metadata writeout when overwriting Currently fdatasync is identical to fsync in ext3. I think fdatasync should skip journal flush in data=ordered and data=writeback mode when it overwrites to already-instantiated blocks on HDD. When I_DIRTY_DATASYNC flag is not set, fdatasync should skip journal writeout because this indicates only atime or/and mtime updates. Following patch is the same approach of ext2's fsync code(ext2_sync_file). I did a performance test using the sysbench. #sysbench --num-threads=128 --max-requests=50000 --test=fileio --file-total-size=128G --file-test-mode=rndwr --file-fsync-mode=fdatasync run The result on ext3 was: -2.6.24 Operations performed: 0 Read, 50080 Write, 59600 Other = 109680 Total Read 0b Written 782.5Mb Total transferred 782.5Mb (12.116Mb/sec) 775.45 Requests/sec executed Test execution summary: total time: 64.5814s total number of events: 50080 total time taken by event execution: 3713.9836 per-request statistics: min: 0.0000s avg: 0.0742s max: 0.9375s approx. 95 percentile: 0.2901s Threads fairness: events (avg/stddev): 391.2500/23.26 execution time (avg/stddev): 29.0155/1.99 -2.6.24-patched Operations performed: 0 Read, 50009 Write, 61596 Other = 111605 Total Read 0b Written 781.39Mb Total transferred 781.39Mb (16.419Mb/sec) 1050.83 Requests/sec executed Test execution summary: total time: 47.5900s total number of events: 50009 total time taken by event execution: 2934.5768 per-request statistics: min: 0.0000s avg: 0.0587s max: 0.8938s approx. 95 percentile: 0.1993s Threads fairness: events (avg/stddev): 390.6953/22.64 execution time (avg/stddev): 22.9264/1.17 Filesystem I/O throughput was improved. Signed-off-by :Hisashi Hifumi Acked-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b91582500ae750db22bd515379616e5e9ad06ab Author: Aneesh Kumar K.V Date: Mon Apr 28 02:16:04 2008 -0700 ext2: retry block allocation if new blocks are allocated from system zone If the block allocator gets blocks out of system zone ext2 calls ext2_error. But if the file system is mounted with errors=continue retry block allocation. We need to mark the system zone blocks as in use to make sure retry don't pick them again System zone is the block range mapping block bitmap, inode bitmap and inode table. [akpm@linux-foundation.org: fix typo in comment] Signed-off-by: Aneesh Kumar K.V Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 605afd60ef6dde254fc9b8667c5bccebade251c3 Author: Harvey Harrison Date: Mon Apr 28 02:16:03 2008 -0700 ext2: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c11619a590e13fecc801c9c50859cba29740f38 Author: Julia Lawall Date: Mon Apr 28 02:16:02 2008 -0700 fs/ext2: use BUG_ON if (...) BUG(); should be replaced with BUG_ON(...) when the test has no side-effects to allow a definition of BUG_ON that drops the code completely. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ disable unlikely @ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (unlikely(E)) { BUG(); } + BUG_ON(E); ) @@ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (E) { BUG(); } + BUG_ON(E); ) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c8b3125f8dcefd1ee2990113fe69cfa9e9fa609 Author: Akinobu Mita Date: Mon Apr 28 02:16:02 2008 -0700 ext2: use ext2_fsblk_t type Use ext2_fsblk_t type for filesystem-wide blocks number Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24097d12efbb97bff14fb6e350508853db0f9595 Author: Akinobu Mita Date: Mon Apr 28 02:16:01 2008 -0700 ext2: use ext2_group_first_block_no() Use ext2_group_first_block_no() and assign the return values to ext2_fsblk_t variables. Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbff28602436cc7ca660757bba81f03b99e8586d Author: Akinobu Mita Date: Mon Apr 28 02:16:00 2008 -0700 ext2: improve ext2_readdir() return value Improve ext2_readdir() return value for ext2_get_page() failure by using the actual result of ext2_get_page(). Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31f68e130149809c5d49583e1ff225dd5d404d83 Author: Marcin Slusarz Date: Mon Apr 28 02:16:00 2008 -0700 ext2: convert byte order of constant instead of variable Convert byte order of constant instead of variable which can be done at compile time (vs run time). Signed-off-by: Marcin Slusarz Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fba4d3997f4c3dc6de927f7f516168580033ae1a Author: Marcin Slusarz Date: Mon Apr 28 02:15:59 2008 -0700 ext2: le*_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e3832b0b1518232f47d89bc9d1f68e151a749ff Author: Bjorn Helgaas Date: Mon Apr 28 02:15:59 2008 -0700 PNP: use dev_printk for quirk messages Convert quirk printks to dev_printk(). [akpm@linux-foundation.org: fix warnings, improve output text] Signed-off-by: Bjorn Helgaas Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8068162806266552933e395877452de4f2427e7 Author: Bjorn Helgaas Date: Mon Apr 28 02:15:58 2008 -0700 PNP: simplify quirk debug output print_fn_descriptor_symbol() prints the address if we don't have a symbol, so no need to print both. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0bc11fd446d2ca29459c3c8e04a6d36db9bbbea4 Author: Bjorn Helgaas Date: Mon Apr 28 02:15:57 2008 -0700 PNP: skip dev->protocol NULL checks Every PNP device should have a valid protocol pointer. If it doesn't, something's wrong and we should oops so we can find and fix the problem. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Adrian Bunk Cc: Rene Herman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62b0559aad5cba060568cb962e4bbb111ec73a14 Author: Julia Lawall Date: Mon Apr 28 02:15:56 2008 -0700 drivers/md: use time_before, time_before_eq, etc The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Julia Lawall Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7a420c9472a95c46600a0345434b7b166e0b9c7 Author: Nick Andrew Date: Mon Apr 28 02:15:55 2008 -0700 raid: remove leading TAB on printk messages MD drivers use one printk() call to print 2 log messages and the second line may be prefixed by a TAB character. It may also output a trailing space before newline. klogd (I think) turns the TAB character into the 2 characters '^I' when logging to a file. This looks ugly. Instead of a leading TAB to indicate continuation, prefix both output lines with 'raid:' or similar. Also remove any trailing space in the vicinity of the affected code and consistently end the sentences with a period. Signed-off-by: Nick Andrew Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ef197d87ad7d4bb326de3e9b8ecbb26f9e86253 Author: Dan Williams Date: Mon Apr 28 02:15:54 2008 -0700 md: raid5.c convert simple_strtoul to strict_strtoul strict_strtoul handles the open-coded sanity checks in raid5_store_stripe_cache_size and raid5_store_preread_threshold Acked-by: NeilBrown Signed-off-by: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b3e6cdc53b7f29f7026955d6cb6902a49322a15 Author: Dan Williams Date: Mon Apr 28 02:15:53 2008 -0700 md: introduce get_priority_stripe() to improve raid456 write performance Improve write performance by preventing the delayed_list from dumping all its stripes onto the handle_list in one shot. Delayed stripes are now further delayed by being held on the 'hold_list'. The 'hold_list' is bypassed when: * a STRIPE_IO_STARTED stripe is found at the head of 'handle_list' * 'handle_list' is empty and i/o is being done to satisfy full stripe-width write requests * 'bypass_count' is less than 'bypass_threshold'. By default the threshold is 1, i.e. every other stripe handled is a preread stripe provided the top two conditions are false. Benchmark data: System: 2x Xeon 5150, 4x SATA, mem=1GB Baseline: 2.6.24-rc7 Configuration: mdadm --create /dev/md0 /dev/sd[b-e] -n 4 -l 5 --assume-clean Test1: dd if=/dev/zero of=/dev/md0 bs=1024k count=2048 * patched: +33% (stripe_cache_size = 256), +25% (stripe_cache_size = 512) Test2: tiobench --size 2048 --numruns 5 --block 4096 --block 131072 (XFS) * patched: +13% * patched + preread_bypass_threshold = 0: +37% Changes since v1: * reduce bypass_threshold from (chunk_size / sectors_per_chunk) to (1) and make it configurable. This defaults to fairness and modest performance gains out of the box. Changes since v2: * [neilb@suse.de]: kill STRIPE_PRIO_HI and preread_needed as they are not necessary, the important change was clearing STRIPE_DELAYED in add_stripe_bio and this has been moved out to make_request for the hang fix. * [neilb@suse.de]: simplify get_priority_stripe * [dan.j.williams@intel.com]: reset the bypass_count when ->hold_list is sampled empty (+11%) * [dan.j.williams@intel.com]: decrement the bypass_count at the detection of stripes being naturally promoted off of hold_list +2%. Note, resetting bypass_count instead of decrementing on these events yields +4% but that is probably too aggressive. Changes since v3: * cosmetic fixups Tested-by: James W. Laferriere Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e46b272b6608783ed7aa7b0594871550ce20b849 Author: Harvey Harrison Date: Mon Apr 28 02:15:50 2008 -0700 md: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a7b2b0f36c40beeb252cb5ceff36bb295e88d97 Author: Harvey Harrison Date: Mon Apr 28 02:15:49 2008 -0700 md: fix integer as NULL pointer warnings in md.c drivers/md/md.c:734:16: warning: Using plain integer as NULL pointer drivers/md/md.c:1115:16: warning: Using plain integer as NULL pointer Add some braces to match the else-block as well. Signed-off-by: Harvey Harrison Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ae121705bed9ea7425daef4d7d29038f7312f3f Author: Harvey Harrison Date: Mon Apr 28 02:15:47 2008 -0700 video: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Cc: Antonino Daplas Cc: Antonino A. Daplas Cc: Antonino Daplas Cc: Richard Purdie Cc: Jean Delvare Cc: Adrian Bunk Cc: Russell King Cc: Benjamin Herrenschmidt Cc: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7a05aa9e697ff6fc165d45671cdcca601942f62 Author: Mike Frysinger Date: Mon Apr 28 02:15:47 2008 -0700 BF54x Framebuffer Driver: BF542 does not have EPPI0, so dont allow the LQ034 driver for now Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6002db8287cdf9a8497aa345be2d27936a3b6a52 Author: Mike Frysinger Date: Mon Apr 28 02:15:46 2008 -0700 BF54x Framebuffer Driver: drop request_irq cast Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8224c3b166db81a8dbd128df455453897fe2b48b Author: Andrew Morton Date: Mon Apr 28 02:15:45 2008 -0700 drivers/video/w100fb.c: avoid a couple of error-path NULL derefs Fix a couple of error-patch oopses identified by Marcio Buss in http://bugzilla.kernel.org/show_bug.cgi?id=9567. Cc: Marcio Buss Cc: Jeff Zhou Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e170c72c0c55bd78213a0f5053bd9a1dde403b7 Author: Maik Broemme Date: Mon Apr 28 02:15:43 2008 -0700 fbdev: intelfb: add support for the Intel Integrated Graphics Controller 965G/965GM Add support for the 965G and 965GM graphic chipsets to the intelfb driver. I have a notebook with an Intel Mobile GM965/GL960 Integrated Graphics Controller and with the attached patch the framebuffer comes up. I have tested it a bit with DirectFB to make sure it is working stable. I also have an Intel Mobile GM945 and I compared the results, the programming interface of the 9xx series from Intel is mostly the same, so I think the patch should add all the functionality which the 945GM has. Signed-off-by: Maik Broemme Cc: Dave Airlie Cc: Antonino Daplas Cc: Geert Uytterhoeven Cc: Krzysztof Halasa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0aa163418edfb96ca3b39133979d8e4352aaac3c Author: Alexey Dobriyan Date: Mon Apr 28 02:15:42 2008 -0700 fb: convert /proc/fb to seq_file interface Note: looks like accesses to "registered_fb" are done without any exclusion so there're none in new proc code, too. This should be fixed in separate patch. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alexey Dobriyan Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60c1645dfac320e992bb5635887b7698ae6606bc Author: Andrew Morton Date: Mon Apr 28 02:15:41 2008 -0700 drivers/video/uvesafb.c: fix error-path memory leak Fix bug identified by Daniel Marjamki: `m' is leaked on the error path. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=10452 Cc: Daniel Marjamki Cc: "Antonino A. Daplas" Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e27aa3dabb541edee9f23b37114856a528de01e Author: Jaya Kumar Date: Mon Apr 28 02:15:40 2008 -0700 fbdev: platforming hecubafb and n411 This patch splits hecubafb into the platform independent hecubafb and the platform dependent n411. Signed-off-by: Jaya Kumar Cc: "Antonino A. Daplas" Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2422fbba0684ddf08898ec2f3cf23cb16a54b3f5 Author: Sebastian Siewior Date: Mon Apr 28 02:15:39 2008 -0700 metronomefb: don't free firmware twice in error path Right now, if request_irq or anthing after it fails than we free the firmware for the second time what might end bad :) Signed-off-by: Sebastian Siewior Acked-by: Jaya Kumar Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03c33a4f002b2521debf1efc269cade983b6e86a Author: Jaya Kumar Date: Mon Apr 28 02:15:38 2008 -0700 fbdev: platforming metronomefb and am200epd This patch splits metronomefb into the platform independent metronomefb and the platform dependent am200epd. Signed-off-by: Jaya Kumar Cc: "Antonino A. Daplas" Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 963654a9c919d18f8b9137f8ffd9d2d30a139269 Author: Jaya Kumar Date: Mon Apr 28 02:15:37 2008 -0700 fbdev: hecubafb bugfix This patch is a bugfix for hecubafb_write which would return an incorrect error value for the bytecount from framebuffer writes. Signed-off-by: Jaya Kumar Cc: "Antonino A. Daplas" Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 555514fabc1c24fac69ff46feac384180828182c Author: Jaya Kumar Date: Mon Apr 28 02:15:36 2008 -0700 fbdev: metronomefb bugfix This patch is a bugfix for the use of cfb_* functions instead of sys_* functions. sys_* should be used with vmalloced framebuffers. the previous cfb_ use would not work for callers of imageblit/etc. Signed-off-by: Jaya Kumar Cc: "Antonino A. Daplas" Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f90a8bdd17e63fb27b4f6d50e8a2919704ea254 Author: York Sun Date: Mon Apr 28 02:15:36 2008 -0700 powerpc: Add DIU platform code for MPC8610HPCD Add platform code to support Freescale DIU. The platform code includes framebuffer memory allocation, pixel format, monitor port, etc. Signed-off-by: York Sun Signed-off-by: Timur Tabi Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b53a9e28a34ed82516191dc46ae018e0e899546 Author: York Sun Date: Mon Apr 28 02:15:34 2008 -0700 fbdev: powerpc: driver for Freescale 8610 and 5121 DIU The following features are supported: plane 0 works as a regular frame buffer, can be accessed by /dev/fb0 plane 1 has two AOIs (area of interest), can be accessed by /dev/fb1 and /dev/fb2 plane 2 has two AOIs, can be accessed by /dev/fb3 and /dev/fb4 Special ioctls support AOIs All /dev/fb* can be used as regular frame buffer devices, except hardware change can only be made through /dev/fb0. Changing pixel clock has no effect on other fbs. Limitation of usage of AOIs: AOIs on the same plane can not be horizonally overlapped AOIs have horizonal order, i.e. AOI0 should be always on top of AOI1 AOIs can not beyond phisical display area. Application should check AOI geometry before changing physical resolution on /dev/fb0 required command line parameters to preallocate memory for frame buffer diufb. optional command line parameters to set modes and monitor video=fslfb:[resolution][,bpp][,monitor] Syntax: Resolution xres x yres-bpp@refresh_rate, the -bpp and @refresh_rate are optional eg, 1024x768, 1280x1024, 1280x1024-32, 1280x1024@60, 1280x1024-32@60, 1280x480-32@60 Bpp bpp=32, bpp=24, or bpp=16 Monitor monitor=0, monitor=1, monitor=2 0 is DVI 1 is Single link LVDS 2 is Double link LVDS Note: switching monitor is a board feather, not DIU feather. MPC8610HPCD has three monitor ports to swtich to. MPC5121ADS doesn't have additional monitor port. So switching monirot port for MPC5121ADS has no effect. If compiled as a module, it takes pamameters mode, bpp, monitor with the same syntax above. Signed-off-by: York Sun Signed-off-by: Timur Tabi Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d345b2253f92804948d66f4db17a49c1932b9a3 Author: Alexey Dobriyan Date: Mon Apr 28 02:15:33 2008 -0700 fbdev: nv: fix sparse noise Mostly signedness fixes. nv10_sim_state existence in both drivers suggests that one of them should be removed, but that's for later. Signed-off-by: Alexey Dobriyan Cc: Antonino A. Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ce3ab100e4e115ca2c4fd931844a0f1a50df406 Author: Alexey Dobriyan Date: Mon Apr 28 02:15:33 2008 -0700 fbdev: nv: drop useless CONFIG_PCI checks Both FB_RIVA and FB_NVIDIA depends on PCI, so CONFIG_PCI always defined for them. Signed-off-by: Alexey Dobriyan Cc: Antonino A. Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit affc23d11631a47d35dfd552ded8ca255c001490 Author: Alexey Dobriyan Date: Mon Apr 28 02:15:32 2008 -0700 fbdev: nv: drop useless MODULE ifdefs Signed-off-by: Alexey Dobriyan Cc: Antonino A. Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3553a2fa8cbfc9f85f1809366be5884054f52c6d Author: Andres Salomon Date: Mon Apr 28 02:15:31 2008 -0700 OLPC: gxfb/lxfb: add DCON panel modes to framebuffer drivers Since there's no way to autodetect panel modes, we're forced to hardcode them in the driver and add a big fat #ifdef. The OLPC DCON needs a specific mode line (at 1200x900). This adds it to both gxfb and lxfb. (Jordan said: We could probably detect the panel mode, but there isn't any reason to since the panel timings are well known and won't change. While OFW detection would be good computer science fu, it would be a wasted effort since its so easy to hard code them into the table.) Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd96795630428ceca775bd1effc5bf41a9fe5272 Author: Andres Salomon Date: Mon Apr 28 02:15:30 2008 -0700 gxfb/lxfb: detect framebuffer size using an MSR if VSA2 isn't available If there's no VSA2 (ie, if we're using tinybios or OpenFirmware), use the GLIU's P2D Range Offset Descriptor to determine how much memory we have available for the framebuffer. Originally based on a patch by Jordan Crouse. Tested with OpenFirmware; Pascal informs me that tinybios has a stub that fills in P2D_RO0. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61a517a063abf659cbf61df11f8e2131fdafccec Author: Andres Salomon Date: Mon Apr 28 02:15:30 2008 -0700 gxfb/lxfb: use VSA definitions when fetching framebuffer size ..Rather than using magic constants. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4537f93ae88c77a26e77d192ca32a0c2cd359592 Author: Andres Salomon Date: Mon Apr 28 02:15:29 2008 -0700 lxfb/gxfb: when blanking with FB_BLANK_POWERDOWN, also turn off the CRT The Display Control's CRT_EN can be shut off when we enter FB_BLANK_POWERDOWN in an attempt to save additional power. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 564820d42aaa55e6ce60a59c0f60832e1330c58b Author: Andres Salomon Date: Mon Apr 28 02:15:28 2008 -0700 lxfb: disable suspend VT switch by default By default disable VT switch, but allow it to be overridden via the 'vt_switch' module arg. Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c805df3d6205573fa7a8ef2334b1c8d67381dc8b Author: Andres Salomon Date: Mon Apr 28 02:15:27 2008 -0700 lxfb: rename kernel arg fbsize to vram Match other fb drivers (including gxfb). Also, document the current boot arguments in Documentation/fb/lxfb.txt. Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f694e53bd0db69557ee8e0db2d1602818ff173b0 Author: Andres Salomon Date: Mon Apr 28 02:15:27 2008 -0700 lxfb: add power management functionality This adds the ability to suspend/resume the lxfb driver, which includes: - Register and palette saving code; registers are stored in lxfb_par. A few MSR values are saved as well. - lx_powerup and lx_powerdown functions which restore/save registers and enable/disable graphic engines. - lxfb_suspend/lxfb_resume Originally based on a patch by Jordan Crouse. [akpm@linux-foundation.org: be conventional, save an ifdef] Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aec40532c4d1183fa1ec415bb7dae08e19fc6b01 Author: Andres Salomon Date: Mon Apr 28 02:15:26 2008 -0700 lxfb: rearrange/rename MSR bitfields Finally, move the MSR bitfields around in lxfb.h, and rename them. Alas, most of that crap appears to be undocumented. Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31f51fa8d47943f14a270955415b94a22e174a10 Author: Andres Salomon Date: Mon Apr 28 02:15:25 2008 -0700 lxfb: clean up final bits of df_regs Finally drop the last remnants of df_regs, using vp_regs instead. Also, drop panel_width and panel_height from lxfb_par; they're unused. Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5c90e85dc77669a55fecfb593bb8e7f47374ee2 Author: Andres Salomon Date: Mon Apr 28 02:15:24 2008 -0700 lxfb: clean up register definitions - Rename various bitfield defines to match the data sheet names. - Rename DF_ register definitions to VP_ to match the data sheet; ie, DF_PAR -> VP_PAR. - for GP/DC registers, rather than defining to specific addresses, use an enum to number them sequentially and just multiply by 4 (bytes) to access them (in read_*/write_* functions). - for VP/FP registers, use an enum and multiple by 8 (bytes). They're 64bit registers. Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9286361beab8ef5c928ecb2bfefe68ab0176238b Author: Andres Salomon Date: Mon Apr 28 02:15:24 2008 -0700 lxfb: create GP/DC/VP/FP-specific handlers rather than using readl/writel This creates read_gp/write_gp, read_dc/write_dc, read_vp/write_vp, and read_fp/write_fp for reading and updating those registers. Note that we don't follow the 'DF' naming; those will be renamed to VP shortly. Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3888d4639e78802c4ec1086127124e890461b9e4 Author: Jens Rottmann Date: Mon Apr 28 02:15:22 2008 -0700 lxfb: extend PLL table to support dotclocks below 25 MHz Extends the PLL frequency table of the AMD Geode-LX frame buffer driver to make use of the DIV4 bit, thus adding support for dotclocks between 6 and 25 MHz. These are needed for small LCDs (e.g. 320x240). Also inserts some intermediate steps between pre-existing frequencies. Signed-off-by: Jens Rottmann Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fb2d929a070fd31b8fb8f74cef8694a09853fdb Author: Nicolas Ferre Date: Mon Apr 28 02:15:21 2008 -0700 atmel_lcdfb: adjust fifo size for at91sam9rl AT91SAM9RL soc has a 2048 bytes deep FIFO, like AT91SAM9263. [bn@niasdigital.com: fix build breakage in atmel_lcdfb] Signed-off-by: Nicolas Ferre Cc: "Antonino A. Daplas" Cc: Nicolas FERRE Cc: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd0858017eb67aa0d41dd4e8499ca6a7bfb63941 Author: Nicolas Ferre Date: Mon Apr 28 02:15:21 2008 -0700 atmel_lcdfb: wiring BGR to RGB color mode Adds different wiring mode for the LCD screen. The legacy atmel LCDC IP uses a non standard color mode, "BGR-555.1" instead "RGB-565". The major part of graphic stacks for embedded systems uses only "RGB-565". It is possible to swap LCD IOs instead of doing this bit swapping by software (See application note AT91SAM9 LCD Controller http://www.atmel.com/dyn/resources/prod_documents/doc6300.pdf) This wire swapping is done on the at91sam9rl-ek board (board code using this patch will come later). Signed-off-by: Nicolas Ferre Cc: David Brownell Cc: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Cc: Andrew Victor Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf19a37e0641d975d271a5a30f097dd6b96d232f Author: David Brownell Date: Mon Apr 28 02:15:20 2008 -0700 atmel_lcdfb: suspend/resume support Teach atmel_lcdfb driver how to suspend/resume. Note that the backlight control should probably do more of the same stuff: turning off display power (more than just the backlight) and stopping the clocks (and dma to drive the no-longer-seen display). No point in wasting power to generate images that can't be observed, after all... Signed-off-by: David Brownell Signed-off-by: Nicolas Ferre Cc: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Cc: Andrew Victor Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01d3a5e7fab7732cfc5d5d4533e9378ea435295a Author: Haavard Skinnemoen Date: Mon Apr 28 02:15:19 2008 -0700 atmel_lcdfb: don't initialize a pre-allocated framebuffer If the user specified a fixed framebuffer address on the command line, it may have been initialized already with a splash image or something, so we shouldn't clear it. Therefore, we should only initialize the framebuffer if we allocated it ourselves. This patch also updates the AVR32 setup code to clear the framebuffer if it allocated it itself, i.e. the user didn't provide a fixed address or the reservation failed. I've updated the at91 platform code as well so that it initializes the framebuffer if it is located in SRAM, but I haven't tested that it actually works. Signed-off-by: Haavard Skinnemoen Cc: "Antonino A. Daplas" Cc: Nicolas FERRE Cc: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20e061fb750d36ec0ffcb2e44ed7dafa9018223b Author: Ondrej Zajicek Date: Mon Apr 28 02:15:18 2008 -0700 fbdev: framebuffer_alloc() fixes Correct the dev arg of framebuffer_alloc() in arkfb, s3fb and vt8623fb. Signed-off-by: Ondrej Zajicek Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f5af9de9cf3cbf51c5758a1d5ea266aea6fe175 Author: Ondrej Zajicek Date: Mon Apr 28 02:15:17 2008 -0700 fbdev: vt8623fb: better resume from STR After resume from STR, image is shifted by 8 pixels to the left. This patch fixes it. Signed-off-by: Ondrej Zajicek Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9201a8584c9bdb45b7b32cb3d2280c3dfbc76e39 Author: Jean Delvare Date: Mon Apr 28 02:15:16 2008 -0700 savagefb: speed up the I2C bus There is no reason to drive the savagefb I2C bus at such a low speed, so bump it from 12.5 kbps to 50 kbps. The Intel (i810) and Matrox framebuffer drivers already run their I2C bus at this speed, and so are the legacy i2c-savage4 and i2c-prosavage drivers. Signed-off-by: Jean Delvare Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1e68927c1d7030001590113181e0c8b6107649b Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Apr 28 02:15:15 2008 -0700 drivers/video/imsttfb.c: add missing curly brackets in #if 0 inactivated function msttfb_load_cursor_image() the call eieio() occurs after rather than in the loop due to missing curly brackets. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Stephen Rothwell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e72b32d86841e4a4a3045d8e35a39eb53ce7ce2 Author: Michal Januszewski Date: Mon Apr 28 02:15:15 2008 -0700 uvesafb: don't treat valid modes returned byfb_find_mode() as errors Don't treat valid modes returned by fb_find_mode() (best-fit modes, default modes or the first valid mode) as errors. Currently, when fb_find_mode() finds a valid mode belonging to one of the above-mentioned classes, uvesafb will ignore it and will try to set a 640x480 video mode. The expected behaviour (introduced by this patch) would be to use the valid mode returned by fb_find_mode() instead. Signed-off-by: Michal Januszewski Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0745ae7210c14e611a1fab2af820a4c2e447de5 Author: Jean Delvare Date: Mon Apr 28 02:15:14 2008 -0700 radeonfb: speed up the I2C buses There is no reason to drive the radeon I2C buses at such a low speed, so bump it from 12.5 kbps to 50 kbps. The Intel (i810) and Matrox framebuffer drivers already run their I2C bus at this speed. Signed-off-by: Jean Delvare Acked-by: Benjamin Herrenschmidt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc3bf466e4a0a53d5c78561594c9cb4225bbb481 Author: Jean Delvare Date: Mon Apr 28 02:15:13 2008 -0700 radeonfb: drop redundant RTRACE macro RTRACE() does exactly the same thing as the standard pr_debug() call, so just use the latter. Signed-off-by: Jean Delvare Acked-by: Benjamin Herrenschmidt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0313f89672eddf0188dac96bb8f83135510a45c Author: Jean Delvare Date: Mon Apr 28 02:15:12 2008 -0700 radeonfb: fix debug option Fix CONFIG_FB_RADEON_DEBUG. DEBUG must be defined before including any kernel header, otherwise dev_dbg() resolves to a no-op. Also, when debugging is disabled, don't set DEBUG at all instead of setting it to 0, to comply with what the kernel headers expect. Signed-off-by: Jean Delvare Acked-by: Benjamin Herrenschmidt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7a18c9c86d14247b514157aae60326d45695476 Author: Andreas Herrmann Date: Mon Apr 28 02:15:11 2008 -0700 radeonfb: use PCI device id in hex for name string Additionally provide PCI device id in character format if possible. (The printable characters were commonly used to identify the cards.) Signed-off-by: Andreas Herrmann Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af2afd247f0fae25d66f210fb800fe6a2958366e Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Apr 28 02:15:10 2008 -0700 drivers/video/aty/aty128fb.c: fix incorrect usage of strncat in aty128_init() Fix incorrect length for strncat by replacing it with strlcat Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e3f0ca812ab8fa3f4e65ade41bf6fb936f14e15 Author: Krzysztof Helt Date: Mon Apr 28 02:15:10 2008 -0700 fbdev: add removed option "mode" to keep compatibility Add removed option "mode" to keep compatibility with existing setups. The option is back for pm2fb, tridentfb and vt8623fb drivers. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a81405439c4e9f710f75c41503cef5a5dbd39e4d Author: Krzysztof Helt Date: Mon Apr 28 02:15:09 2008 -0700 s3fb: add option mode_option Add the option "mode_option". It also moves mtrr variable to devinitdata section. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1abf91729faf2fd9b16b5987a68fb99fe5dcc75a Author: Krzysztof Helt Date: Mon Apr 28 02:15:08 2008 -0700 arkfb: add option mode_option Add the option "mode_option". This is one step toward changing all fb drivers to have common "mode_option" parameter. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc6c549c7a9808cc7a8a5afbfa54dbbd2262509d Author: Krzysztof Helt Date: Mon Apr 28 02:15:08 2008 -0700 vt8623fb: change option mode to mode_option Change the option "mode" into "mode_option". This is one step toward changing all fb drivers to have common "mode_option" parameter. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf6d880c358110f986e38114470f41908bc89a12 Author: Krzysztof Helt Date: Mon Apr 28 02:15:07 2008 -0700 update modedb.txt documentation about mode_option parameter change Add names of drivers converted to "mode_option" parameter. This is one step toward changing all fb drivers to have common "mode_option" parameter. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e65c613109f0600681f61f746a2dba8547190a6 Author: Krzysztof Helt Date: Mon Apr 28 02:15:07 2008 -0700 pm3fb: change option mode to mode_option Add the option "mode_option". This is one step toward changing all fb drivers to have common "mode_option" parameter. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07f41e45f8c1caf366b382b6b9654ebd0a4efc90 Author: Krzysztof Helt Date: Mon Apr 28 02:15:06 2008 -0700 tridentfb: change option mode to mode_option Change the option "mode_option" into "mode". It also adds __init attribute to tridentfb_setup function. This is one step toward changing all fb drivers to have common "mode_option" parameter. Signed-off-by: Krzysztof Helt Cc: Alain Kalker Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5eb81e808de6f49af1dd74db68876a79da1314a5 Author: Krzysztof Helt Date: Mon Apr 28 02:15:05 2008 -0700 pm2fb: change option mode to mode_option Change the option "mode_option" into "mode". This is one step toward changing all fb drivers to have common "mode_option" parameter. Signed-off-by: Krzysztof Helt Cc: Alain Kalker Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21b4d1db84a70175251d86078123cc27e46ff69d Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Apr 28 02:15:04 2008 -0700 video/aty/atyfb_base.c: free when fb can't be registered Free buffer when the framebuffer can't be registered Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57a7a6db0eed2862072497116232f57a6843cadd Author: Peter Samuelson Date: Mon Apr 28 02:15:03 2008 -0700 fbmem: fix con2fbmap limit check Fix limit check in FBIOPUT_CON2FBMAP ioctl. Signed-off-by: Peter Samuelson Cc: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6f448e99ce7955b9707ed36a46cab2c6ddf7ddc Author: Andres Salomon Date: Mon Apr 28 02:15:03 2008 -0700 PM/gxfb: add hook to PM console layer that allows disabling of suspend VT switch Prior to suspend, we allocate and switch to a new VT; after suspend, we switch back to the original VT. This can be slow, and is completely unnecessary if the framebuffer we're using can restore video properly. This adds a hook that allows drivers to select whether or not to do this vt switch, and changes the gxfb driver to call this hook. It also adds a module param to gxfb to allow controlling of the vt switch (defaulting to no switch). (Note: I'm not convinced that console_sem is the best way to protect this, but we should probably have some form of locking..) [akpm@linux-foundation.org: build fix] Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Cc: Pavel Machek Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46fb6f110dfc3fc99f44cf701f66ea3e790b6a81 Author: Andres Salomon Date: Mon Apr 28 02:15:02 2008 -0700 gxfb: add power management functionality This adds the ability to suspend/resume the gxfb driver, which includes: - The addition of a Graphics Processor register table in gxfb.h, and associated GP handling. - Register and palette saving code; registers are stored in gxfb_par. A few MSR values are saved as well. - gx_powerup and gx_powerdown functions which restore/save registers and enable/disable graphic engines. - gxfb_suspend/gxfb_resume Originally based on a patch by Jordan Crouse. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1b4cc3ec5f8ddbac57ada58cbab36f5a0be38eb Author: Andres Salomon Date: Mon Apr 28 02:15:01 2008 -0700 gxfb: stop sharing code with gx1fb We want to stop sharing stuff with gx1fb; it makes little sense. There were fields in geodefb_par that weren't being used, there was little point to the DC/VP ops callbacks, etc. This implements the following: - Create gxfb_par (based on geodefb_par), place it in gxfb.h - Drop display_gx.h and video_gx.h. The last few patches moved most stuff into gxfb.h anyways, so there was very little left. - Drop the geode_{dc,vid}_ops stuff. Un-static functions, add declarations to gxfb.h. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f1277bd1497858a05a80222a6e98f9c43343491 Author: Andres Salomon Date: Mon Apr 28 02:15:00 2008 -0700 gxfb: move MSR bit fields into gxfb.h This continues the gxfb header cleanups. MSRs are defined in geode.h; the specific bits we care about are defined in gxfb.h. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d255114f22e19b50cf45fcc70963e6a9f287ad40 Author: Andres Salomon Date: Mon Apr 28 02:14:59 2008 -0700 gxfb: clean up register definitions This does the following in preparation for register saving: - moves the register definitions from video_gx.h and display_gx.h into gxfb.h. - renames GX_* registers to match their section (ie, VP_). - renames register bitfields to match the data sheet (ie, DC_DCFG_TGEN -> DC_DISPLAY_CFG_TGEN). - for DC registers, rather than defining to specific addresses, use an enum to number them sequentially and just multiply by 4(bytes) to access them (in read_dc/write_dc). - for VP and FP registers, use an enum and multiple by 8 (bytes). They're 64bit registers. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab06aaf6a6d5de896e4c52e158be2881036cbee9 Author: Andres Salomon Date: Mon Apr 28 02:14:58 2008 -0700 gxfb: create DC/VP/FP-specific handlers rather than using readl/writel This creates read_dc/write_dc, read_vp/write_vp, and read_fp/write_fp for reading and updating those registers. It creates gxfb.h to house these. We also drop a no-op readl() from gx_set_mode. Other than that, there should be no functionality change. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa20c8a6e520d9ccd68c8101155ffdbc19c977c3 Author: Andres Salomon Date: Mon Apr 28 02:14:57 2008 -0700 gxfb: replace FBSIZE config option with a module parameter Use a command line option (vram) rather than hardcoding the vram size. LxFB already does this; it's useful for machines that can't query the BIOS for fb size. This patch originated from David Woodhouse, was modified by Jordan Crouse, and was then modified further by me. This also adds some gxfb documentation in Documentation/fb. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a5e79098799a4bead070a9bd7f1a2213ba5eef5 Author: Andres Salomon Date: Mon Apr 28 02:14:57 2008 -0700 gxfb: use PCI_DEVICE() for gxfb's pci device table Drop the class/class_mask stuff; it's unnecessary as long as the vendor and device IDs match. Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2b118090969f153f134647acbcbbf01a9005e64 Author: Jordan Crouse Date: Mon Apr 28 02:14:56 2008 -0700 gxfb: don't enable the CRT DACs when we are in flatpanel mode When the FP strap is enabled, don't turn on the CRT DACs - that will save about 35 mA of power. Updated/cleaned up by Andres Salomon. Signed-off-by: Andres Salomon Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0a0c1f20f837221c0d990a54ae5426acf039036 Author: Jordan Crouse Date: Mon Apr 28 02:14:55 2008 -0700 gxfb: set the right registers to tweak the sync polarity While running in flatpanel mode it is important to change the FP sync bits (VG register 0x408) rather then the CRT sync bits (VG register 0x008). This patch keeps the CRT sync bits at default when a flatpanel exists. Note that this also fixes inverted logic; we want CRT_VSYNC_POL to be set (ie, vsync is normally high) when FB_SYNC_VERT_HIGH_ACT is unset. Signed-off-by: Jordan Crouse Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9338364e6989ca2707638c7c70ae22975b0bb6c Author: Andres Salomon Date: Mon Apr 28 02:14:54 2008 -0700 x86: GEODE: add Virtual Systems Architecture detection This is generic VSA2 detection. It's used by OLPC to determine whether or not the BIOS contains VSA2, but since other BIOSes are coming out that don't use the VSA (ie, tinybios), it might end up being useful for others. Signed-off-by: Andres Salomon Acked-by: Alan Cox Cc: Jordan Crouse Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32bf87e3697cf2f730b8fbf47cad903ceef718a2 Author: Andres Salomon Date: Mon Apr 28 02:14:53 2008 -0700 x86: geode: MSR cleanup This cleans up a few MSR-using drivers in the following manner: - Ensures MSRs are all defined in asm/geode.h, rather than in misc places - Makes the naming consistent; cs553[56] ones begin with MSR_, GX-specific ones start with MSR_GX_, and LX-specific ones start with MSR_LX_. Also, make the names match the data sheet. - Use MSR names rather than numbers in source code - Document the fact that the LX's MSR_PADSEL has the wrong value in the data sheet. That's, uh, good to note. Signed-off-by: Andres Salomon Acked-by: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22af89aa0c0b4012a7431114a340efd3665a7617 Author: Harvey Harrison Date: Mon Apr 28 02:14:53 2008 -0700 fbcon: replace mono_col macro with static inline Use __u32 for max_len to match the declaration of length in the struct fb_bitfield. Suppresses sparse shadowed variable warnings from the nested max() macros: drivers/video/console/fbcon.h:130:8: warning: symbol '_x' shadows an earlier one drivers/video/console/fbcon.h:130:8: originally declared here drivers/video/console/fbcon.h:130:8: warning: symbol '_x' shadows an earlier one drivers/video/console/fbcon.h:130:8: originally declared here drivers/video/console/fbcon.h:130:8: warning: symbol '_y' shadows an earlier one drivers/video/console/fbcon.h:130:8: originally declared here [akpm@linux-foundation.org: fix constness] Signed-off-by: Harvey Harrison Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ae09f0da1cd0c8c646edea2e68356e76789461c Author: Krzysztof Helt Date: Mon Apr 28 02:14:51 2008 -0700 pm2fb: correct error values returned from probe function Fix error values returned in some code branches in the pm2fb_probe() function. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 416e74ea7813597b586eafc24f67779eeb86e12f Author: Julia Lawall Date: Mon Apr 28 02:14:51 2008 -0700 fbdev: use DIV_ROUND_UP or roundup The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. An extract of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression n,d; @@ ( - (n + d - 1) / d + DIV_ROUND_UP(n,d) | - (n + (d - 1)) / d + DIV_ROUND_UP(n,d) ) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP((n),d) + DIV_ROUND_UP(n,d) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP(n,(d)) + DIV_ROUND_UP(n,d) // Signed-off-by: Julia Lawall Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f29b87a7779505288a31df16ba84a85fc1ae93c Author: Anton Vorontsov Date: Mon Apr 28 02:14:50 2008 -0700 powerpc: offb: add support for foreign endianness Signed-off-by: Anton Vorontsov Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4c690e061b909127ab0f12e929f82f3f39ec953 Author: Anton Vorontsov Date: Mon Apr 28 02:14:49 2008 -0700 fb: add support for foreign endianness Add support for the framebuffers with non-native endianness. This is done via FBINFO_FOREIGN_ENDIAN flag that will be used by the drivers. Depending on the host endianness this flag will be overwritten by FBINFO_BE_MATH internal flag, or cleared. Tested to work on MPC8360E-RDK (BE) + Fujitsu MINT framebuffer (LE). Signed-off-by: Anton Vorontsov Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Cc: Clemens Koller Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b745b6fd02213f4b2fef2f2635985929fc5b8cc Author: Michal Januszewski Date: Mon Apr 28 02:14:48 2008 -0700 fbdev: make the best-fit section of fb_find_mode return the closest matching mode Currently, if a perfect match in terms of resolution is not found, fb_find_mode() only looks for a best-fit mode among modes with a higher resolution than the one requested. Thus, if the user requests a resolution higher than the largest supported one, they are dropped to the default mode (usually a low resolution one). Change this behaviour so that all valid video modes are considered when looking for a best-fit mode, while still preferring modes with a higher resolution. Signed-off-by: Michal Januszewski Cc: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 169b6a7a6e91e1ea32136681b475cbaf2074bf35 Author: Anton Vorontsov Date: Mon Apr 28 02:14:47 2008 -0700 gpiochip_reserve() Add a new function gpiochip_reserve() to reserve ranges of gpios that platform code has pre-allocated. That is, this marks gpio numbers which will be claimed by drivers that haven't yet been loaded, and thus are not available for dynamic gpio number allocation. [akpm@linux-foundation.org: remove unneeded __must_check] [david-b@pacbell.net: don't export gpiochip_reserve (section fix)] Signed-off-by: Anton Vorontsov Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d0aab2f16c4fa170f32e7a74a52cd0122bbafef Author: Anton Vorontsov Date: Mon Apr 28 02:14:46 2008 -0700 gpiolib: dynamic gpio number allocation If gpio_chip->base is negative during registration, gpiolib performs dynamic base allocation. This is useful for devices that aren't always present, such as GPIOs on hotplugged devices rather than mainboards. (This behavior was previously specified but not implemented.) To avoid using any numbers that may have been explicitly assigned but not yet registered, this dynamic allocation assigns GPIO numbers from the biggest number on down, instead of from the smallest on up. Signed-off-by: Anton Vorontsov Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6de1808f8ebfeb7e49f3c5a30cb8f2032beb287 Author: Guennadi Liakhovetski Date: Mon Apr 28 02:14:46 2008 -0700 gpio: define gpio_is_valid() Introduce a gpio_is_valid() predicate; use it in gpiolib. Signed-off-by: Guennadi Liakhovetski [ use inline function; follow the gpio_* naming convention; work without gpiolib; all programming interfaces need docs ] Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d72cbed0c486e3db8b56380635f8e845073ce63a Author: Guennadi Liakhovetski Date: Mon Apr 28 02:14:45 2008 -0700 gpiolib: i2c/spi drivers: handle rmmod better Use the newly introduced owner field in struct gpio_chip to protect the current (small) set of non-SOC GPIO drivers from being unloaded while any of their GPIOs are in use. Signed-off-by: Guennadi Liakhovetski [ add mcp23s08 and pcf857x ] Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 438d8908b379b6322fc3b28d45c9ebdddf58bc20 Author: Guennadi Liakhovetski Date: Mon Apr 28 02:14:44 2008 -0700 gpiolib: better rmmod infrastructure As long as one or more GPIOs on a gpio chip are used its driver should not be unloaded. The existing mechanism (gpiochip_remove failure) doesn't address that, since rmmod can no longer be made to fail by having the cleanup code report errors. Module usecounts are the solution. Assuming standard "initialize struct to zero" policies, this change won't affect SOC platform drivers. However, drivers for external chips (on I2C and SPI busses) should be updated if they can be built as modules. Signed-off-by: Guennadi Liakhovetski [ gpio_ensure_requested() needs to update module usecounts too ] Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73fcdc9e15c27bb92595c611c8938a36645ea20d Author: Ilpo Järvinen Date: Mon Apr 28 02:14:43 2008 -0700 i2o: remove static inline forward declarations Nothing in between of them and the later declaration with body needs them. Signed-off-by: Ilpo Järvinen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37772ac0fcc6728df47e6b0609766b7b77a8064b Author: Robert P. J. Day Date: Mon Apr 28 02:14:42 2008 -0700 isdn: rename CONFIG_AVMB1_COMPAT to not look like a Kconfig variable Since CONFIG_AVMB1_COMPAT is not a Kconfig variable, move it out of the Kconfig namespace. Signed-off-by: Robert P. J. Day Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c24e9b3fa3fdfca3834eba0bb217c8c197a43b7e Author: Cyrill Gorcunov Date: Mon Apr 28 02:14:41 2008 -0700 capifs: fix memory leak on remount capifs_remount may reach 'return' statement without freeing of memory allocated by kstrdup call Signed-off-by: Cyrill Gorcunov Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30d55e71a81b1f5a8136f191dc9f4c21f18e77e6 Author: Bjorn Helgaas Date: Mon Apr 28 02:14:41 2008 -0700 hisax: depend on CONFIG_PNP, not __ISAPNP__ The PNP driver interfaces depend on CONFIG_PNP, so test that rather than __ISAPNP__. Signed-off-by: Bjorn Helgaas Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3429545d03a553c6a3e9fcf60ddea31819848ad Author: Robert P. J. Day Date: Mon Apr 28 02:14:40 2008 -0700 isdn: fix obvious cut-and-paste error in st5481_usb.c Fix a rather obvious cut-and-paste error, where earlier code for the controller URB got somehow mixed in with code for the interrupt URB. Signed-off-by: Robert P. J. Day Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 156f1ed640170d70c9fc8e5f6f797ea1f2a1653b Author: Harvey Harrison Date: Mon Apr 28 02:14:40 2008 -0700 isdn: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd58c0dd30ac761837b1d0d8cc434c7ec7b2df68 Author: Harvey Harrison Date: Mon Apr 28 02:14:39 2008 -0700 eicon: fix sparse integer as NULL pointer warnings drivers/isdn/hardware/eicon/message.c:745:47: warning: Using plain integer as NULL pointer drivers/isdn/hardware/eicon/message.c:761:45: warning: Using plain integer as NULL pointer drivers/isdn/hardware/eicon/message.c:9122:16: warning: Using plain integer as NULL pointer drivers/isdn/hardware/eicon/message.c:9147:16: warning: Using plain integer as NULL pointer drivers/isdn/hardware/eicon/message.c:9173:14: warning: Using plain integer as NULL pointer drivers/isdn/hardware/eicon/divasmain.c:396:23: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Cc: Karsten Keil Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e44b29da5300f4698c41b5fd2d1ce52c28e2148 Author: Harvey Harrison Date: Mon Apr 28 02:14:38 2008 -0700 avm: fix sparse warning using integer as NULL pointer drivers/isdn/hardware/avm/b1isa.c:206:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1isa.c:208:33: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1.c:664:42: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1.c:666:44: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1.c:668:42: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1.c:791:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1.c:793:33: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1pci.c:385:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1pci.c:387:33: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1dma.c:886:42: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1dma.c:888:44: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1dma.c:890:42: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1dma.c:973:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1dma.c:975:33: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1pcmcia.c:204:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1pcmcia.c:206:33: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/t1isa.c:554:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/t1isa.c:556:33: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/t1pci.c:236:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/t1pci.c:238:33: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/c4.c:1091:42: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/c4.c:1093:44: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/c4.c:1095:42: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/c4.c:1170:21: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/c4.c:1294:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/c4.c:1296:33: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Cc: Karsten Keil Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f9e9b6db31d96fe4e8b519b8aab1ba172dd3ddf Author: Harvey Harrison Date: Mon Apr 28 02:14:37 2008 -0700 capi: fix sparse warnings using integer as NULL pointer drivers/isdn/capi/kcapi.c:829:30: warning: Using plain integer as NULL pointer drivers/isdn/capi/kcapi.c:838:27: warning: Using plain integer as NULL pointer drivers/isdn/capi/kcapi.c:954:17: warning: Using plain integer as NULL pointer drivers/isdn/capi/kcapi.c:1007:37: warning: Using plain integer as NULL pointer drivers/isdn/capi/kcapi.c:1009:33: warning: Using plain integer as NULL pointer drivers/isdn/capi/capiutil.c:453:24: warning: Using plain integer as NULL pointer drivers/isdn/capi/capilib.c:47:30: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:353:29: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:369:15: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:486:48: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:515:46: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:541:47: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:692:47: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:699:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:704:14: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:943:53: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:948:32: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:969:42: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:989:48: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:1026:69: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:1028:19: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:1061:20: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:1529:37: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:1531:33: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:338:15: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:758:32: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:880:40: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:407:15: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:429:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:407:15: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:444:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:429:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:429:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:429:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:429:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:429:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:1664:61: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:1969:37: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:2294:37: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:2297:33: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:2338:37: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:2341:33: warning: Using plain integer as NULL pointer drivers/isdn/capi/capifs.c:192:37: warning: Using plain integer as NULL pointer drivers/isdn/capi/capifs.c:194:33: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Cc: Karsten Keil Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50f8c370e77befe9121720bd7bdada2ac0d13915 Author: Andrew Morton Date: Mon Apr 28 02:14:35 2008 -0700 quota: convert stub functions from macros into inlines Fixes things like this: fs/super.c: In function `deactivate_super': fs/super.c:182: warning: statement with no effect fs/super.c: In function `do_remount_sb': fs/super.c:644: warning: statement with no effect Cc: Jan Kara Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b445a9c21f593be9d3c4ab912359d2c51c371dd Author: Jan Kara Date: Mon Apr 28 02:14:35 2008 -0700 quota: reiserfs: make reiserfs handle quotaon on remount Update reiserfs to handle quotaon on remount RW. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f28e08794749f3431e89302728e612343d9d9e4 Author: Jan Kara Date: Mon Apr 28 02:14:34 2008 -0700 quota: ext4: make ext4 handle quotaon on remount Update ext4 to handle quotaon on remount RW. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2fd83a4f3cd5a725168e3a269746dfce2adfa56a Author: Jan Kara Date: Mon Apr 28 02:14:34 2008 -0700 quota: ext3: make ext3 handle quotaon on remount Update ext3 handle quotaon on remount RW. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ff5af8340aa6be44220d7237ef4a654314cf795 Author: Jan Kara Date: Mon Apr 28 02:14:33 2008 -0700 quota: quota core changes for quotaon on remount Currently, we just turn quotas off on remount of filesystem to read-only state. The patch below adds necessary framework so that we can turn quotas off on remount RO but we are able to automatically reenable them again when filesystem is remounted to RW state. All we need to do is to keep references to inodes of quota files when remounting RO and using these references to reenable quotas when remounting RW. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03f6e92bdd467aed9d7571a571868563ae6ad288 Author: Jan Kara Date: Mon Apr 28 02:14:32 2008 -0700 quota: various style cleanups Cleanups in quota code: Change __inline__ to inline. Change some macros to inline functions. Remove vfs_quota_off_mount() macro. DQUOT_OFF() should be (0) is CONFIG_QUOTA is disabled. Move declaration of mark_dquot_dirty and dirty_dquot from quota.h to dquot.c [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8794b5b246cf6f67baf57bd9db386e79ca5cac33 Author: Jan Kara Date: Mon Apr 28 02:14:32 2008 -0700 quota: remove superfluous DQUOT_OFF() in fs/namespace.c We don't need to turn quotas off before remounting root ro, because do_remount_sb() already handles this. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 338bf9afda91ec005a1e9a0de4af0271cc167d56 Author: Andrew Perepechko Date: Mon Apr 28 02:14:31 2008 -0700 quota: do not allow setting of quota limits to too high values We should check whether quota limits set via Q_SETQUOTA are not exceeding limits which quota format is able to handle. Signed-off-by: Andrew Perepechko Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b0cb4caefeca6fe6b05c6c5a76e9c633b44c58f Author: Masami Hiramatsu Date: Mon Apr 28 02:14:30 2008 -0700 kprobes: update document about batch registration Add the description of batch registration interfaces to Documentation/kprobes.txt. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Prasanna S Panchamukhi Cc: Shaohua Li Cc: David Miller Cc: "Frank Ch. Eigler" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26b31c1908e02a316edfba08080373342e662c14 Author: Masami Hiramatsu Date: Mon Apr 28 02:14:29 2008 -0700 kprobes: add (un)register_jprobes for batch registration Introduce unregister_/register_jprobes() for jprobe batch registration. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Prasanna S Panchamukhi Cc: Shaohua Li Cc: David Miller Cc: "Frank Ch. Eigler" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a296e07c3a410c09b9155da4c2fa84a07964f38 Author: Masami Hiramatsu Date: Mon Apr 28 02:14:29 2008 -0700 kprobes: add (un)register_kretprobes for batch registration Introduce unregister_/register_kretprobes() for kretprobe batch registration. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Prasanna S Panchamukhi Cc: Shaohua Li Cc: David Miller Cc: "Frank Ch. Eigler" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9861668f747895608cea425f8457989d8dd2edf2 Author: Masami Hiramatsu Date: Mon Apr 28 02:14:28 2008 -0700 kprobes: add (un)register_kprobes for batch registration Introduce unregister_/register_kprobes() for kprobe batch registration. This can reduce waiting time for synchronized_sched() when a lot of probes have to be unregistered at once. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Prasanna S Panchamukhi Cc: Shaohua Li Cc: David Miller Cc: "Frank Ch. Eigler" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99602572812442d47403d85f376ad51298dd82a6 Author: Masami Hiramatsu Date: Mon Apr 28 02:14:27 2008 -0700 list.h: add list_is_singular() Add list_is_singular() to check a list has just one entry. list_is_singular() is useful to check whether a list_head which have been temporarily allocated for listing objects can be released or not. Signed-off-by: Masami Hiramatsu Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d8d996e0ca5b4093203d3f050b0f70b5c949ae8 Author: Srinivasa Ds Date: Mon Apr 28 02:14:26 2008 -0700 kprobes: prevent probing of preempt_schedule() Prohibit users from probing preempt_schedule(). One way of prohibiting the user from probing functions is by marking such functions with __kprobes. But this method doesn't work for those functions, which are already marked to different section like preempt_schedule() (belongs to __sched section). So we use blacklist approach to refuse user from probing these functions. In blacklist approach we populate the blacklisted function's starting address and its size in kprobe_blacklist structure. Then we verify the user specified address against start and end of the blacklisted function. So any attempt to register probe on blacklisted functions will be rejected. [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Srinivasa DS Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Jim Keniston Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0341a4d0fdd2a0a3d9e2bb3a9afef9f8292c8502 Author: Karl Dahlke Date: Mon Apr 28 02:14:25 2008 -0700 VT notifier extension for accessibility Some accessibility modules need to be able to catch the output on the console before the VT interpretation, and possibly swallow it. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Samuel Thibault Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7440b0ecdeb3a04d07c546d02d29700d2a574b7 Author: Robert P. J. Day Date: Mon Apr 28 02:14:24 2008 -0700 mfd: use shorter set_current_state() Since this routine declares a separate "tsk" pointer for no other reason than to call set_task_state(), get rid of it and just invoke set_current_state(). Signed-off-by: Robert P. J. Day Cc: Russell King Cc: Dmitry Torokhov Cc: Nicolas Pitre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61711f8fd8180e458cfb6846bcf4fc636a95f3db Author: Magnus Damm Date: Mon Apr 28 02:14:22 2008 -0700 sm501: add uart support This patch extends the sm501 mfd with 8250 uart support. We're currently doing this in the board specific r2d-1 code already, but it would be nice to do move things into the mfd since it's more chip specific than board specific. Signed-off-by: Magnus Damm Cc: Ben Dooks Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d9f3f6b7c4c9fe1706006f24f964e7c0fa49fb7 Author: Andrea Paterniani Date: Mon Apr 28 02:14:21 2008 -0700 spi: spi_imx updates Updates to the i.MX SPI controller driver: 1) Some comments changed and/or added. 2) End of transfers is now managed on TXFIFO empty interrupt after the last write to TXFIFO. This speeds interrupt execution by removing the wait for TXFIFO to become empty. On TXFIFO empty interrupt the handler needs only to poll for the end of the ongoing transaction (SPI_CONTROL_XCH) to close the transfer. (2.1) Write only transfers are closed flushing RXFIFO. (2.2) Read transfers are closed reading trailing bytes from RXFIFO. (2.3) Read transfers where RXFIFO overrun occurred are closed by flushing RXFIFO and aborting the message. 3) Fifos are now flushed via SPI disable after the end of ongoing transaction. Signed-off-by: Andrea Paterniani Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06719814780da741e7acf587367a86c3965c03a2 Author: Atsushi Nemoto Date: Mon Apr 28 02:14:19 2008 -0700 atmel_spi: support zero length transfer A spi transfer with zero length is not invalid. For example, such transfer (len == 0 && delay_usecs != 0) can be used to achieve delay before first CLK edge after chipselect assertion. Signed-off-by: Atsushi Nemoto Cc: Haavard Skinnemoen Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b687d2a8f8d46921ac5e80bf77967688afce68e2 Author: Harvey Harrison Date: Mon Apr 28 02:14:19 2008 -0700 spi: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31a16294261a897ab7f59a5c26e4935a851fd410 Author: Randy Dunlap Date: Mon Apr 28 02:14:18 2008 -0700 documentation: move spidev_fdx example to its own source file Move sample source code to its own source file so that it can be used easier and build-tested/check/maintained by anyone. (Makefile changes are in a separate patch for all of Documentation/.) Signed-off-by: Randy Dunlap Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf43369d55a30a0d8f9ef4700c798c72dbd3afb7 Author: David Brownell Date: Mon Apr 28 02:14:17 2008 -0700 spi: pxa2xx_spi "sparse" fixes Various cleanups to pxa2xx_spi suggested by "sparse": make sure that register addresess are "void __iomem *", and make a few functions properly static. Signed-off-by: David Brownell Cc: Ned Forrester Cc: Stephen Street Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79d8c7a8c888a7c2ab9dd4249495b24575b3f9a6 Author: Alessandro Guido Date: Mon Apr 28 02:14:16 2008 -0700 spi: use menuconfig for CONFIG_SPI Signed-off-by: Alessandro Guido Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 608dfddd845da5ab6accef70154c8910529699f7 Author: Mike Travis Date: Mon Apr 28 02:14:15 2008 -0700 oprofile: change cpu_buffer from array to per_cpu variable Change cpu_buffer from array to per_cpu variable in oprofile functions. [akpm@linux-foundation.org: coding-style fixes] Cc: Philippe Elie Signed-off-by: Mike Travis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ae9392c0a3bc01562361bb21e23dfb2e5c81c5a Author: Thomas Petazzoni Date: Mon Apr 28 02:14:14 2008 -0700 x86: configurable DMI scanning code Turn CONFIG_DMI into a selectable option if EMBEDDED is defined, in order to be able to remove the DMI table scanning code if it's not needed, and then reduce the kernel code size. With CONFIG_DMI (i.e before) : text data bss dec hex filename 1076076 128656 98304 1303036 13e1fc vmlinux Without CONFIG_DMI (i.e after) : text data bss dec hex filename 1068092 126308 98304 1292704 13b9a0 vmlinux Result: text data bss dec hex filename -7984 -2348 0 -10332 -285c vmlinux The new option appears in "Processor type and features", only when CONFIG_EMBEDDED is defined. This patch is part of the Linux Tiny project, and is based on previous work done by Matt Mackall . Signed-off-by: Thomas Petazzoni Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Anvin" Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d83fd8a26769c75d51a6b05d8dcb3e36302dd8ba Author: Andrew Morton Date: Mon Apr 28 02:14:13 2008 -0700 drivers/acpi/thermal.c: fix build with CONFIG_DMI=n drivers/acpi/thermal.c: In function 'acpi_thermal_init': drivers/acpi/thermal.c:1794: error: 'thermal_dmi_table' undeclared (first use in this function) drivers/acpi/thermal.c:1794: error: (Each undeclared identifier is reported only once drivers/acpi/thermal.c:1794: error: for each function it appears in.) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e10efefaae45989f2f143bacfef75af55068378 Author: Michael Trimarchi Date: Mon Apr 28 02:14:11 2008 -0700 atmel_serial: remove duplicated macro definition After commit 39d4c922b596633da86878b1a5cc881785b8e5fa (atmel_serial: fix uart/console concurrent access) the UART_GET_TCR macro got redefined. This patch removes the duplicated definition. Signed-off-by: michael trimarchi Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1ec61e6686c3c137aae33a11518b8e629e9c179 Author: Julia Lawall Date: Mon Apr 28 02:14:10 2008 -0700 serial: use time_before, time_before_eq, etc The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01c194d9278efc15d4785ff205643e9c0bdcef53 Author: Alex Williamson Date: Mon Apr 28 02:14:09 2008 -0700 serial 8250: tighten test for using backup timer Thomas Koeller had reported an issue where a device that had been making use of the UART_BUG_TXEN code in the 8250 driver was mistakenly being caught by the backup timer test, causing the device to work improperly. To fix this, tighten the test requirements to enable the backup timer workaround. The backup timer is really meant to catch UARTs that don't re-assert the THRE interrupt. The expectation is that they do initially assert THRE. This patch clarifies the test. Signed-off-by: Alex Williamson Cc: Thomas Koeller Cc: Russell King Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc3f341b5a1a3f26ec8ed74a38234db7d0d1bae1 Author: Yoichi Yuasa Date: Mon Apr 28 02:14:08 2008 -0700 serial: add VR41xx SIU setup for serial console Add VR41xx SIU setup for serial console. Signed-off-by: Yoichi Yuasa Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit baac58955d6933571f29126a1a95299b421faef7 Author: Yoichi Yuasa Date: Mon Apr 28 02:14:08 2008 -0700 serial: add vr41xx_siu_early_setup() for serial console Add vr41xx_siu_early_setup() for serial console. Signed-off-by: Yoichi Yuasa Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb424fd21c0931e998156225f2a0910167c3e16c Author: Alan Cox Date: Mon Apr 28 02:14:07 2008 -0700 uart_get_baud_rate: stop mangling termios Russell King noticed this one: We have to avoid replacing B0 when we pick a baud rate for a "hung up" port. Ugly but the proper fix is in the tty layer and means changing the tty<->serial interfaces so we will defer that for now. [akpm@linux-foundation.org: fix uninitialised var] Signed-off-by: Alan Cox Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e991a2bd4fa0b2f475b67dfe8f33e8ecbdcbb40b Author: Alan Cox Date: Mon Apr 28 02:14:06 2008 -0700 Fix tty speed handling on 8250 We try and write the correct speed back but the serial midlayer already mangles the speed on us and that means if we request B0 we report back B9600 when we should not. For now we'll hack around this in the drivers and serial code, pending a better long term solution. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce9f9f73af0338a680d66288cbf0efe4b900e78b Author: Harvey Harrison Date: Mon Apr 28 02:14:05 2008 -0700 char: make functions static in synclinkmp.c All were forward declared with static. Fixes sparse warnings: drivers/char/synclinkmp.c:1476:5: warning: symbol 'read_proc' was not declared. Should it be static? drivers/char/synclinkmp.c:2027:5: warning: symbol 'bh_action' was not declared. Should it be static? drivers/char/synclinkmp.c:2058:6: warning: symbol 'bh_handler' was not declared. Should it be static? drivers/char/synclinkmp.c:2103:6: warning: symbol 'bh_receive' was not declared. Should it be static? drivers/char/synclinkmp.c:2112:6: warning: symbol 'bh_transmit' was not declared. Should it be static? drivers/char/synclinkmp.c:2124:6: warning: symbol 'bh_status' was not declared. Should it be static? drivers/char/synclinkmp.c:2136:6: warning: symbol 'isr_timer' was not declared. Should it be static? drivers/char/synclinkmp.c:2162:6: warning: symbol 'isr_rxint' was not declared. Should it be static? drivers/char/synclinkmp.c:2221:6: warning: symbol 'isr_rxrdy' was not declared. Should it be static? drivers/char/synclinkmp.c:2351:6: warning: symbol 'isr_txint' was not declared. Should it be static? drivers/char/synclinkmp.c:2379:6: warning: symbol 'isr_txrdy' was not declared. Should it be static? drivers/char/synclinkmp.c:2410:6: warning: symbol 'isr_rxdmaok' was not declared. Should it be static? drivers/char/synclinkmp.c:2427:6: warning: symbol 'isr_rxdmaerror' was not declared. Should it be static? drivers/char/synclinkmp.c:2445:6: warning: symbol 'isr_txdmaok' was not declared. Should it be static? drivers/char/synclinkmp.c:2463:6: warning: symbol 'isr_txdmaerror' was not declared. Should it be static? drivers/char/synclinkmp.c:2480:6: warning: symbol 'isr_io_pin' was not declared. Should it be static? drivers/char/synclinkmp.c:3420:5: warning: symbol 'alloc_dma_bufs' was not declared. Should it be static? drivers/char/synclinkmp.c:3494:5: warning: symbol 'alloc_buf_list' was not declared. Should it be static? drivers/char/synclinkmp.c:3553:5: warning: symbol 'alloc_frame_bufs' was not declared. Should it be static? drivers/char/synclinkmp.c:3570:6: warning: symbol 'free_dma_bufs' was not declared. Should it be static? drivers/char/synclinkmp.c:3580:5: warning: symbol 'alloc_tmp_rx_buf' was not declared. Should it be static? drivers/char/synclinkmp.c:3588:6: warning: symbol 'free_tmp_rx_buf' was not declared. Should it be static? drivers/char/synclinkmp.c:3594:5: warning: symbol 'claim_resources' was not declared. Should it be static? drivers/char/synclinkmp.c:3681:6: warning: symbol 'release_resources' was not declared. Should it be static? drivers/char/synclinkmp.c:3737:6: warning: symbol 'add_device' was not declared. Should it be static? drivers/char/synclinkmp.c:3860:6: warning: symbol 'device_init' was not declared. Should it be static? drivers/char/synclinkmp.c:4054:6: warning: symbol 'enable_loopback' was not declared. Should it be static? drivers/char/synclinkmp.c:4101:6: warning: symbol 'set_rate' was not declared. Should it be static? drivers/char/synclinkmp.c:4147:6: warning: symbol 'rx_stop' was not declared. Should it be static? drivers/char/synclinkmp.c:4168:6: warning: symbol 'rx_start' was not declared. Should it be static? drivers/char/synclinkmp.c:4225:6: warning: symbol 'tx_start' was not declared. Should it be static? drivers/char/synclinkmp.c:4295:6: warning: symbol 'tx_stop' was not declared. Should it be static? drivers/char/synclinkmp.c:4322:6: warning: symbol 'tx_load_fifo' was not declared. Should it be static? drivers/char/synclinkmp.c:4371:6: warning: symbol 'reset_port' was not declared. Should it be static? drivers/char/synclinkmp.c:4395:6: warning: symbol 'reset_adapter' was not declared. Should it be static? drivers/char/synclinkmp.c:4407:6: warning: symbol 'async_mode' was not declared. Should it be static? drivers/char/synclinkmp.c:4546:6: warning: symbol 'hdlc_mode' was not declared. Should it be static? drivers/char/synclinkmp.c:4748:6: warning: symbol 'tx_set_idle' was not declared. Should it be static? drivers/char/synclinkmp.c:4768:6: warning: symbol 'get_signals' was not declared. Should it be static? drivers/char/synclinkmp.c:4797:6: warning: symbol 'set_signals' was not declared. Should it be static? drivers/char/synclinkmp.c:4826:6: warning: symbol 'rx_reset_buffers' was not declared. Should it be static? drivers/char/synclinkmp.c:4837:6: warning: symbol 'rx_free_frame_buffers' was not declared. Should it be static? drivers/char/synclinkmp.c:4865:5: warning: symbol 'rx_get_frame' was not declared. Should it be static? drivers/char/synclinkmp.c:5040:6: warning: symbol 'tx_load_dma_buffer' was not declared. Should it be static? drivers/char/synclinkmp.c:5080:5: warning: symbol 'register_test' was not declared. Should it be static? drivers/char/synclinkmp.c:5119:5: warning: symbol 'irq_test' was not declared. Should it be static? drivers/char/synclinkmp.c:5211:5: warning: symbol 'init_adapter' was not declared. Should it be static? drivers/char/synclinkmp.c:5270:5: warning: symbol 'loopback_test' was not declared. Should it be static? drivers/char/synclinkmp.c:5335:5: warning: symbol 'adapter_test' was not declared. Should it be static? drivers/char/synclinkmp.c:5397:5: warning: symbol 'memory_test' was not declared. Should it be static? drivers/char/synclinkmp.c:5449:6: warning: symbol 'load_pci_memory' was not declared. Should it be static? drivers/char/synclinkmp.c:5468:6: warning: symbol 'trace_block' was not declared. Should it be static? drivers/char/synclinkmp.c:5503:6: warning: symbol 'tx_timeout' was not declared. Should it be static? drivers/char/synclinkmp.c:5530:6: warning: symbol 'status_timeout' was not declared. Should it be static? drivers/char/synclinkmp.c:5581:15: warning: symbol 'read_reg' was not declared. Should it be static? drivers/char/synclinkmp.c:5586:6: warning: symbol 'write_reg' was not declared. Should it be static? drivers/char/synclinkmp.c:5592:5: warning: symbol 'read_reg16' was not declared. Should it be static? drivers/char/synclinkmp.c:5598:6: warning: symbol 'write_reg16' was not declared. Should it be static? drivers/char/synclinkmp.c:5604:15: warning: symbol 'read_status_reg' was not declared. Should it be static? drivers/char/synclinkmp.c:5610:6: warning: symbol 'write_control_reg' was not declared. Should it be static? Signed-off-by: Harvey Harrison Cc: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0fab6de09c71a976e5d765e1ff548b14be385153 Author: Joe Perches Date: Mon Apr 28 02:14:02 2008 -0700 synclink drivers bool conversion Remove more TRUE/FALSE defines and uses Remove == TRUE tests Convert BOOLEAN to bool Convert int to bool where appropriate Signed-off-by: Joe Perches Acked-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a63ce5a1f2fde5ae737f059e2714e441447120c Author: Sam Ravnborg Date: Mon Apr 28 02:14:02 2008 -0700 serial: silence section mismatch warnings in 8250_pci Fix following warnings: WARNING: drivers/serial/built-in.o(.data+0x5b8): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_ite887x_exit() WARNING: drivers/serial/built-in.o(.data+0x5e0): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit() WARNING: drivers/serial/built-in.o(.data+0x608): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit() WARNING: drivers/serial/built-in.o(.data+0x658): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit() WARNING: drivers/serial/built-in.o(.data+0x680): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit() WARNING: drivers/serial/built-in.o(.data+0x6a8): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit() WARNING: drivers/serial/built-in.o(.data+0x6d0): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit() WARNING: drivers/serial/built-in.o(.data+0x6f8): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit() WARNING: drivers/serial/built-in.o(.data+0x720): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit() WARNING: drivers/serial/built-in.o(.data+0x748): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit() pci_serial_quirks contains a number of function pointers where the referenced function is annotated __devexit. This is OK so we annotate pci_serial_quirks with __refdata to ignore the __devexit references Signed-off-by: Sam Ravnborg Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eee3754f5e45bd27e001ea41823bdbcdd0d192d4 Author: Harvey Harrison Date: Mon Apr 28 02:14:01 2008 -0700 ncpfs: fix sparse warning in ncpsign_kernel.c We're casting anyway, might as well cast to the correct sign. Specific to i386 (ifdef __i386__) fs/ncpfs/ncpsign_kernel.c:58:23: warning: incorrect type in initializer (different signedness) fs/ncpfs/ncpsign_kernel.c:58:23: expected unsigned int *data2 fs/ncpfs/ncpsign_kernel.c:58:23: got int * Signed-off-by: Harvey Harrison Acked-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 305787e44ebc21d87ab4d4949da5b97d4252aa9b Author: Harvey Harrison Date: Mon Apr 28 02:14:00 2008 -0700 ncpfs: fix sparse warnings in ioctl.c In both cases, these inode variables arebeing used to test the server's root inode against NULL. Change them to s_inode. fs/ncpfs/ioctl.c:391:18: warning: symbol 'inode' shadows an earlier one fs/ncpfs/ioctl.c:264:28: originally declared here fs/ncpfs/ioctl.c:441:17: warning: symbol 'inode' shadows an earlier one fs/ncpfs/ioctl.c:264:28: originally declared here In this case, we are about to return anyway, just reuse result. fs/ncpfs/ioctl.c:521:8: warning: symbol 'result' shadows an earlier one fs/ncpfs/ioctl.c:268:6: originally declared here Signed-off-by: Harvey Harrison Acked-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdf8803768db6f652d498628fe1421a23c025253 Author: Harvey Harrison Date: Mon Apr 28 02:13:59 2008 -0700 ncpfs: add prototypes to ncp_fs.h Removes some externs from C files, noticed from the sparse warnings: fs/ncpfs/dir.c:90:26: warning: symbol 'ncp_root_dentry_operations' was not declared. Should it be static? fs/ncpfs/symlink.c:107:5: warning: symbol 'ncp_symlink' was not declared. Should it be static? fs/ncpfs/symlink.c:101:39: warning: symbol 'ncp_symlink_aops' was not declared. Should it be static? Signed-off-by: Harvey Harrison Acked-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dc62b1b6408396d5f6c13ed585adc87b2e296f9 Author: WANG Cong Date: Mon Apr 28 02:13:58 2008 -0700 uml: clean up arch/um/drivers/ubd_kern.c Make some global functions and variables static. And remove some useless declarations for local functions, since we just need to move their definitions ahead. [jdike@addtoit.com: checkpatch cleanups] Signed-off-by: WANG Cong Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4415d8a5aaec2008833e1c474b38627c0bc738ca Author: WANG Cong Date: Mon Apr 28 02:13:57 2008 -0700 arch/um/os-Linux/sys-i386/task_size.c: improve a bit Improve this code a bit: check sigaction's return value and remove a useless fflush(). Acked-by: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 074a0db8e17ae271736148809c5f9d47dec2d993 Author: WANG Cong Date: Mon Apr 28 02:13:57 2008 -0700 uml: make several things static Make several things static, because they no longer need to be global. Acked-by: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1605ec044300d0fd5d27fd0b6879ee14b104aebd Author: WANG Cong Date: Mon Apr 28 02:13:56 2008 -0700 uml: make three functions static Make the following three functions static, since they don't need to be global. arch/um/drivers/mcast_kern.c::mcast_setup() arch/um/drivers/mconsole_user.c::mconsole_reply_v0() arch/um/drivers/port_user.c::port_pre_exec() Acked-by: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02d324b15dfa31b3b1025fb5abda08a8ee23ce84 Author: WANG Cong Date: Mon Apr 28 02:13:56 2008 -0700 uml: remove a useless function arch/um/drivers/chan_kern.c::chan_out_fd() is not used by anyone. Remove it. Acked-by: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3af7cb7bbcf0872b749a32bb48a7bc11f33bcd8c Author: WANG Cong Date: Mon Apr 28 02:13:55 2008 -0700 uml: make a function static arch/um/drivers/chan_kern.c::open_chan() can become static. Acked-by: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 626c59f5edb284027bfe25cc15e7de2f532090b5 Author: WANG Cong Date: Mon Apr 28 02:13:53 2008 -0700 arch/um/os-Linux/start_up.c: various improvements. - lets ptrace_child become void - adds checking for the return value of change_sig - moves errors info into stderr instead of stdout. Cc: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3595726ac349ca9682703535e9a999c4f08c2d80 Author: Harvey Harrison Date: Mon Apr 28 02:13:53 2008 -0700 uml: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3af9c5bed1b8f284f3d7d479c77adf60ad059e91 Author: WANG Cong Date: Mon Apr 28 02:13:52 2008 -0700 arch/um/kernel/um_arch.c: some small improvements Make some small improvements for arch/um/kernel/um_arch.c. Signed-off-by: WANG Cong Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16a26ef5ad31b59c521bd9becccaee84c0157326 Author: KOSAKI Motohiro Date: Mon Apr 28 02:13:51 2008 -0700 cris: add constfy to pgd_offset() add constfy to pgd_offset() for avoid following warnings. CC mm/pagewalk.o mm/pagewalk.c: In function 'walk_page_range': mm/pagewalk.c:111: warning: passing argument 1 of 'pgd_offset' discards qualifiers from p\ ointer target type Signed-off-by: KOSAKI Motohiro Cc: Matt Mackall Cc: "Vegard Nossum" Cc: Mikael Starvik Cc: Jesper Nilsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fd284fd976232dbd0d0dc94e07c91e50e2898b2 Author: Johannes Weiner Date: Mon Apr 28 02:13:51 2008 -0700 cris: remove redundant display of free swap space in show_mem() show_mem() has no need to print the amount of free swap space manually because show_free_areas() does this already and is called by the former. The two outputs only differ in text formatting: printk("Free swap = %lukB\n", ...); printk("Free swap: %6ldkB\n", ...); Signed-off-by: Johannes Weiner Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 032c17e8afa150412810ffc19913ecd5eb531d57 Author: Alan Cox Date: Mon Apr 28 02:13:50 2008 -0700 crisv10: prepare for BKL push down Just the modem bits this time Signed-off-by: Alan Cox Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f85e7cdc3fd0db65ef1442476b82ced0f01c5c19 Author: Harvey Harrison Date: Mon Apr 28 02:13:49 2008 -0700 m68k: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6feef6e5f23d5a3d8a614ab8ea392dfa54c7365c Author: Johannes Weiner Date: Mon Apr 28 02:13:48 2008 -0700 m68k: remove redundant display of free swap space in show_mem() show_mem() has no need to print the amount of free swap space manually because show_free_areas() does this already and is called by the former. The two outputs only differ in text formatting: printk("Free swap = %lukB\n", ...); printk("Free swap: %6ldkB\n", ...); Signed-off-by: Johannes Weiner Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed6b9b97f42c091630335bfb71a2931e6f86388b Author: Andrew Morton Date: Mon Apr 28 02:13:48 2008 -0700 alpha: teach the compiler that BUG doesn't return Fix things like this: security/selinux/netnode.c: In function 'sel_netnode_find': security/selinux/netnode.c:126: warning: 'idx' may be used uninitialized in this function security/selinux/netnode.c: In function 'sel_netnode_sid': security/selinux/netnode.c:225: warning: 'ret' may be used uninitialized in this function security/selinux/netnode.c:168: warning: 'idx' may be used uninitialized in this function due to code correctly not expecting BUG() to return. For some reason this reduces the object code size for that particular file. Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 037f436f525dac36c9f5fd5c5054518a63debb3e Author: S.Caglar Onur Date: Mon Apr 28 02:13:47 2008 -0700 arch/alpha/kernel/traps.c: use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So implement usage of the time_after() macro, defined in linux/jiffies.h, which deals with wrapping correctly [akpm@linux-foundation.org: fix warning] Signed-off-by: S.Caglar Onur Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95d193a90335b4e39dd1f750f1fc1672339ff487 Author: Harvey Harrison Date: Mon Apr 28 02:13:46 2008 -0700 alpha: replace __inline with inline Signed-off-by: Harvey Harrison Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbb8d343affd21850849fa4d41bf91c7527a3d04 Author: Harvey Harrison Date: Mon Apr 28 02:13:46 2008 -0700 alpha: remove remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ The change in pci-iommu,c should be safe as arena has not been assigned when we get to this point. Some were within #if 0 blocks, have changed them and left the blocks as they appear to be debugging infrastructure. A #define FN __FUNCTION__ was removed and occurances of FN were replaced with __func__ as well. Signed-off-by: Harvey Harrison Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b901d40c970e6db319fe1f8d84db2b9684b6c9bf Author: Jim Meyering Date: Mon Apr 28 02:13:44 2008 -0700 alpha: handle kcalloc failure arch/alpha/kernel/module.c (module_frob_arch_sections): Handle kcalloc failure. Signed-off-by: Jim Meyering Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1236cc3cf8c69bd316c940b2e94f91b3795f97fe Author: Serge E. Hallyn Date: Mon Apr 28 02:13:43 2008 -0700 smack: use cap_task_prctl With the introduction of per-process securebits, the capabilities-related prctl callbacks were moved into cap_task_prctl(). Have smack use cap_task_prctl() so that PR_SET_KEEPCAPS is defined. Signed-off-by: Serge E. Hallyn Acked-by: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30aa4faf62b2dd9b239ae06ca7a85f1d36d7ef25 Author: Casey Schaufler Date: Mon Apr 28 02:13:43 2008 -0700 smack: make smk_cipso_doi() and smk_unlbl_ambient() The functions smk_cipso_doi and smk_unlbl_ambient are not used outside smackfs.c and should hence be static. Signed-off-by: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55d00ccfb336b4f85a476a24e18c17b2eaff919e Author: Serge E. Hallyn Date: Mon Apr 28 02:13:42 2008 -0700 root_plug: use cap_task_prctl With the introduction of per-process securebits, the capabilities-related prctl callbacks were moved into cap_task_prctl(). Have root_plug use cap_task_prctl() so that PR_SET_KEEPCAPS is defined. Signed-off-by: Serge E. Hallyn Acked-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c60264c494a119cd3a716a22edc0137b11de6d1e Author: Harvey Harrison Date: Mon Apr 28 02:13:41 2008 -0700 smack: fix integer as NULL pointer warning in smack_lsm.c security/smack/smack_lsm.c:1257:16: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Acked-by: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3898b1b4ebff8dcfbcf1807e0661585e06c9a91c Author: Andrew G. Morgan Date: Mon Apr 28 02:13:40 2008 -0700 capabilities: implement per-process securebits Filesystem capability support makes it possible to do away with (set)uid-0 based privilege and use capabilities instead. That is, with filesystem support for capabilities but without this present patch, it is (conceptually) possible to manage a system with capabilities alone and never need to obtain privilege via (set)uid-0. Of course, conceptually isn't quite the same as currently possible since few user applications, certainly not enough to run a viable system, are currently prepared to leverage capabilities to exercise privilege. Further, many applications exist that may never get upgraded in this way, and the kernel will continue to want to support their setuid-0 base privilege needs. Where pure-capability applications evolve and replace setuid-0 binaries, it is desirable that there be a mechanisms by which they can contain their privilege. In addition to leveraging the per-process bounding and inheritable sets, this should include suppressing the privilege of the uid-0 superuser from the process' tree of children. The feature added by this patch can be leveraged to suppress the privilege associated with (set)uid-0. This suppression requires CAP_SETPCAP to initiate, and only immediately affects the 'current' process (it is inherited through fork()/exec()). This reimplementation differs significantly from the historical support for securebits which was system-wide, unwieldy and which has ultimately withered to a dead relic in the source of the modern kernel. With this patch applied a process, that is capable(CAP_SETPCAP), can now drop all legacy privilege (through uid=0) for itself and all subsequently fork()'d/exec()'d children with: prctl(PR_SET_SECUREBITS, 0x2f); This patch represents a no-op unless CONFIG_SECURITY_FILE_CAPABILITIES is enabled at configure time. [akpm@linux-foundation.org: fix uninitialised var warning] [serue@us.ibm.com: capabilities: use cap_task_prctl when !CONFIG_SECURITY] Signed-off-by: Andrew G. Morgan Acked-by: Serge Hallyn Reviewed-by: James Morris Cc: Stephen Smalley Cc: Paul Moore Signed-off-by: Serge E. Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4016a1390d07f15b267eecb20e76a48fd5c524ef Author: Michael Hennerich Date: Mon Apr 28 02:13:38 2008 -0700 mm/nommu.c: return 0 from kobjsize with invalid objects Don't perform kobjsize operations on objects the kernel doesn't manage. On Blackfin, drivers can get dma coherent memory by calling a function dma_alloc_coherent(). We do this in nommu by configuring a chunk of uncached memory at the top of memory. Since we don't want the kernel to use the uncached memory, we lie to the kernel, and tell it that it's max memory is between 0, and the start of the uncached dma coherent section. this all works well, until this memory gets exposed into userspace (with a frame buffer), when you look at the process's maps, it shows the framebuf: root:/proc> cat maps [snip] 03f0ef00-03f34700 rw-p 00000000 1f:00 192 /dev/fb0 root:/proc> This is outside the "normal" range for the kernel. When the kernel tries to find the size of this object (when you run ps), it dies in nommu.c in kobjsize. BUG_ON(page->index >= MAX_ORDER); since the page we are referring to is outside what the kernel thinks is it's max valid memory. root:~> while [ 1 ]; ps > /dev/null; done kernel BUG at mm/nommu.c:119! Kernel panic - not syncing: BUG! We fixed this by adding a check to reject out of range object pointers as it already does that for NULL pointers. Signed-off-by: Michael Hennerich Signed-off-by: Robin Getz Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 468fd62ed9090ccbe872489df5d0d099510df4b5 Author: Dimitri Sivanich Date: Mon Apr 28 02:13:37 2008 -0700 vmstats: add cond_resched() to refresh_cpu_vm_stats() We've found that it can take quite a bit of time (100's of usec) to get through the zone loop in refresh_cpu_vm_stats(). Adding a cond_resched() to allow other threads to run in the non-preemptive case. Signed-off-by: Dimitri Sivanich Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cece85ec744bdc7ea0fc2d33f65b3f031c28468 Author: KAMEZAWA Hiroyuki Date: Mon Apr 28 02:13:36 2008 -0700 mm: fix broken gfp_zone with __GFP_THISNODE This hack, "base = MAX_NR_ZONES", at __GFP_THISNODE was used for old zonliests. Now, new zonelist[] have a list for __GFP_THISNODE and this hack is incorrect. Should be removed. Signed-off-by: KAMEZAWA Hiroyuki Cc: Mel Gorman Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2309f9e6fe3f1de661eab9613f7903ab4420c753 Author: Pavel Machek Date: Mon Apr 28 02:13:35 2008 -0700 mm/page_alloc.c: remove hand-coded get_order() Remove hand-coded get_order() from page_alloc.c. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97d87c9710bc6c5f2585fb9dc58f5bedbe996f10 Author: Li Zefan Date: Mon Apr 28 02:13:35 2008 -0700 oom_kill: remove unused parameter in badness() In commit 4c4a22148909e4c003562ea7ffe0a06e26919e3c, we moved the memcontroller-related code from badness() to select_bad_process(), so the parameter 'mem' in badness() is unused now. Signed-off-by: Li Zefan Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c0a4a517a31e05efb38304668198a873bfec6ca Author: Yasunori Goto Date: Mon Apr 28 02:13:34 2008 -0700 memory hotplug: free memmaps allocated by bootmem This patch is to free memmaps which is allocated by bootmem. Freeing usemap is not necessary. The pages of usemap may be necessary for other sections. If removing section is last section on the node, its section is the final user of usemap page. (usemaps are allocated on its section by previous patch.) But it shouldn't be freed too, because the section must be logical offline state which all pages are isolated against page allocater. If it is freed, page alloctor may use it which will be removed physically soon. It will be disaster. So, this patch keeps it as it is. Signed-off-by: Yasunori Goto Cc: Badari Pulavarty Cc: Yinghai Lu Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86f6dae1377523689bd8468fed2f2dd180fc0560 Author: Yasunori Goto Date: Mon Apr 28 02:13:33 2008 -0700 memory hotplug: allocate usemap on the section with pgdat Usemaps are allocated on the section which has pgdat by this. Because usemap size is very small, many other sections usemaps are allocated on only one page. If a section has usemap, it can't be removed until removing other sections. This dependency is not desirable for memory removing. Pgdat has similar feature. When a section has pgdat area, it must be the last section for removing on the node. So, if section A has pgdat and section B has usemap for section A, Both sections can't be removed due to dependency each other. To solve this issue, this patch collects usemap on same section with pgdat. If other sections doesn't have any dependency, this section will be able to be removed finally. Signed-off-by: Yasunori Goto Cc: Badari Pulavarty Cc: Yinghai Lu Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e70260aabea3af2a84b951e75166dcebe689b88e Author: Yasunori Goto Date: Mon Apr 28 02:13:32 2008 -0700 memory hotplug: make alloc_bootmem_section() alloc_bootmem_section() can allocate specified section's area. This is used for usemap to keep same section with pgdat by later patch. Signed-off-by: Yasunori Goto Cc: Badari Pulavarty Cc: Yinghai Lu Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d99217a02a06a7cc83f065b73e976970970c58c Author: Yasunori Goto Date: Mon Apr 28 02:13:32 2008 -0700 memory hotplug: align memmap to page size To free memmap easier, this patch aligns it to page size. Bootmem allocater may mix some objects in one pages. It's not good for freeing memmap of memory hot-remove. Signed-off-by: Yasunori Goto Cc: Badari Pulavarty Cc: Yinghai Lu Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04753278769f3b6c3b79a080edb52f21d83bf6e2 Author: Yasunori Goto Date: Mon Apr 28 02:13:31 2008 -0700 memory hotplug: register section/node id to free This patch set is to free pages which is allocated by bootmem for memory-hotremove. Some structures of memory management are allocated by bootmem. ex) memmap, etc. To remove memory physically, some of them must be freed according to circumstance. This patch set makes basis to free those pages, and free memmaps. Basic my idea is using remain members of struct page to remember information of users of bootmem (section number or node id). When the section is removing, kernel can confirm it. By this information, some issues can be solved. 1) When the memmap of removing section is allocated on other section by bootmem, it should/can be free. 2) When the memmap of removing section is allocated on the same section, it shouldn't be freed. Because the section has to be logical memory offlined already and all pages must be isolated against page allocater. If it is freed, page allocator may use it which will be removed physically soon. 3) When removing section has other section's memmap, kernel will be able to show easily which section should be removed before it for user. (Not implemented yet) 4) When the above case 2), the page isolation will be able to check and skip memmap's page when logical memory offline (offline_pages()). Current page isolation code fails in this case because this page is just reserved page and it can't distinguish this pages can be removed or not. But, it will be able to do by this patch. (Not implemented yet.) 5) The node information like pgdat has similar issues. But, this will be able to be solved too by this. (Not implemented yet, but, remembering node id in the pages.) Fortunately, current bootmem allocator just keeps PageReserved flags, and doesn't use any other members of page struct. The users of bootmem doesn't use them too. This patch: This is to register information which is node or section's id. Kernel can distinguish which node/section uses the pages allcated by bootmem. This is basis for hot-remove sections or nodes. Signed-off-by: Yasunori Goto Cc: Badari Pulavarty Cc: Yinghai Lu Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f2e9525ba55b1c42ad6c4a5a59d7eb7bdd9be72 Author: Gerald Schaefer Date: Mon Apr 28 02:13:29 2008 -0700 hugetlbfs: common code update for s390 Huge ptes have a special type on s390 and cannot be handled with the standard pte functions in certain cases, e.g. because of a different location of the invalid bit. This patch adds some new architecture- specific functions to hugetlb common code, as a prerequisite for the s390 large page support. This won't affect other architectures in functionality, but I need to add some new dummy inline functions to the headers. Acked-by: Martin Schwidefsky Signed-off-by: Gerald Schaefer Cc: Paul Mundt Cc: "Luck, Tony" Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fe627ec5b7c47b1654dff50536d9709863295a3 Author: Gerald Schaefer Date: Mon Apr 28 02:13:28 2008 -0700 hugetlbfs: add missing TLB flush to hugetlb_cow() A cow break on a hugetlbfs page with page_count > 1 will set a new pte with set_huge_pte_at(), w/o any tlb flush operation. The old pte will remain in the tlb and subsequent write access to the page will result in a page fault loop, for as long as it may take until the tlb is flushed from somewhere else. This patch introduces an architecture-specific huge_ptep_clear_flush() function, which is called before the the set_huge_pte_at() in hugetlb_cow(). ATTENTION: This is just a nop on all architectures for now, the s390 implementation will come with our large page patch later. Other architectures should define their own huge_ptep_clear_flush() if needed. Acked-by: Martin Schwidefsky Signed-off-by: Gerald Schaefer Cc: Paul Mundt Cc: "Luck, Tony" Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d779079bfd1196e077bb1d0a906c37ae770b102 Author: Gerald Schaefer Date: Mon Apr 28 02:13:27 2008 -0700 hugetlbfs: architecture header cleanup This patch moves all architecture functions for hugetlb to architecture header files (include/asm-foo/hugetlb.h) and converts all macros to inline functions. It also removes (!) ARCH_HAS_HUGEPAGE_ONLY_RANGE, ARCH_HAS_HUGETLB_FREE_PGD_RANGE, ARCH_HAS_PREPARE_HUGEPAGE_RANGE, ARCH_HAS_SETCLEAR_HUGE_PTE and ARCH_HAS_HUGETLB_PREFAULT_HOOK. Getting rid of the ARCH_HAS_xxx #ifdef and macro fugliness should increase readability and maintainability, at the price of some code duplication. An asm-generic common part would have reduced the loc, but we would end up with new ARCH_HAS_xxx defines eventually. Acked-by: Martin Schwidefsky Signed-off-by: Gerald Schaefer Cc: Paul Mundt Cc: "Luck, Tony" Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71fe804b6d56d6a7aed680e096901434cef6a2c3 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:26 2008 -0700 mempolicy: use struct mempolicy pointer in shmem_sb_info This patch replaces the mempolicy mode, mode_flags, and nodemask in the shmem_sb_info struct with a struct mempolicy pointer, initialized to NULL. This removes dependency on the details of mempolicy from shmem.c and hugetlbfs inode.c and simplifies the interfaces. mpol_parse_str() in mempolicy.c is changed to return, via a pointer to a pointer arg, a struct mempolicy pointer on success. For MPOL_DEFAULT, the returned pointer is NULL. Further, mpol_parse_str() now takes a 'no_context' argument that causes the input nodemask to be stored in the w.user_nodemask of the created mempolicy for use when the mempolicy is installed in a tmpfs inode shared policy tree. At that time, any cpuset contextualization is applied to the original input nodemask. This preserves the previous behavior where the input nodemask was stored in the superblock. We can think of the returned mempolicy as "context free". Because mpol_parse_str() is now calling mpol_new(), we can remove from mpol_to_str() the semantic checks that mpol_new() already performs. Add 'no_context' parameter to mpol_to_str() to specify that it should format the nodemask in w.user_nodemask for 'bind' and 'interleave' policies. Change mpol_shared_policy_init() to take a pointer to a "context free" struct mempolicy and to create a new, "contextualized" mempolicy using the mode, mode_flags and user_nodemask from the input mempolicy. Note: we know that the mempolicy passed to mpol_to_str() or mpol_shared_policy_init() from a tmpfs superblock is "context free". This is currently the only instance thereof. However, if we found more uses for this concept, and introduced any ambiguity as to whether a mempolicy was context free or not, we could add another internal mode flag to identify context free mempolicies. Then, we could remove the 'no_context' argument from mpol_to_str(). Added shmem_get_sbmpol() to return a reference counted superblock mempolicy, if one exists, to pass to mpol_shared_policy_init(). We must add the reference under the sb stat_lock to prevent races with replacement of the mpol by remount. This reference is removed in mpol_shared_policy_init(). [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: another build fix] [akpm@linux-foundation.org: yet another build fix] Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f226aa1cbc006f9d90f22084f519ad2a1286cd8 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:24 2008 -0700 mempolicy: support mpol=local tmpfs mount option For tmpfs/shmem shared policies, MPOL_DEFAULT is not necessarily equivalent to "local allocation". Because shared policies are at the same "scope" level [see Documentation/vm/numa_memory_policy.txt], as vma policies MPOL_DEFAULT means "fall back to current task policy". This patch extends the memory policy string parsing function to display "local" for MPOL_PREFERRED + MPOL_F_LOCAL. This allows one to specify local allocation as the default policy for shared memory areas via the tmpfs mpol mount option, regardless of the current task's policy. Also, "local" is now displayed for this policy. This patch allows us to accept the same input format as the display. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 095f1fc4ebf36c64fddf9b6db29b1ab5517378e6 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:23 2008 -0700 mempolicy: rework shmem mpol parsing and display mm/shmem.c currently contains functions to parse and display memory policy strings for the tmpfs 'mpol' mount option. Move this to mm/mempolicy.c with the rest of the mempolicy support. With subsequent patches, we'll be able to remove knowledge of the details [mode, flags, policy, ...] completely from shmem.c 1) replace shmem_parse_mpol() in mm/shmem.c with mpol_parse_str() in mm/mempolicy.c. Rework to use the policy_types[] array [used by mpol_to_str()] to look up mode by name. 2) use mpol_to_str() to format policy for shmem_show_mpol(). mpol_to_str() expects a pointer to a struct mempolicy, so temporarily construct one. This will be replaced with a reference to a struct mempolicy in the tmpfs superblock in a subsequent patch. NOTE 1: I changed mpol_to_str() to use a colon ':' rather than an equal sign '=' as the nodemask delimiter to match mpol_parse_str() and the tmpfs/shmem mpol mount option formatting that now uses mpol_to_str(). This is a user visible change to numa_maps, but then the addition of the mode flags already changed the display. It makes sense to me to have the mounts and numa_maps display the policy in the same format. However, if anyone objects strongly, I can pass the desired nodemask delimeter as an arg to mpol_to_str(). Note 2: Like show_numa_map(), I don't check the return code from mpol_to_str(). I do use a longer buffer than the one provided by show_numa_map(), which seems to have sufficed so far. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2291990ab36b4b2d8a81b1f92e7a046e51632a60 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:22 2008 -0700 mempolicy: clean-up mpol-to-str() mempolicy formatting mpol-to-str() formats memory policies into printable strings. Currently this is only used to display "numa_maps". A subsequent patch will use mpol_to_str() for formatting tmpfs [shmem] mpol mount options, allowing us to remove essentially duplicate code in mm/shmem.c. This patch cleans up mpol_to_str() generally and in preparation for that patch. 1) show_numa_maps() is not checking the return code from mpol_to_str(). There's not a lot we can do in this context if mpol_to_str() did return the error [insufficient space in buffer]. Proposed "solution": just check, under DEBUG_VM, that callers are providing sufficient buffer space for the policy, flags, and a few nodes. This way, we'll get some display. show_numa_maps() is providing a 50-byte buffer, so it won't trip this check. 50-bytes should be sufficient unless one has a large number of nodes in a very sparse nodemask. 2) The display of the new mode flags ["static" & "relative"] was set up to display multiple flags, separated by a "bar" '|'. However, this support is incomplete--e.g., need_bar was never incremented; and currently, these two flags are mutually exclusive. So remove the "bar" support, for now, and only display one flag. 3) Use snprint() to format flags, so as not to overflow the buffer. Not that it's ever happed, AFAIK. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc36b8d3d819047eb4d23ca079fb4d3af20ff076 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:21 2008 -0700 mempolicy: use MPOL_F_LOCAL to Indicate Preferred Local Policy Now that we're using "preferred local" policy for system default, we need to make this as fast as possible. Because of the variable size of the mempolicy structure [based on size of nodemasks], the preferred_node may be in a different cacheline from the mode. This can result in accessing an extra cacheline in the normal case of system default policy. Suspect this is the cause of an observed 2-3% slowdown in page fault testing relative to kernel without this patch series. To alleviate this, use an internal mode flag, MPOL_F_LOCAL in the mempolicy flags member which is guaranteed [?] to be in the same cacheline as the mode itself. Verified that reworked mempolicy now performs slightly better on 25-rc8-mm1 for both anon and shmem segments with system default and vma [preferred local] policy. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53f2556b6792ed99fde965f5e061749edd455623 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:20 2008 -0700 mempolicy: mPOL_PREFERRED cleanups for "local allocation" Here are a couple of "cleanups" for MPOL_PREFERRED behavior when v.preferred_node < 0 -- i.e., "local allocation": 1) [do_]get_mempolicy() calls the now renamed get_policy_nodemask() to fetch the nodemask associated with a policy. Currently, get_policy_nodemask() returns the set of nodes with memory, when the policy 'mode' is 'PREFERRED, and the preferred_node is < 0. Change to return an empty nodemask, as this is what was specified to achieve "local allocation". 2) When a task is moved into a [new] cpuset, mpol_rebind_policy() is called to adjust any task and vma policy nodes to be valid in the new cpuset. However, when the policy is MPOL_PREFERRED, and the preferred_node is <0, no rebind is necessary. The "local allocation" indication is valid in any cpuset. Existing code will "do the right thing" because node_remap() will just return the argument node when it is outside of the valid range of node ids. However, I think it is clearer and cleaner to skip the remap explicitly in this case. 3) mpol_to_str() produces a printable, "human readable" string from a struct mempolicy. For MPOL_PREFERRED with preferred_node <0, show "local", as this indicates local allocation, as the task migrates among nodes. Note that this matches the usage of "local allocation" in libnuma() and numactl. Without this change, I believe that node_set() [via set_bit()] will set bit 31, resulting in a misleading display. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bea904d54d6faa92400f10c8ea3d3828b8e1eb93 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:18 2008 -0700 mempolicy: use MPOL_PREFERRED for system-wide default policy Currently, when one specifies MPOL_DEFAULT via a NUMA memory policy API [set_mempolicy(), mbind() and internal versions], the kernel simply installs a NULL struct mempolicy pointer in the appropriate context: task policy, vma policy, or shared policy. This causes any use of that policy to "fall back" to the next most specific policy scope. The only use of MPOL_DEFAULT to mean "local allocation" is in the system default policy. This requires extra checks/cases for MPOL_DEFAULT in many mempolicy.c functions. There is another, "preferred" way to specify local allocation via the APIs. That is using the MPOL_PREFERRED policy mode with an empty nodemask. Internally, the empty nodemask gets converted to a preferred_node id of '-1'. All internal usage of MPOL_PREFERRED will convert the '-1' to the id of the node local to the cpu where the allocation occurs. System default policy, except during boot, is hard-coded to "local allocation". By using the MPOL_PREFERRED mode with a negative value of preferred node for system default policy, MPOL_DEFAULT will never occur in the 'policy' member of a struct mempolicy. Thus, we can remove all checks for MPOL_DEFAULT when converting policy to a node id/zonelist in the allocation paths. In slab_node() return local node id when policy pointer is NULL. No need to set a pol value to take the switch default. Replace switch default with BUG()--i.e., shouldn't happen. With this patch MPOL_DEFAULT is only used in the APIs, including internal calls to do_set_mempolicy() and in the display of policy in /proc//numa_maps. It always means "fall back" to the the next most specific policy scope. This simplifies the description of memory policies quite a bit, with no visible change in behavior. get_mempolicy() continues to return MPOL_DEFAULT and an empty nodemask when the requested policy [task or vma/shared] is NULL. These are the values one would supply via set_mempolicy() or mbind() to achieve that condition--default behavior. This patch updates Documentation to reflect this change. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52cd3b074050dd664380b5e8cfc85d4a6ed8ad48 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:16 2008 -0700 mempolicy: rework mempolicy Reference Counting [yet again] After further discussion with Christoph Lameter, it has become clear that my earlier attempts to clean up the mempolicy reference counting were a bit of overkill in some areas, resulting in superflous ref/unref in what are usually fast paths. In other areas, further inspection reveals that I botched the unref for interleave policies. A separate patch, suitable for upstream/stable trees, fixes up the known errors in the previous attempt to fix reference counting. This patch reworks the memory policy referencing counting and, one hopes, simplifies the code. Maybe I'll get it right this time. See the update to the numa_memory_policy.txt document for a discussion of memory policy reference counting that motivates this patch. Summary: Lookup of mempolicy, based on (vma, address) need only add a reference for shared policy, and we need only unref the policy when finished for shared policies. So, this patch backs out all of the unneeded extra reference counting added by my previous attempt. It then unrefs only shared policies when we're finished with them, using the mpol_cond_put() [conditional put] helper function introduced by this patch. Note that shmem_swapin() calls read_swap_cache_async() with a dummy vma containing just the policy. read_swap_cache_async() can call alloc_page_vma() multiple times, so we can't let alloc_page_vma() unref the shared policy in this case. To avoid this, we make a copy of any non-null shared policy and remove the MPOL_F_SHARED flag from the copy. This copy occurs before reading a page [or multiple pages] from swap, so the overhead should not be an issue here. I introduced a new static inline function "mpol_cond_copy()" to copy the shared policy to an on-stack policy and remove the flags that would require a conditional free. The current implementation of mpol_cond_copy() assumes that the struct mempolicy contains no pointers to dynamically allocated structures that must be duplicated or reference counted during copy. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6020ed759404372e8be2b276e85e51735472cc9 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:14 2008 -0700 mempolicy: document {set|get}_policy() vm_ops APIs Document mempolicy return value reference semantics assumed by the rest of the mempolicy code for the set_ and get_policy vm_ops in --where the prototypes are defined--to inform any future mempolicy vm_op writers what the rest of the subsystem expects of them. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aab0b1029f0843756b68e0ed3ca983685bf43ed6 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:13 2008 -0700 mempolicy: mark shared policies for unref As part of yet another rework of mempolicy reference counting, we want to be able to identify shared policies efficiently, because they have an extra ref taken on lookup that needs to be removed when we're finished using the policy. Note: the extra ref is required because the policies are shared between tasks/processes and can be changed/freed by one task while another task is using them--e.g., for page allocation. Building on David Rientjes mempolicy "mode flags" enhancement, this patch indicates a "shared" policy by setting a new MPOL_F_SHARED flag in the flags member of the struct mempolicy added by David. MPOL_F_SHARED, and any future "internal mode flags" are reserved from bit zero up, as they will never be passed in the upper bits of the mode argument of a mempolicy API. I set the MPOL_F_SHARED flag when the policy is installed in the shared policy rb-tree. Don't need/want to clear the flag when removing from the tree as the mempolicy is freed [unref'd] internally to the sp_delete() function. However, a task could hold another reference on this mempolicy from a prior lookup. We need the MPOL_F_SHARED flag to stay put so that any tasks holding a ref will unref, eventually freeing, the mempolicy. A later patch in this series will introduce a function to conditionally unref [mpol_free] a policy. The MPOL_F_SHARED flag is one reason [currently the only reason] to unref/free a policy via the conditional free. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45c4745af381851b0406d8e4db99e62e265691c2 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:12 2008 -0700 mempolicy: rename struct mempolicy 'policy' member to 'mode' The terms 'policy' and 'mode' are both used in various places to describe the semantics of the value stored in the 'policy' member of struct mempolicy. Furthermore, the term 'policy' is used to refer to that member, to the entire struct mempolicy and to the more abstract concept of the tuple consisting of a "mode" and an optional node or set of nodes. Recently, we have added "mode flags" that are passed in the upper bits of the 'mode' [or sometimes, 'policy'] member of the numa APIs. I'd like to resolve this confusion, which perhaps only exists in my mind, by renaming the 'policy' member to 'mode' throughout, and fixing up the Documentation. Man pages will be updated separately. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae4d8c16aa22775f5731677abb8a82f03cec877e Author: Lee Schermerhorn Date: Mon Apr 28 02:13:11 2008 -0700 mempolicy: fixup Fallback for Default Shmem Policy get_vma_policy() is not handling fallback to task policy correctly when the get_policy() vm_op returns NULL. The NULL overwrites the 'pol' variable that was holding the fallback task mempolicy. So, it was falling back directly to system default policy. Fix get_vma_policy() to use only non-NULL policy returned from the vma get_policy op. shm_get_policy() was falling back to current task's mempolicy if the "backing file system" [tmpfs vs hugetlbfs] does not support the get_policy vm_op and the vma policy is null. This is incorrect for show_numa_maps() which is likely querying the numa_maps of some task other than current. Remove this fallback. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4e53d910b7dde2685b177f1e7c3e3e0b4a42f7b Author: Lee Schermerhorn Date: Mon Apr 28 02:13:10 2008 -0700 mempolicy: write lock mmap_sem while changing task mempolicy A read of /proc//numa_maps holds the target task's mmap_sem for read while examining each vma's mempolicy. A vma's mempolicy can fall back to the task's policy. However, the task could be changing it's task policy and free the one that the show_numa_maps() is examining. To prevent this, grab the mmap_sem for write when updating task mempolicy. Pointed out to me by Christoph Lameter and extracted and reworked from Christoph's alternative mempol reference counting patch. This is analogous to the way that do_mbind() and do_get_mempolicy() prevent races between task's sharing an mm_struct [a.k.a. threads] setting and querying a mempolicy for a particular address. Note: this is necessary, but not sufficient, to allow us to stop taking an extra reference on "other task's mempolicy" in get_vma_policy. Subsequent patches will complete this update, allowing us to simplify the tests for whether we need to unref a mempolicy at various points in the code. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 846a16bf0fc80dc95a414ffce465e3cbf9680247 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:09 2008 -0700 mempolicy: rename mpol_copy to mpol_dup This patch renames mpol_copy() to mpol_dup() because, well, that's what it does. Like, e.g., strdup() for strings, mpol_dup() takes a pointer to an existing mempolicy, allocates a new one and copies the contents. In a later patch, I want to use the name mpol_copy() to copy the contents from one mempolicy to another like, e.g., strcpy() does for strings. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0be3d32b05d3fea2fcdbbb81a39dac2a7163169 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:08 2008 -0700 mempolicy: rename mpol_free to mpol_put This is a change that was requested some time ago by Mel Gorman. Makes sense to me, so here it is. Note: I retain the name "mpol_free_shared_policy()" because it actually does free the shared_policy, which is NOT a reference counted object. However, ... The mempolicy object[s] referenced by the shared_policy are reference counted, so mpol_put() is used to release the reference held by the shared_policy. The mempolicy might not be freed at this time, because some task attached to the shared object associated with the shared policy may be in the process of allocating a page based on the mempolicy. In that case, the task performing the allocation will hold a reference on the mempolicy, obtained via mpol_shared_policy_lookup(). The mempolicy will be freed when all tasks holding such a reference have called mpol_put() for the mempolicy. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b1163006332302117b1b2acf226d4014ff46525 Author: Adam Litke Date: Mon Apr 28 02:13:06 2008 -0700 Subject: [PATCH] hugetlb: vmstat events for huge page allocations Allocating huge pages directly from the buddy allocator is not guaranteed to succeed. Success depends on several factors (such as the amount of physical memory available and the level of fragmentation). With the addition of dynamic hugetlb pool resizing, allocations can occur much more frequently. For these reasons it is desirable to keep track of huge page allocation successes and failures. Add two new vmstat entries to track huge page allocations that succeed and fail. The presence of the two entries is contingent upon CONFIG_HUGETLB_PAGE being enabled. [akpm@linux-foundation.org: reduced ifdeffery] Signed-off-by: Adam Litke Signed-off-by: Eric Munson Tested-by: Mel Gorman Reviewed-by: Andy Whitcroft Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 122c7a59055c77434118d7dd4dff4b625d4a2c15 Author: Ken'ichi Ohmichi Date: Mon Apr 28 02:13:04 2008 -0700 vmcoreinfo: add page flags values Add some values of page flags to the vmcoreinfo data. The vmcoreinfo data has the minimum debugging information only for dump filtering. makedumpfile (dump filtering command) gets it to distinguish unnecessary pages, and makedumpfile creates a small dumpfile. An old makedumpfile (v1.2.4 or before) had assumed some values of page flags internally, and this implementation could not follow the change of these values. For example, Christoph Lameter is changing these values by the follwing patch: http://lkml.org/lkml/2008/2/29/463 So a new makedumpfile (v1.2.5) came to need these values and I created this patch to let the kernel output them. Signed-off-by: Ken'ichi Ohmichi Cc: Christoph Lameter Cc: "Eric W. Biederman" Acked-by: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a08cb629f546d1cecebe955392197f226e58dbe1 Author: Nick Piggin Date: Mon Apr 28 02:13:03 2008 -0700 s390: implement pte special bit Convert XIP to support non-struct page backed memory, using VM_MIXEDMAP for the user mappings. This requires the get_xip_page API to be changed to an address based one. Improve the API layering a little bit too, while we're here. This is required in order to support XIP filesystems on memory that isn't backed with struct page (but memory with struct page is still supported too). Signed-off-by: Nick Piggin Acked-by: Carsten Otte Cc: Jared Hulbert Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70688e4dd1647f0ceb502bbd5964fa344c5eb411 Author: Nick Piggin Date: Mon Apr 28 02:13:02 2008 -0700 xip: support non-struct page backed memory Convert XIP to support non-struct page backed memory, using VM_MIXEDMAP for the user mappings. This requires the get_xip_page API to be changed to an address based one. Improve the API layering a little bit too, while we're here. This is required in order to support XIP filesystems on memory that isn't backed with struct page (but memory with struct page is still supported too). Signed-off-by: Nick Piggin Acked-by: Carsten Otte Cc: Jared Hulbert Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30afcb4bd2762fa4b87b17ada9500aa46dc10b1b Author: Jared Hulbert Date: Mon Apr 28 02:13:02 2008 -0700 return pfn from direct_access, for XIP Alter the block device ->direct_access() API to work with the new get_xip_mem() API (that requires both kaddr and pfn are returned). Some architectures will not do the right thing in their virt_to_page() for use by XIP (to translate from the kernel virtual address returned by direct_access(), to a user mappable pfn in XIP's page fault handler. However, we can't switch it to just return the pfn and not the kaddr, because we have no good way to get a kva from a pfn, and XIP requires the kva for its read(2) and write(2) handlers. So we have to return both. Signed-off-by: Jared Hulbert Signed-off-by: Nick Piggin Cc: Carsten Otte Cc: Heiko Carstens Cc: linux-mm@kvack.org Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 423bad600443c590f34ed7ce357591f76f48f137 Author: Nick Piggin Date: Mon Apr 28 02:13:01 2008 -0700 mm: add vm_insert_mixed vm_insert_mixed will insert either a raw pfn or a refcounted struct page into the page tables, depending on whether vm_normal_page() will return the page or not. With the introduction of the new pte bit, this is now a too tricky for drivers to be doing themselves. filemap_xip uses this in a subsequent patch. Signed-off-by: Nick Piggin Cc: Jared Hulbert Cc: Carsten Otte Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e675137a8e1a4d45822746456dd389b65745bf6 Author: Nick Piggin Date: Mon Apr 28 02:13:00 2008 -0700 mm: introduce pte_special pte bit s390 for one, cannot implement VM_MIXEDMAP with pfn_valid, due to their memory model (which is more dynamic than most). Instead, they had proposed to implement it with an additional path through vm_normal_page(), using a bit in the pte to determine whether or not the page should be refcounted: vm_normal_page() { ... if (unlikely(vma->vm_flags & (VM_PFNMAP|VM_MIXEDMAP))) { if (vma->vm_flags & VM_MIXEDMAP) { #ifdef s390 if (!mixedmap_refcount_pte(pte)) return NULL; #else if (!pfn_valid(pfn)) return NULL; #endif goto out; } ... } This is fine, however if we are allowed to use a bit in the pte to determine refcountedness, we can use that to _completely_ replace all the vma based schemes. So instead of adding more cases to the already complex vma-based scheme, we can have a clearly seperate and simple pte-based scheme (and get slightly better code generation in the process): vm_normal_page() { #ifdef s390 if (!mixedmap_refcount_pte(pte)) return NULL; return pte_page(pte); #else ... #endif } And finally, we may rather make this concept usable by any architecture rather than making it s390 only, so implement a new type of pte state for this. Unfortunately the old vma based code must stay, because some architectures may not be able to spare pte bits. This makes vm_normal_page a little bit more ugly than we would like, but the 2 cases are clearly seperate. So introduce a pte_special pte state, and use it in mm/memory.c. It is currently a noop for all architectures, so this doesn't actually result in any compiled code changes to mm/memory.o. BTW: I haven't put vm_normal_page() into arch code as-per an earlier suggestion. The reason is that, regardless of where vm_normal_page is actually implemented, the *abstraction* is still exactly the same. Also, while it depends on whether the architecture has pte_special or not, that is the only two possible cases, and it really isn't an arch specific function -- the role of the arch code should be to provide primitive functions and accessors with which to build the core code; pte_special does that. We do not want architectures to know or care about vm_normal_page itself, and we definitely don't want them being able to invent something new there out of sight of mm/ code. If we made vm_normal_page an arch function, then we have to make vm_insert_mixed (next patch) an arch function too. So I don't think moving it to arch code fundamentally improves any abstractions, while it does practically make the code more difficult to follow, for both mm and arch developers, and easier to misuse. [akpm@linux-foundation.org: build fix] Signed-off-by: Nick Piggin Acked-by: Carsten Otte Cc: Jared Hulbert Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b379d790197cdf8a95fb67507d75a24ac0a1678d Author: Jared Hulbert Date: Mon Apr 28 02:12:58 2008 -0700 mm: introduce VM_MIXEDMAP This series introduces some important infrastructure work. The overall result is that: 1. We now support XIP backed filesystems using memory that have no struct page allocated to them. And patches 6 and 7 actually implement this for s390. This is pretty important in a number of cases. As far as I understand, in the case of virtualisation (eg. s390), each guest may mount a readonly copy of the same filesystem (eg. the distro). Currently, guests need to allocate struct pages for this image. So if you have 100 guests, you already need to allocate more memory for the struct pages than the size of the image. I think. (Carsten?) For other (eg. embedded) systems, you may have a very large non- volatile filesystem. If you have to have struct pages for this, then your RAM consumption will go up proportionally to fs size. Even though it is just a small proportion, the RAM can be much more costly eg in terms of power, so every KB less that Linux uses makes it more attractive to a lot of these guys. 2. VM_MIXEDMAP allows us to support mappings where you actually do want to refcount _some_ pages in the mapping, but not others, and support COW on arbitrary (non-linear) mappings. Jared needs this for his NVRAM filesystem in progress. Future iterations of this filesystem will most likely want to migrate pages between pagecache and XIP backing, which is where the requirement for mixed (some refcounted, some not) comes from. 3. pte_special also has a peripheral usage that I need for my lockless get_user_pages patch. That was shown to speed up "oltp" on db2 by 10% on a 2 socket system, which is kind of significant because they scrounge for months to try to find 0.1% improvement on these workloads. I'm hoping we might finally be faster than AIX on pSeries with this :). My reference to lockless get_user_pages is not meant to justify this patchset (which doesn't include lockless gup), but just to show that pte_special is not some s390 specific thing that should be hidden in arch code or xip code: I definitely want to use it on at least x86 and powerpc as well. This patch: Introduce a new type of mapping, VM_MIXEDMAP. This is unlike VM_PFNMAP in that it can support COW mappings of arbitrary ranges including ranges without struct page *and* ranges with a struct page that we actually want to refcount (PFNMAP can only support COW in those cases where the un-COW-ed translations are mapped linearly in the virtual address, and can only support non refcounted ranges). VM_MIXEDMAP achieves this by refcounting all pfn_valid pages, and not refcounting !pfn_valid pages (which is not an option for VM_PFNMAP, because it needs to avoid refcounting pfn_valid pages eg. for /dev/mem mappings). Signed-off-by: Jared Hulbert Signed-off-by: Nick Piggin Acked-by: Carsten Otte Cc: Jared Hulbert Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 214e471ff99064726b2d8af3aa0e24a73c775531 Author: Peter Zijlstra Date: Mon Apr 28 02:12:55 2008 -0700 smaps: account swap entries Show the amount of swap for each vma. This can be used to see where all the swap goes. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Peter Zijlstra Acked-by: Matt Mackall Acked-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e20b8cca760ed2a6abcfe37ef56f2306790db648 Author: Christoph Lameter Date: Mon Apr 28 02:12:55 2008 -0700 PAGEFLAGS_EXTENDED and separate page flags for Head and Tail Having separate page flags for the head and the tail of a compound page allows the compiler to use bitops instead of operations on a word to check for a tail page. That is f.e. important for virt_to_head_page() which is used in various critical code paths (kfree for example): Code for PageTail(page) Before: mov (%rdi),%rdx page->flags mov %rdx,%rax 3 bytes and $0x12000,%eax 5 bytes cmp $0x12000,%rax 6 bytes je 897 After: mov (%rdi),%rax test $0x40,%ah (3 bytes) jne 887 So we go from 14 bytes to 3 bytes and from 3 instructions to one. From the use of 2 registers we go to none. We can only use page flags for this if we have page flags available. This patch introduces CONFIG_PAGEFLAGS_EXTENDED that is set if pageflags are not scarce due to SPARSEMEM using page flags for its sectionid on 32 bit NUMA platforms. Additional page flag definitions can be added to the CONFIG_PAGEFLAGS_EXTENDED section in page-flags.h if the functionality depends on PAGEFLAGS_EXTENDED or if more page flag overlapping tricks are used for the !PAGEFLAGS_EXTENDED fallback (the upcoming virtual compound patch may hook in here and Rik's/Lee's additional page flags to solve the reclaim issues could also be added there [hint... hint... where are these patchsets?]). Avoiding the overlaying of Pg_reclaim also clears the way for possible use of compound pages for the pagecache or on the LRU. Signed-off-by: Christoph Lameter Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97965478a66fbdf0f4ad5e4ecc4828f0cb548a45 Author: Christoph Lameter Date: Mon Apr 28 02:12:54 2008 -0700 mm: Get rid of __ZONE_COUNT It was used to compensate because MAX_NR_ZONES was not available to the #ifdefs. Export MAX_NR_ZONES via the new mechanism and get rid of __ZONE_COUNT. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec7cade8c1a3d1ace69b35cc843b181818578dce Author: Christoph Lameter Date: Mon Apr 28 02:12:53 2008 -0700 page flags: add PAGEFLAGS_FALSE for flags that are always false Turns out that there are a number of times that a flag is simply always returning 0. Define a macro for that. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 602c4d112f9abf43af4b882b4a6f5505ed5c51b7 Author: Christoph Lameter Date: Mon Apr 28 02:12:52 2008 -0700 page flags: handle PG_uncached like all other flags Remove the special setup for PG_uncached and simply make it part of the enum. The page flag will only be allocated when the kernel build includes the uncached allocator. Acked-by: Dean Nelson Cc: Jes Sorensen Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a128b2b1a5e8ebce0260e3345812ee70daccc7f Author: Christoph Lameter Date: Mon Apr 28 02:12:52 2008 -0700 pageflags: eliminate PG_xxx aliases Remove aliases of PG_xxx. We can easily drop those now and alias by specifying the PG_xxx flag in the macro that generates the functions. Signed-off-by: Christoph Lameter Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d60cd46bbdc5a79d9a177e40009f960e44f0e334 Author: Christoph Lameter Date: Mon Apr 28 02:12:51 2008 -0700 pageflags: use proper page flag functions in Xen Xen uses bitops to manipulate page flags. Make it use proper page flag functions. Signed-off-by: Christoph Lameter Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a1e7f777f613bf0df99c7772fa2123d01ce2f7d Author: Christoph Lameter Date: Mon Apr 28 02:12:50 2008 -0700 pageflags: convert to the use of new macros Replace explicit definitions of page flags through the use of macros. Significantly reduces the size of the definitions and removes a lot of opportunity for errors. Additonal page flags can typically be generated with a single line. Signed-off-by: Christoph Lameter Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f94a62e910840b3552c7adb7c57e0f8b3b345f6e Author: Christoph Lameter Date: Mon Apr 28 02:12:49 2008 -0700 pageflags: introduce macros to generate page flag functions Introduce a set of macros that generate functions to handle page flags. A page flag function group typically starts with either SETPAGEFLAG(,) to create a set of page flag operations that are atomic. Or __SETPAGEFLAG(, Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9223b4190fa1297a59f292f3419fc0285321d0ea Author: Christoph Lameter Date: Mon Apr 28 02:12:48 2008 -0700 pageflags: get rid of FLAGS_RESERVED NR_PAGEFLAGS specifies the number of page flags we are using. From that we can calculate the number of bits leftover that can be used for zone, node (and maybe the sections id). There is no need anymore for FLAGS_RESERVED if we use NR_PAGEFLAGS. Use the new methods to make NR_PAGEFLAGS available via the preprocessor. NR_PAGEFLAGS is used to calculate field boundaries in the page flags fields. These field widths have to be available to the preprocessor. Signed-off-by: Christoph Lameter Cc: David Miller Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e26831814998cee8e6d9f0a9854cb46c516f5547 Author: Christoph Lameter Date: Mon Apr 28 02:12:47 2008 -0700 pageflags: use an enum for the flags Use an enum to ease the maintenance of page flags. This is going to change the numbering from 0 to 18. Signed-off-by: Christoph Lameter Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf2ae2b37c06cc9fb6fc03d99617f1161939980f Author: Christoph Lameter Date: Mon Apr 28 02:12:45 2008 -0700 pageflags: standardize comment inclusion in asm-offsets.h and fix MIPS Add the ability to pass comments into asm-offsets.h by generating asm output like -># comment line Mips needs this feature to preserve the comments that are in asm-mips/asm-offsets.h right now. Then remove the special handling for mips from Kbuild and convert mips to use the new string to include the comments. Cc: Ralf Baechle Signed-off-by: Christoph Lameter Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 726b80127239aeea9c8d8aad5b4e2c80313e3ce8 Author: Andrew Morton Date: Mon Apr 28 02:12:44 2008 -0700 page_mapping(): add ifdef around reference to swapper_space This fixes the superh build when the pageflags patches are applied. But it shouldn't unless it's a gcc bug. Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1cdf25d704f7951d02a04064c97db547d6021872 Author: Christoph Lameter Date: Mon Apr 28 02:12:44 2008 -0700 kbuild: create a way to create preprocessor constants from C expressions The use of enums create constants that are not available to the preprocessor when building the kernel (f.e. MAX_NR_ZONES). Arch code already has a way to export constants calculated to the preprocessor through the asm-offsets.c file. Generate something similar for the core kernel through kbuild. Signed-off-by: Sam Ravnborg Signed-off-by: Christoph Lameter Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 308c05e35e3517d19bb67a7e97772235c9e15cd7 Author: Christoph Lameter Date: Mon Apr 28 02:12:43 2008 -0700 sparsemem: vmemmap does not need section bits A set of patches that attempts to improve page flag handling. First of all a method is introduced to generate the page flag functions using macros. Then the number of page flags used by sparsemem is reduced. All page flag operations will no longer be macros. All flags will use inline function. Then we add a way to export enum constants to the preprocessor which allows us to get rid of __ZONE_COUNT and use the NR_PAGEFLAGS for the dynamic calculation of actually available page flags for fields. This patch: Sparsemem vmemmap does not need any section bits. This patch has the effect of reducing the number of bits used in page->flags by at least 6. Signed-off-by: Christoph Lameter Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2301696932b55e2ea2085cefc84f7b94fa2dd54b Author: Christoph Lameter Date: Mon Apr 28 02:12:42 2008 -0700 vmallocinfo: add caller information Add caller information so that /proc/vmallocinfo shows where the allocation request for a slice of vmalloc memory originated. Results in output like this: 0xffffc20000000000-0xffffc20000801000 8392704 alloc_large_system_hash+0x127/0x246 pages=2048 vmalloc vpages 0xffffc20000801000-0xffffc20000806000 20480 alloc_large_system_hash+0x127/0x246 pages=4 vmalloc 0xffffc20000806000-0xffffc20000c07000 4198400 alloc_large_system_hash+0x127/0x246 pages=1024 vmalloc vpages 0xffffc20000c07000-0xffffc20000c0a000 12288 alloc_large_system_hash+0x127/0x246 pages=2 vmalloc 0xffffc20000c0a000-0xffffc20000c0c000 8192 acpi_os_map_memory+0x13/0x1c phys=cff68000 ioremap 0xffffc20000c0c000-0xffffc20000c0f000 12288 acpi_os_map_memory+0x13/0x1c phys=cff64000 ioremap 0xffffc20000c10000-0xffffc20000c15000 20480 acpi_os_map_memory+0x13/0x1c phys=cff65000 ioremap 0xffffc20000c16000-0xffffc20000c18000 8192 acpi_os_map_memory+0x13/0x1c phys=cff69000 ioremap 0xffffc20000c18000-0xffffc20000c1a000 8192 acpi_os_map_memory+0x13/0x1c phys=fed1f000 ioremap 0xffffc20000c1a000-0xffffc20000c1c000 8192 acpi_os_map_memory+0x13/0x1c phys=cff68000 ioremap 0xffffc20000c1c000-0xffffc20000c1e000 8192 acpi_os_map_memory+0x13/0x1c phys=cff68000 ioremap 0xffffc20000c1e000-0xffffc20000c20000 8192 acpi_os_map_memory+0x13/0x1c phys=cff68000 ioremap 0xffffc20000c20000-0xffffc20000c22000 8192 acpi_os_map_memory+0x13/0x1c phys=cff68000 ioremap 0xffffc20000c22000-0xffffc20000c24000 8192 acpi_os_map_memory+0x13/0x1c phys=cff68000 ioremap 0xffffc20000c24000-0xffffc20000c26000 8192 acpi_os_map_memory+0x13/0x1c phys=e0081000 ioremap 0xffffc20000c26000-0xffffc20000c28000 8192 acpi_os_map_memory+0x13/0x1c phys=e0080000 ioremap 0xffffc20000c28000-0xffffc20000c2d000 20480 alloc_large_system_hash+0x127/0x246 pages=4 vmalloc 0xffffc20000c2d000-0xffffc20000c31000 16384 tcp_init+0xd5/0x31c pages=3 vmalloc 0xffffc20000c31000-0xffffc20000c34000 12288 alloc_large_system_hash+0x127/0x246 pages=2 vmalloc 0xffffc20000c34000-0xffffc20000c36000 8192 init_vdso_vars+0xde/0x1f1 0xffffc20000c36000-0xffffc20000c38000 8192 pci_iomap+0x8a/0xb4 phys=d8e00000 ioremap 0xffffc20000c38000-0xffffc20000c3a000 8192 usb_hcd_pci_probe+0x139/0x295 [usbcore] phys=d8e00000 ioremap 0xffffc20000c3a000-0xffffc20000c3e000 16384 sys_swapon+0x509/0xa15 pages=3 vmalloc 0xffffc20000c40000-0xffffc20000c61000 135168 e1000_probe+0x1c4/0xa32 phys=d8a20000 ioremap 0xffffc20000c61000-0xffffc20000c6a000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc20000c6a000-0xffffc20000c73000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc20000c73000-0xffffc20000c7c000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc20000c7c000-0xffffc20000c7f000 12288 e1000e_setup_tx_resources+0x29/0xbe pages=2 vmalloc 0xffffc20000c80000-0xffffc20001481000 8392704 pci_mmcfg_arch_init+0x90/0x118 phys=e0000000 ioremap 0xffffc20001481000-0xffffc20001682000 2101248 alloc_large_system_hash+0x127/0x246 pages=512 vmalloc 0xffffc20001682000-0xffffc20001e83000 8392704 alloc_large_system_hash+0x127/0x246 pages=2048 vmalloc vpages 0xffffc20001e83000-0xffffc20002204000 3674112 alloc_large_system_hash+0x127/0x246 pages=896 vmalloc vpages 0xffffc20002204000-0xffffc2000220d000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc2000220d000-0xffffc20002216000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc20002216000-0xffffc2000221f000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc2000221f000-0xffffc20002228000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc20002228000-0xffffc20002231000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc20002231000-0xffffc20002234000 12288 e1000e_setup_rx_resources+0x35/0x122 pages=2 vmalloc 0xffffc20002240000-0xffffc20002261000 135168 e1000_probe+0x1c4/0xa32 phys=d8a60000 ioremap 0xffffc20002261000-0xffffc2000270c000 4894720 sys_swapon+0x509/0xa15 pages=1194 vmalloc vpages 0xffffffffa0000000-0xffffffffa0022000 139264 module_alloc+0x4f/0x55 pages=33 vmalloc 0xffffffffa0022000-0xffffffffa0029000 28672 module_alloc+0x4f/0x55 pages=6 vmalloc 0xffffffffa002b000-0xffffffffa0034000 36864 module_alloc+0x4f/0x55 pages=8 vmalloc 0xffffffffa0034000-0xffffffffa003d000 36864 module_alloc+0x4f/0x55 pages=8 vmalloc 0xffffffffa003d000-0xffffffffa0049000 49152 module_alloc+0x4f/0x55 pages=11 vmalloc 0xffffffffa0049000-0xffffffffa0050000 28672 module_alloc+0x4f/0x55 pages=6 vmalloc [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a10aa579878fc6f9cd17455067380bbdf1d53c91 Author: Christoph Lameter Date: Mon Apr 28 02:12:40 2008 -0700 vmalloc: show vmalloced areas via /proc/vmallocinfo Implement a new proc file that allows the display of the currently allocated vmalloc memory. It allows to see the users of vmalloc. That is important if vmalloc space is scarce (i386 for example). And it's going to be important for the compound page fallback to vmalloc. Many of the current users can be switched to use compound pages with fallback. This means that the number of users of vmalloc is reduced and page tables no longer necessary to access the memory. /proc/vmallocinfo allows to review how that reduction occurs. If memory becomes fragmented and larger order allocations are no longer possible then /proc/vmallocinfo allows to see which compound page allocations fell back to virtual compound pages. That is important for new users of virtual compound pages. Such as order 1 stack allocation etc that may fallback to virtual compound pages in the future. /proc/vmallocinfo permissions are made readable-only-by-root to avoid possible information leakage. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: CONFIG_MMU=n build fix] Signed-off-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Hugh Dickins Cc: Nick Piggin Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b45445684198a946b587732265692e6495993abf Author: Andrew Morton Date: Mon Apr 28 02:12:39 2008 -0700 mm: make early_pfn_to_nid() a C function Fix this (sparc64) mm/sparse-vmemmap.c: In function `vmemmap_verify': mm/sparse-vmemmap.c:64: warning: unused variable `pfn' by switching to a C function which touches its arg. (reason 3,555 why macros are bad) Also, the `nid' arg was misnamed. Reviewed-by: Christoph Lameter Acked-by: Andy Whitcroft Cc: Mel Gorman Cc: Andi Kleen Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac6aadb24b7d4f0e54246732e221c102073412bf Author: Miklos Szeredi Date: Mon Apr 28 02:12:38 2008 -0700 mm: rotate_reclaimable_page() cleanup Clean up messy conditional calling of test_clear_page_writeback() from both rotate_reclaimable_page() and end_page_writeback(). The only user of rotate_reclaimable_page() is end_page_writeback() so this is OK. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f05111f50105ac479a008cf85749cf9c956453ea Author: S.Caglar Onur Date: Mon Apr 28 02:12:38 2008 -0700 mm/page_alloc.c: fix indentation zlc_setup(): handle jiffies wraparound (10ed273f5016c582413dfbc468dd084957d847e1) changes tab with spaces Signed-off-by: S.Caglar Onur Cc: Lee Schermerhorn Cc: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7edf85aa3c00df1e86e82f649c41efa0dd8a7218 Author: Andi Kleen Date: Mon Apr 28 02:12:37 2008 -0700 mm: save some bytes in mm_struct by filling holes on 64bit Save some bytes in mm_struct by filling holes Putting int values together for better packing on 64bit shrinks sizeof(struct mm_struct) from 776 bytes to 764 bytes. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5ee5befa75e33e55d34584ad10286c5005cb1de Author: Andi Kleen Date: Mon Apr 28 02:12:37 2008 -0700 dmapool: enable debugging for CONFIG_SLUB_DEBUG_ON too Previously it was only enabled for CONFIG_DEBUG_SLAB. Not hooked into the slub runtime debug configuration, so you currently only get it with CONFIG_SLUB_DEBUG_ON, not plain CONFIG_SLUB_DEBUG Acked-by: Matthew Wilcox Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a43361cf3cb6fb6431fdbfb0f3ef26a334826160 Author: Lee Schermerhorn Date: Mon Apr 28 02:12:36 2008 -0700 mempolicy: fix parsing of tmpfs mpol mount option Parsing of new mode flags in the tmpfs mpol mount option is slightly broken: Setting a valid flag works OK: #mount -o remount,mpol=bind=static:1-2 /dev/shm #mount ... tmpfs on /dev/shm type tmpfs (rw,mpol=bind=static:1-2) ... However, we can't remove them or change them, once we've set a valid flag: #mount -o remount,mpol=bind:1-2 /dev/shm #mount ... tmpfs on /dev/shm type tmpfs (rw,mpol=bind:1-2) ... It SAYS it removed it, but that's just a copy of the input string. If we now try to set it to a different flag, we get: #mount -o remount,mpol=bind=relative:1-2 /dev/shm mount: /dev/shm not mounted already, or bad option And on the console, we see: tmpfs: Bad value 'bind' for mount option 'mpol' ^ lost remainder of string Furthermore, bogus flags are accepted with out error. Granted, they are a no-op: #mount -o remount,mpol=interleave=foo:0-3 /dev/shm #mount ... tmpfs on /dev/shm type tmpfs (rw,mpol=interleave=foo:0-3) Again, that's just a copy of the input string shown by the mount command. This patch fixes the behavior by pre-zeroing the flags so that only one of the mutually exclusive flags can be set at one time. It also reports an error when an unrecognized flag is specified. The check for both flags being set is removed because it can't happen with this implementation. If we ever want to support multiple non-exclusive flags, this area will need rework and we will need to check that any mutually exclusive flags aren't specified. Signed-off-by: Lee Schermerhorn Cc: David Rientjes Cc: Paul Jackson Cc: Christoph Lameter Cc: Andi Kleen Cc: Eric Whitney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e1f064562fcff7bf3856bc1d00dfa84d4f121cc Author: David Rientjes Date: Mon Apr 28 02:12:34 2008 -0700 mempolicy: disallow static or relative flags for local preferred mode MPOL_F_STATIC_NODES and MPOL_F_RELATIVE_NODES don't mean anything for MPOL_PREFERRED policies that were created with an empty nodemask (for purely local allocations). They'll never be invalidated because the allowed mems of a task changes or need to be rebound relative to a cpuset's placement. Also fixes a bug identified by Lee Schermerhorn that disallowed empty nodemasks to be passed to MPOL_PREFERRED to specify local allocations. [A different, somewhat incomplete, patch already existed in 25-rc5-mm1.] Cc: Paul Jackson Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Cc: Randy Dunlap Signed-off-by: Lee Schermerhorn Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3842b46de626d1a3c44ad280d67ab0a4dc047d13 Author: David Rientjes Date: Mon Apr 28 02:12:34 2008 -0700 mempolicy: small header file cleanup Removes forward definition of vm_area_struct in linux/mempolicy.h. We already get it from the linux/slab.h -> linux/gfp.h include. Removes the unused mpol_set_vma_default() macro from linux/mempolicy.h. Removes the extern definition of default_policy since it is only referenced, as it should be, in mm/mempolicy.c. Cc: Paul Jackson Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37012946da940521fb997a758a219d2f1ab56e51 Author: David Rientjes Date: Mon Apr 28 02:12:33 2008 -0700 mempolicy: create mempolicy_operations structure Create a mempolicy_operations structure that currently points to two functions[*] for the various modes: int (*create)(struct mempolicy *, const nodemask_t *); void (*rebind)(struct mempolicy *, const nodemask_t *); This splits the implementation for the various modes out of two large functions, mpol_new() and mpol_rebind_policy(). Eventually it may be beneficial to add additional functions to accomodate the existing switch() statements in mm/mempolicy.c. [*] The ->create() function for MPOL_DEFAULT is currently NULL since no struct mempolicy is dynamically allocated. [Lee.Schermerhorn@hp.com: fix regression in the package mempolicy regression tests] Signed-off-by: David Rientjes Cc: Paul Jackson Cc: Christoph Lameter Cc: Andi Kleen Signed-off-by: Lee Schermerhorn Cc: Eric Whitney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d0d2680a01c4f9e292ec6d4714884da939053a1 Author: David Rientjes Date: Mon Apr 28 02:12:32 2008 -0700 mempolicy: move rebind functions Move the mpol_rebind_{policy,task,mm}() functions after mpol_new() to avoid having to declare function prototypes. Cc: Paul Jackson Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65d66fc02ed9433b957588071b60425b12628e25 Author: David Rientjes Date: Mon Apr 28 02:12:31 2008 -0700 mempolicy: update NUMA memory policy documentation Updates Documentation/vm/numa_memory_policy.txt and Documentation/filesystems/tmpfs.txt to describe optional mempolicy mode flags. Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Cc: Randy Dunlap Signed-off-by: David Rientjes Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c50bc0116cf3cc35e7152d6a8424b4db65f52d6 Author: David Rientjes Date: Mon Apr 28 02:12:30 2008 -0700 mempolicy: add MPOL_F_RELATIVE_NODES flag Adds another optional mode flag, MPOL_F_RELATIVE_NODES, that specifies nodemasks passed via set_mempolicy() or mbind() should be considered relative to the current task's mems_allowed. When the mempolicy is created, the passed nodemask is folded and mapped onto the current task's mems_allowed. For example, consider a task using set_mempolicy() to pass MPOL_INTERLEAVE | MPOL_F_RELATIVE_NODES with a nodemask of 1-3. If current's mems_allowed is 4-7, the effected nodemask is 5-7 (the second, third, and fourth node of mems_allowed). If the same task is attached to a cpuset, the mempolicy nodemask is rebound each time the mems are changed. Some possible rebinds and results are: mems result 1-3 1-3 1-7 2-4 1,5-6 1,5-6 1,5-7 5-7 Likewise, the zonelist built for MPOL_BIND acts on the set of zones assigned to the resultant nodemask from the relative remap. In the MPOL_PREFERRED case, the preferred node is remapped from the currently effected nodemask to the relative nodemask. This mempolicy mode flag was conceived of by Paul Jackson . Cc: Paul Jackson Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ea931c9fc80c4d0a4306c30ec92eb0f1d922a0b Author: Paul Jackson Date: Mon Apr 28 02:12:29 2008 -0700 mempolicy: add bitmap_onto() and bitmap_fold() operations The following adds two more bitmap operators, bitmap_onto() and bitmap_fold(), with the usual cpumask and nodemask wrappers. The bitmap_onto() operator computes one bitmap relative to another. If the n-th bit in the origin mask is set, then the m-th bit of the destination mask will be set, where m is the position of the n-th set bit in the relative mask. The bitmap_fold() operator folds a bitmap into a second that has bit m set iff the input bitmap has some bit n set, where m == n mod sz, for the specified sz value. There are two substantive changes between this patch and its predecessor bitmap_relative: 1) Renamed bitmap_relative() to be bitmap_onto(). 2) Added bitmap_fold(). The essential motivation for bitmap_onto() is to provide a mechanism for converting a cpuset-relative CPU or Node mask to an absolute mask. Cpuset relative masks are written as if the current task were in a cpuset whose CPUs or Nodes were just the consecutive ones numbered 0..N-1, for some N. The bitmap_onto() operator is provided in anticipation of adding support for the first such cpuset relative mask, by the mbind() and set_mempolicy() system calls, using a planned flag of MPOL_F_RELATIVE_NODES. These bitmap operators (and their nodemask wrappers, in particular) will be used in code that converts the user specified cpuset relative memory policy to a specific system node numbered policy, given the current mems_allowed of the tasks cpuset. Such cpuset relative mempolicies will address two deficiencies of the existing interface between cpusets and mempolicies: 1) A task cannot at present reliably establish a cpuset relative mempolicy because there is an essential race condition, in that the tasks cpuset may be changed in between the time the task can query its cpuset placement, and the time the task can issue the applicable mbind or set_memplicy system call. 2) A task cannot at present establish what cpuset relative mempolicy it would like to have, if it is in a smaller cpuset than it might have mempolicy preferences for, because the existing interface only allows specifying mempolicies for nodes currently allowed by the cpuset. Cpuset relative mempolicies are useful for tasks that don't distinguish particularly between one CPU or Node and another, but only between how many of each are allowed, and the proper placement of threads and memory pages on the various CPUs and Nodes available. The motivation for the added bitmap_fold() can be seen in the following example. Let's say an application has specified some mempolicies that presume 16 memory nodes, including say a mempolicy that specified MPOL_F_RELATIVE_NODES (cpuset relative) nodes 12-15. Then lets say that application is crammed into a cpuset that only has 8 memory nodes, 0-7. If one just uses bitmap_onto(), this mempolicy, mapped to that cpuset, would ignore the requested relative nodes above 7, leaving it empty of nodes. That's not good; better to fold the higher nodes down, so that some nodes are included in the resulting mapped mempolicy. In this case, the mempolicy nodes 12-15 are taken modulo 8 (the weight of the mems_allowed of the confining cpuset), resulting in a mempolicy specifying nodes 4-7. Signed-off-by: Paul Jackson Signed-off-by: David Rientjes Cc: Christoph Lameter Cc: Andi Kleen Cc: Mel Gorman Cc: Lee Schermerhorn Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5b087b52f1710eb0bf15a2d2b030c51a6a1ca9e Author: David Rientjes Date: Mon Apr 28 02:12:27 2008 -0700 mempolicy: add MPOL_F_STATIC_NODES flag Add an optional mempolicy mode flag, MPOL_F_STATIC_NODES, that suppresses the node remap when the policy is rebound. Adds another member to struct mempolicy, nodemask_t user_nodemask, as part of a union with cpuset_mems_allowed: struct mempolicy { ... union { nodemask_t cpuset_mems_allowed; nodemask_t user_nodemask; } w; } that stores the the nodemask that the user passed when he or she created the mempolicy via set_mempolicy() or mbind(). When using MPOL_F_STATIC_NODES, which is passed with any mempolicy mode, the user's passed nodemask intersected with the VMA or task's allowed nodes is always used when determining the preferred node, setting the MPOL_BIND zonelist, or creating the interleave nodemask. This happens whenever the policy is rebound, including when a task's cpuset assignment changes or the cpuset's mems are changed. This creates an interesting side-effect in that it allows the mempolicy "intent" to lie dormant and uneffected until it has access to the node(s) that it desires. For example, if you currently ask for an interleaved policy over a set of nodes that you do not have access to, the mempolicy is not created and the task continues to use the previous policy. With this change, however, it is possible to create the same mempolicy; it is only effected when access to nodes in the nodemask is acquired. It is also possible to mount tmpfs with the static nodemask behavior when specifying a node or nodemask. To do this, simply add "=static" immediately following the mempolicy mode at mount time: mount -o remount mpol=interleave=static:1-3 Also removes mpol_check_policy() and folds its logic into mpol_new() since it is now obsoleted. The unused vma_mpol_equal() is also removed. Cc: Paul Jackson Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 028fec414d803117eb4b2ed12acb4dd5da65b32d Author: David Rientjes Date: Mon Apr 28 02:12:25 2008 -0700 mempolicy: support optional mode flags With the evolution of mempolicies, it is necessary to support mempolicy mode flags that specify how the policy shall behave in certain circumstances. The most immediate need for mode flag support is to suppress remapping the nodemask of a policy at the time of rebind. Both the mempolicy mode and flags are passed by the user in the 'int policy' formal of either the set_mempolicy() or mbind() syscall. A new constant, MPOL_MODE_FLAGS, represents the union of legal optional flags that may be passed as part of this int. Mempolicies that include illegal flags as part of their policy are rejected as invalid. An additional member to struct mempolicy is added to support the mode flags: struct mempolicy { ... unsigned short policy; unsigned short flags; } The splitting of the 'int' actual passed by the user is done in sys_set_mempolicy() and sys_mbind() for their respective syscalls. This is done by intersecting the actual with MPOL_MODE_FLAGS, rejecting the syscall of there are additional flags, and storing it in the new 'flags' member of struct mempolicy. The intersection of the actual with ~MPOL_MODE_FLAGS is stored in the 'policy' member of the struct and all current users of pol->policy remain unchanged. The union of the policy mode and optional mode flags is passed back to the user in get_mempolicy(). This combination of mode and flags within the same actual does not break userspace code that relies on get_mempolicy(&policy, ...) and either switch (policy) { case MPOL_BIND: ... case MPOL_INTERLEAVE: ... }; statements or if (policy == MPOL_INTERLEAVE) { ... } statements. Such applications would need to use optional mode flags when calling set_mempolicy() or mbind() for these previously implemented statements to stop working. If an application does start using optional mode flags, it will need to mask the optional flags off the policy in switch and conditional statements that only test mode. An additional member is also added to struct shmem_sb_info to store the optional mode flags. [hugh@veritas.com: shmem mpol: fix build warning] Cc: Paul Jackson Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3b51e0142d1be156ac697eaadadd6cfbb7ba32b Author: David Rientjes Date: Mon Apr 28 02:12:23 2008 -0700 mempolicy: convert MPOL constants to enum The mempolicy mode constants, MPOL_DEFAULT, MPOL_PREFERRED, MPOL_BIND, and MPOL_INTERLEAVE, are better declared as part of an enum since they are sequentially numbered and cannot be combined. The policy member of struct mempolicy is also converted from type short to type unsigned short. A negative policy does not have any legitimate meaning, so it is possible to change its type in preparation for adding optional mode flags later. The equivalent member of struct shmem_sb_info is also changed from int to unsigned short. For compatibility, the policy formal to get_mempolicy() remains as a pointer to an int: int get_mempolicy(int *policy, unsigned long *nmask, unsigned long maxnode, unsigned long addr, unsigned long flags); although the only possible values is the range of type unsigned short. Cc: Paul Jackson Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b27d05b6e21249d2338be26dfcbe8f8d8ff8a5b Author: Pekka Enberg Date: Mon Apr 28 02:12:22 2008 -0700 mm: move cache_line_size() to Not all architectures define cache_line_size() so as suggested by Andrew move the private implementations in mm/slab.c and mm/slob.c to . Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Reviewed-by: Christoph Lameter Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19fc3f0acde32636529969570055c7e2a744787c Author: Adam Litke Date: Mon Apr 28 02:12:20 2008 -0700 hugetlb: decrease hugetlb_lock cycling in gather_surplus_huge_pages To reduce hugetlb_lock acquisitions and releases when freeing excess surplus pages, scan the page list in two parts. First, transfer the needed pages to the hugetlb pool. Then drop the lock and free the remaining pages back to the buddy allocator. In the common case there are zero excess pages and no lock operations are required. Thanks Mel Gorman for this improvement. Signed-off-by: Adam Litke Cc: Mel Gorman Cc: Dave Hansen Cc: William Lee Irwin III Cc: Andy Whitcroft Cc: Mel Gorman Cc: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 797df5749032c2286bc7ff3a52de41fde0cdf0a5 Author: Chris Dearman Date: Mon Apr 28 02:12:19 2008 -0700 mm: try both endianess when checking for endianess When checking for the swap header try byteswapping the endianess dependent fields to allow the swap partition to be shared between big & little endian systems. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19770b32609b6bf97a3dece2529089494cbfc549 Author: Mel Gorman Date: Mon Apr 28 02:12:18 2008 -0700 mm: filter based on a nodemask as well as a gfp_mask The MPOL_BIND policy creates a zonelist that is used for allocations controlled by that mempolicy. As the per-node zonelist is already being filtered based on a zone id, this patch adds a version of __alloc_pages() that takes a nodemask for further filtering. This eliminates the need for MPOL_BIND to create a custom zonelist. A positive benefit of this is that allocations using MPOL_BIND now use the local node's distance-ordered zonelist instead of a custom node-id-ordered zonelist. I.e., pages will be allocated from the closest allowed node with available memory. [Lee.Schermerhorn@hp.com: Mempolicy: update stale documentation and comments] [Lee.Schermerhorn@hp.com: Mempolicy: make dequeue_huge_page_vma() obey MPOL_BIND nodemask] [Lee.Schermerhorn@hp.com: Mempolicy: make dequeue_huge_page_vma() obey MPOL_BIND nodemask rework] Signed-off-by: Mel Gorman Acked-by: Christoph Lameter Signed-off-by: Lee Schermerhorn Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd1a239f6f2d4d3eedd318583ec319aa145b324c Author: Mel Gorman Date: Mon Apr 28 02:12:17 2008 -0700 mm: have zonelist contains structs with both a zone pointer and zone_idx Filtering zonelists requires very frequent use of zone_idx(). This is costly as it involves a lookup of another structure and a substraction operation. As the zone_idx is often required, it should be quickly accessible. The node idx could also be stored here if it was found that accessing zone->node is significant which may be the case on workloads where nodemasks are heavily used. This patch introduces a struct zoneref to store a zone pointer and a zone index. The zonelist then consists of an array of these struct zonerefs which are looked up as necessary. Helpers are given for accessing the zone index as well as the node index. [kamezawa.hiroyu@jp.fujitsu.com: Suggested struct zoneref instead of embedding information in pointers] [hugh@veritas.com: mm-have-zonelist: fix memcg ooms] [hugh@veritas.com: just return do_try_to_free_pages] [hugh@veritas.com: do_try_to_free_pages gfp_mask redundant] Signed-off-by: Mel Gorman Acked-by: Christoph Lameter Acked-by: David Rientjes Signed-off-by: Lee Schermerhorn Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Cc: Christoph Lameter Cc: Nick Piggin Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54a6eb5c4765aa573a030ceeba2c14e3d2ea5706 Author: Mel Gorman Date: Mon Apr 28 02:12:16 2008 -0700 mm: use two zonelist that are filtered by GFP mask Currently a node has two sets of zonelists, one for each zone type in the system and a second set for GFP_THISNODE allocations. Based on the zones allowed by a gfp mask, one of these zonelists is selected. All of these zonelists consume memory and occupy cache lines. This patch replaces the multiple zonelists per-node with two zonelists. The first contains all populated zones in the system, ordered by distance, for fallback allocations when the target/preferred node has no free pages. The second contains all populated zones in the node suitable for GFP_THISNODE allocations. An iterator macro is introduced called for_each_zone_zonelist() that interates through each zone allowed by the GFP flags in the selected zonelist. Signed-off-by: Mel Gorman Acked-by: Christoph Lameter Signed-off-by: Lee Schermerhorn Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Cc: Christoph Lameter Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18ea7e710d2452fa726814a406779188028cf1bf Author: Mel Gorman Date: Mon Apr 28 02:12:14 2008 -0700 mm: remember what the preferred zone is for zone_statistics On NUMA, zone_statistics() is used to record events like numa hit, miss and foreign. It assumes that the first zone in a zonelist is the preferred zone. When multiple zonelists are replaced by one that is filtered, this is no longer the case. This patch records what the preferred zone is rather than assuming the first zone in the zonelist is it. This simplifies the reading of later patches in this set. Signed-off-by: Mel Gorman Signed-off-by: Lee Schermerhorn Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Reviewed-by: Christoph Lameter Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e88460da6ab7bb6a7ef83675412ed5b6315d741 Author: Mel Gorman Date: Mon Apr 28 02:12:14 2008 -0700 mm: introduce node_zonelist() for accessing the zonelist for a GFP mask Introduce a node_zonelist() helper function. It is used to lookup the appropriate zonelist given a node and a GFP mask. The patch on its own is a cleanup but it helps clarify parts of the two-zonelist-per-node patchset. If necessary, it can be merged with the next patch in this set without problems. Reviewed-by: Christoph Lameter Signed-off-by: Mel Gorman Signed-off-by: Lee Schermerhorn Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Cc: Christoph Lameter Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dac1d27bc8d5ca636d3014ecfdf94407031d1970 Author: Mel Gorman Date: Mon Apr 28 02:12:12 2008 -0700 mm: use zonelists instead of zones when direct reclaiming pages The following patches replace multiple zonelists per node with two zonelists that are filtered based on the GFP flags. The patches as a set fix a bug with regard to the use of MPOL_BIND and ZONE_MOVABLE. With this patchset, the MPOL_BIND will apply to the two highest zones when the highest zone is ZONE_MOVABLE. This should be considered as an alternative fix for the MPOL_BIND+ZONE_MOVABLE in 2.6.23 to the previously discussed hack that filters only custom zonelists. The first patch cleans up an inconsistency where direct reclaim uses zonelist->zones where other places use zonelist. The second patch introduces a helper function node_zonelist() for looking up the appropriate zonelist for a GFP mask which simplifies patches later in the set. The third patch defines/remembers the "preferred zone" for numa statistics, as it is no longer always the first zone in a zonelist. The forth patch replaces multiple zonelists with two zonelists that are filtered. The two zonelists are due to the fact that the memoryless patchset introduces a second set of zonelists for __GFP_THISNODE. The fifth patch introduces helper macros for retrieving the zone and node indices of entries in a zonelist. The final patch introduces filtering of the zonelists based on a nodemask. Two zonelists exist per node, one for normal allocations and one for __GFP_THISNODE. Performance results varied depending on the machine configuration. In real workloads the gain/loss will depend on how much the userspace portion of the benchmark benefits from having more cache available due to reduced referencing of zonelists. These are the range of performance losses/gains when running against 2.6.24-rc4-mm1. The set and these machines are a mix of i386, x86_64 and ppc64 both NUMA and non-NUMA. loss to gain Total CPU time on Kernbench: -0.86% to 1.13% Elapsed time on Kernbench: -0.79% to 0.76% page_test from aim9: -4.37% to 0.79% brk_test from aim9: -0.71% to 4.07% fork_test from aim9: -1.84% to 4.60% exec_test from aim9: -0.71% to 1.08% This patch: The allocator deals with zonelists which indicate the order in which zones should be targeted for an allocation. Similarly, direct reclaim of pages iterates over an array of zones. For consistency, this patch converts direct reclaim to use a zonelist. No functionality is changed by this patch. This simplifies zonelist iterators in the next patch. Signed-off-by: Mel Gorman Acked-by: Christoph Lameter Signed-off-by: Lee Schermerhorn Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Cc: Christoph Lameter Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d02dbc8137759e4c2f91db0b7f9c8a1ec2a9276 Author: Adrian Bunk Date: Mon Apr 28 02:12:11 2008 -0700 make swap_pte_to_pagemap_entry() static Make the needlessly global swap_pte_to_pagemap_entry() static. Signed-off-by: Adrian Bunk Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c18ddd160d1fcd46d1131d9ad6c594dd8e9af99 Author: Nick Piggin Date: Mon Apr 28 02:12:10 2008 -0700 mm: remove nopage Nothing in the tree uses nopage any more. Remove support for it in the core mm code and documentation (and a few stray references to it in comments). Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d3d5b41a72b52555d43efbfc4ccde6ba6e5444f Author: Oleg Nesterov Date: Mon Apr 28 02:12:10 2008 -0700 mmap_region: cleanup the final vma_merge() related code It is not easy to actually understand the "if (!file || !vma_merge())" code, turn it into "if (file && vma_merge())". This makes immediately obvious that the subsequent "if (file)" is superfluous. As Hugh Dickins pointed out, we can also factor out the ->i_writecount corrections, and add a small comment about that. Signed-off-by: Oleg Nesterov Cc: Miklos Szeredi Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0dd1334faf7e075bfdb6f5284eed65210b296fc1 Author: Hisashi Hifumi Date: Mon Apr 28 02:12:08 2008 -0700 fix invalidate_inode_pages2_range() to not clear ret DIO invalidates page cache through invalidate_inode_pages2_range(). invalidate_inode_pages2_range() sets ret=-EIO when invalidate_complete_page2() fails, but this ret is cleared if do_launder_page() succeed on a page of next index. In this case, dio is carried out even if invalidate_complete_page2() fails on some pages. This can cause inconsistency between memory and blocks on HDD because the page cache still exists. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Hisashi Hifumi Cc: Badari Pulavarty Cc: Ken Chen Cc: Zach Brown Cc: Nick Piggin Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: Chuck Lever Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddc81ed2c5d47a078a3b02c5c3a4345bc2bc3c9b Author: Harvey Harrison Date: Mon Apr 28 02:12:07 2008 -0700 remove sparse warning for mmzone.h include/linux/mmzone.h:640:22: warning: potentially expensive pointer subtraction Calculate the offset into the node_zones array rather than the index using casts to (char *) and comparing against the index * sizeof(struct zone). On X86_32 this saves a sar, but code size increases by one byte per is_highmem() use due to 32-bit cmps rather than 16 bit cmps. Before: 207: 2b 80 8c 07 00 00 sub 0x78c(%eax),%eax 20d: c1 f8 0b sar $0xb,%eax 210: 83 f8 02 cmp $0x2,%eax 213: 74 16 je 22b 215: 83 f8 03 cmp $0x3,%eax 218: 0f 85 8f 00 00 00 jne 2ad 21e: 83 3d 00 00 00 00 02 cmpl $0x2,0x0 225: 0f 85 82 00 00 00 jne 2ad 22b: 64 a1 00 00 00 00 mov %fs:0x0,%eax After: 207: 2b 80 8c 07 00 00 sub 0x78c(%eax),%eax 20d: 3d 00 10 00 00 cmp $0x1000,%eax 212: 74 18 je 22c 214: 3d 00 18 00 00 cmp $0x1800,%eax 219: 0f 85 8f 00 00 00 jne 2ae 21f: 83 3d 00 00 00 00 02 cmpl $0x2,0x0 226: 0f 85 82 00 00 00 jne 2ae 22c: 64 a1 00 00 00 00 mov %fs:0x0,%eax [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 488514d1798289f56f80ed018e246179fe500383 Author: Christoph Lameter Date: Mon Apr 28 02:12:05 2008 -0700 Remove set_migrateflags() Migrate flags must be set on slab creation as agreed upon when the antifrag logic was reviewed. Otherwise some slabs of a slabcache will end up in the unmovable and others in the reclaimable section depending on which flag was active when a new slab page was allocated. This likely slid in somehow when antifrag was merged. Remove it. The buffer_heads are always allocated with __GFP_RECLAIMABLE because the SLAB_RECLAIM_ACCOUNT option is set. The set_migrateflags() never had any effect there. Radix tree allocations are not directly reclaimable but they are allocated with __GFP_RECLAIMABLE set on each allocation. We now set SLAB_RECLAIM_ACCOUNT on radix tree slab creation making sure that radix tree slabs are consistently placed in the reclaimable section. Radix tree slabs will also be accounted as such. There is then no user left of set_migratepages. So remove it. Signed-off-by: Christoph Lameter Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e92adcba261fd391591bb63c1703185a04a41554 Author: Jeff Moyer Date: Mon Apr 28 02:12:04 2008 -0700 aio: io_getevents() should return if io_destroy() is invoked This patch wakes up a thread waiting in io_getevents if another thread destroys the context. This was tested using a small program that spawns a thread to wait in io_getevents while the parent thread destroys the io context and then waits for the getevents thread to exit. Without this patch, the program hangs indefinitely. With the patch, the program exits as expected. Signed-off-by: Jeff Moyer Cc: Zach Brown Cc: Christopher Smith Cc: Benjamin LaHaise Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 180c06efce691f2b721dd0d965079827bdd7ee03 Author: Jeremy Fitzhardinge Date: Mon Apr 28 02:12:03 2008 -0700 hotplug-memory: make online_page() common All architectures use an effectively identical definition of online_page(), so just make it common code. x86-64, ia64, powerpc and sh are actually identical; x86-32 is slightly different. x86-32's differences arise because it puts its hotplug pages in the highmem zone. We can handle this in the generic code by inspecting the page to see if its in highmem, and update the totalhigh_pages count appropriately. This leaves init_32.c:free_new_highpage with a single caller, so I folded it into add_one_highpage_init. I also removed an incorrect comment referring to the NUMA case; any NUMA details have already been dealt with by the time online_page() is called. [akpm@linux-foundation.org: fix indenting] Signed-off-by: Jeremy Fitzhardinge Acked-by: Dave Hansen Reviewed-by: KAMEZAWA Hiroyuki Tested-by: KAMEZAWA Hiroyuki Cc: Yasunori Goto Cc: Christoph Lameter Acked-by: Ingo Molnar Acked-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea01ea937dcae2caa146dea1918cccf2f16ed3c4 Author: Badari Pulavarty Date: Mon Apr 28 02:12:01 2008 -0700 hotplug memory remove: generic __remove_pages() support Generic helper function to remove section mappings and sysfs entries for the section of the memory we are removing. offline_pages() correctly adjusted zone and marked the pages reserved. TODO: Yasunori Goto is working on patches to free up allocations from bootmem. Signed-off-by: Badari Pulavarty Acked-by: Yasunori Goto Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a4e2b8780c6df42b19c053243dada7fa4d311ee Author: Harvey Harrison Date: Mon Apr 28 02:12:00 2008 -0700 rtc: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dca03a51549bc645685fb8a77efa64df531666c3 Author: Julia Lawall Date: Mon Apr 28 02:11:59 2008 -0700 drivers/char/rtc.c: use time_before, time_before_eq, etc The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c116bc2ae516e9949d645bc75b1ee294ff15db23 Author: Zhao Yakui Date: Mon Apr 28 02:11:58 2008 -0700 rtc: add the support for alarm time relative to current time in sysfs In current kernel if we want to set the alarm time, the absolute time the seconds relative to 1970-01-01 00:00:00) should be written into /sys/class/rtc/rtc0/wakealarm. It is not convenient. It is more reasonable to add the support for the alarm time relative to current RTC time.(the unit is second) For example: If the RTC is required to generate alarm after 2 minutes, the following will be OK. echo +120 > /sys/class/rtc/rtc0/wakealarm or echo +0x78 > /sys/class/rtc/rtc0/wakealarm Signed-off-by: Zhao Yakui Signed-off-by: Zhang Rui Signed-off-by: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2bfe3424b368e977002fc58f81536d5d8ea9449 Author: Paul Mundt Date: Mon Apr 28 02:11:57 2008 -0700 rtc: rtc-rs5c372: fix up NULL name in transfer error path rs5c_get_regs() currently uses rs5c->rtc->name for its debug printk when i2c_transfer() fails, though it is used several times before the rtc dev has been registered. The earliest we can get at the symbolic name is via the i2c client's struct device, which can be handled by moving the first rs5c_get_regs() until after the client pointer is assigned. Signed-off-by: Paul Mundt Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e275ac477161a3df5c27e40c55f7af94cfb396cf Author: David Brownell Date: Mon Apr 28 02:11:56 2008 -0700 kerneldoc for Add to the generated kerneldoc, with some overview to go along with those per-function descriptions. Signed-off-by: David Brownell Cc: Russell King Cc: Alessandro Zummo Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3ed107e63b7cd4d1ba1567a69a1feec5f0eabc1 Author: Adrian Bunk Date: Mon Apr 28 02:11:55 2008 -0700 make ds1511_rtc_{read,set}_time() static Make the needlessly global ds1511_rtc_{read,set}_time() static. Signed-off-by: Adrian Bunk Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c464652813fe128c346ce6e7ec8fb0d2b67de6fb Author: Sam Ravnborg Date: Mon Apr 28 02:11:55 2008 -0700 rtc: silence section mismatch warning in rtc-test Fix following warning: WARNING: vmlinux.o(.data+0x253e28): Section mismatch in reference from the variable test_drv to the function .devexit.text:test_remove() Fix by renaming the platfrom_driver variable from *_drv to *_driver so modpost ignore the reference to an __devexit section. Signed-off-by: Sam Ravnborg Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4edac2b442d6176afb0ae431123993dc00882987 Author: Alessandro Zummo Date: Mon Apr 28 02:11:54 2008 -0700 rtc-x1205: new style conversion [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5fc9cc0266e5babcf84c81908ec8843b7e3349f Author: Alessandro Zummo Date: Mon Apr 28 02:11:54 2008 -0700 rtc-pcf8563: new style conversion [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9edae7bcdcbac2dbf037b751ce1809eb2758cd8e Author: Alessandro Zummo Date: Mon Apr 28 02:11:53 2008 -0700 rtc-isl1208: new style conversion and minor bug fixes [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alessandro Zummo Cc: Herbert Valerio Riedel Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c750090085f260503d8beec1c73c4d2e4fe93628 Author: David Brownell Date: Mon Apr 28 02:11:52 2008 -0700 rtc: avoid legacy drivers with generic framework Kconfig tweaks to help reduce RTC configuration bugs, by avoiding legacy RTC drivers when the generic RTC framework is enabled: - If rtc-cmos is selected, disable the legacy rtc driver; - When using generic RTC on x86, enable rtc-cmos by default; - In the old "chardev RTC" section of Kconfig, add a comment warning people off these (seven) legacy RTC drivers when the generic framework is in use. People can still use the legacy drivers if they want (or need) to. This doesn't fix the broken dependencies for the legacy "CMOS" RTC driver. Ideally it would be a full list of platforms where it works, not a partial list of ones where it won't. Or better yet, it would depend on a "HAVE_CMOS_RTC" flag defined by various platforms ... surely there's a Kconfig style guideline lurking there. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77459b059b02c16b2c8cbc39b524941a576ad36e Author: David Brownell Date: Mon Apr 28 02:11:51 2008 -0700 rtc-pcf8583 build fix Fix bogus #include in rtc-pcf8583, so it compiles on platforms that don't support PC clone RTCs. (Original issue noted by Adrian Bunk.) Signed-off-by: David Brownell Cc: Adrian Bunk Acked-by: Alessandro Zummo Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ecf0d0cd28a4bfed3009f752061998e52d14db2 Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Apr 28 02:11:50 2008 -0700 dz: test after postfix decrement fails in dz_console_putchar() When loops reaches 0 the postfix decrement still subtracts, so the subsequent test fails. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Maciej W. Rozycki Cc: Johannes Weiner Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 556637cdabcd5918c7d4a1a2679b8f86fc81e891 Author: Johannes Weiner Date: Mon Apr 28 02:11:47 2008 -0700 mm: fix possible off-by-one in walk_pte_range() After the loop in walk_pte_range() pte might point to the first address after the pmd it walks. The pte_unmap() is then applied to something bad. Spotted by Roel Kluin and Andreas Schwab. Signed-off-by: Johannes Weiner Cc: Roel Kluin <12o3l@tiscali.nl> Cc: Andreas Schwab Acked-by: Matt Mackall Acked-by: Mikael Pettersson Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f022bfd58253099102218db5249220a7f4787114 Author: Ingo Molnar Date: Fri Mar 21 15:42:28 2008 +0100 x86: PAT fix Adrian Bunk noticed the following Coverity report: > Commit e7f260a276f2c9184fe753732d834b1f6fbe9f17 > (x86: PAT use reserve free memtype in mmap of /dev/mem) > added the following gem to arch/x86/mm/pat.c: > > <-- snip --> > > ... > int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn, > unsigned long size, pgprot_t *vma_prot) > { > u64 offset = ((u64) pfn) << PAGE_SHIFT; > unsigned long flags = _PAGE_CACHE_UC_MINUS; > unsigned long ret_flags; > ... > ... (nothing that touches ret_flags) > ... > if (flags != _PAGE_CACHE_UC_MINUS) { > retval = reserve_memtype(offset, offset + size, flags, NULL); > } else { > retval = reserve_memtype(offset, offset + size, -1, &ret_flags); > } > > if (retval < 0) > return 0; > > flags = ret_flags; > > if (pfn <= max_pfn_mapped && > ioremap_change_attr((unsigned long)__va(offset), size, flags) < 0) { > free_memtype(offset, offset + size); > printk(KERN_INFO > "%s:%d /dev/mem ioremap_change_attr failed %s for %Lx-%Lx\n", > current->comm, current->pid, > cattr_name(flags), > offset, offset + size); > return 0; > } > > *vma_prot = __pgprot((pgprot_val(*vma_prot) & ~_PAGE_CACHE_MASK) | > flags); > return 1; > } > > <-- snip --> > > If (flags != _PAGE_CACHE_UC_MINUS) we pass garbage from the stack to > ioremap_change_attr() and/or __pgprot(). > > Spotted by the Coverity checker. the fix simplifies the code as we get rid of the 'ret_flags' complication. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit ceb4e8e44be90d507eadfc023272269b6ca494cf Author: David S. Miller Date: Mon Apr 28 04:03:06 2008 -0700 sparc64: Kill PIL_RESERVED, unused. Signed-off-by: David S. Miller commit 8b67dca9420474623709e00d72a066068a502b20 Author: Al Viro Date: Mon Apr 28 04:15:49 2008 -0400 [PATCH] new predicate - AUDIT_FILETYPE Argument is S_IF... | , where index is normally 0 or 1. Triggers if chosen element of ctx->names[] is present and the mode of object in question matches the upper bits of argument. I.e. for things like "is the argument of that chmod a directory", etc. Signed-off-by: Al Viro commit 4a761b8c1d7a3a4ee7ccf92ce255d986f601e067 Author: Pavel Emelyanov Date: Fri Apr 18 13:30:15 2008 -0700 [patch 2/2] Use find_task_by_vpid in audit code The pid to lookup a task by is passed inside audit code via netlink message. Thanks to Denis Lunev, netlink packets are now (since 2.6.24) _always_ processed in the context of the sending task. So this is correct to lookup the task with find_task_by_vpid() here. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 41126226e186d92a45ed664e546abb5204588359 Author: Miloslav Trmac Date: Fri Apr 18 13:30:14 2008 -0700 [patch 1/2] audit: let userspace fully control TTY input auditing Remove the code that automatically disables TTY input auditing in processes that open TTYs when they have no other TTY open; this heuristic was intended to automatically handle daemons, but it has false positives (e.g. with sshd) that make it impossible to control TTY input auditing from a PAM module. With this patch, TTY input auditing is controlled from user-space only. On the other hand, not even for daemons does it make sense to audit "input" from PTY masters; this data was produced by a program writing to the PTY slave, and does not represent data entered by the user. Signed-off-by: Miloslav Trmac Cc: Al Viro Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 7719e437fac119e57b17588bab3a8e39ff9d22eb Author: Harvey Harrison Date: Sun Apr 27 02:39:56 2008 -0700 [PATCH 2/2] audit: fix sparse shadowed variable warnings Use msglen as the identifier. kernel/audit.c:724:10: warning: symbol 'len' shadows an earlier one kernel/audit.c:575:8: originally declared here Don't use ino_f to check the inode field at the end of the functions. kernel/auditfilter.c:429:22: warning: symbol 'f' shadows an earlier one kernel/auditfilter.c:420:21: originally declared here kernel/auditfilter.c:542:22: warning: symbol 'f' shadows an earlier one kernel/auditfilter.c:529:21: originally declared here i always used as a counter for a for loop and initialized to zero before use. Eliminate the inner i variables. kernel/auditsc.c:1295:8: warning: symbol 'i' shadows an earlier one kernel/auditsc.c:1152:6: originally declared here kernel/auditsc.c:1320:7: warning: symbol 'i' shadows an earlier one kernel/auditsc.c:1152:6: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Al Viro commit c782f242f0602edf848355d41e3676753c2280c8 Author: Harvey Harrison Date: Sun Apr 27 02:39:17 2008 -0700 [PATCH 1/2] audit: move extern declarations to audit.h Leave audit_sig_{uid|pid|sid} protected by #ifdef CONFIG_AUDITSYSCALL. Noticed by sparse: kernel/audit.c:73:6: warning: symbol 'audit_ever_enabled' was not declared. Should it be static? kernel/audit.c:100:8: warning: symbol 'audit_sig_uid' was not declared. Should it be static? kernel/audit.c:101:8: warning: symbol 'audit_sig_pid' was not declared. Should it be static? kernel/audit.c:102:6: warning: symbol 'audit_sig_sid' was not declared. Should it be static? kernel/audit.c:117:23: warning: symbol 'audit_ih' was not declared. Should it be static? kernel/auditfilter.c:78:18: warning: symbol 'audit_filter_list' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Al Viro commit 0ef1970d7fcee1b4cb33c5017803e9039bf42db2 Author: Eric Paris Date: Fri Apr 18 10:47:32 2008 -0400 Audit: MAINTAINERS update Change maintainers to include me and al viro Signed-off-by: Eric Paris Signed-off-by: Al Viro commit a42da93c8641a0b49405ceb2a2063975c823aa49 Author: Eric Paris Date: Fri Apr 18 10:36:22 2008 -0400 Audit: increase the maximum length of the key field Key lengths were arbitrarily limited to 32 characters. If userspace is going to start using the single kernel key field as multiple virtual key fields (example key=key1,key2,key3,key4) we should give them enough room to work. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit b556f8ad58c6e9f8f485c8cef7546e3fc82c382a Author: Eric Paris Date: Fri Apr 18 10:12:59 2008 -0400 Audit: standardize string audit interfaces This patch standardized the string auditing interfaces. No userspace changes will be visible and this is all just cleanup and consistancy work. We have the following string audit interfaces to use: void audit_log_n_hex(struct audit_buffer *ab, const unsigned char *buf, size_t len); void audit_log_n_string(struct audit_buffer *ab, const char *buf, size_t n); void audit_log_string(struct audit_buffer *ab, const char *buf); void audit_log_n_untrustedstring(struct audit_buffer *ab, const char *string, size_t n); void audit_log_untrustedstring(struct audit_buffer *ab, const char *string); This may be the first step to possibly fixing some of the issues that people have with the string output from the kernel audit system. But we still don't have an agreed upon solution to that problem. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit f09ac9db2aafe36fde9ebd63c8c5d776f6e7bd41 Author: Eric Paris Date: Fri Apr 18 10:11:04 2008 -0400 Audit: stop deadlock from signals under load A deadlock is possible between kauditd and auditd under load if auditd receives a signal. When auditd receives a signal it sends a netlink message to the kernel asking for information about the sender of the signal. In that same context the audit system will attempt to send a netlink message back to the userspace auditd. If kauditd has already filled the socket buffer (see netlink_attachskb()) auditd will now put itself to sleep waiting for room to send the message. Since auditd is responsible for draining that socket we have a deadlock. The fix, since the response from the kernel does not need to be synchronous is to send the signal information back to auditd in a separate thread. And thus auditd can continue to drain the audit queue normally. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit f3d357b092956959563398b59ef2fdd10aea387d Author: Eric Paris Date: Fri Apr 18 10:02:28 2008 -0400 Audit: save audit_backlog_limit audit messages in case auditd comes back This patch causes the kernel audit subsystem to store up to audit_backlog_limit messages for use by auditd if it ever appears sometime in the future in userspace. This is useful to collect audit messages during bootup and even when auditd is stopped. This is NOT a reliable mechanism, it does not ever call audit_panic, nor should it. audit_log_lost()/audit_panic() are called during the normal delivery mechanism. The messages are still sent to printk/syslog as usual and if too many messages appear to be queued they will be silently discarded. I liked doing it by default, but this patch only uses the queue in question if it was booted with audit=1 or if the kernel was built enabling audit by default. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit 2532386f480eefbdd67b48be55fb4fb3e5a6081c Author: Eric Paris Date: Fri Apr 18 10:09:25 2008 -0400 Audit: collect sessionid in netlink messages Previously I added sessionid output to all audit messages where it was available but we still didn't know the sessionid of the sender of netlink messages. This patch adds that information to netlink messages so we can audit who sent netlink messages. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit 436c405c7d19455a71f42c9bec5fd5e028f1eb4e Author: Eric Paris Date: Fri Apr 18 10:01:04 2008 -0400 Audit: end printk with newline A couple of audit printk statements did not have a newline. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit 6eda3a75928a3dc1072dfffd228ab818869d83ad Author: David S. Miller Date: Mon Apr 28 00:47:20 2008 -0700 sparc64: Split entry.S up into seperate files. entry.S was a hodge-podge of several totally unrelated sets of assembler routines, ranging from FPU trap handlers to hypervisor call functions. Split it up into topic-sized pieces. Signed-off-by: David S. Miller commit c9b7b9793764b171a118d049d4b721a7f5d8ac82 Author: Paul Moore Date: Fri Apr 25 15:03:39 2008 -0400 SELinux: Fix a RCU free problem with the netport cache The netport cache doesn't free resources in a manner which is safe or orderly. This patch fixes this by adding in a missing call to rcu_dereference() in sel_netport_insert() as well as some general cleanup throughout the file. Signed-off-by: Paul Moore Signed-off-by: James Morris commit a639e7ca8e8282b75be2724a28bfc788aa3bb156 Author: Paul Moore Date: Fri Apr 25 15:03:34 2008 -0400 SELinux: Made netnode cache adds faster When adding new entries to the network node cache we would walk the entire hash bucket to make sure we didn't cross a threshold (done to bound the cache size). This isn't a very quick or elegant solution for something which is supposed to be quick-ish so add a counter to each hash bucket to track the size of the bucket and eliminate the need to walk the entire bucket list on each add. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 7b41b1733ca1d3278c8eb891e17905d7d54f5bfa Author: Eric Paris Date: Wed Apr 23 14:10:25 2008 -0400 SELinux: include/security.h whitespace, syntax, and other cleanups This patch changes include/security.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis location of { around structs and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements no assignments in if statements include spaces around , in function calls and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 489a5fd7198d2d2368dd5cf697c841ea4d61ddd1 Author: Eric Paris Date: Tue Apr 22 17:46:17 2008 -0400 SELinux: policydb.h whitespace, syntax, and other cleanups This patch changes policydb.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) spaces followed by tabs spaces used instead of tabs location of * in pointer declarations Signed-off-by: Eric Paris Signed-off-by: James Morris commit 8bf1f3a6c0f7e4092c0c041175a52734600490ba Author: Eric Paris Date: Tue Apr 22 17:46:16 2008 -0400 SELinux: mls_types.h whitespace, syntax, and other cleanups This patch changes mls_types.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) spaces used instead of tabs Signed-off-by: Eric Paris Signed-off-by: James Morris commit d497fc87c0e201194c3af75b787178cf4559f84b Author: Eric Paris Date: Tue Apr 22 17:46:15 2008 -0400 SELinux: mls.h whitespace, syntax, and other cleanups This patch changes mls.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) spaces used instead of tabs Signed-off-by: Eric Paris Signed-off-by: James Morris commit faff786ce2f7c14f25d29cf61b0634c8f6c4827f Author: Eric Paris Date: Tue Apr 22 17:46:14 2008 -0400 SELinux: hashtab.h whitespace, syntax, and other cleanups This patch changes hashtab.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) spaces used instead of tabs Signed-off-by: Eric Paris Signed-off-by: James Morris commit 81fa42df78511e3bdbc0ea545990bda6a5b3e7de Author: Eric Paris Date: Tue Apr 22 17:46:13 2008 -0400 SELinux: context.h whitespace, syntax, and other cleanups This patch changes context.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) include spaces around , in function calls Signed-off-by: Eric Paris Signed-off-by: James Morris commit ccb3cbeb4f285a02103ded5298850a21e7028ba4 Author: Eric Paris Date: Tue Apr 22 17:46:12 2008 -0400 SELinux: ss/conditional.h whitespace, syntax, and other cleanups This patch changes ss/conditional.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) location of * in pointer declarations Signed-off-by: Eric Paris Signed-off-by: James Morris commit b19d8eae99dae42bb747954fdbb2cd456922eb5f Author: Eric Paris Date: Tue Apr 22 17:46:11 2008 -0400 SELinux: selinux/include/security.h whitespace, syntax, and other cleanups This patch changes selinux/include/security.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis location of { around structs and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements no assignments in if statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit a936b79bdf97285e0274eca7b656fc6350ca57ea Author: Eric Paris Date: Tue Apr 22 17:46:10 2008 -0400 SELinux: objsec.h whitespace, syntax, and other cleanups This patch changes objsec.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis location of { around structs and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements no assignments in if statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit cc03766aaf0b670581ec2bd5cba2b9051d14df8d Author: Eric Paris Date: Tue Apr 22 17:46:09 2008 -0400 SELinux: netlabel.h whitespace, syntax, and other cleanups This patch changes netlabel.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) spaces used instead of tabs Signed-off-by: Eric Paris Signed-off-by: James Morris commit e392febedb6e1050a1a81a7bd72456a32c88e710 Author: Eric Paris Date: Tue Apr 22 17:46:08 2008 -0400 SELinux: avc_ss.h whitespace, syntax, and other cleanups This patch changes avc_ss.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis location of { around structs and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements no assignments in if statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 358c12953b88c5a06a57c33eb27c753b2e7934d1 Author: Jason Riedy Date: Sun Apr 27 15:38:30 2008 -0700 iwlwifi: Allow building iwl3945 without iwl4965. If IWL3945 ever depends on IWLCORE, the silent, user-invisible IWLWIFI option can go away. Signed-off-by: Jason Riedy Signed-off-by: David S. Miller commit bd8fd21dfddf51299d782f598cb776b15b7d64cc Author: Luca Tettamanti Date: Sun Apr 27 15:34:55 2008 -0700 wireless: Fix compile error with wifi & leds Fix build error caused by commit e82404ad612ebabc65d15c3d59b971cb35c3ff36 ("iwlwifi: Select LEDS_CLASS.") from David Miller: Since MAC80211_LEDS is selected by wireless drivers it must select its own dependencies otherwise a build error may occur (kbuild will select the symbol regardless of "depends" constraints). Signed-off-By: Luca Tettamanti Signed-off-by: David S. Miller commit 9ae27e0adbf471c7a6b80102e38e1d5a346b3b38 Author: Evgeniy Polyakov Date: Sun Apr 27 15:27:30 2008 -0700 tcp: Fix slab corruption with ipv6 and tcp6fuzz From: Evgeniy Polyakov This fixes a regression added by ec3c0982a2dd1e671bad8e9d26c28dcba0039d87 ("[TCP]: TCP_DEFER_ACCEPT updates - process as established") tcp_v6_do_rcv()->tcp_rcv_established(), the latter goes to step5, where eventually skb can be freed via tcp_data_queue() (drop: label), then if check for tcp_defer_accept_check() returns true and thus tcp_rcv_established() returns -1, which forces tcp_v6_do_rcv() to jump to reset: label, which in turn will pass through discard: label and free the same skb again. Tested by Eric Sesterhenn. Signed-off-by: David S. Miller Acked-By: Patrick McManus commit 194f1a68b93e959ede6ec363db4714e630bdbb6a Author: Robert Reif Date: Sun Apr 27 15:18:57 2008 -0700 sparc: video drivers: add facility level Add KERN_ facility level to sparc video drivers. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit f36861d550e6f1a1a7a851b88938f52bdaed7682 Author: Robert Reif Date: Sun Apr 27 15:18:12 2008 -0700 sparc: tcx.c make tcx_init and tcx_exit static Make tcx_init and tcx_exit static. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit a2fb0ce7aeae9c38146df9c2d9b763e5981a0683 Author: Robert Reif Date: Sun Apr 27 15:17:49 2008 -0700 sparc: ffb.c make ffb_init and ffb_exit static Make ffb_init and ffb_exit static. Remove unnecessary function prototype. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 544330009bc5b879129593236aab29e458ec9fe4 Author: Robert Reif Date: Sun Apr 27 15:17:23 2008 -0700 sparc: cg14.c make cg14_init and cg15_exit static Make cg14_init and cg14_exit static. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 2556bf1212c768f567401257582681aa117af4a9 Author: Robert Reif Date: Sun Apr 27 15:16:59 2008 -0700 sparc: bw2.c fix bw2_exit Fix void function bw2_exit returning value. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit fd7354108aa5497d7177b95a6b157eaf8597d621 Author: David S. Miller Date: Sun Apr 27 14:54:02 2008 -0700 sparc64: Fix accidental syscall restart on child return from clone/fork/vfork. This fixes a regression added by 238468b2ac76020c192a7402c92df5097916bf4a ("[SPARC64]: Use trap type stored in pt_regs to handle syscall restart.") Because we now encode the "returning from syscall" status in the pt_regs area, we have to be mindful to zap it out in the child of a fork. During a parallel kernel build I saw an accidental -EINTR return from vfork() in 'make' because of this bug. Signed-off-by: David S. Miller commit 90888816ba1bf1c4eff1e7e4220c1afc802f0fd3 Author: David S. Miller Date: Sun Apr 27 14:52:51 2008 -0700 sparc64: Clean up handling of pt_regs trap type encoding. If we use this from more than one place, it's better to have helpers instead of twiddling magic constants all over. Add pt_regs_trap_type(), pt_regs_clear_trap_type(), and pt_regs_is_syscall(). Use them in do_signal(). Signed-off-by: David S. Miller commit dae50295488f35d2d617b08a5fae43154c947eec Author: David L Stevens Date: Sun Apr 27 01:06:07 2008 -0700 ipv4/ipv6 compat: Fix SSM applications on 64bit kernels. Add support on 64-bit kernels for seting 32-bit compatible MCAST* socket options. Signed-off-by: David L Stevens Signed-off-by: David S. Miller commit 01a2202c95989a4df48e9a5b5e013cb80c6b2d66 Author: Herbert Xu Date: Sun Apr 27 00:59:59 2008 -0700 [IPSEC]: Use digest_null directly for auth Previously digest_null had no setkey function which meant that we used hmac(digest_null) for IPsec since IPsec always calls setkey. Now that digest_null has a setkey we no longer need to do that. In fact when only confidentiality is specified for ESP we already use digest_null directly. However, when the null algorithm is explicitly specified by the user we still opt for hmac(digest_null). This patch removes this discrepancy. I have not added a new compat name for it because by chance it wasn't actualy possible for the user to specify the name hmac(digest_null) due to a key length check in xfrm_user (which I found out when testing that compat name :) Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0b80ae4201e5128e16e5161825f5cd377a5d1fee Author: Randy Dunlap Date: Sat Apr 26 22:59:02 2008 -0700 sunrpc: fix missing kernel-doc Fix missing sunrpc kernel-doc: Warning(linux-2.6.25-git7//net/sunrpc/xprt.c:451): No description found for parameter 'action' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 3f91bd420a955803421f2db17b2e04aacfbb2bb8 Author: Sam Ravnborg Date: Sat Apr 26 22:57:25 2008 -0700 can: Fix copy_from_user() results interpretation Both copy_to_ and _from_user return the number of bytes, that failed to reach their destination, not the 0/-EXXX values. Based on patch from Pavel Emelyanov Signed-off-by: Sam Ravnborg Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 5c5d6dabb7aac9d0ea7aa76b909bbd28efa99065 Author: David S. Miller Date: Sat Apr 26 22:50:57 2008 -0700 Revert "ipv6: Fix typo in net/ipv6/Kconfig" This reverts commit 5b3f129c5592ca35b3fe8916767c58b98710478c. As requested by Maciej W. Rozycki. Signed-off-by: David S. Miller commit becf3da20eca82e06607b9813cc3b592b359bae5 Author: Al Viro Date: Sat Apr 26 22:42:14 2008 -0700 tipc: endianness annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit ec6b486fa9f6d20bfbaebba1db88bfe9d390ab1a Author: Al Viro Date: Sat Apr 26 22:28:58 2008 -0700 ipv6: result of csum_fold() is already 16bit, no need to cast Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5e2c433d9f84dd9b0e01ef8607380d53a7f64d69 Author: YOSHIFUJI Hideaki Date: Sat Apr 26 22:24:10 2008 -0700 [XFRM] AUDIT: Fix flowlabel text format ambibuity. Flowlabel text format was not correct and thus ambiguous. For example, 0x00123 or 0x01203 are formatted as 0x123. This is not what audit tools want. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 86cf02f8eaea1b09e102e0f432fc137dc5cf4407 Author: Linus Torvalds Date: Sun Apr 27 11:59:30 2008 -0700 x86 PAT: tone down debugging messages some more Ingo already fixed one of these at my request (in "x86 PAT: tone down debugging messages", commit 1ebcc654f010d4a63f3ebf8ddd2cab5a709b1824), but there was another one he missed. Signed-off-by: Linus Torvalds commit 064922a805ec7aadfafdd27aa6b4908d737c3c1d Merge: 42cadc8... ecc1241... Author: Linus Torvalds Date: Sun Apr 27 11:25:00 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (40 commits) [SCSI] jazz_esp, sgiwd93, sni_53c710, sun3x_esp: fix platform driver hotplug/coldplug [SCSI] aic7xxx: add const [SCSI] aic7xxx: add static [SCSI] aic7xxx: Update _shipped files [SCSI] aic7xxx: teach aicasm to not emit unused debug code/data [SCSI] qla2xxx: Update version number to 8.02.01-k2. [SCSI] qla2xxx: Correct regression in relogin code. [SCSI] qla2xxx: Correct misc. endian and byte-ordering issues. [SCSI] qla2xxx: make qla2x00_issue_iocb_timeout() static [SCSI] qla2xxx: qla_os.c, make 2 functions static [SCSI] qla2xxx: Re-register FDMI information after a LIP. [SCSI] qla2xxx: Correct SRB usage-after-completion/free issues. [SCSI] qla2xxx: Correct ISP84XX verify-chip response handling. [SCSI] qla2xxx: Wakeup DPC thread to process any deferred-work requests. [SCSI] qla2xxx: Collapse RISC-RAM retrieval code during a firmware-dump. [SCSI] m68k: new mac_esp scsi driver [SCSI] zfcp: Add some statistics provided by the FCP adapter to the sysfs [SCSI] zfcp: Print some messages only during ERP [SCSI] zfcp: Wait for free SBAL during exchange config [SCSI] scsi_transport_fc: fc_user_scan correction ... commit ecc1241e80a0bdc854b1602a44be3ad106753d4f Author: Kay Sievers Date: Fri Apr 18 13:57:19 2008 -0700 [SCSI] jazz_esp, sgiwd93, sni_53c710, sun3x_esp: fix platform driver hotplug/coldplug Since commit 43cc71eed1250755986da4c0f9898f9a635cb3bf Author: Kay Sievers Date: Sat Aug 18 04:40:39 2007 +0200 platform: prefix MODALIAS with "platform:" the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable SCSI platform drivers, to re-enable auto loading. [dbrownell@users.sourceforge.net: more drivers, registration fixes] [akpm@linux-foundation.org: fix sgiwd93.c] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 980b306a297725d4f25c779ca15086de757acadf Author: Denys Vlasenko Date: Fri Apr 25 04:36:01 2008 +0200 [SCSI] aic7xxx: add const This patch adds more const keywords where appropriate. Signed-off-by: Denys Vlasenko Acked-by: Hannes Reinecke Signed-off-by: James Bottomley commit d1d7b19d433188e94fc87cc7ca66363cd77a0bba Author: Denys Vlasenko Date: Fri Apr 25 04:34:49 2008 +0200 [SCSI] aic7xxx: add static This patch adds static (and sometimes const) keywords where appropriate. Signed-off-by: Denys Vlasenko Acked-by: Hannes Reinecke Signed-off-by: James Bottomley commit d10c2e4627b0dda286bcd1c77720eb5fe4a04f93 Author: Hannes Reinecke Date: Fri Apr 25 15:03:05 2008 +0200 [SCSI] aic7xxx: Update _shipped files Update the precompiled sequencer code to match the latest aicasm changes. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 3dbd10f3d8b00dad35d3fac95e91c066ae71d9a8 Author: Hannes Reinecke Date: Fri Apr 25 15:01:41 2008 +0200 [SCSI] aic7xxx: teach aicasm to not emit unused debug code/data Add a 'count' variable to each symbol which gets increased every time the symbol is referenced. And then modify the register definition to include counts for symbols which are referenced from the source code only and not from the sequencer code. This will give us an automatic usage count for the symbols with only minimal hand-crafting. Signed-off-by: James Bottomley commit a198c3d0393faa1fa9f0e6e917ce980d3638f8df Author: Andrew Vasquez Date: Thu Apr 24 15:21:31 2008 -0700 [SCSI] qla2xxx: Update version number to 8.02.01-k2. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 666301e673e192c87a40e07a8357d6996b57b70f Author: Andrew Vasquez Date: Thu Apr 24 15:21:30 2008 -0700 [SCSI] qla2xxx: Correct regression in relogin code. Commit 63a8651f2548c6bb5132c0b4e7dad4f57a9274db ([SCSI] qla2xxx: Correct infinite-login-retry issue.) introduced a small regression where a successful relogin would result in an fcport's loop_id to be incorrectly reset to FC_NO_LOOP_ID. Only clear-out loopid, if retries have been 'truly' exhausted. Signed-off-by: Andrew Vasquez Cc: Stable Tree Signed-off-by: James Bottomley commit c6852c4c5984fff130a859792d4b26d30c85c54b Author: Seokmann Ju Date: Thu Apr 24 15:21:29 2008 -0700 [SCSI] qla2xxx: Correct misc. endian and byte-ordering issues. There were several places in the driver which could cause byte ordering problem as provided by Al Viro . Signed-off-by: Seokmann Ju Signed-off-by: James Bottomley commit 3b8117b837f5768f46e9a876a58de11606f63483 Author: Adrian Bunk Date: Thu Apr 24 15:21:28 2008 -0700 [SCSI] qla2xxx: make qla2x00_issue_iocb_timeout() static This patch makes the needlessly global qla2x00_issue_iocb_timeout() static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 01ef66bbb65aa4db100b267778202d7657e244e4 Author: Adrian Bunk Date: Thu Apr 24 15:21:27 2008 -0700 [SCSI] qla2xxx: qla_os.c, make 2 functions static This patch makes the following needlessly global functions static: - qla2x00_alloc_work() - qla2x00_post_work() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7e47e5ca184548341a82eeb2238ee3622c43cae1 Author: Andrew Vasquez Date: Thu Apr 24 15:21:26 2008 -0700 [SCSI] qla2xxx: Re-register FDMI information after a LIP. Original code would (incorrectly) only re-register after a loop-down condition. Also, FDMI registration should be enabled by default. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 0c23b856581673c90aa619b1ab04127a7f90cea2 Author: Andrew Vasquez Date: Thu Apr 24 15:21:25 2008 -0700 [SCSI] qla2xxx: Correct SRB usage-after-completion/free issues. The driver is incorrectly assuming that the 'sp' reference held in qla2[x00|4xx]_abort_command() is valid after the mailbox command is issued to abort the exchange. It is *not*, as the command may be completed during interrupt context before control is returned to the mailbox caller. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c1ec1f1bf9cb1ba80e79a74d48bcfb5da246d6f6 Author: Andrew Vasquez Date: Thu Apr 24 15:21:24 2008 -0700 [SCSI] qla2xxx: Correct ISP84XX verify-chip response handling. Earlier code could trigger an infinite-retry if 1st invocation returned a non-CS_COMPLETE status. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 550bf57dfb2200721baa43cfd9a8c75c2c166870 Author: Andrew Vasquez Date: Thu Apr 24 15:21:23 2008 -0700 [SCSI] qla2xxx: Wakeup DPC thread to process any deferred-work requests. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c5722708c236b51286651b8c07855f764239453b Author: Andrew Vasquez Date: Thu Apr 24 15:21:22 2008 -0700 [SCSI] qla2xxx: Collapse RISC-RAM retrieval code during a firmware-dump. Use the more efficient read-DMA'ble-buffer mailbox commands rather than reading a single word/dword at a time. We also remove a bulk of the duplicate mailbox command-handling codes in favor of more generic read-memory() routines (qla2xxx_dump_ram() and qla24xx_dump_ram()). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6fe07aaffbf086a0ce9134ef27ce4a8921ff5947 Author: Finn Thain Date: Fri Apr 25 10:06:05 2008 -0500 [SCSI] m68k: new mac_esp scsi driver Replace the mac_esp driver with a new one based on the esp_scsi core. For esp_scsi: add support for sync transfers for the PIO mode, add a new esp_driver_ops method to get the maximum dma transfer size (like the old NCR53C9x driver), and some cleanups. Signed-off-by: Finn Thain Acked-by: David S. Miller Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 6d9d63b9480e1c7ea41845646de803c2d3f0eae2 Author: Swen Schillig Date: Thu Apr 24 19:35:54 2008 +0200 [SCSI] zfcp: Add some statistics provided by the FCP adapter to the sysfs The new FCP adapter statistics provide a variety of information about the virtual adapter (subchannel). In order to collect this information the zfcp driver is extended to query this information. The information provided by the new FCP adapter statistics can be fetched by reading from the following files in the sysfs filesystem /sys/class/scsi_host/host/seconds_active /sys/class/scsi_host/host/requests /sys/class/scsi_host/host/megabytes /sys/class/scsi_host/host/utilization These are the statistics on a virtual adapter (subchannel) level. The information provided is raw and not modified or interpreted by any means. No interpretation or modification of the values is done by the zfcp driver. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit ec258fe4b76dba29e1a149cd8f23ee931b47afb2 Author: Swen Schillig Date: Thu Apr 24 19:35:53 2008 +0200 [SCSI] zfcp: Print some messages only during ERP When statistics are polled from sysfs, the statistics use the same commands as the adapter initialization. Change the messages printed here, so they are only printed during initialization and not for each poll of adapter data. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit aee6ef1859fd975b285b6de1857f7dcf39671818 Author: Swen Schillig Date: Thu Apr 24 19:35:52 2008 +0200 [SCSI] zfcp: Wait for free SBAL during exchange config When sending a exchange config data command, wait for a free SBAL. This does not matter during adapter initialization, but this is required for pulling adapter statistics during high I/O load. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit bda232531f0c117921690ee3c060953c8f12e5a1 Author: James Smart Date: Thu Apr 24 12:12:46 2008 -0400 [SCSI] scsi_transport_fc: fc_user_scan correction Way back when, when the fc_user_scan routine was created, it kept some of its original logic that walked the rport list and kicked off a scan. Unfortunately, it didn't keep any of the locking around the rport list, nor did it consider the synchronous nature of the scan invoked. The result, there are some scan requests where the rport list changes, thus a subsequent scan is called on a bogus rport structure and the system NMI's. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 87c4d7bc2aaa9b782aac6ab0a74cf16f87398bbc Author: Jeff Garzik Date: Thu Apr 24 19:45:32 2008 -0400 [SCSI] aha1542: minor irq handler cleanups - where the 'irq' function argument is known never to be used, rename it to 'dummy' to make this more obvious - replace per-irq lookup functions and tables with a direct reference to data object obtained via 'dev_id' function argument, passed from request_irq() Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 9f9a73b6fe0c8fd9b54b650e34956eb92df6abfa Author: Randy Dunlap Date: Wed Apr 23 09:56:14 2008 -0700 [SCSI] scsi_transport_spi: include sysfs.h scsi_transport_spi.c needs to #include : next-20080423/drivers/scsi/scsi_transport_spi.c:1467: error: implicit declaration of function 'sysfs_update_group' make[3]: *** [drivers/scsi/scsi_transport_spi.o] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 1377d8dd7e1b5526637958aabb5427bbee5a68d7 Author: Adrian Bunk Date: Wed Apr 23 12:51:10 2008 +0300 [SCSI] FlashPoint: fix off-by-one errors This patch fixes off-by-one errors in error checks (the variables are used as array indexes for arrays with MAX_SCSI_TAR resp. MAX_LUN elements) spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: James Bottomley commit 2b48aed182c65b3387b076364ab286c445aa4a93 Author: Hannes Reinecke Date: Wed Apr 23 11:39:49 2008 +0200 [SCSI] aic7xxx: Update type check in aicasm grammar The function type_check() in aicasm grammar code was never used properly due to a bug. This patch fixes it up and ensures it's only called if appropriate. In addition the unused 16bit instruction are disabled, but left in the code for reference. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 542bd1377a963070bc4a03ff7d2690ddf3920596 Author: James Bottomley Date: Mon Apr 21 10:57:20 2008 -0500 [SCSI] fix SLUB WARN_ON We're getting a WARN_ON from SLUB indicating that we're trying to free caches with in-use objects. The root cause is a new dependency in the command/sense free on unchecked_isa_dma. The WARN_ON is caused by drivers which change this in their setup after the command/sense cache is allocated. The fix is to move the allocation of this cache into scsi_add_host() so things like gdth have an opportunity to modify it between alloc and add (but *not* after). The true fix would be to move unchecked_isa_dma into the template and out of the host, so it because a truly read only variable. Signed-off-by: James Bottomley commit 42cadc86008aae0fd9ff31642dc01ed50723cf32 Merge: fba5c1a... 66c0b39... Author: Linus Torvalds Date: Sun Apr 27 10:13:52 2008 -0700 Merge branch 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (147 commits) KVM: kill file->f_count abuse in kvm KVM: MMU: kvm_pv_mmu_op should not take mmap_sem KVM: SVM: remove selective CR0 comment KVM: SVM: remove now obsolete FIXME comment KVM: SVM: disable CR8 intercept when tpr is not masking interrupts KVM: SVM: sync V_TPR with LAPIC.TPR if CR8 write intercept is disabled KVM: export kvm_lapic_set_tpr() to modules KVM: SVM: sync TPR value to V_TPR field in the VMCB KVM: ppc: PowerPC 440 KVM implementation KVM: Add MAINTAINERS entry for PowerPC KVM KVM: ppc: Add DCR access information to struct kvm_run ppc: Export tlb_44x_hwater for KVM KVM: Rename debugfs_dir to kvm_debugfs_dir KVM: x86 emulator: fix lea to really get the effective address KVM: x86 emulator: fix smsw and lmsw with a memory operand KVM: x86 emulator: initialize src.val and dst.val for register operands KVM: SVM: force a new asid when initializing the vmcb KVM: fix kvm_vcpu_kick vs __vcpu_run race KVM: add ioctls to save/store mpstate KVM: Rename VCPU_MP_STATE_* to KVM_MP_STATE_* ... commit fba5c1af5c4fd6645fe62ea84ccde0981282cf66 Merge: f222eba... 077e3bd... Author: Linus Torvalds Date: Sun Apr 27 10:13:06 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (49 commits) ide-tape: remove tape->merge_stage ide-tape: mv tape->merge_stage_size tape->merge_bh_size ide-tape: mv idetape_empty_write_pipeline ide_tape_flush_merge_buffer ide-tape: mv idetape_discard_read_pipeline ide_tape_discard_merge_buffer ide-tape: make __idetape_discard_read_pipeline() of type void ide: remove now unused ide_pci_create_host_proc() ide: remove /proc/ide/ali ide-tape: improve buffer pages freeing strategy ide-tape: mv tape->pages_per_stage tape->pages_per_buffer ide-tape: mv tape->stage_size tape->buffer_size ide-tape: improve buffer allocation strategy ide: add struct ide_io_ports (take 3) ide: make ide_unregister() take 'ide_hwif_t *' as an argument (take 2) ide: sanitize ide_unregister() usage mpc8xx-ide: use ide_find_port() ide: add "noacpi" / "acpigtf" / "acpionboot" parameters gayle: add "doubler" parameter ide: add "cdrom=" and "chs=" parameters ide: add "nodma|noflush|noprobe|nowerr=" parameters ide: remove obsoleted "hdx=autotune" kernel parameter ... commit f222eba0f9d98376d363b51fcc2361fb56929844 Merge: cf867ac... 7f424a8... Author: Linus Torvalds Date: Sun Apr 27 10:10:54 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-idle-fix * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-idle-fix: fix idle (arch, acpi and apm) and lockdep commit cf867ac375cea7c7a834eaddaf373e2662d9e260 Merge: 2d630d1... 2043021... Author: Linus Torvalds Date: Sun Apr 27 10:10:37 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: xpad - fix build failure commit 2d630d1a6827bb7266dcd8bba5f99fac2505ee97 Merge: f375d55... ed4d3c1... Author: Linus Torvalds Date: Sun Apr 27 10:10:14 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: mlx4_core: Add helper to move QP to ready-to-send mlx4_core: Add HW queues allocation helpers RDMA/nes: Remove volatile qualifier from struct nes_hw_cq.cq_vbase mlx4_core: CQ resizing should pass a 0 opcode modifier to MODIFY_CQ mlx4_core: Move kernel doorbell management into core IB/ehca: Bump version number to 0026 IB/ehca: Make some module parameters bool, update descriptions IB/ehca: Remove mr_largepage parameter IB/ehca: Move high-volume debug output to higher debug levels IB/ehca: Prevent posting of SQ WQEs if QP not in RTS IPoIB: Handle 4K IB MTU for UD (datagram) mode RDMA/nes: Fix adapter reset after PXE boot RDMA/nes: Print IPv4 addresses in a readable format RDMA/nes: Use print_mac() to format ethernet addresses for printing commit f375d5588ff62caf31b4a68ac9347c153ac56590 Author: Al Viro Date: Sun Apr 27 06:19:18 2008 +0100 asm/unaligned.h doesn't work well as the very first include Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 7ac86bf61ad570a2ef642a3f7e72274570ace9c4 Author: Al Viro Date: Sun Apr 27 06:15:42 2008 +0100 e1000e triggers sparc32 gcc bug ... and isn't possible on sparc32 boxen anyway, unless somebody had done JavaStation with PCIE lately. Signed-off-by: Al Viro Acked-by: David S. Miller Signed-off-by: Linus Torvalds commit d7b41a24bfb5d7fa02f7b49be1293d468814e424 Author: Bodo Stroesser Date: Sat Apr 26 14:10:16 2008 -0700 hrtimer: timeout too long when using HRTIMER_CB_SOFTIRQ When using hrtimer with timer->cb_mode == HRTIMER_CB_SOFTIRQ in some cases the clockevent is not programmed. This happens, if: - a timer is rearmed while it's state is HRTIMER_STATE_CALLBACK - hrtimer_reprogram() returns -ETIME, when it is called after CALLBACK is finished. This occurs if the new timer->expires is in the past when CALLBACK is done. In this case, the timer needs to be removed from the tree and put onto the pending list again. The patch is against 2.6.22.5, but AFAICS, it is relevant for 2.6.25 also (in run_hrtimer_pending()). Signed-off-by: Bodo Stroesser Cc: stable@kernel.org Signed-off-by: Thomas Gleixner commit 697c269610179051cf19e45566fee3dcebbb1e93 Author: Francois Romieu Date: Wed Nov 21 22:30:37 2007 +0100 sis190: account for Tx errors Update the collision counter as well. Signed-off-by: Francois Romieu commit c34ebbae01e3d1f6a5cced6a40dc0ed792590d22 Author: Francois Romieu Date: Sun Nov 18 22:04:05 2007 +0100 sis190: remove needless MII reset It does not help the auto-negotiation process to settle. Added a debug message to give some hindsight when things do not work as expected. Signed-off-by: Francois Romieu commit 47e4781544aaf2916170ef5516786fbb19447600 Author: Francois Romieu Date: Sun Apr 27 17:59:52 2008 +0200 sis190: Rx path update - remove the function pointer to help gcc optimizing the inline pci_dma functions - pci_dma_sync_single_for_cpu is not needed for a single large packet - convert rtl8169_try_rx_copy to bool b449655ff52ff8a29c66c5fc3fc03617e61182ee did the same for the r8169 driver. Signed-off-by: Francois Romieu commit c124f5b54f879e5870befcc076addbd5d614663f Author: Christoph Lameter Date: Mon Apr 14 19:13:29 2008 +0300 slub: pack objects denser Since we now have more orders available use a denser packing. Increase slab order if more than 1/16th of a slab would be wasted. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 9b2cd506e5f2117f94c28a0040bf5da058105316 Author: Christoph Lameter Date: Mon Apr 14 19:11:41 2008 +0300 slub: Calculate min_objects based on number of processors. The mininum objects per slab is calculated based on the number of processors that may come online. Processors min_objects --------------------------- 1 8 2 12 4 16 8 20 16 24 32 28 64 32 1024 48 4096 56 The higher the number of processors the large the order sizes used for various slab caches will become. This has been shown to address the performance issues in hackbench on 16p etc. The calculation is only performed if slub_min_objects is zero (default). If one specifies a slub_min_objects on boot then that setting is taken. As suggested by Zhang Yanmin's performance tests on 16-core Tigerton, use the formula '4 * (fls(nr_cpu_ids) + 1)': ./hackbench 100 process 2000: 1) 2.6.25-rc6slab: 23.5 seconds 2) 2.6.25-rc7SLUB+slub_min_objects=20: 31 seconds 3) 2.6.25-rc7SLUB+slub_min_objects=24: 23.5 seconds Signed-off-by: Christoph Lameter Signed-off-by: Zhang Yanmin Signed-off-by: Pekka Enberg commit 114e9e89e668ec561c9b0f3dea7bcc8af7c29d21 Author: Christoph Lameter Date: Mon Apr 14 19:11:41 2008 +0300 slub: Drop DEFAULT_MAX_ORDER / DEFAULT_MIN_OBJECTS We can now fallback to order 0 slabs. So set the slub_max_order to PAGE_CACHE_ORDER_COSTLY but keep the slub_min_objects at 4. This will mostly preserve the orders used in 2.6.25. F.e. The 2k kmalloc slab will use order 1 allocs and the 4k kmalloc slab order 2. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 31d33baf36bda7a2fea800648d87c9fe6155e7ca Author: Christoph Lameter Date: Mon Apr 14 19:11:41 2008 +0300 slub: Simplify any_slab_object checks Since we now have total_objects counter per node use that to check for the presence of any objects. The loop over all cpu slabs is not that useful since any cpu slab would require an object allocation first. So drop that. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 06b285dc3d6194abe79ab9dcaaab703d6f75627c Author: Christoph Lameter Date: Mon Apr 14 19:11:41 2008 +0300 slub: Make the order configurable for each slab cache Makes /sys/kernel/slab//order writable. The allocation order of a slab cache can then be changed dynamically during runtime. This can be used to override the objects per slabs value establisheed with the slub_min_objects setting that was manually specified or calculated on bootup. The changes of the slab order can occur while allocate_slab() runs. Allocate slab needs the order and the number of slab objects that are both changed by the change of order. Both are put into a single word (struct kmem_cache_order_objects). They can then be atomically updated and retrieved. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 319d1e240683d37924ea8977c91730c3393fd453 Author: Christoph Lameter Date: Mon Apr 14 19:11:41 2008 +0300 slub: Drop fallback to page allocator method There is now a generic method of falling back to a slab page of minimal order. No need anymore for the fallback to kmalloc_large(). Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 65c3376aaca96c66aa76014aaf430398964b68cb Author: Christoph Lameter Date: Mon Apr 14 19:11:40 2008 +0300 slub: Fallback to minimal order during slab page allocation If any higher order allocation fails then fall back the smallest order necessary to contain at least one object. This enables fallback for all allocations to order 0 pages. The fallback will waste more memory (objects will not fit neatly) and the fallback slabs will be not as efficient as larger slabs since they contain less objects. Note that SLAB also depends on order 1 allocations for some slabs that waste too much memory if forced into PAGE_SIZE'd page. SLUB now can now deal with failing order 1 allocs which SLAB cannot do. Add a new field min that will contain the objects for the smallest possible order for a slab cache. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 205ab99dd103e3dd5b0964dad8a16dfe2db69b2e Author: Christoph Lameter Date: Mon Apr 14 19:11:40 2008 +0300 slub: Update statistics handling for variable order slabs Change the statistics to consider that slabs of the same slabcache can have different number of objects in them since they may be of different order. Provide a new sysfs field total_objects which shows the total objects that the allocated slabs of a slabcache could hold. Add a max field that holds the largest slab order that was ever used for a slab cache. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 834f3d119234b35a1985a2449831d99356637937 Author: Christoph Lameter Date: Mon Apr 14 19:11:31 2008 +0300 slub: Add kmem_cache_order_objects struct Pack the order and the number of objects into a single word. This saves some memory in the kmem_cache_structure and more importantly allows us to fetch both values atomically. Later the slab orders become runtime configurable and we need to fetch these two items together in order to properly allocate a slab and initialize its objects. Fix the race by fetching the order and the number of objects in one word. [penberg@cs.helsinki.fi: fix memset() page order in new_slab()] Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 224a88be40c45c0da5bdc45a8118004a37c60e8a Author: Christoph Lameter Date: Mon Apr 14 19:11:31 2008 +0300 slub: for_each_object must be passed the number of objects in a slab Pass the number of objects to the for_each_object macro. Most of these are debug related. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 39b264641a0c3b5e0e742e2046b49e92d1f3be88 Author: Christoph Lameter Date: Mon Apr 14 19:11:30 2008 +0300 slub: Store max number of objects in the page struct. Split the inuse field up to be able to store the number of objects in this page in the page struct as well. Necessary if we want to have pages of various orders for a slab. Also avoids touching struct kmem_cache cachelines in __slab_alloc(). Update diagnostic code to check the number of objects and make sure that the number of objects always stays within the bounds of a 16 bit unsigned integer. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 33b12c38134e95e5afa73214af6f49abd7b8418e Author: Christoph Lameter Date: Fri Apr 25 12:22:43 2008 -0700 slub: Dump list of objects not freed on kmem_cache_close() Dump a list of unfreed objects if a slab cache is closed but objects still remain. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 599870b175987008b5f5c82a70b89f751e12822e Author: Christoph Lameter Date: Wed Apr 23 12:36:52 2008 -0700 slub: free_list() cleanup free_list looked a bit screwy so here is an attempt to clean it up. free_list is is only used for freeing partial lists. We do not need to return a parameter if we decrement nr_partial within the function which allows a simplification of the whole thing. The current version modifies nr_partial outside of the list_lock which is technically not correct. It was only ok because we should be the only user of this slab cache at this point. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit d629d819579327267884a12de21ef6d4b539db88 Author: Pekka Enberg Date: Wed Apr 23 22:31:08 2008 +0300 slub: improve kmem_cache_destroy() error message As pointed out by Ingo, the SLUB warning of calling kmem_cache_destroy() with cache that still has objects triggers in practice. So turn this WARN_ON() into a nice SLUB specific error message to avoid people confusing it to a SLUB bug. Cc: Ingo Molnar Acked-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 0701a9e649bf0ffdac0a761d3c3d1041f5375d90 Author: Yi Li Date: Fri Apr 25 19:49:21 2008 +0300 slob: fix bug - when slob allocates "struct kmem_cache", it does not force alignment. This may trigger misaligned memory access exception. Acked-by: Matt Mackall Signed-off-by: Yi Li Signed-off-by: Bryan Wu Signed-off-by: Pekka Enberg commit 66c0b394f08fd89236515c1c84485ea712a157be Author: Al Viro Date: Sat Apr 19 20:33:56 2008 +0100 KVM: kill file->f_count abuse in kvm Use kvm own refcounting instead of playing with ->filp->f_count. That will allow to get rid of a lot of crap in anon_inode_getfd() and kill a race in kvm_dev_ioctl_create_vm() (file might have been closed immediately by another thread, so ->filp might point to already freed struct file when we get around to setting it). Signed-off-by: Al Viro Signed-off-by: Avi Kivity commit 960b3991698872f68f09d51f4c2794ad484fe1fd Author: Marcelo Tosatti Date: Wed Apr 16 17:19:06 2008 -0300 KVM: MMU: kvm_pv_mmu_op should not take mmap_sem kvm_pv_mmu_op should not take mmap_sem. All gfn_to_page() callers down in the MMU processing will take it if necessary, so as it is it can deadlock. Apparently a leftover from the days before slots_lock. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 1336028b9a1fb33537eab8caec66e812eb8cad63 Author: Joerg Roedel Date: Wed Apr 16 17:01:05 2008 +0200 KVM: SVM: remove selective CR0 comment There is not selective cr0 intercept bug. The code in the comment sets the CR0.PG bit. But KVM sets the CR4.PG bit for SVM always to implement the paged real mode. So the 'mov %eax,%cr0' instruction does not change the CR0.PG bit. Selective CR0 intercepts only occur when a bit is actually changed. So its the right behavior that there is no intercept on this instruction. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit aaf697e4e02bf6f7dd6105877bc58ebdbf612d66 Author: Joerg Roedel Date: Wed Apr 16 16:51:19 2008 +0200 KVM: SVM: remove now obsolete FIXME comment With the usage of the V_TPR field this comment is now obsolete. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit aaacfc9ae225e88695e610a35627d2256dc08633 Author: Joerg Roedel Date: Wed Apr 16 16:51:18 2008 +0200 KVM: SVM: disable CR8 intercept when tpr is not masking interrupts This patch disables the intercept of CR8 writes if the TPR is not masking interrupts. This reduces the total number CR8 intercepts to below 1 percent of what we have without this patch using Windows 64 bit guests. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit d7bf8221a3037d0d0760a1ccf1833bda03213abf Author: Joerg Roedel Date: Wed Apr 16 16:51:17 2008 +0200 KVM: SVM: sync V_TPR with LAPIC.TPR if CR8 write intercept is disabled If the CR8 write intercept is disabled the V_TPR field of the VMCB needs to be synced with the TPR field in the local apic. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit ec7cf6903ffced20098e2bcc27a184172836dfb9 Author: Joerg Roedel Date: Wed Apr 16 16:51:16 2008 +0200 KVM: export kvm_lapic_set_tpr() to modules This patch exports the kvm_lapic_set_tpr() function from the lapic code to modules. It is required in the kvm-amd module to optimize CR8 intercepts. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 649d68643ebf02f31859ffbb16676aa44c72e6e9 Author: Joerg Roedel Date: Wed Apr 16 16:51:15 2008 +0200 KVM: SVM: sync TPR value to V_TPR field in the VMCB This patch adds syncing of the lapic.tpr field to the V_TPR field of the VMCB. With this change we can safely remove the CR8 read intercept. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit bbf45ba57eaec56569918a8bab96ab653bd45ec1 Author: Hollis Blanchard Date: Wed Apr 16 23:28:09 2008 -0500 KVM: ppc: PowerPC 440 KVM implementation This functionality is definitely experimental, but is capable of running unmodified PowerPC 440 Linux kernels as guests on a PowerPC 440 host. (Only tested with 440EP "Bamboo" guests so far, but with appropriate userspace support other SoC/board combinations should work.) See Documentation/powerpc/kvm_440.txt for technical details. [stephen: build fix] Signed-off-by: Hollis Blanchard Acked-by: Paul Mackerras Signed-off-by: Stephen Rothwell Signed-off-by: Avi Kivity commit 513014b717203d1d689652d0fda86eee959a6a8a Author: Hollis Blanchard Date: Wed Apr 16 23:28:08 2008 -0500 KVM: Add MAINTAINERS entry for PowerPC KVM Signed-off-by: Hollis Blanchard Acked-by: Paul Mackerras Signed-off-by: Avi Kivity commit b2312f059c893833de58876c74290511846cd208 Author: Hollis Blanchard Date: Wed Apr 16 23:28:07 2008 -0500 KVM: ppc: Add DCR access information to struct kvm_run Device Control Registers are essentially another address space found on PowerPC 4xx processors, analogous to PIO on x86. DCRs are always 32 bits, and can be identified by a 32-bit number. We forward most DCR accesses to userspace for emulation (with the exception of CPR0 registers, which can be read directly for simplicity in timebase frequency determination). Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 4baacfb0de53b05428c87d377fc8a3def4dc10e7 Author: Hollis Blanchard Date: Wed Apr 16 23:28:06 2008 -0500 ppc: Export tlb_44x_hwater for KVM PowerPC 440 KVM needs to know how many TLB entries are used for the host kernel linear mapping (it does not modify these mappings when switching between guest and host execution). Signed-off-by: Hollis Blanchard Acked-by: Josh Boyer Acked-by: Paul Mackerras Signed-off-by: Avi Kivity commit 76f7c87902fd2c2de9eb57168adbf9bc5ec2047d Author: Hollis Blanchard Date: Tue Apr 15 16:05:42 2008 -0500 KVM: Rename debugfs_dir to kvm_debugfs_dir It's a globally exported symbol now. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit f9b7aab35cc6c3542203354d9fc4ec8572074abc Author: Avi Kivity Date: Mon Apr 14 23:46:37 2008 +0300 KVM: x86 emulator: fix lea to really get the effective address We never hit this, since there is currently no reason to emulate lea. Signed-off-by: Avi Kivity commit 16286d082d99cb41e16938fa6ba84604229f4b77 Author: Avi Kivity Date: Mon Apr 14 14:40:50 2008 +0300 KVM: x86 emulator: fix smsw and lmsw with a memory operand lmsw and smsw were implemented only with a register operand. Extend them to support a memory operand as well. Fixes Windows running some display compatibility test on AMD hosts. Signed-off-by: Avi Kivity commit 66b85505736dbd3a3a0ed5ae38c12bb218b231c0 Author: Avi Kivity Date: Mon Apr 14 23:27:07 2008 +0300 KVM: x86 emulator: initialize src.val and dst.val for register operands This lets us treat the case where mod == 3 in the same manner as other cases. Signed-off-by: Avi Kivity commit a79d2f1805da02d7837ec2240f0093c53272fb3a Author: Avi Kivity Date: Mon Apr 14 13:10:21 2008 +0300 KVM: SVM: force a new asid when initializing the vmcb Shutdown interception clears the vmcb, leaving the asid at zero (which is illegal. so force a new asid on vmcb initialization. Signed-off-by: Avi Kivity commit e9571ed54b2a290d61b98ad6f369f963159fe6da Author: Marcelo Tosatti Date: Fri Apr 11 15:01:22 2008 -0300 KVM: fix kvm_vcpu_kick vs __vcpu_run race There is a window open between testing of pending IRQ's and assignment of guest_mode in __vcpu_run. Injection of IRQ's can race with __vcpu_run as follows: CPU0 CPU1 kvm_x86_ops->run() vcpu->guest_mode = 0 SET_IRQ_LINE ioctl .. kvm_x86_ops->inject_pending_irq kvm_cpu_has_interrupt() apic_test_and_set_irr() kvm_vcpu_kick if (vcpu->guest_mode) send_ipi() vcpu->guest_mode = 1 So move guest_mode=1 assignment before ->inject_pending_irq, and make sure that it won't reorder after it. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 62d9f0dbc92d7e398fde53fc6021338393522e68 Author: Marcelo Tosatti Date: Fri Apr 11 13:24:45 2008 -0300 KVM: add ioctls to save/store mpstate So userspace can save/restore the mpstate during migration. [avi: export the #define constants describing the value] [christian: add s390 stubs] [avi: ditto for ia64] Signed-off-by: Marcelo Tosatti Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 582fb6c03a0e89d05e4efa8a3e4bd09d0942dadc Author: David S. Miller Date: Sat Apr 19 09:16:38 2008 -0500 [SCSI] esp_scsi: Make cur_residue and tot_residue signed. Many of the overflow checks test whether the value has gone negative, and we want to retain such checks. Reported by Julia Lawall. Signed-off-by: David S. Miller Signed-off-by: James Bottomley commit 077e3bdb9ec34d7cb5751b5be81a4a0f6f0eb5dc Author: Borislav Petkov Date: Sun Apr 27 15:38:34 2008 +0200 ide-tape: remove tape->merge_stage Get rid of the pipeline merge stage but retain the chrdev req caching functionality by using a merge buffer tape->merge_bh which is flushed in chunks of several blocks at a time. Also, remove last references to pipelining, e.g. typedef idetape_stage_s. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 01a63aebe4dcfcbe983c40a475e4650a4ae614de Author: Borislav Petkov Date: Sun Apr 27 15:38:34 2008 +0200 ide-tape: mv tape->merge_stage_size tape->merge_bh_size This is the size of the merge buffer. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d9df937af4f980883d94276000e5af399438e1a9 Author: Borislav Petkov Date: Sun Apr 27 15:38:34 2008 +0200 ide-tape: mv idetape_empty_write_pipeline ide_tape_flush_merge_buffer Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ec0fdb01f808e3f0b50378bfabaee4ced41a8fd9 Author: Borislav Petkov Date: Sun Apr 27 15:38:34 2008 +0200 ide-tape: mv idetape_discard_read_pipeline ide_tape_discard_merge_buffer Also, rename its __-low level helper too. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9798630a75c2c13849aeefcc1ba0559a701b5d95 Author: Borislav Petkov Date: Sun Apr 27 15:38:34 2008 +0200 ide-tape: make __idetape_discard_read_pipeline() of type void It always returns 0 which has no effect on tape positioning calculation so simplify it by converting its type to void, bringing no functional change to the driver. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit fd0949e6e84e4e1649d8ea7367e78e72f59bb19f Author: Alexey Dobriyan Date: Sun Apr 27 15:38:34 2008 +0200 ide: remove now unused ide_pci_create_host_proc() It creates files in proc with obsoleted ->get_info interface. Signed-off-by: Alexey Dobriyan Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 19ba7b8f35116dfafcb02bdb745d5015d97d9cb6 Author: Alexey Dobriyan Date: Sun Apr 27 15:38:33 2008 +0200 ide: remove /proc/ide/ali Bart says: "can be done from user-space and is not especially interesting even when debugging problems (raw PCI config space dump is far more useful)." Signed-off-by: Alexey Dobriyan Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit d01dbc3b85d57f3ab89be4291d4739152bb1713a Author: Borislav Petkov Date: Sun Apr 27 15:38:33 2008 +0200 ide-tape: improve buffer pages freeing strategy Instead of freeing pages one by one, free them 2^order-wise. Also, mv __idetape_kfree_stage() to ide_tape_kfree_buffer(). [bart: add updating bh->b_data] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit a997a4356ba33dcb9c061677d5943794a29489e8 Author: Borislav Petkov Date: Sun Apr 27 15:38:33 2008 +0200 ide-tape: mv tape->pages_per_stage tape->pages_per_buffer Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit f73850a302de45c7cb6672d0e8b103c1f122b6ae Author: Borislav Petkov Date: Sun Apr 27 15:38:33 2008 +0200 ide-tape: mv tape->stage_size tape->buffer_size Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 41aa17069ea8d2b5cd2ca1ef7ff6cdb7c6abec95 Author: Borislav Petkov Date: Sun Apr 27 15:38:32 2008 +0200 ide-tape: improve buffer allocation strategy Instead of allocating pages for the buffer one by one, take advantage of the buddy alloc system and request them 2^order at a time. This increases the chance for bigger buffer parts to be contigious and reduces loop iteration count. While at it, rename function __idetape_kmalloc_stage() to ide_tape_kmalloc_buffer(). [bart: fold with "ide-tape: fix mem leak" patch to preserve bisectability] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4c3032d8a4d6c97bd6e02bcab524ef2428d89561 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:32 2008 +0200 ide: add struct ide_io_ports (take 3) * Add struct ide_io_ports and use it instead of `unsigned long io_ports[]` in ide_hwif_t. * Rename io_ports[] in hw_regs_t to io_ports_array[]. * Use un-named union for 'unsigned long io_ports_array[]' and 'struct ide_io_ports io_ports' in hw_regs_t. * Remove IDE_*_OFFSET defines. v2: * scc_pata.c build fix from Stephen Rothwell. v3: * Fix ctl_adrr typo in Sparc-specific part of ns87415.c. (Noticed by Andrew Morton) Signed-off-by: Bartlomiej Zolnierkiewicz commit 387750c3bf49c22f6189436032145e2131985076 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:31 2008 +0200 ide: make ide_unregister() take 'ide_hwif_t *' as an argument (take 2) * Make ide_unregister() take 'ide_hwif_t *hwif' instead of 'unsigned int index' (hwif->index) as an argument and update all users accordingly. While at it: * Remove unnecessary checks for hwif != NULL from ide-pnp.c::idepnp_remove() and delkin_cb.c::delkin_cb_remove(). * Remove needless hwif->chipset assignment from scc_pata.c::scc_remove(). v2: * Fixup ide_unregister() documentation. Signed-off-by: Bartlomiej Zolnierkiewicz commit bf64b7a9ddc604883a1f41535d3d7a62bca9ee81 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:31 2008 +0200 ide: sanitize ide_unregister() usage * Remove ide_unregister() call from ide_exit() (host drivers take care of unregistering hwif-s themselves). * Remove ide_unregister() call from probe methods of bast-ide, palm_bk3710, ide-cs and delkin_cb host drivers (ide_find_port() returns only free ide_hwifs[] entries). Signed-off-by: Bartlomiej Zolnierkiewicz commit 16019c35283e99b4b95b8a0757845bc2d0696b20 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:30 2008 +0200 mpc8xx-ide: use ide_find_port() Signed-off-by: Bartlomiej Zolnierkiewicz commit 1dbfeb4bc8fd0276750e5d1d454420f6c2da80e3 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:30 2008 +0200 ide: add "noacpi" / "acpigtf" / "acpionboot" parameters * Rename ide_noacpi{tfs,onboot} to ide_acpi{gtf,onboot} (+ reverse logic). * Move ide_*acpi* variables to ide-acpi.c and remove unnecessary initializers. * Add "noacpi" / "acpigtf" / "acpionboot" parameters. * Obsolete "ide=noacpi" / "ide=acpigtf" / "ide=acpionboot" kernel parameters. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9dcba7f2b7697db787741cf6698bf5c95130ffce Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:30 2008 +0200 gayle: add "doubler" parameter * Add "doubler" parameter to enable support for IDE doublers. * Obsolete "ide=doubler" kernel parameter. Cc: Geert Uytterhoeven Signed-off-by: Bartlomiej Zolnierkiewicz commit 4706a7e03a03d6d206a93a49a0c723dd612cf8e9 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:30 2008 +0200 ide: add "cdrom=" and "chs=" parameters * Add "cdrom=" and "chs=" parameters. * Obsolete "hdx=cdrom" and "hdx=cyls,heads,sects" kernel parameters. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6e87543a94fb2a966c81a61fc91246592f9719da Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:30 2008 +0200 ide: add "nodma|noflush|noprobe|nowerr=" parameters * Add "nodma|noflush|noprobe|nowerr=" parameters. * Obsolete "hdx=noprobe|none|nowerr|nodma|noflush" kernel parameters. Signed-off-by: Bartlomiej Zolnierkiewicz commit 207daeaabb5396995ebac63415fab71476b64ca3 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:29 2008 +0200 ide: remove obsoleted "hdx=autotune" kernel parameter * Remove obsoleted "hdx=autotune" kernel parameter (we always auto-tune PIO if possible nowadays). * Remove no longer needed ide_drive_t.autotune flag. Signed-off-by: Bartlomiej Zolnierkiewicz commit e160124ff6868e53511b16412d2ea91f87936be0 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:29 2008 +0200 ide: remove IDE_HFLAG_NO_AUTOTUNE host flag * Don't set IDE_HFLAG_NO_AUTOTUNE host flag in sgiioc4 and icside host drivers - there is no need for it as they don't implement ->set_pio_mode method. * Remove no longer needed IDE_HFLAG_NO_AUTOTUNE host flag. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bdffe5d2717c41945d75b488cfaa401d166cb3dd Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:29 2008 +0200 cmd640: always auto-tune PIO * Default to tuning PIO0 and disabling prefetch prior to probing devices for CONFIG_BLK_DEV_CMD640_ENHANCED=y case. * Always auto-tune PIO. * Remove no longer used retrieve_drive_counts(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 0d28ec7f213eee37855741410a95ec559f9fa87a Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:29 2008 +0200 ide: always auto-tune PIO in legacy VLB host drivers Signed-off-by: Bartlomiej Zolnierkiewicz commit 73f1ad8670effa9849c3d42457fa2b58f139e013 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:29 2008 +0200 ide: mark "idebus=" kernel parameter as obsoleted (take 2) We have "vlb|pci_clock=" parameters now. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ebae41a5a0583fb732c41445df4ac2c41016df74 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:29 2008 +0200 ide: add "vlb|pci_clock=" parameter * Add "vlb_clock=" parameter for specifying VLB clock frequency (in MHz). * Add "pci_clock=" parameter for specifying PCI bus clock frequency (in MHz). While at it: * qd65xx.c: rename {active,recovery}_cycle variables to {act,rec}_cyc. Cc: Alan Cox Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 10569713c78f3c499745651aebc90b0d1c454c28 Author: Borislav Petkov Date: Sun Apr 27 15:38:28 2008 +0200 ide-tape: remove comments markup from Documentation/ide/ide-tape.txt Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4735f22cc10127189a13ce9b1c16fa152a99aaba Author: Borislav Petkov Date: Sun Apr 27 15:38:28 2008 +0200 ide-tape: remove pipelined mode description from Documentation/ide/ide-tape.txt Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5bd50dc6aa842a2b37f68dec73d9e2cc433c2af9 Author: Borislav Petkov Date: Sun Apr 27 15:38:28 2008 +0200 ide-tape: remove misc references to pipelined operation in the comments Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c0674bf3b602c71f18ff1772fdfb4e7ea8ffbacc Author: Borislav Petkov Date: Sun Apr 27 15:38:28 2008 +0200 ide-tape: remove pipelined mode parameters Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 83042b241601170c95b448267861be10a6025b3c Author: Borislav Petkov Date: Sun Apr 27 15:38:27 2008 +0200 ide-tape: remove pipeline-specific members from struct ide_tape_obj Bart: - merge "ide-tape: remove pipeline-specific code from idetape_setup" patch - cleanup __idetape_discard_read_pipeline() - cleanup idetape_empty_write_pipeline() - fix 't' assignment in idetape_setup() - fix idetape_blkdev_ioctl() w.r.t. 'nr_stages' Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 42d5468921e9e9c0a2d13048a2dab09f844e18bc Author: Borislav Petkov Date: Sun Apr 27 15:38:27 2008 +0200 ide-tape: remove pipelined mode tape control flags [bart: sync patch with current code and fix idetape_init_read()] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0aa4b01e0345bb43450dee4377fc53fb4fd44eb1 Author: Borislav Petkov Date: Sun Apr 27 15:38:27 2008 +0200 ide-tape: remove remaining pipeline functionality The driver is using now solely its own request queue. - tape->next_stage is always NULL so it is safe to remove all code depending on tape->next_stage != NULL - this patch removes the last place which sets IDETAPE_FLAG_PIPELINE_ACTIVE in tape->flags [bart: add above explanations] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ea1ab3d3319b399e2b707c270d2d6077b61183f6 Author: Borislav Petkov Date: Sun Apr 27 15:38:27 2008 +0200 ide-tape: unwrap idetape_queue_pc_tail() idetape_queue_pc_tail() is a wrapper for its __idetape_queue_pc_tail() counterpart and has no other functionality. Remove it and call the "wrapped" function directly. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 189bb3b345f59b11484b43f2717a66824acdc548 Author: Borislav Petkov Date: Sun Apr 27 15:38:27 2008 +0200 ide-tape: remove pipeline-specific code from idetape_end_request() As a side effect, remove unused idetape_kfree_stage() and idetape_abort_pipeline() [bart: resurrect taking tape->lock + clearing IDETAPE_FLAG_PIPELINE_ACTIVE] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 473567f1a4996a49cb5456e55815051a6e6eb3f1 Author: Borislav Petkov Date: Sun Apr 27 15:38:26 2008 +0200 ide-tape: remove idetape_remove_stage_head() Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit b361acb1083f0b313a4b398de48450f5edb81fe1 Author: Borislav Petkov Date: Sun Apr 27 15:38:26 2008 +0200 ide-tape: remove idetape_pipeline_size() The computation of the block offset of the the tape position (MTIOCPOS, MTIOCGET) is not influenced by the stages queued in the pipeline anymore but by the size of the current buffer which is going to be sent to the drive. [bart: resurrect deleted idetape_wait_for_pipeline() call] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7f5e72f471763fe2a6e72863a64a2ef459f37835 Author: Borislav Petkov Date: Sun Apr 27 15:38:26 2008 +0200 ide-tape: remove pipeline-specific code in idetape_space_over_filemarks() Since we don't do pipeline read-ahead anymore, we don't have to look for filemarks we have crossed. Therefore, remove the code chunk that does that and pass on the command to the tape. As a side effect, remove unused idetape_wait_first_stage(). Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8646c88f1572512761b33d01467e8643586972ce Author: Borislav Petkov Date: Sun Apr 27 15:38:26 2008 +0200 ide-tape: remove unused parameter from idetape_copy_stage_from_user Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 99d74e61ef7e9b0e2123830bc42b4639ee30145a Author: Borislav Petkov Date: Sun Apr 27 15:38:25 2008 +0200 ide-tape: remove unused parameter from idetape_copy_stage_to_user Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e69bd959d1086f87a603b4ddc6bdb0a130ec7db Author: Borislav Petkov Date: Sun Apr 27 15:38:25 2008 +0200 ide-tape: remove pipeline-specific code from idetape_add_chrdev_read_request() In order to do away with queueing read requests on the pipeline, several things have to be done: 1. Do not allocate additional pipeline stages in idetape_init_read() until (tape->nr_stages < max_stages) and do only read operation preparations. As a collateral result, idetape_add_stage_tail() becomes unused so remove it. 2. Queue the read request's buffer directly thru idetape_queue_rw_tail(). 3. Remove now unused idetape_kmalloc_stage() and idetape_switch_buffers(). [bart: simplify the original patch] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ddfe7a776360f7067e06eee9d8b1ae4d957e6ddf Author: Borislav Petkov Date: Sun Apr 27 15:38:25 2008 +0200 ide-tape remove pipeline speed/control calculations Pipeline handling calculations in idetape_calculate_speeds() can go since they do not have any effect on other functionality besides: 1. info is only being exported through /proc as a read-only item (controlled_pipeline_head_speed, uncontrolled_pipeline_head_speed) 2. used in idetape_restart_speed_control() which, in turn, is unrelated to other code 3. used only for pipeline frames number accounting (tape->pipeline_head), also unused elsewhere. 4.some variables are: only written to: tape->buffer_head; unused: tape->tape_head, tape->last_tape_head Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 97c566cebe083b8e500c9b0b5033212c809d9844 Author: Borislav Petkov Date: Sun Apr 27 15:38:25 2008 +0200 ide-tape: remove pipeline-specific code from idetape_add_chrdev_write_request Refrain from adding more write requests to the pipeline and queue them directly on the device's request queue instead. [bart: re-do for minimal behavior changes] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit f64eee7bb2819da5506a2db5b6297612a17eb3f8 Author: Borislav Petkov Date: Sun Apr 27 15:38:25 2008 +0200 ide-tape: remove tape->cache_stage Prior to allocating a new pipeline stage, the code checked for the existence of a cached pipeline stage to use. Do away with and stick to normal pipeline stages only. [bart: keep idetape_kmalloc_stage() for now] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit cc12175ff2eadb0918d573169af88429440a21ae Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:24 2008 +0200 ide: remove obsoleted "hdx=noautotune" kernel parameter Remove obsoleted "hdx=noautotune" kernel parameter (it has been obsoleted since 1 Nov 2004). Then make ide_hwif_t.autotune a single bit flag and remove no longer needed IDE_TUNE_* defines. Signed-off-by: Bartlomiej Zolnierkiewicz commit ef87f8d09639cbe22201c7dfe07586c43b255108 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:24 2008 +0200 ide: remove obsoleted "idex=" kernel parameters * Remove obsoleted "idex=" kernel parameters. * Make probe_* and cmd640_vlb variables static. Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit e460a59751a7e53b549c63d4d308ba73582c8def Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:24 2008 +0200 ide: remove obsoleted "idex=reset" kernel parameter Remove obsoleted "idex=reset" kernel parameter (it has been obsoleted since 1 Nov 2004). Then remove corresponding code from ide_probe_port() and no longer used ->reset field from ide_hwif_t. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9dd4cf1fb949f6ba56b67078c09ef1b78f3c9421 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:24 2008 +0200 ide: remove obsoleted "idex=serialize" kernel parameter Remove obsoleted "idex=serialize" kernel parameter (it has been obsoleted since 1 Nov 2004). Signed-off-by: Bartlomiej Zolnierkiewicz commit 9fd91d959f1a19d1bfa46d97cbbbb55641ce26a6 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:23 2008 +0200 ide: add "ignore_cable" parameter (take 2) Add "ignore_cable" parameter: * "ide_core.ignore_cable=[interface_number]" boot option if IDE is built-in (i.e. "ide_core.ignore_cable=1" to force ignoring cable for "ide1") * "ignore_cable=[interface_number]" module parameter (for ide_core module) if IDE is compiled as module v2: * Add ide_port_apply_params() helper - use it in ide_device_add_all() and ide_scan_port(). * Make it possible to later disable ignoring cable detection by passing "[interface_number]:0" to /sys/module/ide_core/parameters/ignore_cable (however sysfs interface is not enabled yet since it needs some other IDE changes to make it work reliable). Signed-off-by: Bartlomiej Zolnierkiewicz commit 9c391bae6a65bd39962877ad7dc000b600757bbe Author: Al Viro Date: Sun Apr 27 15:38:23 2008 +0200 ide: fix icside breakage Fallout from commit ac95beedf8bc97b24f9540d4da9952f07221c023 Signed-off-by: Al Viro Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 1852448652fd526d56099256dadc4ef32cb1b10e Author: Mark M. Hoffman Date: Thu Mar 6 08:41:09 2008 -0500 hwmon: (adt7473) minor cleanup / refactoring Acked-by: Darrick J. Wong Signed-off-by: Mark M. Hoffman commit 5d822e9bd9d866672984c6a6b613f0c11ca2543b Author: Mark M. Hoffman Date: Tue Feb 26 08:48:49 2008 -0500 hwmon: (asb100) Remove some dead code Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit ccd6befceb9a9b02114a93ff4cfa29adbdf60b6d Author: Jean Delvare Date: Tue Feb 19 12:42:58 2008 +0100 hwmon: (lm75) Fix an incorrect comment High-byte first is not opposite to the usual practice - that's what almost all hardware monitoring drivers do. It is opposite to the SMBus standard though. Also delete a duplicate comment. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 93c75a4ac2d95834e7202965d853d3cd23aadb40 Author: Jean Delvare Date: Tue Feb 12 11:25:07 2008 +0100 hwmon: (w83793) VID and VRM handling cleanups * Rework the device initialization function so as to read the "Multi-Function Pin Control" register (0x58) once instead of twice. I2C transactions aren't cheap so this speeds up the driver loading. * Only create the "vrm" attribute if at least one VID value is available. Signed-off-by: Jean Delvare Cc: Gong Jun Acked-by: Rudolf Marek Signed-off-by: Mark M. Hoffman commit 4040c415f5566ecfe95b509ee84d68fb7050b30c Author: Jean Delvare Date: Tue Feb 12 11:17:26 2008 +0100 hwmon: (w83l785ts) Don't ask the user to report failures There's nothing we can do about read errors on the W83L785TS-S, so don't ask the user to report them. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 35aeb7809345e0362772a75368a3e62ecd931481 Author: Stephen Hemminger Date: Sun Apr 27 14:54:32 2008 +0200 sis190: use netdev_alloc_skb This sets skb->dev and allows arch specific allocation. Signed-off-by: Stephen Hemminger Acked-by: Francois Romieu commit e3eccad9f6e84656b45bfa07738934145b09e11e Author: Stephen Hemminger Date: Sun Apr 27 14:42:27 2008 +0200 sis190: hard-code the alignment of tiny packets There is no DMA involved here. Align the IP header without condition. Signed-off-by: Stephen Hemminger Acked-by: Francois Romieu commit 4709aa59ede5ff9902d60088d93d1c0e2e9d2247 Author: Stephen Hemminger Date: Sun Apr 27 14:36:59 2008 +0200 sis190: use the allocated buffer as a status code in sis190_alloc_rx_skb The local status code does not carry mory information. Signed-off-by: Stephen Hemminger Acked-by: Francois Romieu commit 5526b7e4513c66bc1c91f661dcd518d5199f8934 Author: David S. Miller Date: Sun Apr 27 02:26:36 2008 -0700 sparc: Remove old style signal frame support. Back around the same time we were bootstrapping the first 32-bit sparc Linux kernel with a SunOS userland, we made the signal frame match that of SunOS. By the time we even started putting together a native Linux userland for 32-bit Sparc we realized this layout wasn't sufficient for Linux's needs. Therefore we changed the layout, yet kept support for the old style signal frame layout in there. The detection mechanism is that we had sys_sigaction() start passing in a negative signal number to indicate "new style signal frames please". Anyways, no binaries exist in the world that use the old stuff. In fact, I bet Jakub Jelinek and myself are the only two people who ever had such binaries to be honest. So let's get rid of this stuff. I added an assertion using WARN_ON_ONCE() that makes sure 32-bit applications are passing in that negative signal number still. Signed-off-by: David S. Miller commit a45352908b88d383bc40e1e4d1a6cc5bbcefc895 Author: Avi Kivity Date: Sun Apr 13 17:54:35 2008 +0300 KVM: Rename VCPU_MP_STATE_* to KVM_MP_STATE_* We wish to export it to userspace, so move it into the kvm namespace. Signed-off-by: Avi Kivity commit 3d80840d96127401ba6aeadd813c3a15b84e70fe Author: Marcelo Tosatti Date: Fri Apr 11 14:53:26 2008 -0300 KVM: hlt emulation should take in-kernel APIC/PIT timers into account Timers that fire between guest hlt and vcpu_block's add_wait_queue() are ignored, possibly resulting in hangs. Also make sure that atomic_inc and waitqueue_active tests happen in the specified order, otherwise the following race is open: CPU0 CPU1 if (waitqueue_active(wq)) add_wait_queue() if (!atomic_read(pit_timer->pending)) schedule() atomic_inc(pit_timer->pending) Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 3564990af1b9f77a63692c1079e9c41af229f066 Author: Joerg Roedel Date: Wed Apr 9 16:04:32 2008 +0200 KVM: SVM: do not intercept task switch with NPT When KVM uses NPT there is no reason to intercept task switches. This patch removes the intercept for it in that case. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit d4c9ff2d1b78e385471b3f4d80c0596909926ef7 Author: Feng(Eric) Liu Date: Thu Apr 10 08:47:53 2008 -0400 KVM: Add kvm trace userspace interface This interface allows user a space application to read the trace of kvm related events through relayfs. Signed-off-by: Feng (Eric) Liu Signed-off-by: Avi Kivity commit 048354c8e6bf95e7347f623d8a0da5b89e216405 Author: Avi Kivity Date: Fri Apr 11 02:51:52 2008 +0300 KVM: ia64: Stub out kvmtrace Signed-off-by: Avi Kivity commit 7732a8d19bdc6ae18f68f9adb47d11c82a3a86cd Author: Avi Kivity Date: Fri Apr 11 02:50:40 2008 +0300 KVM: s390: Stub out kvmtrace Signed-off-by: Avi Kivity commit 2714d1d3d6be882b97cd0125140fccf9976a460a Author: Feng (Eric) Liu Date: Thu Apr 10 15:31:10 2008 -0400 KVM: Add trace markers Trace markers allow userspace to trace execution of a virtual machine in order to monitor its performance. Signed-off-by: Feng (Eric) Liu Signed-off-by: Avi Kivity commit 53371b5098543ab09dcb0c7ce31da887dbe58c62 Author: Joerg Roedel Date: Wed Apr 9 14:15:30 2008 +0200 KVM: SVM: add intercept for machine check exception To properly forward a MCE occured while the guest is running to the host, we have to intercept this exception and call the host handler by hand. This is implemented by this patch. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 6394b6494c0a352a2db3ea3e891ba7aeea7c1441 Author: Joerg Roedel Date: Wed Apr 9 14:15:29 2008 +0200 KVM: SVM: align shadow CR4.MCE with host This patch aligns the host version of the CR4.MCE bit with the CR4 active in the guest. This is necessary to get MCE exceptions when the guest is running. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit ec077263b2bb841d973d82342b7fbc07bbad4246 Author: Joerg Roedel Date: Wed Apr 9 14:15:28 2008 +0200 KVM: SVM: indent svm_set_cr4 with tabs instead of spaces The svm_set_cr4 function is indented with spaces. This patch replaces them with tabs. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 258ac8e066622df3fef94c8adf32596faae5ab71 Author: Avi Kivity Date: Sun Apr 6 14:25:46 2008 +0300 KVM: Register ioctl range Signed-off-by: Avi Kivity commit 35149e2129fe34fc8cb5917e1ecf5156b0fa3415 Author: Anthony Liguori Date: Wed Apr 2 14:46:56 2008 -0500 KVM: MMU: Don't assume struct page for x86 This patch introduces a gfn_to_pfn() function and corresponding functions like kvm_release_pfn_dirty(). Using these new functions, we can modify the x86 MMU to no longer assume that it can always get a struct page for any given gfn. We don't want to eliminate gfn_to_page() entirely because a number of places assume they can do gfn_to_page() and then kmap() the results. When we support IO memory, gfn_to_page() will fail for IO pages although gfn_to_pfn() will succeed. This does not implement support for avoiding reference counting for reserved RAM or for IO memory. However, it should make those things pretty straight forward. Since we're only introducing new common symbols, I don't think it will break the non-x86 architectures but I haven't tested those. I've tested Intel, AMD, NPT, and hugetlbfs with Windows and Linux guests. [avi: fix overflow when shifting left pfns by adding casts] Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit fdae862f91728aec6dd8fd62cd2398868c906b6b Author: Xiantao Zhang Date: Tue Apr 1 15:08:29 2008 +0800 KVM: ia64: Add a guide about how to create kvm guests on ia64 Guide for creating virtual machine on kvm/ia64. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit b693919ca983e9eb989d89dac5493ef3c5e98e77 Author: Xiantao Zhang Date: Fri Mar 28 14:58:47 2008 +0800 KVM: ia64: Enable kvm build for ia64 Update the related Makefile and KConfig for kvm build Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit ad86b6c36bbb9c1cac610f1b8a310d87eafea778 Author: Xiantao Zhang Date: Tue Apr 1 14:59:30 2008 +0800 KVM: ia64: Add kvm sal/pal virtulization support Some sal/pal calls would be traped to kvm for virtulization from guest firmware. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 827fa691e41a538bbe941d9c988e07e6abea1648 Author: Xiantao Zhang Date: Tue Apr 1 14:58:42 2008 +0800 KVM: ia64: Add guest interruption injection support process.c mainly handle interruption injection, and some faults handling. Signed-off-by: Anthony Xu Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit d62998a681f4688605895bb7068d76d25132e3a2 Author: Xiantao Zhang Date: Tue Apr 1 14:57:53 2008 +0800 KVM: ia64: Generate offset values for assembly code use asm-offsets.c will generate offset values used for assembly code for some fileds of special structures. Signed-off-by: Anthony Xu Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 7fc86bd9c0830651826d88c65b6aad55086a6e01 Author: Xiantao Zhang Date: Tue Apr 1 14:57:09 2008 +0800 KVM: ia64: Add optimization for some virtulization faults optvfault.S Add optimization for some performance-critical virtualization faults. Signed-off-by: Anthony Xu Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 60a07bb9baa83e17d4b540a2f371661ecc353c6c Author: Xiantao Zhang Date: Tue Apr 1 16:14:28 2008 +0800 KVM: ia64: Add processor virtulization support vcpu.c provides processor virtualization logic for kvm. Signed-off-by: Anthony Xu Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit a793537a970584720347293935a4bb6323791a05 Author: Xiantao Zhang Date: Tue Apr 1 14:54:42 2008 +0800 KVM: ia64: Add trampoline for guest/host mode switch trampoline code targets for guest/host world switch. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit e30af4ce7fea3d3a470f8f9996c53564f34e4754 Author: Xiantao Zhang Date: Tue Apr 1 14:53:32 2008 +0800 KVM: ia64: Add mmio decoder for kvm/ia64 mmio.c includes mmio decoder, and related mmio logics. Signed-off-by: Anthony Xu Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit fbd4b5621c8db767f78c89d1ac708ac4bb276caf Author: Xiantao Zhang Date: Tue Apr 1 14:52:19 2008 +0800 KVM: ia64: Add interruption vector table for vmm vmm_ivt.S includes an ivt for vmm use. Signed-off-by: Anthony Xu Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 964cd94a2ae3b20f9da9bd43b31aac32c4fe9aee Author: Xiantao Zhang Date: Tue Apr 1 14:50:59 2008 +0800 KVM: ia64: Add TLB virtulization support vtlb.c includes tlb/VHPT virtulization. Signed-off-by: Anthony Xu Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit bb46fb4af160ec7ae6e5102a79a3b2518eaee7af Author: Xiantao Zhang Date: Tue Apr 1 14:49:24 2008 +0800 KVM: ia64: VMM module interfaces vmm.c adds the interfaces with kvm/module, and initialize global data area. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit a4f500381ac91969fa4f8b0a4e39e76dbf00a913 Author: Xiantao Zhang Date: Tue Apr 1 16:00:24 2008 +0800 KVM: ia64: Add header files for kvm/ia64 kvm_minstate.h : Marcos about Min save routines. lapic.h: apic structure definition. vcpu.h : routions related to vcpu virtualization. vti.h : Some macros or routines for VT support on Itanium. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit b024b79322aad213cd2d4f30c23a6c626a0d5b31 Author: Xiantao Zhang Date: Tue Apr 1 15:29:29 2008 +0800 KVM: ia64: Add kvm arch-specific core code for kvm/ia64 kvm_ia64.c is created to handle kvm ia64-specific core logic. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 1a9c1ac46990194f6b6ddc591c24e385e611fa25 Author: Xiantao Zhang Date: Tue Apr 1 14:45:06 2008 +0800 KVM: ia64: Add header files for kvm/ia64 Three header files are added: asm-ia64/kvm.h asm-ia64/kvm_host.h asm-ia64/kvm_para.h Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit e235f3450f5bf94b989746163b7791784a78ee05 Author: Xiantao Zhang Date: Tue Apr 1 14:42:00 2008 +0800 KVM: ia64: Prepare some structure and routines for kvm use Register structures are defined per SDM. Add three small routines for kernel: ia64_ttag, ia64_loadrs, ia64_flushrs Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit c71799c1f404c6e4f34fa64e6be39cd6149e5019 Author: Heiko Carstens Date: Fri Apr 4 16:03:34 2008 +0200 KVM: s390: Improve pgste accesses There is no need to use interlocked updates when the rcp lock is held. Therefore the simple bitops variants can be used. This should improve performance. Signed-off-by: Heiko Carstens Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit f603f0731f43421403160f5f8b12e90f2e51f064 Author: Heiko Carstens Date: Fri Apr 4 15:12:40 2008 +0200 KVM: s390: rename stfl to kvm_stfl Temporarily rename this function to avoid merge conflicts and/or dependencies. This function will be removed as soon as git-s390 and kvm.git are finally upstream. Signed-off-by: Heiko Carstens Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 7e8e6ab48d78147f69c1ba2d6a362f8d33254468 Author: Heiko Carstens Date: Fri Apr 4 15:12:35 2008 +0200 KVM: s390: Fix incorrect return value kvm_arch_vcpu_ioctl_run currently incorrectly always returns 0. Signed-off-by: Heiko Carstens Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit bed1d1dfc4a458d82bcd258082638cbba860190d Author: Marcelo Tosatti Date: Fri Apr 4 14:56:44 2008 -0300 KVM: MMU: prepopulate guest pages after write-protecting Zdenek reported a bug where a looping "dmsetup status" eventually hangs on SMP guests. The problem is that kvm_mmu_get_page() prepopulates the shadow MMU before write protecting the guest page tables. By doing so, it leaves a window open where the guest can mark a pte as present while the host has shadow cached such pte as "notrap". Accesses to such address will fault in the guest without the host having a chance to fix the situation. Fix by moving the write protection before the pte prefetch. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit fcd6dbac9267c1c06a205ad8bb4bd027c0ace7f7 Author: Avi Kivity Date: Thu Apr 3 12:02:21 2008 +0300 KVM: MMU: Only mark_page_accessed() if the page was accessed by the guest If the accessed bit is not set, the guest has never accessed this page (at least through this spte), so there's no need to mark the page accessed. This provides more accurate data for the eviction algortithm. Noted by Andrea Arcangeli. Signed-off-by: Avi Kivity commit d39f13b0da7fa7f705fbe6c80995205d0380bc7a Author: Izik Eidus Date: Sun Mar 30 16:01:25 2008 +0300 KVM: add vm refcounting the main purpose of adding this functions is the abilaty to release the spinlock that protect the kvm list while still be able to do operations on a specific kvm in a safe way. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 9c20456a32ce9e82ccda55e12c10016b181d85e5 Author: Joerg Roedel Date: Tue Apr 1 16:44:56 2008 +0200 KVM: function declaration parameter name cleanup The kvm_host.h file for x86 declares the functions kvm_set_cr[0348]. In the header file their second parameter is named cr0 in all cases. This patch renames the parameters so that they match the function name. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 3d45830c2b11a9d756faae161742b7d1ec417f7e Author: Avi Kivity Date: Tue Mar 25 11:26:13 2008 +0200 KVM: Free apic access page on vm destruction Noticed by Marcelo Tosatti. Signed-off-by: Avi Kivity commit 3ee16c814511cd58f956b47b9c7654f57f674688 Author: Izik Eidus Date: Sun Mar 30 15:17:21 2008 +0300 KVM: MMU: allow the vm to shrink the kvm mmu shadow caches Allow the Linux memory manager to reclaim memory in the kvm shadow cache. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 3200f405a1e8e06c8634f11d33614455baa4e6be Author: Marcelo Tosatti Date: Sat Mar 29 20:17:59 2008 -0300 KVM: MMU: unify slots_lock usage Unify slots_lock acquision around vcpu_run(). This is simpler and less error-prone. Also fix some callsites that were not grabbing the lock properly. [avi: drop slots_lock while in guest mode to avoid holding the lock for indefinite periods] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 25c5f225beda4fbea878ed8b6203ab4ecc7de2d1 Author: Sheng Yang Date: Fri Mar 28 13:18:56 2008 +0800 KVM: VMX: Enable MSR Bitmap feature MSR Bitmap controls whether the accessing of an MSR causes VM Exit. Eliminating exits on automatically saved and restored MSRs yields a small performance gain. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit e976a2b997fc4ad70ccc53acfe62811c4aaec851 Author: Christian Borntraeger Date: Tue Mar 25 18:47:46 2008 +0100 s390: KVM guest: virtio device support, and kvm hypercalls This patch implements kvm guest kernel support for paravirtualized devices and contains two parts: o a basic virtio stub using virtio_ring and external interrupts and hypercalls o full hypercall implementation in kvm_para.h Currently we dont have PCI on s390. Making virtio_pci usable for s390 seems more complicated that providing an own stub. This virtio stub is similar to the lguest one, the memory for the descriptors and the device detection is made via additional mapped memory on top of the guest storage. We use an external interrupt with extint code 0x2603 for host->guest notification. The hypercall definition uses the diag instruction for issuing a hypercall. The parameters are written in R2-R7, the hypercall number is written in R1. This is similar to the system call ABI (svc) which can use R1 for the number and R2-R6 for the parameters. Signed-off-by: Christian Borntraeger Acked-by: Martin Schwidefsky Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit fa5877439d5a062d91c3abd5a690483bbdb4268e Author: Carsten Otte Date: Tue Mar 25 18:47:44 2008 +0100 s390: KVM guest: detect when running on kvm This patch adds functionality to detect if the kernel runs under the KVM hypervisor. A macro MACHINE_IS_KVM is exported for device drivers. This allows drivers to skip device detection if the systems runs non-virtualized. We also define a preferred console to avoid having the ttyS0, which is a line mode only console. Signed-off-by: Christian Borntraeger Acked-by: Martin Schwidefsky Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 85f8fffe3c2ab13f13526c46b5471fc22e98ccfe Author: Christian Borntraeger Date: Tue Mar 25 18:47:41 2008 +0100 KVM: s390: update maintainers This patch adds an entry for kvm on s390 to the MAINTAINERS file :-). We intend to push all patches regarding this via Avi's kvm.git. Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 5ecee4ba4eb2ada7ece7c41eb08cf7bc51b579e2 Author: Carsten Otte Date: Tue Mar 25 18:47:38 2008 +0100 KVM: s390: API documentation This patch adds Documentation/s390/kvm.txt, which describes specifics of kvm's user interface that are unique to s390 architecture. Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 77b455f1bcfa0fddb31b8e6f9f2adc246acb4216 Author: Christian Borntraeger Date: Tue Mar 25 18:47:36 2008 +0100 KVM: s390: add kvm to kconfig on s390 This patch adds the virtualization submenu and the kvm option to the kernel config. It also defines HAVE_KVM for 64bit kernels. Acked-by: Martin Schwidefsky Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit e28acfea5dd9dbc67c2594cbefc140129dbd0e3f Author: Christian Borntraeger Date: Tue Mar 25 18:47:34 2008 +0100 KVM: s390: intercepts for diagnose instructions This patch introduces interpretation of some diagnose instruction intercepts. Diagnose is our classic architected way of doing a hypercall. This patch features the following diagnose codes: - vm storage size, that tells the guest about its memory layout - time slice end, which is used by the guest to indicate that it waits for a lock and thus cannot use up its time slice in a useful way - ipl functions, which a guest can use to reset and reboot itself In order to implement ipl functions, we also introduce an exit reason that causes userspace to perform various resets on the virtual machine. All resets are described in the principles of operation book, except KVM_S390_RESET_IPL which causes a reboot of the machine. Acked-by: Martin Schwidefsky Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 5288fbf0ef041ba0e8b4dcb2df4536b5e3a48b32 Author: Christian Borntraeger Date: Tue Mar 25 18:47:31 2008 +0100 KVM: s390: interprocessor communication via sigp This patch introduces in-kernel handling of _some_ sigp interprocessor signals (similar to ipi). kvm_s390_handle_sigp() decodes the sigp instruction and calls individual handlers depending on the operation requested: - sigp sense tries to retrieve information such as existence or running state of the remote cpu - sigp emergency sends an external interrupt to the remove cpu - sigp stop stops a remove cpu - sigp stop store status stops a remote cpu, and stores its entire internal state to the cpus lowcore - sigp set arch sets the architecture mode of the remote cpu. setting to ESAME (s390x 64bit) is accepted, setting to ESA/S390 (s390, 31 or 24 bit) is denied, all others are passed to userland - sigp set prefix sets the prefix register of a remote cpu For implementation of this, the stop intercept indication starts to get reused on purpose: a set of action bits defines what to do once a cpu gets stopped: ACTION_STOP_ON_STOP really stops the cpu when a stop intercept is recognized ACTION_STORE_ON_STOP stores the cpu status to lowcore when a stop intercept is recognized Acked-by: Martin Schwidefsky Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 453423dce2785b8e22077e3b3eeecb4f60fe3470 Author: Christian Borntraeger Date: Tue Mar 25 18:47:29 2008 +0100 KVM: s390: intercepts for privileged instructions This patch introduces in-kernel handling of some intercepts for privileged instructions: handle_set_prefix() sets the prefix register of the local cpu handle_store_prefix() stores the content of the prefix register to memory handle_store_cpu_address() stores the cpu number of the current cpu to memory handle_skey() just decrements the instruction address and retries handle_stsch() delivers condition code 3 "operation not supported" handle_chsc() same here handle_stfl() stores the facility list which contains the capabilities of the cpu handle_stidp() stores cpu type/model/revision and such handle_stsi() stores information about the system topology Acked-by: Martin Schwidefsky Signed-off-by: Christian Borntraeger Signed-off-by: Heiko Carstens Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit ba5c1e9b6ceebdc39343cc03eb39f077abd3c571 Author: Carsten Otte Date: Tue Mar 25 18:47:26 2008 +0100 KVM: s390: interrupt subsystem, cpu timer, waitpsw This patch contains the s390 interrupt subsystem (similar to in kernel apic) including timer interrupts (similar to in-kernel-pit) and enabled wait (similar to in kernel hlt). In order to achieve that, this patch also introduces intercept handling for instruction intercepts, and it implements load control instructions. This patch introduces an ioctl KVM_S390_INTERRUPT which is valid for both the vm file descriptors and the vcpu file descriptors. In case this ioctl is issued against a vm file descriptor, the interrupt is considered floating. Floating interrupts may be delivered to any virtual cpu in the configuration. The following interrupts are supported: SIGP STOP - interprocessor signal that stops a remote cpu SIGP SET PREFIX - interprocessor signal that sets the prefix register of a (stopped) remote cpu INT EMERGENCY - interprocessor interrupt, usually used to signal need_reshed and for smp_call_function() in the guest. PROGRAM INT - exception during program execution such as page fault, illegal instruction and friends RESTART - interprocessor signal that starts a stopped cpu INT VIRTIO - floating interrupt for virtio signalisation INT SERVICE - floating interrupt for signalisations from the system service processor struct kvm_s390_interrupt, which is submitted as ioctl parameter when injecting an interrupt, also carrys parameter data for interrupts along with the interrupt type. Interrupts on s390 usually have a state that represents the current operation, or identifies which device has caused the interruption on s390. kvm_s390_handle_wait() does handle waitpsw in two flavors: in case of a disabled wait (that is, disabled for interrupts), we exit to userspace. In case of an enabled wait we set up a timer that equals the cpu clock comparator value and sleep on a wait queue. [christian: change virtio interrupt to 0x2603] Acked-by: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Carsten Otte Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 8f2abe6a1e525e878bdf58f68ccd146d543fde84 Author: Christian Borntraeger Date: Tue Mar 25 18:47:23 2008 +0100 KVM: s390: sie intercept handling This path introduces handling of sie intercepts in three flavors: Intercepts are either handled completely in-kernel by kvm_handle_sie_intercept(), or passed to userspace with corresponding data in struct kvm_run in case kvm_handle_sie_intercept() returns -ENOTSUPP. In case of partial execution in kernel with the need of userspace support, kvm_handle_sie_intercept() may choose to set up struct kvm_run and return -EREMOTE. The trivial intercept reasons are handled in this patch: handle_noop() just does nothing for intercepts that don't require our support at all handle_stop() is called when a cpu enters stopped state, and it drops out to userland after updating our vcpu state handle_validity() faults in the cpu lowcore if needed, or passes the request to userland Acked-by: Martin Schwidefsky Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit b0c632db637d68ad39d9f97f452ce176253f5f4e Author: Heiko Carstens Date: Tue Mar 25 18:47:20 2008 +0100 KVM: s390: arch backend for the kvm kernel module This patch contains the port of Qumranet's kvm kernel module to IBM zSeries (aka s390x, mainframe) architecture. It uses the mainframe's virtualization instruction SIE to run virtual machines with up to 64 virtual CPUs each. This port is only usable on 64bit host kernels, and can only run 64bit guest kernels. However, running 31bit applications in guest userspace is possible. The following source files are introduced by this patch arch/s390/kvm/kvm-s390.c similar to arch/x86/kvm/x86.c, this implements all arch callbacks for kvm. __vcpu_run calls back into sie64a to enter the guest machine context arch/s390/kvm/sie64a.S assembler function sie64a, which enters guest context via SIE, and switches world before and after that include/asm-s390/kvm_host.h contains all vital data structures needed to run virtual machines on the mainframe include/asm-s390/kvm.h defines kvm_regs and friends for user access to guest register content arch/s390/kvm/gaccess.h functions similar to uaccess to access guest memory arch/s390/kvm/kvm-s390.h header file for kvm-s390 internals, extended by later patches Acked-by: Martin Schwidefsky Signed-off-by: Christian Borntraeger Signed-off-by: Heiko Carstens Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 8a88ac6183975c73c65b45f365f6f3b875c1348b Author: Christian Borntraeger Date: Tue Mar 25 18:47:15 2008 +0100 s390: KVM preparation: address of the 64bit extint parm in lowcore The address 0x11b8 is used by z/VM for pfault and diag 250 I/O to provide a 64 bit extint parameter. virtio uses the same address, so its time to update the lowcore structure. Acked-by: Martin Schwidefsky Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 5b7baf05783b1ac97a510243d7e82293416a7cf6 Author: Christian Borntraeger Date: Tue Mar 25 18:47:12 2008 +0100 s390: KVM preparation: host memory management changes for s390 kvm This patch changes the s390 memory management defintions to use the pgste field for dirty and reference bit tracking of host and guest code. Usually on s390, dirty and referenced are tracked in storage keys, which belong to the physical page. This changes with virtualization: The guest and host dirty/reference bits are defined to be the logical OR of the values for the mapping and the physical page. This patch implements the necessary changes in pgtable.h for s390. There is a common code change in mm/rmap.c, the call to page_test_and_clear_young must be moved. This is a no-op for all architecture but s390. page_referenced checks the referenced bits for the physiscal page and for all mappings: o The physical page is checked with page_test_and_clear_young. o The mappings are checked with ptep_test_and_clear_young and friends. Without pgstes (the current implementation on Linux s390) the physical page check is implemented but the mapping callbacks are no-ops because dirty and referenced are not tracked in the s390 page tables. The pgstes introduces guest and host dirty and reference bits for s390 in the host mapping. These mapping must be checked before page_test_and_clear_young resets the reference bit. Signed-off-by: Heiko Carstens Signed-off-by: Christian Borntraeger Acked-by: Martin Schwidefsky Acked-by: Andrew Morton Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 402b08622d9ac6e32e25289573272e0f21bb58a7 Author: Carsten Otte Date: Tue Mar 25 18:47:10 2008 +0100 s390: KVM preparation: provide hook to enable pgstes in user pagetable The SIE instruction on s390 uses the 2nd half of the page table page to virtualize the storage keys of a guest. This patch offers the s390_enable_sie function, which reorganizes the page tables of a single-threaded process to reserve space in the page table: s390_enable_sie makes sure that the process is single threaded and then uses dup_mm to create a new mm with reorganized page tables. The old mm is freed and the process has now a page status extended field after every page table. Code that wants to exploit pgstes should SELECT CONFIG_PGSTE. This patch has a small common code hit, namely making dup_mm non-static. Edit (Carsten): I've modified Martin's patch, following Jeremy Fitzhardinge's review feedback. Now we do have the prototype for dup_mm in include/linux/sched.h. Following Martin's suggestion, s390_enable_sie() does now call task_lock() to prevent race against ptrace modification of mm_users. Signed-off-by: Martin Schwidefsky Signed-off-by: Carsten Otte Acked-by: Andrew Morton Signed-off-by: Avi Kivity commit 37817f2982d0f559f90cecc66e150dd9d2c2df05 Author: Izik Eidus Date: Mon Mar 24 23:14:53 2008 +0200 KVM: x86: hardware task switching support This emulates the x86 hardware task switch mechanism in software, as it is unsupported by either vmx or svm. It allows operating systems which use it, like freedos, to run as kvm guests. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 2e4d2653497856b102c90153f970c9e344ba96c6 Author: Izik Eidus Date: Mon Mar 24 19:38:34 2008 +0200 KVM: x86: add functions to get the cpl of vcpu Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 4c9fc8ef501790732ed035585b491756b75ea4c6 Author: Avi Kivity Date: Mon Mar 24 18:15:14 2008 +0200 KVM: VMX: Add module option to disable flexpriority Useful for debugging. Signed-off-by: Avi Kivity commit 268fe02ae058c0c5e84ad678d67e5d7b013e664f Author: Avi Kivity Date: Sun Mar 23 18:36:30 2008 +0200 KVM: no longer EXPERIMENTAL Long overdue. Signed-off-by: Avi Kivity commit 0b49ea8659fd3b5005823e02d2d0a775521770e5 Author: Avi Kivity Date: Sun Mar 23 15:06:23 2008 +0200 KVM: MMU: Introduce and use spte_to_page() Encapsulate the pte mask'n'shift in a function. Signed-off-by: Avi Kivity commit 855149aaa90016c576a0e684361a34f8047307d0 Author: Izik Eidus Date: Thu Mar 20 18:17:24 2008 +0200 KVM: MMU: fix dirty bit setting when removing write permissions When mmu_set_spte() checks if a page related to spte should be release as dirty or clean, it check if the shadow pte was writeble, but in case rmap_write_protect() is called called it is possible for shadow ptes that were writeble to become readonly and therefor mmu_set_spte will release the pages as clean. This patch fix this issue by marking the page as dirty inside rmap_write_protect(). Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 69a9f69bb24d6d3dbf3d2ba542ddceeda40536d5 Author: Avi Kivity Date: Fri Mar 21 12:38:23 2008 +0200 KVM: Move some x86 specific constants and structures to include/asm-x86 Signed-off-by: Avi Kivity commit 947da53830690cbd77d7f2b625d0df1f161ffd54 Author: Avi Kivity Date: Tue Mar 18 11:05:52 2008 +0200 KVM: MMU: Set the accessed bit on non-speculative shadow ptes If we populate a shadow pte due to a fault (and not speculatively due to a pte write) then we can set the accessed bit on it, as we know it will be set immediately on the next guest instruction. This saves a read-modify-write operation. Signed-off-by: Avi Kivity commit 97646202bc3f190dfcb48a3d506ea2445717d392 Author: Christian Borntraeger Date: Wed Mar 12 18:10:45 2008 +0100 KVM: kvm.h: __user requires compiler.h include/linux/kvm.h defines struct kvm_dirty_log to [...] union { void __user *dirty_bitmap; /* one bit per page */ __u64 padding; }; __user requires compiler.h to compile. Currently, this works on x86 only coincidentally due to other include files. This patch makes kvm.h compile in all cases. Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 1e977aa12dd4f80688b1f243762212e75c6d7fe8 Author: Glauber Costa Date: Mon Mar 17 16:08:40 2008 -0300 x86: KVM guest: disable clock before rebooting. This patch writes 0 (actually, what really matters is that the LSB is cleared) to the system time msr before shutting down the machine for kexec. Without it, we can have a random memory location being written when the guest comes back It overrides the functions shutdown, used in the path of kernel_kexec() (sys.c) and crash_shutdown, used in the path of crash_kexec() (kexec.c) Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit 3c62c62502bea24448d4e82aa1f33c7dbca61a32 Author: Glauber Costa Date: Mon Mar 17 16:08:39 2008 -0300 x86: make native_machine_shutdown non-static it will allow external users to call it. It is mainly useful for routines that will override its machine_ops field for its own special purposes, but want to call the normal shutdown routine after they're done Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit ed23dc6f5bc950ebbe683dd0bed1d5878230c171 Author: Glauber Costa Date: Mon Mar 17 16:08:38 2008 -0300 x86: allow machine_crash_shutdown to be replaced This patch a llows machine_crash_shutdown to be replaced, just like any of the other functions in machine_ops Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit 096d14a3b57e4a87d27be09cc64b4f84660acd08 Author: Marcelo Tosatti Date: Fri Feb 22 12:21:38 2008 -0500 x86: KVM guest: hypercall batching Batch pte updates and tlb flushes in lazy MMU mode. [avi: - adjust to mmu_op - helper for getting para_state without debug warnings] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 1da8a77bdc294acdc37e8504926383b86f72d6be Author: Marcelo Tosatti Date: Fri Feb 22 12:21:37 2008 -0500 x86: KVM guest: hypercall based pte updates and TLB flushes Hypercall based pte updates are faster than faults, and also allow use of the lazy MMU mode to batch operations. Don't report the feature if two dimensional paging is enabled. [avi: - guest/host split - fix 32-bit truncation issues - adjust to mmu_op - adjust to ->release_*() renamed - add ->release_pud()] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2f333bcb4edd8daef99dabe4e7df8277af73cff1 Author: Marcelo Tosatti Date: Fri Feb 22 12:21:37 2008 -0500 KVM: MMU: hypercall based pte updates and TLB flushes Hypercall based pte updates are faster than faults, and also allow use of the lazy MMU mode to batch operations. Don't report the feature if two dimensional paging is enabled. [avi: - one mmu_op hypercall instead of one per op - allow 64-bit gpa on hypercall - don't pass host errors (-ENOMEM) to guest] [akpm: warning fix on i386] Signed-off-by: Marcelo Tosatti Signed-off-by: Andrew Morton Signed-off-by: Avi Kivity commit 9f81128591ca1e9907f2e7a7b195e33232167d60 Author: Avi Kivity Date: Sun Mar 2 14:06:05 2008 +0200 KVM: Provide unlocked version of emulator_write_phys() Signed-off-by: Avi Kivity commit 0cf1bfd2737f41e59f974a61eab11af206d2042a Author: Marcelo Tosatti Date: Fri Feb 22 12:21:36 2008 -0500 x86: KVM guest: add basic paravirt support Add basic KVM paravirt support. Avoid vm-exits on IO delays. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit a28e4f5a621289fe0d9c8a461b0c256f9e17f3bc Author: Marcelo Tosatti Date: Fri Feb 22 12:21:36 2008 -0500 KVM: add basic paravirt support Add basic KVM paravirt support. Avoid vm-exits on IO delays. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 308b0f239e8d6754b8b903d279e5b5b987e257ac Author: Sheng Yang Date: Thu Mar 13 10:22:26 2008 +0800 KVM: Add reset support for in kernel PIT Separate the reset part and prepare for reset support. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit e0f63cb9277b64850854aee301762beeeb463473 Author: Sheng Yang Date: Tue Mar 4 00:50:59 2008 +0800 KVM: Add save/restore supporting of in kernel PIT Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 7837699fa6d7adf81f26ab73a5f6897ea1ab9d6a Author: Sheng Yang Date: Mon Jan 28 05:10:22 2008 +0800 KVM: In kernel PIT model The patch moves the PIT model from userspace to kernel, and increases the timer accuracy greatly. [marcelo: make last_injected_time per-guest] Signed-off-by: Sheng Yang Signed-off-by: Marcelo Tosatti Tested-and-Acked-by: Alex Davis Signed-off-by: Avi Kivity commit 4fcaa98267efc4d39ded9b0bc33c6b4a2f62fecd Author: Avi Kivity Date: Wed Mar 5 09:33:44 2008 +0200 KVM: Remove pointless desc_ptr #ifdef The desc_struct changes left an unnecessary #ifdef; remove it. Signed-off-by: Avi Kivity commit 019960ae9933161c2809fa4ee608ba30d9639fd2 Author: Avi Kivity Date: Tue Mar 4 10:44:51 2008 +0200 KVM: VMX: Don't adjust tsc offset forward Most Intel hosts have a stable tsc, and playing with the offset only reduces accuracy. By limiting tsc offset adjustment only to forward updates, we effectively disable tsc offset adjustment on these hosts. Signed-off-by: Avi Kivity commit b8688d51bbe4872fbcec751e04369606082ac610 Author: Harvey Harrison Date: Mon Mar 3 12:59:56 2008 -0800 KVM: replace remaining __FUNCTION__ occurances __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit 71c4dfafc0932d92cc99c7e839d25174b0ce10a1 Author: Joerg Roedel Date: Tue Feb 26 16:49:16 2008 +0100 KVM: detect if VCPU triple faults In the current inject_page_fault path KVM only checks if there is another PF pending and injects a DF then. But it has to check for a pending DF too to detect a shutdown condition in the VCPU. If this is not detected the VCPU goes to a PF -> DF -> PF loop when it should triple fault. This patch detects this condition and handles it with an KVM_SHUTDOWN exit to userspace. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 3e4bb3ac9e0ada5df5f6729648d403ea9f071d10 Author: Xiantao Zhang Date: Mon Feb 25 18:52:20 2008 +0800 KVM: Use kzalloc to avoid allocating kvm_regs from kernel stack Since the size of kvm_regs is too big to allocate from kernel stack on ia64, use kzalloc to allocate it. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 2d3ad1f40c841bd3e97d30d423eea53915d085dc Author: Avi Kivity Date: Sun Feb 24 11:20:43 2008 +0200 KVM: Prefix control register accessors with kvm_ to avoid namespace pollution Names like 'set_cr3()' look dangerously close to affecting the host. Signed-off-by: Avi Kivity commit 05da45583de9b383dc81dd695fe248431d6c9f2b Author: Marcelo Tosatti Date: Sat Feb 23 11:44:30 2008 -0300 KVM: MMU: large page support Create large pages mappings if the guest PTE's are marked as such and the underlying memory is hugetlbfs backed. If the largepage contains write-protected pages, a large pte is not used. Gives a consistent 2% improvement for data copies on ram mounted filesystem, without NPT/EPT. Anthony measures a 4% improvement on 4-way kernbench, with NPT. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2e53d63acba75795aa226febd140f67c58c6a353 Author: Marcelo Tosatti Date: Wed Feb 20 14:47:24 2008 -0500 KVM: MMU: ignore zapped root pagetables Mark zapped root pagetables as invalid and ignore such pages during lookup. This is a problem with the cr3-target feature, where a zapped root table fools the faulting code into creating a read-only mapping. The result is a lockup if the instruction can't be emulated. Signed-off-by: Marcelo Tosatti Cc: Anthony Liguori Signed-off-by: Avi Kivity commit 847f0ad8cbfa70c1af6948025836dfbd9ed6da1e Author: Alexander Graf Date: Thu Feb 21 12:11:01 2008 +0100 KVM: Implement dummy values for MSR_PERF_STATUS Darwin relies on this and ceases to work without. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 14af3f3c56103d8c3bb173c255ef5d89fb0c9350 Author: Harvey Harrison Date: Tue Feb 19 10:25:50 2008 -0800 KVM: sparse fixes for kvm/x86.c In two case statements, use the ever popular 'i' instead of index: arch/x86/kvm/x86.c:1063:7: warning: symbol 'index' shadows an earlier one arch/x86/kvm/x86.c:1000:9: originally declared here arch/x86/kvm/x86.c:1079:7: warning: symbol 'index' shadows an earlier one arch/x86/kvm/x86.c:1000:9: originally declared here Make it static. arch/x86/kvm/x86.c:1945:24: warning: symbol 'emulate_ops' was not declared. Should it be static? Drop the return statements. arch/x86/kvm/x86.c:2878:2: warning: returning void-valued expression arch/x86/kvm/x86.c:2944:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit 4866d5e3d59c7831c7fa117c246a39165817db0d Author: Harvey Harrison Date: Tue Feb 19 10:32:02 2008 -0800 KVM: SVM: make iopm_base static Fixes sparse warning as well. arch/x86/kvm/svm.c:69:15: warning: symbol 'iopm_base' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit 77cd337f2246ae72915538383e8f5a6b7ffb363d Author: Harvey Harrison Date: Tue Feb 19 10:43:11 2008 -0800 KVM: x86 emulator: fix sparse warnings in x86_emulate.c Nesting __emulate_2op_nobyte inside__emulate_2op produces many shadowed variable warnings on the internal variable _tmp used by both macros. Change the outer macro to use __tmp. Avoids a sparse warning like the following at every call site of __emulate_2op arch/x86/kvm/x86_emulate.c:1091:3: warning: symbol '_tmp' shadows an earlier one arch/x86/kvm/x86_emulate.c:1091:3: originally declared here [18 more warnings suppressed] Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit f11c3a8d84d7bf091bf963edd7104dd4ba6416c3 Author: Amit Shah Date: Thu Feb 21 01:00:30 2008 +0530 KVM: Add stat counter for hypercalls Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit a5f61300c489e334ddf99781a13a7f8d4b580781 Author: Avi Kivity Date: Wed Feb 20 17:57:21 2008 +0200 KVM: Use x86's segment descriptor struct instead of private definition The x86 desc_struct unification allows us to remove segment_descriptor.h. Signed-off-by: Avi Kivity commit ef2979bd98dac86ea6a4cd9bdd6820a466108017 Author: Avi Kivity Date: Wed Feb 20 12:04:47 2008 +0200 KVM: Increase the number of user memory slots per vm Signed-off-by: Avi Kivity commit a988b910ef816ed57e1cecbec14e98e906453f91 Author: Avi Kivity Date: Wed Feb 20 11:59:20 2008 +0200 KVM: Add API for determining the number of supported memory slots Signed-off-by: Avi Kivity commit edbe6c325da48e707a3b31310c5ff5783cf6c0be Author: Avi Kivity Date: Wed Feb 20 11:56:51 2008 +0200 KVM: Increase vcpu count to 16 With NPT support, scalability is much improved. Signed-off-by: Avi Kivity commit f725230af9ea03f6cc6f4a90e87aa428df46ec19 Author: Avi Kivity Date: Wed Feb 20 11:53:16 2008 +0200 KVM: Add API to retrieve the number of supported vcpus per vm Signed-off-by: Avi Kivity commit 7a95727567f0991751c2db774a110b4f8080de7f Author: Harvey Harrison Date: Tue Feb 19 07:40:41 2008 -0800 KVM: x86 emulator: make register_address_increment and JMP_REL static inlines Change jmp_rel() to a function as well. Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit e4706772ea46e57cf69a7140c40063a21884c8e0 Author: Harvey Harrison Date: Tue Feb 19 07:40:38 2008 -0800 KVM: x86 emulator: make register_address, address_mask static inlines Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit ddcb2885e2902ebfc422eccd763b02c5ee22d68b Author: Harvey Harrison Date: Mon Feb 18 11:12:48 2008 -0800 KVM: x86 emulator: add ad_mask static inline Replaces open-coded mask calculation in macros. Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit 790c73f6289a204f858ffdcbe4a2b38e91657ec6 Author: Glauber de Oliveira Costa Date: Fri Feb 15 17:52:48 2008 -0200 x86: KVM guest: paravirtualized clocksource This is the guest part of kvm clock implementation It does not do tsc-only timing, as tsc can have deltas between cpus, and it did not seem worthy to me to keep adjusting them. We do use it, however, for fine-grained adjustment. Other than that, time comes from the host. [randy dunlap: add missing include] [randy dunlap: disallow on Voyager or Visual WS] Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Randy Dunlap Signed-off-by: Avi Kivity commit 18068523d3a0b41fcee5b53cdb437a0ab4d65e4b Author: Glauber de Oliveira Costa Date: Fri Feb 15 17:52:47 2008 -0200 KVM: paravirtualized clocksource: host part This is the host part of kvm clocksource implementation. As it does not include clockevents, it is a fairly simple implementation. We only have to register a per-vcpu area, and start writing to it periodically. The area is binary compatible with xen, as we use the same shadow_info structure. [marcelo: fix bad_page on MSR_KVM_SYSTEM_TIME] [avi: save full value of the msr, even if enable bit is clear] [avi: clear previous value of time_page] Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 24e09cbf480a72f9c952af4ca77b159503dca44b Author: Joerg Roedel Date: Wed Feb 13 18:58:47 2008 +0100 KVM: SVM: enable LBR virtualization This patch implements the Last Branch Record Virtualization (LBRV) feature of the AMD Barcelona and Phenom processors into the kvm-amd module. It will only be enabled if the guest enables last branch recording in the DEBUG_CTL MSR. So there is no increased world switch overhead when the guest doesn't use these MSRs. Signed-off-by: Joerg Roedel Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit f65c229c3e7743c6654c16b9ec6248466b5eef21 Author: Joerg Roedel Date: Wed Feb 13 18:58:46 2008 +0100 KVM: SVM: allocate the MSR permission map per VCPU This patch changes the kvm-amd module to allocate the SVM MSR permission map per VCPU instead of a global map for all VCPUs. With this we have more flexibility allowing specific guests to access virtualized MSRs. This is required for LBR virtualization. Signed-off-by: Joerg Roedel Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit e6101a96c9efb74c98bba6322d4c5ea89e47e0fe Author: Joerg Roedel Date: Wed Feb 13 18:58:45 2008 +0100 KVM: SVM: let init_vmcb() take struct vcpu_svm as parameter Change the parameter of the init_vmcb() function in the kvm-amd module from struct vmcb to struct vcpu_svm. Signed-off-by: Joerg Roedel Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit 2e11384c2c6f1ce662b1e5b05ba49b216a052f2a Author: Ryan Harper Date: Mon Feb 11 10:26:38 2008 -0600 KVM: VMX: fix typo in VMX header define Looking at Intel Volume 3b, page 148, table 20-11 and noticed that the field name is 'Deliver' not 'Deliever'. Attached patch changes the define name and its user in vmx.c Signed-off-by: Ryan Harper Signed-off-by: Avi Kivity commit 709ddebf81cb40e3c36c6109a7892e8b93a09464 Author: Joerg Roedel Date: Thu Feb 7 13:47:45 2008 +0100 KVM: SVM: add support for Nested Paging This patch contains the SVM architecture dependent changes for KVM to enable support for the Nested Paging feature of AMD Barcelona and Phenom processors. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit fb72d1674d860b0c9ef9b66b7f4f01fe5b3d2c00 Author: Joerg Roedel Date: Thu Feb 7 13:47:44 2008 +0100 KVM: MMU: add TDP support to the KVM MMU This patch contains the changes to the KVM MMU necessary for support of the Nested Paging feature in AMD Barcelona and Phenom Processors. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit cc4b6871e771e76dc1de06adb8aed261a1c66be8 Author: Joerg Roedel Date: Thu Feb 7 13:47:43 2008 +0100 KVM: export the load_pdptrs() function to modules The load_pdptrs() function is required in the SVM module for NPT support. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 4d9976bbdc09e08b69fc12fee2042c3528187b32 Author: Joerg Roedel Date: Thu Feb 7 13:47:42 2008 +0100 KVM: MMU: make the __nonpaging_map function generic The mapping function for the nonpaging case in the softmmu does basically the same as required for Nested Paging. Make this function generic so it can be used for both. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 1855267210e1a8c9d41fe3a3c7a0d42eca5fb7cd Author: Joerg Roedel Date: Thu Feb 7 13:47:41 2008 +0100 KVM: export information about NPT to generic x86 code The generic x86 code has to know if the specific implementation uses Nested Paging. In the generic code Nested Paging is called Two Dimensional Paging (TDP) to avoid confusion with (future) TDP implementations of other vendors. This patch exports the availability of TDP to the generic x86 code. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 6c7dac72d5c7dc0e09512dce865398167be9a8f7 Author: Joerg Roedel Date: Thu Feb 7 13:47:40 2008 +0100 KVM: SVM: add module parameter to disable Nested Paging To disable the use of the Nested Paging feature even if it is available in hardware this patch adds a module parameter. Nested Paging can be disabled by passing npt=0 to the kvm_amd module. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit e3da3acdb32c1804a5c853feebcc037b7434076f Author: Joerg Roedel Date: Thu Feb 7 13:47:39 2008 +0100 KVM: SVM: add detection of Nested Paging feature Let SVM detect if the Nested Paging feature is available on the hardware. Disable it to keep this patch series bisectable. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 33bd6a0b3e8baed6469c8e68ea1b16cb50c4f5af Author: Joerg Roedel Date: Thu Feb 7 13:47:38 2008 +0100 KVM: SVM: move feature detection to hardware setup code By moving the SVM feature detection from the each_cpu code to the hardware setup code it runs only once. As an additional advance the feature check is now available earlier in the module setup process. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 9457a712a2f464c4b21bb7f78998775c69673a0c Author: Joerg Roedel Date: Thu Jan 31 14:57:40 2008 +0100 KVM: allow access to EFER in 32bit KVM This patch makes the EFER register accessible on a 32bit KVM host. This is necessary to boot 32 bit PAE guests under SVM. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 9f62e19a1107466b9e9501e23a9dd5acb81fdca1 Author: Joerg Roedel Date: Thu Jan 31 14:57:39 2008 +0100 KVM: VMX: unifdef the EFER specific code To allow access to the EFER register in 32bit KVM the EFER specific code has to be exported to the x86 generic code. This patch does this in a backwards compatible manner. [avi: add check for EFER-less hosts] Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 50a37eb4e05efaa7bac6a948fd4db1a48c728b99 Author: Joerg Roedel Date: Thu Jan 31 14:57:38 2008 +0100 KVM: align valid EFER bits with the features of the host system This patch aligns the bits the guest can set in the EFER register with the features in the host processor. Currently it lets EFER.NX disabled if the processor does not support it and enables EFER.LME and EFER.LMA only for KVM on 64 bit hosts. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit f2b4b7ddf633ffa24ce7c89c9e0d8a06463484e3 Author: Joerg Roedel Date: Thu Jan 31 14:57:37 2008 +0100 KVM: make EFER_RESERVED_BITS configurable for architecture code This patch give the SVM and VMX implementations the ability to add some bits the guest can set in its EFER register. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 0aac03f07b37da96e00371e66973d5ffaae578a4 Author: Andrea Arcangeli Date: Wed Jan 30 19:57:35 2008 +0100 KVM: Disable pagefaults during copy_from_user_inatomic() With CONFIG_PREEMPT=n, this is needed in order to disable the fault-in code from sleeping. Signed-off-by: Andrea Arcangeli Signed-off-by: Avi Kivity commit 31bb117eb48f2629e030ca547ca89a1c34150183 Author: Hollis Blanchard Date: Mon Jan 28 17:42:34 2008 -0600 KVM: Use CONFIG_PREEMPT_NOTIFIERS around struct preempt_notifier This allows kvm_host.h to be #included even when struct preempt_notifier is undefined. This is needed to build ppc asm-offsets.h. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 2384d2b32640839a4d4d260ca7c5aa4edbf68d91 Author: Sheng Yang Date: Thu Jan 17 15:14:33 2008 +0800 KVM: VMX: Enable Virtual Processor Identification (VPID) To allow TLB entries to be retained across VM entry and VM exit, the VMM can now identify distinct address spaces through a new virtual-processor ID (VPID) field of the VMCS. [avi: drop vpid_sync_all()] [avi: add "cc" to asm constraints] Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit adb1ff46754a87f3f6c9e7ee0a92f9a8a183bb38 Author: Avi Kivity Date: Thu Jan 24 15:13:08 2008 +0200 KVM: Limit vcpu mmap size to one page on non-x86 The second page is only needed on archs that support pio. Noted by Carsten Otte. Signed-off-by: Avi Kivity commit d196e343361c229496adeda42335856da9d057de Author: Avi Kivity Date: Thu Jan 24 11:44:11 2008 +0200 KVM: MMU: Decouple mmio from shadow page tables Currently an mmio guest pte is encoded in the shadow pagetable as a not-present trapping pte, with the SHADOW_IO_MARK bit set. However nothing is ever done with this information, so maintaining it is a useless complication. This patch moves the check for mmio to before shadow ptes are instantiated, so the shadow code is never invoked for ptes that reference mmio. The code is simpler, and with future work, can be made to handle mmio concurrently. Signed-off-by: Avi Kivity commit 1d6ad2073e5354912291277c606a57fd37330f04 Author: Avi Kivity Date: Wed Jan 23 22:26:09 2008 +0200 KVM: x86 emulator: group decoding for group 1 instructions Opcodes 0x80-0x83 Signed-off-by: Avi Kivity commit 09566765efd034feba45611f9d0ae9a702f8bb1d Author: Avi Kivity Date: Wed Jan 23 18:14:23 2008 +0200 KVM: Only x86 has pio Signed-off-by: Avi Kivity commit 5c5027425ec23ded452879ee5d0775a9a90fb9bf Author: Jan Engelhardt Date: Tue Jan 22 20:46:14 2008 +0100 KVM: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Avi Kivity commit d95058a1a7170ae2af2939cbdab0ff5d5e005238 Author: Avi Kivity Date: Fri Jan 18 13:36:50 2008 +0200 KVM: x86 emulator: add group 7 decoding This adds group decoding for opcode 0x0f 0x01 (group 7). Signed-off-by: Avi Kivity commit fd60754e4ffa992586346dd56451723b4c096626 Author: Avi Kivity Date: Fri Jan 18 13:12:26 2008 +0200 KVM: x86 emulator: Group decoding for groups 4 and 5 Add group decoding support for opcode 0xfe (group 4) and 0xff (group 5). Signed-off-by: Avi Kivity commit 7d858a19efe5844a98e060931570359b70dea6d1 Author: Avi Kivity Date: Fri Jan 18 12:58:04 2008 +0200 KVM: x86 emulator: Group decoding for group 3 This adds group decoding support for opcodes 0xf6, 0xf7 (group 3). Signed-off-by: Avi Kivity commit 43bb19cd3398d3f544d8e2d6ed6c5c5d7b4e5819 Author: Avi Kivity Date: Fri Jan 18 12:46:50 2008 +0200 KVM: x86 emulator: group decoding for group 1A This adds group decode support for opcode 0x8f. Signed-off-by: Avi Kivity commit e09d082c03e137015bc0a17ca77e4b9dca08a5d7 Author: Avi Kivity Date: Fri Jan 18 12:38:59 2008 +0200 KVM: x86 emulator: add support for group decoding Certain x86 instructions use bits 3:5 of the byte following the opcode as an opcode extension, with the decode sometimes depending on bits 6:7 as well. Add support for this in the main decoding table rather than an ad-hock adaptation per opcode. Signed-off-by: Avi Kivity commit 1ae0a13def678876b9acfb5ac1e2cf7d5d45a60d Author: Dong, Eddie Date: Mon Jan 7 13:20:25 2008 +0200 KVM: MMU: Simplify hash table indexing Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 489f1d6526ab68ca1842398fa3ae95c597fe3d32 Author: Dong, Eddie Date: Mon Jan 7 11:14:20 2008 +0200 KVM: MMU: Update shadow ptes on partial guest pte writes A guest partial guest pte write will leave shadow_trap_nonpresent_pte in spte, which generates a vmexit at the next guest access through that pte. This patch improves this by reading the full guest pte in advance and thus being able to update the spte and eliminate the vmexit. This helps pae guests which use two 32-bit writes to set a single 64-bit pte. [truncation fix by Eric] Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Feng (Eric) Liu Signed-off-by: Avi Kivity commit 7cf069955f2f0b95fed6a8b1a61ef598a3df0f4e Author: David S. Miller Date: Sun Apr 27 00:25:30 2008 -0700 sparc64: Kill bogus RT_ALIGNEDSZ macro from signal.c The structure has to be 8-byte aligned in size, so this macro is just noise. Signed-off-by: David S. Miller commit 3ade11601f4a3a38d6cd3675ccc87bf11e251915 Author: Robert Reif Date: Sat Apr 26 23:10:19 2008 -0700 sparc: sunzilog.c remove unused argument Remove unused argument in function call. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 403ae52ac047eb339f2b7e8cdf93a3b8077914db Author: Robert Reif Date: Sat Apr 26 22:29:43 2008 -0700 sparc: fix drivers/video/tcx.c warning Fix compile warning: CC drivers/video/tcx.o drivers/video/tcx.c: In function ‘tcx_init_one’: drivers/video/tcx.c:477: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 4 has type ‘resource_size_t’ This was the only sparc driver to use the resource directly in the printk so I changed it to physbase like the other drivers. Boot tested on SS4. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 5da496e4b90626784a82803682e186a8e67222a0 Author: David S. Miller Date: Sat Apr 26 21:07:35 2008 -0700 sparc64: Kill unused local ISA bus layer. No more drivers use this, and therefore it can die. Signed-off-by: David S. Miller commit 9c1a5077fdca99356c891af37931e537dea874f5 Author: David S. Miller Date: Sat Apr 26 21:02:21 2008 -0700 input: Rewrite sparcspkr device probing. Remove all dependencies on EBUS and ISA bus layers, which we'd like to remove as they are superfluous. While we're here, add support for proper frequency changing on BBC beep devices. Unlike the comments that were here, this device can in fact use a programmable frequency. Signed-off-by: David S. Miller commit dc8ca2a111c10f031346f6f8f82640d6bc0dd347 Author: David S. Miller Date: Sat Apr 26 20:59:52 2008 -0700 sparc64: Do not ignore 'pmu' device ranges. I must have disabled this due to other bugs which were fixed over time. And this is needed in order for child devices of "pmu" to get proper resource values. Signed-off-by: David S. Miller commit 0eb78f0b1a0f61b292380028b0debd5af7b3838a Author: David S. Miller Date: Sat Apr 26 03:35:02 2008 -0700 sparc64: Kill ISA_FLOPPY_WORKS code. This never was enabled, I could never get it working, and if anyone wants to try and get it's very easy to reference this code in the history. It's the only thing referencing the silly ISA device layer in the sparc64 tree. OF device layer infrastructure is what should be used for these things. Signed-off-by: David S. Miller commit 09337f501ebdd224cd69df6d168a5c4fe75d86fa Author: David S. Miller Date: Sat Apr 26 03:17:12 2008 -0700 sparc64: Kill CONFIG_SPARC32_COMPAT It's completely superfluous, CONFIG_COMPAT is sufficient. What this used to be is an umbrella for enabling code shared by all 32-bit compat binary support types. But with the removal of SunOS and Solaris support, the only one left is Linux 32-bit ELF. Update defconfig. Signed-off-by: David S. Miller commit 05d515ef3d14eb95ffe9239ec1b8a03b24fa8469 Author: David S. Miller Date: Sat Apr 26 03:07:34 2008 -0700 sparc64: Cleanups and corrections for arch/sparc64/Kconfig Refer to chip as "SPARC" throughout. Say 32-bit SPARC and 64-bit SPARC rather than mentioning specific chips such like UltraSPARC, as appropriate. Remove non-sense help text referring to things that will never appear on a SPARC system, such as EISA busses etc. Use "help" instead of "--help--" Signed-off-by: David S. Miller commit 227c3311786dbe64cb221e63d53817f98240e587 Author: David S. Miller Date: Sat Apr 26 02:19:18 2008 -0700 sparc64: Fix wedged irq regression. Kernel bugzilla 10273 As reported by Jos van der Ende, ever since commit 5a606b72a4309a656cd1a19ad137dc5557c4b8ea ("[SPARC64]: Do not ACK an INO if it is disabled or inprogress.") sun4u interrupts can get stuck. What this changset did was add the following conditional to the various IRQ chip ->enable() handlers on sparc64: if (unlikely(desc->status & (IRQ_DISABLED|IRQ_INPROGRESS))) return; which is correct, however it means that special care is needed in the ->enable() method. Specifically we must put the interrupt into IDLE state during an enable, or else it might never be sent out again. Setting the INO interrupt state to IDLE resets the state machine, the interrupt input to the INO is retested by the hardware, and if an interrupt is being signalled by the device, the INO moves back into TRANSMIT state, and an interrupt vector is sent to the cpu. The two sun4v IRQ chip handlers were already doing this properly, only sun4u got it wrong. Signed-off-by: David S. Miller commit 20430214cc0073dc7e817b032e32ae2ae54b4911 Author: Dmitry Torokhov Date: Sun Apr 27 00:10:11 2008 -0400 Input: xpad - fix build failure If both CONFIG_JOYSTICK_XPAD_FF and CONFIG_JOYSTICK_XPAD_LEDS are unset xpad_bulk_out is not defined and build fails. Move it out of the #ifdef block so it is always defined. Reported-by: Ingo Molnar Signed-off-by: Dmitry Torokhov commit 7f424a8b08c26dc14ac5c17164014539ac9a5c65 Author: Peter Zijlstra Date: Fri Apr 25 17:39:01 2008 +0200 fix idle (arch, acpi and apm) and lockdep OK, so 25-mm1 gave a lockdep error which made me look into this. The first thing that I noticed was the horrible mess; the second thing I saw was hacks like: 71e93d15612c61c2e26a169567becf088e71b8ff The problem is that arch idle routines are somewhat inconsitent with their IRQ state handling and instead of fixing _that_, we go paper over the problem. So the thing I've tried to do is set a standard for idle routines and fix them all up to adhere to that. So the rules are: idle routines are entered with IRQs disabled idle routines will exit with IRQs enabled Nearly all already did this in one form or another. Merge the 32 and 64 bit bits so they no longer have different bugs. As for the actual lockdep warning; __sti_mwait() did a plainly un-annotated irq-enable. Signed-off-by: Peter Zijlstra Tested-by: Bob Copeland Signed-off-by: Ingo Molnar commit 5f0b2976cb2b62668a076f54419c24b8ab677167 Author: Yinghai Lu Date: Mon Apr 14 16:08:25 2008 -0700 x86: add pci=check_enable_amd_mmconf and dmi check so will disable that feature by default, and only enable that via pci=check_enable_amd_mmconf or for system match with dmi table. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e8ee6f0ae5cd860e8e6c02807edfa3c1fa01bcb5 Author: Yinghai Lu Date: Sun Apr 13 01:41:58 2008 -0700 x86: work around io allocation overlap of HT links normally BIOSes assign io/mmio range to different HT links without overlapping, even same node same link should get non overlapping entries. but Rafael L. Wysocki's buggy BIOS creates a link with overlapping entries for mmio and io: node 0 link 0: io port [1000, ffffff] node 0 link 0: mmio [e0000000, efffffff] node 0 link 0: mmio [a0000, bffff] node 0 link 0: mmio [80000000, ffffffff] try to merge them and we will get: bus: [00, ff] on node 0 link 0 bus: 00 index 0 io port: [0, ffff] bus: 00 index 1 mmio: [80000000, fcffffffff] bus: 00 index 2 mmio: [a0000, bffff] so later we will reduce the chance to assign used resource to unassigned device. Reported-by: "Rafael J. Wysocki" Signed-off-by: Yinghai Lu Tested-by: "Rafael J. Wysocki" Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cbf9bd603ab1fc4d2ecb1c6a4b7bd1cc50a7e82a Author: Yinghai Lu Date: Tue Feb 19 03:21:06 2008 -0800 acpi: get boot_cpu_id as early for k8_scan_nodes [mingo@elte.hu: split from "x86_64: get boot_cpu_id as early for k8_scan_nodes] Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4cf19463745fad81ef2eed3e4e0038da5fd153f8 Author: Yinghai Lu Date: Fri Apr 11 15:14:52 2008 -0700 x86_64: don't need set default res if only have one root bus if there's only one root bus there's no need to split resources. This patch fixes the issue described at: http://lkml.org/lkml/2008/4/10/304 Reported-and-bisected-by: Rafael J. Wysocki Tested-by: Rafael J. Wysocki Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6e184f299d696203bc40545b9db216089d88bef7 Author: Yinghai Lu Date: Thu Mar 6 01:15:31 2008 -0800 x86: double check the multi root bus with fam10h mmconf some bioses give same range to mmconf for fam10h msr, and mmio for node/link. fam10h msr will overide mmio for node/link. so we can not assign range to devices under node/link for unassigned resources. this patch will take range out from the mmio for node/link Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 30a18d6c3f1e774de656ebd8ff219d53e2ba4029 Author: Yinghai Lu Date: Tue Feb 19 03:21:20 2008 -0800 x86: multi pci root bus with different io resource range, on 64-bit scan AMD opteron io/mmio routing to make sure every pci root bus get correct resource range. Thus later pci scan could assign correct resource to device with unassigned resource. this can fix a system without _CRS for multi pci root bus. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 35ddd068fb94b187e94a3fc497ccecf27bdda9ae Author: Yinghai Lu Date: Tue Feb 19 03:15:08 2008 -0800 x86: use bus conf in NB conf fun1 to get bus range on, on 64-bit ... so we use the same code with Quad core cpu as old opteron. This patch is useful when acpi=off or _PXM is not there in DSDT. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 871d5f8dd0f7647f03facd4cb79485938d1b61ab Author: Yinghai Lu Date: Tue Feb 19 03:20:09 2008 -0800 x86: get mp_bus_to_node early Currently, on an amd k8 system with multi ht chains, the numa_node of pci devices under /sys/devices/pci0000:80/* is always 0, even if that chain is on node 1 or 2 or 3. Workaround: pcibus_to_node(bus) is used when we want to get the node that pci_device is on. In struct device, we already have numa_node member, and we could use dev_to_node()/set_dev_node() to get and set numa_node in the device. set_dev_node is called in pci_device_add() with pcibus_to_node(bus), and pcibus_to_node uses bus->sysdata for nodeid. The problem is when pci_add_device is called, bus->sysdata is not assigned correct nodeid yet. The result is that numa_node will always be 0. pcibios_scan_root and pci_scan_root could take sysdata. So we need to get mp_bus_to_node mapping before these two are called, and thus get_mp_bus_to_node could get correct node for sysdata in root bus. In scanning of the root bus, all child busses will take parent bus sysdata. So all pci_device->dev.numa_node will be assigned correctly and automatically. Later we could use dev_to_node(&pci_dev->dev) to get numa_node, and we could also could make other bus specific device get the correct numa_node too. This is an updated version of pci_sysdata and Jeff's pci_domain patch. [ mingo@elte.hu: build fix ] Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bb63b4219976d48ed6d22ac33c18be334fb5a78c Author: Yinghai Lu Date: Thu Feb 28 23:56:50 2008 -0800 x86 pci: remove checking type for mmconfig probe doesn't need to check if it is type1 or type2, we can use raw_pci_ops directly. also make pci_direct_conf1 static again. anyway is there system with type 2 and mmconf support? Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d2ebdf4bae4f1d7c30e71fd74f270ca4cda024fc Author: Yinghai Lu Date: Wed Feb 20 22:21:57 2008 -0800 x86: remove unneeded check in mmconf reject mmconfig is only used to access extended configuration space. so don't need to reject MFG that only have one entry and only handle bus0. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0d358f22f6c8f03ab215eee8d52b74f78cc3c7db Author: Yinghai Lu Date: Tue Feb 19 03:20:41 2008 -0800 driver core: try parent numa_node at first before using default in the device_add, we try to use use parent numa_node. need to make sure pci root bus's bridge device numa_node is set. then we could use device->numa_node direclty for all device. and don't need to call pcibus_to_node(). Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d39398a333ddc490f842ccdd4b76c9674682aa5d Author: Yinghai Lu Date: Tue Feb 26 11:04:17 2008 -0800 x86: seperate mmconf for fam10h out from setup_64.c Separate mmconf for fam10h out from setup_64.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d4c4d09415c48ecb621804cd4ec4a7a4d9a3662f Author: Yinghai Lu Date: Mon Feb 25 18:41:35 2008 -0800 x86: if acpi=off, force setting the mmconf for fam10h some BIOS only let AMD fam 10h handle bus0, and nvidia mcp55/ck804 to handle other buses. at that case MCFG will cover all over them. but with acpi=off, we can not use MCFG. this patch will double check the busnbits, and if it is less handling 256 bues, and acpi=off will forcely reset the mmconf in msr, so we still use mmconf in above case. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7fd0da4085d5b012a6bdcbbd63da7ead9fc69ad4 Author: Yinghai Lu Date: Tue Feb 19 03:13:02 2008 -0800 x86_64: check MSR to get MMCONFIG for AMD Family 10h so even booting kernel with acpi=off or even MCFG is not there, we still can use MMCONFIG. Signed-off-by: Yinghai Lu Cc: Andi Kleen Cc: Greg KH Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit eee206c3bfd0888f22ae9da3172487c61d72187d Author: Yinghai Lu Date: Tue Feb 19 03:13:43 2008 -0800 x86_64: check and enable MMCONFIG for AMD Family 10h So we can use MMCONF when MMCONF is not set by BIOS using TOP_MEM2 msr to get memory top, and try to scan fam10h mmio routing to make sure the range is not conflicted with some prefetch MMIO that is above 4G. (current only LinuxBIOS assign 64 bit mmio above 4G for some co-processor) Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 57741a779070e0b141b6148136b420c8d35ccbce Author: Yinghai Lu Date: Fri Feb 15 01:32:50 2008 -0800 x86_64: set cfg_size for AMD Family 10h in case MMCONFIG reuse pci_cfg_space_size but skip check pci express and pci-x CAP ID. Signed-off-by: Yinghai Lu Cc: Andrew Morton Acked-by: Greg Kroah-Hartman Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 05c58b8ac77639c17205f0b2a2d9eb1971dc47ad Author: Yinghai Lu Date: Fri Feb 15 01:30:14 2008 -0800 x86: mmconf enable mcfg early Patch "x86: validate against ACPI motherboard resources" changed the mmconf init sequence, and init MMCONF late in acpi_init. here change it back to old sequence: 1. check hostbridge in early 2. check MCFG with e820 in early 3. if all fail, will check MCFg with acpi _CRS in acpi_init So we can make MCONF working again when acpi=off is set if hostbridge support that. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Greg KH Cc: Greg KH Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0b64ad7123eb013c3de26750f2d4c356cd566231 Author: Yinghai Lu Date: Fri Feb 15 01:28:41 2008 -0800 x86: clear pci_mmcfg_virt when mmcfg get rejected For x86_64, need to free pci_mmcfg_virt, and iounmap some pointers when MMCONF is not reserved in E820 or acpi _CRS and get rejected. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Greg KH Cc: Greg KH Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7752d5cfe3d11ca0bb9c673ec38bd78ba6578f8e Author: Robert Hancock Date: Fri Feb 15 01:27:20 2008 -0800 x86: validate against acpi motherboard resources This path adds validation of the MMCONFIG table against the ACPI reserved motherboard resources. If the MMCONFIG table is found to be reserved in ACPI, we don't bother checking the E820 table. The PCI Express firmware spec apparently tells BIOS developers that reservation in ACPI is required and E820 reservation is optional, so checking against ACPI first makes sense. Many BIOSes don't reserve the MMCONFIG region in E820 even though it is perfectly functional, the existing check needlessly disables MMCONFIG in these cases. In order to do this, MMCONFIG setup has been split into two phases. If PCI configuration type 1 is not available then MMCONFIG is enabled early as before. Otherwise, it is enabled later after the ACPI interpreter is enabled, since we need to be able to execute control methods in order to check the ACPI reserved resources. Presently this is just triggered off the end of ACPI interpreter initialization. There are a few other behavioral changes here: - Validate all MMCONFIG configurations provided, not just the first one. - Validate the entire required length of each configuration according to the provided ending bus number is reserved, not just the minimum required allocation. - Validate that the area is reserved even if we read it from the chipset directly and not from the MCFG table. This catches the case where the BIOS didn't set the location properly in the chipset and has mapped it over other things it shouldn't have. This also cleans up the MMCONFIG initialization functions so that they simply do nothing if MMCONFIG is not compiled in. Based on an original patch by Rajesh Shah from Intel. [akpm@linux-foundation.org: many fixes and cleanups] Signed-off-by: Robert Hancock Signed-off-by: Andi Kleen Cc: Andrew Morton Cc: Greg KH Signed-off-by: Thomas Gleixner Tested-by: Andi Kleen Cc: Rajesh Shah Cc: Jesse Barnes Acked-by: Linus Torvalds Cc: Andi Kleen Cc: Greg KH Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit c3bf9bc243092c53946fd6d8ebd6dc2f4e572d48 Merge: e3505dd... c2b91e2... Author: Linus Torvalds Date: Sat Apr 26 14:04:32 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootmem-v3 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootmem-v3: x86_64/mm: check and print vmemmap allocation continuous x86_64: fix setup_node_bootmem to support big mem excluding with memmap x86_64: make reserve_bootmem_generic() use new reserve_bootmem() mm: allow reserve_bootmem() cross nodes mm: offset align in alloc_bootmem() mm: fix alloc_bootmem_core to use fast searching for all nodes mm: make mem_map allocation continuous commit e3505dd50caf54e6f81f897cb347441409974a15 Merge: 9b79ed9... f509391... Author: Linus Torvalds Date: Sat Apr 26 14:03:54 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: kbuild: scripts/Makefile.modpost typo fix kbuild: soften MODULE_LICENSE check commit c2b91e2eec9678dbda274e906cc32ea8f711da3b Author: Yinghai Lu Date: Sat Apr 12 01:19:24 2008 -0700 x86_64/mm: check and print vmemmap allocation continuous On big systems with lots of memory, don't print out too much during bootup, and make it easy to find if it is continuous. on 256G 8 sockets system will get [ffffe20000000000-ffffe20002bfffff] PMD -> [ffff810001400000-ffff810003ffffff] on node 0 [ffffe2001c700000-ffffe2001c7fffff] potential offnode page_structs [ffffe20002c00000-ffffe2001c7fffff] PMD -> [ffff81000c000000-ffff8100255fffff] on node 0 [ffffe20038700000-ffffe200387fffff] potential offnode page_structs [ffffe2001c800000-ffffe200387fffff] PMD -> [ffff810820200000-ffff81083c1fffff] on node 1 [ffffe20040000000-ffffe2007fffffff] PUD ->ffff811027a00000 on node 2 [ffffe20038800000-ffffe2003fffffff] PMD -> [ffff811020200000-ffff8110279fffff] on node 2 [ffffe20054700000-ffffe200547fffff] potential offnode page_structs [ffffe20040000000-ffffe200547fffff] PMD -> [ffff811027c00000-ffff81103c3fffff] on node 2 [ffffe20070700000-ffffe200707fffff] potential offnode page_structs [ffffe20054800000-ffffe200707fffff] PMD -> [ffff811820200000-ffff81183c1fffff] on node 3 [ffffe20080000000-ffffe200bfffffff] PUD ->ffff81202fa00000 on node 4 [ffffe20070800000-ffffe2007fffffff] PMD -> [ffff812020200000-ffff81202f9fffff] on node 4 [ffffe2008c700000-ffffe2008c7fffff] potential offnode page_structs [ffffe20080000000-ffffe2008c7fffff] PMD -> [ffff81202fc00000-ffff81203c3fffff] on node 4 [ffffe200a8700000-ffffe200a87fffff] potential offnode page_structs [ffffe2008c800000-ffffe200a87fffff] PMD -> [ffff812820200000-ffff81283c1fffff] on node 5 [ffffe200c0000000-ffffe200ffffffff] PUD ->ffff813037a00000 on node 6 [ffffe200a8800000-ffffe200bfffffff] PMD -> [ffff813020200000-ffff8130379fffff] on node 6 [ffffe200c4700000-ffffe200c47fffff] potential offnode page_structs [ffffe200c0000000-ffffe200c47fffff] PMD -> [ffff813037c00000-ffff81303c3fffff] on node 6 [ffffe200c4800000-ffffe200e07fffff] PMD -> [ffff813820200000-ffff81383c1fffff] on node 7 instead of a very long print out... Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1a27fc0a42162964d758e9d36d2d1b49c082a67c Author: Yinghai Lu Date: Tue Mar 18 12:52:37 2008 -0700 x86_64: fix setup_node_bootmem to support big mem excluding with memmap typical case: four sockets system, every node has 4g ram, and we are using: memmap=10g$4g to mask out memory on node1 and node2 when numa is enabled, early_node_mem is used to get node_data and node_bootmap. if it can not get memory from the same node with find_e820_area(), it will use alloc_bootmem to get buff from previous nodes. so check it and print out some info about it. need to move early_res_to_bootmem into every setup_node_bootmem. and it takes range that node has. otherwise alloc_bootmem could return addr that reserved early. depends on "mm: make reserve_bootmem can crossed the nodes". Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 8b3cd09ed23049fcb02479c6286744b36324ac9d Author: Yinghai Lu Date: Tue Mar 18 12:50:21 2008 -0700 x86_64: make reserve_bootmem_generic() use new reserve_bootmem() "mm: make reserve_bootmem can crossed the nodes" provides new reserve_bootmem(), let reserve_bootmem_generic() use that. reserve_bootmem_generic() is used to reserve initramdisk, so this way we can make sure even when bootloader or kexec load ranges cross the node memory boundaries, reserve_bootmem still works. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a5645a61b3b7e7d7de15e1a642ead600150ce94d Author: Yinghai Lu Date: Tue Mar 18 12:49:12 2008 -0700 mm: allow reserve_bootmem() cross nodes split reserve_bootmem_core() into two functions, one which checks conflicts, and one which sets the bits. and make reserve_bootmem to loop bdata_list to cross the nodes. user could be crashkernel and ramdisk..., in case the range provided by those externalities crosses the nodes. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9a2dc04cf070ee98e014a172695782ff42015fc4 Author: Yinghai Lu Date: Tue Mar 18 12:44:48 2008 -0700 mm: offset align in alloc_bootmem() need offset alignment when node_boot_start's alignment is less than the alignment required. use local node_boot_start to match alignment - so don't add extra operation in search loop. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ad09315cad17458e51c7f1f8b371cb942c54b955 Author: Yinghai Lu Date: Mon Mar 10 23:23:42 2008 -0700 mm: fix alloc_bootmem_core to use fast searching for all nodes Make the nodes other than node 0 use bdata->last_success for fast search too. We need to use __alloc_bootmem_core() for vmemmap allocation for other nodes when numa and sparsemem/vmemmap are enabled. Also, make fail_block path increase i with incr only after ALIGN to avoid extra increase when size is larger than align. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit e123dd3f0ec1664576456ea1ea045591a0a95f0c Author: Yinghai Lu Date: Sun Apr 13 11:51:06 2008 -0700 mm: make mem_map allocation continuous vmemmap allocation currently has this layout: [ffffe20000000000-ffffe200001fffff] PMD ->ffff810001400000 on node 0 [ffffe20000200000-ffffe200003fffff] PMD ->ffff810001800000 on node 0 [ffffe20000400000-ffffe200005fffff] PMD ->ffff810001c00000 on node 0 [ffffe20000600000-ffffe200007fffff] PMD ->ffff810002000000 on node 0 [ffffe20000800000-ffffe200009fffff] PMD ->ffff810002400000 on node 0 ... note that there is a 2M hole between them - not optimal. the root cause is that usemap (24 bytes) will be allocated after every 2M mem_map, and it will push next vmemmap (2M) to the next (2M) alignment. solution: try to allocate the mem_map continously. after the patch, we get: [ffffe20000000000-ffffe200001fffff] PMD ->ffff810001400000 on node 0 [ffffe20000200000-ffffe200003fffff] PMD ->ffff810001600000 on node 0 [ffffe20000400000-ffffe200005fffff] PMD ->ffff810001800000 on node 0 [ffffe20000600000-ffffe200007fffff] PMD ->ffff810001a00000 on node 0 [ffffe20000800000-ffffe200009fffff] PMD ->ffff810001c00000 on node 0 ... which is the ideal layout. and usemap will share a page because of they are allocated continuously too: sparse_early_usemap_alloc: usemap = ffff810024e00000 size = 24 sparse_early_usemap_alloc: usemap = ffff810024e00080 size = 24 sparse_early_usemap_alloc: usemap = ffff810024e00100 size = 24 sparse_early_usemap_alloc: usemap = ffff810024e00180 size = 24 ... so we make the bootmem allocation more compact and use less memory for usemap => mission accomplished ;-) Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9b79ed952bd7344d40152f8a560ad8a0d93f3886 Merge: a52b0d2... 19870de... Author: Linus Torvalds Date: Sat Apr 26 13:46:11 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-generic-bitops-v3 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-generic-bitops-v3: x86, bitops: select the generic bitmap search functions x86: include/asm-x86/pgalloc.h/bitops.h: checkpatch cleanups - formatting only x86: finalize bitops unification x86, UML: remove x86-specific implementations of find_first_bit x86: optimize find_first_bit for small bitmaps x86: switch 64-bit to generic find_first_bit x86: generic versions of find_first_(zero_)bit, convert i386 bitops: use __fls for fls64 on 64-bit archs generic: implement __fls on all 64-bit archs generic: introduce a generic __fls implementation x86: merge the simple bitops and move them to bitops.h x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps x86, uml: fix uml with generic find_next_bit for x86 x86: change x86 to use generic find_next_bit uml: Kconfig cleanup uml: fix build error commit a52b0d25a722e84da999005b75f972aa4824253c Merge: 539a5fe... f37afda... Author: Linus Torvalds Date: Sat Apr 26 13:44:19 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (46 commits) ide: constify struct ide_dma_ops ide: add struct ide_dma_ops (take 3) ide: add IDE_HFLAG_SERIALIZE_DMA host flag sl82c105: check bridge revision in sl82c105_init_one() au1xxx-ide: use ->init_dma method palm_bk3710: use ->init_dma method sgiioc4: use ->init_dma method icside: use ->init_dma method ide-pmac: use ->init_dma method ide: do complete DMA setup in ->init_dma method (take 2) au1xxx-ide: fix MWDMA support ide: cleanup ide_setup_dma() ide: factor out setting PCI bus-mastering from ide_hwif_setup_dma() ide: export ide_allocate_dma_engine() ide: move ide_setup_dma() call out from ->init_dma method alim15x3: skip DMA initialization completely on revs < 0x20 pdc202xx_old: remove init_dma_pdc202xx() ide: don't display "BIOS" settings in ide_setup_dma() ide: remove ->cds field from ide_hwif_t (take 2) ide: remove ide_dma_iobase() ... commit 539a5fe22620a1665cce504167953a71a43232ad Merge: 0124cec... fb88438... Author: Linus Torvalds Date: Sat Apr 26 13:29:41 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootparam * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootparam: x86, boot: Document for linked list of struct setup_data x86, boot: export linked list of struct setup_data via debugfs x86, boot: add linked list of struct setup_data x86, boot: add free_early to early reservation machanism commit f37afdaca711838b50ecd89b9c15fc745270d77c Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:24 2008 +0200 ide: constify struct ide_dma_ops * Export ide_dma_exec_cmd() and __ide_dma_test_irq(). * Constify struct ide_dma_ops. * Always set hwif->dma_ops to &sff_dma_ops in ide_setup_dma() (it is later overriden by ide_init_port() if needed) and drop 'const struct ide_port_info *d' argument. While at it: * Rename __ide_dma_test_irq() to ide_dma_test_irq(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e37bdc081a980dd0d669e6387bcf15ca9666f81 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:24 2008 +0200 ide: add struct ide_dma_ops (take 3) Add struct ide_dma_ops and convert core code + drivers to use it. While at it: * Drop "ide_" prefix from ->ide_dma_end and ->ide_dma_test_irq methods. * Drop "ide_" "infixes" from DMA methods. * au1xxx-ide.c: - use auide_dma_{test_irq,end}() directly in auide_dma_timeout() * pdc202xx_old.c: - drop "old_" "infixes" from DMA methods * siimage.c: - add siimage_dma_test_irq() helper - print SATA warning in siimage_init_one() * Remove no longer needed ->init_hwif implementations. v2: * Changes based on review from Sergei: - s/siimage_ide_dma_test_irq/siimage_dma_test_irq/ - s/drive->hwif/hwif/ in idefloppy_pc_intr(). - fix patch description w.r.t. au1xxx-ide changes - fix au1xxx-ide build - fix naming for cmd64*_dma_ops - drop "ide_" and "old_" infixes - s/hpt3xxx_dma_ops/hpt37x_dma_ops/ - s/hpt370x_dma_ops/hpt370_dma_ops/ - use correct DMA ops for HPT302/N, HPT371/N and HPT374 - s/it821x_smart_dma_ops/it821x_pass_through_dma_ops/ v3: * Two bugs slipped in v2 (noticed by Sergei): - use correct DMA ops for HPT374 (for real this time) - handle HPT370/HPT370A properly Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1fd1890594bd355a4217f5658a34763e77decee3 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:24 2008 +0200 ide: add IDE_HFLAG_SERIALIZE_DMA host flag * Add IDE_HFLAG_SERIALIZE_DMA host flag to serialize ports if DMA is available and handle it in ide_init_port(). * Convert sl82c105 host driver to use this new flag. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6c61064162e6a9965a062b445c6bd6c8ed019183 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:23 2008 +0200 sl82c105: check bridge revision in sl82c105_init_one() * Make sl82c105_bridge_revision() return 'u8' instead of 'unsigned long'. * Check bridge revision in sl82c105_init_one(). While at: * Use proper KERN_ level for printk(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 8552865935538127d2603110b3d36dba2b4e8eff Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:23 2008 +0200 au1xxx-ide: use ->init_dma method * Pass 'ide_hwif_t *hwif' instead of '_auide_hwif *auide' to auide_ddma_init(). * Add 'const struct ide_port_info *d' argument to auide_ddma_init(). * Convert the driver to use ->init_dma method. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b552a2c1dd01ab2380ea9429899591aa743f02e7 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:23 2008 +0200 palm_bk3710: use ->init_dma method * Move DMA setup to palm_bk3710_init_dma(). * Convert the driver to use ->init_dma method. Cc: Anton Vorontsov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 04216fa1befbf8c737b7bf3bcc636009723f40d9 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:23 2008 +0200 sgiioc4: use ->init_dma method * Move dma_base check from sgiioc4_ide_setup_pci_device() to ide_dma_sgiioc4(). * Replace ide_dma_sgiioc4() 'unsigned long dma_base' argument by 'const struct ide_port_info *d'. * Move hwif->INB setup from ide_init_sgiioc4() to sgiioc4_ide_setup_pci_device(). * Move ide_init_sgiioc4() call from sgiioc4_ide_setup_pci_device() to ide_dma_sgiioc4(). * Convert the driver to use ->init_dma method. Cc: Jeremy Higdon Signed-off-by: Bartlomiej Zolnierkiewicz commit 91432f48094db32579776bd0a9d8432b16dc0a09 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:23 2008 +0200 icside: use ->init_dma method * Add 'const struct ide_port_info *d' argument to icside_dma_init(). * Make icside_dma_init() return an error value and add icside_dma_off_init() (->init_dma implementation for case when DMA cannot be enabled). * Convert the driver to use ->init_dma method. Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 0d07192297f664afdee36b330ab4fe52a8e38a6a Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:22 2008 +0200 ide-pmac: use ->init_dma method * Move pmif->dma_regs check from pmac_ide_setup_device() to pmac_ide_init_dma(). * Get 'pmif' from 'hwif->hwif_data' in pmac_ide_init_dma() and replace 'pmac_ide_hwif_t *pmif' argument by 'const struct ide_port_info *d'. * Add pmac_ide_init_dma() implementation for CONFIG_BLK_DEV_IDEDMA_PMAC=n case and convert the driver to use ->init_dma method. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit b123f56e04c7c112f754f948198d1ea5a80e649d Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:22 2008 +0200 ide: do complete DMA setup in ->init_dma method (take 2) * Make ide_hwif_setup_dma() return an error value. * Pass 'const struct ide_port_info *d' instead of 'unsigned long dmabase' to ->init_dma method and make it return an error value. * Rename ide_get_or_set_dma_base() to ide_pci_dma_base(), change ordering of its arguments and then export it. * Export ide_pci_set_master(). * Do complete DMA setup inside ->init_dma method and update ->init_dma users accordingly. * Sanitize code for DMA setup in ide_init_port(). v2: * Fix for CONFIG_BLK_DEV_IDEDMA_PCI=n configs (from Jiri Slaby ): Fix following compiler warning by returning EINVAL: In file included from ANYTHING-INCLUDING-IDE.H:45: include/linux/ide.h: In function ‘ide_hwif_setup_dma’: include/linux/ide.h:1022: warning: no return statement in function returning non-void Cc: Jiri Slaby Cc: Andrew Morton Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f629b38beddf2ff8bc3fda1754bbd6cc7d3acc03 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:22 2008 +0200 au1xxx-ide: fix MWDMA support Always use "fast" MWDMA support and remove dma_{black,white}_list (they were based on completely bogus ->ide_dma_check implementation which didn't set neither the host controller timings nor the device for the desired transfer mode). Signed-off-by: Bartlomiej Zolnierkiewicz commit 63158d5c217e2e62665ae9b10d203bd7da817108 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:21 2008 +0200 ide: cleanup ide_setup_dma() * There is no need to call ide_release_dma_engine(). * Move the code up to (and including) ide_allocate_dma_engine() call to the callers of ide_setup_dma(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit d54452fbf84500eff77a55a2061f4669441d2cc3 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:21 2008 +0200 ide: factor out setting PCI bus-mastering from ide_hwif_setup_dma() Factor out setting PCI bus-mastering from ide_hwif_setup_dma() to ide_pci_set_master() helper. While at it: * don't read PCI Command register if not necessary * use PCI device name instead of hwif->name * cleanup ide_hwif_setup_dma() a bit Signed-off-by: Bartlomiej Zolnierkiewicz commit b8e73fba60414e161d8fd2429b6fb268e34502e2 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:21 2008 +0200 ide: export ide_allocate_dma_engine() Export ide_allocate_dma_engine() and use it in trm290 host driver. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 23658f8af3dbba53ae9796e4c37c2fdd0272662e Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:21 2008 +0200 ide: move ide_setup_dma() call out from ->init_dma method There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6d36b95fe2cc5655e96da42eaf19f1aa341c6856 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:21 2008 +0200 alim15x3: skip DMA initialization completely on revs < 0x20 Skip DMA initialization completely on revs < 0x20 by setting IDE_HFLAG_NO_DMA host flag and resetting DMA host masks in alim15x3_init_one() (currently ide_hwif_setup_dma() will try to obtain DMA base and setup PCI bus-mastering but init_dma_ali15x3() will fail). Signed-off-by: Bartlomiej Zolnierkiewicz commit 73369d2a15cfe7dceae89a9e70e3d442e4c21576 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:21 2008 +0200 pdc202xx_old: remove init_dma_pdc202xx() Do PDC202xx specific DMA initialization in init_chipset_pdc202xx() and remove no longer needed init_dma_pdc202xx(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 8d9f9a76ea09911f4aaf0d9e852fd25335080f53 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:20 2008 +0200 ide: don't display "BIOS" settings in ide_setup_dma() Nowadays BIOS info is not very useful and only confuses users since: - IDE always tries to use DMA - BIOS info may not be accurate with modular IDE/libata Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e59c236846df444860ffc8b852117f9ff65c101 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:20 2008 +0200 ide: remove ->cds field from ide_hwif_t (take 2) * Use hwif->name instead of cds->name in ide_allocate_dma_engine(). * Use pci_name(dev) instead of cds->name in init_dma_pdc202xx(). * Remove no longer needed ->cds field from ide_hwif_t. v2: * scc_pata.c also needs to be updated now (noticed by Stephen Rothwell). There should be no functional changes caused by this patch. Cc: Kou Ishizaki Cc: Akira Iguchi Cc: Stephen Rothwell Signed-off-by: Bartlomiej Zolnierkiewicz commit 0a79acd40d1ee8b6bf217a519eee422ed7e6da6b Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:20 2008 +0200 ide: remove ide_dma_iobase() * ide_mapped_mmio_dma() and ide_iomio_dma() are called only by ide_dma_iobase() so inline them there. * ide_dma_iobase() is called only by ide_setup_dma() so inline it there. * Setup hwif->extra_base also if hwif->mmio flag is set. There should be no functional changes casued by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 21a3387ddd9eedcf6d4f47e591ffa90128b9f560 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:20 2008 +0200 ide: remove ->extra field from struct ide_port_info Always setup hwif->extra_base in ide_iomio_dma() and remove no longer needed ->extra field from struct ide_port_info. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit eb63963a55f039f049d0dd1121f91f332af6ecc9 Author: Harvey Harrison Date: Sat Apr 26 22:25:20 2008 +0200 ide: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ [bart: fix checkpatch.pl errors in ide-lib.c and ppc/mpc8xx.c while at it] Signed-off-by: Harvey Harrison Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit c4b22f816b8ee316cff06df3880f8341e1251211 Author: Borislav Petkov Date: Sat Apr 26 22:25:20 2008 +0200 ide-tape: remove idetape_pipeline_active() This function was simply a wrapper for a test_bit() macro so remove it and use the macro instead. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3dd89a9b2af37d8e3efd785e20b12b785e50e48f Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:19 2008 +0200 ide: cleanup setting hwif->mmio flag It is no longer needed to set hwif->mmio flag to tell IDE layer to not manage resources so cleanup host drivers that used hwif->mmio flag only for this purpose. Ditto for ide_legacy_init_one(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 5add22241752a3c689bea2a9d0e71c2a5909ed8a Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:19 2008 +0200 ide: remove ide_hwif_request_regions() Remove no longer used ide_hwif_request_regions() and hwif_request_region(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 0d1bad216c43bcee84cc24d1ed003c19134d2645 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:19 2008 +0200 ide: manage resources for PCI devices in ide_pci_enable() (take 3) * Reserve PCI BARs 0-3 (0-1 for single port controllers) in ide_pci_enable() and remove ide_hwif_request_regions() call from ide_device_add_all() (also cleanup resource management in scc_pata host driver). * Fix handling of PCI BAR 4 in ide_pci_enable(), then cleanup ide_iomio_dma() (+ init_hwif_trm290() in trm290 host driver) and remove ide_release[_iomio]_dma(). v2: * Fixup trm290 host driver. v3: * Because of scc_pata host driver changes we need to call pci_request_selected_regions() also in setup_mmio_scc(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 7ebe5936c214c656a1625abf9ec3b09e3d1bf34a Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:19 2008 +0200 cmd640: manage I/O resources in driver * Tell IDE layer to not manage resources by setting hwif->mmio flag. * Use {request,release}_region() for resources management. * Use driver name for resources management. Signed-off-by: Bartlomiej Zolnierkiewicz commit d92f1a2829dbe29c644569a3b64a021e4d90005d Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:18 2008 +0200 ide: manage I/O resources in ide_legacy_init_one() * Tell IDE layer to not manage resources by setting hwif->mmio flag. * Use {request,release}_region() for resources management. * Set ->name field of 'struct ide_port_info' instances in legacy VLB host drivers and use driver name for resources management. Signed-off-by: Bartlomiej Zolnierkiewicz commit d9b819a025ca1b09dafbe90b5d25ba57a639f048 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:18 2008 +0200 ide: add ide_legacy_init_one() helper Move the common code for primary/seconary port setup from ide_legacy_device_add() to ide_legacy_init_one(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2305d94321bbbdc461acfb24b41fbf50f8a6dd91 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:18 2008 +0200 ide_arm: manage I/O resources in driver * Tell IDE layer to not manage resources by setting hwif->mmio flag. * Use {request,release}_region() for resources management. * Use driver name for resources management. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2c4be251be1cace01a2a18bf5abb847010516511 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:18 2008 +0200 ide-4drives: manage I/O resources in driver * Tell IDE layer to not manage resources by setting hwif->mmio flag. * Use {request,release}_region() for resources management. * Use driver name for resources management. * Remove no longer needed 'hwif->chipset == ide_4drives' handling from ide_device_add_all(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 1664949843e8c0782c8f2e40897285a8dfffdf27 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:17 2008 +0200 ide-generic: manage I/O resources in driver * Tell IDE layer to not manage resources by setting hwif->mmio flag. * Use {request,release}_region() for resources management. * Use driver name for resources management. Signed-off-by: Bartlomiej Zolnierkiewicz commit d083c03f2524af699a6b85cf4d2f8090242b1b84 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:17 2008 +0200 ide: remove ide_hwif_release_regions() All host drivers using ide_unregister()/module_exit() have been fixed to manage resources themselves so this function can be removed now. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit eb716beb0aeb4b14489a64c51c63e6a4be2e13a0 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:17 2008 +0200 ide: register ports with non-present devices (for warm-plug) Signed-off-by: Bartlomiej Zolnierkiewicz commit d703b79e56eb103b72ad1bceebe8ef4e8635fb1c Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:17 2008 +0200 ide-cs: manage I/O resources in driver * Make idecs_register() return pointer to hwif structure instead of hwif's index. * Store pointer to hwif structure instead of hwif's index in ide_info_t (fixes ide-cs for IDE[6-9]_MAJOR major numbers). * Remove no longer needed ide_major[]. * Tell IDE layer to not manage resources by setting hwif->mmio flag. * Use {request,release}_region() for resources management. * Use driver name for resources management. Signed-off-by: Bartlomiej Zolnierkiewicz commit 134d4548a7a1d27781dcbce9725c7f7914f7ae47 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:16 2008 +0200 ide-pnp: manage I/O resources in driver * Tell IDE layer to not manage resources by setting hwif->mmio flag. * Use {request,release}_region() for resources management. * Use driver name for resources management. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7a2199f341edb2515021ccd6fe122c0d15b08fc7 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:16 2008 +0200 qd65xx: cleanup qd_probe() * Replace 'if ()'-s by 'switch ()' block. * Merge common code for QD6500/QD6580A/QD6580B. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0bfeee7d4190938291a76536c7f6cd8f4e2dc30c Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:16 2008 +0200 ide: use ide_legacy_device_add() for qd65xx (take 2) * Add 'unsigned long config' argument to ide_legacy_device_add() for setting hwif->config_data. * Use ide_find_port_slot() instead of ide_find_port() in ide_legacy_device_add(). * Handle IDE_HFLAG_QD_2ND_PORT and IDE_HFLAG_SINGLE host flags in ide_legacy_device_add(). * Convert qd65xx host driver to use ide_legacy_device_add(). v2: * Update ali14xx, dtc2278, ht6560b and umc8672 host drivers. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 3b36f66b81bc0d69ec7dfa736592224f6ca366b7 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:16 2008 +0200 ide: add ide_legacy_device_add() helper Add ide_legacy_device_add() helper for use by legacy VLB host drivers (+ convert them to use it). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit e53cd458d593c88247b8a7b2754d0e8055869670 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:16 2008 +0200 ide: remove ->noprobe field from ide_hwif_t Update IDE PMAC host driver to use drive->noprobe instead of hwif->noprobe and remove hwif->noprobe completely (it is always set to zero now). There should be no functional changes caused by this patch. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit e5e076a3540af0ed7b6491d1593396c99adbfbe1 Author: Borislav Petkov Date: Sat Apr 26 22:25:15 2008 +0200 ide-cd: fix remaining checkpatch.pl issues Some of them are: WARNING: braces {} are not necessary for single statement blocks CHECK: multiple assignments should be avoided WARNING: printk() should include KERN_ facility level WARNING: no space between function name and open parenthesis '(' [bart: minor fixups] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 83c8565dcc9daa4b28fd6ffe63308d64656ce4db Author: Borislav Petkov Date: Sat Apr 26 22:25:15 2008 +0200 ide-cd: shorten lines longer than 80 columns [bart: minor fixups] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5a3ea3b424369ea8a661f2fe8f4b24ffc90e4543 Author: Borislav Petkov Date: Sat Apr 26 22:25:15 2008 +0200 ide-cd: fixup comments [bart: minor fixups, md5sum checked] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e657a9e29baa0d8f5c0cf99372100d397340f00 Author: Borislav Petkov Date: Sat Apr 26 22:25:15 2008 +0200 ide-cd: put all proc-related code at one place Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9aba468e4ae834dd0ee37004e5d07309684e14d2 Author: Borislav Petkov Date: Sat Apr 26 22:25:15 2008 +0200 ide-cd: include proper headers Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ac95beedf8bc97b24f9540d4da9952f07221c023 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:14 2008 +0200 ide: add struct ide_port_ops (take 2) * Move hooks for port/host specific methods from ide_hwif_t to 'struct ide_port_ops'. * Add 'const struct ide_port_ops *port_ops' to 'struct ide_port_info' and ide_hwif_t. * Update host drivers and core code accordingly. While at it: * Rename ata66_*() cable detect functions to *_cable_detect() to match the standard naming. (Suggested by Sergei Shtylyov) v2: * Fix build for bast-ide. (Noticed by Andrew Morton) Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit fb884381273669fad034538e6cb186678407cf22 Author: Huang, Ying Date: Fri Mar 28 10:49:50 2008 +0800 x86, boot: Document for linked list of struct setup_data Documentation for linked list of struct setup_data. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c14b2adf19b5d35aff91280b1a73c41a4dcabfe3 Author: Huang, Ying Date: Fri Mar 28 10:49:48 2008 +0800 x86, boot: export linked list of struct setup_data via debugfs Export linked list of struct setup_data via debugfs. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8b664aa66e824a0ddf4ec56d41fa0cf7bb374de6 Author: Huang, Ying Date: Fri Mar 28 10:49:44 2008 +0800 x86, boot: add linked list of struct setup_data This patch adds a field of 64-bit physical pointer to NULL terminated single linked list of struct setup_data to real-mode kernel header. This is used as a more extensible boot parameters passing mechanism. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 50eae2a7c9862afe263a2003c12f457ecfc9e6a2 Author: Huang, Ying Date: Fri Mar 28 10:49:42 2008 +0800 x86, boot: add free_early to early reservation machanism Add free_early to early reservation mechanism - this way early bootup failure paths can stop wasting memory. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0124cecfc85a6664b1ad5f1d28cf0ab8df66fc42 Author: Venki Pallipadi Date: Sat Apr 26 11:32:12 2008 -0700 x86, PAT: disable /dev/mem mmap RAM with PAT disable /dev/mem mmap of RAM with PAT. It makes things safer and eliminates aliasing. A future improvement would be to avoid the range_is_allowed duplication. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit f5093913c0b5b93e3ccafd39d056e76557169ced Author: Adrian Bunk Date: Fri Apr 25 23:40:16 2008 +0300 kbuild: scripts/Makefile.modpost typo fix -EVIUSER ;-) Signed-off-by: Adrian Bunk Signed-off-by: Sam Ravnborg commit 2fa365682943866baf85305ef701741fe41b27e0 Author: Sam Ravnborg Date: Sat Apr 26 21:07:26 2008 +0200 kbuild: soften MODULE_LICENSE check Only modules that has other MODULE_* content shall have the MODULE_LICENSE() tag. This fixes allmodconfig build on my box. Signed-off-by: Sam Ravnborg commit fb96c00819c28860fd10137f1c63f7c48dec252b Author: Robert P. J. Day Date: Sat Apr 26 13:46:31 2008 -0400 [MTD] Delete long-unused jedec.h header file. Signed-off-by: Robert P. J. Day Signed-off-by: David Woodhouse commit 8136508cd6075a74e68a8d1cde8399a558ca27a7 Author: Atsushi Nemoto Date: Sun Apr 27 01:51:12 2008 +0900 [MTD] [NAND] at91_nand: use at91_nand_{en,dis}able consistently. Use at91_nand_enable(), at91_nand_disable() to manipulate enable_pin. No functional changes. Signed-off-by: Atsushi Nemoto Signed-off-by: David Woodhouse commit 19870def587554c4055df3e74a21508e3647fb7e Author: Alexander van Heukelum Date: Fri Apr 25 13:12:53 2008 +0200 x86, bitops: select the generic bitmap search functions Introduce GENERIC_FIND_FIRST_BIT and GENERIC_FIND_NEXT_BIT in lib/Kconfig, defaulting to off. An arch that wants to use the generic implementation now only has to use a select statement to include them. I added an always-y option (X86_CPU) to arch/x86/Kconfig.cpu and used that to select the generic search functions. This way ARCH=um SUBARCH=i386 automatically picks up the change too, and arch/um/Kconfig.i386 can therefore be simplified a bit. ARCH=um SUBARCH=x86_64 does things differently, but still compiles fine. It seems that a "def_bool y" always wins over a "def_bool n"? Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit f19dcf4a61ea4a3d155acb239348d09cb264f6a0 Author: Joe Perches Date: Sun Mar 23 01:03:07 2008 -0700 x86: include/asm-x86/pgalloc.h/bitops.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit d66462f5314b0e70ddad8032eb76099475ca5571 Author: Alexander van Heukelum Date: Fri Apr 4 20:49:30 2008 +0200 x86: finalize bitops unification include/asm-x86/bitops_32.h and include/asm-x86/bitops_64.h are now almost identical. The 64-bit version sets ARCH_HAS_FAST_MULTIPLIER and has an extra inline function set_bit_string. The define currently has no influence on the generated code, but it can be argued that setting it on i386 is the right thing to do anyhow. The addition of the extra inline function on i386 does not hurt either. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 5245698f665c4b7a533dcc47a5afdf33095d436a Author: Alexander van Heukelum Date: Tue Apr 1 17:47:57 2008 +0200 x86, UML: remove x86-specific implementations of find_first_bit x86 has been switched to the generic versions of find_first_bit and find_first_zero_bit, but the original versions were retained. This patch just removes the now unused x86-specific versions. also update UML. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 3a48305028aa38afba93fc05066c71a6ee668ad8 Author: Alexander van Heukelum Date: Tue Apr 1 17:42:21 2008 +0200 x86: optimize find_first_bit for small bitmaps Avoid a call to find_first_bit if the bitmap size is know at compile time and small enough to fit in a single long integer. Modeled after an optimization in the original x86_64-specific code. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 2aba6925fdb96428d1129a61b1233597a03a387b Author: Alexander van Heukelum Date: Tue Apr 1 17:41:26 2008 +0200 x86: switch 64-bit to generic find_first_bit Switch x86_64 to generic find_first_bit. The x86_64-specific implementation is not removed. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 77b9bd9c49442407804c37bcc82021a35277f83c Author: Alexander van Heukelum Date: Tue Apr 1 11:46:19 2008 +0200 x86: generic versions of find_first_(zero_)bit, convert i386 Generic versions of __find_first_bit and __find_first_zero_bit are introduced as simplified versions of __find_next_bit and __find_next_zero_bit. Their compilation and use are guarded by a new config variable GENERIC_FIND_FIRST_BIT. The generic versions of find_first_bit and find_first_zero_bit are implemented in terms of the newly introduced __find_first_bit and __find_first_zero_bit. This patch does not remove the i386-specific implementation, but it does switch i386 to use the generic functions by setting GENERIC_FIND_FIRST_BIT=y for X86_32. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit d57594c203b1e7b54373080a797f0cbfa4aade68 Author: Alexander van Heukelum Date: Sat Mar 15 18:32:36 2008 +0100 bitops: use __fls for fls64 on 64-bit archs Use __fls for fls64 on 64-bit archs. The implementation for 64-bit archs is moved from x86_64 to asm-generic. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 56a6b1eb7bfb5ace0b5cb9c149f502fbd101b8ab Author: Alexander van Heukelum Date: Sat Mar 15 18:31:49 2008 +0100 generic: implement __fls on all 64-bit archs Implement __fls on all 64-bit archs: alpha has an implementation of fls64. Added __fls(x) = fls64(x) - 1. ia64 has fls, but not __fls. Added __fls based on code of fls. mips and powerpc have __ilog2, which is the same as __fls. Added __fls = __ilog2. parisc, s390, sh and sparc64: Include generic __fls. x86_64 already has __fls. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 7d9dff22e8ad06ad330968c9e3d3a2fb55a5f9c3 Author: Alexander van Heukelum Date: Sat Mar 15 18:30:57 2008 +0100 generic: introduce a generic __fls implementation Add a generic __fls implementation in the same spirit as the generic __ffs one. It finds the last (most significant) set bit in the given long value. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 12d9c8420b9daa1da3d9e090640fb24bcd0deba2 Author: Alexander van Heukelum Date: Sat Mar 15 13:04:42 2008 +0100 x86: merge the simple bitops and move them to bitops.h Some of those can be written in such a way that the same inline assembly can be used to generate both 32 bit and 64 bit code. For ffs and fls, x86_64 unconditionally used the cmov instruction and i386 unconditionally used a conditional branch over a mov instruction. In the current patch I chose to select the version based on the availability of the cmov instruction instead. A small detail here is that x86_64 did not previously set CONFIG_X86_CMOV=y. Improved comments for ffs, ffz, fls and variations. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 64970b68d2b3ed32b964b0b30b1b98518fde388e Author: Alexander van Heukelum Date: Tue Mar 11 16:17:19 2008 +0100 x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps This moves an optimization for searching constant-sized small bitmaps form x86_64-specific to generic code. On an i386 defconfig (the x86#testing one), the size of vmlinux hardly changes with this applied. I have observed only four places where this optimization avoids a call into find_next_bit: In the functions return_unused_surplus_pages, alloc_fresh_huge_page, and adjust_pool_surplus, this patch avoids a call for a 1-bit bitmap. In __next_cpu a call is avoided for a 32-bit bitmap. That's it. On x86_64, 52 locations are optimized with a minimal increase in code size: Current #testing defconfig: 146 x bsf, 27 x find_next_*bit text data bss dec hex filename 5392637 846592 724424 6963653 6a41c5 vmlinux After removing the x86_64 specific optimization for find_next_*bit: 94 x bsf, 79 x find_next_*bit text data bss dec hex filename 5392358 846592 724424 6963374 6a40ae vmlinux After this patch (making the optimization generic): 146 x bsf, 27 x find_next_*bit text data bss dec hex filename 5392396 846592 724424 6963412 6a40d4 vmlinux [ tglx@linutronix.de: build fixes ] Signed-off-by: Ingo Molnar commit 60b6783a044a55273b637983f52965c2808a6b86 Author: Alexander van Heukelum Date: Thu Mar 13 18:53:52 2008 +0100 x86, uml: fix uml with generic find_next_bit for x86 Update UML to use the generic bits too. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 6fd92b63d0626a8fe7eb8e2e50d19ecaa18cb412 Author: Alexander van Heukelum Date: Sun Mar 9 21:01:04 2008 +0100 x86: change x86 to use generic find_next_bit The versions with inline assembly are in fact slower on the machines I tested them on (in userspace) (Athlon XP 2800+, p4-like Xeon 2.8GHz, AMD Opteron 270). The i386-version needed a fix similar to 06024f21 to avoid crashing the benchmark. Benchmark using: gcc -fomit-frame-pointer -Os. For each bitmap size 1...512, for each possible bitmap with one bit set, for each possible offset: find the position of the first bit starting at offset. If you follow ;). Times include setup of the bitmap and checking of the results. Athlon Xeon Opteron 32/64bit x86-specific: 0m3.692s 0m2.820s 0m3.196s / 0m2.480s generic: 0m2.622s 0m1.662s 0m2.100s / 0m1.572s If the bitmap size is not a multiple of BITS_PER_LONG, and no set (cleared) bit is found, find_next_bit (find_next_zero_bit) returns a value outside of the range [0, size]. The generic version always returns exactly size. The generic version also uses unsigned long everywhere, while the x86 versions use a mishmash of int, unsigned (int), long and unsigned long. Using the generic version does give a slightly bigger kernel, though. defconfig: text data bss dec hex filename x86-specific: 4738555 481232 626688 5846475 5935cb vmlinux (32 bit) generic: 4738621 481232 626688 5846541 59360d vmlinux (32 bit) x86-specific: 5392395 846568 724424 6963387 6a40bb vmlinux (64 bit) generic: 5392458 846568 724424 6963450 6a40fa vmlinux (64 bit) Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 18e413f7193ed2f6991d959863f46330813aa242 Author: Ingo Molnar Date: Sat Apr 26 19:10:17 2008 +0200 uml: Kconfig cleanup pointed out by Linus: arch/um/Kconfig.x86_64 should include arch/x86/Kconfig.cpu instead of defining those symbols itself. Signed-off-by: Ingo Molnar commit 297e1b256b1090adbb4357608be3d4301e76c0ce Author: Ingo Molnar Date: Sat Apr 26 18:59:42 2008 +0200 uml: fix build error fix: arch/um/os-Linux/helper.c: In function 'run_helper': arch/um/os-Linux/helper.c:73: error: 'PATH_MAX' undeclared (first use in this function) Signed-off-by: Ingo Molnar commit 4a27214d7be31e122db4102166f49ec15958e8e9 Merge: c837c93... 8db979b... Author: Linus Torvalds Date: Sat Apr 26 09:50:58 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes: x86 PAT: decouple from nonpromisc devmem x86 PAT: tone down debugging messages commit c837c93a03be711dd6e09215b74b4f23bbd1ff83 Merge: d485cb9... 37c45df... Author: Linus Torvalds Date: Sat Apr 26 09:49:51 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: V4L/DVB (7751): ir-kbd-i2c: Save a temporary memory allocation in ir_probe V4L/DVB (7750): au0828/ cleanups and fixes V4L/DVB (7748): tuner-core: some adjustments at tuner logs, if debug enabled V4L/DVB (7746): pvrusb2: make signed one-bit bitfields unsigned V4L/DVB (7744): pvrusb2-dvb: add atsc/qam support for Hauppauge pvrusb2 model 751xx V4L/DVB (7742): cx88: Add support for the DViCO FusionHDTV_7_GOLD digital modes V4L/DVB (7741): s5h1411: Adding support for this ATSC/QAM demodulator V4L/DVB (7740): tuner-xc2028.c dubious !x & y V4L/DVB (7739): mt312.h: dubious one-bit signed bitfield V4L/DVB (7735): Fix compilation for au0828 V4L/DVB (7734): em28xx: copy and paste error in em28xx_init_isoc V4L/DVB (7733): blackbird_find_mailbox negative return ignored in blackbird_initialize_codec() V4L/DVB (7732): vivi: fix a warning commit d485cb9aa2e302fac7e7fb586a0cb4c0a5211be9 Merge: 1292ebb... 765c68b... Author: Linus Torvalds Date: Sat Apr 26 09:48:52 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-optimized-inlining * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-optimized-inlining: generic: make optimized inlining arch-opt-in x86: add optimized inlining commit 1292ebb82c00c69cf983e871faa221ce88ed3338 Merge: b822875... 784506c... Author: Linus Torvalds Date: Sat Apr 26 09:48:00 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (61 commits) ide: sanitize handling of IDE_HFLAG_NO_SET_MODE host flag sis5513: fail early for unsupported chipsets it821x: fix kzalloc() failure handling qd65xx: use IDE_HFLAG_SINGLE host flag qd65xx: always use ->selectproc method ide-cd: put proc-related functions together under single ifdef ide-cd: Replace __FUNCTION__ with __func__ IDE: Coding Style fixes to drivers/ide/ide-cd.c IDE: Coding Style fixes to drivers/ide/pci/cy82c693.c IDE: Coding Style fixes to drivers/ide/pci/it8213.c IDE: Coding Style fixes to drivers/ide/ide-floppy.c IDE: Coding Style fixes to drivers/ide/legacy/ali14xx.c IDE: Coding Style fixes to drivers/ide/legacy/hd.c IDE: Coding Style fixes to drivers/ide/pci/cmd640.c IDE: Coding Style fixes to drivers/ide/pci/opti621.c IDE: Coding Style fixes to drivers/ide/ide-pnp.c IDE: Coding Style fixes to drivers/ide/ide-proc.c IDE: Coding Style fixes to drivers/ide/legacy/ide-4drives.c IDE: Coding Style fixes to drivers/ide/legacy/umc8672.c IDE: Coding Style fixes to drivers/ide/pci/generic.c ... commit b82287587ef9917afbea5fcbf7aa63424b6f3719 Merge: 2a8a271... 5afca33... Author: Linus Torvalds Date: Sat Apr 26 09:44:32 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-misc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-misc: (28 commits) x86: section mismatch fixes, #3 x86: section mismatch fixes, #2 x86: pgtable_32.h - prototype and section mismatch fixes x86: unlock_ExtINT_logic() - fix section mismatch warnings x86: uniq_ioapic_id - fix section mismatch warning x86: trampoline_32.S - switch to .cpuinit.data x86: use get_bios_ebda() x86: remove duplicate get_bios_ebda() from rio.h x86: get_bios_ebda() requires asm/io.h x86: use cpumask function for present, possible, and online cpus x86: cleanup div_sc() usage x86: cleanup clocksource_hz2mult usage x86: remove unnecessary memset and NULL check after alloc_bootmem() x86: use bitmap library for pin_programmed x86: use MP_intsrc_info() x86: use BUILD_BUG_ON() for the size of struct intel_mp_floating x86_64 ia32 ptrace: convert to compat_arch_ptrace x86_64 ia32 ptrace: use compat_ptrace_request for siginfo x86 signals: lift set_fs x86 signals: lift flags diddling code ... commit 2a8a2719be1397c64e726ccd1c0933a11dc493d0 Author: Ingo Molnar Date: Sat Apr 26 10:26:52 2008 +0200 x86 PAT: decouple from nonpromisc devmem Linus pointed it out that PAT should not depend on NONPROMISC_DEVMEM. Also make PAT non-default. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit d9c04d678418fe42646de641f499209ca00fd94f Merge: 4d9c55e... 09aa356... Author: Linus Torvalds Date: Sat Apr 26 09:29:36 2008 -0700 Merge branch 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 * 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6: agp: convert drivers/char/agp/frontend.c to use unlocked_ioctl agp: fix shadowed variable warning in amd-k7-agp.c commit 4d9c55e44336602f8b2880b972fb55f67bc51dd0 Merge: 5070451... b74e208... Author: Linus Torvalds Date: Sat Apr 26 09:26:39 2008 -0700 Merge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: _end is shadowing real _end, just rename it. drm/vbl rework: rework how the drm deals with vblank. drm: reorganise minor number handling using backported modesetting code. drm/i915: Handle tiled buffers in vblank tasklet drm/i965: On I965, use correct 3DSTATE_DRAWING_RECTANGLE command in vblank drm: Remove unneeded dma sync in ATI pcigart alloc drm: Fix mismerge of non-coherent DMA patch commit 50704516f334d5036c09b0ecc0064598f7c5596f Author: Al Viro Date: Sat Apr 26 05:25:00 2008 +0100 Fix uninitialized 'copy' in unshare_files Arrgghhh... Sorry about that, I'd been sure I'd folded that one, but it actually got lost. Please apply - that breaks execve(). Signed-off-by: Al Viro Tested-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 765c68bd54c76d4126796e49af2a1428a258429f Author: Ingo Molnar Date: Wed Apr 9 11:03:37 2008 +0200 generic: make optimized inlining arch-opt-in Stephen Rothwell reported that linux-next did not build on powerpc64. make optimized inlining dependent on architecture opt-in. Reported-by: Stephen Rothwell Signed-off-by: Ingo Molnar commit 60a3cdd0639473c79c253bc08c8ef8f882cca107 Author: Ingo Molnar Date: Mon Mar 3 12:38:52 2008 +0100 x86: add optimized inlining add CONFIG_OPTIMIZE_INLINING=y. allow gcc to optimize the kernel image's size by uninlining functions that have been marked 'inline'. Previously gcc was forced by Linux to always-inline these functions via a gcc attribute: #define inline inline __attribute__((always_inline)) Especially when the user has already selected CONFIG_OPTIMIZE_FOR_SIZE=y this can make a huge difference in kernel image size (using a standard Fedora .config): text data bss dec hex filename 5613924 562708 3854336 10030968 990f78 vmlinux.before 5486689 562708 3854336 9903733 971e75 vmlinux.after that's a 2.3% text size reduction (!). Signed-off-by: Ingo Molnar commit 784506cbddd17bcd5929f827df39b0c7014e3f1e Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:43 2008 +0200 ide: sanitize handling of IDE_HFLAG_NO_SET_MODE host flag * Check for IDE_HFLAG_NO_SET_MODE host flag in ide_set_pio(), ide_set_[pio,dma]_mode(), ide_set_xfer_rate() and set_pio_mode(). * Remove no longer needed IDE_HFLAG_NO_SET_MODE host flag checking from ide_tune_dma(). * Remove superfluous ->set_pio_mode checking from do_special(). This is a part of preparations for adding 'struct ide_port_ops'. Signed-off-by: Bartlomiej Zolnierkiewicz commit 4764b68405ac918e9ac9939b1a2d1469102e5af7 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:43 2008 +0200 sis5513: fail early for unsupported chipsets * Factor out chipset family detection from init_chipset_sis5513() to sis_find_family(). * Use sis_find_family() in sis5513_init_one() to fail early if the chipset is unsupported. * Keep a local copy sis5513_chipset in sis5513_init_one() and set .udma_mask according to chipset family. * Remove no longer need ->ultra_mask setting from init_hwif_sis5513(). Signed-off-by: Bartlomiej Zolnierkiewicz commit eb7a07e8d6580ea498cac53acafe42c080af4d06 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:42 2008 +0200 it821x: fix kzalloc() failure handling Allocate 'struct it821x_dev' objects for both ports in it821x_init_one(). Fixes potential OOPS in it821x_quirkproc() (uses 'itdev' unconditionally) and other problems ('itdev' is needed for correct operation of the driver). Signed-off-by: Bartlomiej Zolnierkiewicz commit 79472b6ea9e74ee4400ba57ba84cad86426e2d6d Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:42 2008 +0200 qd65xx: use IDE_HFLAG_SINGLE host flag * Set IDE_HFLAG_SINGLE host flag in qd_probe() for QD6500 and QD6580 with the second port disabled. * Check for IDE_HFLAG_SINGLE in qd6580_port_init_devs() instead of using cached value of QD6580 Control register. * Don't cache QD6580 Control register value in hwif->config_data (bits 8-15) and remove no longer needed QD_CONTROL() macro. * Cache QD65xx base address in hwif->config_data (bits 8-15) instead of hwif->select_data. * Set hwif->config_data in qd_probe() and remove qd_setup() helper. Signed-off-by: Bartlomiej Zolnierkiewicz commit d07616f19336b514eef06e6a361988c4073e6ecb Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:42 2008 +0200 qd65xx: always use ->selectproc method qd_select() checks itself whether timings should be reprogrammed so remove superfluous qd_timing_ok() and always use ->selectproc method (rename qd_select() to qd65xx_select() while at it). Signed-off-by: Bartlomiej Zolnierkiewicz commit 1134b6fec57de7de2c56485bcd2afd9c16295dcb Author: Borislav Petkov Date: Sat Apr 26 17:36:42 2008 +0200 ide-cd: put proc-related functions together under single ifdef [bart: ported it over Paolo's patch] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 177773ed87586214c423ef1204b42d35f0ec8f81 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:42 2008 +0200 ide-cd: Replace __FUNCTION__ with __func__ [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 9ce70fb2b5ab9feb24afd1ea971bfa86bbc5625c Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:42 2008 +0200 IDE: Coding Style fixes to drivers/ide/ide-cd.c Before: total: 43 errors, 66 warnings, 2183 lines checked After: total: 0 errors, 36 warnings, 2192 lines checked I didn't (and I don't plan to) fix the warnings: WARNING: line over 80 characters [bart: minor fixes, md5sum checked (modulo s/"ignore = NULL;"/"ignore;"/ fix)] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 175f354b752ca04cad65588dc2c4e648003b8504 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:42 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/cy82c693.c Before: total: 34 errors, 14 warnings, 456 lines checked After: total: 0 errors, 8 warnings, 456 lines checked [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit a2826190aa157a1d29bef70ca81f8b51a9b36d29 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:41 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/it8213.c File is now error free, only a few WARNING: line over 80 characters are left. Compile tested. [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 52d3ccf762f4cbc539b727e158cfb7b9ff4dd8d9 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:41 2008 +0200 IDE: Coding Style fixes to drivers/ide/ide-floppy.c File is now error free. Compile tested. [bart: minor fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 38bdb4105ec852d743eb4e82db2b8b725a14c911 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:41 2008 +0200 IDE: Coding Style fixes to drivers/ide/legacy/ali14xx.c File is now error free, 2 warnings left. Compile tested. [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit ec29782ba3fe6bd72668af8e0f7f18cd14a3dbcd Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:41 2008 +0200 IDE: Coding Style fixes to drivers/ide/legacy/hd.c Fix a lot of errors and warnings. Compile tested. [bart: some fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 4752b5e7761a75bfc41ba3d9f4f8986643f22259 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:41 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/cmd640.c Fix all the errors and a few warnings. Compile tested. [bart: some fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 4eb68a256d223ce71ae8399e51264708cbc8002b Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:41 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/opti621.c Compile tested. [bart: some fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 177b8fe9a5f58731e72d5b582a707868e2a29d11 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:40 2008 +0200 IDE: Coding Style fixes to drivers/ide/ide-pnp.c File is now error free. Compile tested. [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 441e92dae0b64b577ea5a88861e86805f69e13cf Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:40 2008 +0200 IDE: Coding Style fixes to drivers/ide/ide-proc.c Lot of errors and warnings removed. Compile tested. [bart: minor fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit f94e00847c9eda89c30b96c78d4b08e3fb0cf902 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:40 2008 +0200 IDE: Coding Style fixes to drivers/ide/legacy/ide-4drives.c File is now error and warning free. Compile tested. [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 0905bc94d5ad8a928eed26e0896857fb54dcb366 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:40 2008 +0200 IDE: Coding Style fixes to drivers/ide/legacy/umc8672.c File is now error free. Compile tested. [bart: minor fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 17deabdcded322c04c5ec2baf8cf38c58017f08e Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:40 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/generic.c File is now error free. Compile tested. [bart: fix issues noticed by Adrian Bunk & Cyrill Gorcunov, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 740694f5e0fa7db39eac12e06d1df3f2585ad7bd Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:40 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/jmicron.c File is now error free. Compile tested. [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 1eb3c2ee1d20cc03d538232c05b8f320de6b1401 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:39 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/sis5513.c About 300 errors and warnings fixed. File is now error free. Compile tested. [bart: minor fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 5749c847405dd6f1b34247a38fa5121c17ef1993 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:39 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/slc90e66.c File is now error free, only 1 warning left. Compile tested. [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 5c634bb9ad7e8fac0839d0f36e7b9ee197887d45 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:39 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/tc86c001.c File is now error and warning free. Compile tested. [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 846bb88ae8980b98b11e0298c7ab8cfc9539c3f6 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:39 2008 +0200 IDE: Coding Style fixes to drivers/ide/setup-pci.c File is now error free. Compile tested. [bart: minor fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 05230e23cf02d939865a902f6ec4c1b2c82faf33 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:39 2008 +0200 ide: remove hwif->straight8 flag All host drivers now either set hwif->mmio or reserve continuous I/O resources so remove no longer needed hwif->straight8 flag and never reached code for 'hwif->straight8 == 0' case. Signed-off-by: Bartlomiej Zolnierkiewicz commit 951784b667d78dad52ffea0a958fdbe14da97972 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:38 2008 +0200 ide: remove IDE_HFLAG_CY82C693 host flag Sergei suggested that it shouldn't be necessary + it had no effect anyway since ide_id_dma_bug() is called earlier in ide_tune_dma(). Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit cb5528ab19ece76be5299b33746ca7d58c187a26 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:38 2008 +0200 falconide: fix resources reservation (take 2) * Tell IDE layer to not manage resources by setting hwif->mmio flag and request resources in falconide_init(). * Use request_mem_region() for resources reservation. * Use driver name for resources reservation. v2: * Fix missing printk() parameter. (Noticed by Geert Uytterhoeven) Cc: Geert Uytterhoeven Cc: Michael Schmitz Signed-off-by: Bartlomiej Zolnierkiewicz commit 54c05395273678fe23e9169a435fdc15ee17535e Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:38 2008 +0200 ide-mpc8xx: fix resources reservation * Tell IDE layer to not manage resources by setting hwif->mmio flag and request resources in m8xx_ide_init_ports(). * Use request_mem_region() for resources reservation. * Use driver name for resources reservation. Cc: Vitaly Bordug Signed-off-by: Bartlomiej Zolnierkiewicz commit cb7500db0e94c61b79712bc081dd90da68a4a40c Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:38 2008 +0200 ide-mpc8xx: make m8xx_ide_init_ports() return an error value * Make m8xx_ide_init_ports() return an error value. * Update mpc8xx_ide_probe() to setup/probe only ports for which m8xx_ide_init_ports() succedded. Cc: Vitaly Bordug Signed-off-by: Bartlomiej Zolnierkiewicz commit b81c2266e36f6bdf0c7186d21b375e32d8929df8 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:38 2008 +0200 bast-ide: fix resources reservation * Tell IDE layer to not manage resources by setting hwif->mmio flag and request resources in bastide_init(). * Use request_mem_region() for resources reservation. * Use driver name for resources reservation. Cc: Ben Dooks Signed-off-by: Bartlomiej Zolnierkiewicz commit 7f6f33c131b34a5eca6350c2bd8a254e55550e92 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:38 2008 +0200 delkin_cb: fix resources handling Tell IDE layer to not manage resources by setting hwif->mmio flag. Cc: Mark Lord Signed-off-by: Bartlomiej Zolnierkiewicz commit 3e2990eae03c3f998f365824330290d227e4415a Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:37 2008 +0200 ide_platform: fix resources handling Tell IDE layer to not manage resources by always setting hwif->mmio flag (resources are handled by a platform device). Cc: Anton Vorontsov Cc: Vitaly Bordug Signed-off-by: Bartlomiej Zolnierkiewicz commit b3a37f1284e05c35687522248e66dfda62924066 Author: Adrian Bunk Date: Sat Apr 26 17:36:37 2008 +0200 remove include/linux/hdsmart.h include/linux/hdsmart.h is not used by the kernel and should therefore be removed. Signed-off-by: Adrian Bunk Cc: "Robert P. J. Day" , Signed-off-by: Bartlomiej Zolnierkiewicz commit 968c49641338f4fb71d35352d49b1d25a68c5e93 Author: Borislav Petkov Date: Sat Apr 26 17:36:37 2008 +0200 ide-cd: remove the internal 64k buffer This removes the internal ide-cd buffer and falls back to read-ahead block layer capabilities. Thorough testing (cd burning, dvd read, raw read) gives with the bufferless mode marginally better performance in addition to simplified code. bufferless: dd: reading `/dev/hdc': Input/output error 6238+0 records in 6238+0 records out 204406784 bytes (204 MB) copied, 259.891 s, 787 kB/s real 4m21.598s user 0m0.014s sys 0m0.744s with the old buffer (2.6.25-rc1): dd: reading `/dev/hdc': Input/output error 6238+0 records in 6238+0 records out 204406784 bytes (204 MB) copied, 262.893 s, 778 kB/s real 4m22.938s user 0m0.009s sys 0m0.771s Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9841654949f0a3f1289b6b95b2ab56cd99fb5360 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:37 2008 +0200 ide-disk: fix issues found by checkpatch.pl There are no changes to the resulting drivers/ide/ide-disk.o binary file (md5sum-s after and before the patch match). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 799ee57ac83f019f035024614d95067ce583bc2b Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:37 2008 +0200 ide-disk: add proc_idedisk_read_smart() helper * Factor out common code from proc_idedisk_read_smart_{thresholds,values}() to proc_idedisk_read_smart() helper. * Rename proc_idedisk_read_smart_thresholds() to proc_idedisk_read_st() and proc_idedisk_read_smart_values() to proc_idedisk_read_sv(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1a2f84ea3e5110872b9aa86763360609b4b04e1b Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:36 2008 +0200 ide: unexport ide_hwifs[] All modular users have been fixed to not reference ide_hwifs[] directly. Signed-off-by: Bartlomiej Zolnierkiewicz commit dc9114e27acecc5a2ce2394a284a07e4e6ae5849 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:36 2008 +0200 ide-generic: use ide_find_port() (take 3) There should be no functional changes caused by this patch. v2: * Fix comment (noticed by Sergei Shtylyov). v3: * Fix no initalization of idx in some case. (Johann Felix Soden) Cc: Johann Felix Soden Cc: Kamalesh Babulal Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e277f91fef8a0ff7726ad33eb79c6f0d0c6229a8 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:36 2008 +0200 ide: use ide_find_port() in legacy VLB host drivers (take 2) * Add IDE_HFLAG_QD_2ND_PORT host flag to indicate the need of skipping first ide_hwifs[] slot for the second port of QD65xx controller. * Handle this new host flag in ide_find_port_slot(). * Convert legacy VLB host drivers to use ide_find_port(). While at it: * Fix couple of printk()-s in qd65xx host driver to not use hwif->name. v2: * Fix qd65xx. Signed-off-by: Bartlomiej Zolnierkiewicz commit fe80b937c9917887e4fbfaaf52f498b5ac3a6999 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:36 2008 +0200 ide: merge ide_match_hwif() and ide_find_port() * Change ide_match_hwif() argument from 'u8 bootable' to 'struct ide_port_info *d'. * Move ide_match_hwif() to ide-probe.c from setup-pci.c and rename it to ide_find_port_slot(). Update some comments while at it. * ide_find_port() can be now just a wrapper for ide_find_port_slot(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 078fdf789c4ef13dcb7b5651ff330e325d764c0e Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:36 2008 +0200 ide: remove PIO "downgrade" quirk No need for it nowadays so remove quirk code from ide_get_best_pio_mode() and IDE_HFLAG_PIO_DOWNGRADE host flag. Signed-off-by: Bartlomiej Zolnierkiewicz commit 00fe8b7ac2ff6b8afba11642fb71cdb17aa34df9 Author: Julia Lawall Date: Sat Apr 26 17:36:35 2008 +0200 ide: use DIV_ROUND_UP The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. An extract of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression n,d; @@ ( - (n + d - 1) / d + DIV_ROUND_UP(n,d) | - (n + (d - 1)) / d + DIV_ROUND_UP(n,d) ) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP((n),d) + DIV_ROUND_UP(n,d) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP(n,(d)) + DIV_ROUND_UP(n,d) // Signed-off-by: Julia Lawall Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e71d9c5a50b92b33d35061d42ac39166db9578e Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:35 2008 +0200 ide: IDE_HFLAG_BOOTABLE -> IDE_HFLAG_NON_BOOTABLE "bootable" should be the default behavior so replace IDE_HFLAG_BOOTABLE host flag with IDE_HFLAG_NON_BOOTABLE. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7daf66dd142b1978bf8670d9d959d835de37476f Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:35 2008 +0200 qd65xx: return error value in qd_probe() Return error value in qd_probe() and use it in qd65xx_init() instead of checking ide_hwifs[].chipset. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2e4ed2955d0de73cd43793ff495ea027e9fd2f44 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:35 2008 +0200 ht6560b: use driver name for resource allocation Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d147e7d8f22c18cfb879513e8e1e10fa52f9789e Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:34 2008 +0200 umc8672: don't use ide_hwifs[] in umc_set_pio_mode() Signed-off-by: Bartlomiej Zolnierkiewicz commit 589b06262021f8d52847c9389acf26e95c6b3732 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:34 2008 +0200 scc_pata: store 'hwif' pointer in struct scc_ports Replace 'unsigned char hwif_id' by 'ide_hwif_t *hwif' in struct scc_ports. This allows us to remove ide_hwifs[] usage from scc_remove(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 84f05df49a7376037f8b9fa1135df5a08cc32070 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:33 2008 +0200 cmd640: use ide_find_port() Signed-off-by: Bartlomiej Zolnierkiewicz commit 9523076ac9142cea5a6df29ba9091eb68a10f14d Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:33 2008 +0200 cmd640: remove cmd_drives[] * Pass 'ide_drive_t *drive' to check_prefetch(), set_prefetch_mode(), program_drive_counts() and cmd640_set_mode(). * Remove no longer needed cmd_drives[]. * Inline setup_device_ptrs() helper in cmd640x_init(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 4f7bada25098e076e83ffcd762e3079c19d40140 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:33 2008 +0200 au1xxx-ide: use ide_find_port() Signed-off-by: Bartlomiej Zolnierkiewicz commit 3fd4d205c73951ce6eaaa16fa3158636d1c35a5d Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:33 2008 +0200 scc_pata: use ide_find_port() There should be no functional changes caused by this patch. Cc: Kou Ishizaki Cc: Akira Iguchi Cc: Stephen Rothwell Signed-off-by: Bartlomiej Zolnierkiewicz commit e7ee1d5abc2fffad16f7b2fb80f5d4e09133cbc1 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:33 2008 +0200 sgiioc4: use ide_find_port() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 939b0f1d32c0d5fb68531ced559598df211bc323 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:33 2008 +0200 ide-pmac: use ide_find_port() Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 5297a3e522ff77e01fd0e792acc5ff0517822708 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:32 2008 +0200 ide-pmac: dynamically allocate struct pmac_ide_hwif instances (take 2) * Dynamically allocate struct pmac_ide_hwif instances in pmac_ide_macio_attach() and pmac_ide_pci_attach(), then remove no longer needed pmac_ide[]. v2: * Build fix from Kamalesh Babulal. Cc: Benjamin Herrenschmidt Cc: Kamalesh Babulal Signed-off-by: Bartlomiej Zolnierkiewicz commit 7d9f3d51cf351ac35b4004cc40c7fd885fb30c5c Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:32 2008 +0200 swarm: use ide_find_port() Cc: Maciej W. Rozycki Signed-off-by: Bartlomiej Zolnierkiewicz commit 59bff5ba5529feac3a0214d897b1920cbe4e2278 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:32 2008 +0200 ide: cleanup ide_find_port() Remove no longer needed matching against I/O base and 'base' argument. Signed-off-by: Bartlomiej Zolnierkiewicz commit bad7c825cb27377faf1c926953aa15c980c62620 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:31 2008 +0200 ide: cleanup ide_match_hwif() * Remove no longer needed matching against I/O base and 'io_base' argument. * Move printk() to the caller and remove 'name' argument. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1baccff8a5823b51d7bf2740ef3ef17e06bfa7e2 Author: Sergei Shtylyov Date: Sat Apr 26 17:36:31 2008 +0200 ide: make ide_pci_check_iomem() actually work This function didn't actually check if a given BAR is in I/O space because of using the bogus PCI_BASE_ADDRESS_IO_MASK (which equals ~3) to test the resource flags instead of IORESOURCE_IO -- fix this, make ide_hwif_configure() check the results failing if necessary, and move the printk() call to the failure path. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 938da770c205989945ba4cc5f0b4e255702061a1 Author: Frederik Deweerdt Date: Sat Apr 26 17:36:31 2008 +0200 ide/Kconfig: BLK_DEV_4DRIVES should be a tristate The 4drives should be a tristate, the following breakage occurs otherwise: ERROR: "probe_4drives" [drivers/ide/ide-core.ko] undefined! The following (compile tested) patch fixes it for me. Signed-off-by: Frederik Deweerdt Signed-off-by: Bartlomiej Zolnierkiewicz commit 537166f6fa282c683663d6ac0c631b7456b5be95 Author: Al Viro Date: Sat Apr 26 17:36:31 2008 +0200 fix execve() Arrgghhh... Sorry about that, I'd been sure I'd folded that one, but it actually got lost. Please apply - that unbreaks execve(). Signed-off-by: Al Viro Signed-off-by: Bartlomiej Zolnierkiewicz commit 5afca33a43786408ce74540b54855973dde32bab Author: Jacek Luczak Date: Fri Apr 11 13:29:04 2008 +0200 x86: section mismatch fixes, #3 This patch fixes section mismatch warnings in unlock_ExtINT_logic(). WARNING: arch/x86/kernel/built-in.o(.text+0x14a92): Section mismatch in reference from the function unlock_ExtINT_logic() to the function .init.text:find_isa_irq_pin() The function unlock_ExtINT_logic() references the function __init find_isa_irq_pin(). This is often because unlock_ExtINT_logic lacks a __init annotation or the annotation of find_isa_irq_pin is wrong. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b6dbf334b0da14fafd4f747791a177ee4c7aae3b Author: Jacek Luczak Date: Fri Apr 11 13:28:49 2008 +0200 x86: section mismatch fixes, #2 This patch fixes section mismatch warnings in smpboot_setup_io_apic(). WARNING: arch/x86/kernel/built-in.o(.text+0x11781): Section mismatch in reference from the function smpboot_setup_io_apic() to the function .init.text:setup_IO_APIC() The function smpboot_setup_io_apic() references the function __init setup_IO_APIC(). This is often because smpboot_setup_io_apic lacks a __init annotation or the annotation of setup_IO_APIC is wrong. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6d4ce043268451b8016480461717f2aa59b5486c Author: Jacek Luczak Date: Sun Apr 13 17:41:04 2008 +0200 x86: pgtable_32.h - prototype and section mismatch fixes This patch adds extern to native_pagetable_setup_[start,done]() protypes and fixes following section mismatch warning: WARNING: arch/x86/mm/built-in.o(.text+0xf2): Section mismatch in reference from the function paravirt_pagetable_setup_start() paravirt_pagetable_setup_[start,done]() is used by __init pagetable_init(). Annotate both functions with __init. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 28acf285deb193a1898bd531d778b0d1b1b75f2c Author: Jacek Luczak Date: Sat Apr 12 17:41:12 2008 +0200 x86: unlock_ExtINT_logic() - fix section mismatch warnings Fix following warning: WARNING: arch/x86/kernel/built-in.o(.text+0x12cc9): Section mismatch in reference from the function unlock_ExtINT_logic() unlock_ExtINT_logic() is only used by __init check_timer(). Annotate unlock_ExtINT_logic() witch __init. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 991074fd35e9e584d3cc28b4cba2e12743aeaa46 Author: Jacek Luczak Date: Sat Apr 12 17:39:57 2008 +0200 x86: uniq_ioapic_id - fix section mismatch warning Fix folowing warning: WARNING: arch/x86/kernel/built-in.o(.text+0x10799): Section mismatch in reference from the function uniq_ioapic_id() uniq_ioapic_id() is only used by __init mp_register_ioapic(). Annotate uniq_ioapic_id() with __init. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c01f23bdbd34e7edeadbaa920c3018307a541d5 Author: Jacek Luczak Date: Sat Apr 12 17:38:52 2008 +0200 x86: trampoline_32.S - switch to .cpuinit.data This patch fixes section mismatch warnings of __cpuinit setup_trampoline() on 32-bit host. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 356fa0c6e1ad3d3b01884f08a203bc84d555b880 Author: Akinobu Mita Date: Sat Apr 19 23:55:20 2008 +0900 x86: use get_bios_ebda() Use get_bios_ebda(). Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit ae5830a6f8278e1bb700a0956cacc9ceaf311f83 Author: Akinobu Mita Date: Sat Apr 19 23:55:19 2008 +0900 x86: remove duplicate get_bios_ebda() from rio.h get_bios_ebda() exists in asm/rio.h and asm/bios_ebda.h. This patch removes the one in asm/rio.h. Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 2c0903f2abde95d931ecccac7198a685eb04e958 Author: Akinobu Mita Date: Sat Apr 19 23:55:18 2008 +0900 x86: get_bios_ebda() requires asm/io.h include for phys_to_virt() Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 7c04e64a1b43b4c8fea281ce1f82df30ed9bab4e Author: Akinobu Mita Date: Sat Apr 19 23:55:17 2008 +0900 x86: use cpumask function for present, possible, and online cpus cpu_online(), cpu_present(), for_each_possible_cpu(), num_possible_cpus() Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 877084fb1cf6167c5441b0a30c3d9ef9b7be0a3a Author: Akinobu Mita Date: Sat Apr 19 23:55:16 2008 +0900 x86: cleanup div_sc() usage Remove the magic number in the third argment of div_sc(). Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit d454157b113718a92ba5accc03cee64c7e081483 Author: Akinobu Mita Date: Sat Apr 19 23:55:15 2008 +0900 x86: cleanup clocksource_hz2mult usage Remove the magic number in the second argument of clocksource_hz2mult() Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit b1fceac2b9e04d278316b2faddf276015fc06e3b Author: Akinobu Mita Date: Sat Apr 19 23:55:14 2008 +0900 x86: remove unnecessary memset and NULL check after alloc_bootmem() memset and NULL check after alloc_bootmem() are unnecessary. Because it returns zeroed memory and it never return NULL. Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit a1a33fa315b8a5a390f1132681485209500ff5b5 Author: Akinobu Mita Date: Sat Apr 19 23:55:13 2008 +0900 x86: use bitmap library for pin_programmed Use bitmap library for pin_programmed rather than reinvent bitmaps. Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 4abc1a0068945ac078fb0a00a359cd3be2e7dd8d Author: Akinobu Mita Date: Sat Apr 19 23:55:12 2008 +0900 x86: use MP_intsrc_info() Remove duplicate code by using MP_intsrc_info() in mpparse.c Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 5d47a271f38cf2ba7299047ad0bf3ac7e4c4a214 Author: Akinobu Mita Date: Sat Apr 19 23:55:11 2008 +0900 x86: use BUILD_BUG_ON() for the size of struct intel_mp_floating Use BUILD_BUG_ON() instead of compile-time error technique with extern non-exsistent function. Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 562b80bafffaf42a6d916b0a2ee3d684220a1c10 Author: Roland McGrath Date: Tue Apr 22 12:21:25 2008 -0700 x86_64 ia32 ptrace: convert to compat_arch_ptrace Now that there are no more special cases in sys32_ptrace, we can convert to using the generic compat_sys_ptrace entry point. The sys32_ptrace function gets simpler and becomes compat_arch_ptrace. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit cdb69904794d2173176b1a58e849b7b39fced390 Author: Roland McGrath Date: Tue Apr 22 12:20:20 2008 -0700 x86_64 ia32 ptrace: use compat_ptrace_request for siginfo This removes the special-case handling for PTRACE_GETSIGINFO and PTRACE_SETSIGINFO from x86_64's sys32_ptrace. The generic compat_ptrace_request code handles these. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit 55928e37b29ba5557a5edc8ab679fe5191bc051d Author: Roland McGrath Date: Sat Apr 19 14:27:56 2008 -0700 x86 signals: lift set_fs This lifts the set_fs(USER_DS) call for signal handler setup out of the three places copying the same code into the one place that calls them all. There is no change in what it does. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit 8b9c5ff380aa4f10658171ed2b9abc1e0861b770 Author: Roland McGrath Date: Sat Apr 19 14:26:54 2008 -0700 x86 signals: lift flags diddling code This lifts the code diddling the TF and DF bits for signal handler setup out of the several places copying the same code into the one place that calls them all. There is no change in what it does. I also separated the recently-added DF bit clearing from the TF diddling. The compiler turns them back into one instruction anyway. The tossing in of DF to the same line of code with no new comments was a bit more arcane than seems wise. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit f7f17a67c589f031c567d9fdc809dee7c5868c8a Author: Dmitri Vorobiev Date: Mon Apr 21 00:47:55 2008 +0400 x86: remove NexGen support It is claimed that NexGen CPUs were never shipped: http://lkml.org/lkml/2008/4/20/179 Also, the kernel support for these chips has been broken for a long time, the code intended to support NexGen thereby being essentially dead. As an outcome of the discussion that can be found using the URL above, this patch removes the NexGen support altogether. The changes in this patch survived a defconfig build for i386, a couple of successful randconfig builds, as well as a runtime test, which consisted in booting a 32-bit x86 box up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ingo Molnar commit a2b4bd9c95a799ce1002e699187f17ddaa754eb1 Author: Dmitri Vorobiev Date: Sun Apr 20 06:54:33 2008 +0400 x86: array can become static In arch/x86/kernel/setup_64.c, the standard_io_resources array is needlessly defined as global. This patch makes this variable static. This patch was successfully build-tested using the defconfig for x86_64. Runtime test was performed by booting a 64-bit x86 box up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ingo Molnar commit f3b14a32db9a74f2bbda980bc95cd4b1f136d80a Author: Dmitri Vorobiev Date: Sun Apr 20 06:54:31 2008 +0400 x86: remove unused function amd_init_cpu() There are no users for the function amd_init_cpu() defined in arch/x86/kernel/cpu/amd.c. This patch removes this routine. This patch was build-tested using defconfigs for i386 and x86_64, and a few randconfig instances. Runtime tests were performed by booting 32- and 64-bit x86 boxen up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ingo Molnar commit 911f6a7ba21795865ab30fc5f88aa198b0daee5f Author: Jan Beulich Date: Tue Apr 22 16:22:21 2008 +0100 x86-64: extend MCE CPU quirk handling At least on my Barcelona, I see MCE log entries after cold boot caused by BIOS not properly clearing the respective registers. Therefore, this patch extends the workaround to families 0x10 and 0x11 (the latter just for completeness, I have nothing to verify this against). At the same time, provide a way to make these entries visible via the 'mce=bootlog' command line option even on these machines. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 79bf0e0353e0a34dbe0b2ef659a9bdd8056ca524 Author: Jan Beulich Date: Tue Apr 22 16:19:25 2008 +0100 i386: fix signal type for iret exception .. since it uses ILL_BADSTK (which is meaningless in the context of SIGSEGV). Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 86d78f640257344cc90a50da8cd52297ba1c6bdf Author: Jan Beulich Date: Tue Apr 22 16:28:41 2008 +0100 x86: fix watchdog ops for CoreDuo There apparently was an unnoticed conflict between an earlier patch to this file and mine (d1e084746b0e5806e6345ab31c5b370f8dee2b23), which I noticed only now. I suppose a change like the one below (untested) is needed; I didn't get any response on a confirmation request for this from the submitter of the first patch. The issue is the writing of the 'checkbit' member at the end of setup_intel_arch_watchdog(), which my patch made go to intel_arch_wd_ops rather than wd_ops. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit b11caa7c7063ea92a0a58115d3fc6d038ed89510 Author: Adrian Bunk Date: Sun Apr 20 22:02:17 2008 +0300 fix asm-x86/{posix_types,unistd}.h Jeff Chua reported that: Commit e40c0fe6b0b5dd16aec3c0dad311d36b19d78fd9 (x86: cleanup duplicate includes) turned the userspace asm-x86/posix_types.h and asm-x86/unistd.h headers into empty files. This patch reverts these bogus changes. Reported-by: Jeff Chua Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar commit 5065dbafc299507f16731434e95b91dadff03006 Author: Jan Beulich Date: Tue Apr 22 16:16:50 2008 +0100 i386: fix asm constraint in do_IRQ() Two prior changes resulted in the "ecx" clobber being lost. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 8db979bcfe46dcdced1065e9359e4ef7a50b8a6f Author: Ingo Molnar Date: Sat Apr 26 10:26:52 2008 +0200 x86 PAT: decouple from nonpromisc devmem Linus pointed it out that PAT should not depend on NONPROMISC_DEVMEM. Also make PAT non-default. Signed-off-by: Ingo Molnar commit 1ebcc654f010d4a63f3ebf8ddd2cab5a709b1824 Author: Ingo Molnar Date: Sat Apr 26 11:40:31 2008 +0200 x86 PAT: tone down debugging messages Linus reported these excessive debug printouts: > Overlap at 0xe0300000-0xe0400000 > Overlap at 0xe0300000-0xe0380000 > Overlap at 0xe0300000-0xe0400000 > Overlap at 0xe0300000-0xe0400000 > Overlap at 0xe0300000-0xe0400000 > Overlap at 0xe0300000-0xe0400000 > Overlap at 0xe0300000-0xe0400000 turn that into a pr_debug(). Signed-off-by: Ingo Molnar commit 37c45df740f79c58bb0fc0de151fd2504234032b Author: Jean Delvare Date: Fri Apr 25 20:42:45 2008 -0300 V4L/DVB (7751): ir-kbd-i2c: Save a temporary memory allocation in ir_probe Using i2c_transfer instead of i2c_master_recv in ir_probe saves a temporary memory allocation. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit b33d24c4cc14ee40d83a7e1ea0bfb9567d6059aa Author: Adrian Bunk Date: Fri Apr 25 19:06:03 2008 -0300 V4L/DVB (7750): au0828/ cleanups and fixes This patch contains the following cleanups and fixes: - "debug" is definitely not a good name for a global variable, renamed it to "au0828_debug" this fixes a compile error with some kernel configurations - since the module parameter is int the variable shouldn't be unsigned - remove the {usb,bridge,i2c}_debug module parameters since they are already covered by the "debug" module parameter - remove the unused au0828_bcount - make the needlessly global i2c_scan static - make the needlessly global dvb_register() static Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit b9ef6bbbbeaf65c6a452fe3c75c196f86e0d984d Author: Mauro Carvalho Chehab Date: Sat Apr 26 11:29:34 2008 -0300 V4L/DVB (7748): tuner-core: some adjustments at tuner logs, if debug enabled set_addr log were almost useless: discarded SET_TYPE_ADDR commands weren't reported. This patch changed set_addr printk to print a message only if set_addr is wrong. It also fix printk at set_type, since, if an attach were failing, nothing were reported. With the current code, working or not, a call to set_addr will produce a debug printk. also, set_type() were producing a false error message on tuner_xc2028, since it were requesting for setting a frequency on a place where firmware name weren't set yet. Signed-off-by: Mauro Carvalho Chehab commit 0e3cbe81d52d18d83d068935512bd623a8765c12 Author: Harvey Harrison Date: Fri Apr 25 02:19:44 2008 -0300 V4L/DVB (7746): pvrusb2: make signed one-bit bitfields unsigned Single-bit signed bitfields can only take 0/-1 rather than 0/1 as the drivers seems to assume...add unsigned. Noticed by sparse: drivers/media/video/pvrusb2/pvrusb2-devattr.h:107:34: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:114:37: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:117:30: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:120:23: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:124:24: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:128:23: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:138:36: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:143:24: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:144:28: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:145:26: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:146:23: error: dubious one-bit signed bitfield Signed-off-by: Harvey Harrison Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 4aef8fddb6639056ea830509ce3015c79f158011 Author: Michael Krufky Date: Fri Apr 25 04:19:02 2008 -0300 V4L/DVB (7744): pvrusb2-dvb: add atsc/qam support for Hauppauge pvrusb2 model 751xx Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d893d5dc7fef94a072a74f3141f9d1f60fd0cc7e Author: Steven Toth Date: Fri Apr 25 03:46:43 2008 -0300 V4L/DVB (7742): cx88: Add support for the DViCO FusionHDTV_7_GOLD digital modes The S5H1411 demodulator is now enabled. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 8b4f1d031627d6f36d6ada05ab7670c2317efdaa Author: Steven Toth Date: Fri Apr 25 03:44:36 2008 -0300 V4L/DVB (7741): s5h1411: Adding support for this ATSC/QAM demodulator This adds full support for this demodulator. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 8367fe248d74d53a6ae10e373c73230ab1536599 Author: Harvey Harrison Date: Fri Apr 25 01:28:10 2008 -0300 V4L/DVB (7740): tuner-xc2028.c dubious !x & y Signed-off-by: Harvey Harrison Signed-off-by: Mauro Carvalho Chehab commit a45e0b45e52adb10634112b338dfb3e66a83de31 Author: Harvey Harrison Date: Fri Apr 25 01:49:24 2008 -0300 V4L/DVB (7739): mt312.h: dubious one-bit signed bitfield Make it unsigned (0/1) rather than signed (0/-1). Signed-off-by: Harvey Harrison Signed-off-by: Mauro Carvalho Chehab commit d0d14226b94546a0054ded495157aa1cb41a7259 Author: Brandon Philips Date: Thu Apr 24 21:34:00 2008 -0300 V4L/DVB (7735): Fix compilation for au0828 Encountered this error when testing. Kernel: arch/x86/boot/bzImage is ready (#76) MODPOST 813 modules ERROR: "dvb_dmx_init" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_unregister_adapter" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_register_frontend" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_unregister_frontend" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_net_release" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_frontend_detach" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_dmxdev_release" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_net_init" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_dmx_release" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_dmx_swfilter_packets" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_register_adapter" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_dmxdev_init" [drivers/media/video/au0828/au0828.ko] undefined! WARNING: modpost: Found 9 section mismatch(es). To see full details build your kernel with: 'make CONFIG_DEBUG_SECTION_MISMATCH=y' make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 094f9b4b317b235b8d7fa03b356b9a3f3633b55b Author: Janne Grunau Date: Thu Apr 24 20:19:22 2008 -0300 V4L/DVB (7734): em28xx: copy and paste error in em28xx_init_isoc Fixes a copy and paste error in check of kzalloc return value. The check block was copied from the previous allocation but the variable wasn't exchanged. Signed-off-by: Mauro Carvalho Chehab commit 50fa46b25490039ef51ef0dc8afdded60c4d3b59 Author: Roel Kluin <12o3l@tiscali.nl> Date: Sat Apr 26 11:25:18 2008 -0300 V4L/DVB (7733): blackbird_find_mailbox negative return ignored in blackbird_initialize_codec() dev->mailbox is unsigned. so a negative return goes unnoticed Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mauro Carvalho Chehab commit 63b79cfa05b35973713caa91e290311bd5ebbe1d Author: Mauro Carvalho Chehab Date: Sat Apr 26 08:25:18 2008 -0300 V4L/DVB (7732): vivi: fix a warning some gcc versions complain that fh is used without being defined. The error report is bogus. However, fixing it is trivial. Better to make gcc happy. Signed-off-by: Mauro Carvalho Chehab commit 09aa356b5584090aab6810ec8002936d710cd4ac Author: Mathieu Segaud Date: Fri Apr 18 13:29:38 2008 -0700 agp: convert drivers/char/agp/frontend.c to use unlocked_ioctl As of now, agp_compat_ioctl already runs without the BKL. Mutual exclusion is enforced by agp_fe.agp_mutex in agp_ioctl() and agp_compat_ioctl(). Apply the same locking rationale to the two functions allowing BKL cleanup. Signed-off-by: Mathieu Segaud Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 4ab92bcf773e7b9e1367897047d5fa4d151d9e90 Author: Harvey Harrison Date: Sat Apr 26 18:38:04 2008 +1000 agp: fix shadowed variable warning in amd-k7-agp.c Introduced between 2.6.25-rc2 and -rc3 drivers/char/agp/amd-k7-agp.c:439:6: warning: symbol 'cap_ptr' shadows an earlier one drivers/char/agp/amd-k7-agp.c:414:5: originally declared here cap_ptr is never used again in this function, don't bother redeclaring. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit b74e2082f8e7b8f37af3fc39e8ee0dd0d218c589 Author: Dave Airlie Date: Sat Apr 26 18:21:28 2008 +1000 drm: _end is shadowing real _end, just rename it. Signed-off-by: Dave Airlie commit ac741ab71bb39e6977694ac0cc26678d8673cda4 Author: Jesse Barnes Date: Tue Apr 22 16:03:07 2008 +1000 drm/vbl rework: rework how the drm deals with vblank. Other Authors: Michel Dänzer mga: Ian Romanick via: Thomas Hellstrom This re-works the DRM internals to provide a better interface for drivers to expose vblank on multiple crtcs. It also includes work done by Michel on making i915 triple buffering and pageflipping work properly. Signed-off-by: Dave Airlie commit 2c14f28be2a3f2a2e9861b156d64fbe2bc7000c3 Author: Dave Airlie Date: Mon Apr 21 16:47:32 2008 +1000 drm: reorganise minor number handling using backported modesetting code. rips out the head crap and replaces it with an idr and drm_minor structure Signed-off-by: Dave Airlie commit 7b832b56bd971348329c3f4c753ca0abfdf3a3d1 Author: Keith Packard Date: Mon Apr 21 16:31:10 2008 +1000 drm/i915: Handle tiled buffers in vblank tasklet The vblank tasklet update code must build 2D blt commands with the appropriate tiled flags Signed-off-by: Dave Airlie commit a36b7dcc05bc4c4580f11cf78e95edfefa86b8a6 Author: Keith Packard Date: Mon Apr 21 16:27:24 2008 +1000 drm/i965: On I965, use correct 3DSTATE_DRAWING_RECTANGLE command in vblank The batchbuffer submission paths were fixed to use the 965-specific command, but the vblank tasklet was not. When the older version is sent, the 965 will lock up. Signed-off-by: Dave Airlie commit f1c3e67eb73a4a1db31e235883156ac098e29ff6 Author: Benjamin Herrenschmidt Date: Sun Apr 20 10:26:31 2008 +1000 drm: Remove unneeded dma sync in ATI pcigart alloc Now that the ATI pcigart code uses dma_alloc_coherent, we don't need the dma_sync_single_for_device() that we used to have here. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Dave Airlie commit 5ff64611333fd282793ff8997e02138aa2f6aab9 Author: Benjamin Herrenschmidt Date: Sun Apr 20 10:26:25 2008 +1000 drm: Fix mismerge of non-coherent DMA patch The patch for supporting non coherent PCI DMA in the DRM was mismerged causing the page protection to be updated for the wrong type of mapping. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Dave Airlie commit b1721d0da266b4af8cb4419473b4ca36206ab200 Author: Harvey Harrison Date: Fri Apr 25 19:03:08 2008 -0700 v4l/dvb: add statics to avoid multiple definitions Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit bc84e0a160e383deb56568f4e03bc51b1ce16775 Merge: a929107... f8f9570... Author: Linus Torvalds Date: Fri Apr 25 19:05:55 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: [PATCH] sanitize locate_fd() [PATCH] sanitize unshare_files/reset_files_struct [PATCH] sanitize handling of shared descriptor tables in failing execve() [PATCH] close race in unshare_files() [PATCH] restore sane ->umount_begin() API cifs: timeout dfs automounts +little fix. commit a92910723a5af54f81373875fd95133c88df94bd Author: Harvey Harrison Date: Fri Apr 25 18:40:01 2008 -0700 mac-hid: fix build after lockdep annotation Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 753d7054c318f323a7c135c71c68171a6b6a88fc Author: Randy Dunlap Date: Fri Apr 25 16:38:44 2008 -0700 documentation: remove smart-config.txt As requested by Sam Ravnborg: Remove Documentation/smart-config.txt. It is outdated and has been (functionally) replaced by Documentation/kbuild/*.txt. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 3dd7b71ca0f7ff8410a6b8cb15e5f670f90181e4 Author: Roland Dreier Date: Fri Apr 25 15:32:51 2008 -0700 Export __locks_copy_lock() so modular lockd builds Commit 1a747ee0 ("locks: don't call ->copy_lock methods on return of conflicting locks") changed fs/lockd/svclock.c to call __locks_copy_lock() instead of locks_copy_lock(), but lockd can be built as a module and __locks_copy_lock() is not exported, which causes a build error ERROR: "__locks_copy_lock" [fs/lockd/lockd.ko] undefined! with CONFIG_LOCKD=m. Fix this by exporting __locks_copy_lock(). Signed-off-by: Roland Dreier Signed-off-by: Linus Torvalds commit ed4d3c1061d6f367a4ef5e1656c25af3314fe2b7 Author: Yevgeny Petrilin Date: Fri Apr 25 14:52:32 2008 -0700 mlx4_core: Add helper to move QP to ready-to-send Avoid duplicating code in ethernet and FC modules. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit b7aa1f1603bea4fdec49a915712dea280cfd07e8 Author: Kenji Kaneshige Date: Fri Apr 25 14:39:14 2008 -0700 pciehp: Fix command write Current implementation of pciehp_write_cmd() always enables command completed interrupt. But pciehp_write_cmd() is also used for clearing command completed interrupt enable bit. In this case, we must not set the command completed interrupt enable bit. To fix this bug, this patch add the check to see if caller wants to change command complete interrupt enable bit. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit ef0ff95f136f0f2d035667af5d18b824609de320 Author: Kenji Kaneshige Date: Fri Apr 25 14:39:12 2008 -0700 shpchp: fix slot name Current shpchp uses the combination of bus number and slot number as a slot name. But it is not a good idea because bus number is not a physical identifier but a logical identifier. This is against the shpc specification. So remove the bus number from the physical identifier. However, there are some platforms with the problem that it provides the same slot number. For those platforms, this patch also introduces new module option 'shpchp_slot_with_bus'. If it is specified, shpchp uses the combination of bus number and slot number as a slot name. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit 4ea3e58b22b3719af99c567d08136bbe50cb4435 Author: Adrian Bunk Date: Fri Apr 25 14:39:10 2008 -0700 make pciehp_acpi_get_hp_hw_control_from_firmware() this_patch_makes_the_needlessly_global_pciehp_acpi_get_hp_hw_control_from_firmware_static ;) Signed-off-by: Adrian Bunk Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit 2aeeef11999590d88249fbd086671af8300116f4 Author: Kenji Kaneshige Date: Fri Apr 25 14:39:08 2008 -0700 pciehp: Clean up pcie_init() Clean up pciehp_ini(). This patch is trying to - Remove redundant capablity checks that were already done in PCIe port bus driver. - Separate the code only for debugging and make debug information easier to read. - Make the entire code easier to read and understand what it is doing. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit d84be093a81c29e085144c4d483d9fa0a83a1918 Author: Kenji Kaneshige Date: Fri Apr 25 14:39:07 2008 -0700 pciehp: Mask hotplug interrupt at controller release We must disable hotplug interrupt at controller relase time, otherwise spurious interrupts might happen if any slot events occured (e.g. MRL change) after unloading pciehp driver. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit cff006543fa3fca2a47dd795ac524237489858d6 Author: Kenji Kaneshige Date: Fri Apr 25 14:39:06 2008 -0700 pciehp: Remove useless hotplug interrupt enabling Hotplug interrupt is enabled at initialization and nobody clears it. So we need to setup it in each command. This patch removes redundant codes about this. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit ae416e6b2936fdb70aeee6eb9066115d4521daa6 Author: Kenji Kaneshige Date: Fri Apr 25 14:39:06 2008 -0700 pciehp: Fix wrong slot capability check Current pciehp saves only 8bits of Slot Capability registers in ctrl->ctrlcap. But it refers more than 8bit for checking EMI capability. It is clearly a bug and EMI would never work. To fix this problem, this patch saves full Slot Capability contens in ctrl->slot_cap. It also reduce the redundant reads of Slot Capability register. And this pach also cleans up the macros to check the slot capabilitys (e.g. MRL_SENS(), and so on). Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit c27fb883dffe11aa4cb35ecea1fa1832ba45d4da Author: Kenji Kaneshige Date: Fri Apr 25 14:39:05 2008 -0700 pciehp: Fix wrong slot control register access Current pciehp implementaion clears hotplug events without waiting for command completion. Because of this, events might not be cleared properly. To prevent this problem, we must use pciehp_write_cmd() to write to Slot Control register. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit 2d32a9aed2e335d110fbb11985a9545b1f7219ab Author: Kenji Kaneshige Date: Fri Apr 25 14:39:02 2008 -0700 pciehp: Add missing memory barrier Fix the possible race condition between pcie_isr() and pciehp_write_cmd() because of the lack of memory barrier. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit c6b069e94601aea8887afbbd922afe20a3580a7d Author: Kenji Kaneshige Date: Fri Apr 25 14:38:57 2008 -0700 pciehp: Fix interrupt event handlig Current pciehp implementation disables and re-enables hotplug interrupts in its interrupt handler. This operation might be intend to guarantee that interrupts for the events newly occured during previous events are being handled will be successfully generated. But current implementaion has the following prolems. - Current interrupt service routin clears status changes without waiting command completion. Because of this, events might not be cleared properly. - Current interrupt service routine clears status changes caused by disabling or enabling hotplug interrupts itself. This will lose new events that occurs during previous interrupts are being handled. - Current implementation doesn't have any serialization mechanism between the code to wait for command completion and the interrupt handler that clears the command completion events caused by itself. There is clearly race conditions between them, and it may cause the problem that waiting for command completion doesn't work for example. To fix those problems, this patch stops disabling/re-enabling hotplug interrupts in interrupt service routine. Instead of this, this patch re-inspects Slot Status register after clearing what is presumed to be the last bending interrupt in order to guarantee that all interrupt events are serviced. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit 3800345f723fd130d50434d4717b99d4a9f383c8 Author: Kenji Kaneshige Date: Fri Apr 25 14:38:38 2008 -0700 pciehp: fix slot name Current pciehp uses the combination of bus number and slot number as a slot name. But it is not a good idea because bus number is not a physical identifier but a logical identifier. This is against the PCIE specification. So remove the bus number from the physical identifier. However, there are some platforms with the problem that it provides the same slot number. For those platforms, this patch also introduces new module option 'pciehp_slot_with_bus'. If it is specified, pciehp uses the combination of bus number and slot number as a slot name. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit 38ae6a535470b959df67ded6798fc542bb212e19 Author: Yevgeny Petrilin Date: Fri Apr 25 14:27:08 2008 -0700 mlx4_core: Add HW queues allocation helpers Wrap doorbell, buffer and MTT allocation in helper functions for ethernet and FC modules to use. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit b9fa38f75ea7e1f64bc29653ca9758303ce698e4 Merge: 6e18933... f360bf0... Author: Linus Torvalds Date: Fri Apr 25 12:52:16 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (49 commits) [POWERPC] Add zImage.iseries to arch/powerpc/boot/.gitignore [POWERPC] bootwrapper: fix build error on virtex405-head.S [POWERPC] 4xx: Fix 460GT support to not enable FPU [POWERPC] 4xx: Add NOR FLASH entries to Canyonlands and Glacier dts [POWERPC] Xilinx: of_serial support for Xilinx uart 16550. [POWERPC] Xilinx: boot support for Xilinx uart 16550. [POWERPC] celleb: Add support for PCI Express [POWERPC] celleb: Move miscellaneous files for Beat [POWERPC] celleb: Move a file for SPU on Beat [POWERPC] celleb: Move files for Beat mmu and iommu [POWERPC] celleb: Move files for Beat hvcall interfaces [POWERPC] celleb: Move the SCC related code for celleb [POWERPC] celleb: Move the files for celleb base support [POWERPC] celleb: Consolidate io-workarounds code [POWERPC] cell: Generalize io-workarounds code [POWERPC] Add CONFIG_PPC_PSERIES_DEBUG to enable debugging for platforms/pseries [POWERPC] Convert from DBG() to pr_debug() in platforms/pseries/ [POWERPC] Register udbg console early on pseries LPAR [POWERPC] Mark udbg console as CON_ANYTIME, ie. callable early in boot [POWERPC] Set udbg_console index to 0 ... commit 6e18933f2b6156d0a0ec9d5522ab6a6033cf7241 Merge: eb855fd... 03970f0... Author: Linus Torvalds Date: Fri Apr 25 12:50:00 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [PATCH] Build fix for CONFIG_NUMA=y && CONFIG_SMP=n [IA64] fix bootmem regression on Altix commit eb855fd8e7f6b1d8b50f24aa36803e29b367b041 Merge: bf16ae2... 060856c... Author: Linus Torvalds Date: Fri Apr 25 12:48:44 2008 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds: leds: Add default-on trigger leds: Document the context brightness_set needs leds: Add new driver for the LEDs on the Freecom FSG-3 leds: Add support to leds with readable status leds: enable support for blink_set() platform hook in leds-gpio leds: Cleanup various whitespace and code style issues leds: disable triggers on brightness set leds: Add mail LED support for "Clevo D400P" commit bf16ae250999e76aff0491a362073a552db965fc Merge: 0b79dad... 1526a75... Author: Linus Torvalds Date: Fri Apr 25 12:48:08 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-pat * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-pat: generic: add ioremap_wc() interface wrapper /dev/mem: make promisc the default pat: cleanups x86: PAT use reserve free memtype in mmap of /dev/mem x86: PAT phys_mem_access_prot_allowed for dev/mem mmap x86: PAT avoid aliasing in /dev/mem read/write devmem: add range_is_allowed() check to mmap of /dev/mem x86: introduce /dev/mem restrictions with a config option commit 0b79dada976198cb1a4c043068e3b44d5cab2a5a Merge: 50be491... 3f5087a... Author: Linus Torvalds Date: Fri Apr 25 12:47:56 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes: sched: fix share (re)distribution softlockup: fix NOHZ wakeup seqlock: livelock fix commit 50be4917ee70218f59e04dec029121b97fb9cb3d Merge: 37b05b1... f9d4249... Author: Linus Torvalds Date: Fri Apr 25 12:41:55 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: pata_bf54x: decrease count first. sata_mv: re-enable hotplug, update TODO list sata_mv: leave SError bits untouched in mv_err_intr sata_mv: more interrupt handling rework sata_mv: tidy host controller interrupt handling sata_mv: simplify request/response queue handling sata_mv: simplify freeze/thaw bit-shift calculations sata_mv mask all interrupt coalescing bits sata_mv more cosmetics ata_piix: add Asus Eee 701 controller to short cable list libata-eh set tf flags in NCQ EH result_tf make sata_set_spd_needed() static make sata_print_link_status() static libata-acpi.c: remove unneeded #if's sata_nv: make hardreset return -EAGAIN on success ahci: retry enabling AHCI a few times before spitting out WARN_ON() libata: make WARN_ON conditions in ata_sff_hsm_move() more strict ATA/IDE: fix platform driver hotplug/coldplug sata_sis: SCR accessors return -EINVAL when requested SCR isn't available libata: functions with definition should not be extern commit 37b05b17985ecc43a33e2a8cbdaa220115de4703 Merge: ce1d5b2... 4953d14... Author: Linus Torvalds Date: Fri Apr 25 12:40:57 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (120 commits) usb: don't update devnum for wusb devices wusb: make ep0_reinit available for modules wusb: devices dont use a set address wusb: teach choose_address() about wireless devices wusb: add link wusb-usb device wusb: add authenticathed bit to usb_dev USB: remove unnecessary type casting of urb->context usb serial: more fixes and groundwork for tty changes USB: replace remaining __FUNCTION__ occurrences USB: usbfs: export the URB_NO_INTERRUPT flag to userspace USB: fix compile problems in ehci-hcd USB: ehci: qh_completions cleanup and bugfix USB: cdc-acm: signedness fix USB: add documentation about callbacks USB: don't explicitly reenable root-hub status interrupts USB: OHCI: turn off RD when remote wakeup is disabled USB: HCDs use the do_remote_wakeup flag USB: g_file_storage: ignore bulk-out data after invalid CBW USB: serial: remove endpoints setting checks from core and header USB: serial: remove unneeded number endpoints settings ... commit ce1d5b23a8d1e19866ab82bdec0dc41fde5273d8 Merge: ad5e1b0... 308f0a5... Author: Linus Torvalds Date: Fri Apr 25 12:38:14 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (40 commits) Input: wacom - add support for Cintiq 20WSX Input: ucb1400_ts - IRQ probe fix Input: at32psif - update MODULE_AUTHOR with new email Input: mac_hid - add lockdep annotation to emumousebtn Input: i8042 - fix incorrect usage of strncpy and strncat Input: bf54x-keys - add infrastructure for keypad wakeups Input: add MODULE_ALIAS() to hotpluggable platform modules Input: drivers/char/keyboard.c - use time_after Input: fix ordering in joystick Makefile Input: wm97xx-core - support use as a wakeup source Input: wm97xx-core - use IRQF_SAMPLE_RANDOM Input: wm97xx-core - only schedule interrupt handler if not already scheduled Input: add Zhen Hua driver Input: aiptek - add support for Genius G-PEN 560 tablet Input: wacom - implement suspend and autosuspend Input: xpad - set proper buffer length for outgoing requests Input: omap-keypad - fix build warning Input: gpio_keys - irq handling cleanup Input: add PS/2 serio driver for AVR32 devices Input: put ledstate in the keyboard notifier ... commit ad5e1b0f5d913d2c8bddfba81049cc07228da1a6 Merge: 6f97b22... 4217516... Author: Linus Torvalds Date: Fri Apr 25 12:36:42 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: kconfig: fix broken target update-po-config kbuild: silence documentation GEN xml messages according to $(quiet) commit 6f97b220f414e3599ea5374905ba6d0dc47d63b0 Merge: 4b7227c... e3dcc5a... Author: Linus Torvalds Date: Fri Apr 25 12:33:49 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: (24 commits) dm crypt: add documentation dm: remove md argument from specific_minor dm table: remove unused dm_create_error_table dm table: drop void suspend_targets return dm: unplug queues in threads dm raid1: use timer dm: move include files dm kcopyd: rename dm: expose macros dm kcopyd: remove redundant client counting dm kcopyd: private mempool dm kcopyd: per device dm log: make module use tracking internal dm log: move register functions dm log: clean interface dm kcopyd: clean interface dm io: clean interface dm io: rename error to error_bits dm snapshot: store pointer to target instance dm log: move dirty region log code into separate module ... commit 4b7227ca321ccf447cdc04538687c895db8b77f5 Merge: 5dae61b... 1775826... Author: Linus Torvalds Date: Fri Apr 25 12:32:10 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-xen-next * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-xen-next: (52 commits) xen: add balloon driver xen: allow compilation with non-flat memory xen: fold xen_sysexit into xen_iret xen: allow set_pte_at on init_mm to be lockless xen: disable preemption during tlb flush xen pvfb: Para-virtual framebuffer, keyboard and pointer driver xen: Add compatibility aliases for frontend drivers xen: Module autoprobing support for frontend drivers xen blkfront: Delay wait for block devices until after the disk is added xen/blkfront: use bdget_disk xen: Make xen-blkfront write its protocol ABI to xenstore xen: import arch generic part of xencomm xen: make grant table arch portable xen: replace callers of alloc_vm_area()/free_vm_area() with xen_ prefixed one xen: make include/xen/page.h portable moving those definitions under asm dir xen: add resend_irq_on_evtchn() definition into events.c Xen: make events.c portable for ia64/xen support xen: move events.c to drivers/xen for IA64/Xen support xen: move features.c from arch/x86/xen/features.c to drivers/xen xen: add missing definitions in include/xen/interface/vcpu.h which ia64/xen needs ... commit 5dae61b80564a5583ff4b56e357bdbc733fddb76 Merge: 2e561c7... 2664ef4... Author: Linus Torvalds Date: Fri Apr 25 12:29:55 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Wrap SMP IPIs with irq_enter()/irq_exit(). [SPARC64]: Fix args to 64-bit sys_semctl() via sys_ipc(). commit 2e561c7b7e705b619122e5386d6f99f28f2b6e5a Merge: 2cfed60... 653252c... Author: Linus Torvalds Date: Fri Apr 25 12:28:28 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (48 commits) net: Fix wrong interpretation of some copy_to_user() results. xfrm: alg_key_len & alg_icv_len should be unsigned [netdrvr] tehuti: move ioctl perm check closer to function start ipv6: Fix typo in net/ipv6/Kconfig via-velocity: fix vlan receipt tg3: sparse cleanup forcedeth: realtek phy crossover detection ibm_newemac: Increase MDIO timeouts gianfar: Fix skb allocation strategy netxen: reduce stack usage of netxen_nic_flash_print smc911x: test after postfix decrement fails in smc911x_{reset,drop_pkt} net drivers: fix platform driver hotplug/coldplug forcedeth: new backoff implementation ehea: make things static phylib: Add support for board-level PHY fixups [netdrvr] atlx: code movement: move atl1 parameter parsing atlx: remove flash vendor parameter korina: misc cleanup korina: fix misplaced return statement WAN: Fix confusing insmod error code for C101 too. ... commit 2cfed60cc24676d65e01278dbf10d0069de02592 Author: Matthew Wilcox Date: Fri Apr 25 04:21:11 2008 -0600 Update .gitignore files Add some autogenerated files to various .gitignore files Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit 7e97b28309edc5669ced2bb1371704e8f8d084e3 Merge: 5421d05... 3887ed5... Author: Linus Torvalds Date: Fri Apr 25 12:25:48 2008 -0700 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: (82 commits) [MTD] m25p80: Add Support for ATMEL AT25DF641 64-Megabit SPI Flash [MTD] m25p80: add FAST_READ access support to M25Pxx [MTD] [NAND] bf5xx_nand: Avoid crash if bfin_mac is installed. [MTD] [NAND] at91_nand: control NCE signal [MTD] [NAND] AT91 hardware ECC compile fix for at91sam9263 / at91sam9260 [MTD] [NAND] Hardware ECC controller on at91sam9263 / at91sam9260 [JFFS2] Introduce dbg_readinode2 log level, use it to shut read_dnode() up [JFFS2] Fix jffs2_reserve_space() when all blocks are pending erasure. [JFFS2] Add erase_checking_list to hold blocks being marked. UBI: add a message [JFFS2] Return values of jffs2_block_check_erase error paths [MTD] Clean up AR7 partition map support [MTD] [NOR] Fix Intel CFI driver for collie flash [JFFS2] Finally remove redundant ref->__totlen field. [JFFS2] Honour TEST_TOTLEN macro in debugging code. ref->__totlen is going! [JFFS2] Add paranoia debugging for superblock counts [JFFS2] Fix free space leak with in-band cleanmarkers [JFFS2] Self-sufficient #includes in jffs2_fs_i.h: include [MTD] [NAND] Verify probe by retrying to checking the results match [MTD] [NAND] S3C2410 Allow ECC disable to be specified by the board ... commit 5421d059068341b3f21df1a21c2ba9175e55ebef Merge: 5f3b287... 5a9d322... Author: Linus Torvalds Date: Fri Apr 25 12:25:03 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes2: sched: use alloc_bootmem() instead of alloc_bootmem_low() commit 5f3b28781cbc030351e2fa0712602afbea592aae Merge: f7ce1f5... e386497... Author: Linus Torvalds Date: Fri Apr 25 12:24:06 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: ieee1394: silence defined but not used warning in non-modular builds ieee1394: rawiso: requeue packet for transmission after skipped cycle commit 4217516e52949e6550ff01d57f92b9b24ce04be1 Author: Sam Ravnborg Date: Fri Apr 25 21:15:41 2008 +0200 kconfig: fix broken target update-po-config Massimo Maiurana reported: In the latest kernel "make update-po-config" fails because it tries to open arch/Kconfig/Kconfig, since the ls command doesn't distinguish between files and directories. Cc: Massimo Maiurana Signed-off-by: Sam Ravnborg commit f7ce1f5e083fc099346019fb1f8d56a5452703ed Merge: dd0e101... 0254da0... Author: Linus Torvalds Date: Fri Apr 25 12:06:46 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: kbuild: fix depmod comment kbuild: Add new Kbuild variable KBUILD_EXTRA_SYMBOLS kbuild: support loading extra symbols in modpost Add option to enable -Wframe-larger-than= on gcc 4.4 kbuild: add kconfig symbols to tags output kbuild: fix some minor typoes kbuild: error out on missing MODULE_LICENSE commit dd0e101d630b0d7ed6c9e1ccf7af7fc91818330e Merge: cf2ec15... 00c6b2d... Author: Linus Torvalds Date: Fri Apr 25 12:03:36 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-x86-fixes4 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-x86-fixes4: x86: harden kernel code patching x86: clean up text_poke() x86: fix text_poke() x86: remove set_fixmap() warning x86: make __set_fixmap() non-init x86: make clear_fixmap() available on 64-bit as well commit 759cd603beea7f4ab7df1e6bcfda90b62b5f4125 Author: Mike Frysinger Date: Fri Mar 28 14:30:58 2008 -0700 kbuild: silence documentation GEN xml messages according to $(quiet) Add rules for gen_xml and its quiet & silent variants. This causes "make -s" to be silent for gen_xml. Signed-off-by: Mike Frysinger Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 0254da07d9d51044140a904c47affaeeb8b74ae8 Author: Uwe Kleine-König Date: Wed Mar 5 15:57:04 2008 +0100 kbuild: fix depmod comment Signed-off-by: Uwe Kleine-König Cc: trivial@kernel.org Signed-off-by: Sam Ravnborg commit cf2ec150fc5f59dbf2260863225c79aa0cfc46af Merge: 9f4def9... e36cd4a... Author: Linus Torvalds Date: Fri Apr 25 11:45:40 2008 -0700 Merge branch 'for-linus' of git://linux-nfs.org/~bfields/linux * 'for-linus' of git://linux-nfs.org/~bfields/linux: nfsd: don't allow setting ctime over v4 Update to NFS/RDMA documentation locks: don't call ->copy_lock methods on return of conflicting locks lockd: unlock lockd locks held for a certain filesystem lockd: unlock lockd locks associated with a given server ip leases: remove unneeded variable from fcntl_setlease(). leases: move lock allocation earlier in generic_setlease() leases: when unlocking, skip locking-related steps leases: fix a return-value mixup commit 0d96fb20b7ed757fc936bb35e26c22251a75b734 Author: Richard Hacker Date: Thu Feb 28 09:40:58 2008 +0100 kbuild: Add new Kbuild variable KBUILD_EXTRA_SYMBOLS This patch adds a new (Kbuild) Makefile variable KBUILD_EXTRA_SYMBOLS. The space separated list of file names assigned to KBUILD_EXTRA_SYMBOLS is used when calling scripts/mod/modpost during stage 2 of the Kbuild process for non-kernel-tree modules. Signed-off-by: Richard Hacker Signed-off-by: Sam Ravnborg commit 2d04b5ae1bf527201a7505c9be7526c43ebd2930 Author: Richard Hacker Date: Thu Feb 28 09:40:52 2008 +0100 kbuild: support loading extra symbols in modpost This patch adds a new command line option -E to modpost, expecting a symbol file as an argument which is read prior to symbol processing. -E can be supplied multiple times for as many files as is needed. When building kernel modules that depend on other modules not in the main kernel tree, modpost complains about undefined symbols: # make -C /path/to/linux/kernel M=/path/to/my/module ... Building modules, stage 2. .... WARNING: "rt_copy_buf" [/home/rich/osc_etl_rtw/osc_kmod.ko] undefined! ...etc This situation occurs when modpost processes the new module's symbols. When it finds symbols not exported by the mainline kernel, it issues this warning. The patch adds a new command line option -e to modpost which expects a symbol file as an argument. The symbols listed in this file are added to modpost's symbol tables during startup. -e can be supplied as often as required. This patch works together with the second patch. It introduces a new make variable, KBUILD_EXTRA_SYMBOLS, which is used when calling modpost. Signed-off-by: Richard Hacker Signed-off-by: Sam Ravnborg commit 35bb5b1e0e84cfa1a8906f7e6a77f391ff315791 Author: Andi Kleen Date: Fri Feb 22 15:15:03 2008 +0100 Add option to enable -Wframe-larger-than= on gcc 4.4 Add option to enable -Wframe-larger-than= on gcc 4.4 gcc mainline (upcoming 4.4) added a new -Wframe-larger-than=... option to warn at build time about too large stack frames. Add a config option to enable this warning, since this very useful for the kernel. I choose (somewhat arbitarily) 2048 as default warning threshold for 64bit and 1024 as default for 32bit architectures. With some research and fixing all the code for smaller values these defaults should be probably lowered. With the default allyesconfigs have some new warnings, but I think that is all code that should be just fixed. At some point (when gcc 4.4 is released and widely used) this should obsolete make checkstack Signed-off-by: Andi Kleen Signed-off-by: Sam Ravnborg commit 80ff26241623875636674a31c0540a78c0fb5433 Author: Alexey Dobriyan Date: Fri Feb 22 15:02:33 2008 +0300 kbuild: add kconfig symbols to tags output Steps to reproduce: vi -t NETFILTER Signed-off-by: Alexey Dobriyan Signed-off-by: Sam Ravnborg commit 3156fd0529b5216f4f444f4a7752b82dc1bd99c0 Author: Robert P. J. Day Date: Mon Feb 18 04:48:20 2008 -0500 kbuild: fix some minor typoes Signed-off-by: Robert P. J. Day Signed-off-by: Sam Ravnborg commit eed7d2798ce7b78547106d0c3557a88251b413d0 Author: Sam Ravnborg Date: Fri Apr 25 20:13:30 2008 +0200 kbuild: error out on missing MODULE_LICENSE Adrian Bunk suggested a build time check for missing MODULE_LICENSE annotation in modules. The build time check is fatal as we really want this fixed for all modules. In-tree modules should all have been fixed up by now. Signed-off-by: Sam Ravnborg Cc: Adrian Bunk commit 9f4def9ae4772ea3da5e2359de698742ebae53b5 Author: Jonathan Corbet Date: Fri Apr 25 11:56:37 2008 -0600 Document seq_path_root() Signed-off-by: Jonathan Corbet commit 00c6b2d5d7b2414bd46c620d6a8c37fa7a716f29 Author: Ingo Molnar Date: Fri Apr 25 17:07:03 2008 +0200 x86: harden kernel code patching Signed-off-by: Ingo Molnar commit b7b66baa8bc3f8e0cda6576e31e9bde09382565d Author: Mathieu Desnoyers Date: Thu Apr 24 11:03:33 2008 -0400 x86: clean up text_poke() Clean up the codepath, remove alignment restrictions and do sanity checking of the end result, to make sure we patched the right site. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 8b132ecbcfea8b1b556a832df7290379df79ad79 Author: Jiri Slaby Date: Mon Apr 28 02:51:23 2008 +0200 x86: fix text_poke() kernel_text_address returns true even for modules which is not wanted in text_poke. Use core_kernel_text instead. This is a regression introduced in e587cadd8f47e202a30712e2906a65a0606d5865 which caused occasionaly crashes after suspend/resume. Signed-off-by: Jiri Slaby CC: Mathieu Desnoyers CC: Andi Kleen CC: pageexec@freemail.hu CC: H. Peter Anvin CC: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 70c9f590ffc3f959cc81c1a3cecb6b8133caf35d Author: Ingo Molnar Date: Fri Apr 25 18:05:57 2008 +0200 x86: remove set_fixmap() warning set_fixmap()+clear_fixmap() is safe. Signed-off-by: Ingo Molnar commit 82a355f5a2fdc203e5a32626d667ec43fc76b8b1 Author: Ingo Molnar Date: Fri Apr 25 18:28:21 2008 +0200 x86: make __set_fixmap() non-init Signed-off-by: Ingo Molnar commit 3ec96783e3c1d21bf9a1fa3f238f8354c92827f6 Author: Ingo Molnar Date: Fri Apr 25 18:25:25 2008 +0200 x86: make clear_fixmap() available on 64-bit as well Signed-off-by: Ingo Molnar commit 0fe8a3ce73ef31d1480e82798503948a979e8e52 Author: Jonathan Corbet Date: Fri Apr 25 11:23:56 2008 -0600 Various fixes to Documentation/HOWTO Fix a number of things which have gone somewhat out-of-date over the last few months. Signed-off-by: Jonathan Corbet commit 460895c4b234754804300c074dfba104fa069afa Author: Jesse Barnes Date: Fri Apr 25 10:14:28 2008 -0700 Update MAINTAINERS with location of PCI tree The PCI tree is now in git at kernel.org:/pub/scm/linux/kernel/git/jbarnes/pci-2.6.git; add that info to MAINTAINERS. commit e36cd4a2873c398ba188f16e4087cce7f00a1506 Author: J. Bruce Fields Date: Thu Apr 24 16:59:30 2008 -0400 nfsd: don't allow setting ctime over v4 Presumably this is left over from earlier drafts of v4, which listed TIME_METADATA as writeable. It's read-only in rfc 3530, and shouldn't be modifiable anyway. Signed-off-by: J. Bruce Fields commit c272cca625ab507e7cc23708ee5c64d2f384708f Author: James Lentini Date: Thu Apr 24 15:57:43 2008 -0400 Update to NFS/RDMA documentation Update to the NFS/RDMA documentation to clarify how to configure the exports file. Signed-off-by: James Lentini Signed-off-by: J. Bruce Fields commit 1a747ee0cc11a198f9e2435add821bd0dfedb7c1 Author: J. Bruce Fields Date: Thu Apr 24 10:08:22 2008 -0400 locks: don't call ->copy_lock methods on return of conflicting locks The file_lock structure is used both as a heavy-weight representation of an active lock, with pointers to reference-counted structures, etc., and as a simple container for parameters that describe a file lock. The conflicting lock returned from __posix_lock_file is an example of the latter; so don't call the filesystem or lock manager callbacks when copying to it. This also saves the need for an unnecessary locks_init_lock in the nfsv4 server. Thanks to Trond for pointing out the error. Signed-off-by: J. Bruce Fields Cc: Trond Myklebust commit 17efa372cfe4d189705edf6cd4fbe283827a5dc7 Author: Wendy Cheng Date: Thu Jan 17 11:10:12 2008 -0500 lockd: unlock lockd locks held for a certain filesystem Add /proc/fs/nfsd/unlock_filesystem, which allows e.g.: shell> echo /mnt/sfs1 > /proc/fs/nfsd/unlock_filesystem so that a filesystem can be unmounted before allowing a peer nfsd to take over nfs service for the filesystem. Signed-off-by: S. Wendy Cheng Cc: Lon Hohberger Cc: Christoph Hellwig Signed-off-by: J. Bruce Fields fs/lockd/svcsubs.c | 66 +++++++++++++++++++++++++++++++++++++++----- fs/nfsd/nfsctl.c | 65 +++++++++++++++++++++++++++++++++++++++++++ include/linux/lockd/lockd.h | 7 ++++ 3 files changed, 131 insertions(+), 7 deletions(-) commit 4373ea84c84d8a96e99d3da99e813d3e36d1bd11 Author: Wendy Cheng Date: Thu Jan 17 11:10:12 2008 -0500 lockd: unlock lockd locks associated with a given server ip For high-availability NFS service, we generally need to be able to drop file locks held on the exported filesystem before moving clients to a new server. Currently the only way to do that is by shutting down lockd entirely, which is often undesireable (for example, if you want to continue exporting other filesystems). This patch allows the administrator to release all locks held by clients accessing the client through a given server ip address, by echoing that address to a new file, /proc/fs/nfsd/unlock_ip, as in: shell> echo 10.1.1.2 > /proc/fs/nfsd/unlock_ip The expected sequence of events can be: 1. Tear down the IP address 2. Unexport the path 3. Write IP to /proc/fs/nfsd/unlock_ip to unlock files 4. Signal peer to begin take-over. For now we only support IPv4 addresses and NFSv2/v3 (NFSv4 locks are not affected). Also, if unmounting the filesystem is required, we assume at step 3 that clients using the given server ip are the only clients holding locks on the given filesystem; otherwise, an additional patch is required to allow revoking all locks held by lockd on a given filesystem. Signed-off-by: S. Wendy Cheng Cc: Lon Hohberger Cc: Christoph Hellwig Signed-off-by: J. Bruce Fields fs/lockd/svcsubs.c | 66 +++++++++++++++++++++++++++++++++++++++----- fs/nfsd/nfsctl.c | 65 +++++++++++++++++++++++++++++++++++++++++++ include/linux/lockd/lockd.h | 7 ++++ 3 files changed, 131 insertions(+), 7 deletions(-) commit 9d91cdcc0cce3186742f38e7352459b2087fbb86 Author: David M. Richter Date: Wed Apr 23 16:29:02 2008 -0400 leases: remove unneeded variable from fcntl_setlease(). fcntl_setlease() has a struct dentry* that is used only once; this patch removes it. Signed-off-by: David M. Richter Signed-off-by: J. Bruce Fields commit 190855576743a510219fc67886dace29b825d8cb Author: David M. Richter Date: Wed Apr 23 16:29:01 2008 -0400 leases: move lock allocation earlier in generic_setlease() In generic_setlease(), the struct file_lock is allocated after tests for the presence of conflicting readers/writers is done, despite the fact that the allocation might block; this patch moves the allocation earlier. A subsequent set of patches will rely on this behavior to properly serialize between a modified __break_lease() and generic_setlease(). Signed-off-by: David M. Richter Signed-off-by: J. Bruce Fields commit 288b2fd8251cb0bcb14b8a93755ef9c78de70e0f Author: David M. Richter Date: Wed Apr 23 16:29:00 2008 -0400 leases: when unlocking, skip locking-related steps In generic_setlease(), we don't need to allocate a new struct file_lock or check for readers or writers when called with F_UNLCK. Signed-off-by: David M. Richter Signed-off-by: J. Bruce Fields commit 5fcc60c3a05bf417229fba715e7aec52bf6717fb Author: David M. Richter Date: Wed Apr 23 16:28:59 2008 -0400 leases: fix a return-value mixup Fixes a return-value mixup from 85c59580b30c82aa771aa33b37217a6b6851bc14 "locks: Fix potential OOPS in generic_setlease()", in which -ENOMEM replaced what had been intended to stay -EAGAIN in the variable "error". Signed-off-by: David M. Richter Signed-off-by: J. Bruce Fields commit e38649702ea64fdbbab3dd459bf8558142dd3bc4 Author: Tony Breeds Date: Thu Apr 24 09:02:04 2008 +0200 ieee1394: silence defined but not used warning in non-modular builds Currently the kernel will issue the following warning: drivers/ieee1394/raw1394.c:2938: warning: 'raw1394_id_table' defined but not used Add #ifdef MODULE guards around the declaration. Signed-off-by: Tony Breeds Ditto with dv1394_id_table and video1394_id_table. Signed-off-by: Stefan Richter commit cc9429bcb6e36e9f2c51e4e47b95740e472c4c2d Author: Pieter Palmers Date: Wed Mar 19 22:10:59 2008 +0100 ieee1394: rawiso: requeue packet for transmission after skipped cycle As it seems, some host controllers have issues that can cause them to skip cycles now and then when using large packets. I suspect that this is due to DMA not succeeding in time. If the transmit fifo can't contain more than one packet (big packets), the DMA should provide a new packet each cycle (125us). I am under the impression that my current PCI express test system can't guarantee this. In any case, the patch tries to provide a workaround as follows: The DMA program descriptors are modified such that when an error occurs, the DMA engine retries the descriptor the next cycle instead of stalling. This way no data is lost. The side effect of this is that packets are sent with one cycle delay. This however might not be that much of a problem for certain protocols (e.g. AM824). If they use padding packets for e.g. rate matching they can drop one of those to resync the streams. The amount of skips between two userspace wakeups is counted. This number is then propagated to userspace through the upper 16 bits of the 'dropped' parameter. This allows unmodified userspace applications due to the following: 1) libraw simply passes this dropped parameter to the user application 2) the meaning of the dropped parameter is: if it's nonzero, something bad has happened. The actual value of the parameter at this moment does not have a specific meaning. A libraw client can then retrieve the number of skipped cycles and account for them if needed. Signed-off-by: Pieter Palmers Signed-off-by: Stefan Richter commit e19166d5df10be0ea404c4e346cf6be93bfb1d63 Author: Jeff Garzik Date: Fri Apr 18 19:22:52 2008 -0400 [SCSI] aha152x, eata, u14-34f: minor irq handler cleanups - remove pointless casts from void* - remove needless references to 'irq' function argument, when that information is already stored somewhere in a driver-private struct. - where the 'irq' function argument is known never to be used, rename it to 'dummy' to make this more obvious - remove always-false tests for dev_id==NULL - remove always-true tests for 'irq == host_struct->irq' - replace per-irq lookup functions and tables with a direct reference to data object obtained via 'dev_id' function argument, passed from request_irq() This change's main purpose is to prepare for the patchset in jgarzik/misc-2.6.git#irq-remove, that explores removal of the never-used 'irq' argument in each interrupt handler. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit f8f95702f0c4529b0f59488f4509608f0c160e77 Author: Al Viro Date: Wed Apr 23 20:38:10 2008 -0400 [PATCH] sanitize locate_fd() * 'file' argument is unused; lose it. * move setting flags from the caller (dupfd()) to locate_fd(); pass cloexec flag as new argument. Note that files_fdtable() that used to be in dupfd() isn't needed in the place in locate_fd() where the moved code ends up - we know that ->file_lock hadn't been dropped since the last time we calculated fdt because we can get there only if expand_files() returns 0 and it doesn't drop/reacquire in that case. * move getting/dropping ->file_lock into locate_fd(). Now the caller doesn't need to do anything with files_struct *files anymore and we can move that inside locate_fd() as well, killing the struct files_struct * argument. At that point locate_fd() is extremely similar to get_unused_fd_flags() and the next patches will merge those two. Signed-off-by: Al Viro commit 3b1253880b7a9e6db54b943b2d40bcf2202f58ab Author: Al Viro Date: Tue Apr 22 05:31:30 2008 -0400 [PATCH] sanitize unshare_files/reset_files_struct * let unshare_files() give caller the displaced files_struct * don't bother with grabbing reference only to drop it in the caller if it hadn't been shared in the first place * in that form unshare_files() is trivially implemented via unshare_fd(), so we eliminate the duplicate logics in fork.c * reset_files_struct() is not just only called for current; it will break the system if somebody ever calls it for anything else (we can't modify ->files of somebody else). Lose the task_struct * argument. Signed-off-by: Al Viro commit fd8328be874f4190a811c58cd4778ec2c74d2c05 Author: Al Viro Date: Tue Apr 22 05:11:59 2008 -0400 [PATCH] sanitize handling of shared descriptor tables in failing execve() * unshare_files() can fail; doing it after irreversible actions is wrong and de_thread() is certainly irreversible. * since we do it unconditionally anyway, we might as well do it in do_execve() and save ourselves the PITA in binfmt handlers, etc. * while we are at it, binfmt_som actually leaked files_struct on failure. As a side benefit, unshare_files(), put_files_struct() and reset_files_struct() become unexported. Signed-off-by: Al Viro commit 6b335d9c80d7f3c2a3f6545f664ae9007a0f3821 Author: Al Viro Date: Tue Apr 22 04:45:46 2008 -0400 [PATCH] close race in unshare_files() updating current->files requires task_lock Signed-off-by: Al Viro commit 42faad99658eed7ca8bd328ffa4bcb7d78c9bcca Author: Al Viro Date: Thu Apr 24 07:21:56 2008 -0400 [PATCH] restore sane ->umount_begin() API Signed-off-by: Al Viro commit 78d31a3a87f84cf56004b7bc154831f2ee1186e8 Author: Igor Mammedov Date: Thu Apr 24 12:56:07 2008 +0400 cifs: timeout dfs automounts +little fix. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit e3dcc5a387fc38e9c3c6c4f857cd9a7f71a8553a Author: Milan Broz Date: Thu Apr 24 22:11:03 2008 +0100 dm crypt: add documentation Add description of dm-crypt to device-mapper documentation. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit cf13ab8e02d452e2236d0b5fda9972b3b7f503cb Author: Frederik Deweerdt Date: Thu Apr 24 22:10:59 2008 +0100 dm: remove md argument from specific_minor The small patch below: - Removes the unused md argument from both specific_minor() and next_free_minor() - Folds kmalloc + memset(0) into a single kzalloc call in alloc_dev() This has been compile tested on x86. Signed-off-by: Frederik Deweerdt Signed-off-by: Alasdair G Kergon commit 4fdfe401e9d7e30029972d568c667234c0c1d828 Author: Adrian Bunk Date: Thu Apr 24 22:10:56 2008 +0100 dm table: remove unused dm_create_error_table dm_create_error_table() was added in kernel 2.6.18 and never used... Signed-off-by: Adrian Bunk Signed-off-by: Alasdair G Kergon commit e8488d08586e6df7fab3db7881631bb13619311b Author: Adrian Bunk Date: Thu Apr 24 22:10:51 2008 +0100 dm table: drop void suspend_targets return void returning functions returned the return value of another void returning function... Spotted by sparse. Signed-off-by: Adrian Bunk Signed-off-by: Alasdair G Kergon commit 7ff14a36159d947872870e7a3e9dcaebc46b23eb Author: Mikulas Patocka Date: Thu Apr 24 22:10:47 2008 +0100 dm: unplug queues in threads Remove an avoidable 3ms delay on some dm-raid1 and kcopyd I/O. It is specified that any submitted bio without BIO_RW_SYNC flag may plug the queue (i.e. block the requests from being dispatched to the physical device). The queue is unplugged when the caller calls blk_unplug() function. Usually, the sequence is that someone calls submit_bh to submit IO on a buffer. The IO plugs the queue and waits (to be possibly joined with other adjacent bios). Then, when the caller calls wait_on_buffer(), it unplugs the queue and submits the IOs to the disk. This was happenning: When doing O_SYNC writes, function fsync_buffers_list() submits a list of bios to dm_raid1, the bios are added to dm_raid1 write queue and kmirrord is woken up. fsync_buffers_list() calls wait_on_buffer(). That unplugs the queue, but there are no bios on the device queue as they are still in the dm_raid1 queue. wait_on_buffer() starts waiting until the IO is finished. kmirrord is scheduled, kmirrord takes bios and submits them to the devices. The submitted bio plugs the harddisk queue but there is no one to unplug it. (The process that called wait_on_buffer() is already sleeping.) So there is a 3ms timeout, after which the queues on the harddisks are unplugged and requests are processed. This 3ms timeout meant that in certain workloads (e.g. O_SYNC, 8kb writes), dm-raid1 is 10 times slower than md raid1. Every time we submit something asynchronously via dm_io, we must unplug the queue actually to send the request to the device. This patch adds an unplug call to kmirrord - while processing requests, it keeps the queue plugged (so that adjacent bios can be merged); when it finishes processing all the bios, it unplugs the queue to submit the bios. It also fixes kcopyd which has the same potential problem. All kcopyd requests are submitted with BIO_RW_SYNC. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon Acked-by: Jens Axboe commit a2aebe03be60ae4da03507a00d60211d5e0327c3 Author: Mikulas Patocka Date: Thu Apr 24 22:10:42 2008 +0100 dm raid1: use timer This patch replaces the schedule() in the main kmirrord thread with a timer. The schedule() could introduce an unwanted delay when work is ready to be processed. The code instead calls wake() when there's work to be done immediately, and delayed_wake() after a failure to give a short delay before retrying. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit a765e20eeb423d0fa6a02ffab51141e53bbd93cb Author: Alasdair G Kergon Date: Thu Apr 24 22:02:01 2008 +0100 dm: move include files Publish the dm-io, dm-log and dm-kcopyd headers in include/linux. Signed-off-by: Alasdair G Kergon commit 2d1e580afe23287871529ce54429e249809525a1 Author: Alasdair G Kergon Date: Thu Apr 24 21:55:00 2008 +0100 dm kcopyd: rename Rename kcopyd.[ch] to dm-kcopyd.[ch]. Signed-off-by: Alasdair G Kergon commit 0da336e5fab75c712ba8c67f3135d5a20528465f Author: Alasdair G Kergon Date: Thu Apr 24 21:43:52 2008 +0100 dm: expose macros Make dm.h macros and inlines available in include/linux/device-mapper.h Signed-off-by: Alasdair G Kergon commit 945fa4d283a3a472186c11028f6fea1e77a91d14 Author: Mikulas Patocka Date: Thu Apr 24 21:43:49 2008 +0100 dm kcopyd: remove redundant client counting Remove client counting code that is no longer needed. Initialization and destruction is made globally from dm_init and dm_exit and is not based on client counts. Initialization allocates only one empty slab cache, so there is no negative impact from performing the initialization always, regardless of whether some client uses kcopyd or not. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 08d8757a4d52d21d825b9170af36f2696d1da1a8 Author: Mikulas Patocka Date: Thu Apr 24 21:43:46 2008 +0100 dm kcopyd: private mempool Change the global mempool in kcopyd into a per-device mempool to avoid deadlock possibilities. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 8c0cbc2f79bb222d21b466422fde71fcc9bd37e3 Author: Mikulas Patocka Date: Thu Apr 24 21:43:44 2008 +0100 dm kcopyd: per device Make one kcopyd thread per device. The original shared kcopyd could deadlock. Configuration: commit 2a23aa1ddb1f0c9eef2c929c89565c387f6bf68b Author: Jonathan Brassow Date: Thu Apr 24 21:43:41 2008 +0100 dm log: make module use tracking internal Remove internal module reference fields from the interface. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit b8206bc3de0b0665d47655d270c18ea46aff5372 Author: Alasdair G Kergon Date: Thu Apr 24 21:43:38 2008 +0100 dm log: move register functions Reorder a couple of functions in the file so the next patch is readable. Signed-off-by: Alasdair G Kergon commit 416cd17b1982217bca3dc41b9f00b0b38fdaadad Author: Heinz Mauelshagen Date: Thu Apr 24 21:43:35 2008 +0100 dm log: clean interface Clean up the dm-log interface to prepare for publishing it in include/linux. Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon commit eb69aca5d3370b81450d68edeebc2bb9a3eb9689 Author: Heinz Mauelshagen Date: Thu Apr 24 21:43:19 2008 +0100 dm kcopyd: clean interface Clean up the kcopyd interface to prepare for publishing it in include/linux. Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon commit 22a1ceb1e6a7fbce95a1531ff10bb4fb036d4a37 Author: Heinz Mauelshagen Date: Thu Apr 24 21:43:17 2008 +0100 dm io: clean interface Clean up the dm-io interface to prepare for publishing it in include/linux. Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon commit e01fd7eeb00f8078103f4ed3e8ef64474c11f300 Author: Alasdair G Kergon Date: Thu Apr 24 21:43:14 2008 +0100 dm io: rename error to error_bits Rename 'error' to 'error_bits' for clarity. Signed-off-by: Alasdair G Kergon commit 72727bad544b4ce0a3f7853bfd7ae939f398007d Author: Mikulas Patocka Date: Thu Apr 24 21:43:11 2008 +0100 dm snapshot: store pointer to target instance Save pointer to dm_target in dm_snapshot structure. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 769aef30f0f505c44bbe9fcd2c911a052a386139 Author: Heinz Mauelshagen Date: Thu Apr 24 21:43:09 2008 +0100 dm log: move dirty region log code into separate module Move the dirty region log code into a separate module so other targets can share the code. Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon commit b7fd54a70f99061721e604d72d940541e5b2b168 Author: Heinz Mauelshagen Date: Thu Apr 24 21:43:06 2008 +0100 dm log: generalise name in messages Change dm-log.c messages from "mirror log" to "dirty region log" as a new dm target wants to share this code. Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon commit c12bfc923ee02de5611730ddec087c11b3947038 Author: Robert P. J. Day Date: Thu Apr 24 21:42:44 2008 +0100 dm raid1: use list_split_init Use shorter list_splice_init() for brevity. Signed-off-by: Robert P. J. Day Signed-off-by: Alasdair G Kergon commit 8ee2767a5903fde549fd3597690f64c8d951051a Author: Milan Broz Date: Thu Apr 24 21:42:36 2008 +0100 dm snapshot: reduce default memory allocation Limit the amount of memory allocated per snapshot on systems with a large page size. (The larger default chunk size on these systems compensates for the smaller number of pages reserved.) Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 924362629bf5645aee5f49f8a0d0d5b193e65997 Author: Mikulas Patocka Date: Thu Apr 24 21:41:50 2008 +0100 dm snapshot: fix chunksize sector conversion If a snapshot has a smaller chunksize than the page size the conversion to pages currently returns 0 instead of 1, causing: kernel BUG in mempool_resize. Signed-off-by: Mikulas Patocka Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Cc: stable@kernel.org commit 2664ef44cf5053d2b7dff01cecac70bc601a5f68 Author: David S. Miller Date: Fri Apr 25 03:11:37 2008 -0700 [SPARC64]: Wrap SMP IPIs with irq_enter()/irq_exit(). Otherwise all sorts of bad things can happen, including spurious softlockup reports. Other platforms have this same bug, in one form or another, just don't see the issue because they don't sleep as long as sparc64 can in NOHZ. Thanks to some brilliant debugging by Peter Zijlstra. Signed-off-by: David S. Miller commit 020cfb05f2c594c778537159bd45ea5efb0c5e0d Author: David S. Miller Date: Fri Apr 25 02:12:05 2008 -0700 [SPARC64]: Fix args to 64-bit sys_semctl() via sys_ipc(). Second and third arguments were swapped for whatever reason. Reported by Tom Callaway. Signed-off-by: David S. Miller commit 653252c2302cdf2dfbca66a7e177f7db783f9efa Author: Pavel Emelyanov Date: Fri Apr 25 01:49:48 2008 -0700 net: Fix wrong interpretation of some copy_to_user() results. I found some places, that erroneously return the value obtained from the copy_to_user() call: if some amount of bytes were not able to get to the user (this is what this one returns) the proper behavior is to return the -EFAULT error, not that number itself. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3887ed5231fb6f339f36c3a0297c996cd1a1dad9 Author: Michael Hennerich Date: Fri Apr 25 12:07:33 2008 +0800 [MTD] m25p80: Add Support for ATMEL AT25DF641 64-Megabit SPI Flash Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: David Woodhouse commit 2230b76b3838a37167f80487c694d8691248da9f Author: Bryan Wu Date: Fri Apr 25 12:07:32 2008 +0800 [MTD] m25p80: add FAST_READ access support to M25Pxx Signed-off-by: Bryan Wu Signed-off-by: David Woodhouse commit afc4bca63941746f1d49394620d294074150e664 Author: Michael Hennerich Date: Fri Apr 25 12:07:31 2008 +0800 [MTD] [NAND] bf5xx_nand: Avoid crash if bfin_mac is installed. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=4053 Singed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: David Woodhouse commit 2314488e81b6f8966d3ea607c4517a64bf58f283 Author: Atsushi Nemoto Date: Thu Apr 24 23:51:29 2008 +0900 [MTD] [NAND] at91_nand: control NCE signal This driver did not control NCE signal during normal operations (only enable NCE on probing and disable NCE on removing). This patch make NCE signal inactive on idle state. Signed-off-by: Atsushi Nemoto Signed-off-by: David Woodhouse commit 5a9d3225a0d7060bdf3a18018992dc8cef958425 Author: David Miller Date: Thu Apr 24 20:46:20 2008 -0700 sched: use alloc_bootmem() instead of alloc_bootmem_low() There is no guarantee that there is physical ram below 4GB, and in fact many boxes don't have exactly that. Signed-off-by: David S. Miller Signed-off-by: Ingo Molnar commit d43fa1499622e3e561380c34e076aade954e2c2c Author: Richard Genoud Date: Fri Apr 25 09:32:26 2008 +0200 [MTD] [NAND] AT91 hardware ECC compile fix for at91sam9263 / at91sam9260 The sam926x docs allegedly don't list an "ECC_PARITY" field, and the header files in the upstream kernel don't have it either. Masking with it was useless anyway, so just remove it. Signed-off-by: Richard Genoud Signed-off-by: David Woodhouse commit cc93d7d77d28d65d4f947dabc95a01c42d713ea3 Merge: 461e6c8... f946dff... Author: David S. Miller Date: Fri Apr 25 00:31:07 2008 -0700 Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 461e6c856faf9cdd8862fa4d0785974a64e39dba Author: Eric Dumazet Date: Fri Apr 25 00:29:00 2008 -0700 xfrm: alg_key_len & alg_icv_len should be unsigned In commit ba749ae98d5aa9d2ce9a7facde0deed454f92230 ([XFRM]: alg_key_len should be unsigned to avoid integer divides ) alg_key_len field of struct xfrm_algo was converted to unsigned int to avoid integer divides. Then Herbert in commit 1a6509d991225ad210de54c63314fd9542922095 ([IPSEC]: Add support for combined mode algorithms) added a new structure xfrm_algo_aead, that resurrected a signed int for alg_key_len and re-introduce integer divides. This patch avoids these divides and saves 64 bytes of text on i386. Signed-off-by: Eric Dumazet Acked-by: Herbert Xu Signed-off-by: David S. Miller commit f946dffed6334f08da065a89ed65026ebf8b33b4 Author: Jeff Garzik Date: Fri Apr 25 03:11:31 2008 -0400 [netdrvr] tehuti: move ioctl perm check closer to function start Noticed by davem. Signed-off-by: Jeff Garzik commit 5b3f129c5592ca35b3fe8916767c58b98710478c Author: Michael Beasley Date: Thu Apr 24 23:50:30 2008 -0700 ipv6: Fix typo in net/ipv6/Kconfig Two is used in the wrong context here, as you are connecting to an IPv6 network over IPv4; not connecting two IPv6 networks to an IPv4 one. Signed-off-by: Michael Beasley Signed-off-by: David S. Miller commit d4f73c8e459d355e10051174d859ffd0ef5764c0 Author: Francois Romieu Date: Thu Apr 24 23:32:33 2008 +0200 via-velocity: fix vlan receipt - vlans were using a single CAM register (see mac_set_vlan_cam) - setting the address filtering registers for vlans is not needed when there is no vlan The non-tagged interface is filtered out as soon as a tagged (!= 0) interface is created. Its traffic appears again when an zero-tagged interface is created. Tested on Via Epia SN (VT6130 chipset) with several vlans whose tag was above or beyond 255. Signed-off-by: Séguier Régis Acked-by: Francois Romieu Signed-off-by: Jeff Garzik commit 78c6146f16d45f52c33ddb6b48c10fc6cfc53659 Author: Eric Dumazet Date: Thu Apr 24 23:33:06 2008 -0700 tg3: sparse cleanup Fix the following sparse warning : drivers/net/tg3.c:4025:3: warning: context imbalance in 'tg3_restart_hw' - unexpected unlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9f3f7910c67adfb520bbae3d8b16985439a97198 Author: Ayaz Abdulla Date: Wed Apr 23 14:37:30 2008 -0400 forcedeth: realtek phy crossover detection This patch fixes an issue seen with the realtek 8201 phy. This phy has a problem with crossover detection and it needs to be disabled. The problem only arises on certain switches. Therefore, a module parameter has been added to allow enabling crossover detection if needed. The default will be set to disabled. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit cca87c18ce3357e52facf6519f4ab0fbedd1279f Author: Benjamin Herrenschmidt Date: Wed Apr 23 15:17:14 2008 +1000 ibm_newemac: Increase MDIO timeouts This patch doubles the MDIO timeouts in EMAC as there are field cases where they are two short to communicate with some PHYs. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit 815b97c6b8861f2e539c9ecb44c02b7b8ac11ca4 Author: Andy Fleming Date: Tue Apr 22 17:18:29 2008 -0500 gianfar: Fix skb allocation strategy gianfar was unable to handle failed skb allocation for rx buffers, so we were spinning until it succeeded. Actually, it was worse--we were spinning for a long time, and then silently failing. Instead, we take Stephen Hemminger's suggestion to try the allocation earlier, and drop the packet if it failed. We also make a couple of tweaks to how buffer descriptors are set up. Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit 8d74849b91536b126c822968b0f5a1dfd658394d Author: Harvey Harrison Date: Tue Apr 22 11:48:35 2008 -0700 netxen: reduce stack usage of netxen_nic_flash_print Don't need to keep a struct netxen_new_user_info on the stack when we only are interested in printing the serial_num. Change to only reading the serial_num. Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit db2961c5a13562503c82ae306af269fde4fea8f0 Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri Apr 18 13:50:48 2008 -0700 smc911x: test after postfix decrement fails in smc911x_{reset,drop_pkt} When timeout reaches 0 the postfix decrement still subtracts, so the test fails. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Peter Korsgaard Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 72abb46101fb5c47a9592914adb221b430ff26bd Author: Kay Sievers Date: Fri Apr 18 13:50:44 2008 -0700 net drivers: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable network platform drivers, to re-enable auto loading. NOTE: didn't change drivers/net/fs_enet/fs_enet-main.c "old binding" support. That looks problematic in the first place (it even uses the ancient "struct device_driver" binding scheme for platform_bus!) and I suspect it will vanish soonish when arch/powerpc rules the world. Also, drivers/net/ne.c would have needed more thought to sort out. [akpm@linux-foundation.org: fix sgiseeq.c] [dbrownell@users.sourceforge.net: more drivers, registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Cc: Scott Wood Cc: Vitaly Bordug Cc: Dale Farnsworth Cc: Ben Dooks Cc: Ralf Baechle Cc: Andrew Victor Cc: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a433686c73bf63242475ef7e611114f43dd06581 Author: Ayaz Abdulla Date: Fri Apr 18 13:50:43 2008 -0700 forcedeth: new backoff implementation This patch adds support for a new backoff algorithm for half duplex supported in newer hardware. The old method is will be designated as legacy mode. Re-seeding random values for the backoff algorithms are performed when a transmit has failed due to a maximum retry count (1 to 15, where max is considered the wraparound case of 0). Signed-off-by: Ayaz Abdulla Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 22559c5d7488fe21f5f46117a4d275fc72066aa6 Author: Andrew Morton Date: Fri Apr 18 13:50:39 2008 -0700 ehea: make things static ehea_flush_sq() and ehea_purge_sq() should be static. Cc: Jeff Garzik Cc: Thomas Klein Cc: Thomas Klein Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit f62220d3a9ccb879c3f90f845ae57b724b7bbb62 Author: Andy Fleming Date: Fri Apr 18 17:29:54 2008 -0500 phylib: Add support for board-level PHY fixups Sometimes the specific interaction between the platform and the PHY requires special handling. For instance, to change where the PHY's clock input is, or to add a delay to account for latency issues in the data path. We add a mechanism for registering a callback with the PHY Lib to be called on matching PHYs when they are brought up, or reset. Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit 8ec7226a93dcd4a314e2387d1033aef01145061b Author: Chris Snook Date: Fri Apr 18 21:51:53 2008 -0400 [netdrvr] atlx: code movement: move atl1 parameter parsing Move some code from atlx.c to atl1.c to prevent build conflict with the upcoming atl2 code. No changes, just movement. Signed-off-by: Chris Snook Signed-off-by: Jeff Garzik commit 3b49f0354561aefc5235b8dd6ee4ae779a26e06b Author: Chris Snook Date: Fri Apr 18 21:47:41 2008 -0400 atlx: remove flash vendor parameter There's no good reason to manually set the flash vendor in a module parameter, outside of an Atheros hardware lab. Remove it, so nobody accidentally bricks their board using it incorrectly. Signed-off-by: Chris Snook Signed-off-by: Jeff Garzik commit e3152ab901bcec132639d123b0e7c2b5ed237957 Author: Francois Romieu Date: Sun Apr 20 18:06:13 2008 +0200 korina: misc cleanup - useless initialization (korina_ope / korina_restart) - use a single variable for the status code in korina_probe and propagate the error status code from below - useless checks in korina_remove : the variables are necessarily set when korina_probe succeeds Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 751c2e4755027468a79349f8e9f4885a4518426e Author: Francois Romieu Date: Sun Apr 20 18:05:31 2008 +0200 korina: fix misplaced return statement The driver takes the error unwind path without condition. Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit d753d82405ac3504ed69fb6be4d219d9702b8d64 Author: Krzysztof Halasa Date: Sun Apr 20 19:10:56 2008 +0200 WAN: Fix confusing insmod error code for C101 too. Signed-off-by: Krzysztof Hałasa Signed-off-by: Jeff Garzik commit 7cda1edf029370d396fb610f7e41fad9a7123164 Author: Cédric Augonnet Date: Sun Apr 20 19:15:51 2008 +0200 Removing dead code in drivers/net/wan/hdlc_fr.c The local variable "prefix" is never used anymore, and the content of this string appears a bit later, directly in a call to "alloc_netdev" after doing exactly the same if/else test. So there seems to be no point keeping those 4 lines anymore. Signed-off-by: Cédric Augonnet Signed-off-by: Krzysztof Hałasa Signed-off-by: Jeff Garzik commit 6131a2601f42cd7fdbac0e960713396fe68af59f Author: Francois Romieu Date: Sun Apr 20 19:32:34 2008 +0200 tehuti: check register size Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 5a0e2cd51145748c4fd44d0c3a06d39eb87e8725 Author: Grant Grundler Date: Sun Apr 20 22:44:15 2008 -0600 [netdrvr] typhoon: typhoon_resume - remove call to start_queue While trying to fix http://bugzilla.kernel.org/show_bug.cgi?id=8952 I looked at a few other drivers to figure out what drivers _should_ be doing for suspend/resume. I noticed typhoon driver is likely doing more than it needs to. Patch below is untested since I don't have the HW. Suspend/resume code across NIC drivers is fairly inconsistent. And I couldn't find any documentation on what the canonical sequence NICs need to do for suspend or resume. Is there any? Barring contrary advice, I'm going model the tulip suspend/resume fixes after tg3.c since a number of "modern" (< 5 years old) laptops have that and I'm silly enough to assume it works. Signed-off-by: Jeff Garzik commit 11121e3008a9282fc185cb2e81eda2d5436d099b Author: Valentine Barshak Date: Tue Apr 22 10:46:48 2008 +1000 ibm_newemac: PowerPC 440EP/440GR EMAC PHY clock workaround This patch adds ibm_newemac PHY clock workaround for 440EP/440GR EMAC attached to a PHY which doesn't generate RX clock if there is no link. The code is based on the previous ibm_emac driver stuff. The 440EP/440GR allows controlling each EMAC clock separately as opposed to global clock selection for 440GX. BenH: Made that #ifdef CONFIG_PPC_DCR_NATIVE for now as dcri_* stuff doesn't exist for MMIO type DCRs like Cell. Some future rework & improvements of the DCR infrastructure will make that cleaner but for now, this makes it work. Signed-off-by: Valentine Barshak Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit 0925ab5d385b6cd1c435c82bfc01898c81f3d062 Author: Valentine Barshak Date: Tue Apr 22 10:46:46 2008 +1000 ibm_newemac: PowerPC 440GX EMAC PHY clock workaround The PowerPC 440GX Taishan board fails to reset EMAC3 (reset timeout error) if there's no link. Because of that it fails to find PHY chip. The older ibm_emac driver had a workaround for that: the EMAC_CLK_INTERNAL/EMAC_CLK_EXTERNAL macros, which toggle the Ethernet Clock Select bit in the SDR0_MFR register. This patch does the same for "ibm,emac-440gx" compatible chips. The workaround forces clock on -all- EMACs, so we select clock under global emac_phy_map_lock. BenH: Made that #ifdef CONFIG_PPC_DCR_NATIVE for now as dcri_* stuff doesn't exist for MMIO type DCRs like Cell. Some future rework & improvements of the DCR infrastructure will make that cleaner but for now, this makes it work. Signed-off-by: Valentine Barshak Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit be63c09afe9153be6ba4373d1b69848cf2b32268 Author: Josh Boyer Date: Tue Apr 22 10:46:44 2008 +1000 ibm_newemac Use status property for unused/unwired EMACs Convert ibm_newemac to use the of_device_is_available function when checking for unused/unwired EMACs. We leave the current check for an "unused" property to maintain backwards compatibility for older device trees. Newer device trees should simply use the standard "status" property in the EMAC node. Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit 51d4a1cc2e20e2848c6141989f733f0e6548598b Author: Josh Boyer Date: Tue Apr 22 10:46:43 2008 +1000 ibm_newemac: Fix section mismatch warnings This patch fixes several section mismatch warnings in the ibm_newemac driver similar to: WARNING: vmlinux.o(.devinit.text+0x3a04): Section mismatch in reference from the function emac_probe() to the function .devexit.text:tah_detach() The function __devinit emac_probe() references a function __devexit tah_detach(). Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit afd1dee896e8b1cbd24258ac673aeccd803ff582 Author: Stefan Roese Date: Tue Apr 22 10:46:42 2008 +1000 ibm_newemac: Add support for 460EX/GT-type MAL rx-channel handling On some 4xx PPC's (e.g. 460EX/GT), the rx channel number is a multiple of 8 (e.g. 8 for EMAC1, 16 for EMAC2), but enabling in MAL_RXCASR needs the divided by 8 value for the bitmask. Signed-off-by: Stefan Roese Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit f34ebab68a8e3c80ff4364f4c61734faec5161d4 Author: Stefan Roese Date: Tue Apr 22 10:46:42 2008 +1000 ibm_newemac: Fix problem with jumbo frame support and EMAC V4.patch This fixes the jumbo frame support on EMAC V4 systems. Now the correct bit is set depending on the EMAC version configured. Tested on Kilauea (405EX) and Canyonlands (460EX). Signed-off-by: Stefan Roese Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit f014e97ec6a447184f48a9d43432ab2ad1ffc7d8 Author: Jesse Brandeburg Date: Wed Apr 23 11:09:39 2008 -0700 e1000e: Increment version to 0.2.1 Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit c682fc238a9ed45633822f107e1e9de192059bcc Author: Auke Kok Date: Wed Apr 23 11:09:34 2008 -0700 igb: save and restore pcie/msi state to support EEH recovery To enable EEH support for pci-express network adapters, pcie/msi state needs to be saved and restored for that adapter. [after similar patches for ixgbe and e1000e from Wendy Xiong] Signed-off-by: Auke Kok Cc: Wendy Xiong Signed-off-by: Jeff Garzik commit aad32739641d3a75818fbe653d4b0d530e965f2f Author: Wendy Xiong Date: Wed Apr 23 11:09:29 2008 -0700 e1000e: save and restore pcie/msi state to support EEH recovery To enable EEH support for pci-express network adapters, pcie/msi state needs to be saved and restored for that adapter. Tested this EEH patch with 2ports and 4ports pci-express e1000e adapters. Signed-off-by: Wendy Xiong Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit fb3b27bc00ca2b6d69c3a22ff43b4d95fef47bed Author: Wendy Xiong Date: Wed Apr 23 11:09:24 2008 -0700 ixgbe: save and restore pcie/msi state to support EEH recovery To enable EEH support for pci-express network adapters, pcie/msi state needs to be saved and restored for that adapter. Tested this EEH patch with Intel 10G pci-express ixgbe adapter. Signed-off-by: Wendy Xiong Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 7b1be1987c1e8163b3631dcd1ce4f03707d60c3b Author: Auke Kok Date: Wed Apr 23 11:09:19 2008 -0700 e1000e: lower ring minimum size to 64 The lower limit of 80 descriptors in the ring is only valid for one older 8254x chipset. All e1000e devices can use as low as 64 descriptors. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 2d9498f369706d6db174abd2e75b37732b9dbbde Author: David Graham Date: Wed Apr 23 11:09:14 2008 -0700 e1000e: Fix HW Error on es2lan, ARP capture issue by BMC Several components to this complex fix. The es2lan cards occasionally gave a "HW Error" especially when forcing speed. Some users also reported that the BMC stole ARP packets. The fixes include setting the proper SW_FW bits to tell the BMC that we're active and not do any un-initialization at all, so the setup routine is largely changed. Signed-off-by: David Graham Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit de5b3077da8275e87196a1e34c5535f5279c5e1a Author: Auke Kok Date: Wed Apr 23 11:09:08 2008 -0700 e1000e: Add interrupt moderation run-time ethtool interface The ethtool -c / -C interface can now be used to modify the irq moderation algorithm. This change does not require an adapter reset and can thus be used at all times. The adapter only supports changing/reading rx-usecs which has special values for 0, 1 and 3: 0 - no irq moderation whatsoever 1 - normal moderation favoring regular mixed traffic (default) 3 - best attempt at low latency possible at cost of CPU For values between 10 and 10000 the rx-usecs defines "the minimum time between successive irqs" in usec, unlike the module parameter. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 7c25769f88ff0b186766d6a9f9390a2e9fd4670f Author: Bruce Allan Date: Wed Apr 23 11:09:00 2008 -0700 e1000e: cleanup several stats issues Several stats registers are completely unused and we just waste pci bus time reading them. We also omit using the high 32 bits of the GORC/ GOTC counters. We can just read clear them and only read the low registers. Mii-tool can also break es2lan if it executes a MII PHY register ioctl while the device is in autonegotiation. Unfortunately it seems that several applications and installations still perform this ioctl call periodically and especially in this crucial startup time. We can fool the ioctl by providing fail safe information that mimics the "down" link state and only perform the dangerous PHY reads once after link comes up to fill in the real values. As long as link stays up the information will not change. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit c9fcbf4774d7a29b73078017af25d100f152a4af Author: Sreenivasa Honnur Date: Wed Apr 23 13:31:33 2008 -0400 S2io: Removed rx_lock and put_lock - Removed rx_lock and put_lock as the buffer replenishment and receive completion is handled serially. Signed-off-by: Surjit Reang Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 99993af6981aaf8d212a5efa888a19c9db152d58 Author: Sreenivasa Honnur Date: Wed Apr 23 13:29:42 2008 -0400 S2io: Removed receive buffer replenishment tasklet - Removed receive buffer replenishment tasklet s2io_tasklet and instead allocating the receive buffers in either the interrupt handler (no napi) or the napi handler (napi enabled). Signed-off-by: Surjit Reang Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 10371b5e6ba22173425877ea6a7040619b005fa1 Author: Sreenivasa Honnur Date: Wed Apr 23 13:28:58 2008 -0400 S2io: Version update for memory leak fix during free_tx_buffers - Updated version number. Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit b35b3b49fc6750806964048b31799c8782980ef9 Author: Sreenivasa Honnur Date: Wed Apr 23 13:28:08 2008 -0400 S2io: Fix memory leak during free_tx_buffers - Fix the memory leak during free_tx_buffers. Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit f38d1008b034e39397d3da67919e220c851db75e Author: Andy Fleming Date: Wed Apr 23 16:56:17 2008 -0500 ucc_geth: Fix sneaky merge conflict regarding bus_id The patch that changed mdio_bus to a string didn't conflict strongly enough with the patch that added fixed PHY support to UCC. Gather it back into the fold. Fixes this error: ... CC drivers/net/ucc_geth.o 'ucc_geth_probe': /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/net/ucc_geth.c:3935: error: incompatible types in assignment make[3]: *** [drivers/net/ucc_geth.o] Error 1 Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit f9d42491723dbb77bdc9b9dc7e096ea57d535992 Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri Apr 25 11:37:54 2008 +0800 pata_bf54x: decrease count first. When count reaches 0 the postfix decrement still subtracts (to -1), so bfin_reset_controller() returns as if the busy flag was cleared while it was not. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit 85afb934575abdff1b2ac8ea4d522d1355f22a89 Author: Mark Lord Date: Sat Apr 19 14:54:41 2008 -0400 sata_mv: re-enable hotplug, update TODO list Re-enable hotplug, now that the interrupt/error handling are mostly sane. Also update the TODO list at the top. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 8d07379d251ab24d937e6cb0748b71106dddbc74 Author: Mark Lord Date: Sat Apr 19 15:07:49 2008 -0400 sata_mv: leave SError bits untouched in mv_err_intr Here it is again, minus the checkpatch.pl complaint: Rework mv_err_intr() to leave the SError bits as-is, so that libata-eh has a chance to see/use them. We originally thought that clearing them here was necessary before writing back to edma_err_cause (per the Marvell datasheets), but we will end up reseting the chip regardless in those cases. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 8f767f8a02e6c65d393fd0f2ca19a91c9898cc2d Author: Mark Lord Date: Sat Apr 19 14:53:07 2008 -0400 sata_mv: more interrupt handling rework Continue fixing the interrupt handling logic. Get rid of mv_intr_pio(), by using ata_sff_host_intr() for PIO.. Add a mv_unexpected_intr() catch-all for "impossible" scenarios, where we get an interrupt that shouldn't have happened (never seen in testing, but just in case..). Rearrange the logic so that we always process completed response queue entries before looking for other events, This avoids having to re-issue commands that had already succeeded. As part of this, we split out some duplicated functionality into a new function, mv_get_active_qc(). Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit a3718c1f230240361ed92d3e53342df0ff7efa8c Author: Mark Lord Date: Sat Apr 19 15:07:18 2008 -0400 sata_mv: tidy host controller interrupt handling Tidy up host controller interrupt handling, by moving the weirdo bit shifting from mv_interrupt() to mv_host_intr(). This lets us take advantage of the MV_PORT_TO_SHIFT_AND_HARDPORT() macro from an earlier patch to greatly simplify the port numbering logic. Also, defer reading the hc_irq_cause (one per hc) until it is actually proven to be needed. This may save a microsecond or so per interrupt, on average (a later patchset will further reduce unnecessary register reads throughout the driver). Apart from that, we still leave the actual IRQ handling logic alone. Subsequent patches in this series will address that. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit fcfb1f77cea81f74d865b4d33f2e452ffa1973e8 Author: Mark Lord Date: Sat Apr 19 15:06:40 2008 -0400 sata_mv: simplify request/response queue handling Try and simplify handling of the request/response queues. Maintain the cached copies of queue indexes in a fully-masked state, rather than having each use of them have to do the masking. Split off handling of a single crpb response into a separate function, to reduce complexity in the main mv_process_crpb_entries() routine. Ignore the rarely-valid error bits from the crpb status field, as we already handle that information in mv_err_intr(). For now, preserve the rest of the original logic. A later patch will deal with fixing that separately. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 1cfd19aeb8c8b6291a9d11143b4d8f3dac508ed4 Author: Mark Lord Date: Sat Apr 19 15:05:50 2008 -0400 sata_mv: simplify freeze/thaw bit-shift calculations Introduce the MV_PORT_TO_SHIFT_AND_HARDPORT() macro, to centralize/simplify various scattered bits of logic for calculating bit shifts and the like. Some of the places that do this get it wrong, too, so consolidating the algorithm at one place will help keep the code correct. For now, we use the new macro in mv_eh_{freeze,thaw}. A subsequent patch will re-use this in the interrupt handlers Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit f9f7fe014fc7197a5f36f9d9859cbb27c3bdd2ab Author: Mark Lord Date: Sat Apr 19 14:44:42 2008 -0400 sata_mv mask all interrupt coalescing bits Ignore *all* interrupt coalescing bits on all controllers, not just some of each. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 352fab701ca4753dd005b67ce5e512be944eb591 Author: Mark Lord Date: Sat Apr 19 14:43:42 2008 -0400 sata_mv more cosmetics More cosmetic cleanups prior to the interrupt/error handling logic changes. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 01ce2601e4ba354fe1e25bb940817570d0c8ed4f Author: Dan McGee Date: Sun Apr 20 22:03:27 2008 -0500 ata_piix: add Asus Eee 701 controller to short cable list The drive is directly soldered to the controller, so there is no cable at all. Remove the 40-wire assumption so the drive can operate at max speed. Before patch: $ dd if=/dev/sda of=/dev/null bs=2M count=64 iflag=direct 134217728 bytes (134 MB) copied, 5.29612 s, 25.3 MB/s After patch: $ dd if=/dev/sda of=/dev/null bs=2M count=64 iflag=direct 134217728 bytes (134 MB) copied, 3.94955 s, 34.0 MB/s Signed-off-by: Dan McGee Signed-off-by: Jeff Garzik commit a6116c9e60978a6deaa20691c67ffed727e50df1 Author: Mark Lord Date: Wed Apr 23 22:36:25 2008 -0400 libata-eh set tf flags in NCQ EH result_tf Fix mis-reporting of NCQ errors by ensuring that result_tf->flags is properly initialized in libata-eh. This allows ata_gen_ata_sense() to report the failed block number correctly to SCSI after a media error during NCQ. This patch may also be a candidate for backporting to earlier kernels. Without this fix, SCSI will fail I/O on the entire request rather than just the bad sector. That can be bad for a request that was merged from many independent read reads from different tasks. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 1dc55e876182a13dcc5991c3aab893f38455d8a7 Author: Adrian Bunk Date: Mon Apr 21 11:51:17 2008 +0300 make sata_set_spd_needed() static sata_set_spd_needed() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 6bdb4fc9f9e5307012f6f2afb8642b52dad9c186 Author: Adrian Bunk Date: Mon Apr 21 11:51:11 2008 +0300 make sata_print_link_status() static sata_print_link_status() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 66a9099e02e3fca5198ab52b4bb7088f03dee42e Author: Adrian Bunk Date: Tue Apr 22 01:50:35 2008 +0300 libata-acpi.c: remove unneeded #if's These #if's are unneeded since they: - did anyway not handle the CONFIG_ACPI_DOCK_MODULE case correctly and - this is already handled in include/acpi/acpi_drivers.h and - it's now correctly handled in kconfig. Signed-off-by: Adrian Bunk Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit a0b9f4bc1ec2ea25e47e7958e544fef0d122e012 Author: Tejun Heo Date: Wed Apr 23 12:14:05 2008 +0900 sata_nv: make hardreset return -EAGAIN on success sata_nv hardreset can't classify but was left out while unifying follow-up SRST request mechanism[1]. This caused detection failures on those controllers. Fix it. Reported and bisected by Roland Dreier, Petr Vandrovec and Marc Dionne. Thanks guys. [1] 305d2a1ab137d11d573319c315748a87060fe82d Signed-off-by: Tejun Heo Cc: Roland Dreier Cc: Petr Vandrovec Cc: Marc Dionne Signed-off-by: Jeff Garzik commit 15fe982e429e0e6b7466719acb6cfd9dbfe47f0c Author: Tejun Heo Date: Wed Apr 23 20:52:58 2008 +0900 ahci: retry enabling AHCI a few times before spitting out WARN_ON() Some chips need AHCI_EN set more than once to actually set it. Try a few times before giving up and spitting out WARN_ON(). Signed-off-by: Tejun Heo Cc: Peer Chen Cc: Volker Armin Hemmann Signed-off-by: Jeff Garzik commit 411cb3869afd91ed40e8f12df64cd9e315356305 Author: Tejun Heo Date: Wed Apr 23 20:48:36 2008 +0900 libata: make WARN_ON conditions in ata_sff_hsm_move() more strict WARN_ON()'s in ata_hsm_move() was too liberal and got triggerred when it shouldn't (e.g. hotplug events at the right moment). As the HSM only deals with device errors and state machine violations, make it check only against them. Signed-off-by: Tejun Heo Cc: Mark Lord Cc: Albert Lee Signed-off-by: Jeff Garzik commit 458622fcdc5b316de8d74efd7e610803f0308c14 Author: Kay Sievers Date: Fri Apr 18 13:41:57 2008 -0700 ATA/IDE: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable ATA and IDE platform drivers, to re-enable auto loading. NOTE: both ata/pata_platform.c and ide/legacy/ide_platform.c claim to provide "the" platform_pata driver, and there's no build-time mutual exclusion mechanism. This means that configs which enable both drivers will make some trouble when hotplugging... [dbrownell@users.sourceforge.net: more drivers, registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Cc: Tejun Heo Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 1a98d05f59704d60be85b03f727964e15c77224c Author: YOSHIFUJI Hideaki Date: Thu Apr 24 21:30:38 2008 -0700 ipv6 RAW: Disallow IPPROTO_IPV6-level IPV6_CHECKSUM socket option on ICMPv6 sockets. RFC3542 tells that IPV6_CHECKSUM socket option in the IPPROTO_IPV6 level is not allowed on ICMPv6 sockets. IPPROTO_RAW level IPV6_CHECKSUM socket option (a Linux extension) is still allowed. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 4953d141dc5db748475001cfbfdcc42e66cf900e Author: David Vrabel Date: Tue Apr 8 13:24:46 2008 -0700 usb: don't update devnum for wusb devices For WUSB devices, usb_dev.devnum is a device index and not the real device address (which is managed by wusbcore). Therefore, only set devnum once (in choose_address()) and never change it. Signed-off-by: David Vrabel Cc: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit fc721f5194dc98c8108fb155a4fbae1cd746cf41 Author: Inaky Perez-Gonzalez Date: Tue Apr 8 13:24:46 2008 -0700 wusb: make ep0_reinit available for modules We need to be able to call ep0_reinit() [renamed to usb_ep0_reinit()] from the WUSB security code. The reason is that when we authenticate the device, it's address changes (from having bit 7 set to having it cleared). Thus, we need to signal the USB stack to reinitialize EP0, so the status with the previous address kept at the HCD layer is cleared and properly reinitialized. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 6c529cdca914ba2a08a4bba54f11dedc2d3a7c17 Author: Inaky Perez-Gonzalez Date: Tue Apr 8 13:24:46 2008 -0700 wusb: devices dont use a set address A WUSB device gets his address during the connection phase; later on, during the authenthication phase (driven from user space) we assign the final address. So we need to skip in hub_port_init() the actual setting of the address for WUSB devices. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 8af548dc8e36f845943ffcba07fafaa56c844221 Author: Inaky Perez-Gonzalez Date: Tue Apr 8 13:24:46 2008 -0700 wusb: teach choose_address() about wireless devices Modify choose_address() so it knows about our special scheme of addressing WUSB devices (1:1 w/ port number). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit b1d8dfb0e548543b1645362e80e1fff522645299 Author: Inaky Perez-Gonzalez Date: Tue Apr 8 13:24:46 2008 -0700 wusb: add link wusb-usb device We need to tie the WUSB and USB devices; the USB stack doesn't need to know the details about the WUSB device, but needs to have a link to it. This is needed so that the notify call back for Remove Device can tie both and undo the device setup (sysfs files). We connect the devices together at the Add Device notifier callback (the wusb_dev references the usb_dev and stores it, the usb_dev references the wusb_dev and stores it); then we do create the WUSB sysfs files at the usb_dev sysfs directory. At Remove Device, we undo that (thus we need the usb_dev reference). Cross reference to functions in the WUSB substack: wusb_dev_{add,rm}_ncb(). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 3b52f128aeacc4b9e5992012c39ffc9508513bcd Author: Inaky Perez-Gonzalez Date: Tue Apr 8 13:24:46 2008 -0700 wusb: add authenticathed bit to usb_dev This bit indicates the system that the WUSB device has been crypto authenticated and thus can operate as normal. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit cdc97792289179974af6dda781c855696358d307 Author: Ming Lei Date: Sun Feb 24 18:41:47 2008 +0800 USB: remove unnecessary type casting of urb->context urb->context code cleanup Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit a5b6f60c5a30c494017c7a2d11c4067f90d3d0df Author: Alan Cox Date: Tue Apr 8 17:16:06 2008 +0100 usb serial: more fixes and groundwork for tty changes - If a termios change fails due to lack of memory we should copy the old settings back over as the device has not changed - Note various locking problems - kl5kusb105 had various remaining tty flag handling problems - Make safe_serial use tty_insert_flip_string not open coded loops - set termios speed properly in usb_serial Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 441b62c1edb986827154768d89bbac0ba779984f Author: Harvey Harrison Date: Mon Mar 3 16:08:34 2008 -0800 USB: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit 14722ef4acedc643f0b78b7165ceff2d300dae4d Author: Alan Stern Date: Thu Apr 17 10:18:11 2008 -0400 USB: usbfs: export the URB_NO_INTERRUPT flag to userspace This patch (as1079) cleans up the way URB_* flags are exported in usbfs. The URB_NO_INTERRUPT flag is now exported (this is the only behavioral change). USBDEVFS_URB_* macros are added for URB_NO_FSBR, URB_ZERO_PACKET, and URB_NO_INTERRUPT, making explicit the fact that the kernel accepts them. The flag matching takes into account that the URB_* values may change as the kernel evolves, whereas the USBDEVFS_URB_* values must remain fixed since they are a user API. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit aff6d18f95bb81b2d07994372c8edcc2c2b41180 Author: Alan Stern Date: Fri Apr 18 11:11:26 2008 -0400 USB: fix compile problems in ehci-hcd This patch (as1072) fixes some recently-introduced compile problems that show up in ehci-hcd when CONFIG_PM is turned off. PORT_WAKE_BITS needs to be defined always. ehci_port_power() is called during initialization by all the EHCI variants other than the PCI version, in which it is "defined but not used". So add a call to it. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4f6676274fb6303a8e8100d086ea8c2c00c0d8e3 Author: David Brownell Date: Sat Apr 12 08:32:05 2008 -0700 USB: ehci: qh_completions cleanup and bugfix Simplify processing of completed qtds, and correct handling of short reads, by removing two state variables: - "qtd_status" wasn't needed. The current URB's status is either OK (-EINPROGRESS) or some fault status. Once a fault appears, the queue halts and any later QTDs are immediately removed, so no temporary status is needed. (Or for typical short reads, it's not treated as a fault, so no queue halt is needed.) - "do_status" was erroneous. Because of how the queue is set up, short control reads can (and should!) be treated like full size reads, and cleaned up the usual way. The status stage will be executed transparently, and usbcore handles the choice of whether to report this status as unexected. The "do_status" problem caused a rather perplexing timing-dependent problem with usbtest case 10. Sometimes it would make the controller skip a dozen transactions while (wrongly) trying to clean up after a short transfer. Fortunately, removing a dcache contention issue made this become trivial to reproduce (on one test rig), so enough clues finally presented themselves ... I think this has been around for a very long time, but was worsened by recent urb->status changes. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c6dbf554bc8a79c9caab3dbf891a33c19068f646 Author: David Brownell Date: Sun Apr 13 14:00:44 2008 -0700 USB: cdc-acm: signedness fix Fix bogus assignment of "unsigned char *" to "char *": preserve unsignedness. These values are used directly as descriptor lengths when iterating through the buffer, so this *could* cause oddness that potentially includes oopsing. (IMO not likely, except as part of a malicious device...) Fix the bogus warning in CDC ACM which highlighted this problem (by showing a negative descriptor type). It uses the undesirable legacy err() for something that's not even an error; switch to use dev_dbg, and show descriptor types in hex notation to match the convention for such codes. Signed-off-by: David Brownell Acked-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 08177e12b7b4c3d59060f829e5c151d06f9a08d6 Author: Oliver Neukum Date: Wed Apr 16 15:46:37 2008 +0200 USB: add documentation about callbacks Add Documentation about callbacks in USB. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit e872154921a6b5256a3c412dd69158ac0b135176 Author: Alan Stern Date: Mon Apr 14 12:17:56 2008 -0400 USB: don't explicitly reenable root-hub status interrupts This patch (as1069b) changes the way OHCI root-hub status-change interrupts are enabled. Currently a special HCD method, hub_irq_enable(), is called when the hub driver is finished using a root hub. This approach turns out to be subject to races, resulting in unnecessary polling. The patch does away with the method entirely. Instead, the driver automatically enables the RHSC interrupt when no more status changes are present. This scheme is safe with controllers using level-triggered semantics for their interrupt flags. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 5f47493cdf90b8afe5353e59de30e449e775ea8b Author: Alan Stern Date: Mon Apr 14 12:17:49 2008 -0400 USB: OHCI: turn off RD when remote wakeup is disabled This patch (as1068b) disables the RD interrupt flag when an OHCI root hub is suspended with remote wakeup disabled. Although the spec clearly states that this flag permits the controller to issue an interrupt when a resume request from downstream is detected and not when a local status change occurs, some controllers mistakenly use it for both types of event. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 58a97ffeb2297f154659f339d77eb3f32c4d8b3e Author: Alan Stern Date: Mon Apr 14 12:17:10 2008 -0400 USB: HCDs use the do_remote_wakeup flag When a USB device is suspended, whether or not it is enabled for remote wakeup depends on the device_may_wakeup() setting. The setting is then saved in the do_remote_wakeup flag. Later on, however, the device_may_wakeup() value can change because of user activity. So when testing whether a suspended device is or should be enabled for remote wakeup, we should always test do_remote_wakeup instead of device_may_wakeup(). This patch (as1076) makes that change for root hubs in several places. The patch also adjusts uhci-hcd so that when an autostopped controller is suspended, the remote wakeup setting agrees with the value recorded in the root hub's do_remote_wakeup flag. And the patch adjusts ehci-hcd so that wakeup events on selectively suspended ports (i.e., the bus itself isn't suspended) don't turn on the PME# wakeup signal. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b950bdbc67041412cb042e404938667204c7902c Author: Alan Stern Date: Mon Apr 14 11:45:29 2008 -0400 USB: g_file_storage: ignore bulk-out data after invalid CBW This patch (as1061) makes g_file_storage more compliant with the Bulk-Only Transport specification. After an invalid CBW is received, the gadget must ignore any further bulk-OUT data until it is reset. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 9aebfd6bda789891e6d296bb49b5fb32d1057f18 Author: Greg Kroah-Hartman Date: Wed Apr 16 09:17:38 2008 -0700 USB: serial: remove endpoints setting checks from core and header Remove the unused check for num_interrupt and friends as well as remove them from the header file because no usb-serial drivers no longer reference them. Signed-off-by: Greg Kroah-Hartman commit 0ba4034e20abf372dae6c6cabeeeab600acb5889 Author: Greg Kroah-Hartman Date: Wed Apr 16 09:17:38 2008 -0700 USB: serial: remove unneeded number endpoints settings The usb-serial core no longer checks these fields so remove them from all of the individual drivers. They will be removed from the usb-serial core in a patch later in the series. Signed-off-by: Greg Kroah-Hartman commit 5f760040bcb4cc0498d4c662c4ea305290198ef3 Author: Chris Collins Date: Thu Apr 10 10:15:53 2008 +0200 USB: option.c: correct DTR behaviour Setting DTR et al. should work for all interfaces if you actually pass the interface number. :-P This should help with devices that have important pseudo-serial ports that aren't on the first interface in the device. Signed-off-by: Chris Collins Signed-off-by: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit e6a79f1f07fc88a2efd6d0e8f0ccf591cb93cd34 Author: Oliver Neukum Date: Wed Apr 9 15:37:34 2008 +0200 USB: add Documentation about usb_anchor This adds documentation about the new usb anchor infrastructure. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit a082b5c7882bdbd8a86ace8470ca2ecda796d5a7 Author: David Brownell Date: Thu Apr 10 14:21:06 2008 -0700 USB: ehci: qh/qtd cleanup comments Provide better comments about qh_completions() and QTD handling. That code can be *VERY* confusing, since it's evolved over a few years to cope with both hardware races and silicon quirks. Remove two unlikely() annotations that match the GCC defaults (and are thus pointless); add an "else" to highlight code flow. This patch doesn't change driver behavior. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6427f7995338387ddded92f98adec19ddbf0ae5e Author: Alan Stern Date: Thu Apr 10 12:45:34 2008 -0400 USB: log an error message when USB enumeration fails This patch (as1077) logs an error message whenever the kernel is unable to enumerate a new USB device. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 7ef4f0600df3dc2beff838b3f03652677ed28311 Author: Oliver Neukum Date: Thu Apr 10 15:15:37 2008 +0200 USB: update comments about usb driver's header Comments here are so outdated that they are plain wrong. We cannot expect people to write correct drivers if the headers have incorrect comments. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 51c159e7a8310f7272154fdd096315ae86bd36c2 Author: Robert P. J. Day Date: Sun Apr 6 08:00:30 2008 -0400 USB: Remove superfluous "depends on USB_SERIAL" from Kconfig. Given that most of drivers/usb/serial/Kconfig is wrapped inside: if USB_SERIAL ... endif # USB_SERIAL remove the consequently redundant dependencies on USB_SERIAL. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit eda769593bbae8aee4e336b0732f6016353301a3 Author: Oliver Neukum Date: Thu Apr 10 14:07:37 2008 +0200 USB: add extension of anchor API, usb_unlink_anchored_urbs This adds the ability to trigger asynchronous unlinks of anchored URBs. This is needed for error handling in the comntext of completion handlers, which cannot sleep. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 9424ea29658ce5bcdcf527ddf9617b9507ddf1aa Author: Yoshihiro Shimoda Date: Thu Apr 10 21:05:58 2008 +0900 USB: r8a66597-hcd: Add support for SH7366 USB host R8A66597 is similar to SH7366 USB 2.0 Host/Function module. It can support SH7366 USB host by changing several R8A66597 code. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 29fab0cd897519be9009ba8c898410ab83b378e9 Author: Yoshihiro Shimoda Date: Thu Apr 10 21:05:55 2008 +0900 USB: r8a66597-hcd: fix usb device connection timing Fix the problem that enumeration of a USB device was slow. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 6d8791076c7742c65dd796ae0ac260ab22e85517 Author: Yoshihiro Shimoda Date: Thu Apr 10 21:05:47 2008 +0900 USB: r8a66597-hcd: fix interrupt transfer interval This driver ignored the value of bInterval and revised the problem that performed interrupt transfer. ASIX USB Ethernet adapter comes to work with this host controller by applying this patch. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 97af0a911bfb1e798c395c6ebabb4731f821736f Author: Paulius Zaleckas Date: Thu Apr 10 14:20:08 2008 +0300 USB: oti6858: fix TCFLSH ioctl handling Removes unimplemented TCFLSH handling from oti6858, because it was preventing TCFLSH handling by upper layer (line discipline) drivers (see drivers/char/tty_io.c line 3450). Signed-off-by: Paulius Zaleckas Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 21da84a89312dd8d014ca3352d1ab5c2279ec548 Author: Sarah Sharp Date: Tue Apr 8 14:30:18 2008 -0700 USB: ehci shutdown refactored This patch refactors some shutdown code so it can be shared between ehci_stop() and ehci_shutdown(). This also fixes a couple potential bugs: - ehci_shutdown() was not locking ehci->lock before halting the HC. - ehci_shutdown() didn't disable the watchdog and IAA timers. - ehci_stop() was resetting the host controller when it may have been running, which the EHCI spec says "may result in undefined behavior". ehci_stop() was calling port_power() to turn off the ports, which waited 20ms after applying the port change. The msleep was for the case where the HC might take 20ms to turn the ports on; since we're shutting them off, we can avoid the msleep and just use ehci_turn_off_ports(). ehci_stop() doesn't need to clear the intr_enable register or revert ownership of the companion controllers to the BIOS, because the host controller reset should have done that. There might be a buggy host controller that doesn't follow the reset rules, but for now we assume it's redundant code and remove it. [ A subsequent patch will cancel the timers later ... this version carries forward existing bugs where timers could get re-armed after they're canceled. ] Signed-off-by: Sarah Sharp Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 3cf2723432dd27402a4a4941ad2d04eae5dd639c Author: David Brownell Date: Sun Apr 6 23:32:55 2008 -0700 USB: at91_udc can prefetch data The at91sam9 chip are ARMv5 so they support preload instructions. Use preloading to load the FIFO a bit faster. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit a89a2cd396b20c46a37fa8db4b652fb00f29d0a4 Author: Alan Stern Date: Mon Apr 7 15:03:25 2008 -0400 USB: dummy-hcd: use dynamic allocation for platform_devices This patch (as1075) changes dummy-hcd to dynamically allocate its platform_device structures, using the core platform_device_alloc() interface. This is what it should have done all along, because the dynamically-allocated structures have a release method in the driver core and are therefore immune to being released after the module has been unloaded. Thanks to Richard Purdie for pointing out the need for this change. Signed-off-by: Alan Stern Cc: Richard Purdie Signed-off-by: Greg Kroah-Hartman commit 0e530b45783f75a29bde20bbf9e287c915a4f68b Author: David Brownell Date: Sat Apr 5 14:17:14 2008 -0700 USB: gadget section fixes Restore some section annotations: they were switched to "__devinit" while they should have been "__init", because of bogus warnings. The warnings are now fixed, so the runtime footprint of various drivers can now shrink a bit. On ARMv5, it's about 600 bytes except for the Ethernet gadget, where it can save a bit more. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 61a5c657892a43653d6189972159590751a0673e Author: Alan Stern Date: Fri Apr 4 23:46:59 2008 -0400 USB: rework sysfs removal of interface files Removing an interface's sysfs files before unregistering the interface doesn't work properly, because usb_unbind_interface() will reinstall altsetting 0 and thereby create new sysfs files. This patch (as1074) removes the files after the unregistration is finished. It's not quite as clean, but at least it works. Also, there's no need to check if an interface has been registered before removing its sysfs files. If it hasn't been registered then the files won't have been created, so usb_remove_sysfs_intf_files() will simply do nothing. Signed-off-by: Alan Stern Tested-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 96e12fced365262e185a8e935db23973337b8a2a Author: Harvey Harrison Date: Fri Apr 4 14:28:01 2008 -0700 usb: replace remaining __PRETTY_FUNCTION__ occurrences The kernel is written in C, not C++, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit 43bbb7e015c4380064796c5868b536437b165615 Author: Alan Stern Date: Thu Apr 3 18:03:17 2008 -0400 USB: OHCI: host-controller resumes leave root hub suspended Drivers in the ohci-hcd family should perform certain tasks whenever their controller device is resumed. These include checking for loss of power during suspend, turning on port power, and enabling interrupt requests. Until now these jobs have been carried out when the root hub is resumed, not when the controller is. Many drivers work around the resulting awkwardness by automatically resuming their root hub whenever the controller is resumed. But this is wasteful and unnecessary. To simplify the situation, this patch (as1066) adds a new core routine, ohci_finish_controller_resume(), which can be used by all the OHCI-variant drivers. They can call the new routine instead of resuming their root hubs. And ohci-pci.c can call it instead of using its own special-purpose handler. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 7be7d7418776a41badce7ca00246e270d408e4b9 Author: Alan Stern Date: Thu Apr 3 18:03:06 2008 -0400 USB: clarify usage of hcd->suspend/resume methods The .suspend and .resume method pointers in struct usb_hcd have not been fully understood by host-controller driver writers. They are meant for use with PCI controllers; other platform-specific drivers generally should not refer to them. To try and clarify matters, this patch (as1065) renames those methods to .pci_suspend and .pci_resume. It eliminates corresponding dead code and bogus references in the ohci-ssb and u132-hcd drivers. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 7329e211b987a493cbcfca0e98c60eb108ab42df Author: Alan Stern Date: Thu Apr 3 18:02:56 2008 -0400 USB: root hubs don't lie about their number of TTs Currently EHCI root hubs enumerate with a bDeviceProtocol code indicating that they possess a Transaction Translator. However the vast majority of controllers do not; they rely on a companion controller to handle full- and low-speed communications. This patch (as1064) changes the root-hub device descriptor to match the actual situation. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6fc88f53aaa4ff8ee621353ac27269b4a656d721 Author: Oliver Neukum Date: Thu Apr 3 21:40:59 2008 +0200 USB: convert away from urb->status in xpad driver USB is moving to transfering status as a parameter. To ease the transition urb->status is to be touched only once in a function. The xpad driver has been overlooked. Dmitry wants this to go through the USB tree. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 0d22f65515307c878ddd20b1305cce925ca9516c Author: Alan Stern Date: Thu Apr 3 11:35:26 2008 -0400 USB: OHCI: fix bug in controller resume This patch (as1063) fixes a bug in the way ohci-hcd resumes its controllers. It leaves the Master Interrupt Enable bit turned off. If the root hub is resumed immediately this won't matter. But if the root hub is suspended (say because no devices are plugged in), it won't ever wake up by itself. Signed-off-by: Alan Stern CC: David Brownell Cc: stable Signed-off-by: Greg Kroah-Hartman commit 9063ff44f081a0297085952f6760dfe1f8ca840e Author: Ingo van Lil Date: Fri Mar 28 14:50:26 2008 -0700 USB: gadget: dummy_hcd.c: fix nested switch statements Fix a messed up combination of two nested switch statements in drivers/usb/gadget/dummy_hcd.c. According to the USB spec (section 5.8.3) the maximum packet size for bulk endpoints can be 512 for high-speed devices and 8, 16, 32 or 64 for full-speed devices. Low-speed devices must not have bulk endpoints. Signed-off-by: Ingo van Lil Cc: David Brownell Signed-off-by: Andrew Morton Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 73d79aaba9ee21aaa1a6676f568ef7b3bdf993ea Author: Jesper Juhl Date: Fri Mar 28 14:50:27 2008 -0700 USB: mem leak fixes for AMD 5536 UDC high/full speed USB device controller driver In drivers/usb/gadget/amd5536udc.c::udc_pci_probe(), sizeof(struct udc) storage is allocated for 'dev'. There are many exit points from the function where 'dev' is not free'd but has also not yet been used for anything. The following patch free's 'dev' at the return points where it has not yet been used. Signed-off-by: Jesper Juhl Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 148d9fe4c91a6356dae1b05b76b8133586c26be4 Author: Alan Stern Date: Thu Mar 27 14:52:57 2008 -0400 USB: usb-storage: use adaptive DMA mask This patch (as1060) makes usb-storage set the DMA alignment mask for SCSI slaves to match the maxpacket size of the bulk-IN endpoint, rather than always setting it to 511. For full-speed devices that mask is too restrictive, and wireless USB devices can have maxpacket sizes larger than 512. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit cc901bbb2e2a4e4f96da3d70dae332882c10054b Author: Craig W. Nadler Date: Thu Mar 20 14:46:26 2008 -0700 USB: g_printer bugfixes G_PRINTER: Bug fix for blocking reads and a fix for a memory leak. This fixes bugs in blocking IO calls. When the poll() entry point is called receive transfers will be setup if they have not already been. Another bug fix is that the poll() entry point now checks the current receive buffer for data when reporting if any data had been received. A memory leak was fixed that could have occurred when a USB reset happened. Signed-off-by: Craig W. Nadler Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 119fc8c9acde650fb92b44c34ea6fc84feb0f6dd Author: Jesper Juhl Date: Fri Mar 21 22:55:45 2008 +0100 USB: test for NULL return from platform_get_resource() in ohci_hcd_sm501_drv_remove() platform_get_resource() may return null, so although it seems it will never do so here unless there's a bug elsewhere, it does no harm to be defensive and test. Signed-off-by: Jesper Juhl Acked-by: David Brownell Acked-by: Magnus Damm Signed-off-by: Greg Kroah-Hartman commit e04d80b03d2a116ddd6eb9140c8c83760c315b94 Author: Matti Linnanvuori Date: Sun Mar 23 04:08:01 2008 -0700 USB: serial: Remove obsolete contact addresses Remove obsolete contact addresses. Signed-off-by: Matti Linnanvuori Signed-off-by: Greg Kroah-Hartman commit 44a29fd715a017183e83377b297ab3f792995467 Author: Ming Lei Date: Sun Mar 23 20:58:28 2008 +0800 USB: fix comments of 2 functions in hcd.c Remove useless @type note for rh_string() and @r note for usb_hcd_irq() since this two parameters were removed. Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit 50d8ca9b5624bf50cc3ff624fe9ababf0c789bd2 Author: Daniel Walker Date: Sun Mar 23 00:00:02 2008 -0700 usb: u132-hcd driver: semaphore to mutex Signed-off-by: Daniel Walker Signed-off-by: Greg Kroah-Hartman commit b40f8d3980d3eef26b3bd77da5314728a5b30aea Author: Daniel Walker Date: Sun Mar 23 00:00:01 2008 -0700 usb: u132-hcd driver style clean up I was converting a semaphore in this file to a mutex when I noticed that this file has some fairly rampant style problems. Practically every line has spaces instead of tabs .. Once I cleared that up, checkpatch.pl showed a number of other problem.. I think this file might be a good one to review for new style checks that could be added.. Below are the only two remaining which I didn't remove. #5083: FILE: drivers/usb/host/u132-hcd.c:2907: + error: WARNING: labels should not be indented #5087: FILE: drivers/usb/host/u132-hcd.c:2911: + stall: These labels are actually inside a switch statement, and they are right under "default:". "default:" appears to be exempt and these other label should be too, or default shouldn't be exempt. I also deleted a few lines due to single statements inside { } , if (is_error()) { return; } becomes, if (is_error()) return; with one line deleted. Signed-off-by: Daniel Walker Signed-off-by: Greg Kroah-Hartman commit 619a6f1d1423d08e74ed2b8a2113f12ef18e4373 Author: Greg Kroah-Hartman Date: Thu Feb 7 23:59:03 2008 +0100 USB: add usb-serial spcp8x5 driver Original version of the driver done by Linxb, changes by Harald, and lots of cleanups by me in order to get it into a mergable state. Cc: Linxb Cc: Harald Klein Signed-off-by: Greg Kroah-Hartman commit 7106967ecc0a33a7d7e2e04798eb9f45377f448b Author: Kevin Lloyd Date: Wed Apr 2 11:24:56 2008 -0700 usb/usb-serial-sierra-add-new-dev-group This patch is for the sierra driver and adds support for a new group of devices that have a new USB configuration. This targets kernel 2.6.25-rc7 Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 69a90f8189960f37cc73f5da6c331b23227e2197 Author: Kevin Lloyd Date: Mon Mar 31 10:20:54 2008 -0700 USB: Serial: Sierra: C597 fix This patch is for the sierra driver and fixes a Compass 597 bug that allows users to access the SD-Card. This targets kernel 2.6.25-rc7 Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit f3564de4f5ee3e205227691401d875a57b76906d Author: Kevin Lloyd Date: Fri Mar 28 10:05:08 2008 -0700 USB: Serial: Sierra: Clean up This patch cleans up some of the sierra driver code. Please package this with the other patches in this group as I would like the driver version to reflect their changes as well. Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit e4cf3aa8f9cd6ee4d583b5d445b5c152acefcde4 Author: David Engraf Date: Thu Mar 20 10:01:34 2008 +0100 USB: increase cdc-acm write throughput the following patch uses 16 write urbs and a writsize of wMaxPacketSize * 20. With this patch I get the maximum througput from my linux system with 20MB/sec read and 15 MB/sec write (full speed 1 MB/sec both) I also deleted the flag URB_NO_FSBR for the writeurbs, because this makes my full speed devices significant slower. Signed-off-by: David Engraf Signed-off-by: Greg Kroah-Hartman commit 28d1dfadd3ca07e7ec1c3de4f82ac2b8ece4be91 Author: David Engraf Date: Thu Mar 20 10:53:52 2008 +0100 USB: cdc-acm tell tty layer not to split things up. It ensures that the tty level do not split the send buffer into 2KB blocks. Signed-off-by: David Engraf Signed-off-by: Greg Kroah-Hartman commit 454459b02ea9c8e850fd0b4e770037daf9a7b758 Author: Pete Zaitcev Date: Wed Mar 19 22:29:51 2008 -0700 usbmon: restore mmap Paolo asked to enable the mmap. I kept it off because I'm do not entirely understand how it workse these days after ->nopage etc. But it seems like working somewhat at least. Signed-Off-By: Pete Zaitcev Cc: Paolo Abeni Signed-off-by: Greg Kroah-Hartman commit d43a05fdc2b5675efc45c32d427ff987a10b617a Author: Robert P. J. Day Date: Sun Mar 9 13:55:01 2008 -0400 USB: Fix "cut and paste" booboo in usbmon Makefile. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 9ec249a658e85fbb3e510c6208fb0c1a1d19c059 Author: Robert P. J. Day Date: Sat Mar 8 03:27:44 2008 -0500 USB: Remove EXPERIMENTAL designation from USB_EHCI_ROOT_HUB_TT. According to David Brownell, this feature doesn't require an experimental designation any longer. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit b67199967c777cf1aa42949f2bda00a7b937243e Author: Robert P. J. Day Date: Sat Mar 8 03:12:44 2008 -0500 USB: Remove EXPERIMENTAL from dynamic USB minor allocation. Since this USB feature seems non-experimental, remove that dependency. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 528e4c12a7c141ce46641537fe7e3d7c29f68b8c Author: Robert P. J. Day Date: Sat Mar 8 03:04:05 2008 -0500 USB: Remove EXPERIMENTAL designation from USB MDC800 support. Since support for the USB Mustek MDC800 Digital Camera has apparently been around since the beginning of the git repository, it's safe to assume it's no longer experimental. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 1b75dc4de94e4e11ab22e284fc0853e21d1ac07a Author: Robert P. J. Day Date: Sat Mar 8 03:00:04 2008 -0500 USB: Remove EXPERIMENTAL designation from USB serial/ Kconfig entries Since nothing under the USB serial/ directory seems to be obviously experimental, remove the EXPERIMENTAL dependency from all of those Kconfig entries. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit bce62c263ab3742365dc1ac919cef732379e354a Author: Robert P. J. Day Date: Sat Mar 8 02:46:57 2008 -0500 USB: Remove EXPERIMENTAL designation from USB misc/ Kconfig entries Since nothing under the USB misc/ seems to be obviously experimental, remove the EXPERIMENTAL dependency from those Kconfig entries. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit afd0e0f2d499a832c3ef17a6872d6244d65cbe17 Author: Robert P. J. Day Date: Mon Mar 10 15:09:51 2008 -0400 USB: Remove EXPERIMENTAL tags from some USB gadget Kconfig entries. Based on a recent discussion on the Linux USB mailing list, remove the designation of EXPERIMENTAL from some USB gadget entries, and tag some of them as DEVELOPMENT. just for fun, i added a bit of help for gadgetfs, explaining the race condition. Signed-off-by: Robert P. J. Day Acked-by: David Brownell commit 726627f341beeedba948643c766a6786d75bbf9d Author: Robert P. J. Day Date: Sat Mar 8 02:17:55 2008 -0500 USB: Remove EXPERIMENTAL designation from USB storage Kconfig entries. Since there seems to be little reason to mark the current USB storage features as "EXPERIMENTAL," remove that dependency. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit d277064e7e16d02e0078a6bc1820764ae00dea87 Author: matthieu castet Date: Wed Mar 19 19:40:52 2008 +0100 USB: mass storage: emulation of sat scsi_pass_thru with ATACB I have got a cypress usb-ide bridge and I would like to tune or monitor my disk with tools like hdparm, hddtemp or smartctl. My controller support a way to send raw ATA command to the disk with something call atacb (see http://download.cypress.com.edgesuite.net/design_resources/datasheets/contents/cy7c68300c_8.pdf). Atacb support can be added for each application, but there is some disadvantages : - all application need to be patched - A race is possible if there other accesses, because the emulation can be split in 2 atacb scsi transactions. One for sending the command, one for reading the register (if ck_cond is set). I have implemented the emulation in usb-storage with a special proto_handler, and an unsual entry. Signed-off-by: Matthieu CASTET Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit dda43a0e03a33dd716fb34f812b1af614f74daff Author: Robert P. J. Day Date: Fri Mar 7 13:45:32 2008 -0500 USB: Standardize inclusion protection and add where missing. For the header files in include/linux/usb, add missing multiple inclusion protection and standardize what's already there. The apparent standards: * macro name of __LINUX_USB_headerfile_H * inclusion protection placed after leading comment block * macro name added as a comment on the final #endif * any obvious trivial whitespace cleanup associated with the above Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit f66396b55d4016bdc7a5298db7a681c63b649bf4 Author: Tilman Schmidt Date: Thu Mar 13 19:51:42 2008 +0100 USB: usb.h: reduce syslog clutter [v3] The the err() / info() / warn() macros in usb.h inserted __FILE__ at the beginning of the message, which expands to the complete pathname of the source file within the kernel tree, frequently taking up half of an 80 character screen line before the actual message even begins. Use the module name instead. Signed-off-by: Tilman Schmidt Signed-off-by: Greg Kroah-Hartman commit ff66e3ce3524125106be3ff18104ecde0849b85c Author: Andrew Morton Date: Wed Mar 12 13:32:24 2008 -0700 drivers/usb/core/devio.c: suppress warning with 64k PAGE_SIZE drivers/usb/core/devio.c: In function 'proc_control': drivers/usb/core/devio.c:657: warning: comparison is always false due to limited range of data type Cc: Alan Stern Cc: Pete Zaitcev Cc: Oliver Neukum Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8873aaa6e574d85c020a1c472d6d159cd1ec8aef Author: Alan Cox Date: Mon Mar 10 21:59:28 2008 +0000 USB: cypress_m8: Speed handling The recent changes to this driver cleaned it up a lot, follow that up by sorting the speed side of things out as well Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 25b70a8665e9854504b9196c3098dadd37c721aa Author: David Brownell Date: Tue Mar 4 15:11:07 2008 -0800 USB: ehci: paranoia, reject large control transfers Some EHCI fault paths with large control transfers aren't coded. Avoid problems by rejecting transfers that may need two qTDs (16+ KB). This is mostly paranoia; even 4 KB transfers are rare, and most HCDs use lower limits (so it's unlikely anyone would ever try such a thing). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 70a1c9e086c2e267fbc4533cb870f34999b531d6 Author: Alan Stern Date: Thu Mar 6 17:00:58 2008 -0500 USB: remove dev->power.power_state power.power_state is scheduled for removal. This patch (as1053) removes all uses of that field from drivers/usb. Almost all of them were write-only, the most significant exceptions being sl811-hcd.c and u132-hcd.c. Part of this patch was written by Pavel Machek. Signed-off-by: Alan Stern Cc: David Brownell Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit e1879b19b0abdb387e4aeb0b935a486cc75042fb Author: Matthias Geissert Date: Thu Mar 6 22:00:33 2008 +0100 USB: ipaq: fix devices having more than one endpoint The ipaq module supports devices with one endpoint only. Some devices, e.g. Yakumo Delta 300, have more than one endpoint. This patch fixes support for devices having up to 2 endpoints which used to work on older kernel versions. Signed-off-by: Matthias Geissert Signed-off-by: Greg Kroah-Hartman commit d1b1842c393cf322712b669ec887397b89ed2312 Author: David Brownell Date: Wed Mar 5 23:37:52 2008 -0800 USB: ehci: remove obsolete workaround for bogus IRQs It was pointed out that we found and fixed the cause of the "bogus" fatal IRQ reports some time ago ... this patch removes the code which was working around that bug ("status" got clobbered), and a comment which needlessly confused folk reading this code. This also includes a minor cleanup to the code which fixed that bug. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 22552b286b44b8988e08fb74379507a9b32521b0 Author: Robin Getz Date: Wed Mar 5 23:17:38 2008 -0800 USB: partial USB embedded host support This provides better support for USB "Embedded Host" functionality, which is a subset of the USB OTG options: * External hub support can be disabled; * USB peripherals not whitelisted in "otg_whitelist.h" will be rejected during enumeration. These options can allow some savings in software and support. Signed-off-by: Robin Getz Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b56394bf325820e9f338eaef2941f18b17b98098 Author: Ray Lee Date: Tue Mar 4 15:25:12 2008 -0800 USB: io_ti.c: remove unneeded null tty check The Coverity checker (and Adrian Bunk) spotted an inconsistent NULL check of port->tty (it's blindly dereferenced later without the check). Alan Cox confirmed the check can go. Signed-off-by: Ray Lee Cc: Adrian Bunk Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit dfa5ec79d28300b0d1fdeafbeebf0a6b721edc38 Author: Julia Lawall Date: Tue Mar 4 15:25:11 2008 -0800 USB: use DIV_ROUND_UP The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. An extract of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression n,d; @@ ( - (n + d - 1) / d + DIV_ROUND_UP(n,d) | - (n + (d - 1)) / d + DIV_ROUND_UP(n,d) ) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP((n),d) + DIV_ROUND_UP(n,d) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP(n,(d)) + DIV_ROUND_UP(n,d) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 3d71fe0bb29a3fbffdbe69dd0696927b6a23dd4e Author: Alan Cox Date: Wed Feb 20 21:38:32 2008 +0000 USB: io_ti: lock mcr and msr shadows properly Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 04ca89d4948ad4b6ec3b33e9588ae1885643148c Author: Alan Cox Date: Wed Feb 20 21:41:40 2008 +0000 USB: ti_usb_3410_5052: Extend locking to msr and shadow mcr Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a40d8540f4b7874ef674428cf757e8f466d271ca Author: Alan Cox Date: Wed Feb 20 21:40:34 2008 +0000 USB: kobil_sct: Get rid of unneeded priv->line_state Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 7b1fc8bc6d6881ff7f8876cbe665b3ad5271bc03 Author: Alan Cox Date: Wed Feb 20 21:39:25 2008 +0000 USB: iuu_phoenix: lock priv->tiostatus properly Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit e298449401463dd18f24a87c48f9b0ec62bad936 Author: Alan Cox Date: Wed Feb 20 20:51:45 2008 +0000 USB: serial: Note mos7480 and option don't lock modem status Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9b0f2582d57d4c9081307c86e11afc9169de7d3e Author: Alan Cox Date: Wed Feb 20 20:49:53 2008 +0000 USB: ftdi_sio: Note missing locking The ftdi_sio driver has no internal locking on the dtr/rts state. Flag that up for someone to fix. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 2097890c43a8fe90763f31b0010fd6963f5512c8 Author: Alan Cox Date: Wed Feb 20 20:47:56 2008 +0000 USB: usb-serial: Prepare for BKL push down Take the lock in usb-serial instead. As it relies on the BKL internally we can't push it any deeper yet. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 3d01f0fe6b66dd34511eaf35e06764b8997187bc Author: Karsten Wiese Date: Tue Feb 19 12:31:49 2008 -0800 USB: minor ehci xITD simplifications Remove two (or one) conditional tests in per-urb isochronous transfer setup code paths. Signed-off-by: Karsten Wiese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit fadec78bd93ede132c34ab94dce0e65a5ae56054 Author: matthias@kaehlcke.net Date: Mon Feb 18 20:45:36 2008 +0100 USB: auerswald: Convert ccp->mutex in a mutex The semaphore ccp->mutex is used as mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Cc: Wolfgang Mües Signed-off-by: Greg Kroah-Hartman commit 8a0f46b92fcab6652b8e62c006d015d562302d08 Author: matthias@kaehlcke.net Date: Mon Feb 18 20:45:35 2008 +0100 USB: auerswald: Convert ccp->readmutex in a mutex The semaphore ccp->readmutex is used as mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Cc: Wolfgang Mües Signed-off-by: Greg Kroah-Hartman commit b994d7f70ae59b874843fa2bc9a28b17b41febd5 Author: matthias@kaehlcke.net Date: Mon Feb 18 20:45:34 2008 +0100 USB: auerswald: Convert stats_sem in a mutex The semaphore cp->mutex is used as mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Cc: Wolfgang Mües Signed-off-by: Greg Kroah-Hartman commit 92983c2121fb46f234add1c36b5e596779899d56 Author: Mike Isely Date: Sun Feb 10 20:23:32 2008 -0600 USB: cypress_m8: Limit baud rate to <=4800 for USB low speed devices The cypress app note for the M8 states that for the USB low speed version of the part, throughput is effectively limited to 800 bytes/sec. So if we were to try a faster baud rate in such cases then we risk overrun errors on receive. Best to just identify this case and limit the rate to 4800 baud or less (by ignoring any request to set a faster rate). The old baud rate setting code was somewhat fragile; this change also hopefully makes it easier in the future to better checking / limiting. Signed-off-by: Mike Isely Signed-off-by: Greg Kroah-Hartman commit 6768306c3d9568bc66dc22f8b863bfbda3e7c4d2 Author: Mike Isely Date: Sun Feb 10 20:23:28 2008 -0600 USB: cypress_m8: Get rid of pointless NULL check Remove a NULL check in cypress_m8; the check is useless in this context because it is referenced earlier in the same code path thus the kernel would be oops'ed before reaching this point anyway. (And it's really pointless here anyway; if this pointer somehow is NULL the driver is going to have serious problems in many other places.) Signed-off-by: Mike Isely Signed-off-by: Greg Kroah-Hartman commit 3d6aa3206540e1e68bda9e8ea11ec71444f1ac71 Author: Mike Isely Date: Sun Feb 10 20:23:24 2008 -0600 USB: cypress_m8: Don't issue GET_CONFIG for certain devices Earthmate LT-20 devices (both "old" and "new" versions) can't tolerate a GET_CONFIG command. The original Earthmate has no trouble with this. Presumably other non-Earthmate devices are still OK as well. This change disables the use of GET_CONFIG for cases where it is known not to work. Signed-off-by: Mike Isely Signed-off-by: Greg Kroah-Hartman commit 3416eaa1f8f8d516b77de514e14cf8da256d28fb Author: Mike Isely Date: Sun Feb 10 20:23:19 2008 -0600 USB: cypress_m8: Packet format is separate from characteristic size cypress_m8: Packet format is separate from characteristic size The Cypress app note states that when using an 8 byte packet buffer size that the packet format is modified (to be more compact). However I have since discovered that newer DeLorme Earthmate LT-20 devices (those that are low speed USB with 8 byte packet size) STILL use the format that is really supposed to correspond to 32 byte packets. Further confusing things is the subsequent discovery that there are actually two different types of LT-20 - older LT-20's use 32 byte packets which is probably why this issue wasn't originally encountered. The solution here is to flag the packet format separately from the buffer size. Then at initialization time, identify the correct combination and set it up. This is a critical fix for anyone with a newer LT-20. Older devices and non-Earthmate devices should remain unaffected by this change. (If other devices behave in this, uh, unexpected manner, it's now just a simple 1 line change to fix them as well (change the pkt_fmt member for that device). Default behavior with this patch is still to drive the format as per the app-note; of course for Earthmate devices this is overridden. Signed-off-by: Mike Isely Signed-off-by: Greg Kroah-Hartman commit 93075544d6c6e9aaa14c44edb6eb3f71144bdeeb Author: Mike Isely Date: Sun Feb 10 20:23:14 2008 -0600 USB: cypress_m8: Feature buffer fixes cypress_m8: Feature buffer fixes From: Mike Isely Don't hardcode the feature buffer size; use sizeof() instead. That way we can easily specify the size in a single spot. Speaking of the feature buffer size, the Cypress app note (and further testing with a DeLorme Earthmate) suggests that this size should be 5 not 8 bytes. Signed-off-by: Mike Isely Signed-off-by: Greg Kroah-Hartman commit 9544e833f977d1d3e102a070718d613cd234ce8d Author: Andrew Morton Date: Mon Feb 4 23:57:50 2008 -0800 USB: io_ti.c: remove pointless eye-candy in debug statements These strings always come up as false positives whenever I'm doing git-conflict fixups (ie: about 1000 times/day). I don't think the zillion "<" and ">" characters are very useful and removing them makes my life that little bit easier. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 4208978ec4f0d6001facf95be9defccf1a0bf313 Author: Savin Zlobec Date: Fri Feb 15 13:42:01 2008 +0100 USB: gadget: Hangup tty on g_serial disconnect On USB cable disconnect g_serial doesn't hangup the port tty, which results in an endless read on the tty device. With the following patch the read and select behave correctly when the cable is unplugged. Tested on at91rm9200 Signed-off-by: Savin Zlobec Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c765d4cad977f7e454a53d5bca5a942156b2d94c Author: Karsten Wiese Date: Sat Feb 16 13:44:42 2008 -0800 USB: EHCI: Refactor "if (handshake()) state = HC_STATE_HALT" Refactor the EHCI "if (handshake()) state = HC_STATE_HALT" idiom, which appears 4 times, by replacing it with calls to a new function called handshake_on_error_set_halt(). Saves a few bytes too. Signed-off-by: Karsten Wiese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 96f9bc373c83a67922dc32f358e8a3b3dd4e18a0 Author: Paul Mundt Date: Wed Feb 13 17:02:33 2008 +0900 USB: m66592-udc: reduce size of data structure. Poking around with pahole, we see that m66592 handily shoves a u16 in between larger types on 2 separate occasions leaving us with 2 2-byte holes: struct m66592 { ... /* size: 1196, cachelines: 38 */ /* sum members: 1192, holes: 2, sum holes: 4 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ Pairing them gets back 4-bytes: struct m66592 { ... /* size: 1192, cachelines: 38 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ Unfortunately it's not enough to save a cacheline with this massive structure, but every byte helps. Signed-off-by: Paul Mundt Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 135db0485cdfa808d69420889ca4a2fad8aed9df Author: David Brownell Date: Mon Feb 11 18:40:46 2008 -0800 USB: ehci minor SOC bus glue fixes Various minor fixes to some SOC bus glue for EHCI: - Remove a bogus copyright (by "me"!) which someone added to the FSL driver, and an irrelevant comment. - Un-break MODULE_ALIAS() directives after platform_bus hotplugging acquired a backwards-incompatible change. (Which didn't fix ANY of the in-tree drivers it prevented from hotplugging -- sigh.) - Remove some bogus assignments of platform_bus_type; that's done by the platform_bus code. - Add some FIXMEs for drivers with that pointless two-level idiom for probe() and remove() routines. ("Obfuscation" is a non-goal.) That should help avoid future bus glue which copies that idiom. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit caa9ef672a045ba0b19184cd3f872b583f066771 Author: David Brownell Date: Fri Feb 8 15:08:44 2008 -0800 USB: ehci tolerates some buggy devices This teaches EHCI how to to work around bugs in certain high speed devices, by accomodating "bulk" packets that exceed the 512 byte constant value required by the USB 2.0 specification. (Have a look at section 5.8.3, paragraphs 1 and 3.) It also makes the descriptor parsing code warn when it encounters such bugs. (We've had reports of maybe two or three such devices, all pretty recent.) Such devices are nonconformant. The proper fix is have the vendors of those devices do the simple, obvious, and correct thing ... which will let them be used with USB hosts that don't have workarounds for this particular vendor bug. But unless/until they do, we can at least have one of the high speed HCDs work with such buggy devices. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e01e7fe3886715f083313da409c5850472455d06 Author: David Brownell Date: Sat Feb 2 02:42:52 2008 -0800 USB: ohci: port reset paranoia timeout This limits how long the OHCI port reset loop waits for the hardware to do its job, if the controller either (a) dies, or (b) can't finish the reset. Such limits are always a good idea. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9776afc8b3dc487557f3f576002520f59be334e6 Author: David Brownell Date: Fri Feb 1 11:42:05 2008 -0800 USB: ehci: minor cleanups Minor cleanups to the EHCI code: revision history is what source code repositories should have. Switch to a more standard way to kick in verbose debugging -- don't be EHCI-specific. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit dbe0dbb7dfda52140d3469d7035a08dfa874fca2 Author: David Brownell Date: Sun Feb 10 12:24:00 2008 -0800 USB: defines for USB "Link Power Management" (LPM) ECN There's a new PM-related change notice for the USB 2.0 specification called "Link Power Management" (LPM). It defines a new "L1 Suspend" state which resembles the current (L2) suspend state, except that it can be entered and exited much more quickly. It should thus be more useful for runtime PM, even though it doesn't mandate reduced power draw from VBUS. This patch provides the relevant #defines for usbcore. Actually implementing these mechanisms requires host silicon that can generate new USB packets, plus hubs handling some new requests and peripherals which understand the new packets. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c4504a7eb9c4c491e6f31b28169dd49e9bacc8ec Author: Pavel Emelyanov Date: Mon Feb 11 15:26:09 2008 +0300 USB: usbatm: convert heavy init dances to kthread API This is an attempt to kill two birds with one stone. First, we kill one more user of kernel_thread, which is scheduled for removal. Second - we kill one of the last users of kill_proc - the function which is also to be removed, because it uses a pid_t which is not safe now. Signed-off-by: Pavel Emelyanov Signed-off-by: Duncan Sands Signed-off-by: Greg Kroah-Hartman commit 1409e8e0e4dae15735727d7e2814b62aff609d31 Author: Andrew Morton Date: Mon Feb 4 23:57:48 2008 -0800 USB: usb-ohci-sm501-driver: use the conventional convention for suspend and resume Cc: Alan Stern Cc: Magnus Damm Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 5ddeac117f869c0da85e41e89dd5ed1199dab7dd Author: Adrian Bunk Date: Mon Feb 4 23:57:45 2008 -0800 USB: make USB_STORAGE_ONETOUCH available with PM As Torsten Kaiser pointed out, it seems the dependency of USB_STORAGE_ONETOUCH on !PM should have been removed in commit 7931e1c6f8007d5fef8a0bb2dc71bd97315eeae9. Signed-off-by: Adrian Bunk Cc: Matthew Dharm Cc: Alan Stern Cc: Greg Kroah-Hartman Cc: Torsten Kaiser Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 75c43b6ec6eb114e875e43fb151987c1a558e4f4 Author: Daniel Walker Date: Mon Feb 4 23:57:42 2008 -0800 USB: libusual: locking cleanup I converted the usu_init_notify semaphore to normal mutex usage, and it should still prevent the request_module before the init routine is complete. Before it acted more like a complete, now the mutex protects two distinct section from running at the same time. Signed-off-by: Daniel Walker Cc: Pete Zaitcev Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d99388aa0a504f69532db353a976ec133361bb4f Author: Daniel Walker Date: Mon Feb 4 23:57:42 2008 -0800 USB: microtek: remove unused semaphore No current references, so removing it. Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit f476fbaba7b2051bafdb527eea1a8bed649187d4 Author: Randy Dunlap Date: Wed Feb 13 18:33:15 2008 -0800 USB: convert usb.h struct usb_device to kernel-doc Convert struct usb_device to use kernel-doc notation. Please especially check the @filelist and @usb_classdev descriptions. Signed-off-by: Randy Dunlap Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit c27a4b717cfb597e2e383350c152ed0781041052 Author: Greg Kroah-Hartman Date: Tue Apr 8 13:24:46 2008 -0700 USB: add USB_DT_CS_RADIO_CONTROL define to ch9.h This is needed by the wireless usb developers, and is part of the USB spec. Cc: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit c2010a3b9e5e98efb7f70d4d73ce4f15508ffa7b Author: Greg Kroah-Hartman Date: Mon Apr 14 14:17:29 2008 -0700 checkpatch: usb_free_urb() can take NULL usb_free_urb() can take a NULL, so let's check and warn about that. Signed-off-by: Greg Kroah-Hartman commit 9214d1d80c19016172e685ce7bde0ea757c49097 Author: Alan Stern Date: Thu Mar 6 11:04:13 2008 -0500 USB: enable USB-PERSIST by default This patch (as1052) enables USB-PERSIST for all devices by default. The user won't have to remember to enable it explicitly for devices containing mounted filesystems. Eventually userspace tools like hal may be able to set the persist attribute automatically when a filesystem is mounted on a USB device. When that time comes this patch can be reverted, if people think it matters. This approach has the advantage of giving the user the ability to turn off USB-PERSIST for devices with mounted filesystems, rather than making the kernel always assume it should be on. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit eb764c4be1e5db3ee34df5745e98cf2f148c7320 Author: Alan Stern Date: Mon Mar 3 15:16:04 2008 -0500 USB: check serial-number string after device reset This patch (as1048) extends the descriptor checking after a device is reset. Now the SerialNumber string descriptor is compared to its old value, in addition to the device and configuration descriptors. As a consequence, the kmalloc() call in usb_string() is now on the error-handling pathway for usb-storage. Hence its allocation type is changed to GFO_NOIO. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit feccc30d90155bcbc937f87643182a43d25873eb Author: Alan Stern Date: Mon Mar 3 15:15:59 2008 -0500 USB: remove CONFIG_USB_PERSIST setting This patch (as1047) removes the USB_PERSIST Kconfig option, enabling it permanently. It also prevents the power/persist attribute from being created for hub devices; there's no point in having it since USB-PERSIST is always turned on for hubs. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 5e6effaed6da94e727cd45f945ad2489af8570b3 Author: Alan Stern Date: Mon Mar 3 15:15:51 2008 -0500 USB: make USB-PERSIST work after every system sleep This patch (as1046) makes USB-PERSIST work more in accordance with the documentation. Currently it takes effect only in cases where the root hub has lost power or been reset, but it is supposed to operate whenever a power session was dropped during a system sleep. A new hub_restart() routine carries out the duties required during a reset or a reset-resume. It checks to see whether occupied ports are still enabled, and if they aren't then it clears the enable-change and connect-change features (to prevent interference by khubd) and sets the child device's reset_resume flag. It also checks ports that are supposed to be unoccupied to verify that the firmware hasn't left the port in an enabled state. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 3eb14915a300f539f271e3716f2421bb0697ed48 Author: Alan Stern Date: Mon Mar 3 15:15:43 2008 -0500 USB: reorganize code in hub.c This patch (as1045) reorganizes some code in the hub driver. hub_port_status() is moved earlier in the file, and a new hub_stop() routine is created to do the work currently in hub_preset() (i.e., disconnect all child devices and quiesce the hub). There are no functional changes. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 3bb1af5243d41af9518728445e9c9bd30dd47237 Author: Alan Stern Date: Mon Mar 3 15:15:36 2008 -0500 USB: EHCI: carry out port handover during each root-hub resume This patch (as1044) causes EHCI port handover for non-high-speed devices to occur during every root-hub resume, not just in cases where the controller lost power or was reset. This is necessary because: When some machines go into suspend, they remove power from on-board USB devices while retaining suspend current for USB controllers. The user might well unplug a USB device while the system is suspended and then plug it back in before resuming. A corresponding change is made to the core resume routine; now high-speed root hubs will always be resumed when the system wakes up, even if they were suspended before the system went to sleep. If this weren't done then EHCI port handover wouldn't work, since it is called when the EHCI root hub is resumed. Finally, a comment is added to the hub driver explaining the khubd has to be freezable; if it weren't frozen then it could interfere with port handover. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8f7f85e9f9561507b009d26395c53e70758695ec Author: Stefan Seyfried Date: Thu Apr 17 07:47:34 2008 +0200 USB: Add HP hs2300 Broadband Wireless Module to sierra.c Add the HP hs2300 Broadband Wireless Module (relabeled MC8775) USB IDs Signed-off-by: Stefan Seyfried Cc: stable Signed-off-by: Greg Kroah-Hartman commit d4062fcb9e6164cbbcef773f6b6602e30c4b6007 Author: Ming Lei Date: Mon Apr 14 21:27:00 2008 +0800 USB: Fix memory leak in mon_stat_release Fix the leak of the snap structure allocated in mon_stat_open(). Signed-off-by: Ming Lei Acked-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 59fba744daadaaa85e07a5db96ac3618bc45a9ad Author: Craig Shelley Date: Sat Apr 12 16:15:54 2008 +0100 USB: CP2101 Add new device IDs Signed-off-by: Greg Kroah-Hartman commit 8d390efd903485923419584275fd0c2aa4c94183 Author: Tom Quetchenbach Date: Thu Apr 24 21:11:58 2008 -0700 tcp: tcp_probe buffer overflow and incorrect return value tcp_probe has a bounds-checking bug that causes many programs (less, python) to crash reading /proc/net/tcp_probe. When it outputs a log line to the reader, it only checks if that line alone will fit in the reader's buffer, rather than that line and all the previous lines it has already written. tcpprobe_read also returns the wrong value if copy_to_user fails--it just passes on the return value of copy_to_user (number of bytes not copied), which makes a failure look like a success. This patch fixes the buffer overflow and sets the return value to -EFAULT if copy_to_user fails. Patch is against latest net-2.6; tested briefly and seems to fix the crashes in less and python. Signed-off-by: Tom Quetchenbach Signed-off-by: David S. Miller commit a5d6ab56daa439d681aab29955498486e452224d Author: Matheos Worku Date: Thu Apr 24 21:09:20 2008 -0700 niu: Add support for Neptune FEM/NEM cards for C10 server blades [ Minor coding style and whitespace corrections, also bump driver version and release date. -DaveM ] Signed-off-by: Matheos Worku Signed-off-by: David S. Miller commit 7f7c4072ea552f97a0898331322f71986a97299c Author: Matheos Worku Date: Thu Apr 24 21:02:37 2008 -0700 niu: Determine the # of ports from the card's VPD data [ Fix minor whitespace and coding style stuff... -DaveM ] Signed-off-by: Matheos Worku Signed-off-by: David S. Miller commit c5835df9716bdb1af8e25e9a452f717e54e02ed0 Author: Mandeep Singh Baines Date: Thu Apr 24 20:55:56 2008 -0700 ethtool: EEPROM dump no longer works for tg3 and natsemi In the ethtool user-space application, tg3 and natsemi over-ride the default implementation of dump_eeprom(). In both tg3_dump_eeprom() and natsemi_dump_eeprom(), there is a magic number check which is not present in the default implementation. Commit b131dd5d ("[ETHTOOL]: Add support for large eeproms") snipped the code which copied the ethtool_eeprom structure back to user-space. tg3 and natsemi are over-writing the magic number field and then checking it in user-space. With the ethtool_eeprom copy removed, the check is failing. The fix is simple. Add the ethtool_eeprom copy back. Signed-off-by: Mandeep Singh Baines Signed-off-by: David S. Miller commit 8e5443a09851d99084098ecc4066805aa2610d92 Author: Tejun Heo Date: Thu Apr 24 10:52:44 2008 +0900 sata_sis: SCR accessors return -EINVAL when requested SCR isn't available sis_scr_cfg_read() can't access SError and was incorrectly returning -1 instead of -EINVAL. This went unnoticed because SError used to be cleared in @postreset() and it didn't care about how scr_read() failed but commit ac371987 moved SError clearing into sata_link_resume() and SCR access failure other than -EINVAL is considered an error condition and exposes the incorrect return value bug as detection failure. Fix it. Also, scsi_scr_cfg_write() was incorrectly returning 0 after it ignored the request to write to SError. Make it also return -EINVAL. This was bisected and reported by Patrick McHardy. Signed-off-by: Tejun Heo Cc: Patrick McHardy Signed-off-by: Jeff Garzik commit 2b4221bb545899b05872e7b51f55567c10b3894b Author: Harvey Harrison Date: Thu Apr 24 18:37:34 2008 -0700 libata: functions with definition should not be extern Noticed by sparse drivers/ata/libata-core.c:3380:12: warning: function 'ata_wait_after_reset' with external linkage has definition Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 2db3e47e7080fde2a43d6312190d8229826b8e42 Author: Brian Haley Date: Thu Apr 24 20:38:31 2008 -0700 af_key: Fix af_key.c compiler warning net/key/af_key.c: In function ‘pfkey_spddelete’: net/key/af_key.c:2359: warning: ‘pol_ctx’ may be used uninitialized in this function When CONFIG_SECURITY_NETWORK_XFRM isn't set, security_xfrm_policy_alloc() is an inline that doesn't set pol_ctx, so this seemed like the easiest fix short of using *uninitialized_var(pol_ctx). Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 308f0a5898033691d050374a949bbfe173987a16 Merge: 0035a1d... b345dc7... Author: Dmitry Torokhov Date: Thu Apr 24 23:37:52 2008 -0400 Merge branch 'master' into for-linus commit b345dc7da026016b65162b1ca7cfcd2c7212a285 Author: Ping Cheng Date: Thu Apr 24 23:34:05 2008 -0400 Input: wacom - add support for Cintiq 20WSX Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 0fda6b403f0eca66ad8a7c946b3996e359100443 Author: Venkatesh Pallipadi Date: Wed Apr 9 21:31:46 2008 -0400 2.6.25 regression: powertop says 120K wakeups/sec Patch to fix huge number of wakeups reported due to recent changes in processor_idle.c. The problem was that the entry_method determination was broken due to one of the recent commits (bc71bec91f987) causing C1 entry to not to go to halt. http://lkml.org/lkml/2008/3/22/124 Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 204470272c3b055b352d5f127d5d5c7dce5fa597 Author: Alexey Starikovskiy Date: Tue Mar 11 17:17:08 2008 -0400 ACPI: GPE enabling should happen after EC installation GPE could try to access EC region, so should not be enabled before EC is installed http://bugzilla.kernel.org/show_bug.cgi?id=9916 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit f360bf0015e5b3e82be61c68e0863b3f98852ee2 Author: Kumar Gala Date: Fri Apr 25 02:39:22 2008 +1000 [POWERPC] Add zImage.iseries to arch/powerpc/boot/.gitignore Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 060856c799191ffc360105cac49f3f9e68d526b7 Author: Nick Forbes Date: Fri Apr 25 00:06:52 2008 +0100 leds: Add default-on trigger Add a trigger which allows LEDs to default to the full brightness state. Signed-off-by: Nick Forbes Signed-off-by: Richard Purdie commit 2e214e0fa21465cf2749ca7d5a072cf8591f3213 Author: Richard Purdie Date: Thu Apr 24 23:49:30 2008 +0100 leds: Document the context brightness_set needs Make sure there is no confusion about the contexts brightness_set can be called under by documenting it. Signed-off-by: Richard Purdie commit 3b2e46f8c4a5f2d7856c490ab5f0c46b65e2cb99 Author: Rod Whitby Date: Thu Apr 24 23:43:09 2008 +0100 leds: Add new driver for the LEDs on the Freecom FSG-3 The LEDs on the Freecom FSG-3 are connected to an external memory-mapped latch on the ixp4xx expansion bus, and therefore cannot be supported by any of the existing LEDs drivers. Signed-off-by: Rod Whitby Signed-off-by: Richard Purdie commit 29d76dfa29fe22583aefddccda0bc56aa81035dc Author: Henrique de Moraes Holschuh Date: Tue Mar 18 09:47:48 2008 +0000 leds: Add support to leds with readable status Some led hardware allows drivers to query the led state, and this patch adds a hook to let the led class take advantage of that information when available. Without this functionality, when access to the led hardware is not exclusive (i.e. firmware or hardware might change its state behind the kernel's back), reality goes out of sync with the led class' idea of what the led is doing, which is annoying at best. Behaviour for drivers that do not or cannot read the led status is unchanged. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Richard Purdie commit ca3259b3603539e72faacc6821050ee889a52103 Author: Herbert Valerio Riedel Date: Sun Mar 9 23:48:25 2008 +0000 leds: enable support for blink_set() platform hook in leds-gpio Enhance leds-gpio to provide hardware-based led flashing by passing through the blink_set() call to a optionally set platform-specific function pointer. Signed-off-by: Herbert Valerio Riedel Signed-off-by: Richard Purdie commit 4d404fd5c51772720e9c72aa3185bd5119bc6e69 Author: Németh Márton Date: Sun Mar 9 20:59:57 2008 +0000 leds: Cleanup various whitespace and code style issues Break the lines which were more than 80 characters into more lines; replace SPACEs with TABs; correct ident at switch-case; change character encoding from ISO-8859-2 to UTF-8. The order of the functions in led-triggers.c changed in order the similar functions can still be together under titles "Used by LED Class", "LED Trigger Interface" and "Simple LED Tigger Interface" as was grouped before when exported with EXPORT_SYMBOL. Signed-off-by: Márton Németh Signed-off-by: Richard Purdie commit 0013b23d66a2768f5babbb0ea9f03ab067a990d8 Author: Németh Márton Date: Sun Mar 9 20:54:37 2008 +0000 leds: disable triggers on brightness set Disable any active triggers when the brightness attribute is set to zero. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Márton Németh Signed-off-by: Richard Purdie commit b3ba31f84ea041c0945b5904d4c407ce14b2b72c Author: Mrton Nmeth Date: Sun Mar 9 20:47:59 2008 +0000 leds: Add mail LED support for "Clevo D400P" The leds-clevo-mail module also works with model "Clevo D400P", add this model to the white list. Signed-off-by: Mrton Nmeth Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 3f5087a2bae5d1ce10a3d698dec8f879a96f5419 Author: Peter Zijlstra Date: Fri Apr 25 00:25:08 2008 +0200 sched: fix share (re)distribution fix __aggregate_redistribute_shares() related lockup reported by David S. Miller. The problem this code tries to solve is 'accurately' calculating the 'fair' share of the group weight for each cpu. The current code falls back to a global group rebalance in case the sched_domain's span it looks at has no shares, but does have tasks. The reason it gets stuck here, is because its inherently racy - if someone steals the last task after we compute the agg->rq_weight, but before we rebalance, we'll never get out of the loop. We could of course go fix that, but while looking at this issue I found that this 'fallback' wasn't nearly as rare as I'd hoped it to be. In fact its quite common - and given it walks the whole machine, thats very bad. The new approach is simple (why didn't I think of it before?), we set the aggregate shares to the full task group weight, and each larger sched domain that encounters an aggregate shares larger than the weight, clips it (it already re-distributes anyway). This nicely converges to the desired global picture where the sum of all shares equals the task group weight. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 126e01bf92dfc5f0ba91e88be02c473e1506d7d9 Author: Ingo Molnar Date: Fri Apr 25 00:25:08 2008 +0200 softlockup: fix NOHZ wakeup David Miller reported: |---------------> the following commit: | commit 27ec4407790d075c325e1f4da0a19c56953cce23 | Author: Ingo Molnar | Date: Thu Feb 28 21:00:21 2008 +0100 | | sched: make cpu_clock() globally synchronous | | Alexey Zaytsev reported (and bisected) that the introduction of | cpu_clock() in printk made the timestamps jump back and forth. | | Make cpu_clock() more reliable while still keeping it fast when it's | called frequently. | | Signed-off-by: Ingo Molnar causes watchdog triggers when a cpu exits NOHZ state when it has been there for >= the soft lockup threshold, for example here are some messages from a 128 cpu Niagara2 box: [ 168.106406] BUG: soft lockup - CPU#11 stuck for 128s! [dd:3239] [ 168.989592] BUG: soft lockup - CPU#21 stuck for 86s! [swapper:0] [ 168.999587] BUG: soft lockup - CPU#29 stuck for 91s! [make:4511] [ 168.999615] BUG: soft lockup - CPU#2 stuck for 85s! [swapper:0] [ 169.020514] BUG: soft lockup - CPU#37 stuck for 91s! [swapper:0] [ 169.020514] BUG: soft lockup - CPU#45 stuck for 91s! [sh:4515] [ 169.020515] BUG: soft lockup - CPU#69 stuck for 92s! [swapper:0] [ 169.020515] BUG: soft lockup - CPU#77 stuck for 92s! [swapper:0] [ 169.020515] BUG: soft lockup - CPU#61 stuck for 92s! [swapper:0] [ 169.112554] BUG: soft lockup - CPU#85 stuck for 92s! [swapper:0] [ 169.112554] BUG: soft lockup - CPU#101 stuck for 92s! [swapper:0] [ 169.112554] BUG: soft lockup - CPU#109 stuck for 92s! [swapper:0] [ 169.112554] BUG: soft lockup - CPU#117 stuck for 92s! [swapper:0] [ 169.171483] BUG: soft lockup - CPU#40 stuck for 80s! [dd:3239] [ 169.331483] BUG: soft lockup - CPU#13 stuck for 86s! [swapper:0] [ 169.351500] BUG: soft lockup - CPU#43 stuck for 101s! [dd:3239] [ 169.531482] BUG: soft lockup - CPU#9 stuck for 129s! [mkdir:4565] [ 169.595754] BUG: soft lockup - CPU#20 stuck for 93s! [swapper:0] [ 169.626787] BUG: soft lockup - CPU#52 stuck for 93s! [swapper:0] [ 169.626787] BUG: soft lockup - CPU#84 stuck for 92s! [swapper:0] [ 169.636812] BUG: soft lockup - CPU#116 stuck for 94s! [swapper:0] It's simple enough to trigger this by doing a 10 minute sleep after a fresh bootup then starting a parallel kernel build. I suspect this might be reintroducing a problem we've had and fixed before, see the thread: http://marc.info/?l=linux-kernel&m=119546414004065&w=2 <---------------| touch the softlockup watchdog when exiting NOHZ state - we are obviously not locked up. Signed-off-by: Ingo Molnar commit 88a411c07b6fedcfc97b8dc51ae18540bd2beda0 Author: Ingo Molnar Date: Thu Apr 3 09:06:13 2008 +0200 seqlock: livelock fix Thomas Gleixner debugged a particularly ugly seqlock related livelock: do not process the seq-read section if we know it beforehand that the test at the end of the section will fail ... Signed-off-by: Ingo Molnar commit 1775826ceec51187aa868406585799b7e76ffa7d Author: Jeremy Fitzhardinge Date: Wed Apr 2 10:54:13 2008 -0700 xen: add balloon driver The balloon driver allows memory to be dynamically added or removed from the domain, in order to allow host memory to be balanced between multiple domains. This patch introduces the Xen balloon driver, though it currently only allows a domain to be shrunk from its initial size (and re-grown back to that size). A later patch will add the ability to grow a domain beyond its initial size. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit af7ae3b9c4a4c1337903f31131d58e3c0d2b6d55 Author: Jeremy Fitzhardinge Date: Wed Apr 2 10:54:12 2008 -0700 xen: allow compilation with non-flat memory There's no real reason we can't support sparsemem/discontigmem, so do so. This is mostly useful to support hotplug memory. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b77797fb2bf31bf076e6b69736119bc6a077525b Author: Jeremy Fitzhardinge Date: Wed Apr 2 10:54:11 2008 -0700 xen: fold xen_sysexit into xen_iret xen_sysexit and xen_iret were doing essentially the same thing. Rather than having a separate implementation for xen_sysexit, we can just strip the stack back to an iret frame and jump into xen_iret. This removes a lot of code and complexity - specifically, another critical region. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2bd50036b5dfc929390ddc48be7f6314447b2be3 Author: Jeremy Fitzhardinge Date: Wed Apr 2 10:54:10 2008 -0700 xen: allow set_pte_at on init_mm to be lockless The usual pagetable locking protocol doesn't seem to apply to updates to init_mm, so don't rely on preemption being disabled in xen_set_pte_at on init_mm. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 41e332b2a2dfe514cd441ed0ce1096ed1863e378 Author: Jeremy Fitzhardinge Date: Wed Apr 2 10:54:09 2008 -0700 xen: disable preemption during tlb flush Various places in the kernel flush the tlb even though preemption doens't guarantee the tlb flush is happening on any particular CPU. In many cases this doesn't seem to matter, so don't make a fuss about it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4ee36dc08e5c4d16d078f59acd6d9d536f9718dd Author: Markus Armbruster Date: Wed Apr 2 10:54:07 2008 -0700 xen pvfb: Para-virtual framebuffer, keyboard and pointer driver This is a pair of Xen para-virtual frontend device drivers: drivers/video/xen-fbfront.c provides a framebuffer, and drivers/input/xen-kbdfront provides keyboard and mouse. The backends run in dom0 user space. The two drivers are not in two separate patches, because the intermediate step (one driver, not the other) is somewhat problematic: the backend in dom0 needs both drivers, and will refuse to complete device initialization unless they're both present. Signed-off-by: Markus Armbruster Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4f93f09b72d6ff47b2399b79ed6d1cbc7dbf991b Author: Mark McLoughlin Date: Wed Apr 2 10:54:06 2008 -0700 xen: Add compatibility aliases for frontend drivers Before getting merged, xen-blkfront was xenblk and xen-netfront was xennet. Temporarily adding compatibility module aliases eases upgrades from older versions by e.g. allowing mkinitrd to find the new version of the module. Signed-off-by: Mark McLoughlin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d2f0c52bec954460e72dee48f3a29c6f310d76be Author: Mark McLoughlin Date: Wed Apr 2 10:54:05 2008 -0700 xen: Module autoprobing support for frontend drivers Add module aliases to support autoprobing modules for xen frontend devices. Signed-off-by: Mark McLoughlin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1d78d7055629e3f6300d6b8d7028259ee2bffc0e Author: Christian Limpach Date: Wed Apr 2 10:54:04 2008 -0700 xen blkfront: Delay wait for block devices until after the disk is added When the xen block frontend driver is built as a module the module load is only synchronous up to the point where the frontend and the backend become connected rather than when the disk is added. This means that there can be a race on boot between loading the module and loading the dm-* modules and doing the scan for LVM physical volumes (all in the initrd). In the failure case the disk is not present until after the scan for physical volumes is complete. Taken from: http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/11483a00c017 Signed-off-by: Christian Limpach Signed-off-by: Mark McLoughlin Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 53f0e8afcb0d57cfaff06b89eb8b5302f167577e Author: Jeremy Fitzhardinge Date: Wed Apr 2 10:54:03 2008 -0700 xen/blkfront: use bdget_disk info->dev is never initialized to anything, so bdget(info->dev) is meaningless. Get rid of info->dev, and use bdget_disk on the gendisk. Signed-off-by: Jeremy Fitzhardinge Cc: Al Viro Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 22c36d18c668db1a8d92a9a47e09857974f6a49b Author: Jonathan Corbet Date: Wed Apr 23 10:34:52 2008 -0600 Document SEQ_SKIP 2.6.26 adds a SEQ_SKIP return value for the seq_file show() function; update the documentation to match. Signed-off-by: Jonathan Corbet commit 3e334239d89d4a71610be5a3e8432464d421d9ec Author: Markus Armbruster Date: Wed Apr 2 10:54:02 2008 -0700 xen: Make xen-blkfront write its protocol ABI to xenstore Frontends are expected to write their protocol ABI to xenstore. Since the protocol ABI defaults to the backend's native ABI, things work fine without that as long as the frontend's native ABI is identical to the backend's native ABI. This is not the case for xen-blkfront running 32-on-64, because its ABI differs between 32 and 64 bit, and thus needs this fix. Based on http://xenbits.xensource.com/xen-unstable.hg?rev/c545932a18f3 and http://xenbits.xensource.com/xen-unstable.hg?rev/ffe52263b430 by Gerd Hoffmann Signed-off-by: Markus Armbruster Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b15993fcc1bf15f717fb4414b32e4a11534dfdc4 Author: Isaku Yamahata Date: Wed Apr 2 10:54:01 2008 -0700 xen: import arch generic part of xencomm On xen/ia64 and xen/powerpc hypercall arguments are passed by pseudo physical address (guest physical address) so that it's necessary to convert from virtual address into pseudo physical address. The frame work is called xencomm. Import arch generic part of xencomm. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8d3d2106c19f4e69f208f59fe484ca113fbb48b3 Author: Isaku Yamahata Date: Wed Apr 2 10:54:00 2008 -0700 xen: make grant table arch portable split out x86 specific part from grant-table.c and allow ia64/xen specific initialization. ia64/xen grant table is based on pseudo physical address (guest physical address) unlike x86/xen. On ia64 init_mm doesn't map identity straight mapped area. ia64/xen specific grant table initialization is necessary. Signed-off-by: Isaku Yamahata Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5f0ababbf49f12330effab932a18055a50f4c0a1 Author: Isaku Yamahata Date: Wed Apr 2 10:53:59 2008 -0700 xen: replace callers of alloc_vm_area()/free_vm_area() with xen_ prefixed one Don't use alloc_vm_area()/free_vm_area() directly, instead define xen_alloc_vm_area()/xen_free_vm_area() and use them. alloc_vm_area()/free_vm_area() are used to allocate/free area which are for grant table mapping. Xen/x86 grant table is based on virtual address so that alloc_vm_area()/free_vm_area() are suitable. On the other hand Xen/ia64 (and Xen/powerpc) grant table is based on pseudo physical address (guest physical address) so that allocation should be done differently. The original version of xenified Linux/IA64 have its own allocate_vm_area()/free_vm_area() definitions which don't allocate vm area contradictory to those names. Now vanilla Linux already has its definitions so that it's impossible to have IA64 definitions of allocate_vm_area()/free_vm_area(). Instead introduce xen_allocate_vm_area()/xen_free_vm_area() and use them. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 20e71f2edb5991de8f2a70902b4aa5982f67c69c Author: Isaku Yamahata Date: Wed Apr 2 10:53:58 2008 -0700 xen: make include/xen/page.h portable moving those definitions under asm dir The definitions in include/asm/xen/page.h are arch specific. ia64/xen wants to define its own version. So move them to arch specific directory and keep include/xen/page.h in order not to break compilation. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 642e0c882cd5369429c833d97e4804c8be473e8a Author: Isaku Yamahata Date: Wed Apr 2 10:53:57 2008 -0700 xen: add resend_irq_on_evtchn() definition into events.c Define resend_irq_on_evtchn() which ia64/xen uses. Although it isn't used by current x86/xen code, it's arch generic so that put it into common code. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e849c3e9e0b786619c451d89ef0c47ac9a28fbc1 Author: Isaku Yamahata Date: Wed Apr 2 10:53:56 2008 -0700 Xen: make events.c portable for ia64/xen support Remove x86 dependency in drivers/xen/events.c for ia64/xen support introducing include/asm/xen/events.h. Introduce xen_irqs_disabled() to hide regs->flags Introduce xen_do_IRQ() to hide regs->orig_ax. make enum ipi_vector definition arch specific. ia64/xen needs four vectors. Add one rmb() because on ia64 xchg() isn't barrier. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e04d0d0767a9c272d3c7300fb7a5221c5e3a71eb Author: Isaku Yamahata Date: Wed Apr 2 10:53:55 2008 -0700 xen: move events.c to drivers/xen for IA64/Xen support move arch/x86/xen/events.c undedr drivers/xen to share codes with x86 and ia64. And minor adjustment to compile. ia64/xen also uses events.c Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit af711cda4f94b5fddcdc5eb4134387ae026e3171 Author: Isaku Yamahata Date: Wed Apr 2 10:53:54 2008 -0700 xen: move features.c from arch/x86/xen/features.c to drivers/xen ia64/xen also uses it too. Move it into common place so that ia64/xen can share the code. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2724426924a471dc9fd8989dae56ab4d79519e34 Author: Isaku Yamahata Date: Wed Apr 2 10:53:53 2008 -0700 xen: add missing definitions in include/xen/interface/vcpu.h which ia64/xen needs Add xen handles realted definitions for xen vcpu which ia64/xen needs. Pointer argumsnts for ia64/xen hypercall are passed in pseudo physical address (guest physical address) so that it is required to convert guest kernel virtual address into pseudo physical address. The xen guest handle represents such arguments. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 87e27cf6288c6bf089ed34a72213d9ad16e82d84 Author: Isaku Yamahata Date: Wed Apr 2 10:53:52 2008 -0700 xen: add missing definitions for xen grant table which ia64/xen needs Add xen handles realted definitions for grant table which ia64/xen needs. Pointer argumsnts for ia64/xen hypercall are passed in pseudo physical address (guest physical address) so that it is required to convert guest kernel virtual address into pseudo physical address right before issuing hypercall. The xen guest handle represents such arguments. Define necessary handles and helper functions. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2eb6d5eb48fd6aedf5787b30e5c41693e8c91fa3 Author: Isaku Yamahata Date: Wed Apr 2 10:53:51 2008 -0700 xen: definitions which ia64/xen needs Add xen VIRQ numbers defined for arch specific use. ia64/xen domU uses VIRQ_ARCH_0 for virtual itc timer. Although all those constants aren't used yet by ia64 at this moment, add all arch specific VIRQ numbers. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9a9db275b02e91fba837750ccfc82411ada834b8 Author: Isaku Yamahata Date: Wed Apr 2 10:53:50 2008 -0700 xen: definisions which ia64 needs Add xen hypercall numbers defined for arch specific use. ia64/xen domU uses __HYPERVISOR_arch_1 to manipulate paravirtualized IOSAPIC. Although all those constants aren't used yet by IA64 at this moment, add all arch specific hypercall numbers. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0f2c87695219b1129ccf93e0f58acdcdd49724b9 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:22 2008 -0700 xen: jump to iret fixup Use jmp rather than call for the iret fixup, so its consistent with the sysexit fixup, and it simplifies the stack (which is already complex). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dbe9e994c99ac9ac12d2b66ea42f44558f54fa52 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:21 2008 -0700 xen: no need for domU to worry about MCE/MCA Mask MCE/MCA out of cpu caps. Its harmless to leave them there, but it does prevent the kernel from starting an unnecessary thread. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 229664bee6126e01f8662976a5fe2e79813b77c8 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:20 2008 -0700 xen: short-cut for recursive event handling If an event comes in while events are currently being processed, then just increment the counter and have the outer event loop reprocess the pending events. This prevents unbounded recursion on heavy event loads (of course massive event storms will cause infinite loops). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ee8fa1c67f0b873a324960f0ca9fa1d7e49aa86b Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:19 2008 -0700 xen: make sure retriggered events are set pending retrigger_dynirq() was incomplete, and didn't properly set the event to be pending again. It doesn't seem to actually get used. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ee523ca1e456d754d66be6deab910131e4e1dbf8 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:18 2008 -0700 xen: implement a debug-interrupt handler Xen supports the notion of a debug interrupt which can be triggered from the console. For now this is implemented to show pending events, masks and each CPU's pending event set. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e2a81baf6604a2e08e10c7405b0349106f77c8af Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:17 2008 -0700 xen: support sysenter/sysexit if hypervisor does 64-bit Xen supports sysenter for 32-bit guests, so support its use. (sysenter is faster than int $0x80 in 32-on-64.) sysexit is still not supported, so we fake it up using iret. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aa380c82b83252754a8c11bfc92359bd87cbf710 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:15 2008 -0700 xen: add support for callbackops hypercall Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 85958b465c2e0de315575b1d3d7e7c2ce7126880 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:14 2008 -0700 x86: unify pgd ctor/dtor All pagetables need fundamentally the same setup and destruction, so just use the same code for everything. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 68db065c845bd9d0eb96946ab104b4c82d0ae9da Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:13 2008 -0700 x86: unify KERNEL_PGD_PTRS Make KERNEL_PGD_PTRS common, as previously it was only being defined for 32-bit. There are a couple of follow-on changes from this: - KERNEL_PGD_PTRS was being defined in terms of USER_PGD_PTRS. The definition of USER_PGD_PTRS doesn't really make much sense on x86-64, since it can have two different user address-space configurations. I renamed USER_PGD_PTRS to KERNEL_PGD_BOUNDARY, which is meaningful for all of 32/32, 32/64 and 64/64 process configurations. - USER_PTRS_PER_PGD was also defined and was being used for similar purposes. Converting its users to KERNEL_PGD_BOUNDARY left it completely unused, and so I removed it. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Cc: Zach Amsden Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 90e9f53662826db3cdd6d99bd394d727b05160c1 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:12 2008 -0700 xen: make sure iret faults are trapped Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9666e9d44b83755c53615fb89c0787b6846786a1 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:11 2008 -0700 xen: unify pte operations on machine frames Xen's pte operations on mfns can be unified like the kernel's pfn operations. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3b4724b0e60cdfdc2679ee7135f3a234c74c2b83 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:10 2008 -0700 xen: use phys_addr_t when referring to physical addresses Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 947a69c90c0d07ac7f214e46dabbe49f2a230e00 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:09 2008 -0700 xen: unify pte operations We can fold the essentially common pte functions together now. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 430442e38e7f049841c5838f8c7027bd9e170045 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:08 2008 -0700 xen: make use of pte_t union pte_t always contains a "pte" field for the whole pte value, so make use of it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit abf33038ffa65097939d86d2a90f93adc6115aa0 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:07 2008 -0700 xen: use appropriate pte types Convert Xen pagetable handling to use appropriate *val_t types. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 286cd49456ef980c4b9904064ef34c36017b8351 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:06 2008 -0700 x86: demacro pgalloc paravirt stubs Turn paravirt stubs into inline functions, so that the arguments are still typechecked. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c20311e165eb94f5ef12b15e452cc6ec24bd7813 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:05 2008 -0700 x86/pgtable.h: demacro ptep_clear_flush_young Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f9fbf1a36a6bb6a639459802bccee01185ee3220 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:04 2008 -0700 x86/pgtable.h: demacro ptep_test_and_clear_young Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ee5aa8d3ba65d76157f22b7afedd089d8acfe524 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:03 2008 -0700 x86/pgtable.h: demacro ptep_set_access_flags Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2761fa0920756dc471d297843646a4a9bca6656f Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:02 2008 -0700 x86: add pud_alloc for 4-level pagetables Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6944a9c8945212a0cc1de3589736d59ec542c539 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:01 2008 -0700 x86: rename paravirt_alloc_pt etc after the pagetable structure Rename (alloc|release)_(pt|pd) to pte/pmd to explicitly match the name of the appropriate pagetable level structure. [ x86.git merge work by Mark McLoughlin ] Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Mark McLoughlin Signed-off-by: Thomas Gleixner commit 394158559d4c912cc58c311b6346cdea0ed2b1de Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:00 2008 -0700 x86: move all the pgd_list handling to one place Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5a5f8f42241cf09caec5530a7639cfa8dccc3a7b Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:36:59 2008 -0700 x86: move pgalloc pud and pgd operations into common place Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 170fdff7057d4247e3f28cca96d0db1fbc854e3b Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:36:58 2008 -0700 x86: move pmd functions into common asm/pgalloc.h Common definitions for 3-level pagetable functions. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 397f687ab7f840dbe50353c4b60108672b653d0c Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:36:57 2008 -0700 x86: move pte functions into common asm/pgalloc.h Common definitions for 2-level pagetable functions. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1d262d3a4932b5ae7222c8d9900696650ee95188 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:36:56 2008 -0700 x86: put paravirt stubs into common asm/pgalloc.h Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1ec1fe73dfb711f9ea5a0ef8a7e3af5b6ac8b653 Author: Ingo Molnar Date: Wed Mar 19 20:30:40 2008 +0100 x86: xen unify x86 add common mm pgtable c fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4f76cd382213b29dd3658e3e1ea47c0c2be06f3c Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:36:55 2008 -0700 x86: add common mm/pgtable.c Add a common arch/x86/mm/pgtable.c file for common pagetable functions. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 79bf6d66abb5a20813a19dd365dfc49104f0bb88 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:36:54 2008 -0700 x86: convert pgalloc_64.h from macros to inlines Convert asm-x86/pgalloc_64.h from macros into functions (#include hell prevents __*_free_tlb from being inline, but they're probably a bit big to inline anyway). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b69d3987f4360a5e7e9e55465b3cdd0cc204b79e Merge: 57675e6... a4928cf... Author: Linus Torvalds Date: Thu Apr 24 14:41:20 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes: "make namespacecheck" fixes x86: fix compilation error in VisWS x86: voyager fix x86: Drop duplicate from setup.c intel-iommu.c: dma ops fix commit 1526a756fba5b1f2eb5001b8e8de2a0ea1bd2c66 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:24 2008 -0700 generic: add ioremap_wc() interface wrapper x86 has ioremap_wc for wc remap. Also introduce a generic ioremap_wc aliased to ioremap_uc so that drivers can use this interface transparently. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 1f56cf1c58c81f7ecf16f5e99ac4a333d9dc9aea Author: Ingo Molnar Date: Fri Apr 18 21:42:36 2008 +0200 /dev/mem: make promisc the default default to the old semantics. Signed-off-by: Ingo Molnar commit 28eb559b5b0b9b51b9165a9b8faa75b0bb91ca8d Author: Ingo Molnar Date: Thu Apr 3 10:14:33 2008 +0200 pat: cleanups Signed-off-by: Ingo Molnar commit e7f260a276f2c9184fe753732d834b1f6fbe9f17 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:21 2008 -0700 x86: PAT use reserve free memtype in mmap of /dev/mem Use reserve_memtype and free_memtype wrappers for /dev/mem mmaps. The memtype is slightly complicated here, given that we have to support existing X mappings. We fallback on UC_MINUS for that. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit f0970c13b6a5b01189aeb196ebb573cf87d95839 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:20 2008 -0700 x86: PAT phys_mem_access_prot_allowed for dev/mem mmap Introduce phys_mem_access_prot_allowed(), which checks whether the mapping is possible, without any conflicts and returns success or failure based on that. phys_mem_access_prot() by itself does not allow failure case. This ability to return error is needed for PAT where we may have aliasing conflicts. x86 setup __HAVE_PHYS_MEM_ACCESS_PROT and move x86 specific code out of /dev/mem into arch specific area. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit e045fb2a988a9a1964059b0d33dbaf18d12f925f Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:15 2008 -0700 x86: PAT avoid aliasing in /dev/mem read/write Add xlate and unxlate around /dev/mem read/write. This sets up the mapping that can be used for /dev/mem read and write without aliasing worries. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit e2beb3eae627211b67e456c53f946cede2ac10d7 Author: Venki Pallipadi Date: Thu Mar 6 23:01:47 2008 -0800 devmem: add range_is_allowed() check to mmap of /dev/mem Earlier patch that introduced CONFIG_NONPROMISC_DEVMEM, did the range_is_allowed() check only for read and write. Add range_is_allowed() check to mmap of /dev/mem as well. Changes the paramaters of range_is_allowed() to pfn and size to handle more than 32 bits of physical address on 32 bit arch cleanly. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit ae531c26c5c2a28ca1b35a75b39b3b256850f2c8 Author: Arjan van de Ven Date: Thu Apr 24 23:40:47 2008 +0200 x86: introduce /dev/mem restrictions with a config option This patch introduces a restriction on /dev/mem: Only non-memory can be read or written unless the newly introduced config option is set. The X server needs access to /dev/mem for the PCI space, but it doesn't need access to memory; both the file permissions and SELinux permissions of /dev/mem just make X effectively super-super powerful. With the exception of the BIOS area, there's just no valid app that uses /dev/mem on actual memory. Other popular users of /dev/mem are rootkits and the like. (note: mmap access of memory via /dev/mem was already not allowed since a really long time) People who want to use /dev/mem for kernel debugging can enable the config option. The restrictions of this patch have been in the Fedora and RHEL kernels for at least 4 years without any problems. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 03970f065d9b4b156d0e879f82989440f7045396 Author: Mike Travis Date: Tue Apr 22 10:04:26 2008 -0700 [PATCH] Build fix for CONFIG_NUMA=y && CONFIG_SMP=n Regression caused by 434d53b00d6bb7be0a1d3dcc0d0d5df6c042e164 Signed-off-by: Mike Travis Signed-off-by: Tony Luck commit 472613b961affef0c73f1c797993678312e7c666 Author: Russ Anderson Date: Thu Apr 24 13:16:59 2008 -0500 [IA64] fix bootmem regression on Altix A recent change prevents SGI Altix from booting. This patch fixes the problem. The regresson was introduced in commit 434d53b00d6bb7be0a1d3dcc0d0d5df6c042e164 Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit a4928cffe6435caf427ae673131a633c1329dbf3 Author: Ingo Molnar Date: Wed Apr 23 13:20:56 2008 +0200 "make namespacecheck" fixes Signed-off-by: Ingo Molnar commit f8dc5a186c19a029f8eac0b1d2c426690e58efdb Author: Alexey Starikovskiy Date: Mon Apr 21 13:32:01 2008 +0400 x86: fix compilation error in VisWS Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit fcbc04c0ab345f6e9cabc92a15f35031a10fde9f Author: Ingo Molnar Date: Mon Apr 21 13:39:53 2008 +0200 x86: voyager fix Reported-by: Adrian Bunk Signed-off-by: Ingo Molnar commit 4d33bdb7688de7a61859dafc783eb9b6bca279fc Author: Alexey Starikovskiy Date: Mon Apr 21 13:31:55 2008 +0400 x86: Drop duplicate from setup.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 6865f0d19306daf3a3bf28cfcfe74639d1bc0df4 Author: Ingo Molnar Date: Tue Apr 22 11:09:04 2008 +0200 intel-iommu.c: dma ops fix Stephen Rothwell noticed that: Commit 2be621498d461b63ca6124f86e3b9582e1a8e722 ("x86: dma-ops on highmem fix") in Linus' tree introduced a new warning (noticed in the x86_64 allmodconfig build of linux-next): drivers/pci/intel-iommu.c:2240: warning: initialization from incompatible pointer type Which points at an instance of map_single that needs updating. Fix it to the new prototype. Signed-off-by: Ingo Molnar commit e12177073f28419f1f7eb8dbb93aab6b712c7c04 Author: Mark Brown Date: Wed Apr 23 10:28:18 2008 +0100 [ARM] 5017/1: pxa3xx: Report unsupported wakeup sources in pxa3xx_set_wake() pxa3xx_set_wake() silently accepts unsupported wake sources, causing users to believe that they have succesfully configured sources that they haven't. Fail the operation instead. Signed-off-by: Mark Brown Acked-by: eric miao Signed-off-by: Russell King commit e03e0590b2b29b62f0480524090e469baa13d5f5 Author: Philipp Zabel Date: Thu Apr 24 18:10:46 2008 +0100 [ARM] 5020/1: magician: remove __devinit marker from pasic3_leds_info Platform data must not be marked with __devinit. Even __devinitdata would be wrong as the platform driver can be compiled as a module. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 57675e6e75c18f279b944dc2397cc9fd0053845e Merge: 02f3705... a7f796a... Author: Linus Torvalds Date: Thu Apr 24 13:47:31 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Fix typo in previous commit [CIFS] Fix define for new proxy cap to match documentation [CIFS] Fix UNC path prefix on QueryUnixPathInfo to have correct slash [CIFS] Reserve new proxy cap for WAFS [CIFS] Add various missing flags and defintions [CIFS] make cifs_dfs_automount_list_static [CIFS] Fix oops when slow oplock process races with unmount [CIFS] Fix acl length when very short ACL being modified by chmod [CIFS] Fix looping on reconnect to Samba when unexpected tree connect fail on reconnect [CIFS] minor update to change log commit 02f370506822cbff60bbf5b685053fa2e8640811 Author: David Howells Date: Thu Apr 24 20:38:56 2008 +0100 RxRPC: Fix a regression in the RXKAD security module Fix a regression in the RXKAD security module introduced in: commit 91e916cffec7c0153c5cbaa447151862a7a9a047 Author: Al Viro Date: Sat Mar 29 03:08:38 2008 +0000 net/rxrpc trivial annotations A variable was declared as a 16-bit type rather than a 32-bit type. Signed-off-by: David Howells Acked-with-apologies-by: Al Viro Signed-of-by: Linus Torvalds commit f764e51421d66fa0b58cba6a75355fa6e60f3a37 Author: Sebastian Siewior Date: Thu Apr 24 21:32:28 2008 +0200 Remove -numa from EXTRAVERSION This snuck in through 919ee677b656c52c5f86d3d916786891220d5452 ("[SPARC64]: Add NUMA support") Signed-off-by: Sebastian Siewior Cc: David S. Miller Signed-off-by: Linus Torvalds commit 563307b2fa15d687abc54bd980b9847ebf0e3231 Merge: 10c993a... 233607d... Author: Linus Torvalds Date: Thu Apr 24 11:46:16 2008 -0700 Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (80 commits) SUNRPC: Invalidate the RPCSEC_GSS session if the server dropped the request make nfs_automount_list static NFS: remove duplicate flags assignment from nfs_validate_mount_data NFS - fix potential NULL pointer dereference v2 SUNRPC: Don't change the RPCSEC_GSS context on a credential that is in use SUNRPC: Fix a race in gss_refresh_upcall() SUNRPC: Don't disconnect more than once if retransmitting NFSv4 requests SUNRPC: Remove the unused export of xprt_force_disconnect SUNRPC: remove XS_SENDMSG_RETRY SUNRPC: Protect creds against early garbage collection NFSv4: Attempt to use machine credentials in SETCLIENTID calls NFSv4: Reintroduce machine creds NFSv4: Don't use cred->cr_ops->cr_name in nfs4_proc_setclientid() nfs: fix printout of multiword bitfields nfs: return negative error value from nfs{,4}_stat_to_errno NLM/lockd: Ensure client locking calls use correct credentials NFS: Remove the buggy lock-if-signalled case from do_setlk() NLM/lockd: Fix a race when cancelling a blocking lock NLM/lockd: Ensure that nlmclnt_cancel() returns results of the CANCEL call NLM: Remove the signal masking in nlmclnt_proc/nlmclnt_cancel ... commit 10c993a6b5418cb1026775765ba4c70ffb70853d Merge: c328d54... ca45625... Author: Linus Torvalds Date: Thu Apr 24 11:45:00 2008 -0700 Merge branch 'for-linus' of git://linux-nfs.org/~bfields/linux * 'for-linus' of git://linux-nfs.org/~bfields/linux: (52 commits) knfsd: clear both setuid and setgid whenever a chown is done knfsd: get rid of imode variable in nfsd_setattr SUNRPC: Use unsigned loop and array index in svc_init_buffer() SUNRPC: Use unsigned index when looping over arrays SUNRPC: Update RPC server's TCP record marker decoder SUNRPC: RPC server still uses 2.4 method for disabling TCP Nagle NLM: don't let lockd exit on unexpected svc_recv errors (try #2) NFS: don't let nfs_callback_svc exit on unexpected svc_recv errors (try #2) Use a zero sized array for raw field in struct fid nfsd: use static memory for callback program and stats SUNRPC: remove svc_create_thread() nfsd: fix comment lockd: Fix stale nlmsvc_unlink_block comment NFSD: Strip __KERNEL__ testing from unexported header files. sunrpc: make token header values less confusing gss_krb5: consistently use unsigned for seqnum NFSD: Remove NFSv4 dependency on NFSv3 SUNRPC: Remove PROC_FS dependency NFSD: Use "depends on" for PROC_FS dependency nfsd: move most of fh_verify to separate function ... commit b9e4f176665d732928b92106f2041dde66e6c896 Author: Grant Likely Date: Fri Apr 25 03:33:44 2008 +1000 [POWERPC] bootwrapper: fix build error on virtex405-head.S virtex405-head.S is an assembler file, not a C file; therefore BOOTAFLAGS is the correct place to set the needed -mcpu=405 flag. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit acb0142bf01c0ebe18f09e37814451ee6a873e27 Author: Stefan Roese Date: Sat Apr 19 19:57:33 2008 +1000 [POWERPC] 4xx: Fix 460GT support to not enable FPU The AMCC 460GT doesn't have an FPU so let's not enable support for it. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 5020231bf73a30a7d9244f1675002fffcdc10ceb Author: Stefan Roese Date: Sat Apr 19 19:57:18 2008 +1000 [POWERPC] 4xx: Add NOR FLASH entries to Canyonlands and Glacier dts This patch adds default NOR entries to the AMCC Canyonlands (460EX) and Glacier (460GT) dts files. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit b912b5e2cfb35c02c9c79d3f6e31753f3be4dd83 Author: John Linn Date: Thu Apr 3 10:22:19 2008 +1100 [POWERPC] Xilinx: of_serial support for Xilinx uart 16550. The Xilinx 16550 uart core is not a standard 16550 because it uses word-based addressing rather than byte-based addressing. With additional properties it is compatible with the open firmware 'ns16550' compatible binding. This code updates the of_serial driver to handle the reg-offset and reg-shift properties to enable this core to be used. Signed-off-by: John Linn Acked-by: Arnd Bergmann Signed-off-by: Josh Boyer commit 2f0b45f846735b486c0383740d3959941c4721a4 Author: John Linn Date: Thu Apr 3 03:52:14 2008 +1100 [POWERPC] Xilinx: boot support for Xilinx uart 16550. The Xilinx 16550 uart core is not a standard 16550 because it uses word-based addressing rather than byte-based adressing. With additional properties it is compatible with the open firmware 'ns16550' compatible binding. This code updates the ns16550 driver to use the reg-offset property so that the Xilinx UART 16550 can be used with it. The reg-shift was already being handled. Signed-off-by: John Linn Acked-by: Grant Likely Signed-off-by: Josh Boyer commit c328d54cd4ad120d76284e46dcca6c6cf996154a Merge: 346ad4b... b0166ab... Author: Linus Torvalds Date: Thu Apr 24 11:21:08 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (452 commits) V4L/DVB (7731): tuner-xc2028: fix signal strength calculus V4L/DVB (7730): tuner-xc2028: Fix SCODE load for MTS firmwares V4L/DVB (7729): Fix VIDIOCGAP corruption in ivtv V4L/DVB (7728): tea5761: bugzilla #10462: tea5761 autodetection code were broken V4L/DVB (7726): cx23885: Enable cx23417 support on the HVR1800 V4L/DVB (7725): cx23885: Add generic cx23417 hardware encoder support V4L/DVB (7723): pvrusb2: Clean up input selection list generation in V4L interface V4L/DVB (7722): pvrusb2: Implement FM radio support for Gotview USB2.0 DVD 2 V4L/DVB (7721): pvrusb2: Restructure cx23416 firmware loading to have a common exit point V4L/DVB (7720): pvrusb2: Fix bad error code on cx23416 firmware load failure V4L/DVB (7719): pvrusb2: Implement input selection enforcement V4L/DVB (7718): pvrusb2-dvb: update Kbuild selections V4L/DVB (7717): pvrusb2-dvb: add DVB-T support for Hauppauge pvrusb2 model 73xxx V4L/DVB (7716): pvrusb2: clean up global functions V4L/DVB (7715): pvrusb2: Clean out all use of __FUNCTION__ V4L/DVB (7714): pvrusb2: Fix hang on module removal V4L/DVB (7713): pvrusb2: Implement cleaner DVB kernel thread shutdown V4L/DVB (7712): pvrusb2: Close connect/disconnect race V4L/DVB (7711): pvrusb2: Fix race on module unload V4L/DVB (7710): pvrusb2: Implement critical digital streaming quirk for onair devices ... commit 233607dbbc823caf685e778cabc49fb7f679900b Merge: 3dc5063... b48633b... Author: Trond Myklebust Date: Thu Apr 24 14:01:02 2008 -0400 Merge branch 'devel' commit b48633bd086d21f4a2a5bea96c7e6c7ba58eb60c Author: Trond Myklebust Date: Tue Apr 22 16:47:55 2008 -0400 SUNRPC: Invalidate the RPCSEC_GSS session if the server dropped the request RFC 2203 requires the server to drop the request if it believes the RPCSEC_GSS context is out of sequence. The problem is that we have no way on the client to know why the server dropped the request. In order to avoid spinning forever trying to resend the request, the safe approach is therefore to always invalidate the RPCSEC_GSS context on every major timeout. Signed-off-by: Trond Myklebust commit 942bb7b5d67dcfb19d7340038feb7caa666830e7 Merge: 48bdce4... 34d2785... Author: Dmitry Torokhov Date: Thu Apr 24 13:25:42 2008 -0400 Merge branch 'wm97xx' commit 48bdce4a2e0b1d3be6ed6da14d25adfe9385d2dc Author: Vernon Sauder Date: Mon Apr 21 12:13:21 2008 -0400 Input: ucb1400_ts - IRQ probe fix The UCB1400 driver IRQ probe code fails to find an interrupt if all the interrupts in the range 0-31 are nonprobe-able. This patch removes the check of the return value so interrupts above 31 can be detected. Tested on InHand Fingertip4 PXA270 board. Signed-off-by: Vernon Sauder Acked-by: Nicolas Pitre Signed-off-by: Dmitry Torokhov commit a22b4b2f408f7958ffb3a9e62defc5168db1e15e Author: Hans-Christian Egtvedt Date: Mon Apr 21 10:00:46 2008 -0400 Input: at32psif - update MODULE_AUTHOR with new email Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Dmitry Torokhov commit 8fd76c4506817a93718fab0d6b3a55b9becc9f2c Author: Peter Zijlstra Date: Fri Apr 18 00:25:38 2008 -0400 Input: mac_hid - add lockdep annotation to emumousebtn The mouse button emulation calls input device methods from an input device. This causes funny lock nesting which is harmless as each device has its own locks. Give the nesting device its own lock classes so that lockdep will not consider them the same. Signed-off-by: Peter Zijlstra Signed-off-by: Dmitry Torokhov commit 8c6deb9c8fd29feaeae3aae500608beac777ea9e Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri Apr 18 00:25:18 2008 -0400 Input: i8042 - fix incorrect usage of strncpy and strncat Fix incorrect length argument for strncpy and strncat by replacing them with strlcpy and strlcat Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Dmitry Torokhov commit d0478d0ad7a58f36afa03e57afe14955c2943466 Author: Michael Hennerich Date: Fri Apr 18 00:25:00 2008 -0400 Input: bf54x-keys - add infrastructure for keypad wakeups Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Dmitry Torokhov commit d7b5247bbcfba2bc96d4b3dec9086a4f1a31363b Author: Kay Sievers Date: Fri Apr 18 00:24:42 2008 -0400 Input: add MODULE_ALIAS() to hotpluggable platform modules Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable "input" platform drivers, to re-enable auto loading. [dbrownell@users.sourceforge.net: more drivers, registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit b39b04403bba4f807ee6e57ae2f4407187588fcd Author: Julia Lawall Date: Thu Apr 17 09:28:25 2008 -0400 Input: drivers/char/keyboard.c - use time_after The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 81e329cdddd63d66e2b3c3dc51d429ba074cdbb8 Author: Jiri Kosina Date: Mon Mar 10 13:43:05 2008 +0100 Input: fix ordering in joystick Makefile Make entries in drivers/input/joystick/Makefile properly alphabetically ordered. Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit b0166ab3a6ae6d7af8d9a21a7836154963c69a11 Author: Mauro Carvalho Chehab Date: Thu Apr 24 11:19:55 2008 -0300 V4L/DVB (7731): tuner-xc2028: fix signal strength calculus Signed-off-by: Mauro Carvalho Chehab commit c21f1e2e39a1012f57c33d21af5c909cf2ae3b9a Author: Mauro Carvalho Chehab Date: Thu Apr 24 10:56:41 2008 -0300 V4L/DVB (7730): tuner-xc2028: Fix SCODE load for MTS firmwares There are different tables for MTS firmwares. This should be taken into account while selecting the proper firmware. While at tuner-xc2028.h, improve some comments. Thanks to Edward J. Sheldrake for helping to diagnose such troubles with PAL/I standard. Signed-off-by: Mauro Carvalho Chehab commit d2b213f7b76f187c4391079c7581d3a08b940133 Author: Alan Cox Date: Sun Apr 20 11:27:36 2008 -0300 V4L/DVB (7729): Fix VIDIOCGAP corruption in ivtv Frank Bennett reported that ivtv was causing skype to crash. With help from one of their developers he showed it was a kernel problem. VIDIOCGCAP copies a name into a fixed length buffer - ivtv uses names that are too long and does not truncate them so corrupts a few bytes of the app data area. Possibly the names also want trimming but for now this should fix the corruption case. Signed-off-by: Alan Cox Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 867e835f4db4eba6d49072382cc05fc210c4ed1c Author: Mauro Carvalho Chehab Date: Wed Apr 23 17:27:27 2008 -0300 V4L/DVB (7728): tea5761: bugzilla #10462: tea5761 autodetection code were broken Signed-off-by: Mauro Carvalho Chehab commit a589b66546d3d81e28dd95d3463c9e9da3d68728 Author: Steven Toth Date: Sun Jan 13 23:44:47 2008 -0300 V4L/DVB (7726): cx23885: Enable cx23417 support on the HVR1800 cx23885: Enable cx23417 support on the HVR1800 Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b1b81f1db73f00e595585b16aa31293a791964c0 Author: Steven Toth Date: Sun Jan 13 23:42:44 2008 -0300 V4L/DVB (7725): cx23885: Add generic cx23417 hardware encoder support cx23885: Add generic cx23417 hardware encoder support. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e57b1c80065f7922e3ba464f54254c7ce983a3a4 Author: Mike Isely Date: Mon Apr 21 03:52:34 2008 -0300 V4L/DVB (7723): pvrusb2: Clean up input selection list generation in V4L interface Change how list of possible pvrusb2 inputs is generated to include only those interfaces that make sense for the interface instance. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1df59f0b908bfcdc35d1ea2319290ece272bf576 Author: Mike Isely Date: Mon Apr 21 03:50:39 2008 -0300 V4L/DVB (7722): pvrusb2: Implement FM radio support for Gotview USB2.0 DVD 2 Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 21684ba921d7758dc9264e0de64475b8a636ee95 Author: Mike Isely Date: Mon Apr 21 03:49:33 2008 -0300 V4L/DVB (7721): pvrusb2: Restructure cx23416 firmware loading to have a common exit point Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 17a7b6642da13f789471895677c98736ac85f43a Author: Mike Isely Date: Mon Apr 21 03:48:41 2008 -0300 V4L/DVB (7720): pvrusb2: Fix bad error code on cx23416 firmware load failure Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1cb03b76d09d20accfa5c1664c16ba6566f539a0 Author: Mike Isely Date: Mon Apr 21 03:47:43 2008 -0300 V4L/DVB (7719): pvrusb2: Implement input selection enforcement In the pvrusb2 driver, different interfaces (e.g. V4L, DVB) have Signed-off-by: Mauro Carvalho Chehab commit d3f8d8fb304a8b9a81eae16ff7b50f5379f2437e Author: Michael Krufky Date: Sun Apr 20 02:42:55 2008 -0300 V4L/DVB (7718): pvrusb2-dvb: update Kbuild selections These changes are required with the addition of digital television support for the Hauppauge HVR1900 & HVR1950, the OnAir Creator and Sasem USB HDTV Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 95814bc2b792dced5296a710704de7d5ecec2776 Author: Michael Krufky Date: Sat Apr 19 15:36:51 2008 -0300 V4L/DVB (7717): pvrusb2-dvb: add DVB-T support for Hauppauge pvrusb2 model 73xxx Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f55a871241899ea2ecc85670d7c9a83e4de29637 Author: Adrian Bunk Date: Fri Apr 18 05:38:56 2008 -0300 V4L/DVB (7716): pvrusb2: clean up global functions This patch contains the following cleanups: - make the following needlessly global function static: - pvr2_hdw_set_cur_freq() - #if 0 the following unused global functions: - pvr2_hdw_get_state_name() - pvr2_hdw_get_debug_info_unlocked() - pvr2_hdw_get_debug_info_locked() Signed-off-by: Adrian Bunk Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 49844c291a02a8630215f779fa44b3198d0a4f5b Author: Mike Isely Date: Wed Apr 9 05:44:57 2008 -0300 V4L/DVB (7715): pvrusb2: Clean out all use of __FUNCTION__ Apparently the kernel developers no longer consider it proper etiquette to use __FUNCTION__; everyone must instead use __func__ (even though it breaks with older compilers). And worse still, actual effort is being expended to sweep this change throughout the kernel source tree. Don't these people have better things to do? So... Completely clean out all use of __FUNCTION__ from the pvrusb2 driver (it was just in the sysfs interface). I'm not going to use __func__ either. So there. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 18ecbb4771eb0ecf297e996966b3c42f69cd6c02 Author: Mike Isely Date: Wed Apr 9 05:14:11 2008 -0300 V4L/DVB (7714): pvrusb2: Fix hang on module removal The pvrusb2 driver was getting had by this scenario: 1. Task A calls kthread_stop() for task B. 2. Before exiting, then Task B calls kthread_stop() for task C. The problem is, kthread_stop() wants to allocate an internal resource to itself (i.e. acquire a lock), which won't be released until kthread_stop() returns. But kthread_stop() won't return until task B is dead. But task B won't die until it finishes its call to kthread_stop() for task C, and that will block waiting on the resource already allocated inside task A. Deadlock. With the pvrusb2 driver, task A is the caller to pvr_exit(), task B is the control thread run inside of pvrusb2-context.c, and task C is any worker thread run inside of pvrusb2-hdw.c. This problem got introduced by the previous threading setup change, which was itself an attempt to fix a module tear-down race (which it actually did fix). The lesson here is that a task being waited on as part of a kthread_stop() simply cannot be allow to also issue a kthread_stop() - or we make sure not to issue the enclosing kthread_stop() until we know that the inner kthread_stop() has completed first. The solution for the pvrusb2 driver is some hackish code which changes the main control thread tear down into a two step process. This then makes it possible to delay issuing the kthread_stop() on the control thread until after we know that everything has been torn down first. (And yes, we really need that kthread_stop() because it's the only way to safely guarantee that a module-referencing kernel thread has safely returned back out of the module before we finally remove the module.) Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 13e027a8bf2a507334fa0d30246ce619ff581cbb Author: Mike Isely Date: Mon Apr 7 02:57:13 2008 -0300 V4L/DVB (7713): pvrusb2: Implement cleaner DVB kernel thread shutdown Earlier fix to handle DVB feed thread aborts was overly-aggressive. We can take better advantage of what kthread_stop() can do. This change simplifies things. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 97f26ff6049a7fff5460cebe392ad1d699dc434c Author: Mike Isely Date: Mon Apr 7 02:22:43 2008 -0300 V4L/DVB (7712): pvrusb2: Close connect/disconnect race If a disconnect happens before initialization is completed, the pvrusb2 driver can accidentally touch dangling pointers. The whole initialization function must be protected by the big_lock, and once inside that lock, the initialization function should abort if it is discovered that a disconnect has already taken place. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e5be15c63804e05b5a94197524023702a259e308 Author: Mike Isely Date: Mon Apr 7 02:22:04 2008 -0300 V4L/DVB (7711): pvrusb2: Fix race on module unload The pvrusb2 driver - for basically forever - was not enforcing a proper module tear-down. Kernel threads are used inside the driver and all must be gone before the module can be safely removed. This changeset reimplements a chunk of pvrusb2-context.c to enforce this correctly. Unfortunately this is not a simple fix. The new implementation also cuts back on kernel thread usage; instead of there being 1 control thread per instance now it's just 1 control thread shared by all instances. (By dropping to a single thread then the module exit function can block on its shutdown and the thread itself can monitor and cleanly shut down all of the other instances first.) Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit d913d6303072ca194919d851e6743ad8c3a7563d Author: Mike Isely Date: Sun Apr 6 04:04:35 2008 -0300 V4L/DVB (7710): pvrusb2: Implement critical digital streaming quirk for onair devices Implement timed measurement of encoder operation for the first time it is run. This allows the driver to note when the encoder has been run successfully for at least 1/4 second. On top of that implement various bits to ensure that the encoder has been run once before digital streaming for OnAir devices. This is done via several core state machine tweaks. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 72998b71096e364002269a8cacc0524937d479c6 Author: Mike Isely Date: Thu Apr 3 04:51:19 2008 -0300 V4L/DVB (7709): pvrusb2: New device attribute for encoder usage in digital mode Some tuners seem to not work in digital mode unless the encoder is healthy. Implement a device attribute to represent this flag and modify the core state machines to enforce this requirement. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 07b80264c3ede47593e83189cce82b31100053f6 Author: Mike Isely Date: Sun Mar 30 20:36:31 2008 -0300 V4L/DVB (7708): pvrusb2-dvb: Fix stuck thread on streaming abort If the device fails to stream, the feed thread will block forever waiting for buffers. But while in this state it was not looking for an exit condition from the driver DVB interface. This caused the thread to jam. Implement a new stop flag (which will be set appropriately) to tell the thread to stop. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 087886eb111fde9659d69c030ea618b3c242e39c Author: Michael Krufky Date: Fri Mar 28 05:49:36 2008 -0300 V4L/DVB (7707): pvrusb2-dvb: add atsc/qam support for Hauppauge pvrusb2 model 750xx Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit c881284151e35479ffee26a571b6e9769c351095 Author: Michael Krufky Date: Fri Mar 28 05:48:44 2008 -0300 V4L/DVB (7706): pvrusb2: create a separate pvr2_device_desc structure for 751xx models Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 906a495741bf63a7448ca4c452d70f937549e9ad Author: Michael Krufky Date: Fri Mar 28 05:47:47 2008 -0300 V4L/DVB (7705): pvrusb2: Enable OnAir digital operation Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1b1b8d7841684d9d6273c479abe39d517dfb8cb8 Author: Mike Isely Date: Fri Mar 28 05:43:45 2008 -0300 V4L/DVB (7704): pvrusb2: Fix slop involving use of struct which might not be defined When the DVB interface is not compiled, the pvr2_dvb_props struct is not available - so it really should be ifdef'ed out as well. This didn't cause an error because in this context its usage was as an opaque pointer. But it really shouldn't be present at all if DVB is not enabled. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 694dca2b80d5e17f5edddacf4fcdacc1091623f2 Author: Mike Isely Date: Fri Mar 28 05:42:10 2008 -0300 V4L/DVB (7703): pvrusb2: Fix minor problem involving ARRAY_SIZE confusion Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit bb0c2fe0c423d6501395e626501dd8747823cafb Author: Mike Isely Date: Fri Mar 28 05:41:19 2008 -0300 V4L/DVB (7702): pvrusb2: Rework USB streaming start/stop execution The commands to start / stop USB streaming for an analog device are fairly standard, owing to the fact that all supported devices apparently started from the same common reference design. However with digital mode, the commands seem to vary by vendor. This change makes that variance more explicit. It also cleans up a related problem for OnAir devices which prevented digital mode from working at all. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1c9d10d4d2e791a9eacd9f919dec78c5bc6737e8 Author: Mike Isely Date: Fri Mar 28 05:38:54 2008 -0300 V4L/DVB (7701): pvrusb2: Centralize handling of simple FX2 commands Numerous places in the driver need to issue simple commands to the FX2 microcontroller (e.g. only 1 or 2 bytes, no reply needed). Previously each place that did this, had to take lock, set up a central buffer, and call the function to perform the handshake. This change puts these steps into a single spot. This also has the effect of removing the need to mess with the control lock from numerous places in the code. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 448cb48e6e2fcd3a948cc549c5c6ab7f84440a54 Author: Mike Isely Date: Fri Mar 28 05:36:25 2008 -0300 V4L/DVB (7700): pvrusb2: Make FX2 command codes unsigned constants Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ad0992e97c5416e431e19dcfd4f6c84448dc1bc2 Author: Mike Isely Date: Fri Mar 28 05:34:45 2008 -0300 V4L/DVB (7699): pvrusb2: Implement statistics for USB I/O performance / tracking Implement a mechanism in the pvrusb2 driver for gathering statistics on the stream buffering, including bytes transferred, buffers handled, buffers in flight, etc. This is useful for debugging certain classes of streaming issues and for determining if the buffer pool size is generally correct for the driver. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit be9cbb7c559eddea19604abafb89faf9c8666715 Author: Mike Isely Date: Fri Mar 28 05:32:23 2008 -0300 V4L/DVB (7698): pvrusb2: Remove never-reached break statements (trivial) Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit b9a37d9124dc834f2448558dbbe766eee077b954 Author: Mike Isely Date: Fri Mar 28 05:31:40 2008 -0300 V4L/DVB (7697): pvrusb2: Fix misleading bit of debug output (trivial) Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 38d9a2cf2db30b37dde81ec5f8b4de0fd9843ccc Author: Mike Isely Date: Fri Mar 28 05:30:48 2008 -0300 V4L/DVB (7696): pvrusb2: state control tweak Don't trigger a pathway state change if it's already been triggered (eliminates some wasted processing and some debug output noise) Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 98e184d978c9fdd294c169e468ab4a3e51a8be2d Author: Mike Isely Date: Fri Mar 28 05:28:20 2008 -0300 V4L/DVB (7695): pvrusb2: Make associativity of == and && explicit (cosmetic) Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ce52f81138512dc9c4b0ab00f11806000b597a45 Author: Mike Isely Date: Sun Mar 16 02:12:12 2008 -0300 V4L/DVB (7694): pvrusb2: Fix compilation goof when CONFIG_VIDEO_PVRUSB2_DVB is off Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e6d1186543784222024da9c688766effd2ca3163 Author: Mike Isely Date: Sat Feb 9 19:47:52 2008 -0300 V4L/DVB (7693): pvrusb2-dvb: Change usage of 0 --> NULL Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit c5317b17f6ca74531a6c707873dc5d25f1877ac3 Author: Mike Isely Date: Sat Feb 9 19:47:07 2008 -0300 V4L/DVB (7692): pvrusb2-dvb: Further clean up dvb init/tear-down Move pvr2_dvb_adapter usage out of the pvrusb2 driver core - it's really private to the pvrusb2-dvb module and nothing outside of the dvb implementation should care about it. Creation / destruction of the pvr2_dvb_adapter instance is now contained entirely within pvrusb2-dvb.c. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 129a2f5efd95959c44a2bfeea8ee8b7c17252db6 Author: Mike Isely Date: Sat Feb 9 16:29:52 2008 -0300 V4L/DVB (7691): pvrusb2-dvb: Don't initialize if device lacks a digital side In the end we'd like the dvb interface to always be present - even for analog devices (via the mpeg encoder). However right now pvrusb2-dvb won't operate correctly if the hardware doesn't have a digital tuner, so don't initialize the DVB interface unless we know we have a digital tuner. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 7dcc48fb55d18258e7db039f44a031e6828e6bad Author: Mike Isely Date: Sat Feb 9 15:55:54 2008 -0300 V4L/DVB (7690): pvrusb2-dvb: Remove digital_up flag Other pvrusb2-dvb changes have made the digital_up flag obsolete. So kill it. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 891d99efc5be16d2762bdbb9d0486f7250990eee Author: Mike Isely Date: Sat Feb 9 15:44:30 2008 -0300 V4L/DVB (7689): pvrusb2-dvb: Rework module tear-down Rather than making an explicit call to tear down the pvrusb2-dvb module, use the callback in the pvr2_channel structure. This has the advantage that now tear-down only happens when it makes sense. The previous implementation had scenarios where it was possible for the tear-down call to happen without a prior initialization. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit a36416d0a70899d3724d2e69e378062e06252a41 Author: Mike Isely Date: Wed Feb 6 06:59:48 2008 -0300 V4L/DVB (7688): pvrusb2: Clean up dvb streaming start/stop Eliminate the need for a separate pvr2_dvb_fh; since in the DVB context there can only ever be a single instance then there is no need for a separate instance to handle streaming state. This simplifies the module. Also move streaming start/stop out of the feed thread and into the driver's main context - which makes it possible for streaming start up failures to be detected by the DVB core. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ceb4340deb9bf5f8371d47ef906a83e6784345b0 Author: Mike Isely Date: Wed Feb 6 04:24:51 2008 -0300 V4L/DVB (7687): pvrusb2: Fix oops in pvrusb2-dvb The pvrusb2-dvb feed thread cannot be allowed to exit by itself without first waiting for kthread_should_stop() to return true. Otherwise the driver will have a dangling task_struct context, which will cause a very nasty kernel oops. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e2780fb41102f9844ae6182c03908f03c3cb9163 Author: Mike Isely Date: Mon Feb 4 04:22:21 2008 -0300 V4L/DVB (7686): pvrusb2: Fix broken debug interface build Fix pvrusb2 kbuild typo introduced when pvrusb2-dvb was added. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 48e5329fe8dea9ce88074a10787b619a3fe7175f Author: Mike Isely Date: Mon Feb 4 01:00:33 2008 -0300 V4L/DVB (7685): pvrusb2: Fix really bad typo if DVB config option description Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit bc4b02caa875f8e2146c724a931f32b087d7e9b0 Author: Mike Isely Date: Mon Feb 4 00:12:16 2008 -0300 V4L/DVB (7684): pvrusb2: Add VIDEO_PVRUSB2_DVB config variable Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit bde316a4f1094f9a3da402c44f7315e1a94fb332 Author: Michael Krufky Date: Sun Feb 10 05:33:37 2008 -0300 V4L/DVB (7683): pvrusb2-dvb: set to DTV mode before attaching frontend Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit bb8ce9d9143c0fe2b5cdf65fa41250446805a4be Author: Mike Isely Date: Mon Feb 4 00:00:19 2008 -0300 V4L/DVB (7682): pvrusb2-dvb: finish up stream & buffer handling Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit d8abe97d0063cf77e9bbbee076181e4657c7e09c Author: Michael Krufky Date: Sun Feb 3 23:55:07 2008 -0300 V4L/DVB (7681): pvrusb2-dvb: start working on streaming / buffer handling code start work on streaming / buffer handling code to feed the software demux Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 99443ae04f7002530f666ba0747f7b1ecafb3002 Author: Michael Krufky Date: Sun Feb 3 23:48:09 2008 -0300 V4L/DVB (7680): pvrusb2-dvb: add pvr2_dvb_bus_ctrl to allow frontends to negotiate bus access This function is just a skeleton for now - a placeholder to remind us to fix it. Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 04910bdc5c172af9bc937a8869e7f2907db4443f Author: Michael Krufky Date: Sun Feb 3 23:46:16 2008 -0300 V4L/DVB (7679): pvrusb2: add DVB API framework Add basic framework for the DVB API. This is enough to control the tuner & demod of the digital frontend, but the stream & buffer handling is still missing. Additional note from Mike Isely - also, since these changes are still very experimental arrange for DVB changes to be compiled in via new CONFIG_VIDEO_PVRUSB2_DVB option, for now. Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e7f677f33664200b3d75ffc625d218b84ac43875 Author: Mike Isely Date: Sun Mar 16 01:13:17 2008 -0300 V4L/DVB (7678): pvrusb2: Fix stupid string typo that has been reproducing wildly Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit b34dddbe4b88bf59e7607d1fc504eee43570c6a4 Author: Dmitry Belimov Date: Wed Apr 23 14:09:08 2008 -0300 V4L/DVB (7677): saa7134: Add/fix Beholder entries Beholder TV/FM tuners: Changes: Add support Beholder Columbus PCMCIA card. Add key map for remote control of Beholder Columbus PCMCIA card. Fix gpiomask for all Beholder tuners. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 8fb737b7dc94e495be02c775afe1e7de0e06f3f5 Author: Dmitry Belimov Date: Wed Apr 23 14:07:09 2008 -0300 V4L/DVB (7676): saa7134: fix: Properly handle busy states on i2c bus There are two conditions, reported by saa7134 that indicates that the I2C bus is busy: TO_SCL and TO_ARB. On both states, it needs to wait for I2C release, before using the bus. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 548899c76e101bdf6228569d6ee6992e8c20da76 Author: Dmitry Belimov Date: Wed Apr 23 14:01:52 2008 -0300 V4L/DVB (7675): tea5767 autodetection is not working on some saa7134 boards Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit d5b3d9ff368dee5e87d9987161ff258d87ecc7c0 Author: Steven Toth Date: Tue Apr 22 22:52:01 2008 -0300 V4L/DVB (7674): tda10048: Adding an SNR table Trying to improve the SNR reporting. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6676237398d0c2e61e5a3a27e0951f60d6ef6fe3 Author: Steven Toth Date: Tue Apr 22 15:38:26 2008 -0300 V4L/DVB (7673): cx23885: Add support for the Hauppauge HVR1400 DVB-T mode is now supported using the DiBcom dib7000p demodulator and the Xceive xc3028L silicon tuner. Analog mode is not supported. Signed-off-by: Steven Toth Reviewed-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit a38d6e37c0bc073bae5eff37c939978974ea9712 Author: Steven Toth Date: Tue Apr 22 15:37:01 2008 -0300 V4L/DVB (7672): dib7000p: Add output mode param to the attach struct This allows future drivers to select the most appropriate output mode. Signed-off-by: Steven Toth Reviewed-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 5aa2110f3f33feb4a0c67a4996dc400dc594bc1d Author: Guennadi Liakhovetski Date: Tue Apr 22 10:40:23 2008 -0300 V4L/DVB (7671): pxa-camera: fix DMA sg-list coalescing for more than 2 buffers Currently the pxa-camera driver has a bug, visible when the user requests more than 2 video buffers. When the third buffer is queued, it is not appended to the DMA-descriptor list of the second buffer, but is again appended to the first buffer. Fix it. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit e7c506881973d0c762d660005be54c4095219c59 Author: Guennadi Liakhovetski Date: Tue Apr 22 10:37:49 2008 -0300 V4L/DVB (7670): pxa-camera: handle FIFO overruns FIFO overruns are not seldom on PXA camera interface FIFOs. Handle them by dropping the corrupted frame, waiting for the next start-of-frame, and restarting capture. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a5462e5be3c1cec7e00e6af9985ff31bf4ef8aa0 Author: Mike Rapoport Date: Tue Apr 22 10:36:32 2008 -0300 V4L/DVB (7669): pxa_camera: Add support for YUV modes This patch adds support for YUV packed and planar capture for pxa_camera. Signed-off-by: Mike Rapoport Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 587df9fca6496f4236c526b2c83f068a63cfd769 Author: Guennadi Liakhovetski Date: Tue Apr 22 10:33:39 2008 -0300 V4L/DVB (7668): soc-camera: Remove redundant return This obviously redundant return has been in the driver from the very first version. Remove it. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 6ec6e0ced1bb9d85e29302e76f5340e3e49bd0b9 Author: Douglas Schilling Landgraf Date: Thu Apr 10 02:07:14 2008 -0300 V4L/DVB (7666): meye: Replace meye_do_ioctl to use video_ioctl2 Convert meye to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 130ca945d83637046bde4943629f011e22831fd3 Author: Douglas Schilling Landgraf Date: Thu Apr 10 01:18:56 2008 -0300 V4L/DVB (7665): videodev: Add default vidioc handler Added default vidioc handler for other private ioctls Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 87dd965f101bafea7c5e507f686814a0f0057417 Author: Oliver Endriss Date: Sun Apr 20 22:34:57 2008 -0300 V4L/DVB (7663): budget: Support for Activy budget card with BSBE1 tuner Add support for Activy budget card with BSBE1 tuner, subsystem id 0x1131:0x4f60. Low band and DiSEqC support should work now (BSBE1 and BSRU6 tuner). Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit da2c7f66174d082e6b8e1b0c9c0576833abfe866 Author: Oliver Endriss Date: Sun Apr 20 22:13:37 2008 -0300 V4L/DVB (7662): stv0299: Fixed some typos Fixed some typos. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit e84b133e329ddad725907844c285efcd35dae39d Author: Oliver Endriss Date: Sun Apr 20 21:57:34 2008 -0300 V4L/DVB (7661): stv0299: Add flag to turn off OP0 output Add flag to turn off OP0 output. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 94ad6de7051a9eb6beda096144c5b409538eab86 Author: Oliver Endriss Date: Sun Apr 20 20:41:42 2008 -0300 V4L/DVB (7660): bsbe1: Use settings recommended by the manufacturer Reworked the BSBE1 tuner support in bsbe1.h to follow the ALPS-recommended parameters more closely. Tested with BSBE1-based Activy cards and TT DVB-S rev 2.3. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit a095be4b030cd7eb5ac2a7dcb86e803db149a8db Author: Andrea Odetti Date: Sun Apr 20 19:14:51 2008 -0300 V4L/DVB (7659): dvb-core: Implement DMX_SET_BUFFER_SIZE for dvr Implementation of DMX_SET_BUFFER_SIZE for dvr. Synchronization of the code of DMX_SET_BUFFER_SIZE for demux and dvr. Signed-off-by: Andrea Odetti Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 48c01a9c2d245b229f8b709040cb1776b00dc683 Author: Andrea Odetti Date: Sun Apr 20 18:37:45 2008 -0300 V4L/DVB (7658): dvb-core: Fix DMX_SET_BUFFER_SIZE in case the buffer shrinks This patch fixes the bug in DMX_SET_BUFFER_SIZE for the demux. Basically it resets read and write pointers to 0 in case they are beyond the new size of the buffer. Signed-off-by: Andrea Odetti Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 3ff9a81b21c673fd91ad8456242ca68922f77ac4 Author: Hartmut Hackmann Date: Sun Apr 13 22:41:19 2008 -0300 V4L/DVB (7656): tda826x: Calculate cut off fequency from symbol rate This patch makes the tuner work with transonders providing higher symbol rates. It was contributed by Oliver Endriss. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit b1c54fe2aed3e2812f5b42916894f15e84b484b5 Author: Hartmut Hackmann Date: Sun Apr 13 21:09:11 2008 -0300 V4L/DVB (7655): tda10086 coding stlye fixes This patch replaces the c++ style comments. No functional changes Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 9a1b04e461fc8127c902a988cd9a082ba0680b11 Author: Hartmut Hackmann Date: Wed Apr 9 23:07:11 2008 -0300 V4L/DVB (7654): tda10086: make the xtal frequency a configuration option Some DVB-S boards, i.e. with the SD1878 tuner, use a 4 MHz reference frequency. This reqires a different setup of the clock PLL. This patch adds an enum to the tda10086_config struct and sets the proper values for the boards. This patch also fixes the DVB-S section of the MD7134_BRIDGE_2 Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit b37f2d6a31fc8e80c79a0a214d83b128aa796543 Author: Devin Heitmueller Date: Mon Apr 21 07:02:09 2008 -0300 V4L/DVB (7653): tuner-xc2028: drop the severity of version reporting tuner-xc2028.c - Drop the severity level of the xc3028 version reporting, since it's only of interest to developers and user's don't need to have it show up in their dmesg output every time they change the channel. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 4269a8eed210d143298baf80185317fc1dcb25ca Author: Devin Heitmueller Date: Mon Apr 21 07:01:09 2008 -0300 V4L/DVB (7652): em28xx: Drop the severity level of the "urb resubmit failed" em28xx-core.c - Drop the severity level of the "urb resubmit failed" to debug, since it occurs every time a stream disconnects, which fills the dmesg log Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 33e5316113b1a472f54579f014739e4a4a53d704 Author: Mauro Carvalho Chehab Date: Mon Apr 21 06:58:48 2008 -0300 V4L/DVB (7651): tuner-xc2028: Several fixes to SCODE This patch fixes several issues on SCODE: 1) The extracting tool weren't generating the proper tags for SCODE. This has almost no effect, since those tags shouldn't be used; 2) DIBCOM52 were using a wrong IF. It should be 5200, instead of 5700; 3) seek_firmware were wanting an exact match for firmware type. This is wrong. As result, no SCODE firmware were loaded; 4) A few files were including the wrong file for seeking demod firmwares; 5) XC3028_FE_DEFAULT can be used, if user doesn't want to load a firmware. However, this weren't documentated. This feature require more testing. Signed-off-by: Mauro Carvalho Chehab commit d1e0b57162f45bb9c6bff25aa33b6e8424556422 Author: Andrew Morton Date: Thu Apr 17 22:16:31 2008 -0300 V4L/DVB (7650): git-dvb: Kconfig fix Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit ce89cfb4908bcebba3fb0cd2956d676e06043ef1 Author: Steven Toth Date: Sat Apr 19 01:36:06 2008 -0300 V4L/DVB (7648): cx23885: Load any module dependencies accordingly For boards that require the avcore (cx25840) to be active, ensure it gets loaded. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit a780a31cee55e01e7b479244e7907ba842c120a0 Author: Steven Toth Date: Sat Apr 19 01:25:52 2008 -0300 V4L/DVB (7647): Add support for the Hauppauge HVR-1700 digital mode This adds support for DVB-T mode only, analog is not supported. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 2770b7d7136f9c6a51ae7fd1d29fa58caf2bcf1c Author: Steven Toth Date: Sat Apr 19 01:18:47 2008 -0300 V4L/DVB (7646): cx25840: Ensure GPIO2 is correctly set for cx23885/7/8 based products cx25840: Ensure GPIO2 is correctly set for cx23885/7/8 based products. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit b3ea01668907bdb32b0c690d28f9f2b1298bd258 Author: Steven Toth Date: Sat Apr 19 01:14:19 2008 -0300 V4L/DVB (7645): Add support for the Hauppauge HVR-1200 This adds support for DVB-T mode only, analog mode is not supported. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 7bbb1ce4f3e517666ad27f3307d49bb2da69ffec Author: Steven Toth Date: Sat Apr 19 01:06:25 2008 -0300 V4L/DVB (7644): Adding support for the NXP TDA10048HN DVB OFDM demodulator Adding support for the NXP TDA10048HN DVB OFDM demodulator Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6b92b3bd7ac91b7e255541f4be9bfd55b12dae41 Author: Steven Toth Date: Sat Apr 5 16:45:57 2008 -0300 V4L/DVB (7642): cx88: enable radio GPIO correctly cx88: enable radio GPIO correctly. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit ce96d0a44a4f8d1bb3dc12b5e98cb688c1bc730d Author: Kay Sievers Date: Thu Apr 17 22:55:29 2008 -0300 V4L/DVB (7641): V4L: ov511 - use usb_interface as parent, not usb_device The current code creates a bogus DEVPATH: /devices/pci0000:00/0000:00:1d.0/usb1/1-2/video4linux/video0 while it should be: /devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.0/video4linux/video0 Signed-off-by: Kay Sievers Signed-off-by: Mauro Carvalho Chehab commit 353a2761ffb3c4f43ec0c9c99bbe64629646b347 Author: Mauro Carvalho Chehab Date: Fri Apr 18 22:24:01 2008 -0300 V4L/DVB (7639): au8522: fix a small bug introduced by Checkpatch cleanup Signed-off-by: Mauro Carvalho Chehab commit 18d73c58b5ea7425db05b666408f6f682d837b73 Author: Mauro Carvalho Chehab Date: Fri Apr 18 22:12:52 2008 -0300 V4L/DVB (7638): CodingStyle fixes for au8522 and au0828 Signed-off-by: Mauro Carvalho Chehab commit bbdf855b0e98ba576b3577522af5e5c7503c4ed0 Author: Steven Toth Date: Thu Apr 17 22:30:22 2008 -0300 V4L/DVB (7637): au0828: Typo au0828: Typo Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 805caff5a83679a6be6c90787462cb3e4b58e374 Author: Steven Toth Date: Thu Apr 17 21:47:11 2008 -0300 V4L/DVB (7636): au0828: Add HVR850 model number au0828: Add HVR850 model number Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 37be1ea40e42c0de63cedbe65d35cbe6c2a81c0a Author: Steven Toth Date: Thu Apr 17 21:45:08 2008 -0300 V4L/DVB (7635): au8522: Cleanup au8522: Cleanup Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit a9c36aad59a06df199cdbb365d0b05663f8008f1 Author: Steven Toth Date: Thu Apr 17 21:41:28 2008 -0300 V4L/DVB (7634): au0828: Cleanup au0828: Cleanup Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 0daa5de740c65de7c9554071eec84c6731370065 Author: Michael Krufky Date: Thu Apr 10 04:24:56 2008 -0300 V4L/DVB (7633): au8522: consolidate mse2snr_lookup functions consolidate au8522_qam256_mse2snr_lookup, au8522_qam64_mse2snr_lookup and au8522_vsb_mse2snr_lookup into a single function, au8522_mse2snr_lookup. Pass the mse2snr table into au8522_mse2snr_lookup depending on the modulation type. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f01699b482875bf224a907a45d58e8e3739d554b Author: Steven Toth Date: Thu Apr 10 02:01:48 2008 -0300 V4L/DVB (7632): au8522: Added SNR support and basic cleanup au8522: Added SNR support and basic cleanup Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit fb8152cb01dc2bca04a6ee561920d0a02af6c73b Author: Michael Krufky Date: Sat Apr 5 23:13:05 2008 -0300 V4L/DVB (7631): au8522: add function au8522_read_mse add function au8522_read_mse, which will be used to compute snr TO DO: mse2snr Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8973dc4b70c5506596207da3fddab03002357178 Author: Michael Krufky Date: Sat Apr 5 23:08:08 2008 -0300 V4L/DVB (7630): au8522: fix au8522_read_ucblocks for qam ucblocks are reported in separate registers for vsb & qam Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ce1719a61c7c0ac40c6244e6b354181dde27062d Author: Michael Krufky Date: Wed Apr 2 18:59:48 2008 -0300 V4L/DVB (7629): au8522: replace __FUNCTION__ with __func__ replace __FUNCTION__ with __func__ and clean associated checkpatch.pl warnings. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e059b0fac7d9df8bf759d7092a16221f0fd250e8 Author: Michael Krufky Date: Wed Apr 2 18:59:48 2008 -0300 V4L/DVB (7628): au8522: codingstyle cleanups Fixed some checkpatch.pl warnings Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f07e8e4bb790f6cb462d5d5425193cad874ac0de Author: Michael Krufky Date: Fri Apr 18 21:42:30 2008 -0300 V4L/DVB (7627): au0828: replace __FUNCTION__ with __func__ replace __FUNCTION__ with __func__ and clean associated checkpatch.pl warnings. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fdfc7452f17eb65eb29a143cf992ea2b8d262c7a Author: Michael Krufky Date: Wed Apr 2 18:59:48 2008 -0300 V4L/DVB (7626): Kconfig: VIDEO_AU0828 should select DVB_AU8522 and DVB_TUNER_XC5000 VIDEO_AU0828 should select DVB_AU8522 and DVB_TUNER_XC5000 if !DVB_FE_CUSTOMIZE Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bc3c613cef903e73e7365986a1943b0124350018 Author: Steven Toth Date: Fri Apr 18 21:39:11 2008 -0300 V4L/DVB (7625): au0828: Cleanup Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 9c26de555dd3c2cb9833b4d324150aa6b5547b91 Author: Steven Toth Date: Wed Apr 2 01:10:40 2008 -0300 V4L/DVB (7624): Avoid an oops if the board is not fully defined Avoid an oops if the board is not fully defined. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit c32d4d7510ae4da4e83bbd6e6471b04e9c9108ea Author: Steven Toth Date: Tue Apr 1 01:27:41 2008 -0300 V4L/DVB (7623): Scripts to maintain the CARDLIST file Scripts to maintain the CARDLIST file. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 28930fa9af9be77abe3d8bce3193908bf266efc6 Author: Steven Toth Date: Sat Mar 29 19:53:07 2008 -0300 V4L/DVB (7622): HVR950Q Hauppauge eeprom support HVR950Q Hauppauge eeprom support. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 265a6510629ab39f33ece43a857089dd37978184 Author: Steven Toth Date: Fri Apr 18 21:34:00 2008 -0300 V4L/DVB (7621): Add support for Hauppauge HVR950Q/HVR850/FusioHDTV7-USB Including support for the AU0828 USB Bridge. Including support for the AU8522 ATSC/QAM Demodulator. Including support for the AU8522 ATSC/QAM Demodulator. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit c8234ea37fb8b7a904223672edf36d269ea569a2 Author: Steven Toth Date: Sat Mar 29 18:15:33 2008 -0300 V4L/DVB (7620): Adding support for a new i2c bridge type Adding support for a new i2c bridge type Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit e77ebdaa927a9e1b6a2e46086f6ca9a445cd0b88 Author: Mauro Carvalho Chehab Date: Fri Apr 18 18:37:25 2008 -0300 V4L/DVB (7619): em28xx: adds proper demod IF for HVR-900 Thanks to Aidan Thornton for helping to test this firmware Signed-off-by: Mauro Carvalho Chehab commit e54318e5a41cfe10325ae2f817d337beb84e79aa Author: Mauro Carvalho Chehab Date: Fri Apr 18 18:34:31 2008 -0300 V4L/DVB (7618): em28xx: make some symbols static Signed-off-by: Mauro Carvalho Chehab commit e9888a1330402050e596b2553e7009fe371c42be Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:49:59 2008 -0300 V4L/DVB (7617): Removes a manual mode setup The setup is already done at open(). Signed-off-by: Mauro Carvalho Chehab commit e3569abc1c51d24f9c64b214f85477e490b156e3 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:49:20 2008 -0300 V4L/DVB (7616): em28xx-dvb: Properly selects digital mode at the right place The driver should be switched to digital mode, when trying to access the frontend or when streaming. This patch provides the correct code to support this feature. Signed-off-by: Mauro Carvalho Chehab commit c67ec53f8f4e90ebd482789e2f6d121f41a0bd90 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:48:00 2008 -0300 V4L/DVB (7615): em28xx: Provide the proper support for switching between analog/digital Before this patch, HVR900/HVR950 were incorreclty going back to analog. The result is that only digital were working. This patch provides the proper setup for analog/digital and tuner callback. It also properly resets analog into a sane state at open(). Thanks to Steven Toth and Michael Krufky for helping to set the proper parameters to GPO/GPIO em2883 ports. Signed-off-by: Mauro Carvalho Chehab commit 82ac4f876505615ba9dc6a73cd9a584bad8fe23f Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:46:14 2008 -0300 V4L/DVB (7614): em28xx-core: fix some debug printk's that wrongly received KERN_INFO Those printk's were adding more info to a line that were already being printed. Signed-off-by: Mauro Carvalho Chehab commit 41facaa4b63cc1a0ff5a900149a29942d47e1491 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:44:58 2008 -0300 V4L/DVB (7613): em28xx: rename registers Now, all registers will follow the same convension: EM28XX_R_ This allows to associate a register with its value, and also with a canonical name. Also, registers that are specific to a given chip were renamed accordingly, as EM2800_foo (for 2800 only registers) or EM2880_foo (for registers that started to appear on em2880). Signed-off-by: Mauro Carvalho Chehab commit 7e26ca8012a8392c5e53055b8ff3d9512faee6c6 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:43:38 2008 -0300 V4L/DVB (7612): em28xx-cards: use register names for GPIO/GPO Before this patch, registers 0x04 and 0x08 were referenced by its value. This is bad, since makes harder for someone to understand what this is doing. This patch renames those two registers into an appropriate name. Signed-off-by: Mauro Carvalho Chehab commit 2ba890ec0849b222a6dabb5192ccd8fd1696d6d3 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:42:58 2008 -0300 V4L/DVB (7611): em28xx: Move registers to a separate file em28xx.h contains lots of different stuff inside. The better is to break it on some files. This patch removes the register names, moving them to a separate file. Signed-off-by: Mauro Carvalho Chehab commit 89b329ef9d7cc16ed46fc991b21b2d45e7bf452c Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:42:14 2008 -0300 V4L/DVB (7610): em28xx: Select reg wait time based on chip ID This is more conservative than just removing the msleep() from em28xx_write_regs_req(), since some old hardware may still need it. So, it will remove the sleep time only for those chips where this removal were tested. Signed-off-by: Mauro Carvalho Chehab commit 7640ea99339c687864f6131598e2eee2ca73cb9c Author: Devin Heitmueller Date: Thu Apr 17 21:41:23 2008 -0300 V4L/DVB (7609): em28xx-core: speed-up firmware load em28xx-core.c: - Remove sleep in i2c message routine which slows down i2c by a factor 10x. Load time for BASE firmware went from 13s to .973s Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 83244025e70aadd7e8baad520decf5d53d534d8f Author: Devin Heitmueller Date: Thu Apr 17 21:41:16 2008 -0300 V4L/DVB (7608): em28xx-dvb: Some cleanups and fixes em28xx-dvb.c: - Remove unneeded xc3028_ctrl structure. The driver automatically preserves the previous value tuner-xc2028.c: - Make the return type for xc2028_get_reg signed, since all of the callers are looking for "< 0" to detect errors. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 6ea54d938b6f81baa0952a8b15d3e67e6c268b8f Author: Douglas Schilling Landgraf Date: Thu Apr 17 21:41:10 2008 -0300 V4L/DVB (7607): CodingStyle fixes Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit e6a353b0dc2686ae04805919e7a22430d2f1e29e Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:41:00 2008 -0300 V4L/DVB (7606): em28xx-dvb: Program GPO as well Signed-off-by: Mauro Carvalho Chehab commit 92b75ab0752636802da9a63093dcbbe296ec1fef Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:40:53 2008 -0300 V4L/DVB (7605): tuner-xc3028: Avoids too much firmware reloads xc3028_sleep function is being used with a different meaning. This should be called only before doing S1/S3 sleep. Signed-off-by: Mauro Carvalho Chehab commit 102a0b0879a01a413ed5f667f7db9c2085ca8474 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:40:45 2008 -0300 V4L/DVB (7604): em28xx-dvb: Fix analog mode The analog entries are wrong. Fix it. Signed-off-by: Mauro Carvalho Chehab commit 3421b7787a2cf41ac5edce9b5766bddd1e1d9986 Author: Aidan Thornton Date: Thu Apr 17 21:40:36 2008 -0300 V4L/DVB (7603): em28xx-dvb: don't use videobuf-dvb Modifies em28xx-dvb not to use videobuf-dvb, but instead to include the code for registering dvb devices locally and use the URB management code in the em28xx driver directly. DVB data streaming should now work. Signed-off-by: Aidan Thornton Signed-off-by: Mauro Carvalho Chehab commit 579f72e44fb1c991352f44c20b471c3001357f68 Author: Aidan Thornton Date: Thu Apr 17 21:40:16 2008 -0300 V4L/DVB (7602): em28xx: generalise URB setup code Move the URB setup and management code to em28xx-core.c and generalise it slighlty so that the DVB code can use it. Signed-off-by: Aidan Thornton Signed-off-by: Mauro Carvalho Chehab commit 7e6388a1b97cca57a1906df6104feb4001721576 Author: Aidan Thornton Date: Thu Apr 17 21:40:03 2008 -0300 V4L/DVB (7601): em28xx-dvb: add support for the HVR-900 Adds the correct GPIOs and demod attach code for the HVR-900 Signed-off-by: Mauro Carvalho Chehab commit d2d9fbfd732f49999a2a94f2479934488fe3ea9d Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:38:53 2008 -0300 V4L/DVB (7600): em28xx: Sets frequency when changing to analog mode This will make tuner-xc2028 to change to analog, if needed. Signed-off-by: Mauro Carvalho Chehab commit 52284c3e47bf502aaff72ab2ede509193b628b1b Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:38:38 2008 -0300 V4L/DVB (7599): em28xx-dvb: videobuf callbacks are waiting for em28xx_fh Thanks to Devin Heitmueller for pointing this issue. Signed-off-by: Mauro Carvalho Chehab commit bdfbf9520372daf2b4d6941474c92310848ccb27 Author: Devin Heitmueller Date: Thu Apr 17 21:38:27 2008 -0300 V4L/DVB (7598): em28xx: several fixes on gpio programming em28xx-cards.c: - Fix reversed val/rst values in both analog_gpio and digital_gpio vectors - Fix crash that would was occurring during every analog startup while looping over gpio_ctl - Remove what appears to be a redundant setting of gpio_ctl->val - Don't use OREN538 demodulation for the HVR-950 (prevents ATSC scanning from working) em28xx-dvb.c: - Tuner should be in digital mode when issuing the reset - Add copyright - Change struct definition (corresponds to fix in em28xx-cards.c for gpio_ctl looping) Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 3ca9c09379e8f3be0744c47f72769457fa46e9f3 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:37:53 2008 -0300 V4L/DVB (7597): em28xx: share the same xc3028 setup for analog and digital modes Thanks to Devin Heitmueller and Aidan Thornton" for pointing some errors with the previous scenario. Signed-off-by: Mauro Carvalho Chehab commit 227ad4ab9058ef2624934183e8083886cf64bf56 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:37:40 2008 -0300 V4L/DVB (7596): em28xx-dvb: Add support for HVR950 This patch adds DVB support for Hauppauge HVR950. Thanks to Michael Krufky for getting those values. Signed-off-by: Mauro Carvalho Chehab commit ee6e3a865a469c78daa93a1e6cdbaca3a102f9c8 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:37:31 2008 -0300 V4L/DVB (7595): Improve generic support for setting gpio values em28xx based devices with xc3028 may require some specific gpio values. This patch adds a generic handling for such values. Signed-off-by: Mauro Carvalho Chehab commit acaa4b609fbab25e09459cd8e842e292b27f5ecb Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:37:18 2008 -0300 V4L/DVB (7594): em28xx: Fix Kconfig Some devices have msp3400 audio decoder chip. Selects it, if em28xx. Signed-off-by: Mauro Carvalho Chehab commit 3aefb79af8d41c85e11da7109d62038849421bb6 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:36:41 2008 -0300 V4L/DVB (7593): em28xx: add a module to handle dvb This patch adds em28xx-dvb. This driver is highly based on cx88-dvb and saa7134-dvb. This code currently loads and unloads successfully. However, some changes are needed to properly support the mpeg streams and to setup em28xx to work on DVB mode. Signed-off-by: Mauro Carvalho Chehab commit 168c626cb8f85df17585af99e14403904641c7ac Author: Julia Lawall Date: Wed Apr 16 16:13:15 2008 -0300 V4L/DVB (7591): drivers/media/video: use time_before, time_before_eq, etc The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9e05c0f0d84c25f7f576ebc22a9a3a2cf962cc58 Author: Ivan Bobyr Date: Wed Apr 16 16:01:55 2008 -0300 V4L/DVB (7590): ir-common: Adds 3 missing IR keys for FlyVIdeo2000 The patch extends the default keymap of FlyVIdeo2000 IR remote control so that this remote may also serve movie & music players in a better way. I bought a SAA7130 TV tuner with a remote control having 3 additional button as the default layout, exactly as: 1) labeled "<<<" : key code 0x19, may be used as "backward"in MPlayer,XMMS etc 2) labeled ">>>" : key code 0x1f, may be used as "forward"... 3) not labeled : key code 0x0a, may be used as "pause"... Once have added these code definitions to the kernel, me got all these operations available for viewing movies & listening music. Signed-off-by : Ivan Bobyr Signed-off-by: Mauro Carvalho Chehab commit 1d3104b819979784df1da6ad76acef33cd9736e4 Author: David Hilvert Date: Wed Apr 16 04:27:09 2008 -0300 V4L/DVB (7589): ibmcam: improve support for the IBM PC Camera Pro This patch modifies Dmitri's original ibmcam driver for Linux to improve support for the IBM PC Camera Pro. It may also offer improved support for other models classified by the driver as 'Model 3', such as the IBM PC Camera Pro Max. See http://auricle.dyndns.org/xvp610/ Signed-off-by: David Hilvert Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 17de9a4e53567912735105e189535f5d83e74a81 Author: Mauro Carvalho Chehab Date: Tue Apr 15 18:11:50 2008 -0300 V4L/DVB (7584): Fix build that occurs when CONFIG_VIDEO_PMS=y and VIDEO_V4L2_COMMON=m This patch removes zoran checks for VIDEO_V4L2, since this API is always present, when V4L is selected. Signed-off-by: Mauro Carvalho Chehab commit 0b9c2b7a413c0e79254f17bbe095cee24885cd4b Author: Alexey Dobriyan Date: Thu Apr 10 21:34:39 2008 -0300 V4L/DVB (7582): proc: switch /proc/driver/radio-typhoon to seq_file interface Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 9faa2d75822e1950b3aacc8ccbdf0cdb595e47de Author: Alexey Dobriyan Date: Sun Apr 13 08:48:43 2008 -0300 V4L/DVB (7580): Fix concurrent read from /proc/videocodecs Observation one: ->write_proc and ->data assignments aren't needed. Removed. Observation two: codecs lists are unprotected. Patch doesn't fix this. Observation three: /proc/videocodecs printout is done to temporary _global_ buffer which is freed in between. Consequently, two users hitting this file can screwup each other. Steps to reproduce: modprobe videocodec while true; do cat /proc/videocodecs &>/dev/null; done & while true; do cat /proc/videocodecs &>/dev/null; done & The fix is switching to seq_files, this removes code, especially some line-length "logic". Signed-off-by: Alexey Dobriyan Acked-by: Jan Kara Signed-off-by: Mauro Carvalho Chehab commit b9bc07a006ae94d7b3dd5db873bcf10ceb749253 Author: Robert Fitzsimons Date: Thu Apr 10 09:40:31 2008 -0300 V4L/DVB (7579): bttv: Fix memory leak in radio_release Fix the leak of the bttv_fh structure allocated in radio_open which was introduced by commit 5cd3955cb8adfc1edf481e9e1cb2289db50ccacb. Signed-off-by: Robert Fitzsimons Signed-off-by: Mauro Carvalho Chehab commit a53a45567cb4879c46bb019757cdeb1b1ecabbd5 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:47:03 2008 -0300 V4L/DVB (7575a): Revert changeset 4c3b01f71181a52ab7735a7c52b1aa2232826075 Due to the patch order change, pvrusb2 were broken. So, changeset 4c3b01f71181a52ab7735a7c52b1aa2232826075 were applied at mainstream to fix. After the pvrusb2 changes, this patch is no longer required and should be reverted. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ca19aaa510b150ca358166b29eb2bb62ad971f76 Author: Patrick Boettcher Date: Sun Apr 13 15:49:22 2008 -0300 V4L/DVB (7569): Added support for SkyStar2 rev2.7 and ITD1000 DVB-S tuner This patches adds support for the SkyStar2 rev2.7 with the PN1010/ITD1000 Frontend. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit c9dd82c2f978e4ebac1cbb7cee8d379d1090154b Author: Patrick Boettcher Date: Sat Mar 29 21:28:07 2008 -0300 V4L/DVB (7471): SkyStar2: preparing support for the rev2.8 Support is prepared, but the CX24113-driver .c-file is missing. After sorting out the NDA problems, the file will be there immediatly. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 11d3f323930ef625c1018ed13adeb04127c356e0 Author: Matthias Schwarzott Date: Sat Apr 12 15:04:50 2008 -0300 V4L/DVB (7575): mt312: add attach-time setting to invert lnb-voltage Add a setting to config struct for inversion of lnb-voltage. Needed for support of Avermedia A700 cards. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 6a5cbd591c703491b62892682adc124ece67f3a9 Author: Matthias Schwarzott Date: Sat Apr 12 15:04:49 2008 -0300 V4L/DVB (7574): mt312: Add support for zl10313 demod Add zl10313 support to mt312 driver. zl10313 uses 10.111MHz xtal. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 111221fb676176dc90638d6004f1c26164ddd5ae Author: Matthias Schwarzott Date: Sat Apr 12 15:04:48 2008 -0300 V4L/DVB (7573): mt312: Supports different xtal frequencies Do not hardcode xtal frequency but allow different values for future zl10313 support. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 82cd2dff4a5562a081c8bbf449a1ae7b9ecb5b1b Author: Matthias Schwarzott Date: Sat Apr 12 15:04:47 2008 -0300 V4L/DVB (7572): mt312: Fix diseqc Correct the frequency of the emitted diseqc signal to 22kHz. Adds sleep(100) to wait for message to be transmitted. For now the only user of mt312 is b2c2-flexcop, and it does overwrite all diseqc related functions with own code. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 1881ee89e0fe03ac5bba9045acb3bea1818f9466 Author: Matthias Schwarzott Date: Sat Apr 12 15:04:46 2008 -0300 V4L/DVB (7571): mt312: Cleanup buffer variables of read/write functions Change type of buffer variables from void* to u8* to save some casts. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit dbad108bdcb30629c850f5606949510da010a686 Author: Patrick Boettcher Date: Sun Apr 13 15:47:53 2008 -0300 V4L/DVB (7568): Support for DVB-S demod PN1010 (clone of S5H1420) added This device is a clone of the PN1010 used by SkyStar2 rev2.7 . This patch adds support for the flexcop-device and makes the driver look a little bit nicer. It needs to be checked whether the driver is still ok for the budget-cards. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 44dc733cd9edac53402d705cd2f720accd0b3e2c Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:11:08 2008 -0300 V4L/DVB (7567): em28xx: Some cleanups Removes some fields from data structs. There are some fields that are just caching some calculus for buffer size. The calculus were moved to the places it were needed and the now unused fields were removed. Signed-off-by: Mauro Carvalho Chehab commit 59d3448995a4c0ca98cbe82f6dac9460323377c1 Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:10:00 2008 -0300 V4L/DVB (7566): videobuf-dvb: allow its usage with videobuf-vmalloc videobuf-dvb were still using a function that were videobuf-dma-sg dependent. This patch creates a generic handler for this function. This way, videobuf-dvb can now work with all videobuf implementations. Signed-off-by: Mauro Carvalho Chehab commit 3b5fa928a6b2971ec65571745defc5d9758b4bc1 Author: Aidan Thornton Date: Sun Apr 13 15:09:36 2008 -0300 V4L/DVB (7565): em28xx: fix buffer underrun handling This patch fixes three related issues and a fourth trivial one: - Use buffers even if no-one's currently waiting for them (fixes underrun issues); - Don't return incomplete/mangled frames at the start of streaming and in the case of buffer underruns; - Fix an issue which could cause the driver to write to a buffer that's been freed after videobuf_queue_cancel is called (exposed by the previous two fixes - for some reason, ignoring buffers that weren't being waited on worked around the issue); - Fix a bug which could cause only one field to be filled in the first buffer (or first few buffers) after streaming is started. Signed-off-by: Aidan Thornton Signed-off-by: Mauro Carvalho Chehab commit b4916f8ca1da71bb97fb6dcf1e8da3f9c64cf80e Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:09:14 2008 -0300 V4L/DVB (7564): em28xx: Some fixes to display logic Signed-off-by: Mauro Carvalho Chehab commit dbecb44c11d9517d604240b53581951ac4e3b5e6 Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:08:55 2008 -0300 V4L/DVB (7563): em28xx: Add missing checks There are some cases where nobody is waiting for a buffer. Due to the lack of check, if you try to abort the userspace app, machine were hanging, since IRQ were trying to use a buffer that were disallocated. Signed-off-by: Mauro Carvalho Chehab commit 0cf4daee31d88086cf3508d1d8d1f4e451c27906 Author: Brandon Philips Date: Fri Mar 28 10:18:33 2008 -0700 V4L/DVB (7562): videobuf: Require spinlocks for all videobuf users A spinlock is necessary for queue_cancel to work with every driver in the tree. Otherwise a race exists between IRQ handlers removing buffers from the queue and queue_cancel invalidating the queue. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit aa9479ed508d78dcd06479dc6274c9b02d1398df Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:07:56 2008 -0300 V4L/DVB (7561): videobuf-vmalloc: stop streaming before unmap Before the patch, there were a risk of freeing and unmapping userspace memory, while there were pending requests. Signed-off-by: Mauro Carvalho Chehab commit d6849652628d3479859ca10bdd4b21024466df5f Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:07:16 2008 -0300 V4L/DVB (7560): videodev: Some printk fixes Signed-off-by: Mauro Carvalho Chehab commit cb7847249f1b2bad201e38c770ef4401c61c022a Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:06:52 2008 -0300 V4L/DVB (7559): em28xx: Fills the entire buffer, before getting another one Signed-off-by: Mauro Carvalho Chehab commit 5e28e00964cdc90dec5ebb4c00dfa2fc1ecf36fa Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:06:24 2008 -0300 V4L/DVB (7558): videobuf: Improve command output for debug purposes Signed-off-by: Mauro Carvalho Chehab commit e9e6040df6c96678d7b776b3902e3b2c6bbfc5a3 Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:05:47 2008 -0300 V4L/DVB (7557): em28xx: honour video_debug modprobe parameter Signed-off-by: Mauro Carvalho Chehab commit 0ea13e6e59853cab9e8ed3ac231ec5d44d8386a6 Author: Aidan Thornton Date: Sun Apr 13 15:02:24 2008 -0300 V4L/DVB (7556): em28xx: fix locking on vidioc_s_fmt_cap Currently, vidioc_s_fmt_cap is allowed even if streaming is running on some other fh. This is likely to cause issues. Block use of vidioc_s_fmt_cap if someone else has claimed access to the device. Signed-off-by: Aidan Thornton Signed-off-by: Mauro Carvalho Chehab commit b957dfdc3161d00b01b52154eb2d53580c8911e5 Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:01:12 2008 -0300 V4L/DVB (7555): em28xx: remove timeout It seems that we don't need a timeout for em28xx. Signed-off-by: Mauro Carvalho Chehab commit a9dbbeb7d615761a82fcd4f00ec290a07be7d8a2 Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:59:29 2008 -0300 V4L/DVB (7554): videobuf-dma-sg: Remove unused flag Signed-off-by: Mauro Carvalho Chehab commit aaea56afc31345e7b0456ebb01586ba627ecd0f8 Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:58:43 2008 -0300 V4L/DVB (7553): videobuf-vmalloc: fix STREAMOFF/STREAMON There were a small bug on videobuf-vmalloc that were preventing STREAMOFF to work. The issue is that vmalloc'ed mmaped memory should only be freed after being sure that there aren't any mmap usage. Otherwise, the memory remap will stop working, and the userspace won't receive any frames. This bug were affecting some userspace applications, like tvtime. After this patch, tvtime started to work again with the drivers that use videobuf-vmalloc. Signed-off-by: Mauro Carvalho Chehab commit 968ced78a53509a996708a14e8b9269d1dc6a61c Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:58:21 2008 -0300 V4L/DVB (7552): videbuf-vmalloc: Corrects mmap code There were some bugs on videobuf-vmalloc. Basically, remap were called with a wrong parameter. Due to that, a later remap were needed, generating the need of some hacks on videobuf-vmalloc and videobuf-core. This patch fixes the remap and removes the hacks. TODO: - V4L2_MEMORY_USERPTR is not implemented yet. This method should be properly implemented, in order to work with a few userspace applications. - The driver also doesn't implement V4L2_MEMORY_OVERLAY. This method is used only by a few applications, and are becaming obsolete, due to the increment of cpu performance. So, most apps prefer to retrieve data to an internal buffer, doing some processing like de-interlacing. Signed-off-by: Mauro Carvalho Chehab commit fbde31d54b729e4aac1d06375d4365318fd88675 Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:57:44 2008 -0300 V4L/DVB (7551): vivi: Add a missing \n Signed-off-by: Mauro Carvalho Chehab commit 0561297501842b5d7e0ca8805084f4d3f97c1078 Author: Brandon Philips Date: Sun Apr 13 14:57:01 2008 -0300 V4L/DVB (7550): em28xx: Fix a possible memory leak I did notice a possible memory leak since iolock is could possibly be called before a buffer has been freed. This ensure s_fmt isn't called while the queue is busy thereby avoiding iolock on already allocated buffers. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 78bb3949a965e8a28e20988e28868429606b3639 Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:56:25 2008 -0300 V4L/DVB (7549): em28xx: some small cleanups - Remove dead code; - Fix a few CodingStyle issues; - Prints frame number, if debug is enabled. Signed-off-by: Mauro Carvalho Chehab commit e0fadfd34dda2205b296b8826acfaaf4df2e022f Author: Aidan Thornton Date: Sun Apr 13 14:56:02 2008 -0300 V4L/DVB (7548): Various fixes for the em28xx videobuf code - Aborting buffer_filled if no-one's waiting on the waitqueue probably isn't what we want, since just because no-one's waiting for it now doesn't mean they wouldn't dequeue it in time. (vivi gets away with this, possibly because it can fill each buffer much faster.) - The first BUG_ON(lencopy <= 0); really isn't worth causing a kernel panic over, especially since there are some reasons why it could trigger in normal use. - The top and botom frames are actually the wrong way around. Signed-off-by: Aidan Thornton Signed-off-by: Mauro Carvalho Chehab commit e74153d44a57d9445fb1dfad7c3accbec6d4a873 Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:55:38 2008 -0300 V4L/DVB (7547): em28xx: Fix a broken lock Signed-off-by: Mauro Carvalho Chehab commit f245e549f0d1fb43fd6d7759d31cd763e6d914b6 Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:41:23 2008 -0300 V4L/DVB (7545): em28xx: Fix CodingStyle errors and most warnings introduced by videobuf The last videobuf changes introduced several CodingStyle errors. Fixes all those errors, as reported by checkpatch.pl Signed-off-by: Mauro Carvalho Chehab commit ca21d2dc945c224c3f121f6b5f2436877f029eed Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:40:36 2008 -0300 V4L/DVB (7544): em28xx: Fix timeout code Signed-off-by: Mauro Carvalho Chehab commit 47625da2ab5e98728cdefbd344fb1493c26769ad Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:40:10 2008 -0300 V4L/DVB (7543): Fix capture start/stop and timeout Also removes the dead restart_video_queue() function Signed-off-by: Mauro Carvalho Chehab commit ea8df7e09d2226c321c234a8f736fdb167a046cb Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:39:29 2008 -0300 V4L/DVB (7542): em28xx: Fix some warnings Signed-off-by: Mauro Carvalho Chehab commit d7aa80207babe694b316a48200b096cf0336ecb3 Author: Aidan Thornton Date: Sun Apr 13 14:38:47 2008 -0300 V4L/DVB (7541): em28xx: Some fixes to videobuf It fixes a couple of minor bugs, comments out a bogus BUG_ON, sets fh->type correctly, uses dev->width and dev->height for now, and adds a missing spinlock init (nasty - caused a system lockup). It also adds some debug code which probably isn't all that useful. I haven't tested this version of the patch yet, though, so I'm not sure what you can expect if you try it. Signed-off-by: Aidan Thornton Signed-off-by: Mauro Carvalho Chehab commit ad0ebb96c220c461386e9a765fca3daf5590d01e Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:37:52 2008 -0300 V4L/DVB (7540): em28xx: convert to use videobuf-vmalloc The usage of videobuf-vmalloc allows to cleanup em28xx logic. Also, it reduced its size by about 5.42% on i386 arch (and about 7.5% on x86_64): 39113 4876 40 44029 abfd old/em28xx.ko 36731 4868 40 41639 a2a7 /home/v4l/master/v4l/em28xx.ko Also, the preliminary tests, made on a single core 1.5 MHz Centrino showed that CPU usage reduced from 42%-75% to 28%-33% (reports from "top") command. A test with time command presented an even better result: This is the performance tests I did, running code_example to get 1,000 frames @29.995 Hz (about 35 seconds of stream), tested on a i386 machine, running at 1,5GHz: The old driver: $ time -f "%E: %Us User time, %Ss Kernel time, %P CPU used" ./capture_example 0:34.21: 8.22s User time, 25.16s Kernel time, 97% CPU used The videobuf-based driver: $ time -f "%E: %Us User time, %Ss Kernel time, %P CPU used" ./capture_example 0:35.36: 0.01s User time, 0.05s Kernel time, 0% CPU used Conclusion: The time consumption to receive the stream where reduced from about 33.38 seconds to 0.05 seconds. Signed-off-by: Mauro Carvalho Chehab commit 78e92006f410a4044f8c1760c25ac9d11d259aa2 Author: Janne Grunau Date: Wed Apr 9 19:13:13 2008 -0300 V4L/DVB (7538): Adds selectable adapter numbers as per module option The adapter_nr module options can be used to allocate static adapter numbers on a driver level. It avoids problems with changing DVB apapter numbers after warm/cold boot or device unplugging and repluging. Each driver holds DVB_MAX_ADAPTER long array of the preferred order of adapter numbers. options dvb-usb-dib0700 adapter_nr=7,6,5,4,3,2,1,0 would result in a reversed allocation of adapter numbers. With adapter_nr=2,5 it tries first to get adapter number 2 and 5. If both are already in use it will allocate the lowest free adapter number. Signed-off-by: Janne Grunau Acked-by: Hermann Pitton Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9950c1b5b4b86d4aae12853c2f0a0ef11d976764 Author: Mauro Carvalho Chehab Date: Fri Apr 11 11:29:44 2008 -0300 V4L/DVB (7537): cx88/saa7134: Fix: avoid OOPS on module unload If frontend is not attached, both cx88-dvb and saa7134-dvb don't register DVB. However, dvb unregister were inconditionally called. Due to that, an OOPS is generated. Signed-off-by: Mauro Carvalho Chehab commit fb7b37cf913c19dbdbb9bf3e653924e126b4007e Author: Hans Verkuil Date: Wed Apr 9 06:26:17 2008 -0300 V4L/DVB (7535): saa717x: add new audio/video decoder i2c driver Added the last remaining out-of-tree kernel driver from the ivtv project. The saa717x is used in several Japanese cards and a Russian card. The driver is not complete in that only NTSC is supported and no PAL/SECAM. Hopefully this will be added in the future. Signed-off-by: Takahiro Adachi Signed-off-by: Kyuma Ohta Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b38bf410fed223a48482e499150d4b554526a13a Author: Hans Verkuil Date: Mon Apr 7 08:32:14 2008 -0300 V4L/DVB (7534): ivtv: the upd* modules have to be probed to properly autodetect some cards Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit faea4d2ab2d4710f87739fd53b5c13ca7a7d34aa Author: Oliver Endriss Date: Wed Apr 9 17:49:55 2008 -0300 V4L/DVB (7532): budget: Add support for Fujitsu Siemens DVB-T Activy Budget Implement support for Fujitsu Siemens DVB-T Activy Budget, sub-system id 0x1131:0x5f61. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit c4e3bcb688dd561ae219a957e0d924f718335cab Author: Christoph Pfister Date: Wed Apr 9 17:37:36 2008 -0300 V4L/DVB (7531): budget-av: Fix CI interface on (some) KNC1 DVBS cards Quoting the commit introducing reinitialise_demod (3984 / by adq): "These cards [KNC1 DVBT and DVBC] need special handling for CI - reinitialising the frontend device when the CI module is reset." Apparently my 1894:0010 also needs that fix, because once you initialise CI/CAM you lose lock. Signed-off-by: Christoph Pfister Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 8727073beff795ec0c9cb18833431d0b606f8264 Author: Christoph Pfister Date: Wed Apr 9 17:34:09 2008 -0300 V4L/DVB (7530): budget-av: Fix support for certain cams The current ci implementation doesn't accept 0xff when reading data bytes (address == 0), thus breaks cams which report a buffer size of 0x--ff like my orion one. Remove the 0xff check altogether, because validation is really the job of a higher layer. Signed-off-by: Christoph Pfister Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit d5a50e498603f5fa78e0373c389e2d2c3c13d709 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7529): media/video/zc0301 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4126a8f5c209ba8138619311c1c8e73d361d9700 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7528): media/video/usbvideo replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a79d13b3aa0226630ee639e6a2e98a4bda1afd4d Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7527): media/video/sn9c102 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5016381c33d63f23c43416b9c8421b1eeaa1b515 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7526): media/video/saa7134 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 645635b002311fafffd1b8f4e2e8200639fb7629 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7525): media/video/pwc replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 12aa67a63d2bf4e6500af6b2de40d18fa0bc1360 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7524): media/video/ovcamchip replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 22cc065bad19b0a19adecdc753ded7a7b0c752fa Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7523): media/video/et61x251 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d80e134dc8e7e078248f7966a6884858f7ab185f Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7522): media/video/em28xx replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 32d83efc1c9e290b3d4627c6ec40529eafa89b46 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7521): media/video/cx88 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 22b4e64f0a119e94090ef45285a5c311f1f6855f Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7520): media/video/cx23885 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 94205c7a48b637ae60bd69ac4cc16743a6dddd09 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7519): media/video/cpia2 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7e28adb2497f6b873516163e2d29210c11777613 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7518): media/video/ replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e9815ceea9733dfb236629f5b72f2e6486f66242 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7517): media/dvb/ttusb-dec replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fb9393b519fb27714d14625bc3042b669933e81a Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7516): media/dvb/ttusb-budget replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3ca7fc84e37c5cf446fe4137f885f74e71373d7f Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7515): media/dvb/ttpci replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Acked-by: Oliver Endriss Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 271ddbf702c3a4e6b18f6464180eda0f62efd9a5 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7514): media/dvb/frontends replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Acked-by: Oliver Endriss Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 708bebdd3922c6f346b8540f93c73f006d2b947b Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7513): media/dvb/dvb-usb replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 46b4f7c176a2dd4c60ddb7c80bd09ea2f3220674 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7512): media/dvb/dvb-core replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Acked-by: Oliver Endriss Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0592e8d3485c4976eaa6db8084e00b0132a34d7e Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7511): media/dvb/cinergyT2 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b2e62e7cdb8022087ae2def06f8023c9f5d3b411 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7510): media/dvb/bt8xx replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7bca4498f6ec331c2ace79824da8687ad35cd65c Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7509): media/dvb/b2c2 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 536a0b119527c8af8e3a70b18f7640a21039a0a7 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7508): media/common/ replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Acked-by: Oliver Endriss Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fc9d8ed418619da915ad8a225fa974d813d0ca34 Author: Matthias Schwarzott Date: Tue Apr 8 21:45:08 2008 -0300 V4L/DVB (7507): saa7134: add analog support for Avermedia A700 cards Add support for composite and s-video inputs on Avermedia DVB-S Pro and DVB-S Hybrid+FM cards (both labled A700) to the saa7134 driver. XC2028 support for Hybrid+FM is still missing. Signed-off-by: Matthias Schwarzott Reviewed-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit ba928034df7e8b603152c896a2f84f9b12e8c290 Author: Dâniel Fraga Date: Tue Apr 8 19:56:44 2008 -0300 V4L/DVB (7506): Powercolor Real Angel 330 (remote control support) The attached patch adds complete remote control support for Powercolor Real Angel 330. Signed-off-by: Daniel Fraga Signed-off-by: Mauro Carvalho Chehab commit ab364983087152e53676d914141f30e83ead12ff Author: Dâniel Fraga Date: Tue Apr 8 19:54:49 2008 -0300 V4L/DVB (7505): Powercolor Real Angel 330 (fixes gpio references) The attached patch fixes gpio references for Powercolor Real Angel 330. Signed-off-by: Daniel Fraga Signed-off-by: Mauro Carvalho Chehab commit df18c3196a1ec1db7a20997d3246a5a8cf535a77 Author: Thierry MERLE Date: Fri Apr 4 21:00:57 2008 -0300 V4L/DVB (7503): usbvision: rename __PRETTY_FUNCTION__ occurrences __PRETTY_FUNCTION__ has no sense in C lang context. Rename it as __func__ Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit d2db42dd4eb53b86a40b96b0b12a7b2d12377bdd Author: Harvey Harrison Date: Fri Apr 4 20:50:07 2008 -0300 V4L/DVB (7502): v4l: video/usbvision replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 1a0063a9852380190a7172c1a1cb79e934b06cd4 Author: Guennadi Liakhovetski Date: Fri Apr 4 13:46:34 2008 -0300 V4L/DVB (7501): soc-camera: use a spinlock for videobuffer queue All drivers should provide a spinlock to be used in videobuf operations. Signed-off-by: Guennadi Liakhovetski Reviewed-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit b8d9904c3525c0a149976ffaad48fcb03e8703f7 Author: Guennadi Liakhovetski Date: Fri Apr 4 13:41:25 2008 -0300 V4L/DVB (7500): soc-camera: extract function pointers from host object into operations Function pointers and the driver owner are not expected to change throughout soc-camera host's life. Extract them into an operations struct. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit ce54093cefd64c1a2cb6b8c5ed1d68d2bd7a34ab Author: Brandon Philips Date: Wed Apr 2 18:10:59 2008 -0300 V4L/DVB (7494): videobuf-dma-sg.c: Avoid NULL dereference and add comment about backwards compatibility Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 137d1cb19d9da163ce6cb57a6fa1e6a3468af6a4 Author: Brandon Philips Date: Wed Apr 2 18:10:59 2008 -0300 V4L/DVB (7493): videobuf: Avoid deadlock with QBUF and bring up to spec for empty queue Add a waitqueue to wait on when there are no buffers in the buffer queue. DQBUF waits on this queue without holding vb_lock to allow a QBUF to happen. Once a buffer has been queued we recheck that the queue is still streaming and wait on the new buffer's waitqueue while holding the vb_lock. The driver should come along in a timely manner and put the buffer into its next state finishing the DQBUF. By implementing this waitqueue it also brings the videobuf DQBUF up to spec and it now blocks on O_NONBLOCK even when no buffers have been queued via QBUF: "By default VIDIOC_DQBUF blocks when no buffer is in the outgoing queue." - V4L2 spec Signed-off-by: Brandon Philips CC: Trent Piepho CC: Carl Karsten CC: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 78718e5d44cd450431d5b16ee36d3a7de1db6dfa Author: Brandon Philips Date: Wed Apr 2 18:10:59 2008 -0300 V4L/DVB (7492): vivi: Simplify the vivi driver and avoid deadlocks vivi previously had a very complex queuing system and held spinlocks while doing copy_to_user, kmalloc, etc. This caused the driver to easily deadlock when a multi-threaded application used it and revealed bugs in videobuf too. This replaces the copy_to_user with memcpy since we were never copying to user space addresses. And makes the kmalloc atomic. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit aa9dbac426d263b5b86d1684993d18ae187d7588 Author: Brandon Philips Date: Wed Apr 2 18:10:59 2008 -0300 V4L/DVB (7491): vivi: make vivi openable only once vivi currently doesn't have the infrastructure to handle being opened more than one time and will crash if it is. So, make it openable only once. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit cbcb565f74cf01d680f83af531490bb2c5375af0 Author: Brandon Philips Date: Wed Apr 2 18:10:59 2008 -0300 V4L/DVB (7489): videobuf-vmalloc.c: Remove buf_release from videobuf_vm_close Remove the buf_release on vm_close because it will lead to a buffer being released multiple times since all buffers are already freed under the two possible cases: device close or STREAMOFF. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 009a90597e177320e47154dd0817d201f52bcd46 Author: Brandon Philips Date: Wed Apr 2 18:10:59 2008 -0300 V4L/DVB (7488): videobuf: Simplify videobuf_waiton logic and possibly avoid missed wakeup Possible missed wakeup- use kernel helpers for wait queues http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg27983.html Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit b608f4323a0e0440d18fa13aea3db98351137487 Author: Brandon Philips Date: Wed Apr 2 18:10:57 2008 -0300 V4L/DVB (7487): videobuf: Wakeup queues after changing the state to ERROR The waitqueues must be woken up every time state changes. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 8eb8ff3870ede23b2328ef376023a3542efcb9a5 Author: Michael Krufky Date: Sun Mar 30 17:00:45 2008 -0300 V4L/DVB (7483): tuner-simple: fix broken build dependency tuner-simple is the only module that uses tuner-types - these will be merged to a single module in the future. For now, build both of them if TUNER_SIMPLE is selected. This fixes the following build warning, if tuner-simple is selected without tuner-types: WARNING: "tuner_count" [tuner-simple.ko] undefined! WARNING: "tuners" [tuner-simple.ko] undefined! Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c735372f5df2dc7b67080881bdc613d199173abf Author: Michael Krufky Date: Sun Mar 30 19:40:20 2008 -0300 V4L/DVB (7481): tda18271: fix standard map debug Show IF level and rf agc top settings in standard map dumps. Dump standard map during attach if DBG_MAP or DBG_ADV is set. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 762250f884cb927c7f1da4e24052ec43e000d53f Author: Adrian Bunk Date: Sun Mar 30 23:29:02 2008 -0300 V4L/DVB (7480): make sn9c102_i2c_try_write() static This patch makes the needlessly global sn9c102_i2c_try_write() static. Signed-off-by: Adrian Bunk CC: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit d9aedf1fe88c04500fec269557a968e3320dd4b8 Author: Adrian Bunk Date: Sun Mar 30 23:28:59 2008 -0300 V4L/DVB (7479): proper prototype for zoran_device.c:zr36016_write() This patch adds a proper prototype for zr36016_write() in drivers/media/video/zoran_card.h Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 5da4e2c645e4324f63fd87a0f93e3d0ad6619798 Author: Darryl Green Date: Sat Mar 29 21:47:43 2008 -0300 V4L/DVB (7476): New USB ID for Leadtek DVB-T USB Detect Leadtek Winfast USB DTV Dongle with ID of 0x6f01 Signed-off-by: Darryl Green Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit dc88807ed61ed0fc0d57bd80a92508b9de638f5d Author: Alexander Simon Date: Sat Mar 29 21:37:54 2008 -0300 V4L/DVB (7475): Added support for Terratec Cinergy T USB XXS Alexander Simon found out that the Terratec Cinergy T USB XXS is just a clone of another DiB7070P-based device. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 58e6f95e613b37372a58fd504646ae1b1964c2ed Author: Patrick Boettcher Date: Sat Mar 29 21:37:01 2008 -0300 V4L/DVB (7474): support key repeat with dib0700 ir receiver This patch enables support for repeating last event when a key is holded down with dib0700 devices. It works with rc5 and nec remotes. It also fixes an annoying bug that floods kernel log with "Unknown key" messages after each keypress. This happened because the driver was not resetting infrared register after each poll so it kept polling last key even if nothing was being pressed. Fixing this, (calling rc_setup after each poll), permits to implement key repeat. Signed-off-by: Filippo Argiolas Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 6ca8f0b97473dcef3a754bab5239dcfcdd00b244 Author: Albert Comerma Date: Sat Mar 29 21:35:57 2008 -0300 V4L/DVB (7473): PATCH for various Dibcom based devices This patch introduces support for dvb-t for the following DiBcom based cards: - Terratec Cinergy HT USB XE (USB-ID: 0ccd:0058) - Terratec Cinergy HT Express (USB-ID: 0ccd:0060) - Pinnacle 320CX (USB-ID: 2304:022e) - Pinnacle PCTV72e (USB-ID: 2304:0236) - Pinnacle PCTV73e (USB-ID: 2304:0237) - Yuan EC372S (USB-ID: 1164:1edc) Signed-off-by: Hans-Frieder Vogt Signed-off-by: Felix Apitzsch Signed-off-by: Antti Palosaari Signed-off-by: Albert Comerma Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8c899bce2a5540b19e86dd3b355e5699657da144 Author: Andre Weidemann Date: Sat Mar 29 21:30:49 2008 -0300 V4L/DVB (7472): reworked patch to support TT connect S-2400 Added support for Technotrend connect S-2400. Signed-off-by: Andre Weidemann Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit ca06fa79a5babc21f0240979e5b1dd34dcc3c6e4 Author: Patrick Boettcher Date: Sat Mar 29 21:01:12 2008 -0300 V4L/DVB (7470): CX24123: preparing support for CX24113 tuner To support a new device based on CX24123 (using the CX24113-tuner) the following was done: - added two parameters to de-select the internal PLL-driver (for CX24108) and a AGC-function callback. - added a virtual i2c-adapter which allow simple access behind the i2c-gate - cleanup up some code Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 6394cf53abc0b3a2db9e8b947ef5c77b16861ec8 Author: Patrick Boettcher Date: Sat Mar 29 20:49:57 2008 -0300 V4L/DVB (7469): Preparation for supporting new devices, cleanup and saneness To prepare the support for new device to the flexcop-family some preparation and cleanups was done + some saneness: - created an i2c-adapter for each i2c-port available. Easier usage for devices with several device on different i2c-busses - initialize i2c before doing the eeprom read - changed the way to attach the different frontends, easier to read now - enabled support for i2c-devices having no register address (1-byte access) Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 0b5afdd2ea5f52d260d1e42d43fb0fa09ec0da2f Author: Frej Drejhammar Date: Sun Mar 23 22:43:25 2008 -0300 V4L/DVB (7463): cx88: Enable color killer by default An enabled color killer will not degrade picture quality for color input signals, only suppress bogus color information on black-and-white input. Therefore enable it by default. Signed-off-by: Frej Drejhammar Signed-off-by: Mauro Carvalho Chehab commit d69b2e41a5f6d934d01cc62f314697a60356b466 Author: Mauro Carvalho Chehab Date: Tue Apr 1 20:30:24 2008 -0300 V4L/DVB (7462): bttv: Fix some API non-compliances for some audio/input V4L2 calls Thanks to Cyrill Gorcunov for pointing this Signed-off-by: Mauro Carvalho Chehab commit 7bf9746d936740f9797c810ad75411a6cdeb9f2f Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Mar 27 23:51:05 2008 -0300 V4L/DVB (7459): Test cmd, not definition in decoder_command(), drivers/media/video/zoran_device.c include/linux/video_decoder.h: 34:#define DECODER_SET_NORM _IOW('d', 3, int) 35:#define DECODER_SET_INPUT _IOW('d', 4, int) untested, please confirm it's right. Test cmd value, not definition of DECODER_SET_INPUT Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mauro Carvalho Chehab commit 95a2fdb6f78c020026b4fa82be506ef92961a9f6 Author: Mauro Carvalho Chehab Date: Fri Mar 28 17:52:44 2008 -0300 V4L/DVB (7458): saa7134: Adds analog support for Avermedia A16D Thanks to timf , "Richard (MQ)" and gian luca rasponi for their tests. Signed-off-by: Mauro Carvalho Chehab commit cf8267ff100dd8466fe631f7172969945b654e3f Author: Mauro Carvalho Chehab Date: Fri Mar 28 17:45:51 2008 -0300 V4L/DVB (7456): vivi: Add 32bit compatibility to the module Thanks to Jiri Slaby for pointing this issue. Signed-off-by: Mauro Carvalho Chehab commit 0b86755f57bd2cc92d05ba3a613ab6ff44f09980 Author: Mauro Carvalho Chehab Date: Fri Mar 28 14:21:04 2008 -0300 V4L/DVB (7455): cx88_dvb: qam doesn't apply on Kword ATSC 120 Thanks to Michael Krufky for pointing this. Signed-off-by: Mauro Carvalho Chehab commit 1b879c43811933514130421548fff7640e84d8e5 Author: Frej Drejhammar Date: Sun Mar 23 22:43:24 2008 -0300 V4L/DVB (7454): cx88: Add user control for color killer The cx2388x family has a color killer. This patch implements the V4L2_CID_COLOR_KILLER control for the cx2388x family. By default the color killer is disabled, as in previous versions of the driver. Signed-off-by: "Frej Drejhammar " Signed-off-by: Mauro Carvalho Chehab commit a8ac688938b89ab0fa8ffe16da0facdc73a70588 Author: Frej Drejhammar Date: Sun Mar 23 22:43:23 2008 -0300 V4L/DVB (7453): v4l2-api: Define a standard control for color killer functionality Define a pre-defined control ID for color killer functionality. Signed-off-by: "Frej Drejhammar " Signed-off-by: Mauro Carvalho Chehab commit 87a1738919ef028d16c462437e1480fc67338cd3 Author: Frej Drejhammar Date: Sun Mar 23 22:43:22 2008 -0300 V4L/DVB (7452): cx88: Enable chroma AGC by default for all non-SECAM modes An enabled chroma AGC will not degrade picture quality if enabled on a color PAL or NTSC signal with nominal signal levels. It will give a significant color reproduction improvement if the chroma signals diverge from nominal levels. Therefore enable chroma AGC by default for PAL and NTSC standards. Signed-off-by: "Frej Drejhammar " Signed-off-by: Mauro Carvalho Chehab commit 6d04203c7f49a4d93304b5754de5457297fa04eb Author: Frej Drejhammar Date: Sun Mar 23 22:43:21 2008 -0300 V4L/DVB (7451): cx88: Add user control for chroma AGC The cx2388x family has support for chroma AGC. This patch implements a the V4L2_CID_CHROMA_AGC control for the cx2388x family. By default chroma AGC is disabled, as in previous versions of the driver. Signed-off-by: "Frej Drejhammar " Signed-off-by: Mauro Carvalho Chehab commit 1c412d1236b98bfc59fc694238cd26e6ed7f4f4b Author: Frej Drejhammar Date: Sun Mar 23 22:43:20 2008 -0300 V4L/DVB (7450): v4l2-api: Define a standard control for chroma AGC Define a pre-defined control ID for chroma automatic gain control. Signed-off-by: "Frej Drejhammar " Signed-off-by: Mauro Carvalho Chehab commit b12203d253732d282dd97909a1424016694183e9 Author: Marton Balint Date: Wed Mar 26 02:07:35 2008 -0300 V4L/DVB (7449): cx88: fix oops on module removal caused by IR worker If the IR worker is not stopped before the removal of the cx88xx module, an OOPS may occur, because the worker function cx88_ir_work gets called. So stop the ir worker. Signed-off-by: Marton Balint Signed-off-by: Mauro Carvalho Chehab commit 99e09eac25f752b25f65392da7bd747b77040fea Author: Mauro Carvalho Chehab Date: Thu Mar 27 23:18:30 2008 -0300 V4L/DVB (7448): Add support for Kworld ATSC 120 This board has a s5h1409 demod, plus a xc30x8 tuner (probably, xc3018). This patch adds proper support for radio, video, s-video, composite and ATSC. However, support for radio and video depends on having s5h1409 i2c gate open, otherwise, xc30x8 chip won't be visible. For a better support, some rework is needed on cx88 driver, to allow adding xc30x8 to i2c bus without sending i2c 0 byte reading to 0xc2 address. Thanks to Vanessa Ezekowitz for helping to figure out the proper parameters for s5h1409 and the GPIO pins used by each configuration. Signed-off-by: Mauro Carvalho Chehab commit a2401d9eed955d90e682b911c343d7fb4ad22436 Author: Mike Isely Date: Sat Mar 8 04:02:20 2008 -0300 V4L/DVB (7447): pvrusb2: Fix compilation warning Fix use of a non-int (size_t) being passed in a printf width field. This benign issue has apparently been around for a long time, but went undetected until now. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 2c4963d4fb6103c0589db411fccf5e4f8531f173 Author: Michael Krufky Date: Tue Apr 22 14:46:25 2008 -0300 V4L/DVB (7441): kconfig fixes for tuner-simple Update Kconfig for the hybrid devices recently converted to use tuner-simple rather than dvb-pll. dvb-bt8xx no longer uses dvb-pll at all, so remove all references to dvb-pll within that driver. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a03402d8ad1638a0a88c5091a189be146c1ee261 Author: Michael Krufky Date: Tue Apr 22 14:46:25 2008 -0300 V4L/DVB (7440): dvb-bt8xx: fix build error Fix the following build error: In file included from dvb-bt8xx.c:35: dvb-bt8xx.h:42:26: error: tuner-simple.h: No such file or directory dvb-bt8xx.c: In function 'frontend_init': dvb-bt8xx.c:612: error: 'simple_tuner_attach' undeclared (first use in this function) dvb-bt8xx.c:612: error: (Each undeclared identifier is reported only once dvb-bt8xx.c:612: error: for each function it appears in.) dvb-bt8xx.c:612: warning: type defaults to 'int' in declaration of '__a' dvb-bt8xx.c:612: warning: type defaults to 'int' in declaration of 'type name' dvb-bt8xx.c:612: warning: cast from pointer to integer of different size dvb-bt8xx.c:612: warning: type defaults to 'int' in declaration of 'type name' dvb-bt8xx.c:612: warning: cast from pointer to integer of different size dvb-bt8xx.c:612: error: called object '__a' is not a function dvb-bt8xx.c:696: warning: type defaults to 'int' in declaration of '__a' dvb-bt8xx.c:696: warning: type defaults to 'int' in declaration of 'type name' dvb-bt8xx.c:696: warning: cast from pointer to integer of different size dvb-bt8xx.c:696: warning: type defaults to 'int' in declaration of 'type name' dvb-bt8xx.c:696: warning: cast from pointer to integer of different size dvb-bt8xx.c:696: error: called object '__a' is not a function Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5c913c0571034fc08d9a27f4aa3175142352acf6 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:24 2008 -0300 V4L/DVB (7439): tuner-xc2028: Adds an option to allow forcing to load an specific firmware name There are a number of different firmware versions and variants, shipped together with boards. This patch adds an extra parameter to the tuner-xc2028 to allow specifying for an specific firmware name to be loaded. This helps to test for a firmware that better fits some board. Signed-off-by: Mauro Carvalho Chehab commit 5ec96b0c80eced33e7bf69a2d29c044d6dbe9bf5 Author: Michael Krufky Date: Tue Apr 22 14:46:23 2008 -0300 V4L/DVB (7437): tda18271: increment module version minor Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 868f5ccd64113d070f09ecf2827a69b81c95ed9d Author: Michael Krufky Date: Tue Apr 22 14:46:23 2008 -0300 V4L/DVB (7436): tda18271: add basic support for slave tuner configurations Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4efb0ca5d00f2c7a8bf9632556a4b4330cf409c5 Author: Michael Krufky Date: Tue Apr 22 14:46:23 2008 -0300 V4L/DVB (7435): tda18271: add function tda18271_charge_pump_source Force the main pll charge pump or cal pll charge pump to source current to the main pll loop filter or cal pll loop filter, respectively. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 40194b2b1bdd01358c1e9b5a9b8dd78390cc05f7 Author: Michael Krufky Date: Tue Apr 22 14:46:22 2008 -0300 V4L/DVB (7434): tda18271: set rfagc modes during channel configuration Set rfagc to high speed mode before setting the pll. Set rfagc to normal speed mode at the end of the function. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e7809a07663f868f596b5f08a63db9a32240502c Author: Michael Krufky Date: Tue Apr 22 14:46:22 2008 -0300 V4L/DVB (7433): tda18271: fix comparison bug in tda18271_powerscan Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c0dc0c1122b585193dd6650c749e919542dd3e23 Author: Michael Krufky Date: Tue Apr 22 14:46:22 2008 -0300 V4L/DVB (7432): tda18271: allow device-specific configuration of rf agc top allow device-specific configuration of rf agc rf top and if top Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 14c74b23b6b5a8259c25c8f825e3036f595518d0 Author: Michael Krufky Date: Tue Apr 22 14:46:21 2008 -0300 V4L/DVB (7431): tda18271: allow device-specific configuration of IF level Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ae07d042f626caa13d5a8a15ac7297b2873f7622 Author: Michael Krufky Date: Tue Apr 22 14:46:21 2008 -0300 V4L/DVB (7430): tda18271: fix typo in tda18271_calibrate_rf The internal calibration signal must be set on the cal pll. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e83ebb64eff4636a5eab06a6cc493ab51e900ed0 Author: Michael Krufky Date: Tue Apr 22 14:46:21 2008 -0300 V4L/DVB (7429): tda18271: write EP3 thru MD3 for image rejection low band initialization Both the tda18271 c1 and c2 parts only need EP3 through MD3 to be written for the image rejection calibration's low band initialization. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0c3ea9941c4957e4a9c229878bd13a39ac4d0e4b Author: Michael Krufky Date: Tue Apr 22 14:46:20 2008 -0300 V4L/DVB (7427): dvb-pll: remove rf input module options The ability to select RF input was a supported feature only available on Philips TUV1236d and Philips FCV1236d. This feature, along with support for the tuners that used it, was moved into the tuner-simple module. This can now be removed from dvb-pll. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b6fd549e50e11d91057dc367fa8f9d1352b145be Author: Michael Krufky Date: Tue Apr 22 14:46:20 2008 -0300 V4L/DVB (7426): dvb-pll: renumber remaining description id's Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5e8556de79c509ea2ff3c3be19d3930f9ab5af54 Author: Michael Krufky Date: Tue Apr 22 14:46:20 2008 -0300 V4L/DVB (7425): dvb-pll: remove dead code remove #if 0'd support for: Philips TUV1236D Philips TD1316 Philips FMD1216ME LG TDVS-H06xF Philips FCV1236D Thomson FE6600 Microtune 4042 FI5 Thomson dtt761x Support for these tuners has been moved into the 'tuner-simple' module. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b7f81b2058625b6fe90c9265aabbf0d3bdc15874 Author: Michael Krufky Date: Tue Apr 22 14:46:20 2008 -0300 V4L/DVB (7424): dvb-pll: remove support for Philips TUV1236D Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ad561caafaa02b2e1dfe25f6bae03806051992eb Author: Michael Krufky Date: Tue Apr 22 14:46:19 2008 -0300 V4L/DVB (7423): dvb-pll: remove support for Philips TD1316 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 92d1069f3cfbe4da07d9cf5b1cb29930e6277def Author: Michael Krufky Date: Tue Apr 22 14:46:19 2008 -0300 V4L/DVB (7422): dvb-pll: remove support for Philips FMD1216ME Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 75a791925da909d489ef323e3a540ad1f1bca54f Author: Michael Krufky Date: Tue Apr 22 14:46:19 2008 -0300 V4L/DVB (7421): dvb-pll: remove support for LG TDVS-H06xF Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 89418750f71b5b9bed7bd2bd8572fc54b049e1d5 Author: Michael Krufky Date: Tue Apr 22 14:46:18 2008 -0300 V4L/DVB (7420): dvb-pll: remove support for Philips FCV1236D Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7b844d75dcbf48f22838df41b47d7b387533170f Author: Michael Krufky Date: Tue Apr 22 14:46:18 2008 -0300 V4L/DVB (7419): dvb-pll: remove support for Thomson FE6600 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 53f2dd33147c3040e56d4d7a99a876e07b2bc6ac Author: Michael Krufky Date: Tue Apr 22 14:46:17 2008 -0300 V4L/DVB (7418): dvb-pll: remove support for Microtune 4042 FI5 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 15b3feb73556208aec71569a6ccf9d8147ae6147 Author: Michael Krufky Date: Tue Apr 22 14:46:17 2008 -0300 V4L/DVB (7417): dvb-pll: remove support for Thomson dtt761x Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 24d3980c3a4e073ade5e053d79864bf906c1e481 Author: Michael Krufky Date: Tue Apr 22 14:46:17 2008 -0300 V4L/DVB (7416): dvb-pll: remove support for Thomson dtt7610 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 62ff817a04a5a08074c0391bdbf7bab48bdaa80e Author: Michael Krufky Date: Tue Apr 22 14:46:17 2008 -0300 V4L/DVB (7415): use tuner-simple for Philips TUV1236D digital tuning support Convert cx88-dvb and saa7134-dvb to use tuner-simple instead of dvb-pll for Philips TUV1236D Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fb147e9755055b1b73b22c3efe87bec075ad3caa Author: Michael Krufky Date: Tue Apr 22 14:46:16 2008 -0300 V4L/DVB (7414): use tuner-simple for Philips TD1316 digital tuning support Convert saa7134-dvb to use tuner-simple instead of dvb-pll for Philips TD1316 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit cb89cd332d2f160623c92473945f729d43a70af0 Author: Michael Krufky Date: Tue Apr 22 14:46:16 2008 -0300 V4L/DVB (7413): use tuner-simple for Philips FMD1216ME digital tuning support Convert cxusb, cx88-dvb and saa7134-dvb to use tuner-simple instead of dvb-pll for Philips FMD1216ME Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 827855d39761889aecc7c29385d9c4989b43d01d Author: Michael Krufky Date: Tue Apr 22 14:46:16 2008 -0300 V4L/DVB (7412): use tuner-simple for LG TDVS-H06xF digital tuning support Convert cx88-dvb, dvb-bt8xx, b2c2-flexcop, cxusb and cx23885 to use tuner-simple instead of dvb-pll for LG TDVS-H06xF Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 967be9a9cd2de3f87dbf960620860143a50c1b64 Author: Michael Krufky Date: Tue Apr 22 14:46:13 2008 -0300 V4L/DVB (7411): use tuner-simple for Philips FCV1236D digital tuning support Convert dvb-bt8xx to use tuner-simple instead of dvb-pll for Philips FCV1236D Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0efad8127ac4b32af780d722258b42cfae02cdf2 Author: Michael Krufky Date: Tue Apr 22 14:46:13 2008 -0300 V4L/DVB (7410): use tuner-simple for Thomson FE6600 digital tuning support Convert cx88-dvb to use tuner-simple instead of dvb-pll for Thomson FE6600 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7e35c9ff1362aa4deb0b0a803d661920dcdd6f48 Author: Michael Krufky Date: Tue Apr 22 14:46:13 2008 -0300 V4L/DVB (7409): use tuner-simple for Microtune 4042 FI5 digital tuning support Convert cx88-dvb to use tuner-simple instead of dvb-pll for Microtune 4042 FI5 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0df31f8330bdaebde5411018f0142cca06ca23a3 Author: Michael Krufky Date: Tue Apr 22 14:46:13 2008 -0300 V4L/DVB (7408): use tuner-simple for Thomson DTT 761X digital tuning support Convert cx88-dvb to use tuner-simple instead of dvb-pll for Thomson DTT 761X Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 65511611dd0a5219b431a8a08cff6f8f7ab83aa5 Author: Michael Krufky Date: Tue Apr 22 14:46:12 2008 -0300 V4L/DVB (7407): tuner-simple: add module options to specify rf input Add module options to tuner-simple, called "atv_input" and "dtv_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 26f1b942156766c6ff1a70fb2ac463c6fce31309 Author: Guennadi Liakhovetski Date: Mon Mar 24 12:18:36 2008 -0300 V4L/DVB (7406): soc-camera: improve separation between soc_camera_ops and soc_camera_device In case of muliple cameras, handled by the same driver, they can support Signed-off-by: Mauro Carvalho Chehab commit 8be38c815e181402c777e033f40971a7be19cf8b Author: Douglas Schilling Landgraf Date: Tue Apr 22 14:46:12 2008 -0300 V4L/DVB (7404): saa7134.h: Remove unnecessary validation Removed unnecessary VIDIOC_G_PRIORITY validation. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 078ff7953448163d8779e489bd0119dd9a9b4732 Author: Douglas Schilling Landgraf Date: Tue Apr 22 14:46:11 2008 -0300 V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 Added macro CONFIG_COMPAT for v4l_compat_ioctl32. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 03dea86de2243d5b3932604b799be26efeff010d Author: Tobias Lorenz Date: Tue Apr 22 14:46:11 2008 -0300 V4L/DVB (7401): radio-si470x: unplugging fixed This patch fixes several kernel oops, when unplugging device while it is in use: Basically the patch delays freeing of the internal variables in si470x_usb_driver_disconnect, until the the last user closed the device in si470x_fops_release. This was implemented a while ago with the help of Oliver Neukum. I tested the patch five times (unplugging while in use) without oops coming from the radio-si470x driver anymore. A remaining oops was coming from the usbaudio driver, but this is someone else task. Hopefully this fixed all unplugging issues. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit b412ba781adcb484e8d9b19b30ae1d3a6b8c7d29 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:11 2008 -0300 V4L/DVB (7399): Removes video_dev from tuner-xc2028 config struct The video_dev parameter, on tuner-xc2028 were used to pass i2c private data to tuner_callback. Since the driver already have a pointer to i2c_adap->algo_data, uses this instead. This parameter were used also as a magic number to idenfity if two drivers are trying to register the same xc3028 tuner. This occurs with boards with DVB support, where both DVB and V4L drivers will share the same tuner. Instead of using the algo_data as a private number, after this patch, the driver will use i2c_adap->dev, with seems more consistent. Signed-off-by: Mauro Carvalho Chehab commit 0be51b4671b3ae3ae544a0bb3d15b55478b55e72 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:10 2008 -0300 V4L/DVB (7398): Adds an error if priv argument of tuner_callback is NULL Adds a consistency check to avoid OOPS, if tuner_callback priv argument is NULL. Also, simplifies callback codes on cx88. Signed-off-by: Mauro Carvalho Chehab commit 0fea03fbd3aeaa9b4a4de8409e5ef3aca43a6d0b Author: Hartmut Hackmann Date: Tue Apr 22 14:46:10 2008 -0300 V4L/DVB (7396): saa7134: fixed pointer in tuner callback The pointer transferred directly points to the saa7134_dev structure Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit e9c1ac9d8d75eaf15126e38cc7d09db03d1a3fd6 Author: Hartmut Hackmann Date: Tue Apr 22 14:46:10 2008 -0300 V4L/DVB (7395): saa7134: start 2nd LND supply of Medion cards only if needed The ISL6405 LNB supply is used on several Creatix / Medion cards. But only the MD8800 needs its second section. So don't start it unless it is needed. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit a4df8e1d6ae460546dfa3b4f23a85cb5a4255109 Author: Alan McIvor Date: Tue Apr 22 14:46:09 2008 -0300 V4L/DVB (7394): saa7134: add number of devices check This patch fixes reported problems when trying to add a 9th device into a system. Signed-off-by: Alan McIvor Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 7bff4b4d3ad2b9ff42b4087f409076035af1d165 Author: Hartmut Hackmann Date: Tue Apr 22 14:46:08 2008 -0300 V4L/DVB (7393): tda827x: fixed support of tuners with LNA Tuner refactoring broke support of tuners with LNA configurations 1 and 2 for both, analog TV and DVB-T. Additionally, this patch initializes the saa713x gpios defined by the gpiomask at driver init to avoid undefined stated at dvb. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 5823b3a63c7661272ea7fef7635955e2a50d17eb Author: Hartmut Hackmann Date: Tue Apr 22 14:46:08 2008 -0300 V4L/DVB (7392): saa7134: support 2nd DVB-S section of the MD8800 There are some restrictions: - The 2nd DVB-S section will only work if the 1st is configured for DVB-S too. so "options saa7134-dvb use_frontend=0,1" won't work. - Currently it is not possible to set the higher LNB supply voltages, so 14V instead of 13V in the 2nd section. - It is not possibe to turn off the 2nd LNB supply independently. This comes from the problem that the 2nd section can't access the i2c interface of the LNB supply chip. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 637afdb563a0801b6983650f889c64c074111776 Author: Hartmut Hackmann Date: Tue Apr 22 14:46:08 2008 -0300 V4L/DVB (7391): saa7134: Add DVB-S support for the MD 1734 cards with 2 saa7134 Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 867bc6cccc511ccbf40609ccb6ede2aafdeb922e Author: Hartmut Hackmann Date: Tue Apr 22 14:46:07 2008 -0300 V4L/DVB (7390): saa7134: clear audio DSP interface after access error In the case of an access error to the high latency registers of the audio DSP, the interface needs to be cleared, otherwise a cascade of errors occurs. This patch is closely modeled after a proposal by Mirek Slugen Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit c1e6393e24e0fcc8047db18dce05758c3fd54515 Author: Andrew Morton Date: Tue Apr 22 14:46:07 2008 -0300 V4L/DVB (7389): git-dvb: drivers/media/video/bt8xx/bttv-cards.c: fix warnings drivers/media/video/bt8xx/bttv-cards.c:3030:38: warning: "/*" within comment drivers/media/video/bt8xx/bttv-cards.c:3032:20: warning: "/*" within comment Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 6e741713913fd28f8291fddb3d32d9353f1f0472 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:07 2008 -0300 V4L/DVB (7388): saa7134: fix radio entry for xc2028/3028 boards If left in blank, the driver will use value 0 (Temic PAL) Signed-off-by: Mauro Carvalho Chehab commit d9ae6dd76325d26a68068f7d8c78e0c7ec7e8f3e Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:06 2008 -0300 V4L/DVB (7387): saa7134: Fix xc3028 entries Tuner addresses were incorrect. Fix the entries. Signed-off-by: Mauro Carvalho Chehab commit 7f7203df3f7d056e5f3c4419c6ab3835f44b288c Author: Michael Krufky Date: Tue Apr 22 14:46:06 2008 -0300 V4L/DVB (7385): tda18271: store agc_mode configuration independently of std_bits Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c293d0a72ecb9dd09037cdf4a9089e455404cf4a Author: Michael Krufky Date: Tue Apr 22 14:46:06 2008 -0300 V4L/DVB (7384): tda18271: store FM_RFn setting in struct tda18271_std_map_item All standard related configuration is stored within struct tda18271_std_map_item. Pass a pointer to this structure rather than its individual members. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5555309c9adcf9bb7f6b449ef45b09d5c26ef4ae Author: Michael Krufky Date: Tue Apr 22 14:46:06 2008 -0300 V4L/DVB (7383): tda18271: add attach-time parameter to limit i2c transfer size Add attach-time parameter, "small_i2c" to limit i2c transfer size to write at most 16 registers at a time during initialization. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ab8b870e430d3e2cfb299f81e0ae0aef7fe5bfda Author: Michael Krufky Date: Tue Apr 22 14:46:05 2008 -0300 V4L/DVB (7381): tuner: rename TUNER_PHILIPS_ATSC to TUNER_PHILIPS_FCV1236D TUNER_PHILIPS_ATSC is an ambiguous name for a tuner. Rename it to TUNER_PHILIPS_FCV1236D to be more descriptive. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e827931e37295329be0bc0e6c0283bfa4807b8f9 Author: Michael Krufky Date: Tue Apr 22 14:46:05 2008 -0300 V4L/DVB (7380): tuner-simple: warn if tuner can't be probed during attach Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit cac2b0eb18e140e2f63146d0f97691e9238570b6 Author: Michael Krufky Date: Tue Apr 22 14:46:04 2008 -0300 V4L/DVB (7379): tuner: prevent instance sharing if i2c adapter is NULL We currently do not have a method to enable instance staring if i2c adapter is NULL, in the cases of dvb demods that write to the tuner directly using calc_regs. Prevent possible wrong instance sharing for these cases until a better solution can be found. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7daa4a8897e79911f524ddac065adea05c7e9b16 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:46:03 2008 -0300 V4L/DVB (7378): cleanup variable initialization flags used for spinlocks don't need to be initialized, except where the compiler has no way to see, that the spin_unlock_irqrestore is only called if the spin_lock_irqsave has been called before. Local variable initialization doesn't have to be protected. Signed-off-by: Guennadi Liakhovetski Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b2cb200f0d0d5e801b47635554519f6e1b64e847 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:03 2008 -0300 V4L/DVB (7377): radio-sf16fmr2.c: fix volume handling As reported by Roel Kluin <12o3l@tiscali.nl>: in drivers/media/radio/radio-sf16fmr2.c:319: for (i = 0; i < ARRAY_SIZE(radio_qctrl); i++) { if ((fmr2->card_type != 11) && V4L2_CID_AUDIO_VOLUME) radio_qctrl[i].step = 65535; ... I don't understand this '&& V4L2_CID_AUDIO_VOLUME' While fixing this issue, I've revisited the volume control code and fixed CodingStyle on the changed procedures. Signed-off-by: Mauro Carvalho Chehab commit e9bcf6675d6da1a1e9925b2bdfc21f8d2330a1c5 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:46:02 2008 -0300 V4L/DVB (7376): Improve compile-time type-checking in videobuf Make the dev member of the struct videobuf_queue of type "struct device *" to avoid future problems. Also change the prototype of the videobuf_queue_core_init() function. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 50407f99a1fd7fcca74e53b1852dc70deb5114db Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:02 2008 -0300 V4L/DVB (7375): cx88/saa7134: fix magic number for xc3028 reusage detection tuner-xc2028 needs to know when a DVB module is sharing the same analog tuner. This is done by comparing a magic number that needs to be the same on analog and on digital. To make easier, this magic number is a pointer to some data struct. With the previous code, two different pointers were using, causing a miss-detection. Signed-off-by: Mauro Carvalho Chehab commit a920e42f61bdfe9974f3e2f3715d3a6d319eeaba Author: Guennadi Liakhovetski Date: Tue Apr 22 14:46:02 2008 -0300 V4L/DVB (7374): Fix left-overs from the videobuf-dma-sg.c conversion to generic DMA The dev element of the struct videobuf_queue is now of type struct device implicitly. Fix left-over casts. Signed-off-by: Guennadi Liakhovetski Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 33b4af918a1ad73db47efec3cd23184d58f6ab31 Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Apr 22 14:46:02 2008 -0300 V4L/DVB (7373): logical-bitwise & confusion in se401_init() logical-bitwise & confusion Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mauro Carvalho Chehab commit 7f0dd17913eda77961fc8213b64cb8af4a155d3e Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:01 2008 -0300 V4L/DVB (7372): cx88: Add IR support for Pixelview MPEG 8000GT Signed-off-by: Mauro Carvalho Chehab commit ceb63a4fda646faea60e34fa4c3abf8455add013 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:01 2008 -0300 V4L/DVB (7371): cx88: Fix audio on Prolink Pixelview Mpeg 8000GT This board works only with non-mts firmware Signed-off-by: Mauro Carvalho Chehab commit 2422a9b3f47c75d3915e6af78ebe25b7d2540262 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:00 2008 -0300 V4L/DVB (7370): Add basic support for Prolink Pixelview MPEG 8000GT TV reception ok. S-video and Composite not tested. Audio not tested. IR not implemented yet. Signed-off-by: Mauro Carvalho Chehab commit aba360d8cc086e12c3eb832f32d9e9813514e295 Author: Andrew Morton Date: Tue Apr 22 14:45:59 2008 -0300 V4L/DVB (7369): drivers/media/video/soc_camera.c: reads return size_t Signed-off-by: Andrew Morton CC: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit e80faad3d7a332b7fe5a72dd64a81d28dd5c2e44 Author: Mauro Lacy Date: Tue Apr 22 14:45:58 2008 -0300 V4L/DVB (7368): bttv: added support for Kozumi KTV-01C card Signed-off-by: Mauro Lacy Signed-off-by: Mauro Carvalho Chehab commit 97275ac514c7f1131f42f8b06e073b144c744e78 Author: Ernesto Hernández-Novich Date: Tue Apr 22 14:45:58 2008 -0300 V4L/DVB (7366): Support for a 16-channel bt878 card I have what looks like a Geovision GV-600 (or 650) card. It has a large chip in the middle labeled CONEXANT FUSION 878A 25878-13 E345881.1 0312 TAIWAN It has an audio connector coming out from a chip labeled ATMEL 0242 AT89C2051-24PI It is identified as follows on my Debian GNU/Linux Etch (kernel 2.6.18) ... 01:0a.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) 01:0a.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11) ... 01:0a.0 0400: 109e:036e (rev 11) Subsystem: 008a:763c Flags: bus master, medium devsel, latency 64, IRQ 58 Memory at dfffe000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data Capabilities: [4c] Power Management version 2 01:0a.1 0480: 109e:0878 (rev 11) Subsystem: 008a:763c Flags: bus master, medium devsel, latency 64, IRQ 58 Memory at dffff000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data Capabilities: [4c] Power Management version 2 It was being detected as a GENERIC UNKNOWN CARD both by the 2.6.18 kernel and the latest v4l-dvb drivers, but it did not work at all. The card has sixteen (16) BNC video inputs, four of them on the board itself and twelve on three daughter-cards. It has a single bt878 chip, no tuner and what looks like and audio input. After doing some research I managed to get only eight channels working by forcing card=125 and those DID NOT match channels 0-7 on the card, and no audio. Based on what was working for card=125, I added the card definition block, added a specific muxsel routine and got the card working fully with xawtv, where the sixteen channels show up as Composite0 to Composite15, matching the channel labels in the card and daughter-cards. I have made no efforts yet to get audio working, but would appreciate any pointers. Signed-off-by: Ernesto Hernández-Novich Signed-off-by: Mauro Carvalho Chehab commit 76e41e4851e0c8b642e348d8489d7645b8dae21e Author: Marcin Slusarz Date: Tue Apr 22 14:45:57 2008 -0300 V4L/DVB (7365): reduce stack usage of v4l1_compat_sync poll_one allocated on stack struct poll_wqueues which is pretty big structure (>500 bytes on x86_64). v4l1_compat_sync invokes poll_one in a loop, so allocate struct poll_wqueues in v4l1_compat_sync (with kmalloc) and pass it to poll_one. Signed-off-by: Marcin Slusarz Signed-off-by: Mauro Carvalho Chehab commit b524f7b02d70204444441e4805fb3a71981e9018 Author: Marcin Slusarz Date: Tue Apr 22 14:45:57 2008 -0300 V4L/DVB (7364): reduce stack usage of v4l_compat_translate_ioctl v4l_compat_translate_ioctl used 1376 bytes of stack (x86_64), so split this 800 lines long function into ~20 small noinline functions; the biggest function takes now 712 bytes (v4l1_compat_sync) fix VIDIOCSWIN handler which printked wrong errors Signed-off-by: Marcin Slusarz Signed-off-by: Mauro Carvalho Chehab commit 8b3b90aca293418171297ae14efac5817ba02bd3 Author: Marcin Slusarz Date: Tue Apr 22 14:45:57 2008 -0300 V4L/DVB (7363): fix coding style violations in v4l1-compat.c fix most coding style violations found by checkpatch Signed-off-by: Marcin Slusarz Signed-off-by: Mauro Carvalho Chehab commit a2a7f84b7908c6dba998b43a1ed343aff1d2fd98 Author: Michael Krufky Date: Tue Apr 22 14:45:56 2008 -0300 V4L/DVB (7360): tuner-simple: fix return value of simple_dvb_configure simple_dvb_configure returns the actual tuned frequency to its caller, so it must be declared as a u32 rather than an int. As a result, we will return 0 to indicate a failure. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 26cd8972fb5cf673489005bf9b7d16e6f273422b Author: Michael Krufky Date: Tue Apr 22 14:45:56 2008 -0300 V4L/DVB (7359): tuner-simple: enable digital tuning support for Thomson FE6600 Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0e5d383b0aca78c70c46b378f6b0e9d03a28c1af Author: Michael Krufky Date: Tue Apr 22 14:45:56 2008 -0300 V4L/DVB (7358): tuner-simple: enable digital tuning support for Philips TD1316 Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a33b42c6bbe6c5b9067489df9e5650de751b798e Author: Michael Krufky Date: Tue Apr 22 14:45:56 2008 -0300 V4L/DVB (7357): tuner-simple: enable digital tuning support for Microtune 4042 FI5 Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0db5fd4b063e8ea746c08f8630fd6f64cb511a55 Author: Michael Krufky Date: Tue Apr 22 14:45:55 2008 -0300 V4L/DVB (7356): tuner-simple: enable digital tuning support for Thomson DTT 7610 Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 02f5f4448464fea9c19e6b5ff5c67e874c898834 Author: Michael Krufky Date: Tue Apr 22 14:45:55 2008 -0300 V4L/DVB (7355): tuner-simple: use separate inputs for vsb and qam on tuv1236d & fcv1236d Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f4173d0f75e55091d8b52145005bee11bc26c046 Author: Michael Krufky Date: Tue Apr 22 14:45:55 2008 -0300 V4L/DVB (7354): tuner-simple: enable digital tuning support for Philips FCV1236D Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dbe3127d72b42a81749efb48aa315bbacfbf89b8 Author: Michael Krufky Date: Tue Apr 22 14:45:54 2008 -0300 V4L/DVB (7353): tuner-simple: enable digital tuning support for Philips TUV1236D Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 23a88108cf6d5fa8073a3b2af804fff7305e86e3 Author: Michael Krufky Date: Tue Apr 22 14:45:53 2008 -0300 V4L/DVB (7352): tuner-simple: enable digital tuning support for Philips FMD1216ME Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6f4a57292f4f0a0fef5e4e39cb394fedcf2acf9f Author: Michael Krufky Date: Tue Apr 22 14:45:53 2008 -0300 V4L/DVB (7351): tuner-simple: add init and sleep methods taken from dvb-pll Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 22ef8fc945b28398d93a5d362e54915b66eba23f Author: Michael Krufky Date: Tue Apr 22 14:45:52 2008 -0300 V4L/DVB (7350): tuner-simple: enable digital tuning support for Thomson DTT 761X Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bed6d189b965974a13c8c13313f9ebce06c12c3c Author: Michael Krufky Date: Tue Apr 22 14:45:52 2008 -0300 V4L/DVB (7349): tuner-simple: enable digital tuning support for LG TDVS-H06xF Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a81df363554fb6439b5eb4ada06ad546a1df5ce3 Author: Michael Krufky Date: Tue Apr 22 14:45:52 2008 -0300 V4L/DVB (7348): tuner-simple: do not send i2c commands if there is no i2c adapter if (priv->i2c_props.adap == NULL) then exit any function that would send commands over the i2c bus. We allow drivers to attach without an i2c adapter for cases where the dvb demod accesses the tuner directly via calc_regs. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 62325497db6ef3b13cae41d5038e2693997d7d3e Author: Michael Krufky Date: Tue Apr 22 14:45:52 2008 -0300 V4L/DVB (7347): tuner-simple: add basic support for digital tuning of hybrid devices Add entry points used for digital tuning via the dvb_frontend. Share state data between multiple instances of the driver for hybrid tuners. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ac8b63b30a320699e602a18af6101528b408d41d Author: Michael Krufky Date: Tue Apr 22 14:45:51 2008 -0300 V4L/DVB (7346): tda9887: allow multiple driver instances for the same hardware to share state Convert tda9887 to use the new hybrid_tuner_request_state and hybrid_tuner_release_state macros to manage state sharing between hybrid tuner instances. Some ATSC/DVB cards need to put the analog demodulator into standby before tuning digital. This patch allows us to attach the tda9887 driver to the digital side of the bridge driver and be able to put it into standby without jeopardizing the analog demod driver's state. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 081b496a75fec134657f036f585738a1ca869047 Author: Hans Verkuil Date: Tue Apr 22 14:45:51 2008 -0300 V4L/DVB (7344): cx25840: better PAL-M and NTSC-KR handling Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2fd3c14cf53c379602d1a8a1a0aed7737a48c5c6 Author: Hans Verkuil Date: Tue Apr 22 14:45:51 2008 -0300 V4L/DVB (7343): msp3400: fix SECAM D/K handling The 6.5 MHz carrier was interpreted as SECAM-L even if SECAM-D/K was selected. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e0028027c6e4a8aa8b3b77001b982a97ac35bbd7 Author: Hans Verkuil Date: Tue Apr 22 14:45:51 2008 -0300 V4L/DVB (7342): saa7115: fix PAL-Nc handling Fsc 3.58 refers to Combination PAL-N (aka PAL-Nc), not to plain PAL-N (that uses Fsc 4.43). Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 11305d590895f22c30545ee0ff3fb434128fefb0 Author: Hans Verkuil Date: Tue Apr 22 14:45:50 2008 -0300 V4L/DVB (7341): ivtv: rename tunerhz to tunertype There are two tuner types: those for M/N standards and those for all others. However, M/N standards are not always 60 Hz (PAL-N/Nc are 50 Hz), so rename the module option accordingly. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cd9fa026606848b2238a56e37b2c4aa4f371e152 Author: Hans Verkuil Date: Tue Apr 22 14:45:50 2008 -0300 V4L/DVB (7340): ivtv: fix tunerhz bug: PAL-N(c) is 50 Hz, not 60 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d00573bbe9ce97798e08e6718f3459c2c2ceacc0 Author: Hans Verkuil Date: Tue Apr 22 14:45:50 2008 -0300 V4L/DVB (7339): ivtv: add support for Japanese variant of the Adaptec AVC-2410 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c0038ce025e1d70076894e6a206a73fd37ad493d Author: Hans Verkuil Date: Tue Apr 22 14:45:49 2008 -0300 V4L/DVB (7338): ivtv: improve pal/secam module options, add tunerhz module option Allow options like pal=bgh, improve description of those options. Add tunerhz option: 50=card has 50Hz tuner, 60=card has 60Hz tuner. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0358d7c580370c5eaf081ac42a41c6e347709051 Author: Hans Verkuil Date: Tue Apr 22 14:45:48 2008 -0300 V4L/DVB (7337): ivtv: fix polling bug The q_io queue was never taken into account by the poll function. Thanks to Andy Walls for finding this bug. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ad5f2e859d76dccb7eb1aa942171b1a32211efc2 Author: Guennadi Liakhovetski Date: Fri Mar 7 21:57:18 2008 -0300 V4L/DVB (7336): soc-camera: streamline hardware parameter negotiation Improve hardware parameter negotiation between the camera host driver and camera drivers. Parameters like horizontal and vertical synchronisation, pixel clock polarity shall be set depending on capabilities of the parties. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 1c659689fe9959c017bfaaa8301243f7d99f1a46 Author: Andrew Morton Date: Tue Apr 22 14:45:47 2008 -0300 V4L/DVB (7335): usb-video: checkpatch fixes Please run checkpatch prior to sending patches Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit d6f34d7adddb144c3b450e15df3749f0e0a651c6 Author: Jean Delvare Date: Tue Apr 22 14:45:47 2008 -0300 V4L/DVB (7332): ir-kbd-i2c: Minor optimization in ir_probe This saves an initialization and a comparison. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 2c4a07b2da61bcd33f18195ff7f355c5bb285904 Author: Sascha Sommer Date: Tue Apr 22 14:45:47 2008 -0300 V4L/DVB (7331): Fix em2800 altsetting selection Signed-off-by: Sascha Sommer Signed-off-by: Mauro Carvalho Chehab commit 4a24ce3a17ee713056db0a24cf558bd595211302 Author: Andreas Oberritter Date: Tue Apr 22 14:45:47 2008 -0300 V4L/DVB (7329): add flag to allow software demux to recognize the output type Previously, the macro DVR_FEED, which is used to recognize and filter out duplicate packets going to the DVR device, used the TS_PAYLOAD_ONLY flag to identify a packet's destination. This kind of filtering was introduced by the following two changesets: Now, that it is possible to record TS PIDs using the demux device by setting the output type to DMX_OUT_TSDEMUX_TAP, checking TS_PAYLOAD_ONLY is not sufficient anymore. Therefore another flag, TS_DEMUX, is added to specify the output type of a feed. This allows multiple clients to filter the same TS PID on a demux device simultaneously. Signed-off-by: Andreas Oberritter Signed-off-by: Mauro Carvalho Chehab commit a9317abfba0850b006aed000e2acc4bee150410a Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:46 2008 -0300 V4L/DVB (7327): cx88: Fix memset for tuner-xc3028 control Fix a cut-and-paste error Signed-off-by: Mauro Carvalho Chehab commit 000e27a639f16e2df70a3b0bec7edfab79e5e717 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:46 2008 -0300 V4L/DVB (7326): Fix bad whitespaces Signed-off-by: Mauro Carvalho Chehab commit ddd5441df4127d5af45f6b2c58c2020b60bd52de Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:46 2008 -0300 V4L/DVB (7325): cx88-dvb: fix an OOPS for xc3028 devices, when dvb_attach fails If dvb_attach fails, dev->dvb.frontend is NULL. This will produce an OOPS, as reported. Thanks to Vanessa Ezekowitz Signed-off-by: Mauro Carvalho Chehab commit f0910c744324e3e853d7a80da876784319d9a1c8 Author: Michael Krufky Date: Tue Apr 22 14:45:45 2008 -0300 V4L/DVB (7323): pvrusb2: set default video standard to NTSC for OnAir HDTV / Creator The pvrusb2 driver normally picks up the default video standard from the eeprom on Hauppauge devices, but the OnAir HDTV and OnAir Creator are not Hauppauge devices, and do not store this information in any eeprom. These devices support NTSC/ATSC, so we should use NTSC by default when in analog mode. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ebff033039b654b7b5493499babe22c7c1b0d36e Author: Tobias Klauser Date: Tue Apr 22 14:45:45 2008 -0300 V4L/DVB (7322): pvrusb2: Fix storage-class as per C99 spec The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 794b16072e00d0a40a8c773dd4319fb1e460a632 Author: Mike Isely Date: Tue Apr 22 14:45:45 2008 -0300 V4L/DVB (7321): pvrusb2: Rework context handling and initialization This change significantly rearranges pvr2_context level initialization and operation: 1. A new kernel thread is set up for management of the context. 2. Destruction of the pvr2_context instance is moved into the kernel thread. No other context is able to remove the instance; doing this simplifies lock handling. 3. The callback into pvrusb2-main, which is used to trigger initialization of each interface, is now issued from this kernel thread. Previously it had been indirectly issued out of the work queue thread in pvr2_hdw, which led to deadlock issues if the interface needed to change a control setting (which in turn requires dispatch of another work queue entry). 4. Callbacks into the interfaces (via the pvr2_channel structure) are now issued strictly from this thread. The net result of this is that such callback functions can now also safely operate driver controls without deadlocking the work queue. (At the moment this is not actually a problem, but I'm anticipating issues with this in the future). 5. There is no longer any need for anyone to enter / exit the pvr2_context structure. Implementation of the kernel thread here allows this all to be internal now, simplifying other logic. 6. A very very longstanding issue involving a mutex deadlock between the pvrusb2 driver and v4l should now be solved. The deadlock involved the pvr2_context mutex and a globals-protecting mutex in v4l. During initialization the driver would take the pvr2_context mutex first then the v4l2 interface would register with v4l and implicitly take the v4l mutex. Later when v4l would call back into the driver, the two mutexes could possibly be taken in the opposite order, a situation that can lead to deadlock. In practice this really wasn't an issue unless a v4l app tried to start VERY early after the driver appeared. However it still needed to be solved, and with the use of the kernel thread relieving need for pvr2_context mutex, the problem should be finally solved. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 8f59100a42576c49e2170e9dc04f8b7ac922a74d Author: Mike Isely Date: Tue Apr 22 14:45:45 2008 -0300 V4L/DVB (7320): pvrusb2: Eliminate timer race during tear-down The pvrusb2 tear-down logic was clearing two timers before stopping its internal work queue. That left a tiny window open where the work queue might run after the timers are stopped, possibly starting them again. This could lead to dangling pointers and an oops. Solution: Kill the work queue first, then delete the timers. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit c4a8828ddbf5fb445d2679ab006d5743540fc41a Author: Mike Isely Date: Tue Apr 22 14:45:44 2008 -0300 V4L/DVB (7319): pvrusb2: Close potential race condition during initialization There is a callback that is issued to into pvr2_context from pvr2_hdw after initialization is done. There was a probability that this callback could get missed. Fixed. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ee9ca4b24f03b4da04cae1a24ea445ceb8a1f3d2 Author: Mike Isely Date: Tue Apr 22 14:45:43 2008 -0300 V4L/DVB (7318): pvrusb2: Remove dead code Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit a00199fb3fe41c8190c38e548a178e965f582cda Author: Mike Isely Date: Tue Apr 22 14:45:43 2008 -0300 V4L/DVB (7317): pvrusb2: Increase buffer size for printing video standard strings Buffer size for printing pvrusb2 video standard strings was too small before. This is cosmetic; the printing logic is not able to overrun a too-short buffer. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ef7c37009225776e92979f464bfbf5d796d3a5ea Author: Mike Isely Date: Tue Apr 22 14:45:42 2008 -0300 V4L/DVB (7316): pvrusb2: Handle ATSC video standard bits The pvrusb2 driver dynamically generates an enumeration of support video standard combinations based on which video standard bits are set. ATSC modes don't fall into this since they are by nature not analog. The pvrusb2 driver has been warning about an inability to classify ATSC standards. This change causes the classification algorithm to ignore any ATSC standards (such things are better handled elsewhere anyway). Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit fd1da7897999826d7491cdfd5b882ca8e9a965cb Author: Mike Isely Date: Tue Apr 22 14:45:42 2008 -0300 V4L/DVB (7315): pvrusb2: Add Gotview USB 2.0 DVD Deluxe to supported devices Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 5fd782af71876562c098aab0b240ceef2779d888 Author: Mike Isely Date: Tue Apr 22 14:45:42 2008 -0300 V4L/DVB (7314): pvrusb2: Make device attribute structure more compact Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 40381cb02fb7fc0b46c55e3a71325b5d930580fa Author: Mike Isely Date: Tue Apr 22 14:45:42 2008 -0300 V4L/DVB (7313): pvrusb2: Make LED control into a device-specific attribute The pvrusb2 driver has used hardcoded logic to control the LED on the device. However this is really Hauppauge-specific behavior. This change defines a new device attribute for LED control and sets things up appropriately for Hauppauge devices. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit c55a97d7538d5f3abbee5486e37e56e896478fbd Author: Mike Isely Date: Tue Apr 22 14:45:41 2008 -0300 V4L/DVB (7312): pvrusb2: Indicate streaming status via LED Most of this originates from Michael Krufky ; these changes move LED control into separate functions. This is the first step in new work to make LED control a device-specific attribute. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1b9c18c54d68cc22f090948fc47890c56d22153d Author: Mike Isely Date: Tue Apr 22 14:45:41 2008 -0300 V4L/DVB (7311): pvrusb2: Allow digital streaming without encoder firmware The encoder is not a part of the pipeline when in digital mode, so streaming is OK in this case even when the encoder's firmware is not loaded. Modify the driver core handling of this scenario to permit streaming. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e9db1ff23507d3e430db2bd130bd7861baa8c87e Author: Mike Isely Date: Tue Apr 22 14:45:41 2008 -0300 V4L/DVB (7310): pvrusb2: trace print cosmetic cleanup / improvements Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 62433e312076d4ff4f2df357b2a6fac29974344a Author: Mike Isely Date: Tue Apr 22 14:45:40 2008 -0300 V4L/DVB (7309): pvrusb2: Enhance core logic to also control digital streaming This is a major pvrusb2 change. The driver core has an algorithm that is used to cleanly sequence the changes needed to enable / disable video streaming. The algorithm had originally been written for analog streaming, but when in digital mode the pipeline is considerably Signed-off-by: Mauro Carvalho Chehab commit e8f5bacfcf2ba9a98674f3cd51b63020920e16aa Author: Mike Isely Date: Tue Apr 22 14:45:40 2008 -0300 V4L/DVB (7308): pvrusb2: Define digital control scheme device attributes Unlike analog control, control of the digital side is not nearly as uniform among different devices. So we have to specify the correct digital control scheme as a new device attribute. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 84147f3dd9187cd0c9810801be1282419a8ea00a Author: Mike Isely Date: Tue Apr 22 14:45:40 2008 -0300 V4L/DVB (7307): pvrusb2: New functions for additional FX2 digital-related commands This code is actually part of a larger set from Mike Krufky , to support ATSC streaming from within the pvrusb2 driver. More to come... Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 99a6acf9a7a80da49e85be964b15ffed9ab7643e Author: Mike Isely Date: Tue Apr 22 14:45:39 2008 -0300 V4L/DVB (7306): pvrusb2: Fix oops possible when claiming a NULL stream Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 7f421fe475726f0de55588a22c870e5cf35dc4f5 Author: Mike Isely Date: Tue Apr 22 14:45:39 2008 -0300 V4L/DVB (7305): pvrusb2: whitespace fixup Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e1edb19a001b25c0ce2e52a669cba6b6eb31883c Author: Michael Krufky Date: Tue Apr 22 14:45:39 2008 -0300 V4L/DVB (7304): pvrusb2: add function pvr2_hdw_cmd_powerdown Call pvr2_hdw_cmd_powerdown to power down the device Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit dbc40a0e582a88d2561d13d1fea4f3496bff9650 Author: Mike Isely Date: Tue Apr 22 14:45:39 2008 -0300 V4L/DVB (7303): pvrusb2: Ensure that default input selection is actually valid Previously the pvrusb2 driver just started with the default input to be "television". But if the device doesn't support an analog tuner then this default must be different. New logic here selects a reasonable default based on the actual valid set of available inputs. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit fdf256f3374d5060e3714651b45b8450b7dc4349 Author: Mike Isely Date: Tue Apr 22 14:45:38 2008 -0300 V4L/DVB (7302): pvrusb2: Improve control validation for enumerations When an enumeration control is changed, the pvrusb2 driver assumed that the enumeration values were continuous. That is no longer true; this change allows for properly input validation even when not all enumeration values are legal (which can happen with input selection based on what the hardware supports). Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit bedbbf8be2f28c9f8a8cf1e2ead4fda8b5f47103 Author: Mike Isely Date: Tue Apr 22 14:45:38 2008 -0300 V4L/DVB (7301): pvrusb2: Implement addition sysfs tracing Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit beb0ecd7f02f1a2da174b450d096e00530b3e8e8 Author: Mike Isely Date: Tue Apr 22 14:45:38 2008 -0300 V4L/DVB (7300): pvrusb2: v4l2 implementation fixes for input selection Now that the pvrusb2 driver can dynamically choose which inputs to make available depending on the hardware, the enumeration of input choices is no longer a contiguous range of integers. Unfortunately this causes a problem in the v4l2 implementation since the input enumeration requires continuity in the API. This change implements a mapping in order to preserve the v4l2 interface requirement. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 7fb20fa38caaf5c9d1b1d60b181c99ca30122520 Author: Mike Isely Date: Tue Apr 22 14:45:37 2008 -0300 V4L/DVB (7299): pvrusb2: Improve logic which handles input choice availability Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 895c3e8bfec9738251da9a2a8592dab15ec3a1bd Author: Mike Isely Date: Tue Apr 22 14:45:37 2008 -0300 V4L/DVB (7298): pvrusb2: Account for dtv choice (a bit) in v4l2 implementation The v4l2 implementation in pvru2b2 must produce a sane answer when asked, when the input choice is set to dtv. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 29bf5b1d754a9a64f68c37938e1a0b7b63b724ba Author: Mike Isely Date: Tue Apr 22 14:45:37 2008 -0300 V4L/DVB (7297): pvrusb2: Dynamically control range of input selections This follows from defining the available inputs as device attributes. This change causes the driver to adjust its list of inputs based on those attributes. Now, for example, the FM radio will appear as a choice only if the hardware supports an FM radio. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1aaac60fec0d3ba8043838c6eac86de987cfe5c1 Author: Mike Isely Date: Tue Apr 22 14:45:36 2008 -0300 V4L/DVB (7296): pvrusb2: Define device attributes for all input modes Different devices support different input types. Up until now we've really been assuming that everyone has an analog tuner, an FM radio, composite, and s-video inputs. But as we add other devices, these assumptions are no longer true. The way to deal with this is to define the available inputs as additional device attributes, so that the driver can adjust its internal behavior accordingly. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit d068c6eec94c370a445a32f2f092c90798d47ca3 Author: Mike Isely Date: Tue Apr 22 14:45:36 2008 -0300 V4L/DVB (7295): pvrusb2: add device attributes for fm radio and digital tuner Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 27dea3eb667c058eebf2eb8a090f0e20333386e9 Author: Wojciech Migda Date: Tue Apr 22 14:45:36 2008 -0300 V4L/DVB (7294): : tuner and radio addresses are missing for the PixelView PlayTV card The PixelView PlayTV card definition structure was missing initialization of the tuner_addr and radio_addr fields. As a result it was impossible to have the tuner initialized using parameters specified while loading the bttv.ko module. This regression became visible after the v4l rearrangements introduced somewhere around 2.6.15 kernel version. The root cause for the tuner initialization failure is located in the attach_inform function in the bttv-i2c.c file. There at the very beginning the addr variable holding the tuner device address is initialized with the value taken from the bttv_tvcards array. For the PixelView PlayTV card the tuner address field (and the radio address as well) was uninitialized, and thus equal 0. Later in that function execution of the TUNER_SET_TYPE_ADDR tuner command is guarded with check for the tuner address either equal ADDR_UNSET, or client->addr. Since both are non-zero (the latter in case of the card owned by me at the runtime is equal 0x61) the TUNER_SET_TYPE_ADDR command is not executed, and consequently in the tuner_attach function in the tuner-core.c file call to i2c_attach_client does not result in assigning the tuner type variable with the requested value. Providing initialization of the tuner_addr and radio_addr with ADDR_UNSET values as it is already done for other tv cards defined in bttv-cards.c ensures that the tuner initialization is done correctly, just as it used to be in the 2.6.14 kernel. Signed-off-by: Wojciech Migda Signed-off-by: Mauro Carvalho Chehab commit b01cd937895ad4114a07114cfb6b8b5d2be52241 Author: Peter Hartley Date: Tue Apr 22 14:45:36 2008 -0300 V4L/DVB (7293): DMX_OUT_TSDEMUX_TAP: record two streams from same mux, resend Currently (in linux-2.6.24, but linux-dvb hg looks similar), the dmx_output_t in the dmx_pes_filter_params decides two things: whether output is sent to demux0 or dvr0 (in dmxdev.c:dvb_dmxdev_ts_callback), *and* whether to depacketise TS (in dmxdev.c:dvb_dmxdev_filter_start). As it stands, those two things can't be set independently: output destined for demux0 is depacketised, output for dvr0 isn't. This is what you want for capturing multiple audio streams from the same multiplex simultaneously: open demux0 several times and send depacketised output there. And capturing a single video stream is fine not what you want: you want multi-open (so demux0, not dvr0), but you want the TS nature preserved (because that's what you want on output, as you're going to re-multiplex it with the audio). At least one existing solution -- GStreamer -- sends all its streams simultaneously via dvr0 and demuxes again in userland, but it seems a bit of a shame to pick out all the PIDs in kernel, stick them back together in kernel, and send them to userland only to get unpicked again, when the alternative is such a small API addition. The attached patch adds a new value for dmx_output_t: DMX_OUT_TSDEMUX_TAP, which sends TS to the demux0 device. With this patch and a dvb-usb-dib0700 (and UK Freeview from Sandy Heath), I can successfully capture an audio/video PID pair into a TS file that mplayer can play back. Signed-off-by: Peter Hartley Acked-by: Andreas Oberritter Signed-off-by: Mauro Carvalho Chehab commit 3c66e4e18b250f4524f24fd5b4ccdcd12bef9cc2 Author: Michael Krufky Date: Tue Apr 22 14:45:35 2008 -0300 V4L/DVB (7289): cx88: enable IR receiver and real time clock on FusionHDTV7 Gold Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 76464d412a5a51633881078d4109212e4463e8d4 Author: Michael Krufky Date: Tue Apr 22 14:45:35 2008 -0300 V4L/DVB (7288): cx88: fix GPIO for FusionHDTV 7 Gold input selection Fix GPIO for FusionHDTV 7 Gold tv / s-video / composite input selection. Fix card textual name to match other FusionHDTV device names. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1117d6ba1313b8821b10403de114c38764008c45 Author: Steven Toth Date: Tue Apr 22 14:45:34 2008 -0300 V4L/DVB (7287): cx88: add analog support for DVICO FusionHDTV7 Gold Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a58858556deb03ea4a464f84fe888692867ce377 Author: Marcin Slusarz Date: Tue Apr 22 14:45:33 2008 -0300 V4L/DVB (7286): limit stack usage of ir-kbd-i2c.c ir_probe allocated struct i2c_client on stack; it's pretty big structure, so allocate it with kzalloc make checkstack output without this patch: x059d ir_probe [ir-kbd-i2c]: 1000 Signed-off-by: Marcin Slusarz Signed-off-by: Mauro Carvalho Chehab commit 1c3bf598cf794558694c8beb0c8c7056a81dbe04 Author: Douglas Schilling Landgraf Date: Tue Apr 22 14:45:33 2008 -0300 V4L/DVB (7283): videobuf-dma-sg: Remove unused variable Removed warning message: - videobuf-dma-sg.c: In function 'videobuf_dma_unmap': - videobuf-dma-sg.c:281: warning: unused variable 'dev' Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit e43d76b40d3fda146b9cd1192c5504a257603b70 Author: Brandon Philips Date: Tue Apr 22 14:45:32 2008 -0300 V4L/DVB (7281): v4l: Deadlock in videobuf-core for DQBUF waiting on QBUF Avoid a deadlock where DQBUF is holding the vb_lock while waiting on a QBUF which also needs the vb_lock. Reported by Hans Verkuil . Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 9dc4e48fbea5412127ce2eb30d688c4fc55f5565 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:45:32 2008 -0300 V4L/DVB (7276): soc-camera: deactivate cameras when not used Only attach cameras to the host interface for probing, then detach until open. This allows platforms with several cameras on an interface, physically supporting only one camera, to handle multiple cameras and activate them selectively after initial probing. The first attach during probe is needed to activate the host interface to be able to physically communicate with cameras. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 6f2896756c4f1d4df5bd30599e6444c9513cfe8d Author: Harvey Harrison Date: Tue Apr 22 14:45:32 2008 -0300 V4L/DVB (7274): dabusb: fix shadowed variable warning in dabusb.c drivers/media/video/dabusb.c:208:6: warning: symbol 'buffers' shadows an earlier one drivers/media/video/dabusb.c:63:12: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Mauro Carvalho Chehab commit 1744a7770c27a709c464ce51617c2b31721db165 Author: Harvey Harrison Date: Tue Apr 22 14:45:32 2008 -0300 V4L/DVB (7273): suppress compound statement warning in dvb-bt8xx.c Prevailing kernel style seems to prefer always using braces for do {} while (). Add braces to dprintk to suppress the sparse warnings: drivers/media/dvb/bt8xx/dvb-bt8xx.c:73:2: warning: do-while statement is not a compound statement drivers/media/dvb/bt8xx/dvb-bt8xx.c:93:2: warning: do-while statement is not a compound statement drivers/media/dvb/bt8xx/dvb-bt8xx.c:529:2: warning: do-while statement is not a compound statement drivers/media/dvb/bt8xx/dvb-bt8xx.c:614:4: warning: do-while statement is not a compound statement drivers/media/dvb/bt8xx/dvb-bt8xx.c:629:4: warning: do-while statement is not a compound statement drivers/media/dvb/bt8xx/dvb-bt8xx.c:639:4: warning: do-while statement is not a compound statement drivers/media/dvb/bt8xx/dvb-bt8xx.c:883:2: warning: do-while statement is not a compound statement drivers/media/dvb/bt8xx/dvb-bt8xx.c:917:2: warning: do-while statement is not a compound statement Signed-off-by: Harvey Harrison Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b573ea0a936eb2a7c6c57cdacb0d02bd358495a7 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:31 2008 -0300 V4L/DVB (7271): cx88-cards: Fix powerangel gpio1 With this gpio, audio works properly. Thanks to Daniel Fraga for helping on fixing the code for Powerangel Real board. Signed-off-by: Mauro Carvalho Chehab commit c4a3ce1cd0c0ac394d1d56d8e0980b6836661341 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:31 2008 -0300 V4L/DVB (7270): cx88-dvb: Renames pci_nano callback This callback is specific to pci_nano, since supports only dvb. Renames it to avoid future mistakes. Signed-off-by: Mauro Carvalho Chehab commit 8cd7bf333671196e191bda62907b3b26e21da395 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:30 2008 -0300 V4L/DVB (7269): cx88: Powercolor Angel works only with firmware version 2.5 Signed-off-by: Mauro Carvalho Chehab commit 23fb348d00da9c1558b4a9b234b9ac941091b0f1 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:30 2008 -0300 V4L/DVB (7266): cx88-dvb: convert attach_xc3028 into a function Signed-off-by: Mauro Carvalho Chehab commit 64016330b60e44db1383122a11611073fe98f261 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:30 2008 -0300 V4L/DVB (7265): cx88: prints an info when xc2028 is set or is attached Signed-off-by: Mauro Carvalho Chehab commit 0f19e65bc5dcd30f1c5d72f56f6a9a2dc01698f3 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:29 2008 -0300 V4L/DVB (7264): cx88-cards: always use a level on printk messages Signed-off-by: Mauro Carvalho Chehab commit c450e50e8d6a0876431a744f1df9fdd5c2732b07 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:28 2008 -0300 V4L/DVB (7263): Some cleanups at cx88 callback methods Signed-off-by: Mauro Carvalho Chehab commit bc36a686a65dd9b941463ff894a3868c62851186 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:27 2008 -0300 V4L/DVB (7262): Add support for xc3028-based boards This patch adds support for the following saa7134 xc3028 based boards: 132 -> AVerMedia Cardbus TV/Radio (E506R) [1461:f436] 133 -> AVerMedia Hybrid TV/Radio (A16D) [1461:f936] 134 -> Avermedia M115 [1461:a836] 135 -> Compro VideoMate T750 [185b:c900] This is based on a original patch thanks to Markus Rechberger that added xc3028 gpio init code for the above boards. This patch moves saa7134_tuner_callback to saa7134-cards, originally used only by tda8290 DVB-S boards. The callback was made more generic to support other tuners. Currently, it supports both tda8290 and xc2028/xc3028 tuners. Added also the basis for xc5000 tuner callback. Signed-off-by: Mauro Carvalho Chehab commit 446018d80736ab16a117ce0db5a20467c91a0f90 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:20 2008 -0300 V4L/DVB (7261): Use the same callback argument as xc3028 and xc5000 Signed-off-by: Mauro Carvalho Chehab commit 1fe8736955515f5075bef05c366b2d145d29cd44 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:20 2008 -0300 V4L/DVB (7260): tuner-xc3028: Don't check return code for clock reset Only tm6000 needs to be aware when a frequency is being changed. This seems to improve channel change detection. Other bridges don't need this. So, better to discard any errors if this fails, and proceed changing the channels. Signed-off-by: Mauro Carvalho Chehab commit 8765561fc88131bbc9a6246010c15b63595ec35e Author: Chris Pascoe Date: Tue Apr 22 14:45:15 2008 -0300 V4L/DVB (7259): FusionHDTV DVB-T Pro tuning problem fixes It seems that on this board, the demodulator provides the pullup on the I2C bus, which means that calling i2c_gate_ctrl crashes the bus. Turn this off and the xc3028 can talk OK. Also fix some GPIO related settings that became more clear through working on this. Some changes made by Mauro Chehab to allow merging it with some other xc3028 patches. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit b3fb91d20ca111316854a166ff88b0c8c0f2388b Author: Chris Pascoe Date: Tue Apr 22 14:45:15 2008 -0300 V4L/DVB (7258): Support DVB-T tuning on the DViCO FusionHDTV DVB-T Pro Add support for tuning DVB-T channels on DViCO's FusionHDTV DVB-T Pro board. The IR remote and analog tuner are not supported at this time. Some changes made by Mauro Chehab to allow merging it with some other xc3028 patches. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 9507901ef329b2dd3417372c7c9b2abcfd5c1885 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:15 2008 -0300 V4L/DVB (7257): cx88: Add xc2028/3028 boards This patch ports a patch from Markus Rechberger to work with tuner-xc2028. It adds entries for several cx88 boards with xc2038/3028 tuners. Signed-off-by: Mauro Carvalho Chehab commit c2cb8fcc006ce59255de67e3fe9f65fb79db633b Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:14 2008 -0300 V4L/DVB (7256): cx88: Add support for tuner-xc3028 Callback gpio's based on Markus Rechberger, Christopher Pascoe and Steven Toth patches. Signed-off-by: Mauro Carvalho Chehab commit 8efd2e28265ca031072d8d94cdbdd53904ce9b2d Author: Michael Krufky Date: Tue Apr 22 14:45:14 2008 -0300 V4L/DVB (7254): cx88: fix FusionHDTV 5 PCI nano name and enable IR support load ir-kbd-i2c for IR remote control support on DViCO FusionHDTV 5 PCI nano Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5c00fac0bab95a378e60c1a67e3d3c5ac44df412 Author: Steven Toth Date: Tue Apr 22 14:45:14 2008 -0300 V4L/DVB (7252): cx88: Add support for the Dvico PCI Nano ATSC is known to work. SVideo / Composite should work (I have no cable to test). Analog tuner support does not work. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 7102b773d538c1f064da22ae9a1fb86704747388 Author: Guennadi Liakhovetski Date: Tue Apr 15 02:57:48 2008 -0300 V4L/DVB (7250): Clean up pxa-camera driver, remove non-functional and never tested pm-support This patch addresses most issues pointed out by Russell and Erik, moves recently introduced into pxa-regs.h camera-specific defines into pxa_camera.c, removes dummy power-management functions, improves function-naming, etc. Signed-off-by: Guennadi Liakhovetski Acked-by: Russell King Signed-off-by: Mauro Carvalho Chehab commit bb55de3b0e3523469491a48c51dcf7c6738162b2 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:45:13 2008 -0300 V4L/DVB (7249): Fix advertised pixel formats in mt9m001 and mt9v022 Only advertise pixel formats, that we actually can support in the present configuration. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b1daf7e1233845db556ace20f80c7c531143498c Author: maximilian attems Date: Tue Apr 22 14:45:13 2008 -0300 V4L/DVB (7248): dabfirmware.h add missing license Received written ack from the dabusb author that the firmware is BSD licensed. As bonus clarify copyright holder. Signed-off-by: maximilian attems Acked-by: Deti Fliegl Signed-off-by: Mauro Carvalho Chehab commit 9b2e5c6bea4e2ddd5d66d23341f9763cbcad8de6 Author: Hans Verkuil Date: Tue Apr 22 14:42:16 2008 -0300 V4L/DVB (7245): ivtv: start timer for each DMA transfer The DMA timeout timer was started once for each set of DMA transfers, but it should be started for each single DMA transfer. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c9aec06f4a6029edd84022276e2bfadab5e85ade Author: Hans Verkuil Date: Tue Apr 22 14:42:15 2008 -0300 V4L/DVB (7244): ivtv: CROP is not supported for video capture CROPCAP suggests that video capture supports cropping, but this is not the case. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 88ab075aee974f70b7b0273a964810698c8a5b95 Author: Ian Armstrong Date: Tue Apr 22 14:42:14 2008 -0300 V4L/DVB (7243): ivtv: yuv framebuffer tracking The existing yuv code limits output to the display area occupied by the framebuffer. This patch allows the yuv output to be 'detached' via V4L2_FBUF_FLAG_OVERLAY. By default, the yuv output window will be restricted to the framebuffer dimensions and the output position is relative to the top left corner of the framebuffer. This matches the behaviour of previous versions. If V4L2_FBUF_FLAG_OVERLAY is cleared, the yuv output will no longer be linked to the framebuffer. The maximum dimensions are either 720x576 or 720x480 depending on the current broadcast standard, with the output position relative to the top left corner of the display. The framebuffer itself can be resized, moved and panned without affecting the yuv output. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 520ebe5f72ff450d7a73e8f669190254a5836093 Author: Tyler Trafford Date: Tue Apr 22 14:42:14 2008 -0300 V4L/DVB (7241): cx25840: code cleanup - Use min() - Eliminate extraneous variables Signed-off-by: Tyler Trafford Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 491215d81049bfda749ebda007ecd3ae8bee19e3 Author: Hans Verkuil Date: Tue Apr 22 14:42:14 2008 -0300 V4L/DVB (7240): tveeprom: remove obsolete i2c driver code The i2c driver code was once added for the out-of-tree ivtv driver, but the ivtv driver hasn't used that for a long time so this code can now be removed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4d34dccd5e8af3db8dbb594d6cd1ea74446dbf20 Author: Adrian Bunk Date: Tue Apr 22 14:42:13 2008 -0300 V4L/DVB (7238): make stk_camera_{suspend,resume}() static This patch makes the needlessly global stk_camera_{suspend,resume}() static. Signed-off-by: Adrian Bunk Acked-by: Jaime Velasco Juan Signed-off-by: Mauro Carvalho Chehab commit 0705135e59f8503e4dade4b3580fed77b1743b7c Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:13 2008 -0300 V4L/DVB (7237): Convert videobuf-dma-sg to generic DMA API videobuf-dma-sg does not need to depend on PCI. Switch it to using generic DMA API, convert all affected drivers, relax Kconfig restriction, improve compile-time type checking, fix some Coding Style violations while at it. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit f13613acfb1a71895ac886dc831d6ae4e20e241a Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:42:13 2008 -0300 V4L/DVB (7235): tuner-simple: fix a buffer overflow simple_set_tv() creates a buffer with 4 elements, and calls simple_std_setup(), passing &buffer[1]. This makes the 5th element of buffer to be initialized to 0, overriding some area outside the buffer. Also, simple_std_setup() receives a buffer as parameter, but the buffer is just overriden after the call, so, it doesn't make much sense to pass it as a parameter. This patch removes buffer[] from the function call, creating, instead, a local var to be used internally. Thanks to Axel Rometsch for pointing the issue. Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6a6179b6db401acde5798b4da0fdff32b126ee15 Author: Russell Kliese Date: Tue Apr 22 14:42:12 2008 -0300 V4L/DVB (7230): saa7134: add support for the MSI TV@nywhere A/D v1.1 card Signed-off-by: Russell Kliese Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 7b5b3f1765c9773ec9b10c3e5299ac001211a80d Author: Hermann Pitton Date: Tue Apr 22 14:42:12 2008 -0300 V4L/DVB (7229): saa7134: add support for the Creatix CTX953_V.1.4.3 Hybrid Signed-off-by: Hermann Pitton Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 1b1cee35defe792da9aab2757c28338731c46e84 Author: Hartmut Hackmann Date: Tue Apr 22 14:42:12 2008 -0300 V4L/DVB (7227): saa7134: fixed DVB-S support for Medion/Creatix CTX948 The I2C bus interface of the LNB supply sits behind the i2c gate of the tda10086, so wrappers were necessary for the set_voltage functions. For the time being, the board will show up as MD8800 Many thanks to Hermann Pitton for his help Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 6ab465a821756691009e58a51f1b4543cf1ae21a Author: Hartmut Hackmann Date: Tue Apr 22 14:42:11 2008 -0300 V4L/DVB (7226): saa7134: add support for the NXP Snake DVB-S reference design Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 4b1431ca1c98e26569c9b6cd6d06265cef9495ec Author: Hartmut Hackmann Date: Tue Apr 22 14:42:09 2008 -0300 V4L/DVB (7224): Initial DVB-S support for MD8800 /CTX948 Support is not complete yet and untested. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 26ec394e7c528e6f71e53a1335846328b8453ef5 Author: Hartmut Hackmann Date: Tue Apr 22 14:42:09 2008 -0300 V4L/DVB (7223): Add support for the ISL6405 dual LNB supply chip The chip can control 2 LNBs independently. The driver distinguishes them by evaluating the MSB of the override_set parameter of the isl6405_attach function. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 05b207924d558935080ac08776236e42aca1708c Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Apr 22 14:42:08 2008 -0300 V4L/DVB (7220): drivers/media/video/sn9c102/sn9c102_core.c Fix Unlikely(x) == y Fix Unlikely(x) == y Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Reviewed-by: Luca Risolia Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit ef6ad5c35ed7233e7aafcc5645a1470199b10cc7 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:08 2008 -0300 V4L/DVB (7218): Fix breakage in mt9m001 and mt9v022 driver if "CONFIG_GENERIC_GPIO is not set" Both camera drivers can function without GPIO support, in which case they will only support the 10 bit data width mode. But the two respective switch have to depend on CONFIG_GENERIC_GPIO. Additionally remove redundant gpio_is_valid tests - they are repeated in bus_switch_request() functions. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b4333a3baecfeee35317c03cf08952cc04bd149a Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:08 2008 -0300 V4L/DVB (7217): Replace NO_GPIO with gpio_is_valid() Upon suggestion by David Brownell use a gpio_is_valid() predicate instead of an explicit NO_GPIO macro. The respective patch to include/asm-generic/gpio.h has been accepted upstream. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 12afe3781870cad7b6bbe83a2f8c4dd9ec7bf214 Author: Michael Krufky Date: Tue Apr 22 14:42:07 2008 -0300 V4L/DVB (7214): tda18271: move init functions to directly above tda18271_tune Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d1c53424f3ba9cc46bf3dbc550a916dc1b8355ee Author: Michael Krufky Date: Tue Apr 22 14:42:07 2008 -0300 V4L/DVB (7213): tda18271: consolidate tune functions combine tda18271c1_tune and tda18271c2_tune into a single function Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4d2d42bcd8c73273f22d16ef4e619ce3f07f07d0 Author: Michael Krufky Date: Tue Apr 22 14:42:07 2008 -0300 V4L/DVB (7212): tda18271: move rf calibration code from tda18271c1_tune into a new function move rf calibration code from tda18271c1_tune into a new function, tda18271c1_rf_tracking_filter_calibration Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a60b866567001e97b5bdc9811aee155ae759e48f Author: Michael Krufky Date: Tue Apr 22 14:42:06 2008 -0300 V4L/DVB (7211): tda18271: remove duplicated channel configuration code from tda18271c1_tune remove duplicated channel configuration code from tda18271c1_tune, instead call function tda18271_channel_configuration Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e723ee00893f242cbccf5ef2faffdaa6afb8f244 Author: Brandon Philips Date: Tue Apr 22 14:42:06 2008 -0300 V4L/DVB (7204): remove V4L2_CID_SHARPNESS from meye.h and report private control as DISABLED - Continue to support the V4L2_CID_PRIVATE_BASE + 1 control in the ABI - Report the same control as V4L2_CID_SHARPNESS - Report the private control disabled via QUERYCTRL Signed-off-by: Brandon Philips Acked-by: Stelian Pop Signed-off-by: Mauro Carvalho Chehab commit 6d43cec87f9d9679a5c4adca7935dc8cf207f6ce Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:06 2008 -0300 V4L/DVB (7196): Lift videobuf-dma-sg's PCI dependency, until it is fixed videobuf-dma-sg.c should be converted to the generic DMA API to make it also useful for non-PCI configurations. Even now it can be used thanks to compatibility macros in include/asm-generic/pci-dma-compat.h. This has been verified to work on PXA270 CPU with the pxa_camera.c soc-camera driver. For this the following temporary work-around is needed. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit ab6c46e24a3c89c1e2d0d3959e119583e1bc92d9 Author: Michael Krufky Date: Tue Apr 22 14:42:05 2008 -0300 V4L/DVB (7184): make hybrid_tuner_request_state tolerant of devices without i2c adapters Some dvb demodulators access the tuner directly without using i2c. In these cases, i2c_adap may be NULL. This patch fixes hybrid_tuner_request_state to allow for NULL i2c_adapters. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bdb0aace95d42571ea054a56ed053f868336e13a Author: Steven Whitehouse Date: Tue Apr 22 14:42:05 2008 -0300 V4L/DVB (7178): Add two new fourcc codes for 16bpp formats This adds two new fourcc codes (as per info at fourcc.org) for 16bpp mono and 16bpp Bayer formats. Signed-off-by: Steven Whitehouse Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 7397bfbe10b52a47f1f6c69aa87192d97ffa1910 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:04 2008 -0300 V4L/DVB (7174): Add support for the MT9V022 camera This driver supports Micron MT9V022 colour camera. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit f523dd0da985ef618d6f986217f0dd0975072515 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:04 2008 -0300 V4L/DVB (7173): Add support for the MT9M001 camera This driver supports Micron MT9M001 monochrome and colour cameras. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 3bc43840c3fbffaf8216883a37b336a41050d7f7 Author: Guennadi Liakhovetski Date: Sun Apr 6 21:24:56 2008 -0300 V4L/DVB (7578a): V4L: V4L2 soc_camera driver for PXA270 This patch adds a driver for the Quick Capture Interface on the PXA270. It is based on the original driver from Intel, but has been re-worked multiple times since then, now it also supports the V4L2 API. This patch depends on a complementary patch, submitted to the ARM tree, providing PXA270 camera platform bindings. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit e55222ef27a2390d8abce27a3ce2d4c719ad5f1b Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:03 2008 -0300 V4L/DVB (7170): soc_camera V4L2 driver for directly-connected SoC-based cameras This driver provides an interface between platform-specific camera busses and camera devices. It should be used if the camera is connected not over a "proper" bus like PCI or USB, but over a special bus, like, for example, the Quick Capture interface on PXA270 SoCs. Later it should also be used for i.MX31 SoCs from Freescale. It can handle multiple cameras and / or multiple busses, which can be used, e.g., in stereo-vision applications. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a7c7402f68cf97c9a021466c04029f039f9f4f27 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:03 2008 -0300 V4L/DVB (7169): Add chip IDs for Micron mt9m001 and mt9v022 CMOS cameras Add V4L2_IDENT chip IDs for mt9m001 and mt9v022 cameras, will be used by future patches, primarily to implement the g_chip_ident ioctl. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit f9bd5843658e18a7097fc7258c60fb840109eaa8 Author: Brandon Philips Date: Tue Apr 22 14:42:02 2008 -0300 V4L/DVB (7167): [v4l] Add camera class control definitions Add all of the recently proposed camera class controls. These controls should appear in the next version of the v4l2spec. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 26d507fcfef7f7d0cd2eec874a87169cc121c835 Author: Brandon Philips Date: Tue Apr 22 14:42:02 2008 -0300 V4L/DVB (7166): [v4l] Add new user class controls and deprecate others These changes should appear in the next update of the v4l2spec. HCENTER and VCENTER are unused in the tree so I added a _DEPRECATED postfix so applications can remove their use. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 27a643b1a9eded6a1b54df2743a7fb4383fd0cf9 Author: Jan Engelhardt Date: Tue Apr 22 14:42:01 2008 -0300 V4L/DVB (7140): constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Mauro Carvalho Chehab commit c1b4d92789ada9ea6b7f1156ede7022eab309eab Author: Michael Krufky Date: Tue Apr 22 14:42:00 2008 -0300 V4L/DVB (7137): tuner: return number of instances remaining after hybrid_tuner_release_state Assign the number of instances remaining as the return value of hybrid_tuner_release_state, in case there is any extra cleanup that the tuner driver needs to do after an instance has been destroyed. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f9e315a16a5536120bac09a6d4217b8381c73c5c Author: Michael Krufky Date: Tue Apr 22 14:41:54 2008 -0300 V4L/DVB (7136): tda18271: use hybrid_tuner_request_state to manage tuner instances Convert tda18271 to use the new hybrid_tuner_request_state and hybrid_tuner_release_state macros to manage state sharing between hybrid tuner instances. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2756665c28a7d2e25d92745195b5171866e12da9 Author: Michael Krufky Date: Tue Apr 22 14:41:53 2008 -0300 V4L/DVB (7135): remove PREFIX from users of tuner_foo printk macros Store a pointer to the device name in the name field of struct tuner_i2c_props, so that we can remove the printk macros defined in tuner-i2c.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3c2a0865d06df23f755a7d36a1076965500e1228 Author: Michael Krufky Date: Tue Apr 22 14:41:52 2008 -0300 V4L/DVB (7134): tuner: create a macro for sharing state between hybrid tuner instances Create a macro implementing a standard method to share state amongst multiple instances of a hybrid tuner object. Also, prepare tuner_foo printk macros for the removal of PREFIX Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2e43c953bfd31f0104f916b2f39e6d3d8b1a3099 Author: Michael Krufky Date: Tue Apr 22 14:41:52 2008 -0300 V4L/DVB (7130): tuner: remove emacs c-basic-offset override block I'd prefer to leave this here, but official CodingStyle doesn't care what I think :-/ Remove the emacs format override block to comply with Kernel CodingStyle. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c7a9f3aa1e1b6c7ade5208b30683bec3553c3079 Author: Michael Krufky Date: Tue Apr 22 14:41:51 2008 -0300 V4L/DVB (7129): tuner-simple: move device-specific code into three separate functions Move the switch..case blocks with device-specific code from functions simple_set_tv_freq and simple_set_radio_freq ...into three new functions: simple_std_setup, simple_post_tune and simple_radio_bandswitch Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b65aa2605683d90966a16abc68112c1fd9e3f3d8 Author: Michael Krufky Date: Tue Apr 22 14:41:51 2008 -0300 V4L/DVB (7128): tuner: properly handle failed calls to simple_tuner_attach If simple_tuner_attach fails, set t->type to TUNER_ABSENT, set t->mode_mask to T_UNINITIALIZED, and exit the set_type function. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 060a5bd764a1d798c20eceeaac5399c672334960 Author: Michael Krufky Date: Tue Apr 22 14:41:51 2008 -0300 V4L/DVB (7127): tuner: remove dependency of tuner-core on tuner-types This patch fully removes the dependency of tuner-core on tuner-types. There is no longer any need to pass struct tunertype in attach-time config structure - instead pass the tuner type ID. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 65e8d29f7a37faaf9c73c633447bebd4b31b2c89 Author: Michael Krufky Date: Tue Apr 22 14:41:50 2008 -0300 V4L/DVB (7126): tuner: move tuner type ID check to simple_tuner_attach Move tuner type ID check from tuner-core::set_type to simple_tuner_attach. Since tuner-core forwards all attach requests to tuner-simple as the default case, unless a specific attach function is specified in set_type, this change is an appropriate cleanup. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 82b3083d2673e5fe8ac508071038b2b4c10bbf9c Author: Michael Krufky Date: Tue Apr 22 14:41:49 2008 -0300 V4L/DVB (7125): tuner: build tuner-types independently of tuner-core tuner-types is needed for tuner-simple, and does not need to be bound to tuner-core. Any caller of tuner-simple, including tuner-core, needs to pass a structure from tuner-types into tuner-simple at attach-time. Export the two needed symbols from tuner-types for now, so that card-level drivers can attach tuner-simple for hybrid dvb_frontend devices. We will remove this dependency altogether as tuner refactoring phase 3 progresses. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7f8447d13d3abaeb46d0e6ae2890a843aa09561f Author: Michael Krufky Date: Tue Apr 22 14:41:49 2008 -0300 V4L/DVB (7124): tuner-simple: display frequency in MHz fix debug in simple_config_lookup to display frequency in MHz Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit be71f7dc73d3afe6d6998a04d5c46d415c3bc62c Author: Michael Krufky Date: Tue Apr 22 14:41:48 2008 -0300 V4L/DVB (7123): tuner-simple: create separate t_params and ranges lookup functions Move some reuseable code out of simple_set_tv_freq into separate functions. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ff699e6bd02eb1c6d02c7c2b576c2ee6caab201c Author: Douglas Schilling Landgraf Date: Tue Apr 22 14:41:48 2008 -0300 V4L/DVB (7094): static memory - Static memory is always initialized with 0. - Replaced in some cases C99 comments for /* */ Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 29bec0bff50d8f8b108ed22e9981eb4635efc566 Author: Adrian Bunk Date: Tue Apr 22 14:41:45 2008 -0300 V4L/DVB (7114): tuner-xc2028.c: make a function static dump_firm_type_and_int_freq() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 763896c4b4d030b71880f5cb0ea0dfa7bb5ab96f Author: Adrian Bunk Date: Tue Apr 22 14:41:45 2008 -0300 V4L/DVB (7107): frontends/xc5000.c: make a struct static struct XC5000_Standard[] can become static. Signed-off-by: Adrian Bunk Reviewed-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 5eedc466758b5743512d38b5d1eab6f799a39e00 Author: Adrian Bunk Date: Tue Apr 22 14:41:44 2008 -0300 V4L/DVB (7105): ivtv-yuv.c: make 3 functions static This patch makes the following needlessly global functions static: - ivtv_yuv_next_free() - ivtv_yuv_setup_frame() - ivtv_yuv_udma_frame() Signed-off-by: Adrian Bunk Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9ba0a3c0e8147e5c8d04f2b284c44222af517307 Author: Michael Krufky Date: Tue Apr 22 14:41:44 2008 -0300 V4L/DVB (7087): tuner-simple: whitespace / comments / codingstyle cleanups Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a7f796a60bb5dcdc154c3ae04d484a395a60809f Author: Steve French Date: Thu Apr 24 16:39:07 2008 +0000 [CIFS] Fix typo in previous commit Signed-off-by: Steve French commit 346ad4b7fe392571f19314f153db9151dbc1d82b Merge: 845199f... 2dc63a8... Author: Linus Torvalds Date: Thu Apr 24 09:33:34 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (85 commits) Blackfin char driver for Blackfin on-chip OTP memory (v3) Blackfin Serial Driver: fix bug - use mod_timer to replace only add_timer. Blackfin Serial Driver: the uart break anomaly has been given its own number, so switch to it Blackfin Serial Driver: use BFIN_UART_NR_PORTS to help SIR driver in uart port. Blackfin Serial Driver: Fix bug - kernel hangs when accessing uart 0 on bf537 when booting u-boot and linux on uart 1 Blackfin Serial Driver: punt unused lsr variable Blackfin Serial Driver: Enable IR function when user application (irattach /dev/ttyBFx -s) call TIOCSETD ioctl with line discipline N_IRDA [Blackfin] arch: add include/boot .gitignore files [Blackfin] arch: Functional power management support: Add support for cpu frequency scaling [Blackfin] arch: Functional power management support: Remove broken cpu frequency scaling drivers [Blackfin] arch: Equalize include files: Add PLL_DIV Masks [Blackfin] arch: Add a warning about the value of CLKIN. [Blackfin] arch: take DDR DEVWD into consideration as well for BF548 [Blackfin] arch: Remove the circular buffering mechanism for exceptions [Blackfin] arch: lose unnecessary dependency on CONFIG_BFIN_ICACHE for MPU [Blackfin] arch: fix bug - before assign new channel to the map register, need clear the bits first. [Blackfin] arch: add Blackfin on-chip SIR IrDA driver support [Blackfin] arch: BF54x memsizes are in mbits, not mbytes [Blackfin] arch: try to remove condition that causes double fault, by checking current before it gets dereferenced [Blackfin] arch: Update anomaly list. ... commit 2dc63a84b2db23b9680646aff93917211613bf1a Author: Mike Frysinger Date: Fri Apr 25 08:04:56 2008 +0800 Blackfin char driver for Blackfin on-chip OTP memory (v3) initial char driver for otp memory (only read supported atm ... needs real examples/docs for write support) v2-v3: - fixup __initdata with __initconst, as we are heading for 2.6.26 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Jiri Slaby commit 0a2784233785226fe5882c8af15118476f89e98e Author: Sonic Zhang Date: Fri Apr 25 04:36:47 2008 +0800 Blackfin Serial Driver: fix bug - use mod_timer to replace only add_timer. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=4045 If adding timer in both timer handler and rx interrupt, a timer may be added when it is till in the pending list. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 50e2e15afaac59c955f43d78d0a1e53cf8a76370 Author: Mike Frysinger Date: Fri Apr 25 03:03:03 2008 +0800 Blackfin Serial Driver: the uart break anomaly has been given its own number, so switch to it Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2ade972996feb8f81d7cf2deaf8321e33770c91a Author: Graf Yang Date: Fri Apr 25 02:55:49 2008 +0800 Blackfin Serial Driver: use BFIN_UART_NR_PORTS to help SIR driver in uart port. Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit ee4987ab5cc9d00be38cfeec90174229565211be Author: Steve French Date: Thu Apr 24 16:31:12 2008 +0000 [CIFS] Fix define for new proxy cap to match documentation The transport encryption capability and new SetFSInfo level were missing, and the new proxy capability (which Samba server is implementing) and proxy setfsinfo needed to be moved down to not collide with Samba's transport encryption capability. CC: Jeremy Allison CC: Sam Liddicott Signed-off-by: Steve French commit 845199f194306dbd69ca42d3b40a5125cdb50b89 Merge: 38ccc19... 0d62623... Author: Linus Torvalds Date: Thu Apr 24 08:42:21 2008 -0700 Merge branch 'irq-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'irq-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6: arm/mach-integrator/time.c, mwave: revert portions of recent irq cleanups commit 38ccc197eb85cad594eb5863ba5a408655da0062 Merge: d02aacf... 3a841d5... Author: Linus Torvalds Date: Thu Apr 24 08:41:44 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (250 commits) [ALSA] ice1724 - Fix IRQ lock-up with MPU access [ALSA] Define MPU401 registers in sound/mpu401_uart.h [ALSA] pcsp: fix wording in DEBUG_PAGEALLOC warning [ALSA] pcsp - Fix dependency in Kconfig [ALSA] soc - ac97 - Clean up checkpatch warnings [ALSA] soc - wm8750 - Clean up checkpatch warnings [ALSA] soc - wm8731 - Clean up checkpatch warnings [ALSA] soc - pxa2xx-pcm - Fix checkpatch warnings [ALSA] soc - spitz - Fix checkpatch warnings [ALSA] soc - poodle - Fix checkpatch warnings [ALSA] soc - corgi - Fix checkpatch warnings [ALSA] soc - s3c24xx-i2s - Add missing spaces [ALSA] soc - s3c24xx-i2s - Fix tab/space breakage [ALSA] soc - s3c24xx-i2s - Use linux/io.h [ALSA] hda - Fix Thinkpad X300 digital mic pcsp - Don't build pcspkr when snd-pcsp is enabled [ALSA] hda - Fix model for Acer Aspire 5720z [ALSA] soc - s3c24xx - Declare suspend and resume static [ALSA] soc - s3c24xx - Improve diagnostic output [ALSA] Fix possible races at free_irq in PCI drivers ... commit d02aacff4467806ee56f147ac8eff6911d95811a Merge: e270b51... 9edb74c... Author: Linus Torvalds Date: Thu Apr 24 08:40:34 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (22 commits) tun: Multicast handling in tun_chr_ioctl() needs proper locking. [NET]: Fix heavy stack usage in seq_file output routines. [AF_UNIX] Initialise UNIX sockets before general device initcalls [RTNETLINK]: Fix bogus ASSERT_RTNL warning iwlwifi: Fix built-in compilation of iwlcore (part 2) tun: Fix minor race in TUNSETLINK ioctl handling. ppp_generic: use stats from net_device structure iwlwifi: Don't unlock priv->mutex if it isn't locked wireless: rndis_wlan: modparam_workaround_interval is never below 0. prism54: prism54_get_encode() test below 0 on unsigned index mac80211: update mesh EID values b43: Workaround DMA quirks mac80211: fix use before check of Qdisc length net/mac80211/rx.c: fix off-by-one mac80211: Fix race between ieee80211_rx_bss_put and lookup routines. ath5k: Fix radio identification on AR5424/2424 ssb: Fix all-ones boardflags b43: Add more btcoexist workarounds b43: Fix HostFlags data types b43: Workaround invalid bluetooth settings ... commit e270b51df657011983241ec61a1fc7de186e16cd Merge: 8fa8279... 227739b... Author: Linus Torvalds Date: Thu Apr 24 08:37:29 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: (23 commits) sparc: sunzilog uart order [SPARC64]: Detect trap frames in stack backtraces. [SPARC64]: %l6 trap return handling no longer necessary. [SPARC64]: Use trap type stored in pt_regs to handle syscall restart. [SPARC64]: Store magic cookie and trap type in pt_regs. [SPARC64]: PROM debug console can be CON_ANYTIME. sparc64: cleanup after SunOS/Solaris binary emulation removal sparc: cleanup after SunOS binary emulation removal [SPARC64]: Add NUMA support. [SPARC64]: Allocate TSB node-local. [SPARC64]: NUMA device infrastructure. [SPARC64]: Kill pci_iommu_table_init() declaration. [SPARC64]: Once we have the boot cmdline, call parse_early_param() [SPARC64]: Remove unused asm-sparc64/numnodes.h [SPARC64]: Decrease SECTION_SIZE_BITS to 30. [SPARC64]: Initialize MDESC earlier and use lmb_alloc() [SPARC64]: Use lmb_alloc() for PROM device tree. [SPARC64]: Call real_setup_per_cpu_areas() earlier and use lmb_alloc(). [SPARC64]: Fully use LMB information in bootmem_init(). [SPARC64]: Start using LMB information in bootmem_init(). ... commit 8fa82790fb9dfe57aeafc8de6b6a5c1df63efa06 Merge: 2444e56... 4a1fd55... Author: Linus Torvalds Date: Thu Apr 24 08:36:11 2008 -0700 Merge branch 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm * 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] fix 48d7927bdf071d05cf5d15b816cf06b0937cb84f [ARM] 5010/1: htc-pasic3: remove unused defines and includes [ARM] pxa: fix 0e623941bec7e80c97b076d346327b31ae17d84a [ARM] fix lh7a40x/kev7a400 build commit 2444e56b0c08e6f3e3877583841a1213e3263d98 Author: Ivan Kokshaysky Date: Thu Apr 24 16:54:50 2008 +0400 alpha: unbreak OSF/1 (a.out) binaries OSF/1 brk(2) was broken by following one-liner in sys_brk() (commit 4cc6028d4040f95cdb590a87db478b42b8be0508): - if (brk < mm->end_code) + if (brk < mm->start_brk) goto out; The problem is that osf_set_program_attributes() does update mm->end_code, but not mm->start_brk, which still contains inappropriate value left from binary loader, so brk() always fails. Signed-off-by: Ivan Kokshaysky Signed-off-by: Linus Torvalds commit 72cff12397cd6648b8b5abfaeb00502f45b76cb8 Author: Ivan Kokshaysky Date: Thu Apr 24 16:51:55 2008 +0400 alpha: fix legacy mode PCI IDE controllers Legacy IDE resources were never properly allocated on most alpha platforms, so IDE expectedly stopped working after commit 10f000a2fd805e8ccfe988e8615545467bb7f7df (generic pci_enable_resources). Always allocate "fixed" PCI resources before doing anything else; remove Cypress IDE quirk, as it's a generic problem which is handled in common PCI probe code. Signed-off-by: Ivan Kokshaysky Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 36d99df2fb474222ab47fbe8ae7385661033223b Merge: 076d842... 3dc5063... Author: Steve French Date: Thu Apr 24 15:26:50 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 8911c9e3343c647b59727b47b10feca7ee9ac9c3 Author: Sergei Shtylyov Date: Fri Apr 18 23:39:03 2008 +0400 [SCSI] aic79xx: fix MMIO for PPC 44x platforms The driver stores the PCI resource address into 'u_long' variable before calling ioremap_nocache() on it. This warrants kernel oops when the registers are accessed on PPC 44x platforms which (being 32-bit) have PCI memory space mapped beyond 4 GB. The arch/ppc/ kernel has a fixup in ioremap() that helps create an illusion that the PCI memory resources are mapped below 4 GB, but arch/powerpc/ code got rid of this trick, having instead CONFIG_RESOURCES_64BIT enabled. Signed-off-by: Sergei Shtylyov Signed-off-by: James Bottomley commit 448504130f18bc9d8d10ba045775c906abd01438 Author: Sergei Shtylyov Date: Fri Apr 18 23:30:45 2008 +0400 [SCSI] aic7xxx: fix MMIO for PPC 44x platforms The driver stores the PCI resource address into 'u_long' variable before calling ioremap_nocache() on it. This warrants kernel oops when the registers are accessed on PPC 44x platforms which (being 32-bit) have PCI memory space mapped beyond 4 GB. The arch/ppc/ kernel has a fixup in ioremap() that helps create an illusion that the PCI memory resources are mapped below 4 GB, but arch/powerpc/ code got rid of this trick, having instead CONFIG_RESOURCES_64BIT enabled. Signed-off-by: Sergei Shtylyov Signed-off-by: James Bottomley commit be0d67680d524981dd65c661efe3c9cbd52a684f Author: Denys Vlasenko Date: Sun Mar 23 04:41:22 2008 +0100 [SCSI] aic7xxx, aic79xx: deinline functions Deinlines and moves big functions from .h to .c files. Adds prototypes for ahc_lookup_scb and ahd_lookup_scb to .h files. Signed-off-by: Denys Vlasenko Signed-off-by: James Bottomley commit d3930614e68bdf83a120d904c039a64e9f75dba1 Author: Dmitry Baryshkov Date: Mon Apr 21 11:54:13 2008 +0100 [ARM] 5014/1: Cleanup reset state before entering suspend or resetting. The kernel should clean stale bits from reset status, so that they won't confuse the bootloader. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 406b1ea441cb86671c5b57d2ce722d217914d524 Author: Mike Rapoport Date: Mon Apr 21 10:56:32 2008 +0100 [ARM] 5013/1: Change ITE8152 interrupt numbers The patch kills the use of IRQ_GPIO() and adds #if NR_IRQS < (IT8152_LAST_IRQ+1) statement. Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 5826042d3c550522e49a8a55db64d9c47b43a8f9 Author: Philipp Zabel Date: Sun Apr 20 17:42:59 2008 +0100 [ARM] 5011/1: htc-pasic3: fix bug in resource pipe-through to ds1wm The newly created DS1WM platform device should get a copy of the PASIC3 platform devices' resources. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 0d626239ffe515a64a6b53c70896796f621c635c Author: Jeff Garzik Date: Thu Apr 24 08:35:37 2008 -0400 arm/mach-integrator/time.c, mwave: revert portions of recent irq cleanups The recent irq cleanups for arch/arm/mach-integrator/time.c and drivers/char/mwave/tp3780i.c changed the request_irq() dev_id parameter, but neglected to change the matching free_irq() parameter, thus creating a bug upon irq de-registration. Given that the impetus for the changes is not yet accepted upstream, it is best to revert the irq cleanups. Mostly. A comment is added to time.c to reduce future confusion, of type that led to my time.c cleanup in the first place. Signed-off-by: Jeff Garzik commit 884d04cd8d7bba3dc885227ad400f8aea5623cdc Author: Ishizaki Kou Date: Thu Apr 24 20:27:39 2008 +1000 [POWERPC] celleb: Add support for PCI Express This adds support for PCI Express port on Celleb. I/O space of this PCI Express port is not mapped in memory space. So we use the io-workaround mechanism to make accesses indirect. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit ad2c6987978d17b58204926e9be776955935f8b1 Author: Ishizaki Kou Date: Thu Apr 24 19:31:40 2008 +1000 [POWERPC] celleb: Move miscellaneous files for Beat This moves miscellaneous files for Beat into platforms/cell/. All files in this patch are used by celleb-beat only. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit c11dde85b62f9811eb2db656d9b0b4ad23d94871 Author: Ishizaki Kou Date: Thu Apr 24 19:29:50 2008 +1000 [POWERPC] celleb: Move a file for SPU on Beat This moves SPU support code on Beat into platforms/cell/. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 8ae6e30d2d6b4a7a45bb0d4fa4ecd56e65d24740 Author: Ishizaki Kou Date: Thu Apr 24 19:28:48 2008 +1000 [POWERPC] celleb: Move files for Beat mmu and iommu This moves files for mmu and iommu on Beat into platforms/cell/. All files in this patch are used by celleb-beat only. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 5a96dfe84b53cc05abe8c7f4d1dfd7b03a3e314a Author: Ishizaki Kou Date: Thu Apr 24 19:27:32 2008 +1000 [POWERPC] celleb: Move files for Beat hvcall interfaces This moves files for Beat hvcall interfaces into platforms/cell/. All files in this patch are used by celleb-beat only. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 11eef455c2834e192c6ffe9f3ffd09af70fafe81 Author: Ishizaki Kou Date: Thu Apr 24 19:26:28 2008 +1000 [POWERPC] celleb: Move the SCC related code for celleb This moves the SCC (Super Companion Chip) related code for celleb into platforms/cell/. All files in this patch are used by celleb-beat and celleb-native commonly. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 116bdc425c7e01e97cff2f3e6d0134511e8f13e3 Author: Ishizaki Kou Date: Thu Apr 24 19:25:16 2008 +1000 [POWERPC] celleb: Move the files for celleb base support This moves the base code for celleb support into platforms/cell/. All files in this patch are used by celleb-beat and celleb-native commonly. Signed-off-by: Kou Ishizaki Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6ec859e1b21ab42bfc36bb3b51db275480165c8a Author: Ishizaki Kou Date: Thu Apr 24 19:24:13 2008 +1000 [POWERPC] celleb: Consolidate io-workarounds code Now, we can use generic io-workarounds mechanism and the workaround code for spider-pci. This changes Celleb PCI code to use spider-pci code. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7cfb62a2e820b6032c08835dbd996d8518af14a3 Author: Ishizaki Kou Date: Thu Apr 24 19:21:10 2008 +1000 [POWERPC] cell: Generalize io-workarounds code This splits cell io-workaround code into spider-pci dependent code and a generic part, and also moves io-workarounds initialization into cell_setup_phb. Signed-off-by: Kou Ishizaki Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 36f8a2c4c61e3559a95190e457b431c6900859b4 Author: Michael Ellerman Date: Thu Apr 24 15:13:21 2008 +1000 [POWERPC] Add CONFIG_PPC_PSERIES_DEBUG to enable debugging for platforms/pseries Add a DEBUG config setting which turns on all (most) of the debugging under platforms/pseries. To have this take effect we need to remove all the #undef DEBUG's, in various files. We leave the #undef DEBUG in platforms/pseries/lpar.c, as this enables debugging printks from the low-level hash table routines, and tends to make your system unusable. If you want those enabled you still have to turn them on by hand. Also some of the RAS code has a DEBUG block which causes a functional change, so I've keyed this off a different (non-existant) debug #define. This is only enabled if you have PPC_EARLY_DEBUG enabled also. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit f7ebf352b2e04ee89efb426e33dd450d8f1cfcd5 Author: Michael Ellerman Date: Thu Apr 24 15:13:19 2008 +1000 [POWERPC] Convert from DBG() to pr_debug() in platforms/pseries/ In pseries/lpar.c, fix some printf specifier mismatches, and add a newline to one printk. In pseries/rtasd.c add "rtasd" to some messages to make it clear where they're coming from. In pseries/scanlog.c remove the hand-rolled runtime debugging support in there. This file has been largely unchanged for eons, if we need to debug it in future we can recompile. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit cb1e2ab45a92b31114dfe6e34832a084f9b0b263 Author: Michael Ellerman Date: Thu Apr 24 15:13:17 2008 +1000 [POWERPC] Register udbg console early on pseries LPAR On pseries LPAR we can call the udbg routines, and the udbg console very early. So mark the udbg console as safe to call early in boot, and register the udbg console as soon as the udbg routines are hooked up. This allows platforms/pseries code to use printk() and pr_debug() rather than needing to call udbg_printf() directly for early debugging. This is nice because a) it's standard, b) it goes via the printk buffer, and c) you can get printk time stamps. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit f336632f191ebf157aeea0f1e65eb1b263655ffc Author: Michael Ellerman Date: Thu Apr 24 15:13:14 2008 +1000 [POWERPC] Mark udbg console as CON_ANYTIME, ie. callable early in boot The udbg console should be safe to call basically at any time after boot. It does not need any per-cpu resources or for the cpu to be online, as long as there is a udbg_putc routine hooked up it should work. So mark it as CON_ANYTIME. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit c7afb4e22961b5ec88eb6f7b81260dafa9f287c7 Author: Michael Ellerman Date: Thu Apr 24 15:13:13 2008 +1000 [POWERPC] Set udbg_console index to 0 Because the udbg_console has CON_ENABLED set, it's possible that when we register it with the console code the index won't be set. This leads to slightly confusing boot messages like: [ 0.000000] console [udbg-1] enabled We could remove CON_ENABLED, but we don't want to do that, we always want the udbg console to be activated, even if the user specified some other console on the command line. The simplest fix seems to be just to set the index to 0 by hand. There is no issue with duplicate udbg consoles, as we guard against registering multiple times in register_early_udbg_console(). Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 90035fe378c7459ba19c43c63d5f878284224ce4 Author: Tony Breeds Date: Thu Apr 24 13:43:49 2008 +1000 [POWERPC] Raise the upper limit of NR_CPUS and move the pacas into the BSS This adds the required functionality to fill in all pacas at runtime. With NR_CPUS=1024 text data bss dec hex filename 137 1704032 0 1704169 1a00e9 arch/powerpc/kernel/paca.o :Before 121 1179744 524288 1704153 1a00d9 arch/powerpc/kernel/paca.o :After Also remove unneeded #includes from arch/powerpc/kernel/paca.c Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 9cb82f2f4692293a27c578c3038518ce4477de72 Author: Tony Breeds Date: Thu Apr 24 13:43:49 2008 +1000 [POWERPC] Make iSeries spin on __secondary_hold_spinloop, like pSeries Currently all iSeries secondary CPUs spin directly on the cpu_start field in their paca. Make them spin on the global __secondary_hold_spinloop until after the pacas have been initialised. As Stephen Rothwell points out, this works at the moment because __secondary_hold_spinloop is being set already, but iSeries isn't looking at it :) Signed-off-by: Tony Breeds Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 4ae2dcb633c751cfd27deeea5a8b13db35a84d9a Author: Kumar Gala Date: Thu Apr 24 13:20:16 2008 +1000 [POWERPC] Clean up misc_64.S * Removed get_msr(), get_srr0(), and get_srr1() - not used anywhere * Use STACK_FRAME_OVERHEAD instead of magic number Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 988479ebccc44e141d06ac55e4438d6b473008b5 Author: Michael Ellerman Date: Thu Apr 24 12:08:54 2008 +1000 [POWERPC] Use of_get_next_parent() in platforms/cell/axon_msi.c Replace two open-coded occurences of the of_get_next_parent() logic. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 5c02cd2fb83bd4a11270eeb6682e507f04897837 Author: Michael Ellerman Date: Thu Apr 24 12:08:22 2008 +1000 [POWERPC] Discourage people from fiddling with kernel data from prom_init As BenH said the other day, it is an "accident" that prom_init.o is linked with the rest of the kernel. The truth is a little more subtle, prom_init isn't truly bootloader, it does access kernel data in a few places. What we can do is discourage people from adding new code that accesses data outside of prom_init. And hence this patch; from the script: # This script checks prom_init.o to see what external symbols it # is using, if it finds symbols not in the whitelist it returns # an error. The point of this is to discourage people from # intentionally or accidentally adding new code to prom_init.c # which has side effects on other parts of the kernel. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit d9e9d82c24e55b8a0fcc89032fdf9f58f1fb56d7 Author: Timur Tabi Date: Thu Apr 24 08:45:26 2008 +1000 [POWERPC] Add Timur Tabi to the MAINTAINERS file Add Timur Tabi as the maintainer for the Freescale QE library, the Freescale QE UART device driver, the Freescale SOC sound drivers, and the Crystal Semiconductor CS4270 device driver. Signed-off-by: Timur Tabi Signed-off-by: Paul Mackerras commit 91120cc8e07f39078e9a60f1feac7cf665b17c2b Author: Kumar Gala Date: Thu Apr 24 06:33:49 2008 +1000 [POWERPC] Cleanup asm-offsets.c * Removed TI_EXECDOMAIN define as its not used anywhere * Use STACK_INT_FRAME_SIZE to allow common define of INT_FRAME_SIZE * Define TI_CPU on both ppc32 & ppc64 (removes an ifdef). Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit f608600e74404c5c8f017af45294074282911ae9 Author: Kumar Gala Date: Thu Apr 24 06:29:36 2008 +1000 [POWERPC] Clean up access to thread_info in assembly Use (31-THREAD_SHIFT) to get to thread_info from stack pointer. This makes the code a bit easier to read and more robust if we ever change THREAD_SHIFT. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 885aa35c9669ce7919d203036a87a7e1a4ebd25f Author: Christoph Hellwig Date: Thu Apr 24 00:32:29 2008 +1000 [POWERPC] Fix new warnings arising from stacktrace patch Remove the inclusion of asm-offsets.h from stacktrace.c. It isn't supposed to be included in C code and it causes problems with multiple definitions of things. Signed-off-by: Christoph Hellwig Signed-off-by: Paul Mackerras commit 2c419bdeca1d958bb02228b5141695f312d8c633 Author: Kumar Gala Date: Wed Apr 23 23:05:20 2008 +1000 [POWERPC] Port fixmap from x86 and use for kmap_atomic The fixmap code from x86 allows us to have compile time virtual addresses that we change the physical addresses of at run time. This is useful for applications like kmap_atomic, PCI config that is done via direct memory map, kexec/kdump. We got ride of CONFIG_HIGHMEM_START as we can now determine a more optimal location for PKMAP_BASE based on where the fixmap addresses start and working back from there. Additionally, the kmap code in asm-powerpc/highmem.h always had debug enabled. Moved to using CONFIG_DEBUG_HIGHMEM to determine if we should have the extra debug checking. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 2fd53e02be9a73cc49d69e0ff8860daa7b5bf8ab Author: Adrian Bunk Date: Wed Apr 23 19:51:38 2008 +1000 [POWERPC] char/xilinx_hwicap/ section fix This patch fixes the following build error: <-- snip --> ... CC [M] drivers/char/xilinx_hwicap/xilinx_hwicap.o ... /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/char/xilinx_hwicap/xilinx_hwicap.c:806: error: hwicap_of_match causes a section type conflict /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/char/xilinx_hwicap/xilinx_hwicap.c:806: error: hwicap_of_match causes a section type conflict make[4]: *** [drivers/char/xilinx_hwicap/xilinx_hwicap.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 138decf83f6a973951ce7faf39094d964de7853a Author: Adrian Bunk Date: Wed Apr 23 19:51:34 2008 +1000 [POWERPC] drivers/of/of_i2c.c: Add MODULE_LICENSE After commit 585468e5d5962660867c269e26f0a4b89a599473 ([POWERPC] i2c: Fix build breakage introduced by OF helpers) drivers/of/of_i2c.c needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 37dd2badcfcec35f5e21a0926968d77a404f03c3 Author: Kumar Gala Date: Tue Apr 22 04:22:34 2008 +1000 [POWERPC] 85xx: Add support for relocatable kernel (and booting at non-zero) Added support to allow an 85xx kernel to be run from a non-zero physical address (useful for cooperative asymmetric multiprocessing situations and kdump). The support can be configured at compile time by setting CONFIG_PAGE_OFFSET, CONFIG_KERNEL_START, and CONFIG_PHYSICAL_START as desired. Alternatively, the kernel build can set CONFIG_RELOCATABLE. Setting this config option causes the kernel to determine at runtime the physical addresses of CONFIG_PAGE_OFFSET and CONFIG_KERNEL_START. If CONFIG_RELOCATABLE is set, then CONFIG_PHYSICAL_START has no meaning. However, CONFIG_PHYSICAL_START will always be used to set the LOAD program header physical address field in the resulting ELF image. Currently we are limited to running at a physical address that is a multiple of 256M. This is due to how we map TLBs to cover lowmem. This should be fixed to allow 64M or maybe even 16M alignment in the future. It is considered an error to try and run a kernel at a non-aligned physical address. All the magic for this support is accomplished by proper initialization of the kernel memory subsystem and use of ARCH_PFN_OFFSET. The use of ARCH_PFN_OFFSET only affects normal memory and not IO mappings. ioremap uses map_page and isn't affected by ARCH_PFN_OFFSET. /dev/mem continues to allow access to any physical address in the system regardless of how CONFIG_PHYSICAL_START is set. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 96f1bb8a412aec3fc16306ef07c5bdb426edb615 Author: Josh Boyer Date: Tue Apr 22 10:50:27 2008 +1000 [POWERPC] Add strncmp to arch/ppc Commit 0119536cd314ef95553604208c25bc35581f7f0a added an assembly version of strncmp to PowerPC. However, it changed a common header file between arch/ppc and arch/powerpc without adding strncmp to arch/ppc. This fixes that omission so that arch/ppc links again. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit e91d7119ba8031f57cee5814e31c893487844011 Author: Josh Boyer Date: Tue Apr 22 10:49:34 2008 +1000 [POWERPC] 4xx: Fix duplicate phys_addr_t definition Commit d04ceb3fc294ea2c4f538a04343f3a473953a3b0 moved phys_addr_t definitions to include/asm-powerpc/types.h. However, arch/ppc 440 builds had a duplicate definition in include/asm-ppc/mmu.h that caused the build to fail. This removes the duplicate definition in arch/ppc. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit df40a57ef16219e5dee75238559960b1dd459c65 Author: Remi Machet Date: Tue Apr 22 07:02:56 2008 +1000 [POWERPC] Fix mv64x60 early console code to use cell-index property The MPSC driver and prpmc2800.dts have been modified to use property 'cell-index' as the serial port number, but the early serial console driver for the mv64x60 has not been modified to use this new property. This fixes it. Signed-off-by: Remi Machet (rmachet@slac.stanford.edu) Acked-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit ff114b669b45480688198f28d6aad1a61223335d Author: Remi Machet Date: Tue Apr 22 04:46:12 2008 +1000 [POWERPC] Initialize all mv64x60 devices even if one fails If one of the devices of the mv64x60 init fails, the remaining devices are not initialized. This changes the code to display an error and continue the initialization. Signed-off-by: Remi Machet (rmachet@slac.stanford.edu) Signed-off-by: Paul Mackerras commit 21dbfd291fe704986fab63a129f89ed2de471329 Author: Remi Machet Date: Tue Apr 22 03:36:48 2008 +1000 [POWERPC] Use default values if necessary in mv64x60 I2C initialization I2C parameters freq_m and freq_n are assigned defaults in the code, but if properties for those parameters are not found in the open firmware description the init routine returns an error and doesn't create the platform device. This changes the code so that it doesn't return an error if the properties are not found but instead uses the default values. Signed-off-by: Remi Machet (rmachet@slac.stanford.edu) Acked-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit 839ad62e75ee1968438d1b72261304cd47fc961e Author: Benjamin Herrenschmidt Date: Fri Apr 18 16:56:18 2008 +1000 [POWERPC] Use __weak macro for smp_setup_processor_id Use the __weak macro instead of the longer __attribute__ ((weak)) form in one place in init/main.c. Signed-off-by: Benjamin Herrenschmidt Acked-by: Andrew Morton -- init/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Signed-off-by: Paul Mackerras commit f6a616800e68b61807d0f7bb0d5dc70665ef8046 Author: Benjamin Herrenschmidt Date: Fri Apr 18 16:56:17 2008 +1000 [POWERPC] Fix kernel stack allocation alignment The powerpc kernel stacks need to be naturally aligned, as they contain the thread info at the bottom, which is obtained by clearing the low bits of the stack pointer. However, when using 64K pages, the stack is smaller than a page, so we use kmalloc to allocate it, but that doesn't provide the alignment guarantee we need. It appeared to work so far... until one enables SLUB debugging which then returns unaligned pointers. Ooops... This fixes it by using a slab cache with enforced alignment. It relies on my previous patch that adds a thread_info_cache_init() callback. Signed-off-by: Benjamin Herrenschmidt Acked-by: Andrew Morton Signed-off-by: Paul Mackerras commit 8c9843e57a7d9d7a090d6467a0f1f3afb8031527 Author: Benjamin Herrenschmidt Date: Fri Apr 18 16:56:15 2008 +1000 [POWERPC] Add thread_info_cache_init() weak hook Some architectures need to maintain a kmem cache for thread info structures. The next commit adds that to powerpc to fix an alignment problem. There is no good arch callback to use to initialize that cache that I can find, so this adds a new one in the form of a weak function whose default is empty. Signed-off-by: Benjamin Herrenschmidt Acked-by: Andrew Morton Signed-off-by: Paul Mackerras commit 1d32e21889b96e594e8b63b193bf7d2a51ab93ec Author: Geoff Levand Date: Thu Apr 10 07:01:53 2008 +1000 [POWERPC] PS3: Fix gelic net module dependency The PS3 gelic network driver depends on the wake-on-lan support provided by the PS3 sys manager driver. Add that dependency to the GELIC_NET Kconfig option. Prevents these build errors: ps3_gelic_net.c:1277: undefined reference to `.ps3_sys_manager_get_wol' ps3_gelic_net.c:1337: undefined reference to `.ps3_sys_manager_set_wol' CC: Masakazu Mokuno CC: Jeff Garzik Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit e988a13960c61be426feca46bbc124c4126f1edc Author: Michael Ellerman Date: Thu Feb 14 11:37:50 2008 +1100 [POWERPC] Add include of linux/of.h to os-area.c os-area.c requires routines declared in linux/of.h, so should include it. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 6df1646e314de0ef8dc2a38f04eb6110b9134e65 Author: Michael Ellerman Date: Thu Feb 14 11:37:49 2008 +1100 [POWERPC] Add include of linux/of.h to numa.c numa.c requires routines declared in linux/of.h, so should include it. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 36a23fc8aa0c72ecafe7aaee0a823b03b301e1df Merge: 23386fe... fc215fe... Author: Paul Mackerras Date: Thu Apr 24 20:57:20 2008 +1000 Merge branch 'powerpc-next' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc commit 23386fe572028ca0f9249fb3c71ed31b54cf1665 Author: Kay Sievers Date: Fri Apr 18 13:33:53 2008 -0700 [POWERPC] macintosh/windfarm: Fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable "macintosh" platform drivers, to re-enable auto loading. [dbrownell@users.sourceforge.net: registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 9edb74cc6ccb3a893c3d40727b7003c3c16f85a0 Author: David S. Miller Date: Thu Apr 24 03:44:43 2008 -0700 tun: Multicast handling in tun_chr_ioctl() needs proper locking. Since these operations don't go through the normal device calls, we have to ensure we synchronize with those paths. Noticed by Alan Cox. Signed-off-by: David S. Miller commit 3a841d519f91463361bbbe7addc24a0c1b2e9f99 Author: Takashi Iwai Date: Wed Apr 23 17:47:28 2008 +0200 [ALSA] ice1724 - Fix IRQ lock-up with MPU access The sound boards with VT1724 and compatible chips may lock up when MPU401 is accessed together with the PCM streaming. This patch fixes the problem. Signed-off-by: Takashi Iwai commit b415ed45f4db9f8365daac84cf2518642a174dc0 Author: Takashi Iwai Date: Wed Apr 23 17:47:28 2008 +0200 [ALSA] Define MPU401 registers in sound/mpu401_uart.h Define some MPU401 registers in sound/mpu401_uart.h so that other drivers can refer to them. Signed-off-by: Takashi Iwai commit efd89d9dcf75ab0a31b200db0ae4ae19cad25e48 Author: Stas Sergeev Date: Wed Apr 23 17:16:38 2008 +0200 [ALSA] pcsp: fix wording in DEBUG_PAGEALLOC warning Signed-off-by: Stas Sergeev (fixed invalid KERN_WARNING by tiwai) Signed-off-by: Takashi Iwai commit 73bdd2ad7aac70456494c4a1d93f99fe88184dba Author: Takashi Iwai Date: Wed Apr 23 17:08:58 2008 +0200 [ALSA] pcsp - Fix dependency in Kconfig Added the proper dependency to Kconfig for snd-pcsp driver. Signed-off-by: Takashi Iwai commit 227739bf4c110bbd02d0c0f13b272c32de406e4c Author: Robert Reif Date: Thu Apr 24 03:37:51 2008 -0700 sparc: sunzilog uart order I have a sparcstation 20 clone with a lot of on board serial ports. The serial core code assumes that uarts are assigned contiguously and that may not be the case when there are multiple zs devices present. This patch insures that uart chips are placed in front of keyboard/mouse chips in the port table. ffd37420: ttyS0 at MMIO 0xf1100000 (irq = 44) is a zs (ESCC) Console: ttyS0 (SunZilog zs0) console [ttyS0] enabled ffd37420: ttyS1 at MMIO 0xf1100004 (irq = 44) is a zs (ESCC) ffd37500: Keyboard at MMIO 0xf1000000 (irq = 44) is a zs ffd37500: Mouse at MMIO 0xf1000004 (irq = 44) is a zs ffd3c5c0: ttyS2 at MMIO 0xf1100008 (irq = 44) is a zs (ESCC) ffd3c5c0: ttyS3 at MMIO 0xf110000c (irq = 44) is a zs (ESCC) ffd3c6a0: ttyS4 at MMIO 0xf1100010 (irq = 44) is a zs (ESCC) ffd3c6a0: ttyS5 at MMIO 0xf1100014 (irq = 44) is a zs (ESCC) ffd3c780: ttyS6 at MMIO 0xf1100018 (irq = 44) is a zs (ESCC) ffd3c780: ttyS7 at MMIO 0xf110001c (irq = 44) is a zs (ESCC) Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 77c664fa58624079f7a0fc29b46e8a32883633a5 Author: David S. Miller Date: Thu Apr 24 03:28:52 2008 -0700 [SPARC64]: Detect trap frames in stack backtraces. Now that we have a magic cookie in the pt_regs, we can properly detect trap frames in stack bactraces. Signed-off-by: David S. Miller commit 7697daaa894ca2bc5cd652269c316bcdc3ec441b Author: David S. Miller Date: Thu Apr 24 03:15:22 2008 -0700 [SPARC64]: %l6 trap return handling no longer necessary. Now that we indicate the "restart system call" in the trap type field of pt_regs->magic, we don't need to set the %l6 boolean in all of the trap return paths. And we therefore don't need to pass it to do_notify_resume(). Signed-off-by: David S. Miller commit 238468b2ac76020c192a7402c92df5097916bf4a Author: David S. Miller Date: Thu Apr 24 03:01:48 2008 -0700 [SPARC64]: Use trap type stored in pt_regs to handle syscall restart. Now that we can check the trap type directly, we don't need the funny restart_syscall indication from the trap return paths. Signed-off-by: David S. Miller commit 24c053e755f2f77d9c9d9a9250ca1132eae280e7 Author: Mark Brown Date: Wed Apr 23 15:26:45 2008 +0200 [ALSA] soc - ac97 - Clean up checkpatch warnings Also change some if (x == NULL) to if (!x). Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 42f3030f0cac474fc3232c8028b97f54b985718c Author: Mark Brown Date: Wed Apr 23 15:17:12 2008 +0200 [ALSA] soc - wm8750 - Clean up checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit d454aee9be72472ee18b5397fda2c673f40a1e69 Author: Mark Brown Date: Wed Apr 23 15:16:46 2008 +0200 [ALSA] soc - wm8731 - Clean up checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit b32432e3f2d386d9563669c8cfdeaa473bfd8572 Author: Mark Brown Date: Wed Apr 23 15:14:18 2008 +0200 [ALSA] soc - pxa2xx-pcm - Fix checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 22cd630285b6a12a50f02dfb23c531f151be5499 Author: Mark Brown Date: Wed Apr 23 15:13:33 2008 +0200 [ALSA] soc - spitz - Fix checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 29e36e49bdb7f24ca7cc0fb980fab2c407a8a2c9 Author: Mark Brown Date: Wed Apr 23 15:13:04 2008 +0200 [ALSA] soc - poodle - Fix checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 1bfcd361461f25be7d6d180a8da30d02bc124046 Author: Mark Brown Date: Wed Apr 23 15:12:19 2008 +0200 [ALSA] soc - corgi - Fix checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 0fe564a564922465ec3c483cee0e3dc6b368d879 Author: Mark Brown Date: Wed Apr 23 15:10:28 2008 +0200 [ALSA] soc - s3c24xx-i2s - Add missing spaces Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 0015e7d1e2b09443ac76573a2fb886854aa1ca15 Author: Mark Brown Date: Wed Apr 23 15:09:57 2008 +0200 [ALSA] soc - s3c24xx-i2s - Fix tab/space breakage Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 40efc15fc637cff22cf9c4f02c63f3f398320f83 Author: Mark Brown Date: Wed Apr 23 15:09:31 2008 +0200 [ALSA] soc - s3c24xx-i2s - Use linux/io.h Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 05808ecc45802c1b533f42ed701a132d4c949034 Author: Takashi Iwai Date: Wed Apr 23 13:50:08 2008 +0200 [ALSA] hda - Fix Thinkpad X300 digital mic TP X300 digital mic requires additional init verbs with magic COEFs. Signed-off-by: Takashi Iwai commit 5bae4199522c56110d33e6fd925c052bc5ae36a1 Author: Stas Sergeev Date: Wed Apr 23 10:50:32 2008 +0200 pcsp - Don't build pcspkr when snd-pcsp is enabled - Update CREDITS with the pc-speaker driver authors. - Prevent pcspkr from being built together with snd-pcsp. Both pcspkr and snd-pcsp use the same platform driver name "pcspkr". Signed-off-by: Stas Sergeev commit a0b8f7d89b8de0cc79999b9fdd3a303912f3b2a3 Author: Takashi Iwai Date: Tue Apr 22 19:39:49 2008 +0200 [ALSA] hda - Fix model for Acer Aspire 5720z Set the proper model=acer for Acer Aspire 5720z with ALC268 codec. ALSA bug#3550: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3550 Signed-off-by: Takashi Iwai commit d8ed061a9fb2ab1f4bd90b5c30f4dc98b9c2085b Author: Mark Brown Date: Tue Apr 22 18:27:22 2008 +0200 [ALSA] soc - s3c24xx - Declare suspend and resume static Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 409203074e9f3c423cdc7c38f984ce24ae261556 Author: Tim Niemeyer Date: Tue Apr 22 18:26:59 2008 +0200 [ALSA] soc - s3c24xx - Improve diagnostic output Add some debug messages for suspend/resume and to add a clear prefix to s3c24xx-i2s and s3c24xx-pcm. Signed-off-by: Tim Niemeyer Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit ebf029da38829ede6b53ac8a5ad45b149064ea16 Author: Takashi Iwai Date: Tue Apr 22 17:28:11 2008 +0200 [ALSA] Fix possible races at free_irq in PCI drivers The irq handler of PCI drivers must be released before releasing other resources since the handler for a shared irq can be still called and may access the freed resource again. Signed-off-by: Takashi Iwai commit 6b9a9b329640b7e8143df7b2782884ea758650f7 Author: Tim Niemeyer Date: Tue Apr 22 17:10:23 2008 +0200 [ALSA] soc - neo1973_wm8753 - Fix module unload Signed-off-by: Tim Niemeyer Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 815c1be320fd51e5981c007f737aca410707baf8 Author: Mark Brown Date: Tue Apr 22 17:09:49 2008 +0200 [ALSA] pxa2xx-ac97: Support PXA3xx AC97 Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 7a22323b231fe5d47804f98f31a70eb34c6104a9 Author: Mark Brown Date: Tue Apr 22 17:08:52 2008 +0200 [ALSA] soc - Support PXA3xx AC97 The PXA3xx does not support the use of interrupts during reset and access to the GPIO status requires similar handling to that for PXA27x. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit d80fd0935e2c177ae58d85cb736684ff6c00314d Author: Peter Lienig Date: Tue Apr 22 17:05:07 2008 +0200 [ALSA] ice1712 - Add Terrasoniq TS88 support Added the support of Terrasonq TS88. Signed-off-by: Peter Lienig Signed-off-by: Takashi Iwai commit f000fd80937c0d94c67f9f3e7026f1fbc8ef8873 Author: Jeff Garzik Date: Tue Apr 22 13:50:34 2008 +0200 [ALSA] Fix synchronize_irq() bugs, redundancies free_irq() calls synchronize_irq() for you, so there is no need for drivers to manually do the same thing (again). Thus, calls where sync-irq immediately precedes free-irq can be simplified. However, during this audit several bugs were noticed, where free-irq is preceded by a "irq >= 0" check... but the sync-irq call is not covered by the same check. So, where sync-irq could not be eliminated completely, the missing check was added. Signed-off-by: Jeff Garzik Signed-off-by: Takashi Iwai commit 8a87c9cf999542db846c3ab93c1065d446427f37 Author: Karsten Wiese Date: Tue Apr 22 12:53:12 2008 +0200 [ALSA] Audiophile 192: Fix ad converter initialization Correct some arguments in calls to snd_ice1712_gpio_write_bits() from ap192_set_rate_val(). Signed-off-by: Karsten Wiese Signed-off-by: Takashi Iwai commit 775c199e6af5e4212bfa7ebeadee09563c14694b Author: Karsten Wiese Date: Tue Apr 22 12:52:45 2008 +0200 [ALSA] Don't set gpio mask register in snd_ice1712_gpio_write_bits() Some calls to snd_ice1712_gpio_write() go wrong, if snd_ice1712_gpio_write_bits() ran before and changed the gpio mask register. Read the actual gpio value and combine it with the to be set bits in the cpu instead. Signed-off-by: Karsten Wiese Signed-off-by: Takashi Iwai commit 988f0664779674c7c06252a6d549eee8debd5d76 Author: Karsten Wiese Date: Tue Apr 22 12:52:15 2008 +0200 [ALSA] ice1724.c: toggle "chip reset" and "eeprom based setup" sequence Let "chip reset" become first. Increasement of the "chip reset" related timeout leads to correctly read eeprom's contents here. Signed-off-by: Karsten Wiese Signed-off-by: Takashi Iwai commit 0d52cea487c0213d6d7bca9c951210081e7b653b Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri Apr 18 12:25:41 2008 +0200 OSS: dmabuf: fix negative DMAbuf_get_buffer_pointer() check Since unsigned active_offs < 0 is even true when DMAbuf_get_buffer_pointer() returns negative Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Takashi Iwai commit e34ba212225a27cdf5f974be22cc539ae7ee7ca5 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Apr 17 18:58:34 2008 +0200 [ALSA] SOC: fix tests in cs4270_hw_params() cs4270_hw_params does several times: ret = snd_soc_write() if (ret < 0) ... This only works when ret is signed. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Takashi Iwai commit 9eb70e68f38bbc5996a2193e7b7dc0b5487a08cb Author: Takashi Iwai Date: Thu Apr 17 12:53:26 2008 +0200 [ALSA] usb-audio - Fix race in reconnection Fix the race at reconnection of the device. The disconnected usb_chip[] must be cleared before the next probe call properly. Signed-off-by: Takashi Iwai commit f18638dcf0c481eca2430206ebcdc7295aec8623 Author: Takashi Iwai Date: Thu Apr 17 12:52:02 2008 +0200 [ALSA] Clean up snd_card_free*() A little clean up of snd_card_free*(). Removed snd_card_free_prepare() since it's actually almost identical with snd_card_disconnect(). Signed-off-by: Takashi Iwai commit 73d38b13ffb105ab633bd91969c8d218b2de38d4 Author: Takashi Iwai Date: Thu Apr 17 12:50:47 2008 +0200 [ALSA] Fix the race of card instance unregistration Move the call of device_unregister() for the card instance in snd_card_disconnect() to avoid the race of sysfs card entry, which can be typically found on usb-audio reconnection. Signed-off-by: Takashi Iwai commit 20861fa7b20a40ca045393df634d4d51e61efa58 Author: Risto Suominen Date: Wed Apr 16 19:45:51 2008 +0200 [ALSA] snd-powermac: style burgundy.c Coding style corrections for burgundy.c. Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit 44deee129c9af3759d3e5e772b82012742dc57a0 Author: Risto Suominen Date: Wed Apr 16 19:45:31 2008 +0200 [ALSA] snd-powermac: Burgundy mixers for B&W and iMac Add mixer controls and correct headphone detection bits for PowerMac G3 B&W and iMac G3 Tray-loading, both having Burgundy chipset. Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit 7ae44cfa7ab29b277691327e8de790d7b880722f Author: Risto Suominen Date: Wed Apr 16 19:39:27 2008 +0200 [ALSA] snd-powermac: style awacs.s and awacs.h Coding style corrections for awacs.c and awacs.h. Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit a8c2a6bf464d983c642c8b8b001a57aabbf76673 Author: Risto Suominen Date: Thu Apr 17 17:55:30 2008 +0200 [ALSA] snd-powermac: AWACS and Screamer mixers for PM7500, Beige, and iMac SL Add mixer controls and correct headphone detection bits for PowerMacs 7300/7500 (AWACS) and G3 Beige (Screamer), and iMac G3 Slot-loading (Screamer). Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit 946cda7d64b81053beac5d31148996f3e379e89e Author: Risto Suominen Date: Wed Apr 16 13:16:05 2008 +0200 [ALSA] snd-powermac: style pmac.c Coding style corrections for pmac.c. Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit 9a4f20fcbd9cd89d8e4cfcaece81802c19d467ae Author: Risto Suominen Date: Wed Apr 16 13:15:38 2008 +0200 [ALSA] snd-powermac: enable headphone detection Enable port change interrupt while initialising AWACS, Screamer, and Burgundy chipsets. Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit 369b240d6391aef41d376c9e8769fd939c7c6c4d Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Apr 16 19:30:30 2008 +0200 [ALSA] sound/drivers/dummy.c: fix negative snd_pcm_format_width() check bps is unsigned, a negative snd_pcm_format_width() return value is not noticed Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Takashi Iwai commit 7943a8aba93ab439bdfbd9b92221720a4a4d8153 Author: Takashi Iwai Date: Wed Apr 16 17:29:09 2008 +0200 [ALSA] hda - Avoid unexpected breakage with ALC889A hack The last ALC889A hack may break on some devices with certain model presets since patch_alc*() have different model tables. So, now it's handled in the original patch_alc882() but fly to patch_alc883() in model=auto appropriately. Signed-off-by: Takashi Iwai commit cb308f97aee2c816834240c8d5f7c98dd8aff157 Author: Takashi Iwai Date: Wed Apr 16 14:13:29 2008 +0200 [ALSA] hda - Fix ALC889A codec support ALC889A is recognized ALC885/ALC882 but it's actually closer to ALC888/ALC883. Cc: Kasper Sandberg Signed-off-by: Takashi Iwai commit 7c2ba97b8a99c857758fd03513350b39a8b242d6 Author: Matthew Ranostay Date: Wed Apr 16 13:13:59 2008 +0200 [ALSA] hda: Add 5.1 support for second headphone jack Several 92hd7xxx and STAC9228 laptops have multiple headphone jacks, the second headphone jack should be used for the 5.1 surround sound. Add support for 'Headphone as Line Out' switch, which allows it be used in 5.1 surround sound. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 0a08478c0f7548211b492b578a67dacca5aea1a8 Author: Mark Brown Date: Wed Apr 16 12:59:55 2008 +0200 [ALSA] soc - wm9712: Remove unneeded AC97_EXTENDED_MID updates Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 4972a177fed34036498aee555335f84a70219bc1 Author: Clemens Ladisch Date: Wed Apr 16 09:15:45 2008 +0200 [ALSA] oxygen: generalize DAC volume TLV handling Add a pointer for DAC volume TLV data to the model structure so that the model driver do not need to manually assign it in their control filter. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit e983532e446ac7fabe829d9e3aeff8e26b0a277d Author: Clemens Ladisch Date: Wed Apr 16 09:14:30 2008 +0200 [ALSA] oxygen: mute by default Initialize the playback volume controls as being muted and having minimal volume. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 193e813814775b1b1574515fc6f11e61b29a54f7 Author: Clemens Ladisch Date: Wed Apr 16 09:13:36 2008 +0200 [ALSA] oxygen: generalize handling of DAC volume limits Add fields for the DAC volume limits to the module structure so that model drivers do not need to install their own control info handlers. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 0c0e6daf14183fb1cd0dea054ecf81165abbdc83 Author: Clemens Ladisch Date: Wed Apr 16 09:12:27 2008 +0200 [ALSA] hifier: remove empty hifier_mixer_init() The empty hifier_mixer_init() function is useless; remove it. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 3adb8abc70aaf5c071f27576069c8b01783cca83 Author: Takashi Iwai Date: Tue Apr 15 18:46:42 2008 +0200 [ALSA] hda - Add support of AD1989A/AD1989B Added the support of AD1989A and AD1989B codecs. These codecs can have multiple SPDIF devices, but currently we handle only one SPDIF. If any real devices with two SPDIF interfaces (likely one for SPDIF and one for HDMI), we'll fix this rightly. Otherwise, these codecs are pretty similar with AD1988. Signed-off-by: Takashi Iwai commit ad5fada51d33b408ad3d2d0848ef6744b5daf06f Author: Pavel Machek Date: Mon Apr 14 18:31:35 2008 +0200 [ALSA] sound/core.h: evil #ifdefs snd_minor_info_oss_* is an function returning int _or_ comment, depending on config parameters. That is truly evil, fix it. Signed-off-by: Pavel Machek Signed-off-by: Takashi Iwai commit a8bb1bad9b16ab91de6568ac9356b8f705f7272b Author: Clemens Ladisch Date: Tue Apr 15 08:57:31 2008 +0200 [ALSA] virtuoso: fix DX front panel I/O Fix the GPIO 1 mixer control to enable I/O through the front panel connector of the Xonar DX. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 6e9fc6bd5db34a6580e1917bd0fea4b0754c7de8 Author: Daniel Mack Date: Mon Apr 14 15:40:31 2008 +0200 [ALSA] snd_usb_caiaq: make high sample rates work with A8DJ This patch for snd_usb_caiaq makes sample rates higher dann 48KHz work with devices which have more than 2 stereo input/output pairs. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 6849d49c48718def95cf1b74154b9b0aee617c7e Author: Daniel Mack Date: Mon Apr 14 15:39:47 2008 +0200 [ALSA] snd_usb_caiaq: correct input channel order This patch corrects the input channel order of hardware supported by snd_usb_caiaq. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 8d048841e822f745187246a036d03f2793739b7f Author: Daniel Mack Date: Mon Apr 14 15:39:14 2008 +0200 [ALSA] snd_usb_caiaq: fix potential lockups locking This patch fixes potential lockups in snd_usb_caiaq by refining the locking mechanims and by using usb_kill_urb() in favor to usb_unlink_urb(). Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit f57ab97e767d293132a29a43ca3ecb0f73f1d5bb Author: Jarkko Nikula Date: Mon Apr 14 15:28:19 2008 +0200 [ALSA] ASoC: Add support for 19.2 MHz MCLK in TLV320AIC3X Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 87b57fe2d3fb1ce33671b944db9a4cbe0cd065ea Author: Mark Brown Date: Mon Apr 14 15:27:30 2008 +0200 [ALSA] wm9713: Don't control touch screen power on suspend Leave the power bit for the touch screen alone when suspending the WM9713 so that the touch screen driver can handle it. This allows the touch screen to be used as a wakeup source when the system is suspended. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit a295e09e89d227506ae6c0a58e1cb6359c0cda1c Author: Nick Andrew Date: Mon Apr 14 15:22:11 2008 +0200 [ALSA] sound: this amplifier only goes up to 7 sound: kernel log levels are 0-7 Kernel log levels are 0-7, not 0-9. Signed-off-by: Nick Andrew Signed-off-by: Takashi Iwai commit eb5a66216658a1c879ab05dcdc65ce7005c4780b Author: Herton Ronaldo Krzesinski Date: Mon Apr 14 13:46:28 2008 +0200 [ALSA] hda-intel: Add Quanta IL1 ALC267 model This adds support for Quanta IL1 mini-notebook to alsa, defining a new model for it. It comes with an ALC267 codec chip. Some notes about this model: * In headphone automute, I use AC_VERB_SET_PIN_WIDGET_CONTROL instead of common amp mute, to avoid conflict with mixer switch (mixer and automute use the same nid). * The only connected capture sources in the hardware are the internal mic and external mic jack. So instead of using an input source selector like on other ALC268 models, the mic automute automatically switch between captures. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 8b45a209935c4b79905182608922736ba0e5579e Author: Kay Sievers Date: Mon Apr 14 13:33:36 2008 +0200 [ALSA] sound: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable sound platform drivers, to re-enable auto loading. [dbrownell@users.sourceforge.net: more drivers, registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit 0fc9dec46fae19da9899c580a6b870202103f8bb Author: Matthew Ranostay Date: Mon Apr 14 13:32:54 2008 +0200 [ALSA] hda: EAPD power management Power management support for EAPD enabled laptops, when headphones are sensed it pulls the EAPD GPIO line low to power it down. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 780c8be4ab6c7baf5cdfa1102f56480acb8a2479 Author: Matthew Ranostay Date: Mon Apr 14 13:32:27 2008 +0200 [ALSA] hda: Correct SPDIF out default config Several laptops have have the SPDIF out defined as 'Digital other out' when it should be 'SPDIF out' in the default config. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 06a9c30cdda43ca82d7f22c8ebeb93e691f85b5f Author: Tony Vroon Date: Mon Apr 14 13:31:45 2008 +0200 [ALSA] hda - Fujitsu Lifebook PC speaker signal The legacy PC speaker signal was not routed to outputs. The codec is not prevented from powering down in this patch, although I suppose one could argue that perhaps it should be. Let me know if anyone feels strongly one way or the other. Signed-off-by: Tony Vroon Signed-off-by: Takashi Iwai commit 5b030389e4ba72cc4e9ad37a5770b32f0353564d Author: Jiang zhe Date: Mon Apr 14 13:26:53 2008 +0200 [ALSA] hda - PCI quirk for laptop LG which use CMI9880 Please refer to [0003874] on the alsa mantis. This patch added the pci quirk. Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit 64654c2f9e7875a982a9c3b4456ed11ad811ec61 Author: Jiang zhe Date: Mon Apr 14 13:26:21 2008 +0200 [ALSA] hda - Should use HDA_OUTPUT instead of HDA_INPUT to mute pin 15 of ALC880 To mute the output of Pin widget 15 in ALC880, we should use the HDA_OUTPUT. However, current code looks like : snd_hda_codec_amp_stereo(codec, 0x15, HDA_INPUT, 0, HDA_AMP_MUTE, bits); It may be a misspelling. Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit 07f51a727462696ddea01c7a7750c27796a0e1f3 Author: Pavel Machek Date: Mon Apr 14 13:15:56 2008 +0200 [ALSA] sound/usb/usbaudio.c: coding style Putting space between ! and variable is a strange coding style, fix that, also make it fit into 80 columns where that is easy. Signed-off-by: Pavel Machek Signed-off-by: Takashi Iwai commit 2a56f51bcc3650ecff806450f7fdab5edf57618f Author: Pavel Machek Date: Mon Apr 14 13:14:22 2008 +0200 [ALSA] usb audio: make quirk handling more readable, and fix commented-out code usb audio contains useful debugging code, protected by #if 0. Unfortunately, it will not compile because variable names changed; fix it. Dallas workaround is formatted in a way where it is not quite obvious what is normal code and what is quirk. Reformat it to make it obvious. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit b9d43bcd061956c8144bcb453d07d13236b6ab28 Author: Pavel Machek Date: Mon Apr 14 13:12:47 2008 +0200 [ALSA] usb audio: Fix another Dallas quirk Dallas USB speakers are buggy in more than one way. One of configs they offer does not work at all. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit eaa9985b4edb5f8008998abdda8b85ddeba05f1f Author: Frederik Deweerdt Date: Mon Apr 14 13:11:44 2008 +0200 [ALSA] hda-codec - Fix unbalanced mutex On Wed, Apr 02, 2008 at 08:19:29AM -0400, Miles Lane wrote: > [ 48.765906] [ BUG: bad unlock balance detected! ] > [ 48.765912] ------------------------------------- > [ 48.765918] pulseaudio/4277 is trying to release lock > (&codec->spdif_mutex) at: > [ 48.765930] [] mutex_unlock+0x8/0xa > [ 48.765945] but there are no more locks to release! > [ 48.765950] > [ 48.765952] other info that might help us debug this: > [ 48.765959] 2 locks held by pulseaudio/4277: > [ 48.765965] #0: (&pcm->open_mutex){--..}, at: [] > snd_pcm_open+0xc1/0x1ba [snd_pcm] > [ 48.766003] #1: (&chip->open_mutex){--..}, at: [] > azx_pcm_open+0x36/0x184 [snd_hda_intel] > [ 48.766057] > [ 48.766059] stack backtrace: > [ 48.766066] Pid: 4277, comm: pulseaudio Not tainted 2.6.25-rc8-mm1 #12 > [ 48.766086] [] print_unlock_inbalance_bug+0xce/0xd8 > [ 48.766107] [] ? save_stack_trace+0x1d/0x3b > [ 48.766130] [] ? __kernel_text_address+0x1b/0x27 > [ 48.766146] [] ? dump_trace+0xcd/0xd9 > [ 48.766160] [] ? save_stack_address+0x0/0x2c > [ 48.766176] [] ? find_usage_backwards+0xa4/0xc3 > [ 48.766193] [] lock_release_non_nested+0x84/0x120 > [ 48.766209] [] ? mutex_unlock+0x8/0xa > [ 48.766222] [] lock_release+0x16a/0x199 > [ 48.766238] [] __mutex_unlock_slowpath+0xa9/0x121 > [ 48.766252] [] mutex_unlock+0x8/0xa > [ 48.766263] [] snd_hda_multi_out_analog_open+0xd3/0xef > [snd_hda_intel] The following patch should fix it. Cc: "Miles Lane" Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit 66c9aa6043798197e1760eaf4c5f510d6c69b95a Author: Andrew Morton Date: Mon Apr 14 13:09:33 2008 +0200 [ALSA] es1968 - fix coding style in the last patch WARNING: braces {} are not necessary for single statement blocks #40: FILE: sound/pci/es1968.c:1831: + if (diff > 1) { + __maestro_write(chip, IDR0_DATA_PORT, cp1); + } total: 0 errors, 1 warnings, 35 lines checked ./patches/es1968-fix-jitter-on-some-maestro-cards.patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Please run checkpatch prior to sending patches Cc: Andreas Mueller Tested-by: Rene Herman Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit f24bfa53dab478e1bde2d7fd39d3c1a69dc518f1 Author: Andreas Mueller Date: Mon Apr 14 13:08:05 2008 +0200 [ALSA] es1968: fix jitter on some maestro cards This patch suppresses jitter on several Maestro cards in stereo mode (ALSA of course). The patch is also incorporated in the *BSD drivers where I "ported" it from. Without this patch most of the stereo audio gets out of sync and really distorted (oss-emulation with mplayer at 48000khz worked somehow). Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit 62cef8212ffa9df3e6c5b358ea2382d90489d590 Author: Denys Vlasenko Date: Mon Apr 14 13:04:18 2008 +0200 [ALSA] sound/pci/rme9652/hdspm.c: stop inlining largish static functions sound/pci/rme9652/hdspm.c has unusually large number of static inline functions - 22. I looked through them and some of them seem to be too big to warrant inlining. This patch removes "inline" from these static functions (regardless of number of callsites - gcc nowadays auto-inlines statics with one callsite). Size difference on 32bit x86: text data bss dec hex filename 20437 2160 516 23113 5a49 linux-2.6-ALLYES/sound/pci/rme9652/hdspm.o 18036 2160 516 20712 50e8 linux-2.6.inline-ALLYES/sound/pci/rme9652/hdspm.o [coding fix by Takashi Iwai ] Signed-off-by: Denys Vlasenko Signed-off-by: Takashi Iwai commit 32f4876e62d5caba712ca76d96b0018dcc0f9601 Author: Mark Brown Date: Mon Apr 14 12:59:27 2008 +0200 [ALSA] soc - Include register in DAPM debug output When logging register changes in DAPM debug output include the register number. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 4383fae0ec5bc269f9eb4383b223731e3ecd2fe3 Author: Jiang zhe Date: Mon Apr 14 12:58:57 2008 +0200 [ALSA] hda-codec - PCI quirk for MSI laptop Please refer to [0003848] on the alsa mantis. This patch adds the pci quirk and Mic-Int controller. Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit 80060ecc45bd101f3decafed5b7ff0879a188d28 Author: Clemens Ladisch Date: Fri Apr 11 10:25:40 2008 +0200 [ALSA] virtuoso: initialize two-wire control register On the Xonar DX, initialize all bits of the two-wire control register. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 387fb6a206749e13377ef8847f77d5341c281e7b Author: Clemens Ladisch Date: Fri Apr 11 10:24:48 2008 +0200 [ALSA] virtuoso: add GPIO 1 mixer control Add a mixer control for switching whatever it is that is connected to GPIO pin 1 on the Xonar DX. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 1d98c7d4be6ac521e3391025ddffcfe0400c798c Author: Clemens Ladisch Date: Wed Apr 9 09:16:33 2008 +0200 [ALSA] oxygen: use SPDIF input only if present If the card model does not have a digital input or an AC97 codec, disable the respective interrupt and mixer controls. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 11864b4b84194b459fc20e0ec47906885bddb12e Author: Clemens Ladisch Date: Wed Apr 9 09:16:14 2008 +0200 [ALSA] virtuoso: correctly switch input jack on Xonar DX When selecting the capture source on the Xonar DX, the input jack must be routed to either the line input or the microphone input by setting a GPIO pin. This requires an additional callback so that the model driver can hook into the toggling of AC97 switches. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit a9d3cc485e65a56edc9ef78c034146cc8a5b3101 Author: Clemens Ladisch Date: Mon Apr 7 10:29:44 2008 +0200 [ALSA] virtuoso: add Xonar DX support Add support for the Asus Xonar DX. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 80647ee26e96d6394cab77332c69f60735396e67 Author: Clemens Ladisch Date: Mon Apr 7 10:27:01 2008 +0200 [ALSA] virtuoso: fix typo Fix a (fortunately harmless) typo. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit aef1a535c4dadff408412833b2b71bc7919e84a6 Author: Clemens Ladisch Date: Mon Apr 7 10:26:45 2008 +0200 [ALSA] virtuoso: change card short name Change the card short name to show to show the card name instead of the chip name. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit d08267a9df99c3cf288ca05e75084d14479fe7cb Author: Clemens Ladisch Date: Mon Apr 7 10:26:26 2008 +0200 [ALSA] virtuoso: set PCM1796 oversampling rate When playing data at 96 kHz or higher, reduce the DAC oversampling rate to 32. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit af9af1741f5e7959d220fb0d83604ecb5ae26581 Author: Clemens Ladisch Date: Mon Apr 7 10:26:03 2008 +0200 [ALSA] virtuoso: move some code to xonar_common_init() Move the code that is common to all Xonar models to a separate function, and make it more generic in preparation for another model. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit a694a6a0e4ab4752d1a145b9b32e231d7c9611b5 Author: Clemens Ladisch Date: Mon Apr 7 10:25:30 2008 +0200 [ALSA] virtuoso: allow both CS5381 and CS5361 Rename all CS5381 symbols to CS53x1 because they can also be used for Xonar models with a CS5361. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 271ebfca5823875cc4f134515b6c3887d99b8dc2 Author: Clemens Ladisch Date: Mon Apr 7 10:24:22 2008 +0200 [ALSA] virtuoso: separate D2/D2X init functions Use separate model structures for the D2 and D2X so that the init function does not have to check for the model again. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 10e6d5f9b6edd4a12d678716d7fdb94278a83227 Author: Clemens Ladisch Date: Mon Apr 7 10:23:37 2008 +0200 [ALSA] oxygen: add I2C support Add a function to write I2C registers. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 7a4356747298d1c899a12a25260d5ff1b4feeb5e Author: Clemens Ladisch Date: Wed Apr 2 10:56:30 2008 +0200 [ALSA] aw2: remove duplicate MODULE_LICENSE "GPL 2" does not mean that there have to be two MODULE_LICENSE("GPL") entries. ;-) Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit edab938e63e463da86e4aa7b94628ce8f2b8a137 Author: Pavel Machek Date: Tue Apr 1 15:33:22 2008 +0200 [ALSA] fix comments in sound/core.h Two sentences seem to be spliced into one in comment, fix that and fix english. Also fix codingstyle. Signed-off-by: Pavel Machek Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit e97f79994ac715e4c8724b201bd3328463ec9314 Author: Clemens Ladisch Date: Tue Apr 1 10:02:18 2008 +0200 [ALSA] oxygen: fix line-in recording selection (now for real) On C-Media cards, the GPIO pin 0 of the CM9780 must be handled exactly like on Xonar cards, so move the Xonar code to the common mixer code. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 0c4cc4430f40089bb85557e309038faa458247f1 Author: Herton Ronaldo Krzesinski Date: Sat Mar 22 10:26:05 2008 +0100 [ALSA] hda-codec - Support mic automute for Clevo M720R/SR Add support for mic automute in clevo-m720r ALC883 model, and rename it to more generic clevo-m720. Also change model entry in ALSA-Configuration.txt accordingly. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 213f0bfe9061e077590f2775cb90c1e6c0c9faa6 Author: Herton Ronaldo Krzesinski Date: Sat Mar 22 10:25:30 2008 +0100 [ALSA] hda-codec - Map clevo-m720r ALC883 model for Clevo M720SR Map clevo-m720r ALC883 model for Clevo M720SR. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit c81d80cbf6dfe4c061719cb146659677c3c36c8e Author: Stas Sergeev Date: Sat Mar 22 10:12:37 2008 +0100 [ALSA] pcsp: remove downsampling pcsp: remove S16->U8 downsampling as dmix now supports U8 natively. Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit 95866d38028c98ea4d6df6947f6ea3fd77334382 Author: Takashi Iwai Date: Sat Mar 22 10:11:08 2008 +0100 [ALSA] ymfpci - Fix race at removal free_irq() must be called first to avoid races at removal. Signed-off-by: Takashi Iwai commit cd97f47df377d2371940b69fa4c8b4d99a980580 Author: Takashi Iwai Date: Thu Mar 20 12:30:36 2008 +0100 [ALSA] hda-codec - Add missing models in ALSA-Configuration.txt Signed-off-by: Takashi Iwai commit eea6419ea18ed9dfc16f9a262e96cdb832376e88 Author: Herton Ronaldo Krzesinski Date: Thu Mar 20 12:14:59 2008 +0100 [ALSA] hda-codec - Use common 3stack-6ch mixer for 3stack-hp model Forgot one more: 3stack-hp model also have now the same mixer as 3stack-6ch (after DAC assignment fix in ALC883), so use it avoiding duplicating the same mixer definition. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit f24dbdc61dd7ca6b97c525b40979ab7bd07c0934 Author: Herton Ronaldo Krzesinski Date: Thu Mar 20 12:14:28 2008 +0100 [ALSA] hda-codec - Use base ALC883 mixer for 6stack-dell model After DAC assignment fix in ALC883, alc888_6st_dell_mixer is now the same as alc883_base_mixer. Avoid duplicated code and use alc883_base_mixer in 6stack-dell model, removing alc888_6st_dell_mixer definition. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 5d85f8d02af56da5e3b76805da00a0f7f7427255 Author: Herton Ronaldo Krzesinski Date: Thu Mar 20 12:13:46 2008 +0100 [ALSA] hda-codec - Remove now uneeded 6stack-hp model from ALC883 After DAC assignment fix in ALC883, the 6stack-hp model is now the same as 6stack-dig. So just remove 6stack-hp model and replace its use with 6stack-dig. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 0e31daf7d6484c60e96f63a905eb9b959b975da5 Author: Jiang zhe Date: Thu Mar 20 12:12:39 2008 +0100 [ALSA] hda-codec - model for alc262 to support Lenovo 3000 This model is to support the Lenovo 3000 y410. ALSA bug#3856: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3856 Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit 07bcb316cf3510d5048bc251bb23cd6452c16fc2 Author: Matthew Ranostay Date: Thu Mar 20 12:10:57 2008 +0100 [ALSA] hda: 92hd71bxxx DMIC nid Added missing DMIC verb to dell_4_1_pin_configs[]. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit d16be8ed69f3e59d36be8c422508c3a10082fdaa Author: Pavel Hofman Date: Thu Mar 20 12:10:27 2008 +0100 [ALSA] ice1724 - Improved the Juli rate setting * moving most of clock-specific code to card-specific routines * support for ESI Juli * to-be-researched - monitoring of analog/digital inputs Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit ff73317ea7c648cf5f59b8bda4a810f7b5d0312c Author: Andrew Morton Date: Thu Mar 20 12:07:31 2008 +0100 [ALSA] sound/pci/pcxhr/pcxhr.c: fix warnings sparc64: sound/pci/pcxhr/pcxhr.c: In function `pcxhr_update_r_buffer': sound/pci/pcxhr/pcxhr.c:459: warning: cast to pointer from integer of different size sound/pci/pcxhr/pcxhr.c: In function `pcxhr_trigger_tasklet': sound/pci/pcxhr/pcxhr.c:628: warning: long int format, different type arg (arg 4) Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit ee0abefde5273c816bd3d4158e5cb9c591b82684 Author: Andrew Morton Date: Thu Mar 20 12:05:33 2008 +0100 [ALSA] sound/pci/pcxhr/pcxhr_core.c: fix printk warning sound/pci/pcxhr/pcxhr_core.c: In function `pcxhr_set_pipe_state': sound/pci/pcxhr/pcxhr_core.c:899: warning: long int format, different type arg (arg 4) suseconds_t is int on sparc64. Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit 91e24faa556548e0705e8940410b8dc3bd1d949d Author: Andrew Morton Date: Thu Mar 20 12:04:46 2008 +0100 [ALSA] sound/pci/aw2/aw2-alsa.c needs dma-mapping.h sparc32: sound/pci/aw2/aw2-alsa.c: In function 'snd_aw2_create': sound/pci/aw2/aw2-alsa.c:282: error: 'DMA_32BIT_MASK' undeclared (first use in this function) sound/pci/aw2/aw2-alsa.c:282: error: (Each undeclared identifier is reported only once sound/pci/aw2/aw2-alsa.c:282: error: for each function it appears in.) Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit 43dd89c7e7cde6b42edac88ca852ec61af610863 Author: Clemens Ladisch Date: Wed Mar 19 08:21:32 2008 +0100 [ALSA] oxygen: disable clock of unused I2S inputs Disable the master clock outputs of any unused I2S inputs. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit db12b8e301455cf18644aa3b765ae10869eb947c Author: Clemens Ladisch Date: Wed Mar 19 08:20:59 2008 +0100 [ALSA] oxygen: move MIDI flag to model struct Put the flag that enables the MIDI port into the model structure instead of passing it as a separate parameter to oxygen_pci_probe(). Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 87eedd2fd409d5cd515ccd6fc454cef15c5fa38b Author: Clemens Ladisch Date: Wed Mar 19 08:20:13 2008 +0100 [ALSA] oxygen: make SPI/2-wire configuration model-specific Allow the model drivers to specify if the codec communication goes over SPI or a 2-wire bus. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit f009ad9b39e6484d8e36e9e5029c07eab8c12e8f Author: Clemens Ladisch Date: Wed Mar 19 08:19:41 2008 +0100 [ALSA] oxygen: change model-specific PCM device configuration When specifying which PCM devices to use, model drivers now use flags that also specify the routing between PCM devices and DMA channels instead of just DMA channel bits. This simplifies some code that checks for these flags. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit fa5d8106cb52e5df28673f59cc25af520dc83382 Author: Clemens Ladisch Date: Wed Mar 19 08:17:33 2008 +0100 [ALSA] oxygen: add monitor controls Add controls to enable monitoring of the analog and digital inputs. To allow monitoring after loading the driver when nothing has been played back or recorded yet, the I2S input and outputs are initialized to a valid configuration. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 33fa724e291d3cc6c319f7db487e6e084ef5d4b5 Author: Clemens Ladisch Date: Wed Mar 19 08:16:40 2008 +0100 [ALSA] virtuoso: move PCM1796 symbols to a header file Move the PCM1796 register symbol definitions to their own header file. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit f5b2368ba8c203eb5bb7e5bbd99f4d9064a6aac0 Author: Clemens Ladisch Date: Wed Mar 19 08:14:01 2008 +0100 [ALSA] oxygen: move WM8785 symbols to a header file Move the WM8786 register symbol definitions to their own header file. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit acf5850ea73bf82081fb65cf10dd36a9d7a890e9 Author: Timur Tabi Date: Tue Mar 18 17:18:18 2008 +0100 [ALSA] Removed deprecated sound/driver.h from Freescale MPC8610 drivers With commit 9004acc70e8c49c50c4c7b652f906f1e0ed5709d, include/sound/driver.h is deprecated. This patch removes the #include from fsl_ssi.c and fsl_dma.c. Signed-off-by: Timur Tabi Signed-off-by: Takashi Iwai commit 850f0e5212a73a548b9c29faf452b4a14d80f43b Author: Takashi Iwai Date: Tue Mar 18 17:11:05 2008 +0100 [ALSA] hda-intel - Add sync support Addded the support of sync streams to hda-intel driver. Signed-off-by: Takashi Iwai commit f081374b607f2656ca79a94d96d99cd5a2f60b68 Author: Takashi Iwai Date: Tue Mar 18 12:13:03 2008 +0100 [ALSA] hda-codec - Support of Lenovo Thinkpad X300 Added the model thinkpad for Lenovo Thinkpad X300 with AD1984A codec. Signed-off-by: Takashi Iwai commit c0bbf48db35fec29c39c8a7826ca271069537e57 Author: Robert Jarzmik Date: Tue Mar 18 12:08:35 2008 +0100 [ALSA] soc - Add missing audio path between Mono Mixer and Mic PGAs Signed-off-by: Robert Jarzmik Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 888afa15418f001896bc11f498f9348e029611bd Author: Takashi Iwai Date: Tue Mar 18 09:57:50 2008 +0100 [ALSA] hda-codec - keep the format verb at closing PCM streams Keep the format verb at closing PCM streams. Introduced snd_hda_codec_cleanup_stream() for the parcicular purpose. Signed-off-by: Takashi Iwai commit 117f257d7a9599ff9cb5ab7a6a10201c6294b5f1 Author: Takashi Iwai Date: Tue Mar 18 09:53:23 2008 +0100 [ALSA] hda-codec - Fix spekaer output of Panasonic CF-74 Add a new model "panasonic" for Panasonic CF-74 with STAC9200 codec to fix the speaker output. Signed-off-by: Takashi Iwai commit 2add9b925394746eff692ff0875d21ea2d5289e2 Author: Takashi Iwai Date: Tue Mar 18 09:47:06 2008 +0100 [ALSA] hda-intel - Add barrier Add proper barriers in the RIRB communication code. Signed-off-by: Takashi Iwai commit 86d34b7ec878ea4b4c9f33ce92f1722c4326dbe7 Author: Herton Ronaldo Krzesinski Date: Tue Mar 18 09:27:59 2008 +0100 [ALSA] hda-codec - Map 3stack-6ch-dig ALC883 model for MSI 945GCM5 V2 (MSI-7267) Map 3stack-6ch-dig ALC883 model for MSI 945GCM5 V2 (MSI-7267). Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit f32a19e3e7e72cc896d02c3d104f58dc972d43ea Author: Herton Ronaldo Krzesinski Date: Tue Mar 18 09:27:08 2008 +0100 [ALSA] hda-codec - Fix DAC assignment order in ALC883 Actually clfe and surround DACs are inverted in alc883_dac_nids array (see ALC883 datasheet). I discovered this while testing multi-channel setup (using 3stack-6ch-dig model) on MSI 945GCM5 V2 motherboard that has an ALC883 codec. Simply Rear Left/Right and Center/LFE were swapped in 6 channel mode (also in 4 channel mode you didn't get rear left/right output). Other models also were affected by this bug, as can be seen by the mixer layouts that "workaround" this (the real bug was not noticed, and some other models simply played with mixer and initial verbs). Thus along with fixing the order of dac nids, also change the models that relied on previous dac ordering properly. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 9ecaedae0de906f0b5f8dbc09cd610f7056ba975 Author: Mariusz Kozlowski Date: Tue Mar 18 09:03:03 2008 +0100 [ALSA] sound/drivers/pcsp/pcsp.c build fix sound/drivers/pcsp/pcsp.c: In function 'snd_pcsp_create': sound/drivers/pcsp/pcsp.c:54: error: 'loops_per_jiffy' undeclared (first use in\ this function) sound/drivers/pcsp/pcsp.c:54: error: (Each undeclared identifier is reported on\ ly once sound/drivers/pcsp/pcsp.c:54: error: for each function it appears in.) Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit f5e09ef0985ff01af6b4a12954840467f153a41c Author: Atsushi Nemoto Date: Mon Mar 17 14:36:24 2008 +0100 [ALSA] at73c213: Add constraints for periods value The interrupt handler always provide runtime->period_size data, so it works correctly only if buffer_size was a multiple of period_size. This patch fixes periodic click noise. Signed-off-by: Atsushi Nemoto Signed-off-by: Takashi Iwai commit b32300a4ce78b4df92f33c455ffe644b36f0ff1a Author: Julia Lawall Date: Mon Mar 17 10:23:35 2008 +0100 [ALSA] sound/pci: remove unused variable The variable is_capture is initialized but never used otherwise. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; identifier i; constant C; @@ ( extern T i; | - T i; <+... when != i - i = C; ...+> ) // Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai commit 43337ac0dec5fe507b3028d2ad4404c3f1a28034 Author: Takashi Iwai Date: Mon Mar 17 10:16:37 2008 +0100 [ALSA] ice1724 - Fix return codes in some pointis callbacks Fixed the return codes (1 for changed values) in put callbacks of pontis. Signed-off-by: Takashi Iwai commit 5a220c868e395bc3662d13ad4c2a18769075af54 Author: Takashi Iwai Date: Mon Mar 17 09:59:32 2008 +0100 [ALSA] usb-audio - Add a proper error check The error in check_hw_params_convention() has to be checked and handled properly. Signed-off-by: Takashi Iwai commit 841b23d4d7b554c8d74fc9c34a701f85abc04875 Author: Pavel Hofman Date: Mon Mar 17 08:45:33 2008 +0100 [ALSA] some fixes and cleanup for ICE1724 cards * removing the hack with NON_AKM ak4xxx type * support for card-specific flags in ak4114_stats * definition of the flags for corresponding cards Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit 5949d2443d96f054d9a32d31edddb0be836968c6 Author: Joachim Foerster Date: Mon Mar 17 08:40:12 2008 +0100 [ALSA] [ML403-AC97CR] Remove duplicate snd_card_set_dev() We want to have snd_card_set_dev() in _probe(), but not a second one in snd_ml403_ac97cr_create(). Signed-off-by: Joachim Foerster Signed-off-by: Takashi Iwai commit c93f5a1eca1f6d662d791c14c469b6962e05a08f Author: Takashi Iwai Date: Fri Mar 14 17:17:09 2008 +0100 [ALSA] ice1724 - Fix the SPDIF input sample-rate on Juli@ AK4114 on Juli@ has the SPDIF input sample rate detection and causes errors when an incompatible sample rate is chosen. The patch adds the open hook to check the current rate and limit the hw constraints. Signed-off-by: Takashi Iwai commit 5d9fab2d84963ec598810c54a67332decdd922a8 Author: Tony Vroon Date: Fri Mar 14 17:09:18 2008 +0100 [ALSA] hda-codec - Fujitsu Lifebook port replicator/dock headphone jack sense The docking station headphone output had no audio and jack sense was not considered. Jack information from the laptop itself and the dock are combined, as the dock does not obscure the connector. Signed-off-by: Tony Vroon Signed-off-by: Takashi Iwai commit ee9d6b9a30ae83f15fe8c8d2337ebc0a38151d38 Author: Takashi Iwai Date: Fri Mar 14 15:52:20 2008 +0100 [ALSA] hda-intel - Fix power-off hang on ASUS P5AD2 The hda-intel driver has a problem at power-off on ASUS P5AD2. It's caused when the position-buffer is enabled -- most likely a hardware-specific problem. This patch adds a quirk to avoid the unnecessary enablement of position-buffer. Signed-off-by: Takashi Iwai commit 3da23cac3d6b93803b8c381a755870cbafcd3212 Author: Herton Ronaldo Krzesinski Date: Fri Mar 14 12:52:59 2008 +0100 [ALSA] hda-codec - Map 3stack-6ch-dig ALC662 model for Asus P5GC-MX Map 3stack-6ch-dig ALC662 model for Asus P5GC-MX. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 7055ad8a996b2b77f12242109c0b5bacc237e824 Author: Herton Ronaldo Krzesinski Date: Fri Mar 14 12:52:20 2008 +0100 [ALSA] hda-codec - Fix ALC662 DAC mixer mutes Currently ALC662 doesn't suport amp mute for AmpOut in nids 0x02, 0x03, 0x04 (see block diagram in ALC662 datasheet page 3, does M correspond to mute?). The result is that currently mute for "Front Playback Switch", "Surround Playback Switch", "Center Playback Switch" and "LFE Playback Switch" mixer items doesn't work (tested on Asus P5GC-MX motherboard with 3stack-6ch model). The solution I found for this is to mute the proper inputs in 0x0c, 0x0d, 0x0e audio mixers. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 2626a263ffc2369499442933b1c313de0a066ede Author: Takashi Iwai Date: Fri Mar 14 09:18:32 2008 +0100 [ALSA] hda-codec - Fix orphan Headphone controls in STAC codecs Currently, the headphone controls are created as Master wrongly in some cases, and this prevents the virtual master controls. The patch fixes the problem by simply using "Headphone" always for headphone controls. Signed-off-by: Takashi Iwai commit d654a660355f9dc30d3a6bf1493d32363bde8570 Author: Matthew Ranostay Date: Fri Mar 14 08:46:51 2008 +0100 [ALSA] hda: 92HD73xxx distortion fix Fixed issue on some laptops that if the Master mixer and DAC mixers are turned all the way up that will cause distortion. This is fixed by limiting the max volume with the volume knob nid. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 1bc1f30565b561bafc51725fce336aec59029437 Author: Stas Sergeev Date: Wed Mar 12 13:12:15 2008 +0100 [ALSA] pcsp: locking fix pcsp: locking fix. Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit bb9f76cd5909b9da6b4d31b55a4086cc35614fe0 Author: Takashi Iwai Date: Wed Mar 12 12:51:09 2008 +0100 [ALSA] hda-codec - Improve ALC262 ultra model Improved ALC262 ultra model for Samsung Q1 Ultra series. - clean up mixers - support of input from HP jack as a mic - add quirk for Q1 EL Signed-off-by: Takashi Iwai commit 9f2f0f7c4e997a74ff9fb8e2e2ed0daa21962e97 Author: Atsushi Nemoto Date: Tue Mar 11 08:15:30 2008 +0100 [ALSA] at73c213: remove redundant private_free routine snd_pcm_lib_preallocate_free_for_all() is called from snd_pcm_free() just after calling the private_free routine. So there should be no need to call it in driver's private_free routine. Signed-off-by: Atsushi Nemoto Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit 91662577979cadf945cd3ffc4c470e5b91378370 Author: Takashi Iwai Date: Mon Mar 10 12:19:12 2008 +0100 [ALSA] aw2 - Rename aw2-tsl.h to aw2-tsl.c aw2-tsl.h should be rather a C file to be included since it's referred only in aw2-saa6146.c and includes a table data. Signed-off-by: Takashi Iwai commit ee7a9c7c2eb5cd09c15824323eac4cd95e2d18a8 Author: Michael Gruber Date: Mon Mar 10 11:30:59 2008 +0100 [ALSA] hda-intel - Fix microphone capture with ALC880 F1734 model The default capture source should be the mic which is 0x01 on this model. In addition to that the change to VREF50 allows for higher capture volume. Signed-off-by: Michael Gruber Signed-off-by: Takashi Iwai commit 7747ecceb523d7b00c8dfe568154d0b4e70e0800 Author: Matthew Ranostay Date: Mon Mar 10 11:30:04 2008 +0100 [ALSA] hda: Reorganized DAC outputs Changed so that internal speakers point to the Front mixer instead of Surround. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 85bfb8fe5d26b316ccd4892d1834778ec5fc17c3 Author: Takashi Iwai Date: Mon Mar 10 11:21:30 2008 +0100 [ALSA] release 1.0.16 Signed-off-by: Takashi Iwai commit 4a295ca47424b48c993d5cea7c3fbeca75ddb608 Author: Atsushi Nemoto Date: Sat Mar 8 11:08:32 2008 +0100 [ALSA] at73c213: monaural support Add support for monaural playback to at73c213 driver. The sound will be apear on L-channel. Tested on AT91SAM9260-EK. Signed-off-by: Atsushi Nemoto Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit c67582b195fb5deb24808ebbafb41045f1a61425 Author: Atsushi Nemoto Date: Sat Mar 8 11:07:26 2008 +0100 [ALSA] at73c213: fix error checking for clk API The clk_round_rate() and clk_set_rate() will return int, so not store thier return value to unsigned long variable. This bug hides real error on these API. Signed-off-by: Atsushi Nemoto Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit b419f346994d4ba082244fb1327754bc839a4d8a Author: Tobin Davis Date: Fri Mar 7 11:57:51 2008 +0100 [ALSA] HDA Codecs: add support for Toshiba Equium L30 This patch adds support for the Toshiba Equium L30 laptop and renames the mixer controls to match Laptop usages. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai commit 21ac1f9934d33ea2ffa71d13fa2f6286127d3caf Author: Julia Lawall Date: Tue Mar 4 15:07:24 2008 -0800 sound: Use BUG_ON if (...) BUG(); should be replaced with BUG_ON(...) when the test has no side-effects to allow a definition of BUG_ON that drops the code completely. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ disable unlikely @ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (unlikely(E)) { BUG(); } + BUG_ON(E); ) @@ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (E) { BUG(); } + BUG_ON(E); ) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton commit 0ccb541c96e6d40844d00ec88fae734568bdd0bd Author: Takashi Iwai Date: Thu Mar 6 16:58:35 2008 +0100 [ALSA] hda-codec - Add internal mic item for ALC268 acer model Added the internal mic as a capture source item for ALC268 acer model. Signed-off-by: Takashi Iwai Signed-off-by: Takashi Iwai commit 7194cae62e92c5db8b87df1120fbf24f83f488f8 Author: Takashi Iwai Date: Thu Mar 6 16:58:17 2008 +0100 [ALSA] hda-codec - Fix dmics on ALC268 in auto configuration Fixed the handling of dmics on ALC268 in the auto-configuration mode. Signed-off-by: Takashi Iwai commit 487145a1984b78e9b194aa44f8079cc019779a58 Author: Peer Chen Date: Thu Mar 6 15:15:11 2008 +0100 [ALSA] hda_intel: Add the DIDs of nvidia MCP79 HD audio controller to hda_intel.c Add the Device IDs of nvidia MCP79 HD audio controller to hda_intel.c Signed-off-by: Peer Chen Signed-off-by: Takashi Iwai commit 2de3c232a0050ee247ae6e97b055f39e15a08ee3 Author: Jiang zhe Date: Thu Mar 6 11:09:09 2008 +0100 [ALSA] hda-codec - model for cx20549 to support laptop HP530 Currently the model laptop-hpsense use the 0x12 as ExtMic, and use 0x14 as Internal IntMic. But the hp530 only have one ExtMic, the Pin widget is 0x14. In this patch, I changed the mixer item for them. I still reserved the IntMic item, it will be helpful if other machine may use this model. ALSA bug#3821. Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit fb97dc67397c1ee63eb0094c28fc9a5dcc0a83a6 Author: Jiang zhe Date: Thu Mar 6 11:07:11 2008 +0100 [ALSA] hda-codec - model for alc883 to support FUJITSU Pi2515 There is no suitable model for Pi2515. This model is to support it. ALSA bug#3800. Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit d08cd58db9f4078bb9237fc6ff7104ed50d7804b Author: Stas Sergeev Date: Thu Mar 6 11:01:44 2008 +0100 [ALSA] pcsp: add description update ALSA-Configuration.txt Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit 52337310af443278ee84ec4b9adaee0037cc0e30 Author: Stas Sergeev Date: Thu Mar 6 11:01:16 2008 +0100 [ALSA] pcsp: improve "enable" option handling Simplify init code. Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit 8280823668d42ed9695da759047b86074ad14ba4 Author: Pascal Terjan Date: Tue Mar 4 11:33:28 2008 +0100 [ALSA] ALC288 - Add NEC S970 to the quirk table NEC S970 has no sound in the internal speakers when autodetection is used. With targa-dig model, there is sound in the speakers and it gets correctly muted when pluging headphones. Signed-off-by: Takashi Iwai commit a91605b86a234b01d2f99b38411ac30a40bdf067 Author: Stas Sergeev Date: Tue Mar 4 11:28:43 2008 +0100 [ALSA] pcsp - clean ups - make pcsp_start_timer_tasklet static - remove redundant includes. is not available on all platforms. Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit 368c7a95ea324b3f9728ba1c901ac119d409bf4e Author: Jiang zhe Date: Tue Mar 4 11:20:33 2008 +0100 [ALSA] hda-codec - model for alc883 to support M720R There is no suitable model for M720R (ALSA bug#3781). This patch is to support HP jack-sensing and mixer. Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit fd2499f0ed765de3ab11c7fd6f37f9fbfaf059ec Author: Takashi Iwai Date: Tue Mar 4 11:06:26 2008 +0100 [ALSA] aw2 - Remove endian dependency Removed unnecessary dependency on the little-endianess. Signed-off-by: Takashi Iwai commit 9bf8e7ddeaf57f1ec534014c447705ad31d5d721 Author: Harvey Harrison Date: Mon Mar 3 15:32:18 2008 -0800 [ALSA] sound: replace remaining __FUNCTION__ occurences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 24982c5f7feca2f4d1b0b562a28b767d93a01ce0 Author: Andrew Morton Date: Tue Mar 4 10:08:58 2008 +0100 [ALSA] hda_intel needs dma-mapping.h sparc32: sound/pci/hda/hda_intel.c: In function 'azx_create': sound/pci/hda/hda_intel.c:1838: error: 'DMA_64BIT_MASK' undeclared (first use in this function) sound/pci/hda/hda_intel.c:1838: error: (Each undeclared identifier is reported only once sound/pci/hda/hda_intel.c:1838: error: for each function it appears in.) Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit ae092c9ede515bd6864b44efc2d83135bd3c535b Author: Graeme Gregory Date: Mon Mar 3 17:19:45 2008 +0100 [ALSA] soc - Add Invert Switch for ROUT2 GTA02 device has a speaker between LOUT2 & ROUT2 and in this mode ROUT2 needs to be inverted. This patch adds a mixer control for this. Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 9ab4d072ad67793d70b8707e14fb9261749c4e07 Author: Stas Sergeev Date: Mon Mar 3 10:53:54 2008 +0100 [ALSA] Add PC-speaker sound driver Added PC-speaker sound driver (snd-pcsp). Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit 40ac8c4f208111cdc1542ccc9feb21b98a6b0219 Author: Takashi Iwai Date: Fri Feb 29 14:16:17 2008 +0100 [ALSA] hda-codec - Fix the array over-range access with stac92hd71bxx codec Add the check of the array range for dac_nids to prevent the over-range access. Signed-off-by: Takashi Iwai commit fd6640fa2d8b5f5f471aad5abd8ce5d6995df563 Author: Pawel MOLL Date: Fri Feb 29 12:41:31 2008 +0100 [ALSA] IEC958 definitions for consumer status channel, byte 4 Added definition for byte 4 of SPDIF channel status, according to second edition of IEC 60958-3 (consumer) spec. Signed-off-by: Pawel MOLL Signed-off-by: Takashi Iwai commit 52fe0f9d59cf4f5842bd319e4f212f907abd2e5d Author: Matthew Ranostay Date: Fri Feb 29 12:08:20 2008 +0100 [ALSA] hda: add verbs for 92hd73xxx laptops Added core_init[] for several 92hd73xxx laptops. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit bce6c2b5b4dbe8cd97c48c633b62adeb535954ad Author: Matthew Ranostay Date: Fri Feb 29 12:07:43 2008 +0100 [ALSA] hda: disable power management on fixed ports Power management can't be enabled on fixed ports, since the presence will always return false and prevent output. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 3c9a3203ff9863fbe798030928f496347c2ed3bd Author: Harvey Harrison Date: Fri Feb 29 11:59:26 2008 +0100 [ALSA] sound: hda: missing includes of hda_patch.h Move the array declaration to hda_codec.c where it is used and add includes where the individual presets are declared. Fixes the following sparse warnings: sound/pci/hda/patch_realtek.c:13744:25: warning: symbol 'snd_hda_preset_realtek' was not declared. Should it be static? sound/pci/hda/patch_cmedia.c:729:25: warning: symbol 'snd_hda_preset_cmedia' was not declared. Should it be static? sound/pci/hda/patch_analog.c:3656:25: warning: symbol 'snd_hda_preset_analog' was not declared. Should it be static? sound/pci/hda/patch_sigmatel.c:3995:25: warning: symbol 'snd_hda_preset_sigmatel' was not declared. Should it be static? sound/pci/hda/patch_si3054.c:286:25: warning: symbol 'snd_hda_preset_si3054' was not declared. Should it be static? sound/pci/hda/patch_atihdmi.c:156:25: warning: symbol 'snd_hda_preset_atihdmi' was not declared. Should it be static? sound/pci/hda/patch_conexant.c:1721:25: warning: symbol 'snd_hda_preset_conexant' was not declared. Should it be static? sound/pci/hda/patch_via.c:1962:25: warning: symbol 'snd_hda_preset_via' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 64ed0dfd1f42edb15f4d18c13d7696edbc2f7e4c Author: Takashi Iwai Date: Fri Feb 29 11:57:53 2008 +0100 [ALSA] hda-codec - Use int instead of long in patch_sigmatel.c The HD-audio parameters are at most 32bit int. Signed-off-by: Takashi Iwai commit 8b55178515e8872670dc830203dad0e9e51e16be Author: Harvey Harrison Date: Fri Feb 29 11:56:48 2008 +0100 [ALSA] sound: patch_sigmatel.c fix shadowed variable warning Temp variable in the loop shadows the second argument (which is otherwise unused in this function). Change this to defcfg as it is used to hold the default config. sound/pci/hda/patch_sigmatel.c:2759:18: warning: symbol 'cfg' shadows an earlier one sound/pci/hda/patch_sigmatel.c:2734:26: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 0b76b51e5807951995a39ea791b39971a7ae945f Author: Harvey Harrison Date: Fri Feb 29 11:54:49 2008 +0100 [ALSA] sound: hdspm.c fix returning void expression warnings Just drop the returns. sound/pci/rme9652/hdspm.c:1031:3: warning: returning void-valued expression sound/pci/rme9652/hdspm.c:1033:3: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 0cd87b10ca29a351c61c8c63761ab8fb48e47b2f Author: Harvey Harrison Date: Fri Feb 29 11:54:26 2008 +0100 [ALSA] sound: riptide.c fix shadowed variable warnings In both cases we are passing around the substream number, use sub_num for this. sound/pci/riptide/riptide.c:1633:6: warning: symbol 'index' shadows an earlier one sound/pci/riptide/riptide.c:121:12: originally declared here sound/pci/riptide/riptide.c:1673:6: warning: symbol 'index' shadows an earlier one sound/pci/riptide/riptide.c:121:12: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit caba7f70fce924dc5da2019f7678189086d0acd4 Author: Harvey Harrison Date: Fri Feb 29 11:53:59 2008 +0100 [ALSA] sound: pcxhr_core.c fix shadowed variable warning Inner loop redeclares err with u32 rather than int, stupid fix here is to change the inner err to err2. sound/pci/pcxhr/pcxhr_core.c:1008:8: warning: symbol 'err' shadows an earlier one sound/pci/pcxhr/pcxhr_core.c:983:6: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit ff143874d09a5850e7bf6c68d141243cb12a7b58 Author: Harvey Harrison Date: Fri Feb 29 11:46:57 2008 +0100 [ALSA] sound: virtuoso.c fix shadowed variable warning Use priv_idx as an identifier. sound/pci/oxygen/virtuoso.c:277:15: warning: symbol 'index' shadows an earlier one sound/pci/oxygen/virtuoso.c:56:12: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit c3daa92d60552891057b65f278d882348b76fffe Author: Harvey Harrison Date: Fri Feb 29 11:52:50 2008 +0100 [ALSA] sound: ice1712.c fix shadowed variable warnings In all four case, adding a private value to the iooff index, call it priv_idx. sound/pci/ice1712/ice1712.c:1300:6: warning: symbol 'index' shadows an earlier one sound/pci/ice1712/ice1712.c:85:12: originally declared here sound/pci/ice1712/ice1712.c:1312:6: warning: symbol 'index' shadows an earlier one sound/pci/ice1712/ice1712.c:85:12: originally declared here sound/pci/ice1712/ice1712.c:1338:6: warning: symbol 'index' shadows an earlier one sound/pci/ice1712/ice1712.c:85:12: originally declared here sound/pci/ice1712/ice1712.c:1350:6: warning: symbol 'index' shadows an earlier one sound/pci/ice1712/ice1712.c:85:12: originally declared here [tiwai - fixed coding issues as well] Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit f2948fc2f0e1c19b8bea77a14338d338e941ac9a Author: Harvey Harrison Date: Fri Feb 29 11:44:57 2008 +0100 [ALSA] sound: emu10k1x.c fix shadowed variable warnings enable in these contexts refers specifically to intr enable, as per the two functions it is found in. Use intr_enable instead. sound/pci/emu10k1/emu10k1x.c:330:15: warning: symbol 'enable' shadows an earlier one sound/pci/emu10k1/emu10k1x.c:53:12: originally declared here sound/pci/emu10k1/emu10k1x.c:341:15: warning: symbol 'enable' shadows an earlier one sound/pci/emu10k1/emu10k1x.c:53:12: originally declared here instead of shadowing, use cap_voice as we test for the capture voice in this statement. sound/pci/emu10k1/emu10k1x.c:798:25: warning: symbol 'pvoice' shadows an earlier one sound/pci/emu10k1/emu10k1x.c:787:24: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 4677df07e551d64167f64eba5e3563b3df7f4ca8 Author: Harvey Harrison Date: Fri Feb 29 11:44:26 2008 +0100 [ALSA] sound: emuproc.c fix signedness warning Reading regs from the fpga into an int instead of a u32, trivial fix. sound/pci/emu10k1/emuproc.c:422:34: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emuproc.c:422:34: expected unsigned int [usertype] *value sound/pci/emu10k1/emuproc.c:422:34: got int * Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 3fa4a9073886a1031400c19e8b09fca3eebb645f Author: Harvey Harrison Date: Fri Feb 29 11:41:56 2008 +0100 [ALSA] sound: au88x0_pcm.c fix integer as NULL pointer warning sound/pci/au88x0/au88x0_pcm.c:508:15: warning: Using plain integer as NULL pointer Also some small codingstyle fixes. Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 470f23b873679b045908551302fec6b1edf05a5a Author: Ahmet İnan Date: Thu Feb 28 12:46:32 2008 +0100 [ALSA] snd-dummy - better realtime app support when the time interval for a period is smaller than kernel HZ, then snd-aloop and snd-dummy cannot call snd_pcm_period_elapsed as fast enough annymore. this happens for example with games. but the app still needs to see, that the buffer actually did go further, which is provided by these patches. Signed-off-by: Ahmet İnan mathematik.uni-freiburg.de> Signed-off-by: Takashi Iwai commit bed515b0dfdcf8f440c7e6c5bad8ce3eb96fb625 Author: Harvey Harrison Date: Thu Feb 28 12:02:56 2008 +0100 [ALSA] sound: ca0106_mixer.c fix shadowed variable warnings Change the variable err to _err within the ADD_CTLS macro to avoid shadowing the local variable. sound/pci/ca0106/ca0106_mixer.c:710:2: warning: symbol 'err' shadows an earlier one sound/pci/ca0106/ca0106_mixer.c:663:6: originally declared here sound/pci/ca0106/ca0106_mixer.c:712:3: warning: symbol 'err' shadows an earlier one sound/pci/ca0106/ca0106_mixer.c:663:6: originally declared here sound/pci/ca0106/ca0106_mixer.c:721:3: warning: symbol 'err' shadows an earlier one sound/pci/ca0106/ca0106_mixer.c:663:6: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit d967a02712f09265b3c357f35f125715f5dffd2f Author: Harvey Harrison Date: Thu Feb 28 12:02:22 2008 +0100 [ALSA] sound: ca0106_main.c fix shadowed variable warnings change to intr_enable as per the two functions it is defined in. sound/pci/ca0106/ca0106_main.c:438:15: warning: symbol 'enable' shadows an earlier one sound/pci/ca0106/ca0106_main.c:159:12: originally declared here sound/pci/ca0106/ca0106_main.c:449:15: warning: symbol 'enable' shadows an earlier one sound/pci/ca0106/ca0106_main.c:159:12: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit c74056d437401dc7d43970cd845c34a7e28723c0 Author: Harvey Harrison Date: Thu Feb 28 12:00:48 2008 +0100 [ALSA] sound: ali5451.c fix shadowed variable warnings enable is used to test for whether or not spdif should be enabled, change to spdif_enable. sound/pci/ali5451/ali5451.c:1812:15: warning: symbol 'enable' shadows an earlier one sound/pci/ali5451/ali5451.c:63:12: originally declared here sound/pci/ali5451/ali5451.c:1840:27: warning: symbol 'enable' shadows an earlier one sound/pci/ali5451/ali5451.c:63:12: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 608b10bad3563e2349393136ce421d9f67329170 Author: Harvey Harrison Date: Thu Feb 28 11:58:18 2008 +0100 [ALSA] sound: ac97_pcm.c fix shadowed variable warning err is always assigned before it is used, no need to declare another inside the if statement. sound/pci/ac97/ac97_pcm.c:577:7: warning: symbol 'err' shadows an earlier one sound/pci/ac97/ac97_pcm.c:572:6: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 44977b719f7425ddb1cb67d647a4f588a9718163 Author: Harvey Harrison Date: Thu Feb 28 11:57:47 2008 +0100 [ALSA] sound: rme96.c fix integer as NULL pointer warning kernel style does assignment outside of if() block sound/pci/rme96.c:1562:71: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 4db9e4f2b5278338ff9487eefdc8e32109aa0552 Author: Harvey Harrison Date: Thu Feb 28 11:57:23 2008 +0100 [ALSA] sound: rme32.c fix integer as NULL pointer warning kernel style does assignment outside of if() statements. sound/pci/rme32.c:1353:71: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit e37273d3484e241063fefb2611a0c93eb0d9ddbd Author: Harvey Harrison Date: Thu Feb 28 11:56:37 2008 +0100 [ALSA] sound: maestro3.c fix shadowed variable warnings change id to elem_id as it is used to initialize each mixer element sound/pci/maestro3.c:2071:25: warning: symbol 'id' shadows an earlier one sound/pci/maestro3.c:67:13: originally declared here index is used in each of these places to count over the dsp's memory, change to the name dsp_index sound/pci/maestro3.c:2572:9: warning: symbol 'index' shadows an earlier one sound/pci/maestro3.c:66:12: originally declared here sound/pci/maestro3.c:2604:9: warning: symbol 'index' shadows an earlier one sound/pci/maestro3.c:66:12: originally declared here [tiwai - fixed coding style issues as well] Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 58e4334e82c0f4eb0147a905a127bd14f0ea0a2d Author: Harvey Harrison Date: Thu Feb 28 11:55:07 2008 +0100 [ALSA] sound: fm801.c fix shadowed variable warning id was only used as a counter in a for loop, move the declaration to where it is used and change it to i. sound/pci/fm801.c:1288:6: warning: symbol 'id' shadows an earlier one sound/pci/fm801.c:51:13: originally declared here [tiwai - fixed a coding style issue as well] Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 3463d8fa14ba2e00ede9894efdaa65189eb04b36 Author: Harvey Harrison Date: Thu Feb 28 11:53:41 2008 +0100 [ALSA] sound: es1968.c fox shadowed variable warning id is used when initializing the mixer elements, use elem_id here instead. sound/pci/es1968.c:1963:25: warning: symbol 'id' shadows an earlier one sound/pci/es1968.c:129:13: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 405b0a377cfe3750f4af54b80d0402c3fe777b87 Author: Harvey Harrison Date: Thu Feb 28 11:53:07 2008 +0100 [ALSA] sound: ens1370.c fix shadowed variable warning index is incremented only when AC97_EI_SPDIF and then assigned to the index field. Change the temporary name to is_spdif. sound/pci/ens1370.c:1638:10: warning: symbol 'index' shadows an earlier one sound/pci/ens1370.c:84:12: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 7dfa31ed5e1fc0ace7f1959b9564ad43d78fd7af Author: Harvey Harrison Date: Thu Feb 28 11:52:17 2008 +0100 [ALSA] sound: cmipci.c fix shadowed variable warning A temporary variable for each mixer element is used in an initialization loop, use the name elem_id. sound/pci/cmipci.c:2747:26: warning: symbol 'id' shadows an earlier one sound/pci/cmipci.c:56:13: originally declared here [tiwai - fixed a coding style issue as well] Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 964a788e0ba64aa4ce2e6488718f3ee28cc2e61e Author: Mark Brown Date: Tue Feb 26 13:16:08 2008 +0100 [ALSA] soc - Report errors from snd_soc_dapm_set_endpoint() Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit b26451c059e741ec5e3389f7758627cb094b3766 Author: Takashi Iwai Date: Tue Feb 26 11:56:35 2008 +0100 [ALSA] hda-codec - Add docking-station mic input for Thinkpad X61 Added the docking-stationc mic input to the capture source list for Thinkpad X61. Signed-off-by: Takashi Iwai commit aea7bb0a6ff5e751ef611ba9c1146c3c8489f25e Author: Takashi Iwai Date: Mon Feb 25 18:26:41 2008 +0100 [ALSA] hda-codec - Fix initial DAC numbers of 92HD71bxx codecs Fix the initial num_dacs of 92HD71bxx codecs. Signed-off-by: Takashi Iwai commit 25a47b6b01314f027553d231c1a67dee27ff02b0 Author: Clemens Ladisch Date: Mon Feb 25 11:04:19 2008 +0100 [ALSA] usb-audio: sort quirks list Move some entries to their proper position so that the list is again sorted by vendor/product ID. Signed-off-by: Clemens Ladisch commit ea6b5828cdbbedaf26b12ae64befbec18084ea3c Author: Clemens Ladisch Date: Mon Feb 25 10:59:52 2008 +0100 [ALSA] mpu401: reduce tx loop timeout Reduce the number of times to check for a non-empty Tx FIFO from 100 to 2 because there is no MPU-401 implementation that needs more than one or two reads to determine the actual FIFO status. Signed-off-by: Clemens Ladisch commit 47ba97f8fa01bb5b48e73b4b1271fbf1436a2d4b Author: Remy Bruno Date: Fri Feb 22 17:57:02 2008 +0100 [ALSA] hdsp - RME 9632 fix at 192kHz The bits indicating SPDIF frequency in the status register are not the same for the 9632 than for the other cards, because it also supports 192kHz. A specific bitmask has thus been added (used in hdsp_spdif_sample_rate()). The 9632 does not seem to report external sample rates greater than 96kHz. In this case, the best seems to report spdif rate when autosync reference is spdif. This also required to move function hdsp_spdif_sample_rate(). Signed-off-by: Remy Bruno Signed-off-by: Takashi Iwai commit ae0afd81b34ce287ffda7dd4e33b5144de2ad39d Author: Matthew Ranostay Date: Fri Feb 22 17:55:05 2008 +0100 [ALSA] hda: Mic as output fix Added logic to check if AUTO_PIN_FRONT_MIC is available for output switch, if AUTO_PIN_MIC isn't. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 88d18ea2c2b40496b56efcb354e9eae1f09ef126 Author: Takashi Iwai Date: Thu Feb 21 14:11:09 2008 +0100 [ALSA] hda-codec - Add missing descriptions for STAC codec models Added the missing descriptions for STAC codec models. Signed-off-by: Takashi Iwai commit c354cd7d9627930dcfbcff8355d422fa1bca948a Author: Takashi Iwai Date: Thu Feb 21 12:40:00 2008 +0100 [ALSA] seq-oss - Remove invalid BUG() Removed invalid BUG() - the driver should handle the error case properly rather than issuing BUG(). Signed-off-by: Takashi Iwai commit 87218e9c6e7f7908baf98030b6d724e14aa8b5cd Author: Takashi Iwai Date: Thu Feb 21 08:13:11 2008 +0100 [ALSA] hda-intel - Use PCI_DEVICE() macro Clean up the pci id table using PCI_DEVICE() macro. Signed-off-by: Takashi Iwai commit 53463a8302d0c3148c4c64c034312215e76429c2 Author: Ahmet İnan Date: Thu Feb 21 07:55:30 2008 +0100 [ALSA] snd-dummy - improved timing, silence on prepare Signed-off-by: Ahmet İnan mathematik.uni-freiburg.de> Signed-off-by: Takashi Iwai commit 03d7ca177fd2ecac8eb22f482f327ecaae4ac8cb Author: Matthew Ranostay Date: Thu Feb 21 07:51:46 2008 +0100 [ALSA] hda: STAC927x analog mic Some laptops have a internal analog microphone that is not setup by the BIOS. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit a7662640104599249e15cda7839e9050f92e6a0e Author: Matthew Ranostay Date: Thu Feb 21 07:51:14 2008 +0100 [ALSA] hda: 92HDxxxx PCI Quirks Added PCI_QUIRKS for laptop that have the 92HDxxx family of codecs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 7989fba979daea99285079dc0099ab658e4db759 Author: Matthew Ranostay Date: Thu Feb 21 07:50:12 2008 +0100 [ALSA] hda: STAC927x invalid association value STAC_DELL_BIOS quirks were setting the association value wrong for port 0x0f, which prevented it from being included in hp_outs[]. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 4451089e2aafba87d7574e27c839895131a80293 Author: Matthew Ranostay Date: Thu Feb 21 07:49:31 2008 +0100 [ALSA] hda: fix STAC927x power management Fix issue on STAC927x codecs that first DAC was getting powered down even if was being used. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 6876a5323f6169f9321354a398f7364b41ca82fa Author: Jarkko Nikula Date: Wed Feb 20 17:13:44 2008 +0100 [ALSA] ASoC: Add support for 12 MHz MCLK in TLV320AIC3X Signed-off-by: Jarkko Nikula Signed-off-by: Takashi Iwai commit 9e235323db4689e8b7e123252b998a4904806c38 Author: Takashi Iwai Date: Wed Feb 20 12:13:29 2008 +0100 [ALSA] Add description of aw2 driver Added a brief description of aw2 driver to ALSA-Configuration.txt. Signed-off-by: Takashi Iwai commit 34b6757dc7ce0e9d5d3930b29d53a7bcb0fde047 Author: Takashi Iwai Date: Wed Feb 20 12:12:58 2008 +0100 [ALSA] aw2 - Add missing module parameters Added the missing declarations for module parameters. Signed-off-by: Takashi Iwai commit 98f2a97f207a776603173ee96327d977e592579d Author: Cedric Bregardis Date: Wed Feb 20 12:05:13 2008 +0100 [ALSA] Emagic Audiowerk 2 ALSA driver. Signed-off-by: Cedric Bregardis Signed-off-by: Jean-Christian Hassler Signed-off-by: Takashi Iwai commit 67ebcb0311110dc7268bb5b135bf437d8033337e Author: Takashi Iwai Date: Tue Feb 19 15:03:57 2008 +0100 [ALSA] hda-codec - Don't create multiple capture streams for single inputs When the device has only one input source, it makes no sense to have multiple capture streams. Signed-off-by: Takashi Iwai commit 85860c06aba5e145805ad840553a2388e60a7e23 Author: Takashi Iwai Date: Tue Feb 19 15:00:15 2008 +0100 [ALSA] hda-codec - Fix ALC268 capture source Initialize the capture source properly for auto model. It's especially important for cases that only mic is detected. Signed-off-by: Takashi Iwai commit aef9d318b1d741d80486ff7ea3507a8321dedf6b Author: Takashi Iwai Date: Tue Feb 19 13:16:41 2008 +0100 [ALSA] hda-codec - Add beep volume control to ALC268 Added the beep volume control to ALC268 codec support code. Since the codec doesn't return the correct AMP caps, we need to override the value. Signed-off-by: Takashi Iwai commit 77a261b75521564dcc5f22355cce4830f6b1376a Author: Kailang Yang Date: Tue Feb 19 11:38:05 2008 +0100 [ALSA] hda-codec - Fix ALC662 recording Fixed ALC662 recording issue. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 8b6ed8e70d9a7c39748a9902d64138e070d4064b Author: Takashi Iwai Date: Tue Feb 19 11:36:35 2008 +0100 [ALSA] hda-intel - Clean up stream definitions Clean up the code to define playback/capture streams. Signed-off-by: Takashi Iwai commit 49c88b85b53767f97eb8c9171cb0b976c62a0114 Author: Takashi Iwai Date: Mon Feb 18 13:06:49 2008 +0100 [ALSA] ca0106 - Add master volume controls Added master volume and switch controls for ca0106 using vmaster. Signed-off-by: Takashi Iwai commit 1c82ed1bc531746a8fa9b46c593ddce546f28026 Author: Takashi Iwai Date: Mon Feb 18 13:05:50 2008 +0100 [ALSA] Keep private TLV entry in vmaster itself Use a private array for TLV entries of virtual master controls instead of (supposed) static array. This cleans up the existing codes. Also, now vmaster assumes the simple dB-range TLV that is the only type it can handle. Signed-off-by: Takashi Iwai commit e922b0028fad87de0d262f9fa51f98595d2df258 Author: Takashi Iwai Date: Mon Feb 18 13:03:13 2008 +0100 [ALSA] Move vmaster code to sound core Move the codes for virtual master controls to sound core part so that not only hda-intel drivers can use it. Signed-off-by: Takashi Iwai commit 4235a31784f59c9be5ff71534743c055091f9735 Author: Takashi Iwai Date: Mon Feb 18 12:23:13 2008 +0100 [ALSA] intel8x0 - Add support of 8 channel sound Added the support of 8 channel sound for codecs that are known to work. So far, only ALC850 is marked as a 8ch-support codec. This fix is a modified version of the patch on ALSA BTS#2097 by Martin Ellis: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2097 Signed-off-by: Takashi Iwai commit 2eef1258e54722b1c4efac6e5760d2153f96c4b4 Author: Hans-Christian Egtvedt Date: Mon Feb 18 11:44:56 2008 +0100 [ALSA] Add __devinit macro to at73c213 sound driver probe functions This patch adds __devinit to the functions used when probing. Will also reduce the memory footprint a bit if CONFIG_HOTPLUG is not enabled. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Takashi Iwai commit 310355c111dbae005269fe3fc39afdd60779bf5d Author: Vladimir Barinov Date: Mon Feb 18 11:40:22 2008 +0100 [ALSA] Davinci ASoC support Add ASoC support for the TI Davinci SoC and the Davicni-EVM reference board. It includes: - ASoC Davinci DMA driver - ASoC Davinci I2S (Davinci McBSP module based) driver - ASoC Davinci-EVM reference board Signed-off-by: Vladimir Barinov Signed-off-by: Takashi Iwai commit b40b04ad380ad641e5740486e4b9a56fd32b64cc Author: Takashi Iwai Date: Sat Feb 16 09:44:56 2008 +0100 [ALSA] hda-codec - Add model=mobile for AD1884A & co Added the new model mobile for AD1884A and compatible codecs. It's a reduced version of model=laptop. Signed-off-by: Takashi Iwai commit c5059259688ab76f14f2f69a93e13575a36b614b Author: Takashi Iwai Date: Sat Feb 16 09:43:56 2008 +0100 [ALSA] hda-codec - Add support of AD1883/1884A/1984A/1984B Added the support of new AD codecs: AD1883, AD1884A, AD1984A and AD1984B. These are almost compatible except for additional digital pins, etc. Signed-off-by: Takashi Iwai commit 83ac08c0846bc6106d6c7fbb342eab02b32dd399 Author: Liam Girdwood Date: Fri Feb 15 16:43:11 2008 +0100 [ALSA] ASoC: WM9713 driver This patch adds an ASoC driver for the WM9713 AC97 codec. Signed-off-by: Liam Girdwood Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 88c71a9974693f2b2824b09340269511dd7cbe18 Author: Takashi Iwai Date: Thu Feb 14 17:27:17 2008 +0100 [ALSA] hda-codec - Fix missing capsrc_nids for ALC262 ALC262 must have capsrc_nids defined as well as in ALC882. Also, add a NULL check in alc882_mux_enum_put to avoid Oops. Signed-off-by: Takashi Iwai commit 814b1a5ce6b35bafd583ae813da97e8254bb1930 Author: Libin Yang Date: Thu Feb 14 12:55:13 2008 +0100 [ALSA] HDA-Intel - Patch to support RV7xx HDMI Audio This patch is to add R7xx HDMI audio support. Signed-off-by: Libin Yang Signed-off-by: Takashi Iwai commit d260cdf65657382c4cde366a1c7d4ddce669a427 Author: Takashi Iwai Date: Wed Feb 13 17:19:35 2008 +0100 [ALSA] hda-codec - Fix breakage of resume in auto-config of realtek codecs The last patch for fixing the auto-config pin setting breaks the resume due to a wrong use of snd_hda_codec_amp_stereo(). The code in the init hook shouldn't touch the amp cache. Signed-off-by: Takashi Iwai commit c8cd1281171602033861d0888273e0512f9b165c Author: Takashi Iwai Date: Wed Feb 13 16:59:29 2008 +0100 [ALSA] hda-codec - Add more names to vendor list Added more known names to the vendor id list. Signed-off-by: Takashi Iwai commit 9a08160bdbe3148a405f72798f76e2a5d30bd243 Author: Takashi Iwai Date: Tue Feb 12 18:37:26 2008 +0100 [ALSA] hda-codec - Add "IEC958 Default PCM" switch Added a new mixer switch to enable/disable the sharing of the default PCM stream with analog and SPDIF outputs. When "IEC958 Default PCM" switch is on, the PCM stream is routed both to analog and SPDIF outputs. This is the behavior in the earlier version. Turning this switch off has a merit for some codecs, though. Some codec chips don't support 24bit formats for SPDIF but only for analog outputs. In this case, you can use 24bit format by disabling this switch. Signed-off-by: Takashi Iwai commit f6c7e5461e9046445d50c5c7a9a4587824239623 Author: Takashi Iwai Date: Tue Feb 12 18:32:23 2008 +0100 [ALSA] hda-codec - Fix auto-configuration of Realtek codecs This patch fixes some bugs in the auto-configurator of Realtek codecs: - add missing pin set-up for speaker pins - fix the speaker auto-mute function not to conflict with the existing "Speaker" mixer switch Signed-off-by: Takashi Iwai commit 5832fcf8b55cfdbd7d8511f747d15fd20ed4703d Author: Takashi Iwai Date: Tue Feb 12 18:30:12 2008 +0100 [ALSA] hda-codec - More fix-up for auto-configuration In some cases, the BIOS sets up only the HP pins with different assoc and sequence numbers, e.g. on FSC Esprimo with ALC262. This patch adds a fix-up for such a case. When multiple HPs are defined and no line-outs is found, the configurator tries to re-assign some pins from HP list to line-out, judging from the sequence number. Signed-off-by: Takashi Iwai commit 5d5d5f43f1b835c375de9bd270cce030d16e2871 Author: Takashi Iwai Date: Tue Feb 12 12:11:36 2008 +0100 [ALSA] hda-codec - Implement auto-mic jack sensing on Samsung laptops Implemented the auto-mic jack sensing for Samsung laptops with AD1986A codec chip (model=laptop-eapd). The hardware uses pin 0x1d and 0x1f for the internal and external mics, respectively. Signed-off-by: Takashi Iwai commit e1406348129dc2db60ccad079c3d014200590557 Author: Takashi Iwai Date: Mon Feb 11 18:32:32 2008 +0100 [ALSA] hda-codec - Clean up capture source selection of Realtek codecs Clean up the codes of the capture source selection for Realtek codecs. Now using common helper functions with the new capsrc_nids field. Signed-off-by: Takashi Iwai commit f0824812af1bf4f7d27e054a2ca2686385d770bb Author: Takashi Iwai Date: Mon Feb 11 15:54:34 2008 +0100 [ALSA] hda-codec - Fix automute of AD1981HD hp model Reprogram the speaker-pin setting at each HP pin plug to make sure the spekaer auto-muting on AD1981HD hp model. Signed-off-by: Takashi Iwai commit 937b416027d8f79d7b37bb63b6585ea8fdf125de Author: Takashi Iwai Date: Mon Feb 11 14:52:36 2008 +0100 [ALSA] hda-codec - Fix ALC880 F1734 model Fixed some issues with ALC880 F1734 model - fix capture via mic - enable volume-wheel control Signed-off-by: Takashi Iwai commit fdafad6fc24a11070bcd0885100be7143cc038f8 Author: Pavel Hofman Date: Mon Feb 11 14:48:06 2008 +0100 [ALSA] AK4114 - listing regs in proc A simple patch for listing AK4114 regs in proc. Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit aa27a44395c3d35bc16e52f1e709e0fb2a3709e4 Author: Jonathan Woithe Date: Fri Feb 8 12:44:17 2008 +0100 [ALSA] hda-codec - remove duplicate controls in alc268 test mixer I've just noticed that there are a handful of duplicate controls in the ALC268 test model mixer. This patch (against alsa-driver 1.0.16) removes them. Signed-off-by: Jonathan Woithe Signed-off-by: Takashi Iwai commit cc4d13873aeacf89901861706a7a083d5a82e26a Author: Takashi Iwai Date: Thu Feb 7 17:12:01 2008 +0100 [ALSA] hda-codec - Correct HDMI transmitter names Give better names to the new HDMI transmitter chips. Signed-off-by: Takashi Iwai commit 21c7b0819f0d04788b2d3341f5062744373589a1 Author: Takashi Iwai Date: Thu Feb 7 12:06:32 2008 +0100 [ALSA] hda-intel - Fix a compile error with CONFIG_SND_DEBUG_DETECT=y Forgot to get rid of the obsolete fragsize field from a debug print. Signed-off-by: Takashi Iwai commit ef2cd2ccad66b4aba518eca7514eface267ee0f3 Author: Jaroslav Kysela Date: Wed Feb 6 20:04:49 2008 +0100 [ALSA] ice1712 - added support for M-Audio Delta 66E See ALSA bug#3327 for more details. Experimental. Also fix support for M-Audio Delta 1010E - subdevice check. Signed-off-by: Jaroslav Kysela commit a60567d13c047b03167df4aed6b7a8730f267234 Author: Jaroslav Kysela Date: Wed Feb 6 15:48:06 2008 +0100 [ALSA] Added support for Delta1010E (newer revisions of Delta1010) For more details, see ALSA bug#3327 . Signed-off-by: Jaroslav Kysela commit cf7aaca8bae3a719db47ff6eca5f6f2f42eba05a Author: Takashi Iwai Date: Wed Feb 6 15:05:57 2008 +0100 [ALSA] hda-intel - Support 64bit buffer allocation The HD-audio hardware usually supports 64bit address for DMA and other buffers. The patch enables the feature if supported. Signed-off-by: Takashi Iwai commit 4ce107b990d994a0fccea9b1e885b08a0daea495 Author: Takashi Iwai Date: Wed Feb 6 14:50:19 2008 +0100 [ALSA] hda-intel - Use SG buffer Use SG buffers for the HD-audio instead of linear buffers. Signed-off-by: Takashi Iwai commit b76c850fbc280d6c0ff786653915f3a9700b5912 Author: Matthew Ranostay Date: Wed Feb 6 14:49:44 2008 +0100 [ALSA] hda: STAC927x power down inactive DACs On several laptops that have STAC9228 codecs have unused DACs, this powers them down to a D3 state. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit d043143d803ad9a9f4a66d6a833876735fb7b869 Author: Alan Horstmann Date: Wed Feb 6 14:43:54 2008 +0100 [ALSA] ice1712 - Fix hoontech MIDI input Fixes the problems with Midi In on Hoontech/STA dsp24 cards, for example with DSP2000 box, without restricting the box configurations available. Also adds mpu_401 name strings. Signed-off-by: Alan Horstmann Signed-off-by: Takashi Iwai commit 7d664ed58fb54bc421d5fe8e5e0adec736fd0558 Author: Takashi Iwai Date: Wed Feb 6 14:41:59 2008 +0100 [ALSA] hda-codec - Add ID for an unknown HDMI codec chip Added the ID for an unknown HDMI codec chip on Jetway J9F2. Signed-off-by: Takashi Iwai commit 7ba72ba1fe891a94b1e9d506236507e4dc50e872 Author: Takashi Iwai Date: Wed Feb 6 14:03:20 2008 +0100 [ALSA] hda-intel - Fix PCM device number assignment In the current scheme, PCM device numbers are assigned incrementally in the order of codecs. This causes problems when the codec number is irregular, e.g. codec #0 for HDMI and codec #1 for analog. Then the HDMI becomes the first PCM, which is picked up as the default output device. Unfortuantely this doesn't work well with normal setups. This patch introduced the fixed device numbers for the PCM types, namely, analog, SPDIF, HDMI and modem. The PCM devices are assigned according to the corresponding PCM type. After this patch, HDMI will be always assigned to PCM #3, SPDIF to PCM #1, and the first analog to PCM #0, etc. Signed-off-by: Takashi Iwai commit 6c4cc3a8ed15aacc06a5fd369639fef633cee2bc Author: Takashi Iwai Date: Mon Feb 4 12:44:11 2008 +0100 [ALSA] Add more fallbacks to OSS PHONEOUT mixer map Added more fallbacks to OSS PHONEOUT mixer mapping. This corresponds to the speaker output in general, so now "Mono" and "Speaker" are assigned. Signed-off-by: Takashi Iwai commit a76969228a5b341f9c968abbc6eb7655ac3734e4 Author: Takashi Iwai Date: Mon Feb 4 12:36:32 2008 +0100 [ALSA] ice1724 - Add ADC setup in set_rate callback for Audiophile192 Added the missing GPIO setup for the AK5385A ADC codec on Audiophile192. Signed-off-by: Takashi Iwai commit f339eb0f30e6598c1d3f91b01a3e634364fab7a2 Author: Takashi Iwai Date: Mon Feb 4 12:34:59 2008 +0100 [ALSA] ice1724 - Enable AK4114 support for Audiophile192 Fixed and enabled the support of AK4114 chip on Audiophile192. Signed-off-by: Takashi Iwai commit f12462c5224bf992f5ed4d37af4d42622f7d5934 Author: Mirco Tischler Date: Mon Feb 4 12:33:59 2008 +0100 [ALSA] hda-codec - Add support of Zepto laptops Adds support for zepto laptops with alc268 intel_hda codec. Signed-off-by: Mirco Tischler Signed-off-by: Takashi Iwai commit 12a733e56c0f1c78bd34bf36e9765463fd51c88e Author: Takashi Iwai Date: Mon Feb 4 12:32:20 2008 +0100 [ALSA] hda-codec - Add SI HDMI codec support Added the support of SI HDMI codec, found in ASUS machines. ALSA bug#3654 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3654 Signed-off-by: Takashi Iwai commit 09f99701393c7b66bde01df6c292fe5d9f843033 Author: Takashi Iwai Date: Mon Feb 4 12:31:13 2008 +0100 [ALSA] hda-codec - Allow multiple SPDIF devices The current code doesn't allow multiple SPDIF devices, and causes errors when multiple SPDIF devices are found (e.g. SPDIF out and HDMI). This patch allows multiple SPDIF devices by incrementing the index automatically. Signed-off-by: Takashi Iwai commit bf277785d6921b8a9f8339ad5ad632aef6cae73c Author: Tobin Davis Date: Sun Feb 3 20:31:47 2008 +0100 [ALSA] HDA - Add support for the OQO Model 2 This patch adds support for the OQO Model 2 Ultra Mobile PC. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai commit dc952e693e3653d0fa50ee1986a47d88de3465b7 Author: Kristoffer Ericson Date: Fri Feb 1 13:16:10 2008 +0100 [ALSA] Add SUPERH depends to sound/soc/sh/Kconfig Currently you will see an empty "SoC Audio support for SuperH" menu when building for other archs (example pxa). This patch adds "depends on SUPERH" to remove that empty menu. Signed-off-by: Kristoffer Ericson Signed-off-by: Takashi Iwai commit 102646085ab530a0e155d2bde424589b83ef5a89 Author: Mike Montour Date: Fri Feb 1 13:12:12 2008 +0100 [ALSA] soc - Mono voice playback volume for WM8753 Voice playback volume is in register bits 0:2, not 4:6. From: Mike Montour Signed-off-by: Mark Brown Cc: Werner Almesberger Signed-off-by: Takashi Iwai commit 4a1fd556c1f1fbd6d9d6739efec042324732b697 Author: Catalin Marinas Date: Mon Apr 21 18:42:04 2008 +0100 [ARM] fix 48d7927bdf071d05cf5d15b816cf06b0937cb84f The proc-*.S files have the _prefetch_abort pointer placed at the end of the processor structure but the cpu-multi32.h defines it in the second position. The patch also fixes the support for XSC3 and the MMU-less CPUs (740, 7tdmi, 940, 946 and 9tdmi). Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 328d8a012583f0c25f8db25a2e5e63b521201542 Author: Philipp Zabel Date: Sun Apr 20 17:42:16 2008 +0100 [ARM] 5010/1: htc-pasic3: remove unused defines and includes Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 5e659e4cb0eedacdc1f621a61e400a4611ddef8a Author: Pavel Emelyanov Date: Thu Apr 24 01:02:16 2008 -0700 [NET]: Fix heavy stack usage in seq_file output routines. Plan C: we can follow the Al Viro's proposal about %n like in this patch. The same applies to udp, fib (the /proc/net/route file), rt_cache and sctp debug. This is minus ~150-200 bytes for each. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3d36696024499aef19dbf24a781e91a24fbbe4af Author: David Woodhouse Date: Thu Apr 24 00:59:25 2008 -0700 [AF_UNIX] Initialise UNIX sockets before general device initcalls When drivers call request_module(), it tries to do something with UNIX sockets and triggers a 'runaway loop modprobe net-pf-1' warning. Avoid this by initialising AF_UNIX support earlier. Signed-off-by: David Woodhouse Signed-off-by: David S. Miller commit 8243e40acb087fcd9e7609333f0b0551391f49fc Author: David S. Miller Date: Wed Apr 23 22:52:13 2008 -0700 [SPARC64]: Store magic cookie and trap type in pt_regs. This sets us up for several simplifications and facilities: 1) The magic cookie lets us identify trap frames more accurately in stack backtraces. 2) The trap type lets us simplify all of the "are we in a syscall" state management and checks. 3) We can now see if a task off the cpu is sleeping in a system call or not. In fact, we can see what trap it is sleeping in whatever the type. The utrace guys will use this. Based upon some discussions with Roland McGrath. Signed-off-by: David S. Miller commit db9a7fb12c8d05104e8a541003593d62a42ade8f Author: David S. Miller Date: Wed Apr 23 22:22:29 2008 -0700 [SPARC64]: PROM debug console can be CON_ANYTIME. No per-cpu or similar resources need to be setup before we can use this console device. Signed-off-by: David S. Miller commit c6ca978370c57422cdcf814af1da96cfc7c24811 Author: Adrian Bunk Date: Wed Apr 23 19:15:59 2008 -0700 sparc64: cleanup after SunOS/Solaris binary emulation removal The following cleanups are now possible: - arch/sparc64/kernel/entry.S:ret_sys_call no longer has to be global - arch/sparc64/kernel/sparc64_ksyms.c: remove no longer used prototypes Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit a5c564279854c971a27cc650be4bb32c290e9ae7 Author: Adrian Bunk Date: Wed Apr 23 19:15:34 2008 -0700 sparc: cleanup after SunOS binary emulation removal The following cleanups are now possible: - arch/sparc/kernel/entry.S:ret_sys_call no longer has to be global - arch/sparc/kernel/signal.c:sys_sigpause() can be removed Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 919ee677b656c52c5f86d3d916786891220d5452 Author: David S. Miller Date: Wed Apr 23 05:40:25 2008 -0700 [SPARC64]: Add NUMA support. Currently there is only code to parse NUMA attributes on sun4v/niagara systems, but later on we will add such parsing for older systems. Signed-off-by: David S. Miller commit 1f261ef53ba06658dfeb5a9c3007d0ad1b85cadf Author: David S. Miller Date: Wed Mar 19 04:53:58 2008 -0700 [SPARC64]: Allocate TSB node-local. Signed-off-by: David S. Miller commit c1b1a5f1f1b2612b69b67381b223bce9f8ec4da5 Author: David S. Miller Date: Wed Mar 19 04:52:48 2008 -0700 [SPARC64]: NUMA device infrastructure. Record and propagate NUMA information for devices. Signed-off-by: David S. Miller commit 0c49a573ea93f777fd27f26b7853e7bf5a20e1a3 Author: David S. Miller Date: Wed Feb 13 22:15:46 2008 -0800 [SPARC64]: Kill pci_iommu_table_init() declaration. No longer exists. Signed-off-by: David S. Miller commit ce3b1d47a8605905b666649ea309b6471a75b4ed Author: David S. Miller Date: Wed Mar 19 03:54:09 2008 -0700 [SPARC64]: Once we have the boot cmdline, call parse_early_param() Signed-off-by: David S. Miller commit 30957a86c2442fb6d73aaa9a3153f023fe0a682b Author: David S. Miller Date: Wed Feb 13 22:07:34 2008 -0800 [SPARC64]: Remove unused asm-sparc64/numnodes.h This is handled with config options now. Signed-off-by: David S. Miller commit 86cfc751cb4d5da20904ae26c67fb6fd2a68a9c4 Author: David S. Miller Date: Wed Feb 13 22:01:57 2008 -0800 [SPARC64]: Decrease SECTION_SIZE_BITS to 30. We'll need this to handle NUMA properly on some systems. Signed-off-by: David S. Miller commit 4a28333984be123d9c063df23175c48749c4b4a0 Author: David S. Miller Date: Wed Feb 13 19:22:23 2008 -0800 [SPARC64]: Initialize MDESC earlier and use lmb_alloc() Signed-off-by: David S. Miller commit ad072004ca35a9918964ca7aee2bf00d79c8657f Author: David S. Miller Date: Wed Feb 13 19:21:51 2008 -0800 [SPARC64]: Use lmb_alloc() for PROM device tree. Signed-off-by: David S. Miller commit b97094560b991af5c62391014e72bfa4c3a3701f Author: David S. Miller Date: Wed Feb 13 19:20:45 2008 -0800 [SPARC64]: Call real_setup_per_cpu_areas() earlier and use lmb_alloc(). We have to do it like this before we can move the PROM and MDESC device tree code over to using lmb_alloc(). Signed-off-by: David S. Miller commit 9422273ba7d139537720c8c47514925d9a621e0d Author: David S. Miller Date: Wed Feb 13 18:31:41 2008 -0800 [SPARC64]: Fully use LMB information in bootmem_init(). Signed-off-by: David S. Miller commit 25b0c659dfb94f1ddaeda7a8c88ef7043f57f419 Author: David S. Miller Date: Wed Feb 13 18:20:14 2008 -0800 [SPARC64]: Start using LMB information in bootmem_init(). This allows us to kill the incredibly complicated and stupid function trim_pavail(). Signed-off-by: David S. Miller commit 3b2a7e23a9808e349bc5fb32327bacc5e81be79c Author: David S. Miller Date: Wed Feb 13 18:13:20 2008 -0800 [SPARC64]: Initialize LMB tables. Call lmb_add() on available regions, and call lmb_reserve() on the main kernel image and the ramdisk (if any). Signed-off-by: David S. Miller commit 4e82c9a606da2b1c1c7ea7dfd8052626a4c6d5d6 Author: David S. Miller Date: Wed Feb 13 18:00:03 2008 -0800 [SPARC64]: Move ramdisk discovery code out to seperate function. And add some comments explaining all of the quirks involved in the way the bootloader provides this information. Signed-off-by: David S. Miller commit 7347aefbccb47ce2d076d8ac7dff2cdd1435974c Author: David S. Miller Date: Wed Apr 23 23:30:59 2008 -0700 [LMB]: Fix lmb allocation regression. Changeset d9024df02ffe74d723d97d552f86de3b34beb8cc ("[LMB] Restructure allocation loops to avoid unsigned underflow") removed the alignment of the 'size' argument to call lmb_add_region() done by __lmb_alloc_base(). In doing so it reintroduced the bug fixed by changeset eea89e13a9c61d3928223d2f9bf2295e22e0efb6 ("[LMB]: Fix bug in __lmb_alloc_base()."). This puts it back. Signed-off-by: David S. Miller commit c9c1014b2bd014c7ec037bbb6f58818162fdb265 Author: Patrick McHardy Date: Wed Apr 23 22:10:48 2008 -0700 [RTNETLINK]: Fix bogus ASSERT_RTNL warning ASSERT_RTNL uses mutex_trylock to test whether the rtnl_mutex is held. This bogus warnings when running in atomic context, which f.e. happens when adding secondary unicast addresses through macvlan or vlan or when synchronizing multicast addresses from wireless devices. Mid-term we might want to consider moving all address updates to process context since the locking seems overly complicated, for now just fix the bogus warning by changing ASSERT_RTNL to use mutex_is_locked(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit df698690341377c78a6c2e31fd116778dafb68d6 Author: Paul Mackerras Date: Thu Apr 24 14:05:15 2008 +1000 Revert "[POWERPC] Add compat handler for PTRACE_GETSIGINFO" This reverts commit e4cc58944c1e2ce41e3079d4eb60c95e7ce04b2b, as requested by Roland McGrath, because compat_ptrace_request (added in commit e16b27816462de700f9508d86954410c41105dc2, "ptrace: compat_ptrace_request siginfo") now handles this case. Signed-off-by: Paul Mackerras commit 75a44ce00b312f57264f42a0a985d17cd9994b98 Author: Len Brown Date: Wed Apr 23 23:00:13 2008 -0400 ACPICA: update Intel copyright Signed-off-by: Len Brown commit 6440be177f56e0b52dd81df82b78875d9a07d5f9 Merge: 49186b4... 0997149... Author: David S. Miller Date: Wed Apr 23 19:44:58 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 49186b4a083655a4ebf54e94baf0736256b01b47 Author: Zhu Yi Date: Wed Apr 23 19:44:13 2008 -0700 iwlwifi: Fix built-in compilation of iwlcore (part 2) On Wed, 2008-04-23 at 13:38 +0300, Tomas Winkler wrote: > This patch fixes problem in Makefile that prevented > built-in compilation of iwlcore Here is the second part. Without this, drivers/net/wireless/iwlwifi/build-in.o will not be linked into vmlinux. Signed-off-by: Zhu Yi Signed-off-by: David S. Miller commit 48abfe05cd01279afe27159e98d7c7f932598f42 Author: David S. Miller Date: Wed Apr 23 19:37:58 2008 -0700 tun: Fix minor race in TUNSETLINK ioctl handling. Noticed by Alan Cox. The IFF_UP test is a bit racey, because other entities outside of this driver's ioctl handler can modify that state, even though this ioctl handler runs under lock_kernel(). Signed-off-by: David S. Miller commit 8c0469cdd08df4dacabc8ca33256ce20de43d73f Author: Paulius Zaleckas Date: Wed Apr 23 18:54:01 2008 -0700 ppp_generic: use stats from net_device structure Use stats which now is in the net_device instead of one declared in ppp structure. Kill ppp_net_stats function, because by default it is used identical internal_stats function from net/core/dev.c Signed-of-by: Paulius Zaleckas Signed-off-by: David S. Miller commit 9b98af3217ae6ad979075eb233a5e8a5c82f13ca Author: Alek Du Date: Thu Apr 24 09:19:44 2008 +0800 PCI: Add Intel SCH PCI IDs This patch adds Intel SCH chipsets (US15W, US15L, UL11L) PCI IDs, these IDs will be used by following SCH driver patches. Signed-off-by: Alek Du Signed-off-by: Jesse Barnes commit 099714934d80100624829f1e2961b9dccaef3280 Author: Roland Dreier Date: Wed Apr 23 16:22:13 2008 -0700 iwlwifi: Don't unlock priv->mutex if it isn't locked Commit b716bb91 ("iwlwifi: Cancel scanning upon association") moved the test of priv->vif in iwl{3945,4964}_mac_config_interface() outside of where priv->mutex is held, but still tries to do mutex_unlock() on return. This is clearly wrong and triggers a nasty lockdep warning when this codepath is triggered. Fix this by removing the mutex_unlock(). Signed-off-by: Roland Dreier Signed-off-by: John W. Linville commit 4d381ffb02701c3fc976091473aead7c03523133 Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Apr 23 22:10:29 2008 +0200 wireless: rndis_wlan: modparam_workaround_interval is never below 0. priv->param_workaround_interval is unsigned, modparam_workaround_interval not. the former is never < 0. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: John W. Linville commit 8ba82e969f71d088f718f93d64985d5fcdd9c171 Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Apr 23 21:56:49 2008 +0200 prism54: prism54_get_encode() test below 0 on unsigned index previously in this function: u32 index = (dwrq->flags & IW_ENCODE_INDEX) - 1; index is unsigned, so if -1, the original test (below) didn't work. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: John W. Linville commit d619ee08490ca78c9571dca133cd0d0527a60839 Author: Luis Carlos Cobo Date: Wed Apr 23 12:34:59 2008 -0700 mac80211: update mesh EID values This patch updates mesh EID values, some of which where conflicting with already-approved 11h EIDs (pointed out by Tomas Winkler). I wanted to use the values suggested in the last available 802.11 draft (2.0) but it assigns 50 to MESH_CONFIG, the same value than EXT_SUPP_RATES. Using the values proposed in the draft incremented by one. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 1033b3ea11820ea1fb1b877207bd6724e9aaedc3 Author: Michael Buesch Date: Wed Apr 23 19:13:01 2008 +0200 b43: Workaround DMA quirks Some mainboards/CPUs don't allow DMA masks bigger than a certain limit. Some VIA crap^h^h^h^hdevices have an upper limit of 0xFFFFFFFF. So in this case a 64-bit b43 device would always fail to acquire the mask. Implement a workaround to fallback to lower DMA mask, as we can always also support a lower mask. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 0da926f05748d273e7b2b673b0de21629ae9acdd Author: Ron Rindjunsky Date: Wed Apr 23 13:45:12 2008 +0300 mac80211: fix use before check of Qdisc length This patch fixes use of Qdisc length in requeue function, before we checked the reference is valid. (Adrian Bunk's catch) Signed-off-by: Ron Rindjunsky Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit 13d8fd2d15fdd492078bedb9fde87c901a4e4df0 Author: Adrian Bunk Date: Wed Apr 23 12:51:28 2008 +0300 net/mac80211/rx.c: fix off-by-one This patch fixes an off-by-one in net/mac80211/rx.c introduced by commit 8318d78a44d49ac1edf2bdec7299de3617c4232e (cfg80211 API for channels/bitrates, mac80211 and driver conversion) and spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit 1ebebea8e844d01c80b93b8ee4d696ee7c0cbc27 Author: Pavel Emelyanov Date: Wed Apr 23 11:47:15 2008 +0400 mac80211: Fix race between ieee80211_rx_bss_put and lookup routines. The put routine first decrements the users counter and then (if it is zero) locks the sta_bss_lock and removes one from the list and the hash. Thus, any of ieee80211_sta_config_auth, ieee80211_rx_bss_get or ieee80211_rx_mesh_bss_get can race with it by finding a bss that is about to get kfree-ed. Using atomic_dec_and_lock in ieee80211_rx_bss_put takes care of this race. Signed-off-by: Pavel Emelyanov Signed-off-by: John W. Linville commit d1d8f44a4e3c730984283c0bf4b3458e3a88c15a Author: Nick Kossifidis Date: Mon Apr 21 21:28:24 2008 +0300 ath5k: Fix radio identification on AR5424/2424 *Fix radio chip identification on AR5424/2424 during ath5k_hw_attach *Try to assign an RF2413 radio on AR2424 for testing Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 4503183aa32e6886400d82282292934fa64a81b0 Author: Larry Finger Date: Sat Apr 19 17:52:12 2008 +0200 ssb: Fix all-ones boardflags In the SSB SPROM a field set to all ones means the value is not defined in the SPROM. In case of the boardflags, we need to set them to zero to avoid confusing drivers. Drivers will only check the flags by ANDing. Signed-off-by: Larry Finger Signed-off-by: Gabor Stefanik Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9fc38458355525f801cd2ab403ac89850489a05e Author: Michael Buesch Date: Sat Apr 19 16:53:00 2008 +0200 b43: Add more btcoexist workarounds This adds more workarounds for devices with broken BT bits. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit a259d6a45b915e00e8c6085e35fea7b61e3008a8 Author: Michael Buesch Date: Fri Apr 18 21:06:37 2008 +0200 b43: Fix HostFlags data types The HostFlags are a bitmask of 48bit. So we must use an u64 datatype to hold all bits. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 1855ba7812dbd294fcfc083dc7d3b14d3b1f38db Author: Michael Buesch Date: Fri Apr 18 20:51:41 2008 +0200 b43: Workaround invalid bluetooth settings This adds a workaround for invalid bluetooth SPROM settings on ASUS PCI cards. This will stop the microcode from poking with the BT GPIO line. This fixes data transmission on this device, as the BT GPIO line is used for something TX related on this device (probably the power amplifier or the radio). This also adds a modparam knob to help debugging this in the future, as more devices with this bug may show up. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 0f48d7e1cf2341148dcafc19a098ca22e184bee9 Author: Johannes Berg Date: Thu Apr 17 19:36:28 2008 +0200 mac80211: MAINTAINERS update This updates the mac80211 maintainers entry to  1) remove Jiri 2) put me first Signed-off-by: Johannes Berg Cc: Michael Wu Cc: Jiri Benc Signed-off-by: John W. Linville commit a46f025d053e47b9ce602f53f6d30e94d304a51c Author: Abhijeet Kolekar Date: Wed Apr 16 14:02:04 2008 -0700 mac80211: Fix n-band association problem There are two structures named wmm_info and wmm_param, they are used while parsing the beacon frame. (Check the function ieee802_11_parse_elems). Certain APs like D-link does not set the fifth bit in WMM IE. While sending the association request to n-only ap it checks for wmm_ie. If it is set then only ieee80211_ht_cap is sent during association request. So n-only association fails. And this patch fixes this problem by copying the wmm_info to wmm_ie, which enables the "wmm" flag in iee80211_send_assoc. Signed-off-by: Abhijeet Kolekar Acked-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 4cfe02fabbb87108d7d06d2335429025ca84e616 Author: Jesper Juhl Date: Wed Apr 23 00:28:47 2008 +0200 PCI Express ASPM support should default to 'No' Running 'make oldconfig' I just noticed that PCIEASPM defaults to 'y' in Kconfig even though the feature is both experimental and the help text recommends that if you are unsure you say 'n'. It seems to me that this really should default to 'n', not 'y' at the moment. The following patch makes that change. Please consider applying. Signed-off-by: Jesper Juhl Signed-off-by: Jesse Barnes commit 77f5492c43adb4eb351fa0d163136877e8b2ed92 Author: Richard Genoud Date: Wed Apr 23 19:51:14 2008 +0200 [MTD] [NAND] Hardware ECC controller on at91sam9263 / at91sam9260 This is a patch to use the hardware ECC controller of the AT91SAM9260 and AT91SAM9263 for the AT91 nand. On AT91 NAND, there's now a choice between ECC soft, ECC hard or no ECC (for debug). It has been tested on AT91SAM9263 with 8 bits large and small page NAND. Signed-off-by: Richard Genoud Signed-off-by: David Woodhouse commit ca456252db0521e5e88024fa2b67535e9739e030 Author: Jeff Layton Date: Wed Apr 16 16:28:47 2008 -0400 knfsd: clear both setuid and setgid whenever a chown is done Currently, knfsd only clears the setuid bit if the owner of a file is changed on a SETATTR call, and only clears the setgid bit if the group is changed. POSIX says this in the spec for chown(): "If the specified file is a regular file, one or more of the S_IXUSR, S_IXGRP, or S_IXOTH bits of the file mode are set, and the process does not have appropriate privileges, the set-user-ID (S_ISUID) and set-group-ID (S_ISGID) bits of the file mode shall be cleared upon successful return from chown()." If I'm reading this correctly, then knfsd is doing this wrong. It should be clearing both the setuid and setgid bit on any SETATTR that changes the uid or gid. This wasn't really as noticable before, but now that the ATTR_KILL_S*ID bits are a no-op for the NFS client, it's more evident. This patch corrects the nfsd_setattr logic so that this occurs. It also does a bit of cleanup to the function. There is also one small behavioral change. If a SETATTR call comes in that changes the uid/gid and the mode, then we now only clear the setgid bit if the group execute bit isn't set. The setgid bit without a group execute bit signifies mandatory locking and we likely don't want to clear the bit in that case. Since there is no call in POSIX that should generate a SETATTR call like this, then this should rarely happen, but it's worth noting. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit dee3209d993f17081d2c58d6470dfc8d6662078b Author: Jeff Layton Date: Wed Apr 16 16:28:46 2008 -0400 knfsd: get rid of imode variable in nfsd_setattr ...it's not really needed. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 0dc220f0815497858db539d27947f3ec83202ace Author: Chuck Lever Date: Mon Apr 14 12:27:52 2008 -0400 SUNRPC: Use unsigned loop and array index in svc_init_buffer() Clean up: Suppress a harmless compiler warning. Index rq_pages[] with an unsigned type. Make "pages" unsigned as well, as it never represents a value less than zero. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 50c8bb13eaaf345caf2e7966667ba1d3e4d68af2 Author: Chuck Lever Date: Mon Apr 14 12:27:45 2008 -0400 SUNRPC: Use unsigned index when looping over arrays Clean up: Suppress a harmless compiler warning in the RPC server related to array indices. ARRAY_SIZE() returns a size_t, so use unsigned type for a loop index when looping over arrays. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit c0401ea008fb7c785a93428752d69dccafb127ec Author: Chuck Lever Date: Mon Apr 14 12:27:30 2008 -0400 SUNRPC: Update RPC server's TCP record marker decoder Clean up: Update the RPC server's TCP record marker decoder to match the constructs used by the RPC client's TCP socket transport. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit b7872fe86db78cc96c85a13338ea6e3fe1aef610 Author: Chuck Lever Date: Mon Apr 14 12:27:01 2008 -0400 SUNRPC: RPC server still uses 2.4 method for disabling TCP Nagle Use the 2.6 method for disabling TCP Nagle in the kernel's RPC server. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit f97c650dda24e48405399aa0676e90da52408515 Author: Jeff Layton Date: Tue Apr 8 15:40:08 2008 -0400 NLM: don't let lockd exit on unexpected svc_recv errors (try #2) When svc_recv returns an unexpected error, lockd will print a warning and exit. This problematic for several reasons. In particular, it will cause the reference counts for the thread to be wrong, and can lead to a potential BUG() call. Rather than exiting on error from svc_recv, have the thread do a 1s sleep and then retry the loop. This is unlikely to cause any harm, and if the error turns out to be something temporary then it may be able to recover. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 06e02d66fa0055230efc2443c43ee4f3ab5eb0b6 Author: Jeff Layton Date: Tue Apr 8 15:40:07 2008 -0400 NFS: don't let nfs_callback_svc exit on unexpected svc_recv errors (try #2) When svc_recv returns an unexpected error, nfs_callback_svc will print a warning and exit. This problematic for several reasons. In particular, it will cause the reference counts for the thread to be wrong, and no new thread will be started until all nfs4 mounts are unmounted. Rather than exiting on error from svc_recv, have the thread do a 1s sleep and then retry the loop. This is unlikely to cause any harm, and if the error turns out to be something temporary then it may be able to recover. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 9078dc08143e23b18ea72e70265f0df920cf2998 Author: Steven Whitehouse Date: Tue Apr 8 13:12:52 2008 +0100 Use a zero sized array for raw field in struct fid The raw field's size can vary so we use a zero sized array since gcc will not allow a variable sized array inside a union. This has been tested with ext3 and gfs2 and relates to the bug report: http://lkml.org/lkml/2007/10/24/374 and discussion thread: http://lkml.org/lkml/2008/4/7/65 Signed-off-by: Steven Whitehouse Cc: Christoph Hellwig Cc: Neil Brown Cc: Adrian Bunk Signed-off-by: J. Bruce Fields commit ff7d9756b501744540be65e172d27ee321d86103 Author: Olga Kornievskaia Date: Fri Mar 28 16:04:56 2008 -0400 nfsd: use static memory for callback program and stats There's no need to dynamically allocate this memory, and doing so may create the possibility of races on shutdown of the rpc client. (We've witnessed it only after adding rpcsec_gss support to the server, after which the rpc code can send destroys calls that expect to still be able to access the rpc_stats structure after it has been destroyed.) Such races are in theory possible if the module containing this "static" memory is removed very quickly after an rpc client is destroyed, but we haven't seen that happen. Signed-off-by: J. Bruce Fields commit 8774282c4cef82695ccca8bd09976de5d6e49610 Author: Jeff Layton Date: Mon Apr 7 16:45:37 2008 -0400 SUNRPC: remove svc_create_thread() Now that the nfs4 callback thread uses the kthread API, there are no more users of svc_create_thread(). Remove it. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit e1ba1ab76e68de9f4a93fae8406627924efaed99 Author: J. Bruce Fields Date: Mon Apr 7 13:09:47 2008 -0400 nfsd: fix comment Obvious comment nit. Signed-off-by: J. Bruce Fields commit 3c61eecb607dbc2777074b1a95b8a97e31a96a73 Author: J. Bruce Fields Date: Mon Apr 7 13:05:27 2008 -0400 lockd: Fix stale nlmsvc_unlink_block comment As of 5996a298da43a03081e9ba2116983d173001c862 ("NLM: don't unlock on cancel requests") we no longer unlock in this case, so the comment is no longer accurate. Thanks to Stuart Friedberg for pointing out the inconsistency. Cc: Stuart Friedberg Signed-off-by: J. Bruce Fields commit a5ae03989254ec25cd3a934ca02c008d67e259f7 Author: Robert P. J. Day Date: Tue Apr 1 21:48:37 2008 -0400 NFSD: Strip __KERNEL__ testing from unexported header files. Also, sort the Kbuild file. Signed-off-by: Robert P. J. Day Signed-off-by: J. Bruce Fields commit 4ab4b0bedda7d41c63cef98cd5d6cabada460936 Author: Kevin Coffman Date: Mon Mar 31 10:31:44 2008 -0400 sunrpc: make token header values less confusing g_make_token_header() and g_token_size() add two too many, and therefore their callers pass in "(logical_value - 2)" rather than "logical_value" as hard-coded values which causes confusion. This dates back to the original g_make_token_header which took an optional token type (token_id) value and added it to the token. This was removed, but the routine always adds room for the token_id rather than not. Signed-off-by: Kevin Coffman Signed-off-by: J. Bruce Fields commit 5743d65c2f77d5145fb4c4262c4dd70c3f078776 Author: Kevin Coffman Date: Mon Mar 31 10:31:33 2008 -0400 gss_krb5: consistently use unsigned for seqnum Consistently use unsigned (u32 vs. s32) for seqnum. In get_mic function, send the local copy of seq_send, rather than the context version. Signed-off-by: Kevin Coffman Signed-off-by: J. Bruce Fields commit 1a448fdb3c5495405bc44d77ea676150f9195444 Author: Chuck Lever Date: Thu Mar 27 16:34:54 2008 -0400 NFSD: Remove NFSv4 dependency on NFSv3 Clean up: Because NFSD_V4 "depends on" NFSD_V3, it appears as a child of the NFSD_V3 menu entry, and is not visible if NFSD_V3 is unselected. Replace the dependency on NFSD_V3 with a "select NFSD_V3". This makes NFSD_V4 look and work just like NFS_V3, while ensuring that NFSD_V3 is enabled if NFSD_V4 is. Sam Ravnborg adds: "This use of select is questionable. In general it is bad to select a symbol with dependencies. In this case the dependencies of NFSD_V3 are duplicated for NFSD_V4 so we will not se erratic configurations but do you remember to update NFSD_V4 when you add a depends on NFSD_V3? But I see no other clean way to do it right now." Later he said: "My comment was more to say we have things to address in kconfig. This is abuse in the acceptable range." Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 3329ba05231808c96cf9fd0598b8f46afec9777c Author: Chuck Lever Date: Thu Mar 27 16:34:47 2008 -0400 SUNRPC: Remove PROC_FS dependency Recently, commit 440bcc59 added a reverse dependency to fs/Kconfig to ensure that PROC_FS was enabled if SUNRPC_GSS was enabled. Apparently this isn't necessary because the auth_gss components under net/sunrpc will build correctly even if PROC_FS is disabled, though RPCSEC_GSS will not work without /proc. It also violates the guideline in Documentation/kbuild/kconfig-language.txt that states "In general use select only for non-visible symbols (no prompts anywhere) and for symbols with no dependencies." To address these issues, remove the dependency. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 6ffd4be6336f9c3f1a10822099587544cd0a11d7 Author: Chuck Lever Date: Thu Mar 27 16:34:40 2008 -0400 NFSD: Use "depends on" for PROC_FS dependency Recently, commit 440bcc59 added a reverse dependency to fs/Kconfig to ensure that PROC_FS was enabled if NFSD_V4 was enabled. There is a guideline in Documentation/kbuild/kconfig-language.txt that states "In general use select only for non-visible symbols (no prompts anywhere) and for symbols with no dependencies." A quick grep around other Kconfig files reveals that no entry currently uses "select PROC_FS" -- every one uses "depends on". Thus CONFIG_NFSD_V4 should use "depends on PROC_FS" as well. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 03550fac06c4f0c39a1885d46015c28794413c82 Author: J. Bruce Fields Date: Fri Mar 14 17:51:12 2008 -0400 nfsd: move most of fh_verify to separate function Move the code that actually parses the filehandle and looks up the dentry and export to a separate function. This simplifies the reference counting a little and moves fh_verify() a little closer to the kernel ideal of small, minimally-indentended functions. Clean up a few other minor style sins along the way. Signed-off-by: J. Bruce Fields Cc: Neil Brown commit c3bb257d2d3a1a4e49372b9d74eaebe0fcf110dd Author: Andrew Morton Date: Wed Mar 12 14:04:25 2008 -0700 net/sunrpc/svc.c: suppress unintialized var warning net/sunrpc/svc.c: In function '__svc_create_thread': net/sunrpc/svc.c:587: warning: 'oldmask.bits[0u]' may be used uninitialized in this function Cc: Neil Brown Cc: Trond Myklebust Cc: David S. Miller Cc: Tom Tucker Cc: Chuck Lever Signed-off-by: Andrew Morton Signed-off-by: J. Bruce Fields commit 30aef3166ab27f7bcb14c5e809205af8126fa10b Author: Kevin Coffman Date: Thu Feb 21 13:44:27 2008 -0500 Remove define for KRB5_CKSUM_LENGTH, which will become enctype-dependent cleanup: When adding new encryption types, the checksum length can be different for each enctype. Face the fact that the current code only supports DES which has a checksum length of 8. Signed-off-by: Kevin Coffman Signed-off-by: J. Bruce Fields commit 3d4a6886786f839976c36e62303507692bf87d8d Author: Kevin Coffman Date: Thu Feb 21 13:44:12 2008 -0500 Correct grammer/typos in dprintks cleanup: Fix grammer/typos to use "too" instead of "to" Signed-off-by: Kevin Coffman Signed-off-by: J. Bruce Fields commit 830bb59b6ece51c36dd456b685d145c69d3b7e1c Author: Tom Tucker Date: Tue Mar 11 12:44:27 2008 -0500 SVCRDMA: Add check for XPT_CLOSE in svc_rdma_send SVCRDMA: Add check for XPT_CLOSE in svc_rdma_send The svcrdma transport can crash if a send is waiting for an empty SQ slot and the connection is closed due to an asynchronous error. The crash is caused when svc_rdma_send attempts to send on a deleted QP. Signed-off-by: Tom Tucker Signed-off-by: J. Bruce Fields commit 9167f501c6b53492eb2566dd618ce7f55f2856d5 Author: Felix Blyakher Date: Tue Feb 26 10:54:36 2008 -0800 nfsd: initialize lease type in nfs4_open_delegation() While lease is correctly checked by supplying the type argument to vfs_setlease(), it's stored with fl_type uninitialized. This breaks the logic when checking the type of the lease. The fix is to initialize fl_type. The old code still happened to function correctly since F_RDLCK is zero, and we only implement read delegations currently (nor write delegations). But that's no excuse for not fixing this. Signed-off-by: Felix Blyakher Signed-off-by: J. Bruce Fields commit a3fa73bd0eea74c58315114c9fc3e913f6c26d61 Author: James Lentini Date: Mon Feb 25 12:20:13 2008 -0500 Documentation: NFS/RDMA instructions for 2.6.25-rc1 Add some instructions for using the new NFS/RDMA features. Signed-off-by: James Lentini Cc: Roland Dreier Signed-off-by: J. Bruce Fields commit a277e33cbe3fdfb9a77b448ea3043be22f000dfd Author: Jeff Layton Date: Wed Feb 20 08:55:30 2008 -0500 NFS: convert nfs4 callback thread to kthread API There's a general push to convert kernel threads to use the (much cleaner) kthread API. This patch converts the NFSv4 callback kernel thread to the kthread API. In addition to being generally cleaner this also removes the dependency on signals when shutting down the thread. Note that this patch depends on the recent patches to svc_recv() to make it check kthread_should_stop() periodically. Those patches are in Bruce's tree at the moment and are slated for 2.6.26 along with the lockd conversion, so this conversion is probably also appropriate for 2.6.26. Signed-off-by: Jeff Layton Acked-by: Trond Myklebust Signed-off-by: J. Bruce Fields commit 3ba1514815817f93a4f09615726dd4bcd0ddbbc9 Author: Harvey Harrison Date: Wed Feb 20 12:49:02 2008 -0800 nfsd: fix sparse warning in vfs.c fs/nfsd/vfs.c:991:27: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: J. Bruce Fields commit a254b246ee238ab90e7b3fae1f76875b608b2213 Author: Harvey Harrison Date: Wed Feb 20 12:49:00 2008 -0800 nfsd: fix sparse warnings Add extern to nfsd/nfsd.h fs/nfsd/nfssvc.c:146:5: warning: symbol 'nfsd_nrthreads' was not declared. Should it be static? fs/nfsd/nfssvc.c:261:5: warning: symbol 'nfsd_nrpools' was not declared. Should it be static? fs/nfsd/nfssvc.c:269:5: warning: symbol 'nfsd_get_nrthreads' was not declared. Should it be static? fs/nfsd/nfssvc.c:281:5: warning: symbol 'nfsd_set_nrthreads' was not declared. Should it be static? fs/nfsd/export.c:1534:23: warning: symbol 'nfs_exports_op' was not declared. Should it be static? Add include of auth.h fs/nfsd/auth.c:27:5: warning: symbol 'nfsd_setuser' was not declared. Should it be static? Make static, move forward declaration closer to where it's needed. fs/nfsd/nfs4state.c:1877:1: warning: symbol 'laundromat_main' was not declared. Should it be static? Make static, forward declaration was already marked static. fs/nfsd/nfs4idmap.c:206:1: warning: symbol 'idtoname_parse' was not declared. Should it be static? fs/nfsd/vfs.c:1156:1: warning: symbol 'nfsd_create_setattr' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: J. Bruce Fields commit d8421202121ce74daf4625ca9d1d825bbd7ce66a Author: J. Bruce Fields Date: Wed Feb 20 15:40:15 2008 -0500 lockd: convert nsm_mutex to a spinlock There's no reason for a mutex here, except to allow an allocation under the lock, which we can avoid with the usual trick of preallocating memory for the new object and freeing it if it turns out to be unnecessary. Signed-off-by: J. Bruce Fields commit a95e56e72c196970a8067cd515c658d064813170 Author: J. Bruce Fields Date: Wed Feb 20 15:27:31 2008 -0500 lockd: clean up __nsm_find() Use list_for_each_entry(). Also, in keeping with kernel style, make the normal case (kzalloc succeeds) unindented and handle the abnormal case with a goto. Signed-off-by: J. Bruce Fields commit 164f98adbbd50c67177b096a59f55c1a56a45c82 Author: J. Bruce Fields Date: Wed Feb 20 14:02:47 2008 -0500 lockd: fix race in nlm_release() The sm_count is decremented to zero but left on the nsm_handles list. So in the space between decrementing sm_count and acquiring nsm_mutex, it is possible for another task to find this nsm_handle, increment the use count and then enter nsm_release itself. Thus there's nothing to prevent the nsm being freed before we acquire nsm_mutex here. Signed-off-by: J. Bruce Fields commit dd35210e1e2cb46d6dba5c97f1bc3784c4f97998 Author: Harshula Jayasuriya Date: Wed Feb 20 10:56:56 2008 +1100 sunrpc: GSS integrity and decryption failures should return GARBAGE_ARGS In function svcauth_gss_accept() (net/sunrpc/auth_gss/svcauth_gss.c) the code that handles GSS integrity and decryption failures should be returning GARBAGE_ARGS as specified in RFC 2203, sections 5.3.3.4.2 and 5.3.3.4.3. Reviewed-by: Greg Banks Signed-off-by: Harshula Jayasuriya Signed-off-by: J. Bruce Fields commit 93245d11fcaccdebccabe86a2b92db524f82d8b4 Author: Harvey Harrison Date: Mon Feb 18 02:01:49 2008 -0800 lockd: fix sparse warning in svcshare.c fs/lockd/svcshare.c:74:50: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: J. Bruce Fields commit f2b0dee2ec8d562ad9ced2b7481be72d356c6cfc Author: Adrian Bunk Date: Wed Feb 13 23:30:26 2008 +0200 make nfsd_create_setattr() static This patch makes the needlessly global nfsd_create_setattr() static. Signed-off-by: Adrian Bunk Signed-off-by: J. Bruce Fields commit 7b54fe61ffd5bfa4e50d371a2415225aa0cbb38e Author: Jeff Layton Date: Tue Feb 12 11:47:24 2008 -0500 SUNRPC: allow svc_recv to break out of 500ms sleep when alloc_page fails svc_recv() calls alloc_page(), and if it fails it does a 500ms uninterruptible sleep and then reattempts. There doesn't seem to be any real reason for this to be uninterruptible, so change it to an interruptible sleep. Also check for kthread_stop() and signalled() after setting the task state to avoid races that might lead to sleeping after kthread_stop() wakes up the task. I've done some very basic smoke testing with this, but obviously it's hard to test the actual changes since this all depends on an alloc_page() call failing. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 6aaa67b5f3b9fe24f0c76d0415cc72e5a1137bea Author: Chuck Lever Date: Mon Feb 11 17:12:38 2008 -0500 NFSD: Remove redundant "select" clauses in fs/Kconfig As far as I can tell, selecting the CRYPTO and CRYPTO_MD5 entries under CONFIG_NFSD is redundant, since CONFIG_NFSD_V4 already selects RPCSEC_GSS_KRB5, which selects these entries. Testing with "make menuconfig" shows that the entries under CRYPTO still properly reflect "Y" or "M" based on the setting of CONFIG_NFSD after this change is applied. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 78dd0992a3462e05138cf4d08df759bf1c7a08c9 Author: Chuck Lever Date: Mon Feb 11 17:12:31 2008 -0500 NFSD: Move "select NFSD_V2_ACL if NFSD_V3_ACL" Clean up: since NFSD_V2_ACL is a boolean, it can be selected safely under the NFSD_V3_ACL entry (also a boolean). Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 892069552eedfa0d2fca41680d076a5bc0a3c26e Author: Chuck Lever Date: Mon Feb 11 17:12:24 2008 -0500 NFSD: Move "select FS_POSIX_ACL if NFSD_V4" Clean up: since FS_POSIX_ACL is a non-visible boolean entry, it can be selected safely under the NFSD_V4 entry (also a boolean). Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit d24455b5ffe02a652e8cb1ed2d3570a512c898f8 Author: Chuck Lever Date: Mon Feb 11 17:11:54 2008 -0500 NFSD: Update help text for CONFIG_NFSD Clean up: refresh the help text for Kconfig items related to the NFS server. Remove obsolete URLs, and make the language consistent among the options. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 5ea0dd61f221ba2701314a85e998b8202412553d Author: Chuck Lever Date: Mon Feb 11 17:11:39 2008 -0500 NFSD: Remove NFSD_TCP kernel build option Likewise, distros usually leave CONFIG_NFSD_TCP enabled. TCP support in the Linux NFS server is stable enough that we can leave it on always. CONFIG_NFSD_TCP adds about 10 lines of code, and defaults to "Y" anyway. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit c0ce6ec87c59d7a29438717b1f72f83fb408f416 Author: J. Bruce Fields Date: Mon Feb 11 15:48:47 2008 -0500 nfsd: clarify readdir/mountpoint-crossing code The code here is difficult to understand; attempt to clarify somewhat by pulling out one of the more mystifying conditionals into a separate function. While we're here, also add lease_time to the list of attributes that we don't really need to cross a mountpoint to fetch. Signed-off-by: J. Bruce Fields Cc: Peter Staubach commit 67eb6ff610d50da231a37beb634d6dea4b5025ab Author: J. Bruce Fields Date: Thu Jan 31 16:14:54 2008 -0500 svcrpc: move unused field from cache_deferred_req This field is set once and never used; probably some artifact of an earlier implementation idea. Signed-off-by: J. Bruce Fields commit 6a85fa3adddd3a74bd5b94c4b72668d307b88377 Author: J. Bruce Fields Date: Sat Jan 26 23:36:48 2008 -0500 nfsd4: kill unnecessary check in preprocess_stateid_op This condition is always true. Signed-off-by: J. Bruce Fields commit 0836f587258c2a24bfdc8810ad2327e7f354b6c7 Author: J. Bruce Fields Date: Sat Jan 26 19:08:12 2008 -0500 nfsd4: simplify stateid sequencing checks Pull this common code into a separate function. Signed-off-by: J. Bruce Fields commit f3362737be14668f4e8f5c8d082eb131aafc1353 Author: J. Bruce Fields Date: Sat Jan 26 14:58:45 2008 -0500 nfsd4: remove unnecessary CHECK_FH check in preprocess_seqid_op Every caller sets this flag, so it's meaningless. Signed-off-by: J. Bruce Fields commit 065f30ec14b1460c695b371bc44e068832a60d9b Author: J. Bruce Fields Date: Sat Jan 19 13:58:23 2008 -0500 nfs: remove unnecessary NFS_NEED_* defines Thanks to Robert Day for pointing out that these two defines are unused. Signed-off-by: J. Bruce Fields Cc: Trond Myklebust Trond Myklebust Cc: Neil Brown Cc: "Robert P. J. Day" commit f15364bd4cf8799a7677b6daeed7b67d9139d974 Author: Aurélien Charbon Date: Fri Jan 18 15:50:56 2008 +0100 IPv6 support for NFS server export caches This adds IPv6 support to the interfaces that are used to express nfsd exports. All addressed are stored internally as IPv6; backwards compatibility is maintained using mapped addresses. Thanks to Bruce Fields, Brian Haley, Neil Brown and Hideaki Joshifuji for comments Signed-off-by: Aurelien Charbon Cc: Neil Brown Cc: Brian Haley Cc: YOSHIFUJI Hideaki / 吉藤英明 Signed-off-by: J. Bruce Fields commit d751a7cd0695554498f25d3026ca6710dbb3698f Author: Jeff Layton Date: Thu Feb 7 16:34:55 2008 -0500 NLM: Convert lockd to use kthreads Have lockd_up start lockd using kthread_run. With this change, lockd_down now blocks until lockd actually exits, so there's no longer need for the waitqueue code at the end of lockd_down. This also means that only one lockd can be running at a time which simplifies the code within lockd's main loop. This also adds a check for kthread_should_stop in the main loop of nlmsvc_retry_blocked and after that function returns. There's no sense continuing to retry blocks if lockd is coming down anyway. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 7086721f9c8b59331e164e534f588e075cfd9d3f Author: Jeff Layton Date: Thu Feb 7 16:34:54 2008 -0500 SUNRPC: have svc_recv() check kthread_should_stop() When using kthreads that call into svc_recv, we want to make sure that they do not block there for a long time when we're trying to take down the kthread. This patch changes svc_recv() to check kthread_should_stop() at the same places that it checks to see if it's signalled(). Also check just before svc_recv() tries to schedule(). By making sure that we check it just after setting the task state we can avoid having to use any locking or signalling to ensure it doesn't block for a long time. There's still a chance of a 500ms sleep if alloc_page() fails, but that should be a rare occurrence and isn't a terribly long time in the context of a kthread being taken down. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 23d42ee278de1552d67daef5774ba59ff30925db Author: Jeff Layton Date: Thu Feb 7 16:34:53 2008 -0500 SUNRPC: export svc_sock_update_bufs Needed since the plan is to not have a svc_create_thread helper and to have current users of that function just call kthread_run directly. Signed-off-by: Jeff Layton Reviewed-by: NeilBrown Signed-off-by: J. Bruce Fields commit 1447d25eb3a7bbe5bf5e4e7489f09be13e1ec73a Author: NeilBrown Date: Fri Feb 8 13:03:37 2008 +1100 knfsd: Remove NLM_HOST_MAX and associated logic. Lockd caches information about hosts that have recently held locks to expedite the taking of further locks. It periodically discards this information for hosts that have not been used for a few minutes. lockd currently has a value NLM_HOST_MAX, and changes the 'garbage collection' behaviour when the number of hosts exceeds this threshold. However its behaviour is strange, and likely not what was intended. When the number of hosts exceeds the max, it scans *less* often (every 2 minutes vs every minute) and allows unused host information to remain around longer (5 minutes instead of 2). Having this limit is of dubious value anyway, and we have not suffered from the code not getting the limit right, so remove the limit altogether. We go with the larger values (discard 5 minute old hosts every 2 minutes) as they are probably safer. Maybe the periodic garbage collection should be replace to with 'shrinker' handler so we just respond to memory pressure.... Acked-by: Jeff Layton Signed-off-by: Neil Brown Signed-off-by: J. Bruce Fields commit 3dc5063786b273f1aee545844f6bd4e9651ebffe Author: Christoph Lameter Date: Wed Apr 23 12:28:01 2008 -0700 slab_err: Pass parameters correctly to slab_bug Signed-off-by: Christoph Lameter Signed-off-by: Linus Torvalds commit 79c1cb7a8ca8f08cd78f7c5eebc85bbe937f5ad4 Merge: b0d19a3... 97e7e0f... Author: Linus Torvalds Date: Wed Apr 23 12:24:19 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: [patch 7/7] vfs: mountinfo: show dominating group id [patch 6/7] vfs: mountinfo: add /proc//mountinfo [patch 5/7] vfs: mountinfo: allow using process root [patch 4/7] vfs: mountinfo: add mount peer group ID [patch 3/7] vfs: mountinfo: add mount ID [patch 2/7] vfs: mountinfo: add seq_file_root() [patch 1/7] vfs: mountinfo: add dentry_path() [PATCH] remove unused label in xattr.c (noise from ro-bind) commit b0d19a378a409373244088511e889957645f2a44 Merge: 0093cb1... d7d3130... Author: Linus Torvalds Date: Wed Apr 23 12:23:45 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: iwlwifi: Fix built-in compilation of iwlcore net: Unexport move_addr_to_{kernel,user} rt2x00: Select LEDS_CLASS. iwlwifi: Select LEDS_CLASS. leds: Do not guard NEW_LEDS with HAS_IOMEM [IPSEC]: Fix catch-22 with algorithm IDs above 31 time: Export set_normalized_timespec. tcp: Make use of before macro in tcp_input.c hamradio: Remove unneeded and deprecated cli()/sti() calls in dmascc.c [NETNS]: Remove empty ->init callback. [DCCP]: Convert do_gettimeofday() to getnstimeofday(). [NETNS]: Don't initialize err variable twice. [NETNS]: The ip6_fib_timer can work with garbage on net namespace stop. [IPV4]: Convert do_gettimeofday() to getnstimeofday(). [IPV4]: Make icmp_sk_init() static. [IPV6]: Make struct ip6_prohibit_entry_template static. tcp: Trivial fix to correct function name in a comment in net/ipv4/tcp.c [NET]: Expose netdevice dev_id through sysfs skbuff: fix missing kernel-doc notation [ROSE]: Fix soft lockup wrt. rose_node_list_lock commit 0093cb1199ec551f179562ca9fbd6f64fb750645 Author: Len Brown Date: Wed Apr 23 00:09:13 2008 -0400 pnpacpi: fix potential corruption on "pnpacpi: exceeded the max number of IRQ resources 2" PNP_MAX_IRQ is 2 If a device invokes pnpacpi_parse_allocated_irqresource() 0, 1, or 2 times, we are happy. The 3rd time, we will fail and print "pnpacpi: exceeded the max number of IRQ resources: 2" The 4th and subsequent calls (if this ever happened) would silently scribble on irq_resource[2], which doesn't actualy exist. Found-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Linus Torvalds commit 31d1e340f0e8d53804d737571b2f2bb28a74ecc5 Author: Roland Dreier Date: Wed Apr 23 11:55:45 2008 -0700 RDMA/nes: Remove volatile qualifier from struct nes_hw_cq.cq_vbase Remove the volatile qualifier from the cq_vbase member of struct nes_hw_cq, and add an rmb() in the one place where it looks like access order might make a difference. As usual, removing a volatile qualifier in a declaration is actually a bug fix, since a volatile qualifier is not sufficient to make sure that aggressively out-of-order CPUs don't reorder things and cause incorrect results. For example, a CPU might speculatively execute reads of other cqe fields before the NIC hardware has written those fields and before it has set the NES_CQE_VALID bit (even though those reads come after the test of the NES_CQE_VALID bit in program order), but then when the CPU actually executes the conditional test of the NES_CQE_VALID, the bit has been set, and the CPU will proceed with the results of the earlier speculative execution and end up using bogus data. This also gets rid of the warning: drivers/infiniband/hw/nes/nes_verbs.c: In function 'nes_destroy_cq': drivers/infiniband/hw/nes/nes_verbs.c:1978: warning: passing argument 3 of 'pci_free_consistent' discards qualifiers from pointer target type Signed-off-by: Roland Dreier commit f5b3a096b138940f283907debe9bde6c6f40ebf3 Author: Vladimir Sokolovsky Date: Wed Apr 23 11:55:45 2008 -0700 mlx4_core: CQ resizing should pass a 0 opcode modifier to MODIFY_CQ The call to mlx4_MODIFY_CQ() had a typo so that mlx4_cq_resize() was actually asking the FW to modify a CQ's interrupt moderation rather than asking it to resize a CQ. Signed-off-by: Vladimir Sokolovsky Signed-off-by: Roland Dreier commit 6296883ca4cd52dafb45f191d24102e28ded38f2 Author: Yevgeny Petrilin Date: Wed Apr 23 11:55:45 2008 -0700 mlx4_core: Move kernel doorbell management into core In addition to mlx4_ib, there will be ethernet and FC consumers of mlx4_core, so move the code for managing kernel doorbells into the core module to avoid having to duplicate this multiple times. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit 14fb05b3497351fbeb514381bcd227d84e115bd9 Author: Joachim Fenkes Date: Wed Apr 23 11:55:45 2008 -0700 IB/ehca: Bump version number to 0026 Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 0455e36d81db76f5f4acb68a820da43adfa7ccec Author: Joachim Fenkes Date: Wed Apr 23 11:55:45 2008 -0700 IB/ehca: Make some module parameters bool, update descriptions Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit a7607c9b1112b498c3044c9e5bc68fdb4985f93e Author: Joachim Fenkes Date: Wed Apr 23 11:55:45 2008 -0700 IB/ehca: Remove mr_largepage parameter Always enable large page support; didn't seem to cause problems for anyone. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 4da27d6d5b92c8fe4b3a3e5bcf42606d9e4a6fc8 Author: Joachim Fenkes Date: Wed Apr 23 11:55:45 2008 -0700 IB/ehca: Move high-volume debug output to higher debug levels Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 863fb09fbf1eb74f56ea02184a62165056aa29cb Author: Joachim Fenkes Date: Wed Apr 23 11:55:45 2008 -0700 IB/ehca: Prevent posting of SQ WQEs if QP not in RTS ...as required by IB Spec, C10-29. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit bc7b3a36ba02e4053ca38653e6a753082d9add03 Author: Shirley Ma Date: Wed Apr 23 11:55:45 2008 -0700 IPoIB: Handle 4K IB MTU for UD (datagram) mode This patch enables IPoIB to use 4K UD messages (when the underlying device and fabrics support a 4K MTU) by using two scatter buffers when PAGE_SIZE is less than or equal to thhe HCA IB MTU size. The first buffer is for IPoIB header + GRH header, and the second buffer is the IPoIB payload, which is 4K-4. Signed-off-by: Shirley Ma Signed-off-by: Roland Dreier commit bc5698f3ecc9587e1edb343a2878f8d228c49e0e Author: Chien Tung Date: Wed Apr 23 11:55:45 2008 -0700 RDMA/nes: Fix adapter reset after PXE boot After PXE boot, the iw_nes driver does a full reset to ensure the card is in a clean state. However, it doesn't wait for firmware to complete its work before issuing a port reset to enable the ports, which leads to problems bringing up the ports. The solution is to wait for firmware to complete its work before proceeding with port reset. This bug was flagged by Roland Dreier . Cc: Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit e447703123d817b3f802c6eb69171d5342c8832e Author: Roland Dreier Date: Wed Apr 23 11:55:43 2008 -0700 RDMA/nes: Print IPv4 addresses in a readable format Use NIPQUAD_FMT instead of printing raw 32-bit hex quantities in debugging output. Acked-by: Glenn Streiff Signed-off-by: Roland Dreier commit 2bd01c5d2ed04838d50548cb7b955505a20ac0bd Author: Roland Dreier Date: Wed Apr 23 11:52:18 2008 -0700 RDMA/nes: Use print_mac() to format ethernet addresses for printing Removing open-coded MAC formats shrinks the source and the generated code too, eg on x86-64: add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-103 (-103) function old new delta make_cm_node 932 912 -20 nes_netdev_set_mac_address 427 406 -21 nes_netdev_set_multicast_list 1148 1124 -24 nes_probe 2349 2311 -38 Acked-by: Glenn Streiff Signed-off-by: Roland Dreier commit 2c61cb250cf7e8cdd3b83b79b76d2ea0b3da010a Author: David Woodhouse Date: Wed Apr 23 16:43:15 2008 +0100 [JFFS2] Introduce dbg_readinode2 log level, use it to shut read_dnode() up We haven't seen bugs in this for a while now, since the rewrite. No need to be _quite_ so verbose... Signed-off-by: David Woodhouse commit 422b120238130307da64fa44c9fb722bfaf5f1af Author: David Woodhouse Date: Wed Apr 23 15:40:52 2008 +0100 [JFFS2] Fix jffs2_reserve_space() when all blocks are pending erasure. When _all_ the blocks were on the erase_pending_list, we could't find a block to GC from but there was no _actually_ free space, and jffs2_reserve_space() would get a little unhappy. Handle this case by returning -EAGAIN from jffs2_garbage_collect_pass(). There are two callers of that function -- jffs2_flush_wbuf_gc(), which will interpret it as an error and flush the writebuffer by other means, and jffs2_reserve_space(), which we modify to respond to -EAGAIN with an immediate call to jffs2_erase_pending_blocks() and another run round the loop. Signed-off-by: David Woodhouse commit e2bc322bf05936ec7160d62bc3fd45cbf4aa405a Author: David Woodhouse Date: Wed Apr 23 14:15:24 2008 +0100 [JFFS2] Add erase_checking_list to hold blocks being marked. Just to keep the debug code happy when it's adding all the blocks up. Otherwise, they disappear for a while while the locks are dropped to check them and write the cleanmarker. Signed-off-by: David Woodhouse commit d7d313000ba2fc94a5383511a17ff38a39bab928 Author: Tomas Winkler Date: Wed Apr 23 03:48:57 2008 -0700 iwlwifi: Fix built-in compilation of iwlcore This patch fixes problem in Makefile that prevented built-in compilation of iwlcore Commit that caused this problem: eadd3c4b ("iwlwifi: make Makefile more concise") Signed-off-by: Tomas Winkler Signed-off-by: Yi Zhu Signed-off-by: David S. Miller commit cd58f2a96ba95fb5b69580784bc6f7179001869c Author: Adrian Bunk Date: Wed Apr 23 03:37:49 2008 -0700 net: Unexport move_addr_to_{kernel,user} After the removal of the Solaris binary emulation the exports of move_addr_to_{kernel,user} are no longer used. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 201410ce85d80b7b893cdc72e944a1341dd393f1 Author: David S. Miller Date: Wed Apr 23 03:34:50 2008 -0700 rt2x00: Select LEDS_CLASS. Signed-off-by: David S. Miller commit e82404ad612ebabc65d15c3d59b971cb35c3ff36 Author: David S. Miller Date: Wed Apr 23 03:34:31 2008 -0700 iwlwifi: Select LEDS_CLASS. Signed-off-by: David S. Miller commit 00713e224e718b350cb0148184dc7884885d00b9 Author: David S. Miller Date: Wed Apr 23 03:33:32 2008 -0700 leds: Do not guard NEW_LEDS with HAS_IOMEM The LEDS infrastructure itself does not require anything that a platform dependant upon HAS_IOMEM. The individual drivers do, but they are properly guarded with the necessary platform dependencies. One can even imagine a hypervisor based LED driver that a platform without HAS_IOMEM might have. Signed-off-by: David S. Miller commit 697fa9721cbc54ce1604dae09d1be6bb918567f6 Author: Artem Bityutskiy Date: Wed Apr 23 13:43:21 2008 +0300 UBI: add a message UBI scan takes quite a time on some systems, so it is nice to print a message that we started attaching an MTD device. Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 8a0f572397ca0673c65c1662946014bb73b5cdc6 Author: Anders Grafström Date: Wed Mar 12 20:29:23 2008 +0100 [JFFS2] Return values of jffs2_block_check_erase error paths It looks the error paths in jffs2_block_check_erase() have wrong return values. A block that failed to be erased never gets marked as bad. Signed-off-by: David Woodhouse commit e43fe686e48835ca027559a068bbe0b6d264a254 Merge: 986ee01... 434b825... Author: David Woodhouse Date: Wed Apr 23 09:57:25 2008 +0100 Merge git://git.infradead.org/~dedekind/ubi-2.6 commit 986ee0139a91ab8b6b07d29d7a112c8033b5f8e0 Author: David Woodhouse Date: Wed Apr 23 09:39:49 2008 +0100 [MTD] Clean up AR7 partition map support drivers/mtd/ar7part.c: In function ‘create_mtd_partitions’: drivers/mtd/ar7part.c:69: warning: passing argument 4 of ‘master->read’ from incompatible pointer type drivers/mtd/ar7part.c:91: warning: passing argument 4 of ‘master->read’ from incompatible pointer type drivers/mtd/ar7part.c:99: warning: passing argument 4 of ‘master->read’ from incompatible pointer type drivers/mtd/ar7part.c:110: warning: passing argument 4 of ‘master->read’ from incompatible pointer type drivers/mtd/ar7part.c:111: error: ‘SQUASHFS_MAGIC’ undeclared (first use in this function) drivers/mtd/ar7part.c:111: error: (Each undeclared identifier is reported only once drivers/mtd/ar7part.c:111: error: for each function it appears in.) Signed-off-by: David Woodhouse commit 97e7e0f71d6d948c25f11f0a33878d9356d9579e Author: Miklos Szeredi Date: Thu Mar 27 13:06:26 2008 +0100 [patch 7/7] vfs: mountinfo: show dominating group id Show peer group ID of nearest dominating group that has intersection with the mount's namespace. Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 2d4d4864ac08caff5c204a752bd004eed4f08760 Author: Ram Pai Date: Thu Mar 27 13:06:25 2008 +0100 [patch 6/7] vfs: mountinfo: add /proc//mountinfo [mszeredi@suse.cz] rewrite and split big patch into managable chunks /proc/mounts in its current form lacks important information: - propagation state - root of mount for bind mounts - the st_dev value used within the filesystem - identifier for each mount and it's parent It also suffers from the following problems: - not easily extendable - ambiguity of mountpoints within a chrooted environment - doesn't distinguish between filesystem dependent and independent options - doesn't distinguish between per mount and per super block options This patch introduces /proc//mountinfo which attempts to address all these deficiencies. Code shared between /proc//mounts and /proc//mountinfo is extracted into separate functions. Thanks to Al Viro for the help in getting the design right. Signed-off-by: Ram Pai Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit a1a2c409b666befc58c2db9c7fbddf200f153470 Author: Miklos Szeredi Date: Thu Mar 27 13:06:24 2008 +0100 [patch 5/7] vfs: mountinfo: allow using process root Allow /proc//mountinfo to use the root of to calculate mountpoints. - move definition of 'struct proc_mounts' to - add the process's namespace and root to this structure - pass a pointer to 'struct proc_mounts' into seq_operations In addition the following cleanups are made: - use a common open function for /proc//{mounts,mountstat} - surround namespace.c part of these proc files with #ifdef CONFIG_PROC_FS - make the seq_operations structures const Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 719f5d7f0b90ac2c8f8ca4232eb322b266fea01e Author: Miklos Szeredi Date: Thu Mar 27 13:06:23 2008 +0100 [patch 4/7] vfs: mountinfo: add mount peer group ID Add a unique ID to each peer group using the IDR infrastructure. The identifiers are reused after the peer group dissolves. The IDR structures are protected by holding namepspace_sem for write while allocating or deallocating IDs. IDs are allocated when a previously unshared vfsmount becomes the first member of a peer group. When a new member is added to an existing group, the ID is copied from one of the old members. IDs are freed when the last member of a peer group is unshared. Setting the MNT_SHARED flag on members of a subtree is done as a separate step, after all the IDs have been allocated. This way an allocation failure can be cleaned up easilty, without affecting the propagation state. Based on design sketch by Al Viro. Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 73cd49ecdde92fdce131938bdaff4993010d181b Author: Miklos Szeredi Date: Wed Mar 26 22:11:34 2008 +0100 [patch 3/7] vfs: mountinfo: add mount ID Add a unique ID to each vfsmount using the IDR infrastructure. The identifiers are reused after the vfsmount is freed. Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 9d1bc60138977d9c79471b344a64f2df13b2ccef Author: Miklos Szeredi Date: Thu Mar 27 13:06:21 2008 +0100 [patch 2/7] vfs: mountinfo: add seq_file_root() Add a new function: seq_file_root() This is similar to seq_path(), but calculates the path relative to the given root, instead of current->fs->root. If the path was unreachable from root, then modify the root parameter to reflect this. Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 6092d048183b76bfa3f84b32f8158dd8d10bd811 Author: Ram Pai Date: Thu Mar 27 13:06:20 2008 +0100 [patch 1/7] vfs: mountinfo: add dentry_path() [mszeredi@suse.cz] split big patch into managable chunks Add the following functions: dentry_path() seq_dentry() These are similar to d_path() and seq_path(). But instead of calculating the path within a mount namespace, they calculate the path from the root of the filesystem to a given dentry, ignoring mounts completely. Signed-off-by: Ram Pai Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 934b25c597c0e98304a7eaec198a87e4633a42bb Author: Al Viro Date: Wed Apr 23 00:04:04 2008 -0400 [PATCH] remove unused label in xattr.c (noise from ro-bind) Signed-off-by: Al Viro commit cca97b81564c5edbc8700ebb64fc2b4e13dfa51f Author: Bob Moore Date: Thu Apr 10 19:06:44 2008 +0400 ACPICA: Fix for some local named nodes not marked temporary and to disallow duplicates Fixed a problem with the CreateField, CreateXXXField (Bit, Byte, Word, Dword, Qword), Field, BankField, and IndexField operators when invoked from inside an executing control method. In this case, these operators created namespace nodes that were incorrectly left marked as permanent nodes instead of temporary nodes. This could cause a problem if there is race condition between an exiting control method and a running namespace walk. (Reported by Linn Crosetto). Fixed a problem where the CreateField and CreateXXXField operators would incorrectly allow duplicate names (the name of the field) with no exception generated. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 66e2c0bcc5f6b8454d9091f6ba9ef4090abca4fd Author: Bob Moore Date: Thu Apr 10 19:06:44 2008 +0400 ACPICA: Update version to 20080321 Update version to 20080321. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 514d18d79b1da052ed4553ceec1f7e1197a5bb51 Author: Zhang Rui Date: Thu Apr 10 19:06:44 2008 +0400 ACPICA: Update for new Notify values Implemented several changes for Notify handling: Added support for new Notify values (ACPI 2.0+) and improved the Notify debug output. Notify on PowerResource objects is no longer allowed, as per the ACPI specification. Signed-off-by: Zhang Rui Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1a3a4c7130d6f39b56efc259d653f6dec4990ea3 Author: Sonic Zhang Date: Wed Apr 23 09:43:20 2008 +0800 Blackfin Serial Driver: Fix bug - kernel hangs when accessing uart 0 on bf537 when booting u-boot and linux on uart 1 Wait only when this UART is enabled. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3995 Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 0c44a86d9e19021b38a7d7835f25210ef74b2612 Author: Mike Frysinger Date: Thu Apr 24 04:56:02 2008 +0800 Blackfin Serial Driver: punt unused lsr variable Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 94bc891b00e40cbec375feb4568780af183fd7f4 Merge: 934b702... 1ec7f1d... Author: Linus Torvalds Date: Tue Apr 22 18:27:56 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: [PATCH] get rid of __exit_files(), __exit_fs() and __put_fs_struct() [PATCH] proc_readfd_common() race fix [PATCH] double-free of inode on alloc_file() failure exit in create_write_pipe() [PATCH] teach seq_file to discard entries [PATCH] umount_tree() will unhash everything itself [PATCH] get rid of more nameidata passing in namespace.c [PATCH] switch a bunch of LSM hooks from nameidata to path [PATCH] lock exclusively in collect_mounts() and drop_collected_mounts() [PATCH] move a bunch of declarations to fs/internal.h commit 934b7024f0ed29003c95cef447d92737ab86dc4f Author: Linus Torvalds Date: Tue Apr 22 18:16:30 2008 -0700 Fix cardbus resource allocation Commit 884525655d07fdee9245716b998ecdc45cdd8007 ("PCI: clean up resource alignment management") didn't set the alignment information for the cardbus window resources, causing their subsequent allocations to fail miserably with a message like yenta_cardbus 0000:15:00.0: device not available because of BAR 7 [100:1ff] collisions yenta_cardbus: probe of 0000:15:00.0 failed with error -16 or similar. This fixes it and clarifies the code a bit too (we used to have to use the insane PCI bridge alignment logic that put the alignment in the "start" field, this makes it use the slightly easier-to-understand size-based alignment, and allows us to set the resource start to zero until it gets allocated). Reported-and-tested-by: Jeff Chua Cc: Ivan Kokshaysky Cc: Jesse Barnes Signed-off-by: Linus Torvalds commit 29591b92e19f409d5ad4c099c2b7b5ea56f50dfa Author: Rafael J. Wysocki Date: Tue Apr 22 22:57:50 2008 +0200 bus_remove_device: be more careful about incomplete initialization Prevent bus_remove_device() from crashing if dev->knode_bus has not been initialized before it's called. This can happen if the device_add() ended up breaking out early due to an error, for example. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit fe224668dff97dd8899bd559d1608cc9285db67b Author: Thomas Kunze Date: Wed Apr 23 01:40:52 2008 +0200 [MTD] [NOR] Fix Intel CFI driver for collie flash collie seems to contain LH28F640BF flash chips. According to http://sharp-world.com/products/device/flash/pdf/*FUM00701*@E.pdf (page 83) if they have 0x51 of Extended Query Table (number of hardware partitions) set to zero, they have a single fixed partition. This patch makes those chips work. Signed-off-by: Thomas Kunze Signed-off-by: David Woodhouse commit 19e56ceae7cb1833ffd806038c19477b2c265f9f Author: David Woodhouse Date: Wed Apr 23 01:26:12 2008 +0100 [JFFS2] Finally remove redundant ref->__totlen field. Haven't had any complaints about it recently, despite having the test code enabled to verify that the calculated length is correct. Kill it off, just by #undef TEST_TOTLEN for now; removing it for real can come a little later. Signed-off-by: David Woodhouse commit 27e6b8e388fffb332476ddab00bbe05cd5da5f32 Author: David Woodhouse Date: Wed Apr 23 01:25:33 2008 +0100 [JFFS2] Honour TEST_TOTLEN macro in debugging code. ref->__totlen is going! Signed-off-by: David Woodhouse commit 85a62db6245a82f07a31b387915ee2180b9ea11a Author: David Woodhouse Date: Wed Apr 23 01:17:51 2008 +0100 [JFFS2] Add paranoia debugging for superblock counts The problem fixed in commit 014b164e1392a166fe96e003d2f0e7ad2e2a0bb7 (space leak with in-band cleanmarkers) would have been caught a lot quicker if our paranoid debugging mode had included adding up the size counts from all the eraseblocks and comparing the totals with the counts in the superblock. Add that. Make jffs2_mark_erased_block() file the newly-erased block on the free_list before calling the debug function, to make it happy. Signed-off-by: David Woodhouse commit 08119e8966e993993d0ba92b2fba38c582c8f787 Author: Rafael J. Wysocki Date: Wed Apr 23 00:48:23 2008 +0200 Relax check on adding children of suspended devices Do not refuse to actually register children of suspended devices, but still warn about attempts to do that. Signed-off-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit 1ec7f1ddbe5ba49f7b10c3b129d6d5c90c43526c Author: Al Viro Date: Tue Apr 22 05:35:42 2008 -0400 [PATCH] get rid of __exit_files(), __exit_fs() and __put_fs_struct() The only reason to have separated __...() for those was to keep them inlined for local users in exit.c. Since Alexey removed the inline on those, there's no reason whatsoever to keep them around; just collapse with normal variants. Signed-off-by: Al Viro commit 9b4f526cdc0f95f635607dfba6ac788b3deca188 Author: Al Viro Date: Tue Apr 22 01:32:44 2008 -0400 [PATCH] proc_readfd_common() race fix Since we drop the rcu_read_lock inside the loop, we can't assume that files->fdt will remain unchanged (and not freed) between iterations. Signed-off-by: Al Viro commit ed1524371716466e9c762808b02601d0d0276a92 Author: Al Viro Date: Tue Apr 22 19:51:27 2008 -0400 [PATCH] double-free of inode on alloc_file() failure exit in create_write_pipe() Duh... Fortunately, the bug is quite recent (post-2.6.25) and, embarrassingly, mine ;-/ Signed-off-by: Al Viro commit aca239b793a4006db0d92ad0e43846ab6b54d816 Merge: 16abef0... 2c2b94f... Author: Linus Torvalds Date: Tue Apr 22 16:47:54 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] run drivers/misc/sgi-xp through scripts/checkpatch.pl [IA64] run rest drivers/misc/sgi-xp through scripts/Lindent [IA64] run some drivers/misc/sgi-xp through scripts/Lindent [IA64] move XP and XPC to drivers/misc/sgi-xp [IA64] minor irq handler cleanups [IA64] simplify notify hooks in mca.c [IA64] do notify DIE_MCA_MONARCH_PROCESS for each monarchs [IA64] disable interrupts on exit of ia64_trace_syscall commit 66d3ca9ea28e1b3d591083772fd797b9b46410b8 Author: Bob Moore Date: Thu Apr 10 19:06:44 2008 +0400 ACPICA: Fixes for size of StartDependent resource descriptor Fixed a couple of size calculation issues with the variable-length Start Dependent resource descriptor. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit d8846574ed4a81be319bf68728f9cca9af595afd Author: Bob Moore Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Updates for Debug object output Implemented several improvements for the output of the ASL "Debug" object to clarify and keep all data for a given object on one output line. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit cd0b2248241f4146152fb04a6bf4bccb6ce0478a Author: Bob Moore Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Fixes for external Reference Objects All Reference Objects returned via the AcpiEvaluteObject interface are now marked as type "REFERENCE" instead of "ANY". The type ANY is now reservered for NULL objects - either NULL package elements or unresolved named references. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 014b164e1392a166fe96e003d2f0e7ad2e2a0bb7 Author: David Woodhouse Date: Tue Apr 22 23:54:38 2008 +0100 [JFFS2] Fix free space leak with in-band cleanmarkers We were accounting for the cleanmarker by calling jffs2_link_node_ref() (without locking!), which adjusted both superblock and per-eraseblock accounting, subtracting the size of the cleanmarker from {jeb,c}->free_size and adding it to {jeb,c}->used_size. But only _then_ were we adding the size of the newly-erased block back to the superblock counts, and we were adding each of jeb->{free,used}_size to the corresponding superblock counts. Thus, the size of the cleanmarker was effectively subtracted from the superblock's free_size _twice_. Fix this, by always adding a full eraseblock size to c->free_size when we've erased a block. And call jffs2_link_node_ref() under the proper lock, while we're at it. Thanks to Alexander Yurchenko and/or Damir Shayhutdinov for (almost) pinpointing the problem. Signed-off-by: David Woodhouse commit cf9d1e428cc28ef5798aeda0822a6ce64849a439 Author: David Woodhouse Date: Tue Apr 22 23:53:26 2008 +0100 [JFFS2] Self-sufficient #includes in jffs2_fs_i.h: include ... instead of which we don't need any more anyway. Signed-off-by: David Woodhouse commit 16abef0e9e79643827fd5a2a14a07bced851ae72 Author: David Sterba Date: Tue Apr 22 15:09:22 2008 +0200 fs: use loff_t type instead of long long Use offset type consistently. Signed-off-by: David Sterba Signed-off-by: Linus Torvalds commit e199ceee15c8f8652cc3bb97651bdf246ba23c5f Merge: b24a314... 6184425... Author: Linus Torvalds Date: Tue Apr 22 15:15:48 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: SELinux fixups needed for preemptable RCU from -rt SELinux: no BUG_ON(!ss_initialized) in selinux_clone_mnt_opts commit 2c2b94f93f4732c3b9703ce62627e6187e7d6128 Author: Dean Nelson Date: Tue Apr 22 14:50:17 2008 -0500 [IA64] run drivers/misc/sgi-xp through scripts/checkpatch.pl Addressed issues raised by scripts/checkpatch.pl. Removed unnecessary curly braces. Eliminated uses of volatiles and use of kernel_thread() and daemonize(). Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit 35190506b1a18eda7df24b285fdcd94dec7800ef Author: Dean Nelson Date: Tue Apr 22 14:48:55 2008 -0500 [IA64] run rest drivers/misc/sgi-xp through scripts/Lindent Ran patches through scripts/Lindent (part 2). Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit 4a3ad2ddc0b920cd3ead84b0c67599be02d689ca Author: Dean Nelson Date: Tue Apr 22 14:48:01 2008 -0500 [IA64] run some drivers/misc/sgi-xp through scripts/Lindent Ran patches through scripts/Lindent (part 1). Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit 45d9ca492e4bd1522d1b5bd125c2908f1cee3d4a Author: Dean Nelson Date: Tue Apr 22 14:46:56 2008 -0500 [IA64] move XP and XPC to drivers/misc/sgi-xp Move XPC and XPNET from arch/ia64/sn/kernel to drivers/misc/sgi-xp. Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit b24a31442e2ff66053ae4f76e9c69c557d59c7d1 Merge: 7348672... add8eda... Author: Linus Torvalds Date: Tue Apr 22 13:59:30 2008 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c: Fix platform driver hotplug/coldplug i2c: New driver for the SuperH Mobile I2C bus controller i2c/scx200_acb: Don't use 0 as NULL pointer i2c-bfin-twi: Fix mismatch in add timer and delete timer i2c-bfin-twi: Just let i2c-bfin-twi driver depends on BLACKFIN i2c-bfin-twi: Use simpler comment headers and strip out information that is maintained in the scm's log i2c-bfin-twi: Cleanup driver descriptions, versions and some module useful information i2c-bfin-twi: Add missing pin mux operation i2c-bfin-twi: Add platform_resource interface to support multi-port TWI controllers i2c-bfin-twi: Add repeat start feature to avoid break of a bundle of i2c master xfer operation i2c: Remove trailing whitespaces in busses/Kconfig i2c: Replace remaining __FUNCTION__ occurrences i2c: Renesas SH7760 I2C master driver i2c-dev: Split i2cdev_ioctl i2c-ibm_iic: Support building as an of_platform driver i2c-ibm_iic: Change the log levels i2c: Add platform driver on top of the new pca-algorithm i2c-algo-pca: Extend for future drivers i2c-algo-pca: Remove trailing whitespaces and unnecessary UTF i2c: Remove the algorithm drivers from the config menu commit 73486722b70a83bba17be722677519b0855abedf Author: Randy Dunlap Date: Tue Apr 22 10:07:22 2008 -0700 kernel-doc: fix sched.c missing parameter Add missing kernel-doc in kernel/sched.c: Warning(linux-2.6.25-git3//kernel/sched.c:7044): No description found for parameter 'span' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 03b883840c630c7b571690577809754739ac773f Merge: 0d07a15... c1c7674... Author: Linus Torvalds Date: Tue Apr 22 13:44:23 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: linux/{dlm,dlm_device}.h: cleanup for userspace dlm: common max length definitions dlm: move plock code from gfs2 dlm: recover nodes that are removed and re-added dlm: save master info after failed no-queue request dlm: make dlm_print_rsb() static dlm: match signedness between dlm_config_info and cluster_set commit 0d07a15bdb5a4ea6271b6e874d307c48151ef546 Merge: 62429f4... efa0f16... Author: Linus Torvalds Date: Tue Apr 22 13:43:46 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: Suppress hidinput for Samsung IR control HID: remove 60x GTCO devices from blacklist HID: export headers properly HID: WiseGroup 866 Dual Joypad needs output reports quirk HID: ThrustMaster FF driver is no longer experimental HID: Logitech diNovo Mini pad support HID: fix race between open() and disconnect() in usbhid HID: make hid_input_field and usbhid_modify_dquirk static HID: pass numbered reports properly to hidraw HID: fix misplaced rdesc quirk HID: force feedback driver for Logitech Rumblepad 2 HID: move wait from hid to usbhid HID: make function from dbg_hid HID: fix sparse warnings HID: only dump report traffic with debug level 2 HID: patch to add NOGET for DMI/Acomdata HID: Sunplus Wireless Desktop needs report descriptor fixup HID: quirk for MS Wireless Desktop Receiver (model 1028) HID: fixup fullspeed interval on highspeed Afatech DVB-T IR kbd HID: fix build failure in hiddev_ioctl with gcc 3.2 commit ed8165c75e3dd0b2e51b92a858cabe29ba00c9cb Author: Ben Dooks Date: Mon Apr 14 14:58:58 2008 +0100 [MTD] [NAND] Verify probe by retrying to checking the results match With modern systems using bus-hold instead of bus pull-up, it can often lead to erroneous reporting of NAND devices where there are none. Do a double probe to ensure that the result we got the first time is repeatable, and if it is not then return that there is no chip there. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 37e5ffa3f15bd9a8b133ab13e9bef833b5eb33d4 Author: Ben Dooks Date: Tue Apr 15 11:36:22 2008 +0100 [MTD] [NAND] S3C2410 Allow ECC disable to be specified by the board Add support to disable ECC checking for a given chip when passed by the board via the platform data. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 1c21ab67b7d3c9a1296019939e0efb69350487cf Author: Ben Dooks Date: Tue Apr 15 11:36:21 2008 +0100 [MTD] [NAND] S3C2410 Allow ECC layout to be passed through platform data Add support for the ECC layout to be passed via the platform data specified by the board. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit c45c6c68333c04de84c21a4b869f36a96f642779 Author: Ben Dooks Date: Tue Apr 15 11:36:20 2008 +0100 [MTD] [NAND] S3C2410 Allow unset ecc to be ignored for ecc correction If a block's ecc field is all 0xff, then ignore the ECC correction. This is for systems where some of the blocks, such as the initial cramfs are written without ECC and need to be loaded on start. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 62429f434091586d54b37b8dd46076e7c08b27b9 Merge: 26defe3... f845fce... Author: Linus Torvalds Date: Tue Apr 22 13:40:47 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: (41 commits) udf: use crc_itu_t from lib instead of udf_crc udf: Fix compilation warnings when UDF debug is on udf: Fix bug in VAT mapping code udf: Add read-only support for 2.50 UDF media udf: Fix handling of multisession media udf: Mount filesystem read-only if it has pseudooverwrite partition udf: Handle VAT packed inside inode properly udf: Allow loading of VAT inode udf: Fix detection of VAT version udf: Silence warning about accesses beyond end of device udf: Improve anchor block detection udf: Cleanup anchor block detection. udf: Move processing of virtual partitions udf: Move filling of partition descriptor info into a separate function udf: Improve error recovery on mount udf: Cleanup volume descriptor sequence processing udf: fix anchor point detection udf: Remove declarations of arrays of size UDF_NAME_LEN (256 bytes) udf: Remove checking of existence of filename in udf_add_entry() udf: Mark udf_process_sequence() as noinline ... commit 71d54f3855b4ca98559e8782350336ec2433cc24 Author: Ben Dooks Date: Tue Apr 15 11:36:19 2008 +0100 [MTD] [NAND] S3C2410 Large page NAND support This adds support for using large page NAND devices with the S3C24XX NAND controller. This also adds the file Documentation/arm/Samsung-S3C24XX/NAND.txt to describe the differences. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 26defe34e48e18b058b773f60467729c64917490 Author: Petr Tesarik Date: Tue Apr 22 05:36:52 2008 +0200 fix brd allocation flags While looking at the implementation of the Ram backed block device driver, I stumbled across a write-only local variable, which makes little sense, so I assume it should actually work like this: Signed-off-by: Petr Tesarik Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds commit 0916083210039bf3d186a87522cc806dc21b7097 Author: Ben Dooks Date: Tue Apr 15 11:36:18 2008 +0100 [MTD] [NAND] S3C2410 Fix previous nFCE suspend save patch Commit 03680b1e00d146df718c8a4eac34438566b70c85 incorrectly was assuming S3C2410_NFCONF was being used to select the NAND chip. Fix this error by ising the sel_reg. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 67e5a28b35254bbbcd5bfce61ef646709e059bbf Author: Adrian Hunter Date: Mon Apr 14 09:39:39 2008 +0300 [MTD] [OneNAND] Allow for controller errors when reading A power loss while writing can result in a page becoming unreadable. When the device is mounted again, reading that page gives controller errors. Upper level software like JFFS2 treat -EIO as fatal, refusing to mount at all. That means it is necessary to treat the error as an ECC error to allow recovery. Note that typically in this case, the eraseblock can still be erased and rewritten i.e. it has not become a bad block. Signed-off-by: Adrian Hunter Signed-off-by: David Woodhouse commit f1ebe4eba40e0ee862767893277d1b1a1e4cc85f Author: David Brownell Date: Mon Apr 7 12:29:23 2008 -0700 [MTD] [MAPS] omap_nor section fixes Minor tweaks to omap_nor ... as with most platform drivers, its probe and remove logic can (and should!) safely vanish in most configs. Signed-off-by: David Brownell Signed-off-by: David Woodhouse commit 70b072550a59e787b46030ab104ac64e25fcc732 Author: Trent Piepho Date: Sun Mar 30 21:19:30 2008 -0700 [MTD] [NOR] Fixup for incorrect CFI data in Spansion S29GL064/32N flash chips This is a known erratum confirmed by Spansion. I have an errata document, but I can't find a link to it anywhere on their site to include here. Some of the S29GL064N chips report 64 sectors when they should report 128, and some of S29GL032N chips report 127 sectors when they should report 63. Note that when the chip dies are fixed by Spansion, they will still have the same id. The fix is done in such a way that it won't affect corrected chips. The fixups use the extended id made available by a previous patch. Without that, virtually all newer AMD/Spansion chips will have the same ID (0x227e) and it's not possible to apply the fixup to the correct chips. Signed-off-by: Trent Piepho Signed-off-by: David Woodhouse commit add8eda7f2be781af0224241e870715cf0cfd75a Author: Kay Sievers Date: Tue Apr 22 22:16:49 2008 +0200 i2c: Fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable I2C platform drivers, to allow module auto loading. [ db: add some more drivers ] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit da672773d8f8169938ebf53449c99afc09938f66 Author: Magnus Damm Date: Tue Apr 22 22:16:49 2008 +0200 i2c: New driver for the SuperH Mobile I2C bus controller This is V5 of the SuperH Mobile I2C Controller Driver. A simple Master only driver for the I2C block included in processors such as sh7343, sh7722 and sh7723. Tested on a sh7722 MigoR using a rs5c732b rtc. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt Signed-off-by: Jean Delvare commit dec1a998bdafb4e4a18c1259bf01ffe85db368c2 Author: Adrian Bunk Date: Tue Apr 22 22:16:48 2008 +0200 i2c/scx200_acb: Don't use 0 as NULL pointer Don't use 0 as NULL pointer. Spotted by sparse. Signed-off-by: Adrian Bunk Signed-off-by: Jean Delvare commit afc13b765ea71d316ce4974d3dc5a96cc73a0e95 Author: Hans Schillstrom Date: Tue Apr 22 22:16:48 2008 +0200 i2c-bfin-twi: Fix mismatch in add timer and delete timer Move init_completion to just before i2c transfer. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3385 Signed-off-by: Hans Schillstrom Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit d4ce220d493c2f9c41bad510c959c2130b2f1d0d Author: Bryan Wu Date: Tue Apr 22 22:16:48 2008 +0200 i2c-bfin-twi: Just let i2c-bfin-twi driver depends on BLACKFIN Simply use "depends on BLACKFIN" (which is technically correct) and just document which machines have the device. Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit bd584996b092a019a3ac32fcde7c3851935add96 Author: Mike Frysinger Date: Tue Apr 22 22:16:48 2008 +0200 i2c-bfin-twi: Use simpler comment headers and strip out information that is maintained in the scm's log Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit fa6ad222713a65980528348e7f75abc768b78297 Author: Bryan Wu Date: Tue Apr 22 22:16:48 2008 +0200 i2c-bfin-twi: Cleanup driver descriptions, versions and some module useful information Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit 74d362e0b3afb7a324855ab9675eb6cda78fda8c Author: Bryan Wu Date: Tue Apr 22 22:16:48 2008 +0200 i2c-bfin-twi: Add missing pin mux operation Blackfin TWI controller hardware pin should be requested from GPIO port controller Before BF54x, there is no need to do this. But as long as BF54x and BF52x are supported by this generic driver, the missing pin mux operation should be added. Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit aa3d02091747727f7ff2e1f2455ad8363a9e6946 Author: Bryan Wu Date: Tue Apr 22 22:16:48 2008 +0200 i2c-bfin-twi: Add platform_resource interface to support multi-port TWI controllers - Dynamic alloc the resource of TWI driver data according to board information - TWI register read/write accessor based on dynamic regs_base - Support TWI0/TWI1 for BF54x Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit 4dd39bb12f5b9f0d9a98f29071dc1c51e9306954 Author: Sonic Zhang Date: Tue Apr 22 22:16:47 2008 +0200 i2c-bfin-twi: Add repeat start feature to avoid break of a bundle of i2c master xfer operation - Create a new mode TWI_I2C_MODE_REPEAT. - No change to smbus operation. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit 4c03f68fc4ab902353336b6b0c6933617821cf70 Author: Wolfram Sang Date: Tue Apr 22 22:16:47 2008 +0200 i2c: Remove trailing whitespaces in busses/Kconfig Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit 08882d20932224d5c4500a855a2f4b1216e5f836 Author: Harvey Harrison Date: Tue Apr 22 22:16:47 2008 +0200 i2c: Replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__. Signed-off-by: Harvey Harrison Signed-off-by: Jean Delvare commit a26c20b1fa6d16fd3c402785b943a5e915eda30a Author: Manuel Lauss Date: Tue Apr 22 22:16:47 2008 +0200 i2c: Renesas SH7760 I2C master driver Driver for I2C interfaces in master mode on SH7760. Signed-off-by: Manuel Lauss Signed-off-by: Jean Delvare commit dba7997a87cd12b815c0d58b2a0522a8bb0cf5ec Author: Jean Delvare Date: Tue Apr 22 22:16:47 2008 +0200 i2c-dev: Split i2cdev_ioctl Split the handling of the I2C_RDWR and I2C_SMBUS ioctls to their own functions. This limits the stack usage, saves one level of indentation and makes the code more readable. Signed-off-by: Jean Delvare commit 838349b5c6454ebce8ec3e8c448941cf8608ffea Author: Sean MacLennan Date: Tue Apr 22 22:16:47 2008 +0200 i2c-ibm_iic: Support building as an of_platform driver This patch allows the i2c-ibm_iic driver to be built either as an ocp driver or an of_platform driver. This allows it to run under the powerpc arch but maintains backward compatibility with the ppc arch. Signed-off-by: Sean MacLennan Signed-off-by: Jean Delvare commit 681aae82c5804f8bbecbb495da90587d4167753c Author: Sean MacLennan Date: Tue Apr 22 22:16:46 2008 +0200 i2c-ibm_iic: Change the log levels Change the log levels based on feedback from linxppc-dev. Signed-off-by: Sean MacLennan Signed-off-by: Jean Delvare commit 244fbbb81c46eefcc5f3a9cc37c4668f9d8ff801 Author: Wolfram Sang Date: Tue Apr 22 22:16:46 2008 +0200 i2c: Add platform driver on top of the new pca-algorithm Tested on a blackfin. Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit c01b0831057381c7f6e0bfb3634bac8c5f7fb256 Author: Wolfram Sang Date: Tue Apr 22 22:16:46 2008 +0200 i2c-algo-pca: Extend for future drivers The separation between algorithm and adapter was unsharp at places. This was partly hidden by the fact, that the ISA-driver allowed just one instance and had all private data in static variables. This patch makes neccessary preparations to add a platform driver on top of the algorithm, while still supporting ISA. Note: Due to lack of hardware, the ISA-driver could not be tested except that it builds. Concerning the core struct i2c_algo_pca_data: - A private data field was added, all hardware dependant data may go here. Similar to other algorithms, now a pointer to this data is passed to the adapter's functions. In order to make as less changes as possible to the ISA-driver, it leaves the private data empty and still only uses its static variables. - A "reset_chip" function pointer was added; such a functionality must come from the adapter, not the algorithm. - use a variable "i2c_clock" instead of a function pointer "get_clock", allowing for write access to a default in case a wrong value was supplied. In the algorithm-file: - move "i2c-pca-algo.h" into "linux/i2c-algo-pca.h" - now using per_instance timeout values (i2c_adap->timeout) - error messages specify the device, not only the driver name - restructure initialization to easily support "i2c_add_numbered_adapter" - drop "retries" and "own" (i2c address) as they were unused (The state-machine for I2C-communication was not touched.) In the ISA-driver: - adapt to new algorithm Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit 3d4382913f9a86f0d9ff47740feb427415fe7234 Author: Wolfram Sang Date: Tue Apr 22 22:16:46 2008 +0200 i2c-algo-pca: Remove trailing whitespaces and unnecessary UTF Remove trailing whitespaces to make further patches more readable. Also remove an unnecessary UTF-char for simplicity ("us" for microseconds is fine enough). Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit 3845de25c5f83cd52729570f7b501679d37ca8de Author: Jean Delvare Date: Tue Apr 22 22:16:46 2008 +0200 i2c: Remove the algorithm drivers from the config menu The algorithm drivers are helper drivers that are selected automatically as needed. There's no point in listing them in the config menu, it can only confuse users and waste their time. Signed-off-by: Jean Delvare commit 93c20a59af4624aedf53f8320606b355aa951bc1 Author: FUJITA Tomonori Date: Sat Apr 19 00:43:15 2008 +0900 [SCSI] scsi_transport_sas: fix the lifetime of sas bsg objects scsi_transport_sas calls blk_cleanup_queue too early for bsg queues. If a user holds a sas_host, end_device, or expander device open, remove the device, then send a request to it, we get a kernel crash. We need to call blk_cleanup_queue in the release callback as we do with scsi devices. This patch moves blk_cleanup_queue to sas_expander_release and sas_end_device_release from sas_bsg_remove. sas_host can't use the release callback in struct device so use bsg's release callback. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 97f46ae45c70857e459b7f8df1fc2807e7bd90a9 Author: FUJITA Tomonori Date: Sat Apr 19 00:43:14 2008 +0900 [SCSI] bsg: add release callback support This patch adds release callback support, which is called when a bsg device goes away. bsg_register_queue() takes a pointer to a callback function. This feature is useful for stuff like sas_host that can't use the release callback in struct device. If a caller doesn't need bsg's release callback, it can call bsg_register_queue() with NULL pointer (e.g. scsi devices can use release callback in struct device so they don't need bsg's callback). With this patch, bsg uses kref for refcounts on bsg devices instead of get/put_device in fops->open/release. bsg calls put_device and the caller's release callback (if it was registered) in kref_put's release. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 643eb2d932c97a0583381629d632d486934cf7ee Author: James Bottomley Date: Sat Mar 22 22:42:27 2008 -0500 [SCSI] rework scsi_target allocation The current target allocation code registeres each possible target with sysfs; it will be deleted again if no useable LUN on this target was found. This results in a string of 'target add/target remove' uevents. Based on a patch by Hannes Reinecke this patch reworks the target allocation code so that only uevents for existing targets are sent. The sysfs registration is split off from the existing scsi_target_alloc() into a in a new scsi_add_target() function, which should be called whenever an existing target is found. Only then a uevent is sent, so we'll be generating events for existing targets only. Signed-off-by: James Bottomley commit f7120a4f75168df3c02efacd10403a4ba0bcb29d Author: Hannes Reinecke Date: Tue Mar 18 14:32:28 2008 +0100 [SCSI] use default attributes for scsi_host This patch removes the unused sysfs attibute overwriting logic for the scsi host attibutes, and plugs them into the driver core default attribute creation. Signed-off-by: Hannes Reinecke Signed-off-by: Kay Sievers Signed-off-by: James Bottomley commit 352f6bb422bd31a80b4a0f1c3f19b6993df2508c Author: James Bottomley Date: Thu Mar 20 20:57:02 2008 -0500 [SCSI] scsi_transport_spi: fix the attribute settings We now take advantage of the mode_t return of is_valid, and also update the attributes when the target is configured. Signed-off-by: James Bottomley commit 0f4238958d28044b335644b69df6071cdb04b5ce Author: James Bottomley Date: Thu Mar 20 20:47:52 2008 -0500 [SCSI] sysfs: make group is_valid return a mode_t We have a problem in scsi_transport_spi in that we need to customise not only the visibility of the attributes, but also their mode. Fix this by making the is_visible() callback return a mode, with 0 indicating is not visible. Also add a sysfs_update_group() API to allow us to change either the visibility or mode of the files at any time on the fly. Acked-by: Kay Sievers Signed-off-by: James Bottomley commit bbd1ae412c9eb09ae7bb11cfaf7018a2367d493f Author: Hannes Reinecke Date: Tue Mar 18 14:32:28 2008 +0100 [SCSI] qla2xxx, lfpc: Rename 'state' attribute to 'link_state' lpfc and qla2xxx overwrite the standard 'state' attribute with custom callbacks. So rename the custom attributes to 'link_state' and retain the original meaning of the 'state' attribute. Signed-off-by: Hannes Reinecke Acked-by: Andrew Vasquez Acked-by: James Smart Signed-off-by: James Bottomley commit b0ed43360fdca227048d88a08290365cb681c1a8 Author: Hannes Reinecke Date: Tue Mar 18 14:32:28 2008 +0100 [SCSI] add scsi_host and scsi_target to scsi_bus This patch implements scsi_host and scsi_target device types and adds both to the scsi_bus. Signed-off-by: Hannes Reinecke Signed-off-by: Kay Sievers Signed-off-by: James Bottomley commit cb6b7f40630f94126233194847a86bf5501fb63c Author: James Bottomley Date: Sat Mar 15 13:01:40 2008 -0500 [SCSI] ses: fix up functionality after class_device->device conversion ses uses an unusual two level class hierarchy which broke in this conversion. Fix it up still with a two level hierarchy, but this time let the ses device manage the links to and from the real device in the enclosure. Signed-off-by: James Bottomley commit 7d15d6a4dc08dfd456d834e33ef6c1d798fb2edc Author: James Bottomley Date: Fri Mar 14 14:12:43 2008 -0700 [SCSI] st: fix up after class_device removal There's a change in the SCSI tree that adds another class_device, so change it to an ordinary device [jejb: this one got rebased until it's basically cosmetic only] Cc: Kai Makisara Signed-off-by: James Bottomley commit fecb8865def541ff38f59ef3caf0cbd09f4fc9fd Author: Trent Piepho Date: Sun Mar 30 21:19:29 2008 -0700 [MTD] [NOR] Read extended device ID from AMD/Spansion CFI flash chips AMD/Spansion use a device id of 0x7e to indicate an extended device is present at offset 0xe and 0xf in the query data. I've verified with Spansion that all their chips (mfr == 0x01) with an id of 0x7e use it to indicate an extended id is present. What's more, there are no chips with a NON-extended id that is the same as a different chip's extended id. In other words, when the extended ID is present, one can replace the normal id with the extended id without losing any information. Which is what I've done. Signed-off-by: Trent Piepho Signed-off-by: David Woodhouse commit 0ff6631be150702ed4c92b46b77941affee866ba Author: Anton Vorontsov Date: Fri Mar 28 22:10:54 2008 +0300 [MTD] [NAND] fsl_elbc_nand: workaround for hangs during nand write Using current driver elbc sometimes hangs during nand write. Reading back last byte helps though (thanks to Scott Wood for the idea). Signed-off-by: Anton Vorontsov Acked-by: Scott Wood Signed-off-by: David Woodhouse commit 93919d384df98eba02bebd417ecb2f481b3bdcb8 Author: Hamish Moffatt Date: Fri Mar 28 15:00:00 2008 +1100 [MTD] [NAND] plat_nand: set mtd->name This patch sets mtd->name to the platform bus ID in the plat_nand driver, so that you can specify partitions readily with mtdparts=. Currently it relies on nand_base filling in the name from the device, which results in names like "NAND 256MiB 3,3V 8-bit", that you can't use with cmdlineparts. Signed-off-by: Hamish Moffatt Signed-off-by: David Woodhouse commit 1938de46cb7e108120ffbf5155678a2a5e05b377 Author: Mike Hench Date: Wed Mar 19 12:40:15 2008 -0500 [MTD] [NAND] corrected MPC8313 NAND fixes Fix a race condition in fsl_elbc_run_command Fix incorrect usage of clearbits32 that bashed option register Remove work around for bashed register Signed-off-by: Mike Hench Acked-by: Scott Wood Signed-off-by: David Woodhouse commit 9ebed3e60f9991e980e6c38b0edbdf9c8ff2ff6d Author: Anton Vorontsov Date: Tue Mar 18 19:34:03 2008 +0300 [MTD] [NAND] fsl_elbc_nand: fix mtd name Currently fsl_elbc_nand doesn't initialize mtd->name, and this causes nand_get_flash_type() to assign name that is equal to chip type, like this: root@b1:~# cat /proc/mtd dev: size erasesize name mtd0: 00800000 00010000 "fe000000.flash" mtd1: 02000000 00004000 "NAND 32MiB 3,3V 8-bit" mtd0 is physmap_of flash (normal name), and mtd1 is fsl_elbc_nand. Despite inconsistency, with mtd name like this specifying paritions from the kernel command line becomes a torture (though, I didn't tried and not sure if mtdparts= can handle spaces at all). Plus, this causes real bugs when multiple fsl_elbc_nand chips registered. With this patch applied fsl_elbc_nand chip will have proper name: root@b1:~# cat /proc/mtd dev: size erasesize name mtd0: 00800000 00010000 "fe000000.flash" mtd1: 02000000 00004000 "e0600000.flash" p.s. We can't use priv->dev->bus_id as in physmap_of, because fsl_elbc_nand pretends to be a localbus controller, so its bus_id is "address.localbus", which is incorrect and thus will also not work for multiple chips. Signed-off-by: Anton Vorontsov Signed-off-by: David Woodhouse commit f0797881d59ab93d7d92c55411e0573977d909d4 Author: Matteo Croce Date: Wed Mar 12 02:25:06 2008 +0100 [MTD] AR7 mtd partition map Signed-off-by: Matteo Croce Signed-off-by: Felix Fietkau Signed-off-by: Eugene Konev Signed-off-by: David Woodhouse commit 5c249c5a57dce2b47f1fb92093201b3a7013cb57 Author: Anton Vorontsov Date: Tue Mar 11 22:33:13 2008 +0300 [MTD] [NAND] FSL UPM NAND driver This is very simple driver, NAND is connected through localbus, and User-Programmable Machine is doing various adjustments to speak NAND. No special efforts needed to do read and write cycles, though to control ALE and CLE phases, we ask UPM to generate exact pre-programmed signals on the localbus lines. Signed-off-by: Anton Vorontsov Signed-off-by: David Woodhouse commit a1c06ee11f0b83e372c958b165338f579d17e3d4 Author: David Woodhouse Date: Tue Apr 22 20:39:43 2008 +0100 [MTD] [NAND] Fix checkpatch errors in pxa3xx_nand Signed-off-by: David Woodhouse commit 7a5bb9964512c5313af19310c6a3002ec54f7336 Author: Lin Ming Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Fix to handle NULL package elements correctly Fixed problem where NULL package elements were not returned to the AcpiEvaluateObject interface correctly. Instead of returning a NULL ACPI_OBJECT package element, the element was simply ignored, potentially causing a buffer overflow and/or confusing the caller who expected a fixed number of elements. http://bugzilla.kernel.org/show_bug.cgi?id=10132 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 0ba7d25c70699cdd3e06fc049d8884ee54b9d5db Author: Bob Moore Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Fix for extraneous debug message for packages Fixed a problem where an extraneous debug message was produced for package objects (when debugging enabled). The message "Package List length larger than NumElements count" is now produced in the correct case, and is also an error message rather than a debug message. Added a debug message for the opposite case, where NumElements is larger than the Package List, and the package has been padded out with NULL elements. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1b0a062be7fccfbf0218a81c98c0e4d380ee23f5 Author: Andrei Dolnikov Date: Mon Mar 3 21:01:21 2008 +0300 [MTD] [NOR] Add JEDEC support for the SST 36VF3203 flash chip Add support for the SST 36VF3203 flash chip. It is used on Emerson KSI8560 board. Signed-off-by: Andrei Dolnikov Signed-off-by: David Woodhouse commit 757570063a350ee3875c42a6338d29ee09f5af07 Author: Florian Fainelli Date: Mon Mar 3 18:30:24 2008 +0100 [MTD] [MAPS] Extend plat-ram to support a supplied probe type This enhances plat-ram to take a map_probes argument in the platform_data structure which allow plat-ram to support any direct-mapped device that MTD supports (jedec, cfi, amd ..) A few items are also fixed: - Don't panic if probes is 0 - Actually use the partition list that is passed in Signed-off-by: Florian Fainelli Signed-off-by: Jason Gunthorpe Signed-off-by: David Woodhouse commit ca5c23c3b8882d61bf19b7685f2244501902869f Author: Paulius Zaleckas Date: Wed Feb 27 01:42:39 2008 +0200 [MTD] XIP: Use generic xip_iprefetch() instead of asm volatile (...) Untested, but shouldn't break anything... Makes MTD_XIP arch independent. I guess this is why xip_iprefetch() was made for. Signed-off-by: Paulius Zaleckas Acked-by: Nicolas Pitre Signed-off-by: David Woodhouse commit a0144a2929620d9682bc4b0c6274ef03e417f49a Author: Bob Moore Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Update ACPICA version to 20080213 Update ACPICA version to 20080213. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 24a3157a90ddf851a0880c0b8963bc43481cd85b Author: Bob Moore Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Fix for possible error when packages/buffers are passed to methods externally Fixed a problem where buffer and package objects passed as arguments to a control method via the external AcpiEvaluateObject interface could cause an AE_AML_INTERNAL exception depending on the order and type of operators executed by the target control method. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a3df4dadd446c0d7195f2bbe86dd5174426d8090 Author: Lin Ming Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Update behavior of CopyObject to match ACPI spec Fixed a problem where a CopyObject to RegionField, BankField, and IndexField objects did not perform an implicit conversion as it should. These types must retain their initial type permanently as per the ACPI specification. However, a CopyObject to all other object types should not perform an implicit conversion, as per the ACPI specification. http://www.acpica.org/bugzilla/show_bug.cgi?id=388 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1d5b285da1893b90507b081664ac27f1a8a3dc5b Author: Bob Moore Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Fix for resource descriptor optimization issues for _CRS/_SRC Fixed a problem where resource descriptor size optimization could cause a problem when a _CRS resource template is passed to a _SRS method. The _SRS resource template must use the same descriptors (with the same size) as returned from _CRS. This change affects the following resource descriptors: IRQ/IRQNoFlags and StartDependendentFn/StartDependentFnNoPri. http://bugzilla.kernel.org/show_bug.cgi?id=9487 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 3fa347770a8a9cb3568600380ce4b5c041b3ac0b Author: Bob Moore Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Disassembler support for new ACPI tables Implemented full disassembler support for the following new ACPI tables: BERT, EINJ, and ERST. Partial disassembler support for the complicated HEST table. These tables support the Windows Hardware Error Architecture (WHEA). Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 7823665eccdc7e230d0a904c6ec01d5c70ee099b Author: Bob Moore Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Fix for ACPI_HIDWORD macro Fixed a regression introduced in version 20071114. The ACPI_HIDWORD macro was inadvertently changed to return a 16-bit value instead of a 32-bit value, truncating the upper Dword of a 64-bit value. This macro is only used to display debug output, so no incorrect calculations were made. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit b1dd9096fef08642eb509fbf2a40b3c7734dce1c Author: Bob Moore Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Added new error messages New messages for the 2 AE_SUPPORT cases. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 507f046c4dd17e9c94b5130ba184f8da90504685 Author: Bob Moore Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Add va_end statements as appropriate Added missing va_end statements that should correspond with each va_start statement. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 8c49c235774002708bd0da1c28c570073ebd963b Author: Bob Moore Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Update version to 20080123 Update version to 20080123. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit bc7a36ab74e09da7bb63e2477b0740ac992b290e Author: Lin Ming Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Fixes for Unload and DDBHandles Implemented support for the use of DDBHandles as an Indexed Reference, as per the ACPI spec. http://www.acpica.org/bugzilla/show_bug.cgi?id=486. Implemented support for UserTerm (Method invocation) for the Unload operator as per the ACPI spec. http://www.acpica.org/bugzilla/show_bug.cgi?id=580 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a6f4a4511e65942b93ded60d746094ec0e58ed8e Author: Bob Moore Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Bulletproof disassembler for bad ACPI tables Fixed a problem with the disassembler where invalid ACPI tables could cause faults or infinite loops. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 970d9c9ec313daa1b41db0f8bdd1ca8cc2903822 Author: Bob Moore Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Include file support for new ACPI tables Implemented header file support for new ACPI tables - BERT, ERST, EINJ, HEST, IBFT, UEFI, WDAT. Disassembler support is forthcoming. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 47c08729bf1c60d522d020a7f8bc15d1c70e6ecb Author: Lin Ming Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Fix for LoadTable operator, input strings Fixed a problem with the LoadTable operator where the OemId and OemTableId input strings could cause unexpected failures if they were shorter than the maximum lengths allowed. http://www.acpica.org/bugzilla/show_bug.cgi?id=576 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 200cce6a75061a3bf8d2e6b27c5cdcc7730893f1 Author: Lin Ming Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Fix for Load operator Fixed a problem with the Load operator where an exception was not returned in the case where the table is already loaded. http://www.acpica.org/bugzilla/show_bug.cgi?id=463 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 9accd46459b8c068540451fdab07dbfcefaf7280 Author: Lin Ming Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Methods now implicitly return 0 in slack mode Implemented an enhancement to the interpreter "slack mode". In the absence of an explicit return or an implicitly returned object from the last executed opcode, a control method will now implicitly return an integer of value 0 for Microsoft compatibility. http://www.acpica.org/bugzilla/show_bug.cgi?id=392 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 8246934b7cf99d1f0c053d57890775e5d0df9c33 Author: Lin Ming Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Fix for SizeOf when used with Buffers and Packages Fixed a problem with the SizeOf operator when used with Package and Buffer objects. These objects have deferred execution for some arguments, and the execution is now completed before the SizeOf is executed. This problem caused unexpected AE_PACKAGE_LIMIT errors on some systems. http://bugzilla.kernel.org/show_bug.cgi?id=9558 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit c351f2dd542a3980e96cf128e06d19f784c5ea3e Author: Bob Moore Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Update version to 20071219 Update version to 20071219. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit ef805d956320ffa36d068673d5c5eb2a7d13209b Author: Lin Ming Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Implemented full argument resolution support for the BankValue argument to BankField Previously, only constants were supported, now any TermArg may be used. http://www.acpica.org/bugzilla/show_bug.cgi?id=387 http://www.acpica.org/bugzilla/show_bug.cgi?id=393 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 57345ee6b807d32e5eecf724a463378b80cc261c Author: Bob Moore Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Undo accidental checkin of not-fully-tested mutex changes Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 941f48bb465b0b291f8435b1e3de95b0975b84bc Author: Lin Ming Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Implemented full support for deferred execution for the TermArg string arguments for DataTableRegion This enables forward references and full operand resolution for the three string arguments. Similar to OperationRegion deferred argument execution.) http://www.acpica.org/bugzilla/show_bug.cgi?id=430 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 9aa6169f471771324b476a90d9392daa06d63a2d Author: Bob Moore Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Fixed a problem with Index Fields where the Index register was incorrectly limited to a maximum of 32 bits Now any size may be used. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 549f46044e1e207a2cbfdfb3f9a0d3fd5fd4105e Author: Bob Moore Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Fixed a problem with AcpiGetDevices where the search of a branch of the device tree could be terminated prematurely In accordance with the ACPI specification, the search is terminated if a device is both not present and not functional (instead of just not present.) Yakui Zhao. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 8a2e71a82375aa2aef571d5fa9064ba67c8856a5 Author: Bob Moore Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Update version to 20071114 Update version to 20071114. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1cb2ef6606e0abd8565f66b5f95267de1b390694 Author: Lin Ming Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Fixed a problem with CopyObject used in conjunction with the Index operator The reference was incorrectly dereferenced before the copy. The reference is now correctly copied. http://bugzilla.kernel.org/show_bug.cgi?id=5391 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit e5bcc811f78f294e7be8a0721b3fb513028c5af4 Author: Lin Ming Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Fixed a problem with Index references passed as method arguments References passed as arguments to control methods were dereferenced immediately (before control was passed to the called method). The references are now correctly passed directly to the called method. http://bugzilla.kernel.org/show_bug.cgi?id=5389 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1f549a240ccb2755066587e1e6ef9f74f485a46a Author: Bob Moore Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Fixed a problem with FromBCD and ToBCD with some compilers On some compilers, the ShortDivide function worked incorrectly, causing problems with the BCD functions with large input values. (Truncation from 64-bit to 32-bit occurred.) Internal http://www.acpica.org/bugzilla/show_bug.cgi?id=435 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit b160987df7f49ee9c048a43b70ebae613a7e1437 Author: Bob Moore Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Fixes a problem with control method references within packages Completes the package changes started with version 20071019. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit f2d69559b31c368cfe3a51607d9cd5e8c0168875 Author: Bob Moore Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Cleanup of debug output Improved output of object dump routine. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit b7f9f04228eae2cf5adc2ffeb494d4970a8dd8a5 Author: Bob Moore Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Cosmetic changes only, no functional changes Lint changes, fix compiler warnings, etc. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1d18c05825c3f2b8933a7fc7f7528881e98deb04 Author: Bob Moore Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Cosmetic changes only, no functional changes Lint changes, fix compiler warnings, etc. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 39adb11e56d8eef6169aeae38f65df26883ff49c Author: Bob Moore Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Update version to 20071019 Update version to 20071019. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 49718b1741cb74d86eb8b1bd8f52ad6a013b40df Author: Lin Ming Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Added additional parameter validation for LoadTable Implemented additional parameter validation for the LoadTable operator. The length of the input strings SignatureString, OemIdString, and OemTableId are now checked for maximum lengths. http://www.acpica.org/bugzilla/show_bug.cgi?id=582 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit fe4078af56a7b7f37391712cf188df3202b03776 Author: Lin Ming Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Fix for Increment/Decrement operator, incorrect type change Fixed a problem with the Increment and Decrement operators where the type of the target object could be unexpectedly and incorrectly changed. http://www.acpica.org/bugzilla/show_bug.cgi?id=353 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 9e41d93c975d403380b7debe05517d630c8e2836 Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Fixed a memory leak when Device or Thermal objects referenced in packages Problem introduced in fix for Package references. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 7f4ac9f91383a0707de559dc8fbca986fc2d302f Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Fix for Load/LoadTable to specify load location Fixed a problem with the Load and LoadTable operators where the table location within the namespace was ignored. Instead, the table was always loaded into the root or current scope. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit d8841647de7c4aa3f3ff5b8b8c4a3f042e848ff0 Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Add error checks to prevent faults Added additional error checking to prevent run-time faults. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 98af37fba9b3e601ca4bded51ef51a2be4e8c97b Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Add a table checksum verify for Load operator Added a table checksum verification for the Load operator, in the case where the load is from a buffer. http://www.acpica.org/bugzilla/show_bug.cgi?id=578 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a13b8460c5b43a68192b599ce437168cc2ff04de Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Fix for memory leak related to DdbHandle objects Fixed a memory leak where DdbHandle objects were not deleted automatically at control method exit. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 61ce421bb761f607b802c268bd8bd6a0c928a661 Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Fix a fault when storing DdbHandle to Debug object Fixed a problem with the Debug object where a store of a DdbHandle reference object to the Debug object could cause a fault. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 5eb691805f7ec5960fe9d5d7fc57a7fc3097bbd0 Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Fix for fault if Load() fails Fixed a problem with the Load operator when loading a table from a buffer object. The input buffer was prematurely zeroed and/or deleted. http://www.acpica.org/bugzilla/show_bug.cgi?id=577 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 53cf174409a24e8388e1d554d27436275fc81fe7 Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Fix for Alias operator to see target child objects Fixed a problem with the Alias operator when the target of the alias is a named ASL operator that opens a new scope -- Scope, Device, PowerResource, Processor, and ThermalZone. In these cases, any children of the original operator could not be accessed via the alias, potentially causing unexpected AE_NOT_FOUND exceptions. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1c12a7dde1752f2c40fe170cabff463a0b362720 Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: update version number to 20070919 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 14808822a9cea782c2e6f8d39e438cc3891f6472 Author: Lin Ming Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Fix for namespace lookup problem Fixed a problem where objects of certain types (Device, ThermalZone, Processor, PowerResource) can be not found if they are declared and referenced from within the same control method http://www.acpica.org/bugzilla/show_bug.cgi?id=341. Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 3e08e2d2d6efb256aa035e300deb059bb333b6db Author: Lin Ming Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: New interfaces for table event handlers Designed and implemented new external interfaces to install and remove handlers for ACPI table-related events. Current events that are defined are LOAD and UNLOAD. These interfaces allow the host to track ACPI tables as they are dynamically loaded and unloaded. See AcpiInstallTableHandler and AcpiRemoveTableHandler. Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 698c0a0c299bd9389522e14dae1aff02070bac25 Author: Bob Moore Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Add minimal disassembly support for the SLIC table SLIC - Software Licensing Description Table. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit e20a679b4acf81a419bbe80beddedc988bf3bd51 Author: Bob Moore Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Support for iASL - multiple files and wildcards Implemented support to allow multiple files to be compiled/disassembled in a single invocation. This includes command line wildcard support for both the Windows and Unix versions of the compiler. This feature simplifies the disassembly and compilation of multiple ACPI tables in a single directory. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 6deb65dd9d66ff70fa8f8665690295a1126f801a Author: Bob Moore Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Updated error message for dynamic method serialization Added more information to make the message clearer. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 5cc1b9b42663878330a4cc1d8020bb9289c46066 Author: Bob Moore Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Update version to 20070508 Update version to 20070508. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit e5567afa5cfa19e45f93c9c8796e46187a2d12f4 Author: Bob Moore Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Fix for update of the Global Lock Handle Fixed a problem where the global lock handle was not properly updated if a thread that acquired the global lock via executing AML code then attempted to acquire the lock via the AcpiAcquireGlobalLock interface. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 235eebbdb501261e9960deb2a9a3459af44ec0ea Author: Bob Moore Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Update version to 20070320 pdate version to 20070320 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 91d02132fea3a60d3db7bd72933e38e36cd9e4c7 Author: Bob Moore Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Fix for package reference counts Prevents infinite loop of 'Large Reference Count' messages in aslts-bdemo-b286 test. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 422f4f90a23437e3e9de31eab5feb2a13f0cbb38 Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Increase maximum buffer size dumped to screen in buffer object dump Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit f02e9fa1ceee045f7d5c53d475032815752a2510 Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Misc fixes for recent global lock code update Fixes as a result of running full validation test suite. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a4df451a1055d97726ab890249bc3f941906fa75 Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Removed obsolete ACPI_NO_INTEGER64_SUPPORT define Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a69c77c72094bfda1ed02336ec9a1bae186fd2fc Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Removed extraneous code Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 91e38d10b2b49b8a200111baa7714c4a7e658a4c Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Update comments for acquire/release mutex interfaces pdate comments for acquire/release mutex interfaces Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit dbaaa9567543191faa933e78f979f5ff7385918c Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Fixed a couple compiler warnings for extra extern statements Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 4b6e16cf2bacbf328535097fa74f1494b1873c54 Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Avoid use of invalid pointers in returned object field During operand evaluation, ensure that the ReturnObj field is cleared on error and only valid pointers are stored there. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 4e3156b183aa087bc19804b3295c7c1a71f64752 Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: changed order of interpretation of operand objects The interpreter now evaluates operands in the order that they appear (both in the AML and ASL), instead of in reverse order. This previously caused subtle incompatibilities with the MS interpreter as well as being non-intuitive. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit ba886cd4ac957608777fbc8d137f6b9f0450e775 Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Update for mutiple global lock acquisitions by same thread Allows AcpiAcquireGlobalLock external interface to be called multiple times by the same thread. Allows use of AML fields that require the global lock while the running AML is already holding the global lock. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit f654ecbfacb47d20e8cac087bbada1b947db846b Author: Bob Moore Date: Thu Apr 10 19:06:36 2008 +0400 ACPICA: Removed unused code Handling of AML_NAME_OP as a Reference.Opcode is no longer needed. Kernel bugzilla 2874 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 773069d48030e670cf2032a13ddf16a2e0034df3 Author: Bob Moore Date: Thu Apr 10 19:06:36 2008 +0400 ACPICA: Several fixes for internal method result stack fixes STACK_OVERFLOW exception on nested method calls. internal bugzilla 262 and 275. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit fe69af002e26ca39824f626459c16d642607b573 Author: eric miao Date: Thu Feb 14 15:48:23 2008 +0800 [MTD] [NAND] support for pxa3xx This is preliminary since: 1. It supports only _one_ chip select at the moment. As there is no existing platforms available using two chip selects of the NAND controller, it shall really not include code for supporting the 2nd chip select for now, as such code cannot be verified. 2. It resorts to the default and simpliest memory based badblock table 3. Only limited types of nand flash are currently supported. Most PXA3xx processors come with on-chip NAND flash dies, so there isn't much flexibility for other types of NAND. 4. The NAND controller should be configured to detect the device's ID, thus making it difficult to use nand_scan_ident() to assist the detection process (though it's not impossible) TODO: fix all the above limitations of cuz :-) Signed-off-by: eric miao Cc: Sergey Podstavin Signed-off-by: David Woodhouse commit b73d7e4381311bea024bf7cedcba3dcf20f63aab Author: Roel Kluin <12o3l@tiscali.nl> Date: Sat Feb 16 18:14:35 2008 +0100 [MTD] [OneNAND] unlikely(x) || unlikely(y) => unlikely(x || y) Acked-By: Kyungmin Park Signed-off-by: David Woodhouse commit 8e2537e4cb4e80b7032372a42069899b90a06e90 Author: Thomas Petazzoni Date: Thu Feb 14 16:50:25 2008 +0100 [MTD] fix minor typo in the MTD map driver for SHARP SL series Signed-off-by: David Woodhouse commit b0d06afb60741c19e103ffd60927f68e17c9d199 Author: Peter Korsgaard Date: Thu Feb 14 17:00:10 2008 +0100 [MTD] cmdlinepart: Missing partition info is not an error Return 0 partitions instead of -EINVAL on no mtdpart= argument in kernel cmdline or missing partition info for device. Signed-off-by: Peter Korsgaard Acked-by: Stefan Roese Signed-off-by: David Woodhouse commit c3f08b353519ee9c64308837199a9fcf83e863da Author: Carl-Daniel Hailfinger Date: Wed Jan 16 15:45:20 2008 +0100 [MTD] [MAPS] add support for Nvidia MCP55 to ck804xrom This patch extends the existing MAPS driver for the Nvidia CK804 chipset (ck804xrom.c) to also work on the Nvidia MCP55 chipset. As both chipsets are rather similar, suporting them both with the same driver is easy. Signed-off-by: Carl-Daniel Hailfinger Signed-off-by: David Woodhouse commit 9010eff0eadfe4eb60c3f0c71573f0fc505c31e3 Author: Jeff Garzik Date: Fri Apr 18 19:22:58 2008 -0400 [IA64] minor irq handler cleanups - remove unused 'irq' argument from pfm_do_interrupt_handler() - remove pointless cast to void* - add KERN_xxx prefix to printk() - remove braces around singleton C statement - in tioce_provider.c, start tioce_dma_consistent() and tioce_error_intr_handler() function declarations in column 0 This change's main purpose is to prepare for the patchset in jgarzik/misc-2.6.git#irq-remove, that explores removal of the never-used 'irq' argument in each interrupt handler. Signed-off-by: Jeff Garzik Signed-off-by: Tony Luck commit 4fa2f0e672ba16b55a34ecfa514ccd92e226d3d4 Author: Hidetoshi Seto Date: Thu Apr 17 17:00:37 2008 +0900 [IA64] simplify notify hooks in mca.c There are many notify_die() and almost all take same style with ia64_mca_spin(). This patch defines macros and replace them all, to reduce lines and to improve readability. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 284e54279597e0933d785580a43be0b0194dfa00 Author: Hidetoshi Seto Date: Thu Apr 17 16:59:52 2008 +0900 [IA64] do notify DIE_MCA_MONARCH_PROCESS for each monarchs There are 3 hooks in MCA handler, but this DIE_MCA_MONARCH_PROCESS event does not notified other than for the first monarch. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 38477ad75188b2a7370fef7145f956e6c446928b Author: Hidetoshi Seto Date: Mon Apr 21 14:34:39 2008 -0700 [IA64] disable interrupts on exit of ia64_trace_syscall While testing with CONFIG_VIRT_CPU_ACCOUNTING=y, I found that I occasionally get very huge system time in some threads. So I dug the issue and finally noticed that it was caused because of an interrupt which interrupt in the following window: > [arch/ia64/kernel/entry.S: (!CONFIG_PREEMPT && CONFIG_VIRT_CPU_ACCOUNTING)] > > ENTRY(ia64_leave_syscall) > : > (pUStk) rsm psr.i > cmp.eq pLvSys,p0=r0,r0 // pLvSys=1: leave from syscall > (pUStk) cmp.eq.unc p6,p0=r0,r0 // p6 <- pUStk > .work_processed_syscall: > adds r2=PT(LOADRS)+16,r12 > (pUStk) mov.m r22=ar.itc // fetch time at leave > adds r18=TI_FLAGS+IA64_TASK_SIZE,r13 > ;; > <<< window: from here >>> > (p6) ld4 r31=[r18] // load current_thread_info()->flags > ld8 r19=[r2],PT(B6)-PT(LOADRS) > adds r3=PT(AR_BSPSTORE)+16,r12 > ;; > mov r16=ar.bsp > ld8 r18=[r2],PT(R9)-PT(B6) > (p6) and r15=TIF_WORK_MASK,r31 // any work other than TIF_SYSCALL_TRACE? > ;; > ld8 r23=[r3],PT(R11)-PT(AR_BSPSTORE) > (p6) cmp4.ne.unc p6,p0=r15, r0 // any special work pending? > (p6) br.cond.spnt .work_pending_syscall > ;; > ld8 r9=[r2],PT(CR_IPSR)-PT(R9) > ld8 r11=[r3],PT(CR_IIP)-PT(R11) > (pNonSys) break 0 // bug check: we shouldn't be here if pNonSys is TRUE! > ;; > invala > <<< window: to here >>> > rsm psr.i | psr.ic // turn off interrupts and interruption collection If pUStk is true, it means we are going to return user mode, hence we fetch ar.itc to get time at leave from system. It seems that it is not possible to interrupt the window if pUStk is true, because interrupts are disabled early. And also disabling interrupt makes sense because it is safe for referring current_thread_info()->flags. However interrupting the window while pUStk is true was possible. The route was: ia64_trace_syscall -> .work_pending_syscall_end -> .work_processed_syscall Only in case entering the window from this route, interrupts are enabled during in the window even if pUStk is true. I suppose interrupts must be disabled here anyway if pUStk is true. I'm not sure but afraid that what kind of bad effect were there, other than crazy system time which I found. FYI, there was a commit 6f6d75825dc49b082906b84537b4df28293c2977 that points out a bug at same point(exit of ia64_trace_syscall) in 2006. It can be said that there was an another bug. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 7fe9296c80e9a4ee51b43fbfbceb5143751a9d5c Author: Adrian Bunk Date: Mon Apr 14 17:20:40 2008 +0300 [MTD] make struct rfd_ftl_tr static This patch makes the needlessly global struct rfd_ftl_tr static. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 607d1cb1042657177bf72247eeb85c0d8416bd51 Author: Adrian Bunk Date: Mon Apr 14 17:20:38 2008 +0300 [MTD] [OneNAND] proper onenand_bbt_read_oob() prototype This patch adds a proper prototype for onenand_bbt_read_oob() in include/linux/mtd/onenand.h Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit eb8e31831a603f285ee9e6ffc59d5366e0ff8a8e Author: Adrian Bunk Date: Mon Apr 14 17:20:30 2008 +0300 [MTD] [NOR] cfi_cmdset_0020.c: make a function static This patch makes the needlessly global cfi_staa_erase_varsize() static. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 5ce45d50056e20aca50f19229d8a7e003569ad26 Author: Adrian Bunk Date: Mon Apr 14 17:20:24 2008 +0300 [MTD] ftl.c: make code static This patch makes the following needlessly global code static: - ftl_freepart() - struct ftl_tr Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit ed262c4f5cb8291668c27c88a022bd7628f067a4 Author: Adrian Bunk Date: Mon Apr 14 17:20:04 2008 +0300 [MTD] cmdlinepart.c: don't compare pointers with 0 Sparse spotted that 0 was compared to pointers. While I was at it, I also moved the assignments out of the if's. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 456d9fc92eb8635d53e8facc57764464b8759173 Author: Adrian Bunk Date: Mon Apr 14 17:20:02 2008 +0300 [MTD] mtdram.c should #include Every file should include the headers containing the externs for its global functions (in this case for mtdram_init_device()). Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 51ee83df6151a3e618e65236e304e00ac8d95607 Author: Adrian Bunk Date: Mon Apr 14 17:20:00 2008 +0300 [MTD] proper prototypes for nftl_{read,write}_oob() This patch adds proper prototypes for nftl_{read,write}_oob() in include/linux/mtd/nftl.h Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit a8e8aa25694f1781fafee4ee8e8f393e4b979b36 Author: Adrian Bunk Date: Mon Apr 14 17:19:58 2008 +0300 [MTD] proper prototypes for inftl_{read,write}_oob() This patch adds proper prototypes for inftl_{read,write}_oob() in include/linux/mtd/inftl.h Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 950bcb2582ebeddb66a8e9349eaedf7ba69e195b Author: Adrian Bunk Date: Mon Apr 14 17:19:46 2008 +0300 [MTD] mtd/ofpart.c: add MODULE_LICENSE This patch adds the missing MODULE_LICENSE("GPL"). Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 576506645df01f3c1a9c2c9064201aa0ba4cb0ea Author: Scott Wood Date: Fri Apr 4 17:06:05 2008 -0500 [MTD] [NAND] fsl_elbc_nand: Fix SEQIN handling for large pages. Previously, a READ command was erroneously issued rather than SEQIN. Signed-off-by: Scott Wood Signed-off-by: David Woodhouse commit f72561cf6c9d0671da57902bc2ffee03b074227a Author: Mark Hindley Date: Mon Mar 31 14:25:03 2008 +0100 [MTD] Correct phram module param description Signed-off-by: Mark Hindley Signed-off-by: David Woodhouse commit ced22070363ef50e4a47aadd003a81ebeaa3f917 Author: David Woodhouse Date: Tue Apr 22 15:13:40 2008 +0100 [JFFS2] semaphore->mutex conversion Signed-off-by: David Woodhouse commit 52f8301437a0ba744265e0549ee7239eb85426fc Author: Atsushi Nemoto Date: Sun Mar 30 21:59:37 2008 +0900 [MTD] [NAND] at91_nand: Make part_probes[] static The part_probes[] should be static. Signed-off-by: Atsushi Nemoto Acked-by: Jörn Engel Signed-off-by: David Woodhouse commit 1ff184225b15930ea118ac2130f074c741d34f08 Author: Kay Sievers Date: Fri Apr 18 13:44:27 2008 -0700 [MTD] [NAND] fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable MTD NAND platform drivers, to re-enable auto loading. NOTE: at91_nand for some reason disallows modular builds. I'm assuming that's just an oversight that will be fixed. [dbrownell@users.sourceforge.net: minor fix] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 41d867c9ac852ce17069f8ae680f25877be97942 Author: Kay Sievers Date: Fri Apr 18 13:44:26 2008 -0700 [MTD] [MAPS] fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable MTD mapping platform drivers, to re-enable auto loading. NOTE oddness with physmap ... it's a legacy driver in some configs, which means it can't always support hotplugging. (Not that most of these mapping drivers would often be used as modules...) [dbrownell@users.sourceforge.net: bugfix, more drivers, registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit c27e9b80bee039cfefa51c7af08b01eaab3dfb61 Author: Sebastian Siewior Date: Fri Apr 18 13:44:24 2008 -0700 [MTD] [NAND] fix possible Ooops in rfc_from4 I found this while I was looking how the rs_lib is working. The rs_decoder is initialized _after_ the nand core code read the BBT table and _after_ the partition table has been added. The driver has a private BBT description which is in located in flash data so we Ooops if there is a bit flip _or_ if a bit flips while reading the partition table. This patch moves the initialization of the rs_lib before the first possible access by nand core. Signed-off-by: Sebastian Siewior Cc: Thomas Gleixner Cc: Jörn Engel Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit cb53b3b99992b6c548d56cdf47bc710640ee2ee1 Author: Harvey Harrison Date: Fri Apr 18 13:44:19 2008 -0700 [MTD] replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 35d086b143e52f43a70c85ab86c054cbf1c4ff26 Author: David Woodhouse Date: Tue Apr 22 12:25:26 2008 +0100 [MTD] [JEDEC] Fix whitespace noise in chip table Signed-off-by: David Woodhouse commit 30d6a24eb8fdba2c6240bfec0eec4c8f2f058a1b Author: Gordon Farquharson Date: Fri Apr 18 13:44:18 2008 -0700 [MTD] [JEDEC] add support for the ST M29W400DB flash chip Add support for the ST M29W400DB flash chip. which is used on the GLAN Tank NAS. Signed-off-by: Gordon Farquharson Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit cca15841710da39490abc17f56b55703e3140955 Author: michael Date: Fri Apr 18 13:44:17 2008 -0700 [JFFS2] add write verify on dataflash. Add the write verification buffer to the dataflash. The mtd_dataflash has the CONFIG_DATAFLASH_WRITE_VERIFY so is better a change to Kconfig. Signed-off-by: Michael Trimarchi Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 0bc88c59cc2f031a38ad5902d5764497549217c5 Author: Stephane Chazelas Date: Fri Apr 18 13:44:15 2008 -0700 [MTD] block2mtd: logging typo fixes Address a number of small issues mainly regarding the output made by this driver to dmesg: - Some of the blkmtd's had not been changed to block2mtd which caused display problem - the parse_err() macro was displaying "block2mtd: " twice Signed-off-by: Stéphane Chazelas Acked-by: Jörn Engel Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 25dc30b4cd68df1de8932fe77ca574227d42a259 Author: David Woodhouse Date: Tue Apr 22 12:12:25 2008 +0100 [JFFS2] fix sparse warnings in gc.c fs/jffs2/gc.c:1147:29: warning: symbol 'jeb' shadows an earlier one fs/jffs2/gc.c:1084:89: originally declared here fs/jffs2/gc.c:1197:29: warning: symbol 'jeb' shadows an earlier one fs/jffs2/gc.c:1084:89: originally declared here Rename the unused 'jeb' argument to avoid this. We could potentially remove the argument, but GCC should be doing that anyway. Signed-off-by: David Woodhouse commit bf66737ca85c41442e99c9d380eb7807d88bac1f Author: Harvey Harrison Date: Fri Apr 18 13:44:14 2008 -0700 [JFFS2] fix sparse warning in write.c fs/jffs2/write.c:585:28: warning: symbol 'fd' shadows an earlier one fs/jffs2/write.c:536:27: originally declared here No need to redeclare fd, use the original one, after this point, fd is always reassigned before it used again. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 8ca646abb4503f39a7d235b89b9f8015e3ab4631 Author: David Woodhouse Date: Tue Apr 22 11:25:47 2008 +0100 [JFFS2] Fix sparse warning in nodemgmt.c fs/jffs2/nodemgmt.c:60:8: warning: symbol 'ret' shadows an earlier one fs/jffs2/nodemgmt.c:45:6: originally declared here (reported by Harvey Harrison) Just remove the offending declaration of 'int ret' and use the earlier one. Signed-off-by: David Woodhouse commit f876a59dae09a353444913bdf73b125bc124a848 Author: Harvey Harrison Date: Fri Apr 18 13:44:12 2008 -0700 [JFFS2] include function prototype for jffs2_ioctl fs/jffs2/ioctl.c:14:5: warning: symbol 'jffs2_ioctl' was not declared. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit ec12cc74e998fa39e8d707d2deb3116f9838308a Author: Adrian Bunk Date: Fri Apr 18 13:44:12 2008 -0700 [MTD] [NAND] mtd/nand/cs553x_nand.c:part_probes[] static Make the needlessly global part_probes[] static. Signed-off-by: Adrian Bunk Acked-by: Mart Raudsepp Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 7903cbabcb90a7d485e67062400481c321090a4f Author: Adrian Bunk Date: Fri Apr 18 13:44:11 2008 -0700 [MTD] mtdoops.c: make struct oops_cxt static again struct oops_cxt needlessly became global. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 41bdf96006132db8ca6ad40d0189454fe620993a Author: Mike Frysinger Date: Fri Apr 18 13:44:10 2008 -0700 [MTD] [MAPS] Document MTD_PHYSMAP module name in kconfig Help out users by telling them the module name in the Kconfig help when using the MTD_PHYSMAP option. Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit f838bad1b3be8ca0c785ee0e0c570dfda74cf377 Merge: dd91966... 8075014... Author: David Woodhouse Date: Tue Apr 22 12:34:25 2008 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit efa0f16b0d0e87ffbef311785fed0815b0240f46 Author: Robert Schedel Date: Fri Apr 11 09:21:48 2008 +0200 HID: Suppress hidinput for Samsung IR control Samsung USB remotes (0419:0001) report six keys via standard HID usage pages (arrow keys, OK, Power). Kernel 2.6.25 maps those to input events (in addition to the hiddev report). The remaining 43 keys are reported via proprietary HID report page and therefore by hiddev only. Applications using hiddev and input device might process the 6 standard keys twice. To avoid this, the input device will be suppressed for the Samsung remote with a quirk entry, forcing to use the hiddev device only. LIRC already contains the proper support. Signed-off-by: Robert Schedel Signed-off-by: Jiri Kosina commit 42098a551c0cc25c9fb206c31a88c602dced312b Author: Jiri Kosina Date: Wed Apr 9 10:21:48 2008 +0200 HID: remove 60x GTCO devices from blacklist Jeremy Robertson reports that GTCO engineers made a mistake and we don't need 0x60x GTCO product ids blacklisted. This mostly reverts dda3fd35, but leaves PID 0x1007 intact. Reported-by: Jeremy Roberson Signed-off-by: Jiri Kosina commit 0dd91544429188b496a8136e3cffb337ff6f056b Author: Mike Frysinger Date: Tue Apr 8 10:20:36 2008 +0200 HID: export headers properly I have people whining about using these headers in userspace, and they have __KERNEL__ markings which implies they're supposed to be exported. I also added the required linux/types.h include to hidraw.h since it uses the __u## kernel types. Signed-off-by: Mike Frysinger Cc: Jiri Kosina Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit 3e52a05f0ad63c984b5ab4743fcd501fe702ad77 Author: Jiri Kosina Date: Fri Apr 4 16:50:12 2008 +0200 HID: WiseGroup 866 Dual Joypad needs output reports quirk WiseGroup Ltd, MP-8866 Dual Joypad needs to skip output reports, as it contains force-feedback output reports. Reported-by: Anssi Hannula Signed-off-by: Jiri Kosina commit f5c669fc7692e54a7d283d60f0c862124792757c Author: Jiri Kosina Date: Tue Apr 1 01:56:33 2008 +0200 HID: ThrustMaster FF driver is no longer experimental There is no need to keep a few years old ThrustMaster force-feedback driver as experimental. HID_FF is currently marked experimental anyway, so this is even redundant. Signed-off-by: Jiri Kosina commit c8f0f02f3cc86652a32640b101b1f779f7ea3076 Author: Jiri Kosina Date: Mon Mar 31 23:49:22 2008 +0200 HID: Logitech diNovo Mini pad support Logitech diNovo Mini needs DUPLICATE_USAGES quirk. Reported-by: Tom Horsley Signed-off-by: Jiri Kosina commit 69626f23bce6521367ac1e6a2a6e8fba8f0a848a Author: Oliver Neukum Date: Mon Mar 31 16:27:30 2008 +0200 HID: fix race between open() and disconnect() in usbhid There is a window: task A task B spin_lock_irq(&usbhid->inlock); /* Sync with error handler */ usb_set_intfdata(intf, NULL); spin_unlock_irq(&usbhid->inlock); usb_kill_urb(usbhid->urbin); usb_kill_urb(usbhid->urbout); usb_kill_urb(usbhid->urbctrl); del_timer_sync(&usbhid->io_retry); cancel_work_sync(&usbhid->reset_work); if (!hid->open++) { res = usb_autopm_get_interface(usbhid->intf); if (res < 0) { hid->open--; return -EIO; } } if (hid_start_in(hid)) if (hid->claimed & HID_CLAIMED_INPUT) hidinput_disconnect(hid); in which an open() to an already disconnected device will submit an URB to an undead device. In case disconnect() was called by an ioctl, this'll oops. Fix by introducing a new flag and checking it in hid_start_in(). Signed-off-by: Oliver Neukum Signed-off-by: Jiri Kosina commit abdff0f7749a6696ba2a4238b675cbc55abcdb7a Author: Adrian Bunk Date: Mon Mar 31 01:53:56 2008 +0200 HID: make hid_input_field and usbhid_modify_dquirk static This patch makes the following needlessly global functions static: - hid-core.c:hid_input_field() - usbhid/hid-quirks.c:usbhid_modify_dquirk() Signed-off-by: Adrian Bunk Signed-off-by: Jiri Kosina commit b54ec3c13cf77d21bab25d8bb117f642561fdf4f Author: Jiri Kosina Date: Fri Mar 28 14:11:22 2008 +0100 HID: pass numbered reports properly to hidraw The numbered reports need to be passed properly to hidraw (i.e. with the first data field indicating the report number), otherwise userspace has no idea about the identification of the report. Signed-off-by: Jiri Kosina commit 671d994cfbe10a9b2a474d26db2cef3c878846dc Author: Jiri Kosina Date: Wed Apr 2 11:34:10 2008 +0200 HID: fix misplaced rdesc quirk This moves the misplaced rdesc quirk to the place where it belongs. Reported-by: Jiri Slaby Signed-off-by: Jiri Kosina commit c17f9c901c4e62cbf857b831bcc3070380449b88 Author: Anssi Hannula Date: Tue Apr 1 01:51:11 2008 +0200 HID: force feedback driver for Logitech Rumblepad 2 Add force feedback support for Logitech Rumblepad 2. Tested-By: Edgar Simo Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit 1d1bdd20008416a744c0c844e231e7ba69c11699 Author: Jiri Slaby Date: Wed Mar 19 21:55:04 2008 +0100 HID: move wait from hid to usbhid Since only place where this is used is usbhid, move it there. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 1b184cf37f5cf098f07725b483a2055e95725476 Author: Jiri Slaby Date: Sun Mar 9 16:29:24 2008 +0100 HID: make function from dbg_hid To check paramters even if debug is disabled, convert dbg_hid to inline function with __attribute__(format) checking. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 282bfd4cbcc2bbeb1a2cad1f42debd378e0b5ac9 Author: Jiri Slaby Date: Fri Mar 28 17:06:41 2008 +0100 HID: fix sparse warnings Fix these sparse warnings: .../hid/hid-core.c:100:15: warning: incorrect type in assignment (different signedness) .../hid/hid-core.c:100:15: expected signed int [usertype] *value .../hid/hid-core.c:100:15: got unsigned int * by unsigned -> s32 .../hid/hid-input-quirks.c:336:10: warning: Using plain integer as NULL pointer by 0 -> NULL .../hid/usbhid/hid-core.c:786:46: warning: incorrect type in argument 3 (different signedness) .../hid/usbhid/hid-core.c:786:46: expected int *max .../hid/usbhid/hid-core.c:786:46: got unsigned int * .../hid/usbhid/hid-core.c:787:47: warning: incorrect type in argument 3 (different signedness) .../hid/usbhid/hid-core.c:787:47: expected int *max .../hid/usbhid/hid-core.c:787:47: got unsigned int * .../hid/usbhid/hid-core.c:788:48: warning: incorrect type in argument 3 (different signedness) .../hid/usbhid/hid-core.c:788:48: expected int *max .../hid/usbhid/hid-core.c:788:48: got unsigned int * by int -> unsigned int Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 377e10fbb4ef219f540d06796e9fb0d3ec35a58f Author: Anssi Hannula Date: Sat Mar 22 23:50:13 2008 +0100 HID: only dump report traffic with debug level 2 Currently using debug=1 with hid module prints out all sent and received reports to the kernel log, while in many cases we only want to see the report descriptors and hid-input mappings that are printed when a device is probed. Add new level debug=2, and only dump the report traffic with that level. Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit 02008faa031f7a87b6c9df8b503a64288c8b5493 Author: Pete Zaitcev Date: Thu Mar 20 10:14:02 2008 +0100 HID: patch to add NOGET for DMI/Acomdata This must be the weirdest failure yet. My external disk stops processing the storage commands the moment it receives a GET_REPORT. The firmware does not crash; if I do rmmod hid, then SET-INTERFACE restores normal operations. Still, I cannot live without the keyboard when I want backup my files. Adding the NOGET quirk fixes this problem for me. Signed-off-by: Pete Zaitcev Signed-off-by: Jiri Kosina commit 5f1ab74f650b392ebcaa7cf3283e56d8dc6c7e56 Author: Jiri Kosina Date: Fri Mar 14 16:53:07 2008 +0100 HID: Sunplus Wireless Desktop needs report descriptor fixup This device has reports lower logical maximum compared to the real usages for Zoom+ and Zoom- it emits. This patch bumps the values in the report descriptor up, and also adjusts HID_MAX_USAGE accordingly. Reported-by: Khelben Blackstaff Signed-off-by: Jiri Kosina commit 974faac46455076c709a745f546b348017ad18dc Author: Jim Duchek Date: Fri Mar 14 15:53:49 2008 +0100 HID: quirk for MS Wireless Desktop Receiver (model 1028) Microsoft's wireless desktop receiver (Model 1028) has a bug in the report descriptor -- namely, in four seperate places it uses USAGE_MIN and _MAX when it quite obviously doesn't intend to. In other words, it reports that it has pretty much _everything_ in 'consumer' and 'generic desktop'. And then the X evdev driver believes I have a mouse with 36 absolute axes and a huge pile of keys and buttons, when I in fact, should have zero. 255/256 in three of the cases, and 0-1024 in another. This patch fixes the report descriptor of this device before it enters the HID parser. Signed-off-by: Jim Duchek Signed-off-by: Jiri Kosina commit f345c37c37641beceb0e52f61bb4cbc72904ee09 Author: Pekka Sarnila Date: Thu Mar 6 13:23:14 2008 +0100 HID: fixup fullspeed interval on highspeed Afatech DVB-T IR kbd Many vendors highspeed devices give erroneously fullspeed interval value in endpoint descriptor for interrupt endpoints. This quirk fixes up that by recalculating the right value for highspeed device. At the time of hid configuration this quirk calculates which highspeed interval value gives same interval delay as, or next smaller then, what it would be if the original value would be interpreted as fullspeed value. In subsequent urbs that new value is used instead. Forming the 'hid->name' in usb_hid_config() was moved up to accommodate more descriptive printk reporting the fixup. In this patch the quirk is set for one such device: Afatech DVB-T 2 infrared HID-keyboard. It reports value 16 which means 4,069s in highspeed while obviously 16ms was intended. In this case quirk calculates new value to be 8 which gives when interpreted as highspeed value 16ms as wanted. The behavior of the device was verified to be what expected both before and after the patch. Signed-off-by: Pekka Sarnila Signed-off-by: Jiri Kosina commit cf2a299e48cbeb6c942e1f765b92ca6058355f68 Author: Jean Delvare Date: Mon Mar 3 11:48:43 2008 +0100 HID: fix build failure in hiddev_ioctl with gcc 3.2 Fix build failure in hiddev_ioctl with gcc 3.2: http://bugzilla.kernel.org/show_bug.cgi?id=10121 The trick is to move the handling of ioctls which need to allocate memory to separate functions. Signed-off-by: Jean Delvare Signed-off-by: Jiri Kosina commit c5d18e984a313adf5a1a4ae69e0b1d93cf410229 Author: Herbert Xu Date: Tue Apr 22 00:46:42 2008 -0700 [IPSEC]: Fix catch-22 with algorithm IDs above 31 As it stands it's impossible to use any authentication algorithms with an ID above 31 portably. It just happens to work on x86 but fails miserably on ppc64. The reason is that we're using a bit mask to check the algorithm ID but the mask is only 32 bits wide. After looking at how this is used in the field, I have concluded that in the long term we should phase out state matching by IDs because this is made superfluous by the reqid feature. For current applications, the best solution IMHO is to allow all algorithms when the bit masks are all ~0. The following patch does exactly that. This bug was identified by IBM when testing on the ppc64 platform using the NULL authentication algorithm which has an ID of 251. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 618442509128fe4514be94de70ce54075cd9a706 Author: Paul E. McKenney Date: Mon Apr 21 18:12:33 2008 -0700 SELinux fixups needed for preemptable RCU from -rt The attached patch needs to move from -rt to mainline given preemptable RCU. This patch fixes SELinux code that implicitly assumes that disabling preemption prevents an RCU grace period from completing, an assumption that is valid for Classic RCU, but not necessarily for preemptable RCU. Explicit rcu_read_lock() calls are thus added. Signed-off-by: Paul E. McKenney Acked-by: Steven Rostedt Signed-off-by: James Morris commit 521b5d0c40386f4a9805cdec7bd979fc96a86aeb Author: Al Viro Date: Fri Mar 28 00:46:41 2008 -0400 [PATCH] teach seq_file to discard entries Allow ->show() return SEQ_SKIP; that will discard all output from that element and move on. Signed-off-by: Al Viro commit 4e1b36fb485dd81b0818ef1bc8fb5c0f2923a283 Author: Al Viro Date: Mon Mar 24 00:16:03 2008 -0400 [PATCH] umount_tree() will unhash everything itself Signed-off-by: Al Viro commit 8c3ee42e80ccead805806b3cb50b9855ceb957a2 Author: Al Viro Date: Sat Mar 22 18:00:39 2008 -0400 [PATCH] get rid of more nameidata passing in namespace.c Further reduction of stack footprint (sys_pivot_root()); lose useless BKL in there, while we are at it. Signed-off-by: Al Viro commit b5266eb4c8d1a2887a19aaec8144ee4ad1b054c3 Author: Al Viro Date: Sat Mar 22 17:48:24 2008 -0400 [PATCH] switch a bunch of LSM hooks from nameidata to path Namely, ones from namespace.c Signed-off-by: Al Viro commit 1a60a280778ff90270fc7390d9ec102f713a5a29 Author: Al Viro Date: Sat Mar 22 16:19:49 2008 -0400 [PATCH] lock exclusively in collect_mounts() and drop_collected_mounts() Taking namespace_sem shared there isn't worth the trouble, especially with vfsmount ID allocation about to be added. That way we know that umount_tree(), copy_tree() and clone_mnt() are _always_ serialized by namespace_sem. umount_tree() still needs vfsmount_lock (it manipulates hash chains, among other things), but that's a separate story. Signed-off-by: Al Viro commit 6d59e7f582ef1c1988542d0fc3b36d0087b757ce Author: Al Viro Date: Sat Mar 22 15:48:17 2008 -0400 [PATCH] move a bunch of declarations to fs/internal.h Signed-off-by: Al Viro commit 7c3f944e29c02d71e13442e977cf4cec19c39e98 Author: YOSHIFUJI Hideaki Date: Mon Apr 21 19:45:12 2008 -0700 time: Export set_normalized_timespec. Sorry I have just realized set_normalized_timespec() (used in timespec_sub()) is not exported, and link will fail because of it... Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 807501475fce0ebe68baedf87f202c3e4ee0d12c Merge: 2848077... bc751fe... Author: Linus Torvalds Date: Mon Apr 21 19:18:43 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/ipath: Correct capitalization "IntX" -> "INTx" IB/ipath: Remove tests of PCI_MSI in ipath_iba7220.c IB/ipath: Remove dependency on PCI_MSI || HT_IRQ IB/ipath: Build IBA7220 code unconditionally IB/ipath: Remove reference to dev->class_dev IB/ipath: Fix module parameter description for disable_sma RDMA/nes: Remove unneeded function declarations Fix up conflict in drivers/infiniband/hw/ipath/ipath_verbs.c (by picking the solution from the infiniband branch) commit bc751fe6fff3ff894784acfed1bed8639b632c09 Author: Roland Dreier Date: Mon Apr 21 18:19:15 2008 -0700 IB/ipath: Correct capitalization "IntX" -> "INTx" Match what the PCI specification uses. Signed-off-by: Roland Dreier commit 44957572cc198f6fcee9569813722b9ae1bd1679 Author: Roland Dreier Date: Mon Apr 21 18:19:15 2008 -0700 IB/ipath: Remove tests of PCI_MSI in ipath_iba7220.c The PCI MSI interface is stubbed out properly so that all the functions just return failure if PCI_MSI=n, so there's no reason to have "#ifdef CONFIG_PCI_MSI" blocks in ipath_iba7220.c. Signed-off-by: Roland Dreier commit 480f58e6143135680fc1e61ea2dedc72cf3d1f95 Author: Roland Dreier Date: Mon Apr 21 18:19:14 2008 -0700 IB/ipath: Remove dependency on PCI_MSI || HT_IRQ Before IBA7220 support was added, the ipath driver didn't support any hardware unless PCI_MSI and/or HT_IRQ was enabled. However, the IBA7220 can generate INTx interrupts, so it makes sense to allow the driver to be build even if PCI_MSI=n and HT_IRQ=n. Signed-off-by: Roland Dreier commit 37a6ab5227d856c175d8f3586050997bb10628d8 Author: Roland Dreier Date: Mon Apr 21 18:19:14 2008 -0700 IB/ipath: Build IBA7220 code unconditionally The new IBA7220 code added a call to ipath_init_iba7220_funcs() that is compiled unconditionally, but only built the IBA7220 code if PCI_MSI is enabled. Fix this by building the IBA7220 file unconditonally. This fixes build breakage when PCI_MSI=n, HT_IRQ=y and INFINIBAND_IPATH=y reported by Ingo Molnar : drivers/built-in.o: In function `ipath_init_one': ipath_driver.c:(.devinit.text+0x1e5bc): undefined reference to `ipath_init_iba7220_funcs' Signed-off-by: Roland Dreier commit 88a8317bcd2258e84a41c155590837036d6b80a8 Author: Roland Dreier Date: Mon Apr 21 18:19:14 2008 -0700 IB/ipath: Remove reference to dev->class_dev Commit 124b4dcb ("IB/ipath: add calls to new 7220 code and enable in build") inadvertently added core to set dev->class_dev.dev back into ib_ipath. This is completely redundant since commit 1912ffbb ("IB: Set class_dev->dev in core for nice device symlink"), which removed class_dev setting from low-level drivers, and also will break the build when class_dev is removed completely from struct ib_device. Signed-off-by: Roland Dreier commit 9862874d2138135dad9e78f61dbe415a4364945b Author: Paul Bolle Date: Mon Apr 21 18:19:13 2008 -0700 IB/ipath: Fix module parameter description for disable_sma Describe disable_sma parameter with its name rather than the internal ib_ipath_disable_sma variable name, so that the description shows up properly in modinfo. Signed-off-by: Paul Bolle Acked-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6a5546e76c4b2367e03cb52884b97c94d6260a8c Author: Roland Dreier Date: Mon Apr 21 18:19:12 2008 -0700 RDMA/nes: Remove unneeded function declarations Remove redundant static declarations of functions that are defined before they are used in the source. Signed-off-by: Roland Dreier commit 2848077044a5fdeb942bd1342c550da4c452d66a Author: Stephen Rothwell Date: Tue Apr 22 10:24:24 2008 +1000 infiniband: class_device fallout Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit 135cedad7457be6a96d5e151dfd48f7888a75e94 Merge: 8a32272... e70aa3f... Author: Linus Torvalds Date: Mon Apr 21 17:23:30 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (26 commits) mmc: sdio_ops.c should #include "sdio_ops.h" mmc: proper prototypes for mmc_attach_*() mmc: make __mmc_release_bus() static sdhci: improve no card, no reset quirk MMC: OMAP: Do not busy wait for end of command for ever MMC: OMAP: Start new commands from work queue instead of irq MMC: OMAP: Lazy clock shutdown MMC: OMAP: Move failing command abortion to workqueue MMC: OMAP: Use tasklet instead of workqueue for cover switch notification MMC: OMAP: Check the get_cover_state function pointer if not set MMC: OMAP: Using setup_timer instead of init_timer MMC: OMAP: Abort stuck commands MMC: OMAP: General cleanup for MMC multislot support MMC: OMAP: Power functions modified to MMC multislot support MMC: OMAP: Fix timeout calculation for MMC multislot support MMC: OMAP: New release dma and abort xfer functions MMC: OMAP: Add back cover switch support MMC: OMAP: Introduce new multislot structure and change driver to use it MMC: OMAP: Remove cover switch handling to allow adding multislot support MMC: OMAP: Fix the BYTEBLOCK capability removal ... commit 8a3227268877b81096d7b7a841aaf51099ad2068 Merge: e9b6269... ec98c6b... Author: Linus Torvalds Date: Mon Apr 21 17:20:53 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC]: Remove SunOS and Solaris binary support. commit 0f5e64200f20fc8f5b759c4010082f577ab0af3f Author: Eric Paris Date: Mon Apr 21 16:24:11 2008 -0400 SELinux: no BUG_ON(!ss_initialized) in selinux_clone_mnt_opts The Fedora installer actually makes multiple NFS mounts before it loads selinux policy. The code in selinux_clone_mnt_opts() assumed that the init process would always be loading policy before NFS was up and running. It might be possible to hit this in a diskless environment as well, I'm not sure. There is no need to BUG_ON() in this situation since we can safely continue given the circumstances. Signed-off-by: Eric Paris Signed-off-by: James Morris commit e9b62693ae0a1e13ccc97a6792d9a7770c8d1b5b Merge: 548453f... 838cb6a... Author: Linus Torvalds Date: Mon Apr 21 16:36:46 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial: (24 commits) DOC: A couple corrections and clarifications in USB doc. Generate a slightly more informative error msg for bad HZ fix typo "is" -> "if" in Makefile ext*: spelling fix prefered -> preferred DOCUMENTATION: Use newer DEFINE_SPINLOCK macro in docs. KEYS: Fix the comment to match the file name in rxrpc-type.h. RAID: remove trailing space from printk line DMA engine: typo fixes Remove unused MAX_NODES_SHIFT MAINTAINERS: Clarify access to OCFS2 development mailing list. V4L: Storage class should be before const qualifier (sn9c102) V4L: Storage class should be before const qualifier sonypi: Storage class should be before const qualifier intel_menlow: Storage class should be before const qualifier DVB: Storage class should be before const qualifier arm: Storage class should be before const qualifier ALSA: Storage class should be before const qualifier acpi: Storage class should be before const qualifier firmware_sample_driver.c: fix coding style MAINTAINERS: Add ati_remote2 driver ... Fixed up trivial conflicts in firmware_sample_driver.c commit 548453fd107f789f5f1bc2dc13cc432ceb3b5efd Merge: 9fd9121... fb19974... Author: Linus Torvalds Date: Mon Apr 21 16:03:40 2008 -0700 Merge branch 'for-2.6.26' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.26' of git://git.kernel.dk/linux-2.6-block: block: fix blk_register_queue() return value block: fix memory hotplug and bouncing in block layer block: replace remaining __FUNCTION__ occurrences Kconfig: clean up block/Kconfig help descriptions cciss: fix warning oops on rmmod of driver cciss: Fix race between disk-adding code and interrupt handler block: move the padding adjustment to blk_rq_map_sg block: add bio_copy_user_iov support to blk_rq_map_user_iov block: convert bio_copy_user to bio_copy_user_iov loop: manage partitions in disk image cdrom: use kmalloced buffers instead of buffers on stack cdrom: make unregister_cdrom() return void cdrom: use list_head for cdrom_device_info list cdrom: protect cdrom_device_info list by mutex cdrom: cleanup hardcoded error-code cdrom: remove ifdef CONFIG_SYSCTL commit 9fd91217b15751997cab35ad309b37b44eaa6774 Author: Adrian Bunk Date: Mon Apr 21 12:51:04 2008 +0100 frv: unexport kmap_atomic_to_page This patch removes the no longer used export of kmap_atomic_to_page. Signed-off-by: Adrian Bunk Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit eb0cc5fe4e8d4928259852d9dc3cb1eeae90e48f Author: Adrian Bunk Date: Mon Apr 21 12:50:59 2008 +0100 frv: remove HARD_RESET_NOW() HARD_RESET_NOW() was unused. And one of the few remaining cli() users. Signed-off-by: Adrian Bunk Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 19b5b517a8b81a448be9b2bdaf18a761a7b9799e Merge: bda0c0a... 95fff33... Author: Linus Torvalds Date: Mon Apr 21 16:01:40 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: SELinux: one little, two little, three little whitespaces, the avc.c saga. SELinux: cleanup on isle selinuxfs.c changing whitespace for fun and profit: policydb.c SELinux: whitespace and formating fixes for hooks.c SELinux: clean up printks SELinux: sidtab.c whitespace, syntax, and static declaraction cleanups SELinux: services.c whitespace, syntax, and static declaraction cleanups SELinux: mls.c whitespace, syntax, and static declaraction cleanups SELinux: hashtab.c whitespace, syntax, and static declaraction cleanups SELinux: ebitmap.c whitespace, syntax, and static declaraction cleanups SELinux: conditional.c whitespace, syntax, and static declaraction cleanups SELinux: avtab.c whitespace, syntax, and static declaraction cleanups SELinux: xfrm.c whitespace, syntax, and static declaraction cleanups SELinux: nlmsgtab.c whitespace, syntax, and static declaraction cleanups SELinux: netnode.c whitespace, syntax, and static declaraction cleanups SELinux: netlink.c whitespace, syntax, and static declaraction cleanups SELinux: netlabel.c whitespace, syntax, and static declaraction cleanups SELinux: netif.c whitespace, syntax, and static declaraction cleanups commit bda0c0afa7a694bb1459fd023515aca681e4d79a Merge: 904e0ab... af40b48... Author: Linus Torvalds Date: Mon Apr 21 15:58:35 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: (42 commits) PCI: Change PCI subsystem MAINTAINER PCI: pci-iommu-iotlb-flushing-speedup PCI: pci_setup_bridge() mustn't be __devinit PCI: pci_bus_size_cardbus() mustn't be __devinit PCI: pci_scan_device() mustn't be __devinit PCI: pci_alloc_child_bus() mustn't be __devinit PCI: replace remaining __FUNCTION__ occurrences PCI: Hotplug: fakephp: Return success, not ENODEV, when bus rescan is triggered PCI: Hotplug: Fix leaks in IBM Hot Plug Controller Driver - ibmphp_init_devno() PCI: clean up resource alignment management PCI: aerdrv_acpi.c: remove unneeded NULL check PCI: Update VIA CX700 quirk PCI: Expose PCI VPD through sysfs PCI: iommu: iotlb flushing PCI: simplify quirk debug output PCI: iova RB tree setup tweak PCI: parisc: use generic pci_enable_resources() PCI: ppc: use generic pci_enable_resources() PCI: powerpc: use generic pci_enable_resources() PCI: ia64: use generic pci_enable_resources() ... commit 838cb6aba4cebcf4fcd06b90e2adf890bef884ac Author: Robert P. J. Day Date: Mon Apr 21 22:57:50 2008 +0000 DOC: A couple corrections and clarifications in USB doc. A couple of corrections and clarifications in USB documentation. Signed-off-by: Robert P. J. Day Signed-off-by: Jesper Juhl commit 904e0ab54b7591b9cb01cfc0dbbedcc8bc0d949b Merge: 98a1e95f... c49a7f1... Author: Linus Torvalds Date: Mon Apr 21 15:57:09 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: [HWRNG] omap: Minor updates [CRYPTO] kconfig: Ordering cleanup [CRYPTO] all: Clean up init()/fini() [CRYPTO] padlock-aes: Use generic setkey function [CRYPTO] aes: Export generic setkey [CRYPTO] api: Make the crypto subsystem fully modular [CRYPTO] cts: Add CTS mode required for Kerberos AES support [CRYPTO] lrw: Replace all adds to big endians variables with be*_add_cpu [CRYPTO] tcrypt: Change the XTEA test vectors [CRYPTO] tcrypt: Shrink the tcrypt module [CRYPTO] tcrypt: Change the usage of the test vectors [CRYPTO] api: Constify function pointer tables [CRYPTO] aes-x86-32: Remove unused return code [CRYPTO] tcrypt: Shrink speed templates [CRYPTO] tcrypt: Group common speed templates [CRYPTO] sha512: Rename sha512 to sha512_generic [CRYPTO] sha384: Hardware acceleration for s390 [CRYPTO] sha512: Hardware acceleration for s390 [CRYPTO] s390: Generic sha_update and sha_final [CRYPTO] api: Switch to proc_create() commit 98a1e95f9b5919b55c71a01546415074282d30d5 Merge: abe834c... 896c6fa... Author: Linus Torvalds Date: Mon Apr 21 15:56:19 2008 -0700 Merge branch 'irq-cleanups-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'irq-cleanups-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6: [ISDN] minor irq handler cleanups drivers/char: minor irq handler cleanups [PPC] minor irq handler cleanups [BLACKFIN] minor irq handler cleanups [SPARC] minor irq handler cleanups ARM minor irq handler cleanup: avoid passing unused info to irq commit 37679011c5a674eb80bff5c2b9b067bf16011d46 Author: Robert P. J. Day Date: Mon Apr 21 22:56:14 2008 +0000 Generate a slightly more informative error msg for bad HZ Generate a slightly more informative error msg for bad HZ in include/linux/jiffies.h Signed-off-by: Robert P. J. Day Signed-off-by: Jesper Juhl commit abe834c8a5d7e55ee12c0c8c7a5308b2c5cba95d Merge: e16b278... 8349304... Author: Linus Torvalds Date: Mon Apr 21 15:54:34 2008 -0700 Merge branch 'isdn-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'isdn-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6: [ISDN] Hisax: eliminate many unnecessary references to CardType[] [ISDN] HiSax: modularization prep commit bc3c26fe65ecaa3fa96844219a9070a3e079697a Author: Uwe Kleine-Knig Date: Mon Apr 21 22:53:56 2008 +0000 fix typo "is" -> "if" in Makefile It should be "if" but is written as "is".. Signed-off-by: Uwe Kleine-Koenig Signed-off-by: Jesper Juhl commit e16b27816462de700f9508d86954410c41105dc2 Author: Roland McGrath Date: Sun Apr 20 13:10:12 2008 -0700 ptrace: compat_ptrace_request siginfo This adds support for PTRACE_GETSIGINFO and PTRACE_SETSIGINFO in compat_ptrace_request. It relies on existing arch definitions for copy_siginfo_to_user32 and copy_siginfo_from_user32. On powerpc, this fixes a longstanding regression of 32-bit ptrace calls on 64-bit kernels vs native calls (64-bit calls or 32-bit kernels). This can be seen in a 32-bit call using PTRACE_GETSIGINFO to examine e.g. siginfo_t.si_addr from a signal that sets it. (This was broken as of 2.6.24 and, I presume, many or all prior versions.) Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 553a56726be86c09cfa53c84da1ea0e2043e364e Author: Randy Dunlap Date: Sun Apr 20 10:51:01 2008 -0700 skbuff: fix missing kernel-doc notation Add kernel-doc notation for ndisc_nodetype: Warning(linux-2.6.25-git2//include/linux/skbuff.h:340): No description found for parameter 'ndisc_nodetype' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 9a64388d83f6ef08dfff405a9d122e3dbcb6bf38 Merge: e80ab41... 14b3ca4... Author: Linus Torvalds Date: Mon Apr 21 15:50:49 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (202 commits) [POWERPC] Fix compile breakage for 64-bit UP configs [POWERPC] Define copy_siginfo_from_user32 [POWERPC] Add compat handler for PTRACE_GETSIGINFO [POWERPC] i2c: Fix build breakage introduced by OF helpers [POWERPC] Optimize fls64() on 64-bit processors [POWERPC] irqtrace support for 64-bit powerpc [POWERPC] Stacktrace support for lockdep [POWERPC] Move stackframe definitions to common header [POWERPC] Fix device-tree locking vs. interrupts [POWERPC] Make pci_bus_to_host()'s struct pci_bus * argument const [POWERPC] Remove unused __max_memory variable [POWERPC] Simplify xics direct/lpar irq_host setup [POWERPC] Use pseries_setup_i8259_cascade() in pseries_mpic_init_IRQ() [POWERPC] Turn xics_setup_8259_cascade() into a generic pseries_setup_i8259_cascade() [POWERPC] Move xics_setup_8259_cascade() into platforms/pseries/setup.c [POWERPC] Use asm-generic/bitops/find.h in bitops.h [POWERPC] 83xx: mpc8315 - fix USB UTMI Host setup [POWERPC] 85xx: Fix the size of qe muram for MPC8568E [POWERPC] 86xx: mpc86xx_hpcn - Temporarily accept old dts node identifier. [POWERPC] 86xx: mark functions static, other minor cleanups ... commit e80ab411e589e00550e2e6e5a6a02d59cc730357 Merge: 529a41e... ee959b0... Author: Linus Torvalds Date: Mon Apr 21 15:49:58 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: (36 commits) SCSI: convert struct class_device to struct device DRM: remove unused dev_class IB: rename "dev" to "srp_dev" in srp_host structure IB: convert struct class_device to struct device memstick: convert struct class_device to struct device driver core: replace remaining __FUNCTION__ occurrences sysfs: refill attribute buffer when reading from offset 0 PM: Remove destroy_suspended_device() Firmware: add iSCSI iBFT Support PM: Remove legacy PM (fix) Kobject: Replace list_for_each() with list_for_each_entry(). SYSFS: Explicitly include required header file slab.h. Driver core: make device_is_registered() work for class devices PM: Convert wakeup flag accessors to inline functions PM: Make wakeup flags available whenever CONFIG_PM is set PM: Fix misuse of wakeup flag accessors in serial core Driver core: Call device_pm_add() after bus_add_device() in device_add() PM: Handle device registrations during suspend/resume block: send disk "change" event for rescan_partitions() sysdev: detect multiple driver registrations ... Fixed trivial conflict in include/linux/memory.h due to semaphore header file change (made irrelevant by the change to mutex). commit 529a41e36673b518c9e091f3a8d932b6b9e3c461 Merge: c3823c4... 43837b1... Author: Linus Torvalds Date: Mon Apr 21 15:46:17 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: rose: Socket lock was not released before returning to user space hci_usb: remove code obfuscation drivers/net/appletalk: use time_before, time_before_eq, etc drivers/atm: use time_before, time_before_eq, etc hci_usb: do not initialize static variables to 0 tg3: 5701 DMA corruption fix atm nicstar: Removal of debug code containing deprecated calls to cli()/sti() iwlwifi: Fix unconditional access to station->tidp[].agg. netfilter: Fix SIP conntrack build with NAT disabled. netfilter: Fix SCTP nat build. commit 1cc8dcf569a3fcefb7ae32652225f2bd3e85257e Author: Benoit Boissinot Date: Mon Apr 21 22:45:55 2008 +0000 ext*: spelling fix prefered -> preferred Spelling fix: prefered -> preferred Signed-off-by: Benoit Boissinot Signed-off-by: Jesper Juhl commit c3823c479e1f86a0adc7bb76fcfded67b042afc3 Merge: 5dfeaef... ed3fa7c... Author: Linus Torvalds Date: Mon Apr 21 15:44:57 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: (25 commits) avr32: Add hardware power-down function call avr32: add include/asm-avr32/serial.h avr32: don't offer PARPORT_PC avr32: don't offer CONFIG_GEN_RTC avr32: don't offer CONFIG_RTC add include/asm-avr32/xor.h avr32: Remove two unused #defines from mm/init.c avr32: Implement set_rate(), set_parent() and mode() for pll1 avr32: Generic clockevents support avr32: Move sleep code into mach-at32ap avr32: Use constants from sysreg.h in asm.h avr32: Delete mostly unused header asm/intc.h avr32: start clocksource cleanup avr32: pass i2c board info through at32_add_device_twi avr32: cleanup - use _AC macro to define PAGE_SIZE Generate raw keyboard codes for AVR32 architecture atmel_usba_udc: Add support for AT91CAP9 UDPHS atmel_usba_udc: Add missing kfree() in usba_udc_remove() atmel_usba_udc: move endpoint declarations into platform data. atmel_usba_udc: Kill GPIO_PIN_NONE ... commit c0d1f29534f2bd6c5992831eb0f648522e9b0204 Author: Robert P. J. Day Date: Mon Apr 21 22:44:50 2008 +0000 DOCUMENTATION: Use newer DEFINE_SPINLOCK macro in docs. Signed-off-by: Robert P. J. Day Signed-off-by: Jesper Juhl commit dd89db1df98003fadafa711ab8bc497aaf92980a Author: Robert P. J. Day Date: Mon Apr 21 22:43:55 2008 +0000 KEYS: Fix the comment to match the file name in rxrpc-type.h. Signed-off-by: Robert P. J. Day Acked-by: David Howells Signed-off-by: Jesper Juhl commit 5dfeaef89559d4968b0470adf749659f10d722f6 Merge: 429f731... 259aae8... Author: Linus Torvalds Date: Mon Apr 21 15:43:43 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt: hrtimer: optimize the softirq time optimization hrtimer: reduce calls to hrtimer_get_softirq_time() clockevents: fix typo in tick-broadcast.c jiffies: add time_is_after_jiffies and others which compare with jiffies commit fdefa4d87e2f07ffe5888a7c2ed87dd12f9cfe37 Author: Nick Andrew Date: Mon Apr 21 22:42:58 2008 +0000 RAID: remove trailing space from printk line drivers/md/*.[ch] contains only one more printk line with a trailing space. Remove it. Signed-off-by: Nick Andrew Signed-off-by: Jesper Juhl commit 429f731dea577bdd43693940cdca524135287e6a Merge: 85b375a... d2f5e80... Author: Linus Torvalds Date: Mon Apr 21 15:41:27 2008 -0700 Merge branch 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc * 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: Deprecate the asm/semaphore.h files in feature-removal-schedule. Convert asm/semaphore.h users to linux/semaphore.h security: Remove unnecessary inclusions of asm/semaphore.h lib: Remove unnecessary inclusions of asm/semaphore.h kernel: Remove unnecessary inclusions of asm/semaphore.h include: Remove unnecessary inclusions of asm/semaphore.h fs: Remove unnecessary inclusions of asm/semaphore.h drivers: Remove unnecessary inclusions of asm/semaphore.h net: Remove unnecessary inclusions of asm/semaphore.h arch: Remove unnecessary inclusions of asm/semaphore.h commit 85b375a613085b78531ec86369a51c2f3b922f95 Merge: ec96535... cf816ec... Author: Linus Torvalds Date: Mon Apr 21 15:40:55 2008 -0700 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (212 commits) [ARM] pxa: Phycore pcm-990-specific code for the PXA270 Quick Capture driver [ARM] pxa: V4L2 soc_camera driver for PXA270 [ARM] pxa: restrict availability of pxa2xx PCMCIA drivers [ARM] 5005/1: BAST: Fix kset_name initialiser [ARM] 4967/1: Adds functions to set clkout rate for Samsung S3C2410 [ARM] 4988/1: Add GPIO lib support to the EP93xx [ARM] Add initial sparsemem support [ARM] pxa: initialise PXA devices before platform init code [ARM] 5002/1: tosa: add two more leds [ARM] 5004/1: Tosa: make several unreferenced structures static. [ARM] 5003/1: Shut up sparse warnings [ARM] 4977/2: soc - pxa2xx-ac97 - Add missing clk_enable() [ARM] 4976/1: zylonite: Configure GPIO for WM9713 IRQ line [ARM] 4974/1: Drop unused leds-tosa. [ARM] 4973/1: Tosa: use leds-gpio driver. [ARM] 4972/1: Tosa: convert scoop GPIOs usage to generic gpio code [ARM] 4971/1: pxaficp_ir: provide startup and shutdown hooks [ARM] pxa: lubbock: move mis-placed SPI info [ARM] 4970/1: tosa: correct gpio used for wake up. [ARM] 4966/1: magician: add MFP pin configuration ... commit ec965350bb98bd291eb34f6ecddfdcfc36da1e6e Merge: 5f033bb... 486fdae... Author: Linus Torvalds Date: Mon Apr 21 15:40:24 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: (62 commits) sched: build fix sched: better rt-group documentation sched: features fix sched: /debug/sched_features sched: add SCHED_FEAT_DEADLINE sched: debug: show a weight tree sched: fair: weight calculations sched: fair-group: de-couple load-balancing from the rb-trees sched: fair-group scheduling vs latency sched: rt-group: optimize dequeue_rt_stack sched: debug: add some debug code to handle the full hierarchy sched: fair-group: SMP-nice for group scheduling sched, cpuset: customize sched domains, core sched, cpuset: customize sched domains, docs sched: prepatory code movement sched: rt: multi level group constraints sched: task_group hierarchy sched: fix the task_group hierarchy for UID grouping sched: allow the group scheduler to have multiple levels sched: mix tasks and groups ... commit 8a5703f846e2363fc466aff3f53608340a1ae33f Author: Sebastian Siewior Date: Mon Apr 21 22:38:45 2008 +0000 DMA engine: typo fixes Spelling fixes for dmaengine.[ch] Signed-off-by: Sebastian Siewior Acked-by: Maciej Sosnowski Signed-off-by: Jesper Juhl commit 5f033bb9bc5cb3bb37a79e3ef131f50ecdcb72b0 Merge: fd9be4c... 34d0559... Author: Linus Torvalds Date: Mon Apr 21 15:38:43 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (77 commits) x86: UV startup of slave cpus x86: integrate pci-dma.c x86: don't do dma if mask is NULL. x86: return conditional to mmu x86: remove kludge from x86_64 x86: unify gfp masks x86: retry allocation if failed x86: don't try to allocate from DMA zone at first x86: use a fallback dev for i386 x86: use numa allocation function in i386 x86: remove virt_to_bus in pci-dma_64.c x86: adjust dma_free_coherent for i386 x86: move bad_dma_address x86: isolate coherent mapping functions x86: move dma_coherent functions to pci-dma.c x86: merge iommu initialization parameters x86: merge dma_supported x86: move pci fixup to pci-dma.c x86: move x86_64-specific to common code. x86: move initialization functions to pci-dma.c ... commit fd9be4ce2e1eb407a8152f823698cc0d652bbec8 Merge: b1af9cc... ad775f5... Author: Linus Torvalds Date: Mon Apr 21 15:38:14 2008 -0700 Merge branch 'ro-bind.b6' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'ro-bind.b6' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (24 commits) [PATCH] r/o bind mounts: debugging for missed calls [PATCH] r/o bind mounts: honor mount writer counts at remount [PATCH] r/o bind mounts: track numbers of writers to mounts [PATCH] r/o bind mounts: check mnt instead of superblock directly [PATCH] r/o bind mounts: elevate count for xfs timestamp updates [PATCH] r/o bind mounts: make access() use new r/o helper [PATCH] r/o bind mounts: write counts for truncate() [PATCH] r/o bind mounts: elevate write count for chmod/chown callers [PATCH] r/o bind mounts: elevate write count for open()s [PATCH] r/o bind mounts: elevate write count for ioctls() [PATCH] r/o bind mounts: write count for file_update_time() [PATCH] r/o bind mounts: elevate write count for do_utimes() [PATCH] r/o bind mounts: write counts for touch_atime() [PATCH] r/o bind mounts: elevate write count for ncp_ioctl() [PATCH] r/o bind mounts: elevate write count for xattr_permission() callers [PATCH] r/o bind mounts: get write access for vfs_rename() callers [PATCH] r/o bind mounts: write counts for link/symlink [PATCH] r/o bind mounts: get callers of vfs_mknod/create/mkdir() [PATCH] r/o bind mounts: elevate write count for rmdir and unlink. [PATCH] r/o bind mounts: drop write during emergency remount ... commit b1af9ccce9cff5b48c37424dbdbb3aa9021915db Merge: cc216c5... 440fc17... Author: Linus Torvalds Date: Mon Apr 21 15:37:47 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (27 commits) sh: Fix up L2 cache probe. sh: Fix up SH-4A part probe. sh: Add support for SH7723 CPU subtype. sh: Fix up SH7763 build. sh: Add migor_ts support to MigoR sh: Add rs5c732b RTC support to MigoR sh: Add I2C support to MigoR sh: Add I2C platform data to sh7722 sh: MigoR NAND flash support using gen_flash sh: MigoR NOR flash support using physmap-flash sh: Fix up mach-types formatting from merge damage. sh: r7780rp: Hook up the I2C and SMBus platform devices. sh: Use phyical addresses for MigoR smc91x resources sh: Use physical addresses for sh7722 USBF resources sh: Add MigoR header file Fix sh_keysc double free sh: Fix up __access_ok() check for nommu. sh: Allow optimized clear/copy page routines to be used on SH-2. sh: Hook up the rest of the SH7770 serial ports. sh: Add support for Solution Engine SH7721 board ... commit 218ff137bc67252694420563d23d051ab9227f17 Author: Johannes Weiner Date: Mon Apr 21 22:35:29 2008 +0000 Remove unused MAX_NODES_SHIFT MAX_NODES_SHIFT is not referenced anywhere in the tree, so dump it. Signed-off-by: Johannes Weiner Signed-off-by: Jesper Juhl commit c0ff1f26acdbb8dc67165b0bbf910f795f0a0ca3 Author: Robert P. J. Day Date: Mon Apr 21 22:34:01 2008 +0000 MAINTAINERS: Clarify access to OCFS2 development mailing list. The list is moderated for non-subscribers Signed-off-by: Robert P. J. Day Signed-off-by: Jesper Juhl commit 22d56fce95f8cfcae8376e6da99e232583c61845 Author: Tobias Klauser Date: Mon Apr 21 22:32:16 2008 +0000 V4L: Storage class should be before const qualifier (sn9c102) The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit c81010bf41ec1e888e46898f57cd0e2cdac326a4 Author: Tobias Klauser Date: Mon Apr 21 22:30:21 2008 +0000 V4L: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit b0cdb5e11800dd76d9bb69aa335c8a33ddc50f5a Author: Tobias Klauser Date: Mon Apr 21 22:29:37 2008 +0000 sonypi: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit f7e8dd5071340541587e588c8fb4404dd5b0462d Author: Tobias Klauser Date: Mon Apr 21 22:28:49 2008 +0000 intel_menlow: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit cbfa6f2a684e9fb7d6a5025b3893b8f93112683c Author: Tobias Klauser Date: Mon Apr 21 22:27:50 2008 +0000 DVB: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit b1d18dc06ba6b9056f95aaf1f8c464830846f87f Author: Tobias Klauser Date: Mon Apr 21 22:26:40 2008 +0000 arm: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit 3f76d9841e9cf6dd969ff3aec96476dced9c53f8 Author: Tobias Klauser Date: Mon Apr 21 22:25:51 2008 +0000 ALSA: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit b299c22c8c1024a5a89d19524e24b3e1d67e9eab Author: Tobias Klauser Date: Mon Apr 21 22:24:53 2008 +0000 acpi: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit 58da495065134b45799bd02988ab658c3da6af25 Author: Pavel Machek Date: Mon Apr 21 22:23:30 2008 +0000 firmware_sample_driver.c: fix coding style Fix coding style in firmware_sample_driver... Signed-off-by: Pavel Machek Signed-off-by: Jesper Juhl commit 6f69a6d776f6f5921d73ad9648e43d9b59afeff4 Author: Ville Syrjala Date: Mon Apr 21 22:21:10 2008 +0000 MAINTAINERS: Add ati_remote2 driver Add myself as the ati_remote2 driver maintainer. Signed-off-by: Ville Syrjala Signed-off-by: Jesper Juhl commit fda6ab8bbe2a2276d491aed1358975c8c516a243 Author: Cyril Brulebois Date: Mon Apr 21 22:19:05 2008 +0000 Documentation: Remove last references to BitKeeper. Remove BitKeeper from dontdiff. Point to the klibc git repository instead of old BitKeeper ones. Signed-off-by: Cyril Brulebois Signed-off-by: Jesper Juhl commit 5309fbcc475084e6c1566084f770cef927937b7b Author: Rusty Russell Date: Mon Apr 21 22:17:12 2008 +0000 Remove documentation of non-existent sk_alloc arg As you can see, there's no zero_it arg (in fact code always uses __GFP_ZERO). Signed-off-by: Rusty Russell Signed-off-by: Jesper Juhl commit f5264481c8049673e2cc8c7aca410931f571ba2d Author: Pavel Machek Date: Mon Apr 21 22:15:06 2008 +0000 trivial: small cleanups These are small cleanups all over the tree. Trivial style and comment changes to fs/select.c, kernel/signal.c, kernel/stop_machine.c & mm/pdflush.c Signed-off-by: Pavel Machek Signed-off-by: Jesper Juhl commit 1fb7c6e4cba35b5e7cef88b58d0a2ad164d801a5 Author: Jesper Juhl Date: Mon Apr 21 22:12:32 2008 +0000 Correct a few trivial tree details in Documentation/SubmittingPatches Correct maintainer name and URL. Signed-off-by: Jesper Juhl commit ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16 Author: David S. Miller Date: Sun Apr 20 02:14:23 2008 -0700 [SPARC]: Remove SunOS and Solaris binary support. As per Documentation/feature-removal-schedule.txt Signed-off-by: David S. Miller commit d7ee147d4f84219a44670eb0db3a91e58d14a81c Author: Arnd Hannemann Date: Mon Apr 21 14:46:22 2008 -0700 tcp: Make use of before macro in tcp_input.c Make use of tcp before macro. Signed-off-by: Arnd Hannemann Signed-off-by: David S. Miller commit 02651d20a3f90dab8920dad00dec8f62f2b6a7ea Author: Mark Asselstine Date: Mon Apr 21 14:44:16 2008 -0700 hamradio: Remove unneeded and deprecated cli()/sti() calls in dmascc.c These cli()/sti() calls are made in start_timer() and are therefor redundant since the register_lock is now used to protect register io from within scc_isr() and write_scc() (where all calls to start_timer() originate). Signed-off-by: Mark Asselstine Signed-off-by: David S. Miller commit 92998dd4951a84cbde447eeac4af5770718864b8 Author: Pavel Emelyanov Date: Mon Apr 21 14:33:16 2008 -0700 [NETNS]: Remove empty ->init callback. The netns start-stop engine can happily live with any of init or exit callbacks set to NULL. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit cdd04d98f6922f5a7ba52714f077140d42bc67c9 Author: YOSHIFUJI Hideaki Date: Mon Apr 21 14:28:45 2008 -0700 [DCCP]: Convert do_gettimeofday() to getnstimeofday(). What do_gettimeofday() does is to call getnstimeofday() and to convert the result from timespec{} to timeval{}. We do not always need timeval{} and we can convert timespec{} when we really need (to print). Signed-off-by: YOSHIFUJI Hideaki Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 633d424bf33dab99e77b36210fbd1b996e7823df Author: Pavel Emelyanov Date: Mon Apr 21 14:25:23 2008 -0700 [NETNS]: Don't initialize err variable twice. The ip6_route_net_init() performs some unneeded actions. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 2aed2827dfc2e7d2e385fc1580529a8fc7f33d47 Author: Pavel Emelyanov Date: Mon Apr 21 14:23:03 2008 -0700 [NETNS]: The ip6_fib_timer can work with garbage on net namespace stop. The del_timer() function doesn't guarantee, that the timer callback is not active by the time it exits. Thus, the fib6_net_exit() may kfree() all the data, that is required by the fib6_run_gc(). The race window is tiny, but slab poisoning can trigger this bug. Using del_timer_sync() will cure this. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit fc215fe7e6f0420afee0e0987fcc311929ee662f Author: Kumar Gala Date: Mon Apr 21 14:09:44 2008 -0500 [POWERPC] ppc32: Fix errata for 603 CPUs 603 CPUs have the same issue that some 750 CPUs have in that they can crash in funny ways if a store from an FPU register instruction is executed on a register that has never been initialized since power on. This patch fixes it by making sure all FP registers have been properly initialized at kernel boot. Signed-off-by: Kumar Gala commit c1c76743e98346eb052b707f0e054377a09441d1 Author: Mike Frysinger Date: Mon Apr 21 11:35:39 2008 -0500 dlm: linux/{dlm,dlm_device}.h: cleanup for userspace linux/dlm_device.h uses types from dlm.h and types.h, so pull them in. The dlm.h header should use __u## rather than uint##_t types and thus pull in linux/types.h for it. Signed-off-by: Mike Frysinger Signed-off-by: David Teigland commit 3d564fa3472d36cd6aa70514c37b8bbbec5b17ab Author: David Teigland Date: Mon Apr 14 14:06:29 2008 -0500 dlm: common max length definitions Add central definitions for max lockspace name length and max resource name length. The lack of central definitions has resulted in scattered private definitions which we can now clean up, including an unused one in dlm_device.h. Signed-off-by: David Teigland commit 2402211a8389282fd2942fad4511f02c0eeeffc5 Author: David Teigland Date: Fri Mar 14 15:09:15 2008 -0500 dlm: move plock code from gfs2 Move the code that handles cluster posix locks from gfs2 into the dlm so that it can be used by both gfs2 and ocfs2. Signed-off-by: David Teigland commit d44e0fc704143624b3e88fbf8fbcfda7a83fd299 Author: David Teigland Date: Tue Mar 18 14:22:11 2008 -0500 dlm: recover nodes that are removed and re-added If a node is removed from a lockspace, and then added back before the dlm is notified of the removal, the dlm will not detect the removal and won't clear the old state from the node. This is fixed by using a list of added nodes so the membership recovery can detect when a newly added node is already in the member list. Signed-off-by: David Teigland commit 761b9d3ffc953c24ceb55d8e12ff7e02b17e0484 Author: David Teigland Date: Thu Feb 21 11:25:42 2008 -0600 dlm: save master info after failed no-queue request When a NOQUEUE request fails, the rsb res_master field is unnecessarily reset to -1, instead of leaving the valid master setting in place. We want to save the looked-up master values while the rsb is on the "toss list" so that another lookup can be avoided if the rsb is soon reused. The fix is to simply leave res_master value alone. Signed-off-by: David Teigland commit 170e19ab2900b7c959d7a0e627fd12f383efcfa1 Author: Adrian Bunk Date: Wed Feb 13 23:29:38 2008 +0200 dlm: make dlm_print_rsb() static dlm_print_rsb() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: David Teigland commit 5416b704aef0b7350073421f4f6ac1a21bc213e7 Author: Harvey Harrison Date: Wed Feb 13 16:54:29 2008 -0800 dlm: match signedness between dlm_config_info and cluster_set cluster_set is only called from the macro CLUSTER_ATTR which defines read/write access functions. Make the signedness match to avoid sparse warnings every time CLUSTER_ATTR is used (lines 149-159) all of the form: fs/dlm/config.c:149:1: warning: incorrect type in argument 3 (different signedness) fs/dlm/config.c:149:1: expected unsigned int *info_field fs/dlm/config.c:149:1: got int extern [toplevel] * Signed-off-by: Harvey Harrison Signed-off-by: David Teigland commit cc216c5d429892872f70f76975e243aef7ad9db1 Author: Linus Torvalds Date: Sun Apr 20 21:59:13 2008 -0700 Fix RCU list iterator use of 'rcu_dereference()' The RCU iterators used 'rcu_dereference()' on an already-fetched RCU pointer value, which defeats the whole point of the exercise. When we dereference a pointer protected by RCU, we need to make sure that we only fetch the value _once_, because if the compiler ends up re-loading it due to register pressure, the newly reloaded value could be different from the previously fetched one, and you get inconsistent results. Cleaned-up, fixed, and the pointless list_for_each_safe_rcu #define deleted by Paul Kenney. Acked-by: Herbert Xu Signed-off-by: Paul E. McKenney Signed-off-by: Linus Torvalds commit 87c448c2f2dd734910617274637e726c82d0af25 Author: Kumar Gala Date: Sat Apr 19 10:48:34 2008 -0500 [PPC] Remove mpc885ads and mpc86x ads boards from arch/ppc We have a board port in arch/powerpc so we dont need this one anymore. Signed-off-by: Kumar Gala commit 546be91915a17e4faa9df91caa3ace0c92efa3ab Author: Kumar Gala Date: Sat Apr 19 10:41:43 2008 -0500 [PPC] Remove mpc8272 ads board from arch/ppc We have a board port in arch/powerpc so we dont need this one anymore. Signed-off-by: Kumar Gala commit 99b56cad8d64279c075b4e1b0ca28347e3c5267a Author: Russell King Date: Mon Apr 21 09:50:25 2008 +0100 [ARM] pxa: fix 0e623941bec7e80c97b076d346327b31ae17d84a Place the dependency against the correct config symbol. Signed-off-by: Russell King commit ee008b4cdfb7082e1a57d63911d39bed0817d7d4 Author: Philipp Zabel Date: Sun Apr 20 17:41:11 2008 +0100 [ARM] 5009/1: magician: remove to-be-deprecated defines for pxa_gpio_mode Alternate function and direction setting is now handled by the MFP config code or the generic GPIO API. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 2f131958efb62535f85915776e434de74d5eb274 Author: Philipp Zabel Date: Sun Apr 20 17:40:11 2008 +0100 [ARM] 5008/1: magician: add magician specific input GPIOs to MFP config Some input pin configuration that is not handled by drivers. This should serve mostly as documentation. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit a1999cd1c1c9230c850379f59525c4a585191ed5 Author: Philipp Zabel Date: Sun Apr 20 17:39:12 2008 +0100 [ARM] 5007/1: magician: properly request GPIOs used by the machine code itself Registers some GPIOs used in magician.c with the GPIO API. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit a393c46b493de18242105c7f7e713822d179a717 Author: Jaya Kumar Date: Sun Apr 20 07:25:00 2008 +0100 [ARM] 5006/1: Gumstix GPIO header fixup and defconfig fixup This patch adds the include of the GPIO header needed to make gumstix build. The defconfig is updated to 2.6.25 and disables PCMCIA since that has not yet been implemented for gumstix. Signed-off-by: Jaya Kumar Signed-off-by: Russell King commit f25c3d613b12b4b6219d03e9930cac5f59541468 Author: YOSHIFUJI Hideaki Date: Mon Apr 21 02:34:08 2008 -0700 [IPV4]: Convert do_gettimeofday() to getnstimeofday(). What do_gettimeofday() does is to call getnstimeofday() and to convert the result from timespec{} to timeval{}. After that, these callers convert the result again to msec. Use getnstimeofday() and convert the units at once. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 263173af5b4635c07dd862255e5b767cd429c640 Author: Adrian Bunk Date: Mon Apr 21 02:31:23 2008 -0700 [IPV4]: Make icmp_sk_init() static. This patch makes the needlessly global icmp_sk_init() static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 280a34c87fe07cb15df19bd798b23740223350fb Author: Adrian Bunk Date: Mon Apr 21 02:29:32 2008 -0700 [IPV6]: Make struct ip6_prohibit_entry_template static. This patch makes the needlessly global struct ip6_prohibit_entry_template static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 1f29b0584dcb695589407a11bb7533fe21fa47c4 Author: Satoru SATOH Date: Mon Apr 21 02:27:58 2008 -0700 tcp: Trivial fix to correct function name in a comment in net/ipv4/tcp.c This is a trivial fix to correct function name in a comment in net/ipv4/tcp.c. Signed-off-by: Satoru SATOH Signed-off-by: David S. Miller commit 95fff33b8e306a4331024bbd31c0999d5bf48fcf Author: Eric Paris Date: Thu Apr 17 14:42:10 2008 -0400 SELinux: one little, two little, three little whitespaces, the avc.c saga. avc.c was bad. It had whitespace and syntax issues which are against our coding style. I have had a little chat with it and the result of that conversation looked like this patch. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 1872981b51dac9d1f5bcae17803bf368f7fa19cd Author: Eric Paris Date: Thu Apr 17 14:15:45 2008 -0400 SELinux: cleanup on isle selinuxfs.c Why would anyone just clean up white space all day? Because they were out too late last night and don't want to think for a day. So here is a nice clean selinuxfs.c patch. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 2ced3dfd3148fd8e2170ff06d6f72fd9f2f7b639 Author: Eric Paris Date: Thu Apr 17 13:37:12 2008 -0400 changing whitespace for fun and profit: policydb.c More formatting changes. Aside from the 80 character line limit even the checkpatch scripts like this file now. Too bad I don't get paid by the lines of code I change. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 828dfe1da54fce81f80f97275353ba33be09a76e Author: Eric Paris Date: Thu Apr 17 13:17:49 2008 -0400 SELinux: whitespace and formating fixes for hooks.c All whitespace and formatting. Nothing interesting to see here. About the only thing to remember is that we aren't supposed to initialize static variables to 0/NULL. It is done for us and doing it ourselves puts them in a different section. With this patch running checkpatch.pl against hooks.c only gives us complaints about busting the 80 character limit and declaring extern's in .c files. Apparently they don't like it, but I don't feel like going to the trouble of moving those to .h files... Signed-off-by: Eric Paris Signed-off-by: James Morris commit 744ba35e455b0d5cf4f85208a8ca0edcc9976b95 Author: Eric Paris Date: Thu Apr 17 11:52:44 2008 -0400 SELinux: clean up printks Make sure all printk start with KERN_* Make sure all printk end with \n Make sure all printk have the word 'selinux' in them Change "function name" to "%s", __func__ (found 2 wrong) Signed-off-by: Eric Paris Signed-off-by: James Morris commit 11670889380b144adfa5a91dc184c8f6300c4b28 Author: Eric Paris Date: Fri Apr 18 17:38:34 2008 -0400 SELinux: sidtab.c whitespace, syntax, and static declaraction cleanups This patch changes sidtab.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 5d55a345c09ef1708bd341395792931a66306ba6 Author: Eric Paris Date: Fri Apr 18 17:38:33 2008 -0400 SELinux: services.c whitespace, syntax, and static declaraction cleanups This patch changes services.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 1a5e6f8729266154f34c84d25bb83942f99ba002 Author: Eric Paris Date: Fri Apr 18 17:38:32 2008 -0400 SELinux: mls.c whitespace, syntax, and static declaraction cleanups This patch changes mls.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 719a2f8e5f7b07a3be0d59fdc6edeb8120653918 Author: Eric Paris Date: Fri Apr 18 17:38:31 2008 -0400 SELinux: hashtab.c whitespace, syntax, and static declaraction cleanups This patch changes hashtab.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 7696ee80ac037959fc708156255d1bfec1f9ad70 Author: Eric Paris Date: Fri Apr 18 17:38:30 2008 -0400 SELinux: ebitmap.c whitespace, syntax, and static declaraction cleanups This patch changes ebitmap.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 7c2b240ef2ae05a0081b4004176fd5838cecc4f6 Author: Eric Paris Date: Fri Apr 18 17:38:29 2008 -0400 SELinux: conditional.c whitespace, syntax, and static declaraction cleanups This patch changes conditional.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit eb5df9a7ae794a7e352e0582011e9e2b586051b5 Author: Eric Paris Date: Fri Apr 18 17:38:28 2008 -0400 SELinux: avtab.c whitespace, syntax, and static declaraction cleanups This patch changes avtab.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 3c1c88ab8ad8d1f7db74f719f2649a070190fd5e Author: Eric Paris Date: Fri Apr 18 17:38:27 2008 -0400 SELinux: xfrm.c whitespace, syntax, and static declaraction cleanups This patch changes xfrm.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit bfff3aa49765eb10053b58ee220949cfcc7a1a80 Author: Eric Paris Date: Fri Apr 18 17:38:26 2008 -0400 SELinux: nlmsgtab.c whitespace, syntax, and static declaraction cleanups This patch changes nlmsgtab.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 7b6b239c805ab372145c8a43ffa25529923d2658 Author: Eric Paris Date: Fri Apr 18 17:38:25 2008 -0400 SELinux: netnode.c whitespace, syntax, and static declaraction cleanups This patch changes netnode.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit c544c028e45feceeb48b629456d0eb43adc8eaaf Author: Eric Paris Date: Fri Apr 18 17:38:24 2008 -0400 SELinux: netlink.c whitespace, syntax, and static declaraction cleanups This patch changes netlink.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit a6aaafeecca7ea1ddb5d7dac09e468ae14751fcd Author: Eric Paris Date: Fri Apr 18 17:38:23 2008 -0400 SELinux: netlabel.c whitespace, syntax, and static declaraction cleanups This patch changes netlabel.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 338366cbba686a06f9e17f33c31d533901e8639f Author: Eric Paris Date: Fri Apr 18 17:38:22 2008 -0400 SELinux: netif.c whitespace, syntax, and static declaraction cleanups This patch changes netif.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis location of { around structs and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit fb199746303a6bfd6121834ec9e810471185c530 Author: Akinobu Mita Date: Mon Apr 21 09:51:06 2008 +0200 block: fix blk_register_queue() return value blk_register_queue() returns -ENXIO when queue->request_fn is NULL. But there are some block drivers that call blk_register_queue() via add_disk() with queue->request_fn == NULL. (For example, brd, loop) Although no one checks return value of blk_register_queue(), this patch makes it return 0 instead of -ENXIO when queue->request_fn is NULL, Also this patch adds warning when blk_register_queue() and blk_unregister_queue() are called with queue == NULL rather than ignore invalid usage silently. Signed-off-by: Akinobu Mita Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 2472892a3ce17b177cc0d8099a6391949c75abf2 Author: Andi Kleen Date: Mon Apr 21 09:51:05 2008 +0200 block: fix memory hotplug and bouncing in block layer Only noticed this while hacking something else, no test case. blk_max_low_pfn is initialized once at bootup by the block layer from max_low_pfn. But max_low_pfn is not necessarily constant over the runtime of the system when you consider memory hotplug. What could happen if that someone adds memory later the block layer wouldn't get updated and then start bouncing memory unnecessarily. Also on 64bit blk_max_low_pfn actually isn't needed because it just disables bouncing essentially and there is no highmem. And nobody can pass pfns > max_low_pfn to the block layer, because those wouldn't have a struct page and I suspect block layer wouldn't be very happy without that. So set BLK_BOUNCE_HIGH to infinity (-1ULL) on 64bit. That avoids the problem of having to update it on memory hotadd. On 32bit I kept the same behaviour because at least on i386 memory hotadd only adds HIGHMEM, never lowmem. BLK_BOUNCE_ANY is always set to infinity on both 32 and 64bit. Signed-off-by: Andi Kleen Cc: Jens Axboe Acked-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit cece933994428974f7a0ee1e8843ba5bd0b18563 Author: Harvey Harrison Date: Mon Apr 21 09:51:04 2008 +0200 block: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit ee86418d39f28dd10d27c9d7906d8c26c1293e69 Author: Nick Andrew Date: Mon Apr 21 09:51:04 2008 +0200 Kconfig: clean up block/Kconfig help descriptions Modify the help descriptions of block/Kconfig for clarity, accuracy and consistency. Refactor the BLOCK description a bit. The wording "This permits ... to be removed" isn't quite right; the block layer is removed when the option is disabled, whereas most descriptions talk about what happens when the option is enabled. Reformat the list of what is affected by disabling the block layer. Add more examples of large block devices to LBD and strive for technical accuracy; block devices of size _exactly_ 2TB require CONFIG_LBD, not only "bigger than 2TB". Also try to say (perhaps not very clearly) that the config option is only needed when you want to have individual block devices of size >= 2TB, for example if you had 3 x 1TB disks in your computer you'd have a total storage size of 3TB but you wouldn't need the option unless you want to aggregate those disks into a RAID or LVM. Improve terminology and grammar on BLK_DEV_IO_TRACE. I also added the boilerplate "If unsure, say N" to most options. Precisely say "2TB and larger" for LSF. Indent the help text for BLK_DEV_BSG by 2 spaces in accordance with the standard. Signed-off-by: Nick Andrew Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 6195057f5809e93cdb1ec733f7b9c87fe2212f98 Author: scameron@beardog.cca.cpqcorp.net Date: Thu Apr 17 13:19:04 2008 +0200 cciss: fix warning oops on rmmod of driver * Fix oops on cciss rmmod due to calling pci_free_consistent with irqs disabled. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit e14ac67026b46e94478134df9521682fc6501ac0 Author: scameron@beardog.cca.cpqcorp.net Date: Thu Apr 17 13:19:03 2008 +0200 cciss: Fix race between disk-adding code and interrupt handler Fix race condition between cciss_init_one(), cciss_update_drive_info(), and cciss_check_queues(). Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit f18573abcc57844a7c3c12699d40eead8728cd8a Author: FUJITA Tomonori Date: Fri Apr 11 12:56:52 2008 +0200 block: move the padding adjustment to blk_rq_map_sg blk_rq_map_user adjusts bi_size of the last bio. It breaks the rule that req->data_len (the true data length) is equal to sum(bio). It broke the scsi command completion code. commit e97a294ef6938512b655b1abf17656cf2b26f709 was introduced to fix the above issue. However, the partial completion code doesn't work with it. The commit is also a layer violation (scsi mid-layer should not know about the block layer's padding). This patch moves the padding adjustment to blk_rq_map_sg (suggested by James). The padding works like the drain buffer. This patch breaks the rule that req->data_len is equal to sum(sg), however, the drain buffer already broke it. So this patch just restores the rule that req->data_len is equal to sub(bio) without breaking anything new. Now when a low level driver needs padding, blk_rq_map_user and blk_rq_map_user_iov guarantee there's enough room for padding. blk_rq_map_sg can safely extend the last entry of a scatter list. blk_rq_map_sg must extend the last entry of a scatter list only for a request that got through bio_copy_user_iov. This patches introduces new REQ_COPY_USER flag. Signed-off-by: FUJITA Tomonori Cc: Tejun Heo Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit afdc1a780ef84a54b613dae6f971407748aab61c Author: FUJITA Tomonori Date: Fri Apr 11 12:56:51 2008 +0200 block: add bio_copy_user_iov support to blk_rq_map_user_iov With this patch, blk_rq_map_user_iov uses bio_copy_user_iov when a low level driver needs padding or a buffer in sg_iovec isn't aligned. That is, it uses temporary kernel buffers instead of mapping user pages directly. When a LLD needs padding, later blk_rq_map_sg needs to extend the last entry of a scatter list. bio_copy_user_iov guarantees that there is enough space for padding by using temporary kernel buffers instead of user pages. blk_rq_map_user_iov needs buffers in sg_iovec to be aligned. The comment in blk_rq_map_user_iov indicates that drivers/scsi/sg.c also needs buffers in sg_iovec to be aligned. Actually, drivers/scsi/sg.c works with unaligned buffers in sg_iovec (it always uses temporary kernel buffers). Signed-off-by: FUJITA Tomonori Cc: Tejun Heo Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit c5dec1c3034f1ae3503efbf641ff3b0273b64797 Author: FUJITA Tomonori Date: Fri Apr 11 12:56:49 2008 +0200 block: convert bio_copy_user to bio_copy_user_iov This patch enables bio_copy_user to take struct sg_iovec (renamed bio_copy_user_iov). bio_copy_user uses bio_copy_user_iov internally as bio_map_user uses bio_map_user_iov. The major changes are: - adds sg_iovec array to struct bio_map_data - adds __bio_copy_iov that copy data between bio and sg_iovec. bio_copy_user_iov and bio_uncopy_user use it. Signed-off-by: FUJITA Tomonori Cc: Tejun Heo Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit 476a4813cfddf7cf159956cc0e2d3c830c1507e3 Author: Laurent Vivier Date: Wed Mar 26 12:11:53 2008 +0100 loop: manage partitions in disk image This patch allows to use loop device with partitionned disk image. Original behavior of loop is not modified. A new parameter is introduced to define how many partition we want to be able to manage per loop device. This parameter is "max_part". For instance, to manage 63 partitions / loop device, we will do: # modprobe loop max_part=63 # ls -l /dev/loop?* brw-rw---- 1 root disk 7, 0 2008-03-05 14:55 /dev/loop0 brw-rw---- 1 root disk 7, 64 2008-03-05 14:55 /dev/loop1 brw-rw---- 1 root disk 7, 128 2008-03-05 14:55 /dev/loop2 brw-rw---- 1 root disk 7, 192 2008-03-05 14:55 /dev/loop3 brw-rw---- 1 root disk 7, 256 2008-03-05 14:55 /dev/loop4 brw-rw---- 1 root disk 7, 320 2008-03-05 14:55 /dev/loop5 brw-rw---- 1 root disk 7, 384 2008-03-05 14:55 /dev/loop6 brw-rw---- 1 root disk 7, 448 2008-03-05 14:55 /dev/loop7 And to attach a raw partitionned disk image, the original losetup is used: # losetup -f etch.img # ls -l /dev/loop?* brw-rw---- 1 root disk 7, 0 2008-03-05 14:55 /dev/loop0 brw-rw---- 1 root disk 7, 1 2008-03-05 14:57 /dev/loop0p1 brw-rw---- 1 root disk 7, 2 2008-03-05 14:57 /dev/loop0p2 brw-rw---- 1 root disk 7, 5 2008-03-05 14:57 /dev/loop0p5 brw-rw---- 1 root disk 7, 64 2008-03-05 14:55 /dev/loop1 brw-rw---- 1 root disk 7, 128 2008-03-05 14:55 /dev/loop2 brw-rw---- 1 root disk 7, 192 2008-03-05 14:55 /dev/loop3 brw-rw---- 1 root disk 7, 256 2008-03-05 14:55 /dev/loop4 brw-rw---- 1 root disk 7, 320 2008-03-05 14:55 /dev/loop5 brw-rw---- 1 root disk 7, 384 2008-03-05 14:55 /dev/loop6 brw-rw---- 1 root disk 7, 448 2008-03-05 14:55 /dev/loop7 # mount /dev/loop0p1 /mnt # ls /mnt bench cdrom home lib mnt root srv usr bin dev initrd lost+found opt sbin sys var boot etc initrd.img media proc selinux tmp vmlinuz # umount /mnt # losetup -d /dev/loop0 Of course, the same behavior can be done using kpartx on a loop device, but modifying loop avoids to stack several layers of block device (loop + device mapper), this is a very light modification (40% of modifications are to manage the new parameter). Signed-off-by: Laurent Vivier Signed-off-by: Jens Axboe commit 22a9189fd073db3d03a4cf8b8c098aa207602de1 Author: Thomas Bogendoerfer Date: Wed Mar 26 12:09:38 2008 +0100 cdrom: use kmalloced buffers instead of buffers on stack If cdrom commands are issued to a scsi drive in most cases the buffer will be filled via dma. This leads to bad stack corruption on non coherent platforms, because the buffers are neither cache line aligned nor is the size a multiple of the cache line size. Using kmalloced buffers avoids this. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jens Axboe commit 0a0c4114df4a6903bccb65b06cabb6ddc968f877 Author: Akinobu Mita Date: Wed Mar 26 12:09:02 2008 +0100 cdrom: make unregister_cdrom() return void Now unregister_cdrom() always returns 0. Make it return void and update all callers that check the return value. Signed-off-by: Akinobu Mita Cc: Adrian McMenamin Cc: Borislav Petkov Signed-off-by: Jens Axboe commit 7fd097d42b90afadae4867db5d580bcd7b3b596d Author: Akinobu Mita Date: Wed Mar 26 12:09:02 2008 +0100 cdrom: use list_head for cdrom_device_info list Use list_head for cdrom_device_info list instead of opencoded singly list handling. Signed-off-by: Akinobu Mita Signed-off-by: Jens Axboe commit 032d8d90ba23e1770604bbb1102ec77f5aa8ae44 Author: Akinobu Mita Date: Wed Mar 26 12:09:01 2008 +0100 cdrom: protect cdrom_device_info list by mutex This patch protects the list of cdrom_device_info by cdrom_mutex when the file in /proc/sys/dev/cdrom/ is written. Signed-off-by: Akinobu Mita Signed-off-by: Jens Axboe commit 3c3f4e012ab3471e8bd19220ed897ae9700e5fdd Author: Akinobu Mita Date: Wed Mar 26 12:09:00 2008 +0100 cdrom: cleanup hardcoded error-code This patch eliminates hardcoded return value of register_cdrom(). It also changes the return value to -EINVAL. It is more appropriate than -2 (-ENOENT) because it is only happen invalid usage of register_cdrom() by broken cdrom driver. Signed-off-by: Akinobu Mita Signed-off-by: Jens Axboe commit 17672cf0a7cec57dea4c2a6705bd73114d5e9265 Author: Akinobu Mita Date: Wed Mar 26 12:08:59 2008 +0100 cdrom: remove ifdef CONFIG_SYSCTL This patch removes #ifdef for CONFIG_SYSCTL by defining empty cdrom_sysctl_register and cdrom_sysctl_unregister when CONFIG_SYSCTL is not defined. Signed-off-by: Akinobu Mita Signed-off-by: Jens Axboe commit 259aae864ceeb2b34e7bafa1ce18d096a357fab2 Author: Thomas Gleixner Date: Sat Apr 19 21:31:26 2008 +0200 hrtimer: optimize the softirq time optimization The previous optimization did not take the case into account where a clock provides its own softirq_get_time() function. Check for the availablitiy of the clock get time function first and then check if we need to retrieve the time for both clocks via hrtimer_softirq_gettime() to avoid a double evaluation of time in that case as well. Signed-off-by: Thomas Gleixner commit 833883d9ac4cfb31c1c4419335e68e6895a05b6b Author: Dimitri Sivanich Date: Fri Apr 18 13:39:00 2008 -0700 hrtimer: reduce calls to hrtimer_get_softirq_time() It seems that hrtimer_run_queues() is calling hrtimer_get_softirq_time() more often than it needs to. This can cause frequent contention on systems with large numbers of processors/cores. With this patch, hrtimer_run_queues only calls hrtimer_get_softirq_time() if there is a pending timer in one of the hrtimer bases, and only once. This also combines hrtimer_run_queues() and the inline run_hrtimer_queue() into one function. [ tglx@linutronix.de: coding style ] Signed-off-by: Dimitri Sivanich Cc: Peter Zijlstra Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 833df317f9ada91488898b005f4641bb674a3bae Author: Glauber Costa Date: Fri Apr 18 13:38:58 2008 -0700 clockevents: fix typo in tick-broadcast.c braodcast -> broadcast Signed-off-by: Glauber Costa Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 3f34d024c12e49fbce4009d094ae1d287084e511 Author: Dave Young Date: Fri Apr 18 13:38:57 2008 -0700 jiffies: add time_is_after_jiffies and others which compare with jiffies Most of time_after like macros usages just compare jiffies and another number, so here add some time_is_* macros for convenience. Signed-off-by: Dave Young Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit af40b485ea2d957ae2f237ab0e33539ae8f29562 Author: Greg Kroah-Hartman Date: Thu Apr 17 10:22:27 2008 -0700 PCI: Change PCI subsystem MAINTAINER Jesse foolishly volunteered to handle PCI patches. Update MAINTAINERS to reflect this. Woho! Time to kick back and relax... Signed-off-by: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit 80b20dd853a2b00802e6254dc9f690f0da1a925c Author: mark gross Date: Fri Apr 18 13:53:58 2008 -0700 PCI: pci-iommu-iotlb-flushing-speedup The following patch is an update to use an array instead of a list of IOVA's in the implementation of defered iotlb flushes. It takes inspiration from sba_iommu.c I like this implementation better as it encapsulates the batch process within intel-iommu.c, and no longer touches iova.h (which is shared) Performance data: Netperf 32byte UDP streaming 2.6.25-rc3-mm1: IOMMU-strict : 58Mps @ 62% cpu NO-IOMMU : 71Mbs @ 41% cpu List-based IOMMU-default-batched-IOTLB flush: 66Mbps @ 57% cpu with this patch: IOMMU-strict : 73Mps @ 75% cpu NO-IOMMU : 74Mbs @ 42% cpu Array-based IOMMU-default-batched-IOTLB flush: 72Mbps @ 62% cpu Signed-off-by: Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a391f19717984a8f70756b29074298f379fcfdbc Author: Adrian Bunk Date: Fri Apr 18 13:53:57 2008 -0700 PCI: pci_setup_bridge() mustn't be __devinit WARNING: drivers/pci/built-in.o(.text+0x28ee9): Section mismatch in reference from the function pci_bus_assign_resources() to the function .devinit.text:pci_setup_bridge() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 5468ae617035f06ae1e07c264d6cdfcd721b539f Author: Adrian Bunk Date: Fri Apr 18 13:53:56 2008 -0700 PCI: pci_bus_size_cardbus() mustn't be __devinit WARNING: drivers/pci/built-in.o(.text+0x28e1f): Section mismatch in reference from the function pci_bus_size_bridges() to the function .devinit.text:pci_bus_size_cardbus() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 7f7b5de2c0e10aa35ad9909edb1af9f2aed2f5d0 Author: Adrian Bunk Date: Fri Apr 18 13:53:55 2008 -0700 PCI: pci_scan_device() mustn't be __devinit WARNING: drivers/pci/built-in.o(.text+0x150f): Section mismatch in reference from the function pci_scan_single_device() to the function .devinit.text:pci_scan_device() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit cbd4e055fc8f09db82d31a5ff6cec3c083cc97a8 Author: Adrian Bunk Date: Fri Apr 18 13:53:55 2008 -0700 PCI: pci_alloc_child_bus() mustn't be __devinit WARNING: drivers/pci/built-in.o(.text+0xc4c): Section mismatch in reference from the function pci_add_new_bus() to the function .devinit.text:pci_alloc_child_bus() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 66bef8c059015ba2b36bb5759080336feb01e680 Author: Harvey Harrison Date: Mon Mar 3 19:09:46 2008 -0800 PCI: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit ca99eb8c2d56bdfff0161388b81e641f4e039b3f Author: Trent Piepho Date: Mon Apr 7 16:04:16 2008 -0700 PCI: Hotplug: fakephp: Return success, not ENODEV, when bus rescan is triggered The 'power' attribute of the fakephp driver originally only let one turn a slot off. If one tried to turn a slot on (echo 1 > .../power), it would return ENODEV, as fakephp did not support this function. An old (pre-git) patch changed this: 2004/11/11 16:33:31-08:00 jdittmer [PATCH] fakephp: add pci bus rescan ability http://article.gmane.org/gmane.linux.kernel/251183 Now writing "1" to the power attribute has the effect of triggering a bus rescan, but it still returns ENODEV, probably an oversight in the above patch. Using the BusyBox echo will not produce an error message, but will trigger *two* bus rescans (and return an exit code of 1): ~ # strace echo -n 1 > /sys/bus/pci/slots/0000:00:00.0/power ... write(1, "1", 1) = -1 ENODEV (No such device) write(1, "1", 1) = -1 ENODEV (No such device) exit(1) = ? Using cp gives a write error, even though the write did happen and a rescan was triggered: ~ # echo -n 1 > tmp ; cp tmp /sys/bus/pci/slots/0000:00:00.0/power cp: Write Error: No such device It seems much better to return success instead of failure. The actual status of the bus rescan is hard to return. It happens asynchronously in a work thread, so the sysfs store functions returns before any status is ready (the whole point of the work queue). And even if it didn't do this, the rescan doesn't have any clear status to return. Signed-off-by: Trent Piepho CC: Jan Dittmer Signed-off-by: Greg Kroah-Hartman commit 029c3c133ba2c3e0e48fdfacc08324bb3fa2a571 Author: Jesper Juhl Date: Sat Mar 22 00:07:13 2008 +0100 PCI: Hotplug: Fix leaks in IBM Hot Plug Controller Driver - ibmphp_init_devno() In drivers/pci/hotplug/ibmphp_core.c::ibmphp_init_devno() we allocate space dynamically for a PCI irq routing table by calling pcibios_get_irq_routing_table(), but we never free the allocated space. This patch frees the allocated space at the function exit points. Spotted by the Coverity checker. Compile tested only. Please consider applying. Signed-off-by: Jesper Juhl Signed-off-by: Greg Kroah-Hartman commit 884525655d07fdee9245716b998ecdc45cdd8007 Author: Ivan Kokshaysky Date: Sun Mar 30 19:50:14 2008 +0400 PCI: clean up resource alignment management Done per Linus' request and suggestions. Linus has explained that better than I'll be able to explain: On Thu, Mar 27, 2008 at 10:12:10AM -0700, Linus Torvalds wrote: > Actually, before we go any further, there might be a less intrusive > alternative: add just a couple of flags to the resource flags field (we > still have something like 8 unused bits on 32-bit), and use those to > implement a generic "resource_alignment()" routine. > > Two flags would do it: > > - IORESOURCE_SIZEALIGN: size indicates alignment (regular PCI device > resources) > > - IORESOURCE_STARTALIGN: start field is alignment (PCI bus resources > during probing) > > and then the case of both flags zero (or both bits set) would actually be > "invalid", and we would also clear the IORESOURCE_STARTALIGN flag when we > actually allocate the resource (so that we don't use the "start" field as > alignment incorrectly when it no longer indicates alignment). > > That wouldn't be totally generic, but it would have the nice property of > automatically at least add sanity checking for that whole "res->start has > the odd meaning of 'alignment' during probing" and remove the need for a > new field, and it would allow us to have a generic "resource_alignment()" > routine that just gets a resource pointer. Besides, I removed IORESOURCE_BUS_HAS_VGA flag which was unused for ages. Signed-off-by: Ivan Kokshaysky Cc: Linus Torvalds Cc: Gary Hade Signed-off-by: Greg Kroah-Hartman commit d75b305295c38ba9610ff3b2200f7d1989dc55fd Author: Adrian Bunk Date: Mon Mar 31 01:41:01 2008 +0300 PCI: aerdrv_acpi.c: remove unneeded NULL check There's no reason for checking pdev->bus for being NULL here (and we'd anyway Oops 3 lines below if it was). Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit bc043274560f398225dad7f0e24c6a7610d3c08a Author: Tim Yamin Date: Sun Mar 30 20:58:59 2008 +0100 PCI: Update VIA CX700 quirk This follows up 53a9bf4267b8b1f958dbeb7c8c1ef21c82229b71. Some newer CX700 BIOSes from our vendor have PCI Bus Parking disabled but PCI Master read caching enabled. This creates problems such as system freezing when both the network controller and the USB controller are active and one of them is pretty busy (e.g. heavy network traffic). This patch separates the checks and both the bus parking and the read caching are disabled independently if either is enabled by the BIOS. Signed-off-by: Tim Yamin Signed-off-by: Greg Kroah-Hartman commit 94e6108803469a37ee1e3c92dafdd1d59298602f Author: Ben Hutchings Date: Wed Mar 5 16:52:39 2008 +0000 PCI: Expose PCI VPD through sysfs Vital Product Data (VPD) may be exposed by PCI devices in several ways. It is generally unsafe to read this information through the existing interfaces to user-land because of stateful interfaces. This adds: - abstract operations for VPD access (struct pci_vpd_ops) - VPD state information in struct pci_dev (struct pci_vpd) - an implementation of the VPD access method specified in PCI 2.2 (in access.c) - a 'vpd' binary file in sysfs directories for PCI devices with VPD operations defined It adds a probe for PCI 2.2 VPD in pci_scan_device() and release of VPD state in pci_release_dev(). Signed-off-by: Ben Hutchings Signed-off-by: Greg Kroah-Hartman commit 5e0d2a6fc094a9b5047998deefeb1254c66856ee Author: mark gross Date: Tue Mar 4 15:22:08 2008 -0800 PCI: iommu: iotlb flushing This patch is for batching up the flushing of the IOTLB for the DMAR implementation found in the Intel VT-d hardware. It works by building a list of to be flushed IOTLB entries and a bitmap list of which DMAR engine they are from. After either a high water mark (250 accessible via debugfs) or 10ms the list of iova's will be reclaimed and the DMAR engines associated are IOTLB-flushed. This approach recovers 15 to 20% of the performance lost when using the IOMMU for my netperf udp stream benchmark with small packets. It can be disabled with a kernel boot parameter "intel_iommu=strict". Its use does weaken the IOMMU protections a bit. Signed-off-by: Mark Gross Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0255f543d9888fb5c5fbcd265ca2eee2d6ecff6a Author: Bjorn Helgaas Date: Tue Mar 4 15:22:07 2008 -0800 PCI: simplify quirk debug output print_fn_descriptor_symbol() prints the address if we don't have a symbol, so no need to print both. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit ddf02886cbe665d67ca750750196ea5bf524b10b Author: mark gross Date: Tue Mar 4 15:22:04 2008 -0800 PCI: iova RB tree setup tweak The following patch merges two functions into one allowing for a 3% reduction in overhead in locating, allocating and inserting pages for use in IOMMU operations. Its a bit of a eye-crosser so I welcome any RB-tree / MM experts to take a look. It works by re-using some of the information gathered in the search for the pages to use in setting up the IOTLB's in the insertion of the iova structure into the RB tree. Signed-off-by: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit c9e9e0bfc52ae93c246149c3b9d3a1e11677ca1a Author: Bjorn Helgaas Date: Tue Mar 4 11:56:55 2008 -0700 PCI: parisc: use generic pci_enable_resources() Use the generic pci_enable_resources() instead of the arch-specific code. Unlike this arch-specific code, the generic version: - checks PCI_NUM_RESOURCES (11), not DEVICE_COUNT_RESOURCE (12), resources - skips resources that have neither IORESOURCE_IO nor IORESOURCE_MEM set - skips ROM resources unless IORESOURCE_ROM_ENABLE is set - checks for resource collisions with "!r->parent" Signed-off-by: Bjorn Helgaas Acked-by: Kyle McMartin Signed-off-by: Greg Kroah-Hartman commit e789920d0497bb3d7eb146382b9ca8137662fabb Author: Bjorn Helgaas Date: Tue Mar 4 11:56:57 2008 -0700 PCI: ppc: use generic pci_enable_resources() Use the generic pci_enable_resources() instead of the arch-specific code. Unlike this arch-specific code, the generic version: - checks PCI_NUM_RESOURCES (11), not 6, resources - skips resources that have neither IORESOURCE_IO nor IORESOURCE_MEM set - skips ROM resources unless IORESOURCE_ROM_ENABLE is set - checks for resource collisions with "!r->parent", not IORESOURCE_UNSET Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit 7cfb5f9aaec6f0fc45ff323841e6d62f67e7ffad Author: Bjorn Helgaas Date: Tue Mar 4 11:56:56 2008 -0700 PCI: powerpc: use generic pci_enable_resources() Use the generic pci_enable_resources() instead of the arch-specific code. The generic version is functionally equivalent, but uses dev_printk. Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit d981f163fe7af0c55db585fbf513a8e14803a6e8 Author: Bjorn Helgaas Date: Tue Mar 4 11:56:52 2008 -0700 PCI: ia64: use generic pci_enable_resources() Use the generic pci_enable_resources() instead of the arch-specific code. Unlike this arch-specific code, the generic version: - does not check for a NULL dev pointer - skips resources that have neither IORESOURCE_IO nor IORESOURCE_MEM set Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit 10f000a2fd805e8ccfe988e8615545467bb7f7df Author: Bjorn Helgaas Date: Tue Mar 4 11:56:48 2008 -0700 PCI: alpha: use generic pci_enable_resources() Use the generic pci_enable_resources() instead of the arch-specific code. Unlike this arch-specific code, the generic version: - skips resources unless requested in "mask" - skips ROM resources unless IORESOURCE_ROM_ENABLE is set - checks for resource collisions with "!r->parent" Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit b81d988c04cacb1f7ffb76cbff2d150eb9f02948 Author: Bjorn Helgaas Date: Tue Mar 4 11:57:01 2008 -0700 PCI: x86: use generic pci_enable_resources() Use the generic pci_enable_resources() instead of the arch-specific code. Unlike this arch-specific code, the generic version: - checks for resource collisions with "!r->parent" Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit 842de40d93e00a5c40a1a7f520a6fbe422994e99 Author: Bjorn Helgaas Date: Tue Mar 4 11:56:47 2008 -0700 PCI: add generic pci_enable_resources() Each architecture has its own pcibios_enable_resources() implementation. These differ in many minor ways that have nothing to do with actual architectural differences. Follow-on patches will make most arches use this generic version instead. This version is based on powerpc, which seemed most up-to-date. The only functional difference from the x86 version is that this uses "!r->parent" to check for resource collisions instead of "!r->start && r->end". Signed-off-by: Bjorn Helgaas Acked-by: Benjamin Herrenschmidt Acked-by: David Howells Signed-off-by: Greg Kroah-Hartman commit 7d715a6c1ae5785d00fb9a876b5abdfc43abc44b Author: Shaohua Li Date: Mon Feb 25 09:46:41 2008 +0800 PCI: add PCI Express ASPM support PCI Express ASPM defines a protocol for PCI Express components in the D0 state to reduce Link power by placing their Links into a low power state and instructing the other end of the Link to do likewise. This capability allows hardware-autonomous, dynamic Link power reduction beyond what is achievable by software-only controlled power management. However, The device should be configured by software appropriately. Enabling ASPM will save power, but will introduce device latency. This patch adds ASPM support in Linux. It introduces a global policy for ASPM, a sysfs file /sys/module/pcie_aspm/parameters/policy can control it. The interface can be used as a boot option too. Currently we have below setting: -default, BIOS default setting -powersave, highest power saving mode, enable all available ASPM state and clock power management -performance, highest performance, disable ASPM and clock power management By default, the 'default' policy is used currently. In my test, power difference between powersave mode and performance mode is about 1.3w in a system with 3 PCIE links. Note: some devices might not work well with aspm, either because chipset issue or device issue. The patch provide API (pci_disable_link_state), driver can disable ASPM for specific device. Signed-off-by: Shaohua Li Signed-off-by: Greg Kroah-Hartman commit 657472e9ccd9fccb82b775eb691c4b25b27451da Author: Bjorn Helgaas Date: Mon Feb 18 09:44:13 2008 -0700 PCI: remove "pci=routeirq" noise from dmesg The "pci=routeirq" option was added in 2004, and I don't get any valid reports anymore. The option is still mentioned in kernel-parameters.txt. Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit cb3576fa34e36907e292f408cb6c258f4fd112ad Author: Gary Hade Date: Fri Feb 8 14:00:52 2008 -0800 PCI: Include PCI domain in PCI bus names on x86/x86_64 The PCI bus names included in /proc/iomem and /proc/ioports are of the form 'PCI Bus #XX' where XX is the bus number. This patch changes the naming to 'PCI Bus XXXX:YY' where XXXX is the domain number and YY is the bus number. For example, PCI bus 14 in domain 0 will show as 'PCI Bus 0000:14' instead of 'PCI Bus #14'. This change makes the naming consistent with other architectures such as ia64 where multiple PCI domain support has been around longer. Signed-off-by: Gary Hade Signed-off-by: Greg Kroah-Hartman commit 21c6847406784fde73ad5ea47c2c3434714d58d1 Author: Adrian Bunk Date: Mon Feb 4 23:50:11 2008 -0800 PCI: #if 0 pci_cleanup_aer_correct_error_status() #if 0 the no longer used pci_cleanup_aer_correct_error_status(). Signed-off-by: Adrian Bunk Cc: Stephen Hemminger Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 4c44bac8645e0ce0249c53cc154f56b5543af232 Author: Yinghai Lu Date: Sat Feb 2 22:24:47 2008 -0800 PCI: pcie AER: don't check _OSC when acpi is disabled [PATCH] pcie AER: don't check _OSC when acpi is disabled when acpi=off or pci=noacpi, get warning AER service couldn't init device 0000:00:0a.0:pcie01 - no _OSC support AER service couldn't init device 0000:00:0e.0:pcie01 - no _OSC support AER service couldn't init device 0000:00:0f.0:pcie01 - no _OSC support AER service couldn't init device 0000:80:0b.0:pcie01 - no _OSC support AER service couldn't init device 0000:80:0e.0:pcie01 - no _OSC support AER service couldn't init device 0000:80:0f.0:pcie01 - no _OSC support so don't check _OSC in aer_osc_setup Signed-off-by: Yinghai Lu Signed-off-by: Greg Kroah-Hartman commit 5ff580c10ec06fd296bd23d4570c1a95194094a0 Author: Greg Kroah-Hartman Date: Thu Feb 14 14:56:56 2008 -0800 PCI: remove global list of PCI devices This patch finally removes the global list of PCI devices. We are relying entirely on the list held in the driver core now, and do not need a separate "shadow" list as no one uses it. Signed-off-by: Greg Kroah-Hartman commit c71c68a04ba7672b9373ef04173114c211bb9f88 Author: James Bottomley Date: Wed Feb 20 15:14:24 2008 -0600 PCI: remove parisc consumer of the pci global_list Remove the parisc usage of the global_list, as it's not needed anymore. Signed-off-by: James Bottomley Signed-off-by: Greg Kroah-Hartman commit 6355f3d1c6994812e4384027b785989323dd7c75 Author: Greg Kroah-Hartman Date: Thu Feb 14 14:56:56 2008 -0800 PCI: remove pcibios_fixup_ghosts() This function was obviously never being used since early 2.5 days as any device that it would try to remove would never really be removed from the system due to the PCI device list being held in the driver core, not the general list of PCI devices. As we have not had a single report of a problem here in 4 years, I think it's safe to remove now. Signed-off-by: Greg Kroah-Hartman commit 8a1bc9013a03d41a0e36ee413bb6f97281b30bd1 Author: Greg Kroah-Hartman Date: Thu Feb 14 14:56:56 2008 -0800 PCI: add is_added flag to struct pci_dev This lets us check if the device is really added to the driver core or not, which is what we need when walking some of the bus lists. The flag is there in anticipation of getting rid of the other PCI device list, which is what we used to check in this situation. Signed-off-by: Greg Kroah-Hartman commit 70308923d317f2ad4973c30d90bb48ae38761317 Author: Greg Kroah-Hartman Date: Wed Feb 13 22:30:39 2008 -0800 PCI: make no_pci_devices() use the pci_bus_type list no_pci_devices() should use the driver core list of PCI devices, not our "separate" one. Signed-off-by: Greg Kroah-Hartman commit 1ba6ab11d8fbd8d29afec4e39236e1255ae0339a Author: Greg Kroah-Hartman Date: Wed Feb 13 15:06:38 2008 -0800 PCI: remove initial bios sort of PCI devices on x86 We currently keep 2 lists of PCI devices in the system, one in the driver core, and one all on its own. This second list is sorted at boot time, in "BIOS" order, to try to remain compatible with older kernels (2.2 and earlier days). There was also a "nosort" option to turn this sorting off, to remain compatible with even older kernel versions, but that just ends up being what we have been doing from 2.5 days... Unfortunately, the second list of devices is not really ever used to determine the probing order of PCI devices or drivers[1]. That is done using the driver core list instead. This change happened back in the early 2.5 days. Relying on BIOS ording for the binding of drivers to specific device names is problematic for many reasons, and userspace tools like udev exist to properly name devices in a persistant manner if that is needed, no reliance on the BIOS is needed. Matt Domsch and others at Dell noticed this back in 2006, and added a boot option to sort the PCI device lists (both of them) in a breadth-first manner to help remain compatible with the 2.4 order, if needed for any reason. This option is not going away, as some systems rely on them. This patch removes the sorting of the internal PCI device list in "BIOS" mode, as it's not needed at all anymore, and hasn't for many years. I've also removed the PCI flags for this from some other arches that for some reason defined them, but never used them. This should not change the ordering of any drivers or device probing. [1] The old-style pci_get_device and pci_find_device() still used this sorting order, but there are very few drivers that use these functions, as they are deprecated for use in this manner. If for some reason, a driver rely on the order and uses these functions, the breadth-first boot option will resolve any problem. Cc: Matt Domsch Signed-off-by: Greg Kroah-Hartman commit 3b57eff02c37c79e6254884d374a6a9233e11efc Author: Greg Kroah-Hartman Date: Wed Feb 13 13:32:24 2008 -0800 PCI Hotplug: the ibm driver is not dependant on PCI_LEGACY This was marked incorrectly for some reason. Allow the ibmphp driver to be built even if PCI_LEGACY is not enabled. Cc: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 33ae6ef26d65ef5d15e80d95a9df1252eaed93e8 Author: Greg Kroah-Hartman Date: Wed Feb 13 13:32:24 2008 -0800 PCI Hotplug: make cpcihp driver use modern apis This removes the depandancy of the cpcihp driver from the PCI_LEGACY config option by removing its usage of the pci_find_bus() function. Cc: Kristen Carlson Accardi Signed-off-by: Scott Murray Signed-off-by: Greg Kroah-Hartman commit 95247b57ed844511a212265b45cf9a919753aea1 Author: Greg Kroah-Hartman Date: Wed Feb 13 11:03:58 2008 -0800 PCI: clean up search.c a lot This cleans up the search.c file, now using the pci list of devices that are created for the driver core, instead of relying on our separate list of devices. It's better to use the functions already created for this kind of thing, instead of rolling our own all the time. This work is done in anticipation of getting rid of that second list of pci devices all together. And it ends up saving code, always a nice benefit. This also removes one compiler warning for when CONFIG_PCI_LEGACY is enabled as we no longer internally use the deprecated functions anymore. Signed-off-by: Greg Kroah-Hartman commit 34220909a26b7f7cfc71e88ce01856c2563fe1d4 Author: Greg Kroah-Hartman Date: Wed Feb 13 09:32:03 2008 -0800 PCI: remove pci_get_device_reverse This removes the pci_get_device_reverse function as there should not be any need to walk pci devices backwards anymore. All users of this call are now gone from the tree, so it is safe to remove it. Signed-off-by: Greg Kroah-Hartman commit a2b5d877840f29b5fbb5f53b63dfcbf8bc0aea47 Author: Greg Kroah-Hartman Date: Wed Feb 13 09:32:03 2008 -0800 PCI: remove pci_get_device_reverse from calgary driver This isn't needed, we can just walk the devices in bus order with no problems at all, as we really want to remove pci_get_device_reverse from the kernel tree. Acked-by: Muli Ben-Yehuda Cc: Jon Mason Signed-off-by: Greg Kroah-Hartman commit 448432c4b8e2e3189177d6dbd16b8a8d83c5c11c Author: Greg Kroah-Hartman Date: Tue Feb 12 13:36:20 2008 -0800 PCI: remove pci_find_present No one is using this function anymore for quite some time, so remove it. Everyone calls pci_dev_present() instead anyway... Signed-off-by: Greg Kroah-Hartman commit 2baad5f96b498812626eadb6f6af3eb41d8656a3 Author: Adrian Bunk Date: Wed Feb 13 23:30:12 2008 +0200 PCI: #if 0 pci_assign_resource_fixed() An unused function that bloated the kernel only when CONFIG_EMBEDDED was enabled... Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 4b5ff469234b8ab5cd05f4a201cbb229896729d0 Author: Randy Dunlap Date: Mon Mar 10 17:16:32 2008 -0700 PCI: doc/pci: create Documentation/PCI/ and move files into it Create Documentation/PCI/ and move PCI-related files to it. Fix a few instances of trailing whitespace. Update references to the new file locations. Signed-off-by: Randy Dunlap Cc: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit c49a7f182c44c31ea460093eb263110824f6c98e Author: David Brownell Date: Wed Apr 16 19:24:42 2008 +0800 [HWRNG] omap: Minor updates Minor cleanups to the OMAP RNG: - Comment update re RNG status: * yes, it works on 16xx; "rngtest" is quite happy * it's fast enough that polling vs IRQ is a non-issue - Get rid of BUG_ON - Help GCC not be stupid about inlining (object code shrink) - Remove "sparse" warning - Cope with new hotplug rule requiring "platform:" modalias And make the file header match kernel conventions. Signed-off-by: David Brownell Signed-off-by: Herbert Xu commit 584fffc8b1965cc09ebc4b7608bafcbf12ad5244 Author: Sebastian Siewior Date: Sat Apr 5 21:04:48 2008 +0800 [CRYPTO] kconfig: Ordering cleanup Ciphers, block modes, name it, are grouped together and sorted. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 3af5b90bde5000abc739996cb03fd718e753d053 Author: Kamalesh Babulal Date: Sat Apr 5 21:00:57 2008 +0800 [CRYPTO] all: Clean up init()/fini() On Thu, Mar 27, 2008 at 03:40:36PM +0100, Bodo Eggert wrote: > Kamalesh Babulal wrote: > > > This patch cleanups the crypto code, replaces the init() and fini() > > with the _init/_fini > > This part ist OK. > > > or init/fini_ (if the > > _init/_fini exist) > > Having init_foo and foo_init won't be a good thing, will it? I'd start > confusing them. > > What about foo_modinit instead? Thanks for the suggestion, the init() is replaced with _mod_init () and fini () is replaced with _mod_fini. Signed-off-by: Kamalesh Babulal Signed-off-by: Herbert Xu commit 7dc748e4e720c1a98185363096ad7582e9113092 Author: Sebastian Siewior Date: Tue Apr 1 21:24:50 2008 +0800 [CRYPTO] padlock-aes: Use generic setkey function The Padlock AES setkey routine is the same as exported by the generic implementation. So we could use it. Signed-off-by: Sebastian Siewior Cc: Michal Ludvig Tested-by: Stefan Hellermann Signed-off-by: Herbert Xu commit 5427663f498e19b441277de72ce7a685511f247c Author: Sebastian Siewior Date: Tue Apr 1 20:58:51 2008 +0800 [CRYPTO] aes: Export generic setkey The key expansion routine could be get little more generic, become a kernel doc entry and then get exported. Signed-off-by: Sebastian Siewior Tested-by: Stefan Hellermann Signed-off-by: Herbert Xu commit c3715cb90f722b1cf5f6f073be02cc8a49659b90 Author: Sebastian Siewior Date: Sun Mar 30 16:36:09 2008 +0800 [CRYPTO] api: Make the crypto subsystem fully modular Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 76cb9521795a167ae3d206343c072f602d84f815 Author: Kevin Coffman Date: Mon Mar 24 21:26:16 2008 +0800 [CRYPTO] cts: Add CTS mode required for Kerberos AES support Implement CTS wrapper for CBC mode required for support of AES encryption support for Kerberos (rfc3962). Signed-off-by: Kevin Coffman Signed-off-by: Herbert Xu commit fd4609a8e00a867303783ade62d67953fb72adc8 Author: Marcin Slusarz Date: Fri Mar 14 16:22:53 2008 +0800 [CRYPTO] lrw: Replace all adds to big endians variables with be*_add_cpu replace all: big_endian_variable = cpu_to_beX(beX_to_cpu(big_endian_variable) + expression_in_cpu_byteorder); with: beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder); Signed-off-by: Marcin Slusarz Cc: David S. Miller Cc: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Herbert Xu commit f0df30b1f7f2bf8588613b2c012b8859b06849f1 Author: Sebastian Siewior Date: Thu Mar 13 20:29:07 2008 +0800 [CRYPTO] tcrypt: Change the XTEA test vectors The third test vector of ECB-XTEA-ENC fails for me all other are fine. I could not find a RFC or something else where they are defined. The test vector has not been modified since git started recording histrory. The implementation is very close (not to say equal) to what is available as Public Domain (they recommend 64 rounds and the in kernel uses 32). Therefore I belive that there is typo somewhere and tcrypt reported always *fail* instead of *okey*. This patch replaces input + result of the third test vector with result + input from the third decryption vector. The key is the same, the other three test vectors are also the reverse. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit de224c309b5631bdaae3fcd6880cfb93b52f5a53 Author: Sebastian Siewior Date: Thu Mar 13 20:21:51 2008 +0800 [CRYPTO] tcrypt: Shrink the tcrypt module Currently the tcrypt module is about 2 MiB on x86-32. The main reason for the huge size is the data segment which contains all the test vectors for each algorithm. The test vectors are staticly allocated in an array and the size of the array has been drastically increased by the merge of the Salsa20 test vectors. With a hint from Benedigt Spranger I found a way how I could convert those fixed-length arrays to strings which are flexible in size. VIM and regex were also very helpfull :) So, I am talking about a shrinking of ~97% on x86-32: text data bss dec hex filename 18309 2039708 20 2058037 1f6735 tcrypt-b4.ko 45628 23516 80 69224 10e68 tcrypt.ko Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 562954d5e01d08154cf15c7e12e6e9ec803f50f7 Author: Sebastian Siewior Date: Thu Mar 13 20:20:28 2008 +0800 [CRYPTO] tcrypt: Change the usage of the test vectors The test routines (test_{cipher,hash,aead}) are makeing a copy of the test template and are processing the encryption process in place. This patch changes the creation of the copy so it will work even if the source address of the input data isn't an array inside of the template but a pointer. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 48c8949ea8460216783dd33640121187b9531b60 Author: Jan Engelhardt Date: Thu Mar 13 19:37:45 2008 +0800 [CRYPTO] api: Constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Herbert Xu commit 744b5a28109e6a107c24a1426ee22f92b17995e9 Author: Sebastian Siewior Date: Tue Mar 11 21:29:47 2008 +0800 [CRYPTO] aes-x86-32: Remove unused return code The return parameter isn't used remove it. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit d5dc392742a9818e2766a63f3533980543e18060 Author: Sebastian Siewior Date: Tue Mar 11 21:27:11 2008 +0800 [CRYPTO] tcrypt: Shrink speed templates The speed templates as it look always the same. The key size is repeated for each block size and we test always the same block size. The addition of one inner loop makes it possible to get rid of the struct and it is possible to use a tiny u8 array :) Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 477035c2abdcff7583369e5777cb7be1bb1dbea8 Author: Sebastian Siewior Date: Tue Mar 11 21:24:26 2008 +0800 [CRYPTO] tcrypt: Group common speed templates Some crypto ciphers which are impleneted support similar key sizes (16,24 & 32 byte). They can be grouped together and use a common templatte instead of their own which contains the same data. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 78f8b3a24022c48fe600f4aba415d63ceeaec9cd Author: Jan Glauber Date: Thu Mar 6 19:55:38 2008 +0800 [CRYPTO] sha512: Rename sha512 to sha512_generic Rename sha512 to sha512_generic and add a MODULE_ALIAS for sha512 so all sha512 implementations can be loaded automatically. Keep the broken tabs so git recognizes this as a rename. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit 4e2c6d7f4d8f466f4420e10dda7126537de09c94 Author: Jan Glauber Date: Thu Mar 6 19:53:50 2008 +0800 [CRYPTO] sha384: Hardware acceleration for s390 Exploit the System z10 hardware acceleration for SHA384. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit 291dc7c0996b09a7c58b2cf6e9cc3495123a607e Author: Jan Glauber Date: Thu Mar 6 19:52:00 2008 +0800 [CRYPTO] sha512: Hardware acceleration for s390 Exploit the System z10 hardware acceleration for SHA512. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit 604973f1fe41b817c1badb3df2008fe641e50ae6 Author: Jan Glauber Date: Thu Mar 6 19:50:20 2008 +0800 [CRYPTO] s390: Generic sha_update and sha_final The sha_{update|final} functions are similar for every sha variant. Since that is error-prone and redundant replace these functions by a shared generic implementation for s390. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit 607424d8583365418a337aa51e83403c8bd213ed Author: Alexey Dobriyan Date: Wed Mar 5 19:27:51 2008 +0800 [CRYPTO] api: Switch to proc_create() Signed-off-by: Alexey Dobriyan Signed-off-by: Herbert Xu commit 896c6fa1e59dd17e1ac2877c25cab19bbb24e666 Author: Jeff Garzik Date: Wed Oct 31 05:42:50 2007 -0400 [ISDN] minor irq handler cleanups - reference irq number in CardState structure - remove now-unused 'intno' argument from rs_interrupt_elsa() - cs->irq_func() should be defined using standard irq_handler_t - add KERN_DEBUG to printk() where appropriate Signed-off-by: Jeff Garzik commit 9d29672c64505f2d7f707701b829715705308a69 Author: David Woodhouse Date: Sun Apr 20 16:07:43 2008 -0700 [NET]: Expose netdevice dev_id through sysfs Expose dev_id to userspace, because it helps to disambiguate between interfaces where the MAC address is unique. This should allow us to simplify the handling of persistent naming for S390 network devices in udev -- because it can depend on a simple attribute of the device like the other match criteria, rather than having a special case for SUBSYSTEMS=="ccwgroup". Signed-off-by: David Woodhouse Signed-off-by: David S. Miller commit f7d0e5a506396419eb731b6c6cd97ed23c9245c7 Author: Randy Dunlap Date: Sun Apr 20 16:06:22 2008 -0700 skbuff: fix missing kernel-doc notation Add kernel-doc notation for ndisc_nodetype: Warning(linux-2.6.25-git2//include/linux/skbuff.h:340): No description found for parameter 'ndisc_nodetype' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit a6f97b293b08877d945ea3f28926aa446dd7ca2e Author: Jeff Garzik Date: Wed Oct 31 05:20:49 2007 -0400 drivers/char: minor irq handler cleanups - remove always-false tests - don't overload 'irq' argument, pass data properly via dev_id - remove pointless casts from void* Signed-off-by: Jeff Garzik commit 047f7617eba3653ff3bcfbe902986903fff2ed3b Author: Bernard Pidoux Date: Sun Apr 20 15:58:07 2008 -0700 [ROSE]: Fix soft lockup wrt. rose_node_list_lock [ INFO: possible recursive locking detected ] 2.6.25 #3 --------------------------------------------- ax25ipd/3811 is trying to acquire lock: (rose_node_list_lock){-+..}, at: [] rose_get_neigh+0x1a/0xa0 [rose] but task is already holding lock: (rose_node_list_lock){-+..}, at: [] rose_route_frame+0x4d/0x620 [rose] other info that might help us debug this: 6 locks held by ax25ipd/3811: #0: (&tty->atomic_write_lock){--..}, at: [] tty_write_lock+0x1c/0x50 #1: (rcu_read_lock){..--}, at: [] net_rx_action+0x96/0x230 #2: (rcu_read_lock){..--}, at: [] netif_receive_skb+0x100/0x2f0 #3: (rose_node_list_lock){-+..}, at: [] rose_route_frame+0x4d/0x620 [rose] #4: (rose_neigh_list_lock){-+..}, at: [] rose_route_frame+0x57/0x620 [rose] #5: (rose_route_list_lock){-+..}, at: [] rose_route_frame+0x61/0x620 [rose] stack backtrace: Pid: 3811, comm: ax25ipd Not tainted 2.6.25 #3 [] print_deadlock_bug+0xc7/0xd0 [] check_deadlock+0x9a/0xb0 [] validate_chain+0x1e2/0x310 [] ? validate_chain+0xa5/0x310 [] ? native_sched_clock+0x88/0xc0 [] __lock_acquire+0x1a1/0x750 [] lock_acquire+0x81/0xa0 [] ? rose_get_neigh+0x1a/0xa0 [rose] [] _spin_lock_bh+0x33/0x60 [] ? rose_get_neigh+0x1a/0xa0 [rose] [] rose_get_neigh+0x1a/0xa0 [rose] [] rose_route_frame+0x464/0x620 [rose] [] ? _read_unlock+0x1d/0x20 [] ? rose_route_frame+0x0/0x620 [rose] [] ax25_rx_iframe+0x66/0x3b0 [ax25] [] ? ax25_start_t3timer+0x1f/0x40 [ax25] [] ax25_std_frame_in+0x7fb/0x890 [ax25] [] ? _spin_unlock_bh+0x25/0x30 [] ax25_kiss_rcv+0x2c6/0x800 [ax25] [] ? sock_def_readable+0x59/0x80 [] ? __lock_release+0x47/0x70 [] ? sock_def_readable+0x59/0x80 [] ? _read_unlock+0x1d/0x20 [] ? sock_def_readable+0x59/0x80 [] ? sock_queue_rcv_skb+0x13a/0x1d0 [] ? sock_queue_rcv_skb+0x45/0x1d0 [] ? ax25_kiss_rcv+0x0/0x800 [ax25] [] netif_receive_skb+0x255/0x2f0 [] ? netif_receive_skb+0x100/0x2f0 [] process_backlog+0x7c/0xf0 [] net_rx_action+0x16c/0x230 [] ? net_rx_action+0x96/0x230 [] __do_softirq+0x93/0x120 [] ? mkiss_receive_buf+0x33a/0x3f0 [mkiss] [] do_softirq+0x57/0x60 [] local_bh_enable_ip+0xa5/0xe0 [] _spin_unlock_bh+0x25/0x30 [] mkiss_receive_buf+0x33a/0x3f0 [mkiss] [] pty_write+0x47/0x60 [] write_chan+0x1b0/0x220 [] ? tty_write_lock+0x1c/0x50 [] ? default_wake_function+0x0/0x10 [] tty_write+0x12a/0x1c0 [] ? write_chan+0x0/0x220 [] vfs_write+0x96/0x130 [] ? tty_write+0x0/0x1c0 [] sys_write+0x3d/0x70 [] sysenter_past_esp+0x5f/0xa5 ======================= BUG: soft lockup - CPU#0 stuck for 61s! [ax25ipd:3811] Pid: 3811, comm: ax25ipd Not tainted (2.6.25 #3) EIP: 0060:[] EFLAGS: 00000246 CPU: 0 EIP is at native_read_tsc+0xb/0x20 EAX: b404aa2c EBX: b404a9c9 ECX: 017f1000 EDX: 0000076b ESI: 00000001 EDI: 00000000 EBP: ecc83afc ESP: ecc83afc DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 CR0: 8005003b CR2: b7f5f000 CR3: 2cd8e000 CR4: 000006f0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff0ff0 DR7: 00000400 [] delay_tsc+0x17/0x30 [] __delay+0x9/0x10 [] __spin_lock_debug+0x76/0xf0 [] ? spin_bug+0x18/0x100 [] ? __lock_contended+0xa3/0x110 [] _raw_spin_lock+0x68/0x90 [] _spin_lock_bh+0x4f/0x60 [] ? rose_get_neigh+0x1a/0xa0 [rose] [] rose_get_neigh+0x1a/0xa0 [rose] [] rose_route_frame+0x464/0x620 [rose] [] ? _read_unlock+0x1d/0x20 [] ? rose_route_frame+0x0/0x620 [rose] [] ax25_rx_iframe+0x66/0x3b0 [ax25] [] ? ax25_start_t3timer+0x1f/0x40 [ax25] [] ax25_std_frame_in+0x7fb/0x890 [ax25] [] ? _spin_unlock_bh+0x25/0x30 [] ax25_kiss_rcv+0x2c6/0x800 [ax25] [] ? sock_def_readable+0x59/0x80 [] ? __lock_release+0x47/0x70 [] ? sock_def_readable+0x59/0x80 [] ? _read_unlock+0x1d/0x20 [] ? sock_def_readable+0x59/0x80 [] ? sock_queue_rcv_skb+0x13a/0x1d0 [] ? sock_queue_rcv_skb+0x45/0x1d0 [] ? ax25_kiss_rcv+0x0/0x800 [ax25] [] netif_receive_skb+0x255/0x2f0 [] ? netif_receive_skb+0x100/0x2f0 [] process_backlog+0x7c/0xf0 [] net_rx_action+0x16c/0x230 [] ? net_rx_action+0x96/0x230 [] __do_softirq+0x93/0x120 [] ? mkiss_receive_buf+0x33a/0x3f0 [mkiss] [] do_softirq+0x57/0x60 [] local_bh_enable_ip+0xa5/0xe0 [] _spin_unlock_bh+0x25/0x30 [] mkiss_receive_buf+0x33a/0x3f0 [mkiss] [] pty_write+0x47/0x60 [] write_chan+0x1b0/0x220 [] ? tty_write_lock+0x1c/0x50 [] ? default_wake_function+0x0/0x10 [] tty_write+0x12a/0x1c0 [] ? write_chan+0x0/0x220 [] vfs_write+0x96/0x130 [] ? tty_write+0x0/0x1c0 [] sys_write+0x3d/0x70 [] sysenter_past_esp+0x5f/0xa5 ======================= Since rose_route_frame() does not use rose_node_list we can safely remove rose_node_list_lock spin lock here and let it be free for rose_get_neigh(). Signed-off-by: Bernard Pidoux Signed-off-by: David S. Miller commit e8f39549580e04e0b8edd11bae834ae7f8322fc8 Author: Jeff Garzik Date: Wed Oct 31 05:15:20 2007 -0400 [PPC] minor irq handler cleanups - whitespace cleanups - remove pointless prototype (uses always follow func implementation) - 'irq' argument is used here purely as a local variable. rename argument to 'dummy' and define 'irq' as local to make this plain. Signed-off-by: Jeff Garzik Acked-by: Kumar Gala commit 349a2444cfcd6c078a8410c19cd7a950ff89bd96 Author: Jeff Garzik Date: Wed Oct 31 05:11:45 2007 -0400 [BLACKFIN] minor irq handler cleanups - use standard irq_handler_t to define irq handler function arguments Signed-off-by: Jeff Garzik commit 5dc0742b41066e1e141f2b4b00557e563a83fccc Author: Jeff Garzik Date: Wed Oct 31 05:08:48 2007 -0400 [SPARC] minor irq handler cleanups - mark timer_interrupt() static - sparc_floppy_request_irq() prototype should use irq_handler_t Signed-off-by: Jeff Garzik Acked-by: David S. Miller commit 90968eb5a415a0fe6ffb617af35b3a5321bd4497 Author: Jeff Garzik Date: Wed Oct 31 05:07:08 2007 -0400 ARM minor irq handler cleanup: avoid passing unused info to irq Reduce human confusion a bit, by /not/ passing an unused value to arm_rtc_interrupt() Signed-off-by: Jeff Garzik commit 8349304d12cf1313bdbd6eb2083701d86809be24 Author: Jeff Garzik Date: Wed Oct 31 03:42:07 2007 -0400 [ISDN] Hisax: eliminate many unnecessary references to CardType[] For the vast majority of CardType[card->typ] uses (but not all!), the string is constant for each driver. Therefore, we may replace CardType[card->typ] with the actual string describing the driver, making each printk() a bit more simple. This also has the nice, intended side effect of greatly reducing external references to hisax global CardType[]. This will be of value once the ISDN drivers are converted to the ISA/PCI/PNP hotplug APIs. Signed-off-by: Jeff Garzik commit d38c8475b4f3a684ac673dcedc88ffdb17b74882 Author: Jeff Garzik Date: Fri Feb 15 23:41:15 2008 -0500 [ISDN] HiSax: modularization prep Pass a function pointer into the core HiSax probe function checkcard(), in order to facilitate modular drivers passing in their own setup routines. Signed-off-by: Jeff Garzik commit d8d9075cf6023340a1603720a9a59815f14a5219 Author: Russell King Date: Sun Apr 20 16:40:47 2008 +0100 [ARM] fix lh7a40x/kev7a400 build arch/arm/mach-lh7a40x/arch-kev7a400.c: In function `kev7a400_cpld_handler': arch/arm/mach-lh7a40x/arch-kev7a400.c:80: error: structure has no member named `handle' Signed-off-by: Russell King commit 434b825e1fc9ef7971fc962734278ffbab36a1ab Author: Artem Bityutskiy Date: Sun Apr 20 18:00:33 2008 +0300 UBI: print media information earlier Print information about logicale eraseblock size, sub-page size and so on at early stage, befor an attempt to attach the MTD device was made. This is more convenient to do so because the attempt to attach may fail, and the information is never printed then. Signed-off-by: Artem Bityutskiy commit 14b3ca4022f050f8622ed282b734ddf445464583 Author: Paul Mackerras Date: Sun Apr 20 17:57:10 2008 +1000 [POWERPC] Fix compile breakage for 64-bit UP configs The rearrangements in 945feb174b14e7098cc7ecf0cf4768d35bc52f9c ("[POWERPC] irqtrace support for 64-bit powerpc") caused 64-bit non-SMP configs to fail to compile with a message about local_irq_save being undefined in include/linux/proportions.h. This follows the lead of x86 in including in asm/system.h, which fixes the problem. Signed-off-by: Paul Mackerras commit 9c0c44dbd9bc380bee53e2f768c4ad5410b8aae2 Author: Roland McGrath Date: Sun Apr 20 08:19:24 2008 +1000 [POWERPC] Define copy_siginfo_from_user32 Define the copy_siginfo_from_user32 entry point for powerpc, so that generic CONFIG_COMPAT code can call it. We already had the code rolled into compat_sys_rt_sigqueueinfo, this just moves it out into the canonical function that other arch's define. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit e4cc58944c1e2ce41e3079d4eb60c95e7ce04b2b Author: Andreas Schwab Date: Sun Apr 20 02:25:13 2008 +1000 [POWERPC] Add compat handler for PTRACE_GETSIGINFO Current versions of gdb require a working implementation of PTRACE_GETSIGINFO for proper watchpoint support. Since struct siginfo contains pointers it must be converted when passed to a 32-bit debugger. Signed-off-by: Andreas Schwab Signed-off-by: Paul Mackerras commit 585468e5d5962660867c269e26f0a4b89a599473 Author: Jochen Friedrich Date: Sat Apr 19 00:23:03 2008 +1000 [POWERPC] i2c: Fix build breakage introduced by OF helpers Fix build breakage introduced in commit "[POWERPC] i2c: OF helpers for the i2c API". If i2c-core is compiled as a module, the helper needs to be compiled as a module, as well. Rename i2c.c to of_i2c.c to avoid name space conflict. [paulus@samba.org: Changed dependency from OF to PPC_OF to avoid sparc{32,64} allmodconfig breakage.] Signed-off-by: Jochen Friedrich Signed-off-by: Paul Mackerras commit ee959b00c335d7780136c5abda37809191fe52c3 Author: Tony Jones Date: Fri Feb 22 00:13:36 2008 +0100 SCSI: convert struct class_device to struct device It's big, but there doesn't seem to be a way to split it up smaller... Signed-off-by: Tony Jones Signed-off-by: Kay Sievers Cc: Roland Dreier Cc: Sean Hefty Cc: Hal Rosenstock Cc: James Bottomley Signed-off-by: Greg Kroah-Hartman commit 56d110e852b0b1c85ad6c9bfe1cb4473ceb16402 Author: Greg Kroah-Hartman Date: Tue Mar 11 12:50:38 2008 -0700 DRM: remove unused dev_class The struct class_device *dev_class is not used in the struct drm_head structure at all, so remove it as class_device is being removed entirely from the kernel. Cc: David Airlie Cc: Tony Jones Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 05321937469a8592d6a6d35f1d38ca882d243044 Author: Greg Kroah-Hartman Date: Thu Mar 6 00:13:36 2008 +0100 IB: rename "dev" to "srp_dev" in srp_host structure This sets us up to be able to convert the srp_host to use a struct device instead of a class_device. Based on a original patch from Tony Jones, but split up into this piece by Greg. Signed-off-by: Tony Jones Signed-off-by: Kay Sievers Reviewed-by: Roland Dreier Cc: Sean Hefty Cc: Hal Rosenstock Signed-off-by: Greg Kroah-Hartman commit f4e91eb4a81559da87a3843758a641b5cc590b65 Author: Tony Jones Date: Fri Feb 22 00:13:36 2008 +0100 IB: convert struct class_device to struct device This converts the main ib_device to use struct device instead of struct class_device as class_device is going away. Signed-off-by: Tony Jones Signed-off-by: Kay Sievers Cc: Roland Dreier Cc: Sean Hefty Cc: Hal Rosenstock Signed-off-by: Greg Kroah-Hartman commit c4c66cf1787d408066fbfc69209185701f5df15f Author: Greg Kroah-Hartman Date: Tue Mar 4 00:13:36 2008 +0100 memstick: convert struct class_device to struct device struct class_device is going away, struct device should be used instead. Signed-off-by: Tony Jones Signed-off-by: Kay Sievers Cc: Alex Dubov Signed-off-by: Greg Kroah-Hartman commit 2b3a302a09735276e13421db56c20045a48eb06d Author: Harvey Harrison Date: Tue Mar 4 16:41:05 2008 -0800 driver core: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit 2424b5dd062cbe3e0578ae7b11a1b360ad22f451 Author: Dan Williams Date: Mon Apr 7 15:35:01 2008 -0700 sysfs: refill attribute buffer when reading from offset 0 Requiring userspace to close and re-open sysfs attributes has been the policy since before 2.6.12. It allows userspace to get a consistent snapshot of kernel state and consume it with incremental reads and seeks. Now, if the file position is zero the kernel assumes userspace wants to see the new value. The application for this change is to allow a userspace RAID metadata handler to check the state of an array without causing any memory allocations. Thus not causing writeback to a raid array that might be blocked waiting for userspace to take action. Cc: Neil Brown Acked-by: Tejun Heo Signed-off-by: Dan Williams Signed-off-by: Greg Kroah-Hartman commit b844eba292b477cda14582bfc6f535deed57a82d Author: Rafael J. Wysocki Date: Sun Mar 23 20:28:24 2008 +0100 PM: Remove destroy_suspended_device() After 2.6.24 there was a plan to make the PM core acquire all device semaphores during a suspend/hibernation to protect itself from concurrent operations involving device objects. That proved to be too heavy-handed and we found a better way to achieve the goal, but before it happened, we had introduced the functions device_pm_schedule_removal() and destroy_suspended_device() to allow drivers to "safely" destroy a suspended device and we had adapted some drivers to use them. Now that these functions are no longer necessary, it seems reasonable to remove them and modify their users to use the normal device unregistration instead. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 138fe4e069798d9aa948a5402ff15e58f483ee4e Author: Konrad Rzeszutek Date: Wed Apr 9 19:50:41 2008 -0700 Firmware: add iSCSI iBFT Support Add /sysfs/firmware/ibft/[initiator|targetX|ethernetX] directories along with text properties which export the the iSCSI Boot Firmware Table (iBFT) structure. What is iSCSI Boot Firmware Table? It is a mechanism for the iSCSI tools to extract from the machine NICs the iSCSI connection information so that they can automagically mount the iSCSI share/target. Currently the iSCSI information is hard-coded in the initrd. The /sysfs entries are read-only one-name-and-value fields. The usual set of data exposed is: # for a in `find /sys/firmware/ibft/ -type f -print`; do echo -n "$a: "; cat $a; done /sys/firmware/ibft/target0/target-name: iqn.2007.com.intel-sbx44:storage-10gb /sys/firmware/ibft/target0/nic-assoc: 0 /sys/firmware/ibft/target0/chap-type: 0 /sys/firmware/ibft/target0/lun: 00000000 /sys/firmware/ibft/target0/port: 3260 /sys/firmware/ibft/target0/ip-addr: 192.168.79.116 /sys/firmware/ibft/target0/flags: 3 /sys/firmware/ibft/target0/index: 0 /sys/firmware/ibft/ethernet0/mac: 00:11:25:9d:8b:01 /sys/firmware/ibft/ethernet0/vlan: 0 /sys/firmware/ibft/ethernet0/gateway: 192.168.79.254 /sys/firmware/ibft/ethernet0/origin: 0 /sys/firmware/ibft/ethernet0/subnet-mask: 255.255.252.0 /sys/firmware/ibft/ethernet0/ip-addr: 192.168.77.41 /sys/firmware/ibft/ethernet0/flags: 7 /sys/firmware/ibft/ethernet0/index: 0 /sys/firmware/ibft/initiator/initiator-name: iqn.2007-07.com:konrad.initiator /sys/firmware/ibft/initiator/flags: 3 /sys/firmware/ibft/initiator/index: 0 For full details of the IBFT structure please take a look at: ftp://ftp.software.ibm.com/systems/support/system_x_pdf/ibm_iscsi_boot_firmware_table_v1.02.pdf [akpm@linux-foundation.org: fix build] Signed-off-by: Konrad Rzeszutek Cc: Mike Christie Cc: Peter Jones Cc: James Bottomley Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 95bc6a10830de469eee94c17fb1c37b3b1430715 Author: Randy Dunlap Date: Fri Mar 28 14:22:52 2008 -0700 PM: Remove legacy PM (fix) Source file was removed. Need to remove docbook reference also. Signed-off-by: Randy Dunlap Cc: Pavel Machek Cc: Rafael J. Wysocki Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit c6a2a3dc26da72e431c293d02549593f9c041f63 Author: Robert P. J. Day Date: Thu Mar 27 01:13:34 2008 -0400 Kobject: Replace list_for_each() with list_for_each_entry(). Use the more concise list_for_each_entry(), which allows for the deletion of the to_kobj() routine at the same time. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit c6f87733823d69a8f12e391688ceeb1ff4922530 Author: Robert P. J. Day Date: Thu Mar 13 22:41:52 2008 -0400 SYSFS: Explicitly include required header file slab.h. After an experimental deletion of the unnecessary inclusion of from the header file , the following files under fs/sysfs were exposed as needing to explicitly include . Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 3f62e5700b2a679ae987b32a68126dd6dcf2488f Author: Greg Kroah-Hartman Date: Thu Mar 13 17:07:03 2008 -0400 Driver core: make device_is_registered() work for class devices device_is_registered() can use the kobject value for this, so it will now work with devices that are associated with only a class, not a bus and a driver. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 9a3df1f7de0ecaf77a1dde86f2a4dc020f37f87e Author: Alan Stern Date: Wed Mar 19 22:39:13 2008 +0100 PM: Convert wakeup flag accessors to inline functions This patch (as1058) improves the wakeup macros in include/linux/pm.h. All but the trivial ones are converted to inline routines, which requires moving them to a separate header file since they depend on the definition of struct device. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit d288e47c471e1090e80c62ad95882fafbf3f499d Author: Alan Stern Date: Wed Mar 19 22:37:42 2008 +0100 PM: Make wakeup flags available whenever CONFIG_PM is set The various wakeup flags and their accessor macros in struct dev_pm_info should be available whenever CONFIG_PM is enabled, not just when CONFIG_PM_SLEEP is on. Otherwise remote wakeup won't always be configurable for runtime power management. This patch (as1056b) fixes the oversight. David Brownell adds: More accurately, fixes the "regression" ... as noted sometime last summer, after 296699de6bdc717189a331ab6bbe90e05c94db06 introduced CONFIG_SUSPEND. But that didn't make the regression list for that kernel, ergo the delay in fixing it. [rjw: rebased] Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 74081f8667d73ad59961cf63be5f0e9d6a87c8a3 Author: Alan Stern Date: Wed Mar 19 22:35:13 2008 +0100 PM: Fix misuse of wakeup flag accessors in serial core This patch (as1059) fixes a mistake in the way the serial core initializes a device's wakeup settings. It should use the accessor routine instead of relying on a macro producing an lvalue. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 57eee3d23e8833ca18708b374c648235691942ba Author: Rafael J. Wysocki Date: Wed Mar 12 00:59:38 2008 +0100 Driver core: Call device_pm_add() after bus_add_device() in device_add() Include dpm_sysfs_add() into device_pm_add(), in analogy with device_pm_remove(), and modify device_add() to call the latter after bus_add_device(), to avoid situations in which the PM core may attempt to suspend a device the registration of which has not been successful. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 58aca23226a19983571bd3b65167521fc64f5869 Author: Rafael J. Wysocki Date: Wed Mar 12 00:57:22 2008 +0100 PM: Handle device registrations during suspend/resume Modify the PM core to protect its data structures, specifically the dpm_active list, from being corrupted if a child of the currently suspending device is registered concurrently with its ->suspend() callback. In that case, since the new device (the child) is added to dpm_active after its parent, the PM core will attempt to suspend it after the parent, which is wrong. Introduce a new member of struct dev_pm_info, called 'sleeping', and use it to check if the parent of the device being added to dpm_active has been suspended, in which case the device registration fails. Also, use 'sleeping' for checking if the ordering of devices on dpm_active is correct. Introduce variable 'all_sleeping' that will be set to 'true' once all devices have been suspended and make new device registrations fail until 'all_sleeping' is reset to 'false', in order to avoid having unsuspended devices around while the system is going into a sleep state. Remove pm_sleep_rwsem which is not necessary any more. Special thanks to Alan Stern for discussions and suggestions that lead to the creation of this patch. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 6bcf19d02a5d7e627fa054f2f10e0a8d830df326 Author: Kay Sievers Date: Sun Mar 9 21:26:02 2008 +0100 block: send disk "change" event for rescan_partitions() Userspace likes to get notified that the disk may have changed, when rescan_partitions() is called after partitioning or media change. It will make it possible to update the state of the disk with the "change" event, before the following partition "add" events are handled. Cc: David Zeuthen Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit da009f39f85a3ee9deeb10f0f05ddd4efdd67020 Author: Ben Dooks Date: Tue Mar 4 15:09:06 2008 -0800 sysdev: detect multiple driver registrations I've just found how easy it is to accidentally register a sysdev_driver for two different classes. When this happens, bad things happen as the sysdev_driver structure keeps has the list entry for the driver registration. The following patch makes a WARN_ON() if this happens, although I think BUG_ON or returning -EAGAIN could also be valid responses to this. Signed-off-by: Ben Dooks Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6c847402e1c69c1cfe2bddeadc8391bacbb3d0a5 Author: Sam Ravnborg Date: Tue Mar 4 15:09:05 2008 -0800 driver core: cpu: fix section mismatch in cpu.c:store_online Fix following warning: WARNING: vmlinux.o(.text+0x64609c): Section mismatch in reference from the function store_online() to the function .cpuinit.text:cpu_up() store_online() is defined inside a HOTPLUG_CPU block so references are OK. Ignore references by annotating store_online() with __ref. Note: This is needed because cpu_up() most likely should not have been __cpuinit but all the hotplug cpu code misuses the __cpuinit annotation. Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 35d313b8744dc64c31b9cfcdb083112937643b45 Author: Pavel Machek Date: Thu Feb 21 13:58:10 2008 +0100 power_state: remove it from driver core power_state is scheduled for removal, and it is used only for debug prints by driver core. Remove it. Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 0c81eed4b9d6273124c7ab5eb99760b4d3a3cb9e Author: Kay Sievers Date: Thu Feb 21 00:35:54 2008 +0100 PNP: add all PNP card device id's as individual aliases The current PNP combined card + devices module aliase can never ever match anything, because these values are not available all at the same time to request a module. Instead of adding the combined alias, we add the device id's all as individual aliases. Device id's are exported by the PNP bus and can now properly used to request the loading of a matching module. The module snd-sbawe currently exports aliases, which can never match anything: alias: pnp:cCTLXXXXdCTL0045dCTL0022* alias: pnp:cCTLXXXXdCTL0044dCTL0023* alias: pnp:cCTLXXXXdCTL0042dCTL0022* alias: pnp:cCTLXXXXdCTL0041dCTL0021* alias: pnp:cCTLXXXXdCTL0031dCTL0021* alias: pnp:cCTL00eddCTL0041dCTL0070* alias: pnp:cCTL00e9dCTL0045dCTL0022* alias: pnp:cCTL00e4dCTL0045dCTL0022* alias: pnp:cCTL00c7dCTL0045dCTL0022* alias: pnp:cCTL00c5dCTL0045dCTL0022* alias: pnp:cCTL00c3dCTL0045dCTL0022* alias: pnp:cCTL00c1dCTL0042dCTL0022* alias: pnp:cCTL00b2dCTL0044dCTL0023* alias: pnp:cCTL009edCTL0044dCTL0023* alias: pnp:cCTL009ddCTL0042dCTL0022* alias: pnp:cCTL009fdCTL0041dCTL0021* alias: pnp:cCTL009cdCTL0041dCTL0021* alias: pnp:cCTL009adCTL0041dCTL0021* alias: pnp:cCTL0054dCTL0031dCTL0021* alias: pnp:cCTL0048dCTL0031dCTL0021* alias: pnp:cCTL0047dCTL0031dCTL0021* alias: pnp:cCTL0046dCTL0031dCTL0021* alias: pnp:cCTL0045dCTL0031dCTL0021* alias: pnp:cCTL0044dCTL0031dCTL0021* alias: pnp:cCTL0043dCTL0031dCTL0021* alias: pnp:cCTL0042dCTL0031dCTL0021* alias: pnp:cCTL0039dCTL0031dCTL0021* alias: pnp:cCTL0035dCTL0031dCTL0021* With this patch it exports only the device id's, as properly matchable aliases: alias: pnp:dCTL0070* alias: pnp:dCTL0045* alias: pnp:dCTL0023* alias: pnp:dCTL0044* alias: pnp:dCTL0022* alias: pnp:dCTL0042* alias: pnp:dCTL0041* alias: pnp:dCTL0021* alias: pnp:dCTL0031* Now, the exported value of the PNP bus can be used to autoload a matching module: $ modprobe --first-time -n -v pnp:dCTL0045 insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/core/snd-rawmidi.ko insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/drivers/mpu401/snd-mpu401-uart.ko insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/core/snd-hwdep.ko insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sb-common.ko insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sb16-csp.ko insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sb16-dsp.ko insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/drivers/opl3/snd-opl3-lib.ko insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sbawe.ko $ grep CTL0045 /sys/bus/pnp/devices/*/id /sys/bus/pnp/devices/01:01.00/id:CTL0045 Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4b65fc8cfbd1d1cfcc78865af72608e3b6cc9d9b Author: Greg Kroah-Hartman Date: Wed Feb 20 16:07:07 2008 -0800 firmware: clean up samples for coding style issues This fixes up a number of coding style issues in the firmware sample files. Yeah, it still doesn't build properly yet, that's next... Cc: Randy Dunlap Cc: Marcel Holtmann Signed-off-by: Greg Kroah-Hartman commit d289bf7bdd84d636054acb0b3d14a4708f8a8233 Author: Randy Dunlap Date: Wed Feb 20 13:20:50 2008 -0800 firmware: move firmware_class from Documentation/ to samples/ Move the firmware_class sample drivers to samples/ so that they are buildable and can be maintained. Signed-off-by: Randy Dunlap Acked-by: Marcel Holtmann Signed-off-by: Greg Kroah-Hartman commit 3612e06b2c1cec41e9a59da3eec673a206af4643 Author: David Rientjes Date: Tue Feb 19 17:39:02 2008 -0800 sysfs: small header file cleanup for SYSFS=n Convert sysfs_remove_bin_file() to have a return type of 'void' for !CONFIG_SYSFS configurations. Also removes unnecessary colons from empty void functions. Signed-off-by: David Rientjes Reviewed-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 1429db83e276c2a16c7ea83bdcf0dcd3a36e406d Author: Joe Perches Date: Tue Feb 26 19:08:42 2008 -0800 driver core: Convert debug functions declared inline __attribute__((format (printf,x,y) to statement expression macros When DEBUG is not defined, pr_debug and dev_dbg and some other local debugging functions are specified as: "inline __attribute__((format (printf, x, y)))" This is done to validate printk arguments when not debugging. Converting these functions to macros or statement expressions "do { if (0) printk(fmt, ##arg); } while (0)" or "({ if (0) printk(fmt, ##arg); 0; }) makes at least gcc 4.2.2 produce smaller objects. This has the additional benefit of allowing the optimizer to avoid calling functions like print_mac that might have been arguments to the printk. defconfig x86 current: $ size vmlinux text data bss dec hex filename 4716770 474560 618496 5809826 58a6a2 vmlinux all converted: (More patches follow) $ size vmlinux text data bss dec hex filename 4716642 474560 618496 5809698 58a622 vmlinux Even kernel/sched.o, which doesn't even use these functions, becomes smaller. It appears that merely having an indirect include of can cause bigger objects. $ size sched.inline.o sched.if0.o text data bss dec hex filename 31385 2854 328 34567 8707 sched.inline.o 31366 2854 328 34548 86f4 sched.if0.o The current preprocessed only kernel/sched.i file contains: # 612 "include/linux/device.h" static inline __attribute__((always_inline)) int __attribute__ ((format (printf, 2, 3))) dev_dbg(struct device *dev, const char *fmt, ...) { return 0; } # 628 "include/linux/device.h" static inline __attribute__((always_inline)) int __attribute__ ((format (printf, 2, 3))) dev_vdbg(struct device *dev, const char *fmt, ...) { return 0; } Removing these unused inlines from sched.i shrinks sched.o Signed-off-by: Joe Perches Signed-off-by: Greg Kroah-Hartman commit 00a41db522c77af33ea5ee9837d4f043ce150249 Author: Badari Pulavarty Date: Mon Feb 11 09:23:18 2008 -0800 driver core: register_memory/unregister_memory clean ups and bugfix register_memory()/unregister_memory() never gets called with "root". unregister_memory() is accessing kobject_name of the object just freed up. Since no one uses the code, lets take the code out. And also, make register_memory() static. Another bug fix - before calling unregister_memory() remove_memory_block() gets a ref on kobject. unregister_memory() need to drop that ref before calling sysdev_unregister(). Signed-off-by: Badari Pulavarty Signed-off-by: Greg Kroah-Hartman commit da19cbcf71cde3c09587b5924d113f0c7f1fd23a Author: Daniel Walker Date: Mon Feb 4 23:35:47 2008 -0800 driver core: memory: semaphore to mutex Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 610ad5064cb90aec35f5837bbde3d316fe02aca7 Author: Uwe Kleine-König Date: Fri Apr 11 11:07:39 2008 +0200 UIO: hold a reference to the device's owner while the device is open Otherwise the device might just disappear while /dev/uioX is being used which results in an Oops. Signed-off-by: Uwe Kleine-König Signed-off-by: Hans J Koch Signed-off-by: Greg Kroah-Hartman commit b54f2863a26d2b7c002d96abcde149940733c8e6 Author: Ben Nizette Date: Thu Mar 13 22:27:30 2008 +1100 UIO: Implement a UIO interface for the SMX Cryptengine This patch implements a UIO interface for the SMX Cryptengine. The Cryptengine found on the Nias Digital SMX board is best suited for a UIO interface. It is not wired in to the cryptographic API as the engine handles it's own keys, algorithms, everything. All that we know about is that if there's room in the buffer, you can write data to it and when there's data ready, you read it out again. There isn't necessarily even any direct correlation between data going in and data coming out again, the engine may consume or generate data all on its own. This driver is for proprietary hardware but we're always told to submit the drivers anyway; here you are. :-) This is version 4 of this patch and addresses all issues raised by Hans-Jürgen Koch and Paul Mundt in their reviews. Slightly altered is Paul's suggestion to use DRV_NAME and DRV_VERSION as the UIO version and name. While at the moment they are the same, there is no reason for them to stay that way. Nevertheless we now at least provide a MODULE_VERSION macro to keep modinfo happy. Signed-off-by: Ben Nizette Acked-by: Paul Mundt Signed-off-by: Hans J Koch Signed-off-by: Greg Kroah-Hartman commit a2a6024692ec86a9c1452ecf14da7ede0704911a Author: Hans-Jürgen Koch Date: Sun Feb 3 01:48:28 2008 +0100 UIO: Remove needless PCI_DEVICE_ID definition from uio_cif.c Meanwhile, PCI_DEVICE_ID_PLX_9030 is defined in pci_ids.h, no need to define it again in the driver. Signed-off-by: Hans J. Koch CC: Benedikt Spranger Signed-off-by: Greg Kroah-Hartman commit 2dc034a85d4164b90fa883a1226afb971174bcc5 Author: Hans-Jürgen Koch Date: Tue Feb 19 21:07:19 2008 +0100 UIO: arch/arm/Kconfig: Make UIO available on ARM architecture Source drivers/uio/Kconfig to make UIO available in menuconfig if ARCH=arm. Signed-off-by: Hans J Koch Signed-off-by: Greg Kroah-Hartman commit 0732460b3ad484c037dad8961bc4300610dd7613 Author: Denis Cheng Date: Sat Feb 2 17:51:36 2008 +0800 uio: mark pci_device_id hilscher_pci_ids[] __devinitdata Signed-off-by: Denis Cheng Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit ae210f188614bb3d1ee3f19c64e28e3cdd44877c Author: Denis Cheng Date: Sat Feb 2 17:51:35 2008 +0800 uio: Kconfig improvements Signed-off-by: Denis Cheng Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit c1ebdae514a356c71c09035f5141d94aab5e8fe4 Author: Greg Kroah-Hartman Date: Tue Feb 26 09:36:38 2008 -0800 kobject: catch kobjects that are not initialized Add warnings to kobject_put() to catch kobjects that are cleaned up but were never initialized to begin with. Cc: Kay Sievers Cc: Hannes Reinecke Signed-off-by: Greg Kroah-Hartman commit 43837b1e6c5aef803d57009a68db18df13e64892 Author: Bernard Pidoux Date: Sat Apr 19 18:41:51 2008 -0700 rose: Socket lock was not released before returning to user space ================================================ [ BUG: lock held when returning to user space! ] ------------------------------------------------ xfbbd/3683 is leaving the kernel with locks still held! 1 lock held by xfbbd/3683: #0: (sk_lock-AF_ROSE){--..}, at: [] rose_connect+0x73/0x420 [rose] INFO: task xfbbd:3683 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. xfbbd D 00000246 0 3683 3669 c6965ee0 00000092 c02c5c40 00000246 c0f6b5f0 c0f6b5c0 c0f6b5f0 c0f6b5c0 c0f6b614 c6965f18 c024b74b ffffffff c06ba070 00000000 00000000 00000001 c6ab07c0 c012d450 c0f6b634 c0f6b634 c7b5bf10 c0d6004c c7b5bf10 c6965f40 Call Trace: [] lock_sock_nested+0x6b/0xd0 [] ? autoremove_wake_function+0x0/0x40 [] sock_fasync+0x41/0x150 [] sock_close+0x19/0x40 [] __fput+0xb4/0x170 [] fput+0x18/0x20 [] filp_close+0x3e/0x70 [] sys_close+0x69/0xb0 [] sysenter_past_esp+0x5f/0xa5 ======================= INFO: lockdep is turned off. Signed-off-by: Bernard Pidoux Signed-off-by: David S. Miller commit d129f188abf14bbc13816667e4c0d465aac2c934 Author: Pavel Machek Date: Sat Apr 19 18:17:26 2008 -0700 hci_usb: remove code obfuscation _urb_free is an alias for kfree... making code longer & harder to read. Remove it. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit b132fba18bb5e30ed13ce3c623c18eb1e5795534 Author: Julia Lawall Date: Sat Apr 19 18:15:41 2008 -0700 drivers/net/appletalk: use time_before, time_before_eq, etc The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 420635f517cf1bb8929caf80ce5a30e827b9df42 Author: Julia Lawall Date: Sat Apr 19 18:14:50 2008 -0700 drivers/atm: use time_before, time_before_eq, etc The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit a8827113abb5bd1506d9be78115950d213d9a071 Author: Pavel Machek Date: Sat Apr 19 18:13:40 2008 -0700 hci_usb: do not initialize static variables to 0 hci_usb: do not initialize static variables to 0. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 41588ba1ae166eaba0a70abf2d7ff064ad9331d3 Author: Matt Carlson Date: Sat Apr 19 18:12:33 2008 -0700 tg3: 5701 DMA corruption fix Herbert Xu's commit fb93134dfc2a6e6fbedc7c270a31da03fce88db9, entitled "[TCP]: Fix size calculation in sk_stream_alloc_pskb", has triggered a bug in the 5701 where the 5701 DMA engine will corrupt outgoing packets. This problem only happens when the starting address of the packet matches a certain range of offsets and only when the 5701 is placed downstream of a particular Intel bridge. This patch detects the problematic bridge and if present, readjusts the starting address of the packet data to a dword aligned boundary. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 36ef408061da9e012375547d69b27cc1f537b044 Author: Mark Asselstine Date: Sat Apr 19 18:10:46 2008 -0700 atm nicstar: Removal of debug code containing deprecated calls to cli()/sti() Code within NS_DEBUG_SPINLOCKS contained deprecated cli()/sti() function calls. NS_DEBUG_SPINLOCKS and the associated code seems to be of little use these days so the strategy of removing this code rather then updating it to use spinlocks has been taken. Signed-off-by: Mark Asselstine Reviewed-by: Matthew Wilcox Signed-off-by: David S. Miller commit 344234de54891ed15bf8127e4640ff9238076d6c Author: David S. Miller Date: Sat Apr 19 18:09:39 2008 -0700 iwlwifi: Fix unconditional access to station->tidp[].agg. Reportred by Ingo Molnar: drivers/net/wireless/iwlwifi/iwl-debugfs.c: In function 'iwl_dbgfs_stations_read': drivers/net/wireless/iwlwifi/iwl-debugfs.c:256: error: 'struct iwl4965_tid_data' has no member named 'agg' Needs CONFIG_IWL4965_HT protection. Signed-off-by: David S. Miller commit e1f9a464026011b3f7d0f7b6dfab3e562e870a46 Author: Patrick McHardy Date: Sat Apr 19 17:53:52 2008 -0700 netfilter: Fix SIP conntrack build with NAT disabled. Reported by Ingo Molnar. The SIP helper is also useful without NAT. This patch adds an ifdef around the RTP call optimization for NATed clients. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4e9d8a70e4a48e146a0eaaa5a666f0a4889d873d Author: Patrick McHardy Date: Sat Apr 19 17:52:51 2008 -0700 netfilter: Fix SCTP nat build. We need to select LIBCRC32C. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ed3fa7c9510cde67d232299cab8052ff50a08285 Author: Peter Ma Date: Sat Apr 19 00:24:25 2008 -0700 avr32: Add hardware power-down function call This patch adds in the indirect call to pm_power_off(), as is done in other architectures (e.g. ARM). Tested on NGW100, with custom board with GPIO control over main DC power. Signed-off-by: Peter Ma Signed-off-by: Haavard Skinnemoen commit 29a0c39386a4c33af21f1d92ebce277a7535ec7e Author: Adrian Bunk Date: Mon Apr 14 21:42:20 2008 +0300 avr32: add include/asm-avr32/serial.h On Mon, Apr 14, 2008 at 03:36:24PM +0100, Alan Cox wrote: > On Mon, 14 Apr 2008 17:17:21 +0300 > Adrian Bunk wrote: > > > This patch fixes the following build error: > > > > <-- snip --> > > > > ... > > CC [M] drivers/serial/8250.o > > /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/serial/8250.c:95:24: error: asm/serial.h: No such file or directory > > make[3]: *** [drivers/serial/8250.o] Error 1 > > > > <-- snip --> > > > > Signed-off-by: Adrian Bunk > > > > --- > > 3cb4ef80d75e118ccfd44f7006aea3db54afb31c diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig > > index b1bbaa0..b0e216d 100644 > > --- a/drivers/serial/Kconfig > > +++ b/drivers/serial/Kconfig > > @@ -11,7 +11,7 @@ menu "Serial drivers" > > # The new 8250/16550 serial drivers > > config SERIAL_8250 > > tristate "8250/16550 and compatible serial support" > > - depends on (BROKEN || !SPARC) > > + depends on (BROKEN || !SPARC) && !AVR32 > > select SERIAL_CORE > > ---help--- > > NAK. > > Add an asm/serial.h to the platform as it has PCI so will have 8250 PCI > devices available to it. A copy of the MIPS one should be right. Patch below. > Alan cu Adrian <-- snip --> This patch fixes the following build error with CONFIG_SERIAL_8250: <-- snip --> ... CC [M] drivers/serial/8250.o /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/serial/8250.c:95:24: error: asm/serial.h: No such file or directory make[3]: *** [drivers/serial/8250.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: Haavard Skinnemoen commit cf2d3ff994f19151fb9200c94c24daaed82700a2 Author: Adrian Bunk Date: Mon Apr 14 17:16:53 2008 +0300 avr32: don't offer PARPORT_PC This patch fixes the following compile error: <-- snip --> ... CC [M] drivers/parport/parport_pc.o /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/parport/parport_pc.c:67:25: error: asm/parport.h: No such file or directory /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/parport/parport_pc.c: In function 'parport_pc_find_ports': /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/parport/parport_pc.c:3215: error: implicit declaration of function 'parport_pc_find_nonpci_ports' make[3]: *** [drivers/parport/parport_pc.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Haavard Skinnemoen commit cc65d90fcffe82f516ce5c9e1b8423841868d035 Author: Adrian Bunk Date: Mon Apr 14 17:16:44 2008 +0300 avr32: don't offer CONFIG_GEN_RTC This patch fixes the following compile error: <-- snip --> ... CC [M] drivers/char/genrtc.o /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/char/genrtc.c:58:21: error: asm/rtc.h: No such file or directory ... make[3]: *** [drivers/char/genrtc.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Haavard Skinnemoen commit 17015aafd6d356d5d780a6f2c286a9ff137eb211 Author: Adrian Bunk Date: Mon Apr 14 17:16:40 2008 +0300 avr32: don't offer CONFIG_RTC This patch fixes the following compile error: <-- snip --> ... CC [M] drivers/char/rtc.o In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/char/rtc.c:70: /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/mc146818rtc.h:16:59: error: asm/mc146818rtc.h: No such file or directory ... make[3]: *** [drivers/char/rtc.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Haavard Skinnemoen commit 5e840eca468135cd9a392da5004e5016a3006d43 Author: Adrian Bunk Date: Mon Apr 14 17:16:32 2008 +0300 add include/asm-avr32/xor.h This patch fixes the following compile error with CONFIG_MD_RAID456 on avr32: <-- snip --> ... CC [M] crypto/xor.o /home/bunk/linux/kernel-2.6/git/linux-2.6/crypto/xor.c:23:21: error: asm/xor.h: No such file or directory /home/bunk/linux/kernel-2.6/git/linux-2.6/crypto/xor.c: In function 'calibrate_xor_blocks': /home/bunk/linux/kernel-2.6/git/linux-2.6/crypto/xor.c:131: error: 'XOR_TRY_TEMPLATES' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/git/linux-2.6/crypto/xor.c:131: error: (Each undeclared identifier is reported only once /home/bunk/linux/kernel-2.6/git/linux-2.6/crypto/xor.c:131: error: for each function it appears in.) make[2]: *** [crypto/xor.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Haavard Skinnemoen commit e6bef83af76dc373a27b3e9b617f65daa7dff2f4 Author: Johannes Weiner Date: Thu Apr 10 06:40:54 2008 +0200 avr32: Remove two unused #defines from mm/init.c Signed-off-by: Johannes Weiner Signed-off-by: Haavard Skinnemoen commit 35bf50ccc80584a1404982f02fc4368e991ff55c Author: Hans-Christian Egtvedt Date: Wed Dec 19 09:29:19 2007 +0100 avr32: Implement set_rate(), set_parent() and mode() for pll1 This patch is a take two of adding full functionality to PLL1 on AT32AP7000. This allows board-specific code and drivers to configure and enable PLL1. This is useful when precise control over the frequency of e.g. a genclock is needed and requested by users for the ABDAC device. The patch is based upon previous patches from both Haavard Skinnemoen and David Brownell. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit e723ff666a5da8f7fda4e36ebfeafac2175a5c6e Author: David Brownell Date: Thu Feb 14 11:24:02 2008 -0800 avr32: Generic clockevents support This combines three patches from David Brownell: * avr32: tclib support * avr32: simplify clocksources * avr32: Turn count/compare into a oneshot clockevent device Register both TC blocks (instead of just the first one) so that the AT32/AT91 tclib code will pick them up (instead of just the avr32-only PIT-style clocksource). Rename the first one and its resources appropriately. More cleanups to the cycle counter clocksource code - Disable all the weak symbol magic; remove the AVR32-only TCB-based clocksource code (source and header). - Mark the __init code properly. - Don't forget to report IRQF_TIMER. - Make the system work properly with this clocksource, by preventing use of the CPU "idle" sleep state in the idle loop when it's used. Package the avr32 count/compare timekeeping support as a oneshot clockevent device, so it supports NO_HZ and high res timers. This means it also supports plugging in other clockevent devices and clocksources. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 7e59128f31e0c57d52e86d57730d4c9281494dda Author: Haavard Skinnemoen Date: Sun Feb 24 23:24:26 2008 +0100 avr32: Move sleep code into mach-at32ap Create a new file, pm-at32ap700x.S, in mach-at32ap and move the CPU idle sleep code there. Make it possible to disable the sleep code. Signed-off-by: Haavard Skinnemoen commit 02f99d1ca70d190ce12d040971819be22ea710c8 Author: Haavard Skinnemoen Date: Sun Feb 24 23:19:22 2008 +0100 avr32: Use constants from sysreg.h in asm.h Signed-off-by: Haavard Skinnemoen commit 46acb55b4b745256a33b2eaeb6d21fffdb091745 Author: Haavard Skinnemoen Date: Sun Feb 24 14:09:25 2008 +0100 avr32: Delete mostly unused header asm/intc.h Move the only thing that was actually implemented and used in asm/intc.h, intc_get_pending(), into asm/irq.h and delete asm/intc.h Signed-off-by: Haavard Skinnemoen commit 62c6df62f9575cffd673bfc395270e6896a12a60 Author: David Brownell Date: Tue Feb 12 14:45:49 2008 -0800 avr32: start clocksource cleanup Start cleaning up the AVR32 clocksource mess, starting with the cycle counter clocksource: remove unneeded pseudo-RTC (just inline that call to mktime) and associated build warning, and unused sysdev. Add comment about the problem using the cycle counter register, and adjust the clocksource rating accordingly. Later patches can make this usable again (by disabling use of the idle state and providing a proper clocksource without the weak binding hacks) and move towards TCB-based clockevent support (including high resolution timers) that's shared between AT91 and AVR32. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 040b28fc0a69281a46adcebd6b31dd74da4a8d49 Author: Ben Nizette Date: Thu Feb 7 15:28:57 2008 +1100 avr32: pass i2c board info through at32_add_device_twi New-style I2C drivers require that motherboard-mounted I2C devices are registered with the I2C core, typically at arch_initcall time. This can be done nice and neat by passing the struct i2c_board_info[] through at32_add_device_twi just like we do for the SPI board info. While we've got the hood up, remove a duplicate declaration of at32_add_device_twi() in board.h. [hskinnemoen@atmel.com: add missing i2c_board_info forward-declaration] Signed-Off-By: Ben Nizette Signed-off-by: Haavard Skinnemoen commit e573ebb0326f2f4a29ee2bd143bfc88ab0332926 Author: Cyrill Gorcunov Date: Sun Feb 3 14:22:18 2008 +0300 avr32: cleanup - use _AC macro to define PAGE_SIZE PAGE_SIZE is used both from assembly and C code. We want to have type specifiers when using it from C, but this will make the assembler confused, so we need to make it conditional. This is exactly what the _AC macro is for, so using it allows us to get rid of a few lines of cpp noise. Signed-off-by: Cyrill Gorcunov Signed-off-by: Haavard Skinnemoen commit 3a4e832cccc5baba98ba010e38c58266954228a7 Author: Hans-Christian Egtvedt Date: Tue Dec 4 13:15:41 2007 +0100 Generate raw keyboard codes for AVR32 architecture This patchs adds the AVR32 architecture to the list of archs to generate a table of raw keyboard keycodes. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit e1c25dc638db01600069b3f9167d1b35f8d574b5 Merge: 03414e5... 16a45bc... Author: Haavard Skinnemoen Date: Sat Apr 19 20:38:41 2008 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/usba-2.6.26 into base commit 03414e57ad9875d0c8bfa5a4a65813cb2157372e Merge: 3925e6f... 3ee08ae... Author: Haavard Skinnemoen Date: Sat Apr 19 20:38:13 2008 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/tclib into base commit a3dab293539031b0970585b9b355cebbc91ecbd4 Author: Adrian Bunk Date: Mon Apr 14 21:41:32 2008 +0300 make nfs_automount_list static nfs_automount_list can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Trond Myklebust commit daa7da5fd3040e08e3d7878cd0667c1f4cfd338a Author: Jeff Layton Date: Fri Apr 11 11:50:58 2008 -0400 NFS: remove duplicate flags assignment from nfs_validate_mount_data Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit 63649bd7080a6a50fabcb1935f4b7c4e64155066 Author: Cyrill Gorcunov Date: Thu Apr 17 20:42:09 2008 +0400 NFS - fix potential NULL pointer dereference v2 There is possible NULL pointer dereference if kstr[n]dup failed. So fix them for safety. Signed-off-by: Cyrill Gorcunov Signed-off-by: Trond Myklebust commit cd019f7517206a74d8cdb64d5c82b1f76be608cc Author: Trond Myklebust Date: Thu Apr 17 17:03:58 2008 -0400 SUNRPC: Don't change the RPCSEC_GSS context on a credential that is in use When a server rejects our credential with an AUTH_REJECTEDCRED or similar, we need to refresh the credential and then retry the request. However, we do want to allow any requests that are in flight to finish executing, so that we can at least attempt to process the replies that depend on this instance of the credential. The solution is to ensure that gss_refresh() looks up an entirely new RPCSEC_GSS credential instead of attempting to create a context for the existing invalid credential. Signed-off-by: Trond Myklebust commit 7b6962b0a6000df48c8a5fd967d262f77704101b Author: Trond Myklebust Date: Thu Apr 17 16:53:01 2008 -0400 SUNRPC: Fix a race in gss_refresh_upcall() If the downcall completes before we get the spin_lock then we currently fail to refresh the credential. Signed-off-by: Trond Myklebust commit 7c1d71cf56feebfb5b98219b9d11dfc3a2feca62 Author: Trond Myklebust Date: Thu Apr 17 16:52:57 2008 -0400 SUNRPC: Don't disconnect more than once if retransmitting NFSv4 requests NFSv4 requires us to ensure that we break the TCP connection before we're allowed to retransmit a request. However in the case where we're retransmitting several requests that have been sent on the same connection, we need to ensure that we don't interfere with the attempt to reconnect and/or break the connection again once it has been established. We therefore introduce a 'connection' cookie that is bumped every time a connection is broken. This allows requests to track if they need to force a disconnection. Signed-off-by: Trond Myklebust commit 636ac43318ce6939c1698fb67e714d421314ed71 Author: Trond Myklebust Date: Thu Apr 17 14:00:47 2008 -0400 SUNRPC: Remove the unused export of xprt_force_disconnect Signed-off-by: Trond Myklebust commit 06b4b681ababc20596aa947595714710f557131d Author: Trond Myklebust Date: Wed Apr 16 16:51:38 2008 -0400 SUNRPC: remove XS_SENDMSG_RETRY The condition for exiting from the loop in xs_tcp_send_request() should be that we find we're not making progress (i.e. number of bytes sent is 0). Signed-off-by: Trond Myklebust commit d2b831416365e8b1f27809b62d5e4260883956cc Author: Trond Myklebust Date: Mon Apr 14 18:13:37 2008 -0400 SUNRPC: Protect creds against early garbage collection Signed-off-by: Trond Myklebust commit a2b2bb8822c78806930bbb4d4c5bb3ae69648fd0 Author: Trond Myklebust Date: Tue Apr 8 16:02:17 2008 -0400 NFSv4: Attempt to use machine credentials in SETCLIENTID calls Signed-off-by: Trond Myklebust commit 7c67db3a8a98045744f06fcd6d8f476d9df0ba5c Author: Trond Myklebust Date: Mon Apr 7 20:50:11 2008 -0400 NFSv4: Reintroduce machine creds We need to try to ensure that we always use the same credentials whenever we re-establish the clientid on the server. If not, the server won't recognise that we're the same client, and so may not allow us to recover state. Signed-off-by: Trond Myklebust commit 78ea323be6380a9313e87fe241809e912e8ae401 Author: Trond Myklebust Date: Mon Apr 7 20:49:28 2008 -0400 NFSv4: Don't use cred->cr_ops->cr_name in nfs4_proc_setclientid() With the recent change to generic creds, we can no longer use cred->cr_ops->cr_name to distinguish between RPCSEC_GSS principals and AUTH_SYS/AUTH_NULL identities. Replace it with the rpc_authops->au_name instead... Signed-off-by: Trond Myklebust commit 441092415770ddec648800701895913c4bfd60c1 Author: Fred Isaman Date: Wed Apr 2 15:21:15 2008 +0300 nfs: fix printout of multiword bitfields Benny points out that zero-padding of multiword bitfields is necessary, and that delimiting each word is nice to avoid endianess confusion. bhalevy: without zero padding output can be ambiguous. Also, since the printed array of two 32-bit unsigned integers is not a 64-bit number, delimiting the output with a semicolon makes more sense. Signed-off-by: Fred Isaman Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 856dff3d3875bdc8b88e4a65779873af76776a69 Author: Benny Halevy Date: Mon Mar 31 17:39:06 2008 +0300 nfs: return negative error value from nfs{,4}_stat_to_errno All use sites for nfs{,4}_stat_to_errno negate their return value. It's more efficient to return a negative error from the stat_to_errno convertors rather than negating its return value everywhere. This also produces slightly smaller code. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit d11d10cc05c94a32632d6928d15a1034200dd9a5 Author: Trond Myklebust Date: Wed Apr 2 14:44:05 2008 -0400 NLM/lockd: Ensure client locking calls use correct credentials Now that we've added the 'generic' credentials (that are independent of the rpc_client) to the nfs_open_context, we can use those in the NLM client to ensure that the lock/unlock requests are authenticated to whoever originally opened the file. Signed-off-by: Trond Myklebust commit c4d7c402b788b73dc24f1e54a57f89d3dc5eb7bc Author: Trond Myklebust Date: Tue Apr 1 20:26:52 2008 -0400 NFS: Remove the buggy lock-if-signalled case from do_setlk() Both NLM and NFSv4 should be able to clean up adequately in the case where the user interrupts the RPC call... Signed-off-by: Trond Myklebust commit 5f50c0c6d644d6c8180d9079c13c5d9de3adeb34 Author: Trond Myklebust Date: Tue Apr 1 20:26:22 2008 -0400 NLM/lockd: Fix a race when cancelling a blocking lock We shouldn't remove the lock from the list of blocked locks until the CANCEL call has completed since we may be racing with a GRANTED callback. Also ensure that we send an UNLOCK if the CANCEL request failed. Normally that should only happen if the process gets hit with a fatal signal. Signed-off-by: Trond Myklebust commit 6b4b3a752b3464f2fd9fe2837fb19270c23c1d6b Author: Trond Myklebust Date: Wed Apr 2 14:40:53 2008 -0400 NLM/lockd: Ensure that nlmclnt_cancel() returns results of the CANCEL call Currently, it returns success as long as the RPC call was sent. We'd like to know if the CANCEL operation succeeded on the server. Signed-off-by: Trond Myklebust commit 8ec7ff74448f65ac963e330795d771ab14ec8408 Author: Trond Myklebust Date: Fri Mar 28 16:04:51 2008 -0400 NLM: Remove the signal masking in nlmclnt_proc/nlmclnt_cancel The signal masks have been rendered obsolete by the preceding patch. Signed-off-by: Trond Myklebust commit dc9d8d048168ff61c458bec06b28996cb90b182a Author: Trond Myklebust Date: Fri Mar 28 16:04:36 2008 -0400 NLM/lockd: convert __nlm_async_call to use rpc_run_task() Peter Staubach comments: > In the course of investigating testing failures in the locking phase of > the Connectathon testsuite, I discovered a couple of things. One was > that one of the tests in the locking tests was racy when it didn't seem > to need to be and two, that the NFS client asynchronously releases locks > when a process is exiting. ... > The Single UNIX Specification Version 3 specifies that: "All locks > associated with a file for a given process shall be removed when a file > descriptor for that file is closed by that process or the process holding > that file descriptor terminates.". > > This does not specify whether those locks must be released prior to the > completion of the exit processing for the process or not. However, > general assumptions seem to be that those locks will be released. This > leads to more deterministic behavior under normal circumstances. The following patch converts the NFSv2/v3 locking code to use the same mechanism as NFSv4 for sending asynchronous RPC calls and then waiting for them to complete. This ensures that the UNLOCK and CANCEL RPC calls will complete even if the user interrupts the call, yet satisfies the above request for synchronous behaviour on process exit. Signed-off-by: Trond Myklebust commit 5e7f37a76fa5b604949020b7317962262812b2dd Author: Trond Myklebust Date: Tue Apr 1 18:58:49 2008 -0400 NLM/lockd: Add a reference counter to struct nlm_rqst When we replace the existing synchronous RPC calls with asynchronous calls, the reference count will be needed in order to allow us to examine the result of the RPC call. Signed-off-by: Trond Myklebust commit 536ff0f809b0f4d56e1c41e66768d330668e0a55 Author: Trond Myklebust Date: Fri Apr 4 15:08:02 2008 -0400 NFSv4: Ensure we don't corrupt fl->fl_flags in nfs4_proc_unlck Signed-off-by: Trond Myklebust commit 4a9af59fee0701d9db99bc148d87b8852d6d6dd8 Author: Trond Myklebust Date: Tue Apr 1 18:57:06 2008 -0400 NLM/lockd: Ensure we don't corrupt fl->fl_flags in nlmclnt_unlock() Also fix up nlmclnt_lock() so that it doesn't pass modified versions of fl->fl_flags to nlmclnt_cancel() and other helpers. Signed-off-by: Trond Myklebust commit 1e799b673c6b82b336ab13c48b5651d511ca3000 Author: Trond Myklebust Date: Fri Mar 21 16:19:41 2008 -0400 SUNRPC: Fix read ordering problems with req->rq_private_buf.len We want to ensure that req->rq_private_buf.len is updated before req->rq_received, so that call_decode() doesn't use an old value for req->rq_rcv_buf.len. In 'call_decode()' itself, instead of using task->tk_status (which is set using req->rq_received) must use the actual value of req->rq_private_buf.len when deciding whether or not the received RPC reply is too short. Finally ensure that we set req->rq_rcv_buf.len to zero when retrying a request. A typo meant that we were resetting req->rq_private_buf.len in call_decode(), and then clobbering that value with the old rq_rcv_buf.len again in xprt_transmit(). Signed-off-by: Trond Myklebust commit c1d519312dcdf11532fed9f99a8ecc3547ffd9d6 Author: Trond Myklebust Date: Mon Apr 7 13:20:54 2008 -0400 NFSv4: Only increment the sequence id if the server saw it It is quite possible that the OPEN, CLOSE, LOCK, LOCKU,... compounds fail before the actual stateful operation has been executed (for instance in the PUTFH call). There is no way to tell from the overall status result which operations were executed from the COMPOUND. The fix is to move incrementing of the sequence id into the XDR layer, so that we do it as we process the results from the stateful operation. Signed-off-by: Trond Myklebust commit 35d05778e25ee16dbddb60331be0bc1309efba19 Author: Trond Myklebust Date: Sat Apr 5 15:54:17 2008 -0400 NFSv4: Remove bogus call to nfs4_drop_state_owner() in _nfs4_open_expired() There should be no need to invalidate a perfectly good state owner just because of a stale filehandle. Doing so can cause the state recovery code to break, since nfs4_get_renew_cred() and nfs4_get_setclientid_cred() rely on finding active state owners. Signed-off-by: Trond Myklebust commit dbae4c73f08b8a7980cc912954ade3d4c1fb6147 Author: Trond Myklebust Date: Mon Apr 14 14:54:53 2008 -0400 NFS: Ensure that rpc_run_task() errors are propagated back to the caller Signed-off-by: Trond Myklebust commit c9d8f89d9816c1d16ada492aa547a4d692508c0d Author: Trond Myklebust Date: Tue Apr 15 16:56:39 2008 -0400 NFS: Ensure that the write code cleans up properly when rpc_run_task() fails Signed-off-by: Trond Myklebust commit fdd1e74c89fe39259a29c494209abad63ff76f82 Author: Trond Myklebust Date: Tue Apr 15 16:33:58 2008 -0400 NFS: Ensure that the read code cleans up properly when rpc_run_task() fails In the case of readpage() we need to ensure that the pages get unlocked, and that the error is flagged. In the case of O_DIRECT, we need to ensure that the pages are all released. Signed-off-by: Trond Myklebust commit 73e3302f60c0e11a0db0b34b903f591139c4f937 Author: Trond Myklebust Date: Fri Apr 11 16:03:54 2008 -0400 NFS: Fix nfs_wb_page() to always exit with an error or a clean page It is possible for nfs_wb_page() to sometimes exit with 0 return value, yet the page is left in a dirty state. For instance in the case where the server rebooted, and the COMMIT request failed, then all the previously "clean" pages which were cached by the server, but were not guaranteed to have been writted out to disk, have to be redirtied and resent to the server. The fix is to have nfs_wb_page_priority() check that the page is clean before it exits... This fixes a condition that triggers the BUG_ON(PagePrivate(page)) in nfs_create_request() when we're in the nfs_readpage() path. Also eliminate a redundant BUG_ON(!PageLocked(page)) while we're at it. It turns out that clear_page_dirty_for_io() has the exact same test. Signed-off-by: Trond Myklebust commit 080a1f148df0615f7a610e4776dd8f3fb706f54f Author: Trond Myklebust Date: Sat Apr 19 14:22:31 2008 -0400 SUNRPC: Don't attempt to destroy expired RPCSEC_GSS credentials.. ..and always destroy using a 'soft' RPC call. Destroying GSS credentials isn't mandatory; the server can always cope with a few credentials not getting destroyed in a timely fashion. This actually fixes a hang situation. Basically, some servers will decide that the client is crazy if it tries to destroy an RPC context for which they have sent an RPCSEC_GSS_CREDPROBLEM, and so will refuse to talk to it for a while. The regression therefor probably was introduced by commit 0df7fb74fbb709591301871a38aac7735a1d6583. Signed-off-by: Trond Myklebust commit b6ddf64ffe9d59577a9176856bb6fe69a539f573 Author: Trond Myklebust Date: Thu Apr 17 18:52:19 2008 -0400 SUNRPC: Fix up xprt_write_space() The rest of the networking layer uses SOCK_ASYNC_NOSPACE to signal whether or not we have someone waiting for buffer memory. Convert the SUNRPC layer to use the same idiom. Remove the unlikely()s in xs_udp_write_space and xs_tcp_write_space. In fact, the most common case will be that there is nobody waiting for buffer space. SOCK_NOSPACE is there to tell the TCP layer whether or not the cwnd was limited by the application window. Ensure that we follow the same idiom as the rest of the networking layer here too. Finally, ensure that we clear SOCK_ASYNC_NOSPACE once we wake up, so that write_space() doesn't keep waking things up on xprt->pending. Signed-off-by: Trond Myklebust commit 24b74bf0c9e08cbda74d3c64af69ad402ed54e04 Author: Trond Myklebust Date: Sat Apr 19 13:15:47 2008 -0400 SUNRPC: Fix a bug in call_decode() call_verify() can, under certain circumstances, free the RPC slot. In that case, our cached pointer 'req = task->tk_rqstp' is invalid. Bug was introduced in commit 220bcc2afd7011b3e0569fc178331fa983c92c1b (SUNRPC: Don't call xprt_release in call refresh). Signed-off-by: Trond Myklebust commit 4bc1dca4b0eb4dfbf100895bfc1256f21e3c901a Author: Artem Bityutskiy Date: Sat Apr 19 20:44:31 2008 +0300 UBI: fix mean EC calculation (a + b) / (c + d) != a / c + b / d. The old code errornously assumed this incorrect formuld. Instead, just sum all erase counters in a 64-bit variable and divide to the number of EBs at the end. Thanks to Adrian Hunter for pointing this out. Signed-off-by: Artem Bityutskiy commit d2f5e80862d33a7746a40569840248a592dbc395 Author: Matthew Wilcox Date: Sat Apr 19 13:49:34 2008 -0400 Deprecate the asm/semaphore.h files in feature-removal-schedule. Signed-off-by: Matthew Wilcox commit 486fdae21458bd9f4e125099bb3c38a4064e450e Author: Ingo Molnar Date: Sat Apr 19 12:11:10 2008 +0200 sched: build fix Signed-off-by: Ingo Molnar commit b9b158fe1ca2c166ff918de30cb098eafcae487a Author: Viktor Radnai Date: Sat Apr 19 19:45:01 2008 +0200 sched: better rt-group documentation Viktor was nice enough to enhance the document based on my replies to his questions on the subject. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c24b7c524421f9ea9d9ebab55f80cfb1f3fb77a3 Author: Ingo Molnar Date: Fri Apr 18 10:55:34 2008 +0200 sched: features fix Signed-off-by: Ingo Molnar commit f00b45c145981b43c7e7f66315ac77534c938cbf Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: /debug/sched_features provide a text based interface to the scheduler features; this saves the 'user' from setting bits using decimal arithmetic. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 06379aba522ebdabca37446ea988a23c43c03c67 Author: Ingo Molnar Date: Sat Apr 19 09:25:58 2008 +0200 sched: add SCHED_FEAT_DEADLINE unused at the moment. Signed-off-by: Ingo Molnar commit 7ba2e74ab5a0518bc953042952dd165724bc70c9 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: debug: show a weight tree Print a tree of weights. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 8f1bc385cfbab474db6c27b5af1e439614f3025c Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: fair: weight calculations In order to level the hierarchy, we need to calculate load based on the root view. That is, each task's load is in the same unit. A / \ B 1 / \ 2 3 To compute 1's load we do: weight(1) -------------- rq_weight(A) To compute 2's load we do: weight(2) weight(B) ------------ * ----------- rq_weight(B) rw_weight(A) This yields load fractions in comparable units. The consequence is that it changes virtual time. We used to have: time_{i} vtime_{i} = ------------ weight_{i} vtime = \Sum vtime_{i} = time / rq_weight. But with the new way of load calculation we get that vtime equals time. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4a55bd5e97b1775913f88f11108a4f144f590e89 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: fair-group: de-couple load-balancing from the rb-trees De-couple load-balancing from the rb-trees, so that I can change their organization. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit ac884dec6d4a7df252150af875cffddf8f1d9c15 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: fair-group scheduling vs latency Currently FAIR_GROUP sched grows the scheduler latency outside of sysctl_sched_latency, invert this so it stays within. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 58d6c2d72f8628f39e8689fbde8aa177fcf00a37 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: rt-group: optimize dequeue_rt_stack Now that the group hierarchy can have an arbitrary depth the O(n^2) nature of RT task dequeues will really hurt. Optimize this by providing space to store the tree path, so we can walk it the other way. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit d19ca30874f2ad343d054e0b5c0576744afeecd4 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: debug: add some debug code to handle the full hierarchy Add some extra debug output so we can get a better overview of the full hierarchy. We print the cgroup path after each cfs_rq, so we can see what group we're looking at. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 18d95a2832c1392a2d63227a7a6d433cb9f2037e Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: fair-group: SMP-nice for group scheduling Implement SMP nice support for the full group hierarchy. On each load-balance action, compile a sched_domain wide view of the full task_group tree. We compute the domain wide view when walking down the hierarchy, and readjust the weights when walking back up. After collecting and readjusting the domain wide view, we try to balance the tasks within the task_groups. The current approach is a naively balance each task group until we've moved the targeted amount of load. Inspired by Srivatsa Vaddsgiri's previous code and Abhishek Chandra's H-SMP paper. XXX: there will be some numerical issues due to the limited nature of SCHED_LOAD_SCALE wrt to representing a task_groups influence on the total weight. When the tree is deep enough, or the task weight small enough, we'll run out of bits. Signed-off-by: Peter Zijlstra CC: Abhishek Chandra CC: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit 1d3504fcf5606579d60b649d19f44b3871c1ddae Author: Hidetoshi Seto Date: Tue Apr 15 14:04:23 2008 +0900 sched, cpuset: customize sched domains, core [rebased for sched-devel/latest] - Add a new cpuset file, having levels: sched_relax_domain_level - Modify partition_sched_domains() and build_sched_domains() to take attributes parameter passed from cpuset. - Fill newidle_idx for node domains which currently unused but might be required if sched_relax_domain_level become higher. - We can change the default level by boot option 'relax_domain_level='. Signed-off-by: Hidetoshi Seto Signed-off-by: Ingo Molnar commit 4d5f35533fb9b2cd553cec6611195bcbfb7ffd84 Author: Hidetoshi Seto Date: Tue Apr 15 14:03:17 2008 +0900 sched, cpuset: customize sched domains, docs This patch introduces new feature of cpuset - sched domain customization. This version provides a per-cpuset file 'sched_relax_domain_level' that enable us to change the searching range of scheduler, which used to limit how many cpus the scheduler searches at some schedule events, such as wakening task and running out of runqueue. Signed-off-by: Hidetoshi Seto Signed-off-by: Ingo Molnar commit b758149c02638146a835f42097dd1950a6cae638 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: prepatory code movement Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit b40b2e8eb52192a8a22d707ed37925792b7bdfd1 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: rt: multi level group constraints multi level rt constraints Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit f473aa5e025bc8e0c5fe9352f65178a54adadec2 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: task_group hierarchy Add the full parent<->child relation thing into task_groups as well. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit eff766a65c60237bfa865160c3129de31fab591b Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: fix the task_group hierarchy for UID grouping UID grouping doesn't actually have a task_group representing the root of the task_group tree. Add one. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit ec7dc8ac73e4a56ed03b673f026f08c0d547f597 Author: Dhaval Giani Date: Sat Apr 19 19:44:59 2008 +0200 sched: allow the group scheduler to have multiple levels This patch makes the group scheduler multi hierarchy aware. [a.p.zijlstra@chello.nl: rt-parts and assorted fixes] Signed-off-by: Dhaval Giani Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 354d60c2ff72d86627dfe2089d186824abf4bb8e Author: Dhaval Giani Date: Sat Apr 19 19:44:59 2008 +0200 sched: mix tasks and groups This patch allows tasks and groups to exist in the same cfs_rq. With this change the CFS group scheduling follows a 1/(M+N) model from a 1/(1+N) fairness model where M tasks and N groups exist at the cfs_rq level. [a.p.zijlstra@chello.nl: rt bits and assorted fixes] Signed-off-by: Dhaval Giani Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit ea736ed5d353d7a3aa1cf8ce4cf8d947bc353fb2 Author: Ingo Molnar Date: Tue Mar 25 13:51:45 2008 +0100 sched: fix checks Signed-off-by: Ingo Molnar commit 112f53f5d700589de741dca67c77439e96ea94a7 Author: Peter Zijlstra Date: Wed Mar 19 11:43:36 2008 +0100 sched: old sleeper bonus Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit cd8ba7cd9be0192348c2836cb6645d9b2cd2bfd2 Author: Mike Travis Date: Wed Mar 26 14:23:49 2008 -0700 sched: add new set_cpus_allowed_ptr function Add a new function that accepts a pointer to the "newly allowed cpus" cpumask argument. int set_cpus_allowed_ptr(struct task_struct *p, const cpumask_t *new_mask) The current set_cpus_allowed() function is modified to use the above but this does not result in an ABI change. And with some compiler optimization help, it may not introduce any additional overhead. Additionally, to enforce the read only nature of the new_mask arg, the "const" property is migrated to sub-functions called by set_cpus_allowed. This silences compiler warnings. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit e0982e90cd1ecf59818b137386b7f63debded9cc Author: Mike Travis Date: Wed Mar 26 14:23:48 2008 -0700 init: move setup of nr_cpu_ids to as early as possible Move the setting of nr_cpu_ids from sched_init() to start_kernel() so that it's available as early as possible. Note that an arch has the option of setting it even earlier if need be, but it should not result in a different value than the setup_nr_cpu_ids() function. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 4bdbaad33d0f4d0e9818a38a825f5b75c0296a28 Author: Mike Travis Date: Tue Apr 15 16:35:52 2008 -0700 sched: remove another cpumask_t variable from stack * Remove another cpumask_t variable from stack that was missed in the last kernel_sched_c updates. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 9d1fe3236a1d64ab687e16b4cbbaa1383352a2c1 Author: Mike Travis Date: Tue Apr 8 11:43:04 2008 -0700 cpumask: add show cpu map functions * Add cpu_sysdev_class functions to display the following maps with cpulist_scnprintf(). cpu_online_map cpu_present_map cpu_possible_map * Small change to include/linux/sysdev.h to allow the attribute name and label to be different (to avoid collision with the "attr_online" entry for bringing cpus on- and off-line.) Cc: H. Peter Anvin Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 39106dcf85285e78f3b290022122c76f851379b8 Author: Mike Travis Date: Tue Apr 8 11:43:03 2008 -0700 cpumask: use new cpus_scnprintf function * Cleaned up references to cpumask_scnprintf() and added new cpulist_scnprintf() interfaces where appropriate. * Fix some small bugs (or code efficiency improvments) for various uses of cpumask_scnprintf. * Clean up some checkpatch errors. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit fb0f330e62d71f7c535251438068199af320cf73 Author: Mike Travis Date: Tue Apr 8 11:43:02 2008 -0700 x86: modify show_shared_cpu_map in intel_cacheinfo * Removed kmalloc (or local array) in show_shared_cpu_map(). * Added show_shared_cpu_list() function. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 9f0e8d0400d925c3acd5f4e01dbeb736e4011882 Author: Mike Travis Date: Fri Apr 4 18:11:01 2008 -0700 x86: convert cpumask_of_cpu macro to allocated array * Here is a simple patch to use an allocated array of cpumasks to represent cpumask_of_cpu() instead of constructing one on the stack. It's based on the Kconfig option "HAVE_CPUMASK_OF_CPU_MAP" which is currently only set for x86_64 SMP. Otherwise the the existing cpumask_of_cpu() is used but has been changed to produce an lvalue so a pointer to it can be used. Cc: H. Peter Anvin Signed-off-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 321a8e9dcb714f3c350ba55e41ed447bf3f05fac Author: Mike Travis Date: Fri Apr 4 18:11:02 2008 -0700 cpumask: add CPU_MASK_ALL_PTR macro * Add a static cpumask_t variable "CPU_MASK_ALL_PTR" to use as a pointer reference to CPU_MASK_ALL. This reduces where possible the instances where CPU_MASK_ALL allocates and fills a large array on the stack. Used only if NR_CPUS > BITS_PER_LONG. * Change init/main.c to use new set_cpus_allowed_ptr(). Depends on: [sched-devel]: sched: add new set_cpus_allowed_ptr function Cc: H. Peter Anvin Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 7c16ec585c558960a508ccf9a08fcb9ed49b3754 Author: Mike Travis Date: Fri Apr 4 18:11:11 2008 -0700 cpumask: reduce stack usage in SD_x_INIT initializers * Remove empty cpumask_t (and all non-zero/non-null) variables in SD_*_INIT macros. Use memset(0) to clear. Also, don't inline the initializer functions to save on stack space in build_sched_domains(). * Merge change to include/linux/topology.h that uses the new node_to_cpumask_ptr function in the nr_cpus_node macro into this patch. Depends on: [mm-patch]: asm-generic-add-node_to_cpumask_ptr-macro.patch [sched-devel]: sched: add new set_cpus_allowed_ptr function Cc: H. Peter Anvin Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit c5f59f0833df945eef7ff35f3dc6ba61c5f293dd Author: Mike Travis Date: Fri Apr 4 18:11:10 2008 -0700 nodemask: use new node_to_cpumask_ptr function * Use new node_to_cpumask_ptr. This creates a pointer to the cpumask for a given node. This definition is in mm patch: asm-generic-add-node_to_cpumask_ptr-macro.patch * Use new set_cpus_allowed_ptr function. Depends on: [mm-patch]: asm-generic-add-node_to_cpumask_ptr-macro.patch [sched-devel]: sched: add new set_cpus_allowed_ptr function [x86/latest]: x86: add cpus_scnprintf function Cc: Greg Kroah-Hartman Cc: Greg Banks Cc: H. Peter Anvin Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit b53e921ba1cff8453dc9a87a84052fa12d5b30bd Author: Mike Travis Date: Fri Apr 4 18:11:08 2008 -0700 generic: reduce stack pressure in sched_affinity * Modify sched_affinity functions to pass cpumask_t variables by reference instead of by value. * Use new set_cpus_allowed_ptr function. Depends on: [sched-devel]: sched: add new set_cpus_allowed_ptr function Cc: Paul Jackson Cc: Cliff Wickman Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit f9a86fcbbb1e5542eabf45c9144ac4b6330861a4 Author: Mike Travis Date: Fri Apr 4 18:11:07 2008 -0700 cpuset: modify cpuset_set_cpus_allowed to use cpumask pointer * Modify cpuset_cpus_allowed to return the currently allowed cpuset via a pointer argument instead of as the function return value. * Use new set_cpus_allowed_ptr function. * Cleanup CPU_MASK_ALL and NODE_MASK_ALL uses. Depends on: [sched-devel]: sched: add new set_cpus_allowed_ptr function Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit f70316dace2bb99730800d47044acb818c6735f6 Author: Mike Travis Date: Fri Apr 4 18:11:06 2008 -0700 generic: use new set_cpus_allowed_ptr function * Use new set_cpus_allowed_ptr() function added by previous patch, which instead of passing the "newly allowed cpus" cpumask_t arg by value, pass it by pointer: -int set_cpus_allowed(struct task_struct *p, cpumask_t new_mask) +int set_cpus_allowed_ptr(struct task_struct *p, const cpumask_t *new_mask) * Modify CPU_MASK_ALL Depends on: [sched-devel]: sched: add new set_cpus_allowed_ptr function Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit fc0e474840d1fd96f28fbd76d4f36b80e7ad1cc3 Author: Mike Travis Date: Fri Apr 4 18:11:05 2008 -0700 x86: use new set_cpus_allowed_ptr function * Use new set_cpus_allowed_ptr() function added by previous patch, which instead of passing the "newly allowed cpus" cpumask_t arg by value, pass it by pointer: -int set_cpus_allowed(struct task_struct *p, cpumask_t new_mask) +int set_cpus_allowed_ptr(struct task_struct *p, const cpumask_t *new_mask) * Cleanup uses of CPU_MASK_ALL. * Collapse other NR_CPUS changes to arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c Use pointers to cpumask_t arguments whenever possible. Depends on: [sched-devel]: sched: add new set_cpus_allowed_ptr function Cc: Len Brown Cc: Dave Jones Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 434d53b00d6bb7be0a1d3dcc0d0d5df6c042e164 Author: Mike Travis Date: Fri Apr 4 18:11:04 2008 -0700 sched: remove fixed NR_CPUS sized arrays in kernel_sched_c * Change fixed size arrays to per_cpu variables or dynamically allocated arrays in sched_init() and sched_init_smp(). (1) static struct sched_entity *init_sched_entity_p[NR_CPUS]; (1) static struct cfs_rq *init_cfs_rq_p[NR_CPUS]; (1) static struct sched_rt_entity *init_sched_rt_entity_p[NR_CPUS]; (1) static struct rt_rq *init_rt_rq_p[NR_CPUS]; static struct sched_group **sched_group_nodes_bycpu[NR_CPUS]; (1) - these arrays are allocated via alloc_bootmem_low() * Change sched_domain_debug_one() to use cpulist_scnprintf instead of cpumask_scnprintf. This reduces the output buffer required and improves readability when large NR_CPU count machines arrive. * In sched_create_group() we allocate new arrays based on nr_cpu_ids. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit d366f8cbc16882e93538d9a52423c2f50dad7c06 Author: Mike Travis Date: Fri Apr 4 18:11:12 2008 -0700 cpumask: Cleanup more uses of CPU_MASK and NODE_MASK * Replace usages of CPU_MASK_NONE, CPU_MASK_ALL, NODE_MASK_NONE, NODE_MASK_ALL to reduce stack requirements for large NR_CPUS and MAXNODES counts. * In some cases, the cpumask variable was initialized but then overwritten with another value. This is the case for changes like this: - cpumask_t oldmask = CPU_MASK_ALL; + cpumask_t oldmask; Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit f46bdf2db25dfaff3b611c9711705645cdb03acc Author: Mike Travis Date: Fri Apr 4 18:11:09 2008 -0700 numa: move large array from stack to _initdata section * Move large array "struct bootnode nodes" from stack to _initdata section to reduce amount of stack space required. Cc: H. Peter Anvin Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit aa6b54461cc5c0019b9d792adf3176b444c10763 Author: Mike Travis Date: Mon Mar 31 08:41:55 2008 -0700 asm-generic: add node_to_cpumask_ptr macro Create a simple macro to always return a pointer to the node_to_cpumask(node) value. This relies on compiler optimization to remove the extra indirection: #define node_to_cpumask_ptr(v, node) \ cpumask_t _##v = node_to_cpumask(node), *v = &_##v For those systems with a large cpumask size, then a true pointer to the array element can be used: #define node_to_cpumask_ptr(v, node) \ cpumask_t *v = &(node_to_cpumask_map[node]) A node_to_cpumask_ptr_next() macro is provided to access another node_to_cpumask value. The other change is to always include asm-generic/topology.h moving the ifdef CONFIG_NUMA to this same file. Note: there are no references to either of these new macros in this patch, only the definition. Based on 2.6.25-rc5-mm1 # alpha Cc: Richard Henderson # fujitsu Cc: David Howells # ia64 Cc: Tony Luck # powerpc Cc: Paul Mackerras Cc: Anton Blanchard # sparc Cc: David S. Miller Cc: William L. Irwin # x86 Cc: H. Peter Anvin Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit d18d00f5dbcd1a95811617e9812cf0560bd465ee Author: Mike Travis Date: Tue Mar 25 15:06:59 2008 -0700 x86: oprofile: remove NR_CPUS arrays in arch/x86/oprofile/nmi_int.c Change the following arrays sized by NR_CPUS to be PERCPU variables: static struct op_msrs cpu_msrs[NR_CPUS]; static unsigned long saved_lvtpc[NR_CPUS]; Also some minor complaints from checkpatch.pl fixed. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git All changes were transparent except for: static void nmi_shutdown(void) { + struct op_msrs *msrs = &__get_cpu_var(cpu_msrs); nmi_enabled = 0; on_each_cpu(nmi_cpu_shutdown, NULL, 0, 1); unregister_die_notifier(&profile_exceptions_nb); - model->shutdown(cpu_msrs); + model->shutdown(msrs); free_msrs(); } The existing code passed a reference to cpu 0's instance of struct op_msrs to model->shutdown, whilst the other functions are passed a reference to instance of a struct op_msrs. This seemed to be a bug to me even though as long as cpu 0 and are of the same type it would have the same effect...? Cc: Philippe Elie Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 6b6309b4c7f6da467c5d5b7d18fa8cb79730f381 Author: Mike Travis Date: Tue Mar 25 15:06:56 2008 -0700 x86: reduce memory and stack usage in intel_cacheinfo * Change the following static arrays sized by NR_CPUS to per_cpu data variables: _cpuid4_info *cpuid4_info[NR_CPUS]; _index_kobject *index_kobject[NR_CPUS]; kobject * cache_kobject[NR_CPUS]; * Remove the local NR_CPUS array with a kmalloc'd region in show_shared_cpu_map(). Also some minor complaints from checkpatch.pl fixed. Cc: H. Peter Anvin Cc: Andi Kleen Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 30ca60c15a725f655e5d3f14e0238a066bc5aeb7 Author: Mike Travis Date: Tue Mar 25 15:06:55 2008 -0700 cpumask: add cpumask_scnprintf_len function Add a new function cpumask_scnprintf_len() to return the number of characters needed to display "len" cpumask bits. The current method of allocating NR_CPUS bytes is incorrect as what's really needed is 9 characters per 32-bit word of cpumask bits (8 hex digits plus the seperator [','] or the terminating NULL.) This function provides the caller the means to allocate the correct string length. Cc: Paul Jackson Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 9f0e738f492522a2f70ad9a2a0287e4e966c633a Author: Gregory Haskins Date: Tue Feb 12 13:30:05 2008 -0500 sched: fix cpus_allowed settings Signed-off-by: Gregory Haskins Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0297b80339d545045490716fa8591b215fdd9458 Author: Dhaval Giani Date: Fri Feb 29 10:02:44 2008 +0530 sched: allow cpuacct stats to be reset Currently the schedstats implementation does not allow the statistics to be reset. This patch aims to allow that. echo 0 > cpuacct.usage resets the usage. Any other value is not allowed and returns -EINVAL. Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar commit 32cd756a80aaef657ac09c76e6eff3ba65567790 Author: Dhaval Giani Date: Fri Feb 29 10:02:43 2008 +0530 sched: cleanup cpuacct variable names Change the variable names to the common convention for the cpuacct subsystem. Signed-off-by: Dhaval Giani Acked-by: Balbir Singh Signed-off-by: Ingo Molnar commit 48f20a9a9488c432fc86df1ff4b7f4fa895d1183 Author: Olof Johansson Date: Tue Mar 4 15:23:25 2008 -0800 tasklets: execute tasklets in the same order they were queued I noticed this when looking at an openswan issue. Openswan (ab?)uses the tasklet API to defer processing of packets in some situations, with one packet per tasklet_action(). I started noticing sequences of backwards-ordered sequence numbers coming over the wire, since new tasklets are always queued at the head of the list but processed sequentially. Convert it to instead append new entries to the tail of the list. As an extra bonus, the splicing code in takeover_tasklets() no longer has to iterate over the list. Signed-off-by: Olof Johansson Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit ac086bc22997a2be24fc40fc8d46522fe7e03d11 Author: Peter Zijlstra Date: Sat Apr 19 19:44:58 2008 +0200 sched: rt-group: smp balancing Currently the rt group scheduling does a per cpu runtime limit, however the rt load balancer makes no guarantees about an equal spread of real- time tasks, just that at any one time, the highest priority tasks run. Solve this by making the runtime limit a global property by borrowing excessive runtime from the other cpus once the local limit runs out. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit d0b27fa77854b149ad4af08b0fe47fe712a47ade Author: Peter Zijlstra Date: Sat Apr 19 19:44:57 2008 +0200 sched: rt-group: synchonised bandwidth period Various SMP balancing algorithms require that the bandwidth period run in sync. Possible improvements are moving the rt_bandwidth thing into root_domain and keeping a span per rt_bandwidth which marks throttled cpus. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 57d3da2911787a101a384532f4519f9640bae883 Author: Ingo Molnar Date: Wed Feb 27 14:05:10 2008 +0100 time: add ns_to_ktime() Signed-off-by: Ingo Molnar commit 79b3feffb10417f197d2ab48dd4fa3c0c9e7d788 Author: Peter Zijlstra Date: Mon Feb 18 13:39:37 2008 +0100 sched: fix regression with sched yield Balbir Singh reported: > 1:mon> t > [c0000000e7677da0] c000000000067de0 .sys_sched_yield+0x6c/0xbc > [c0000000e7677e30] c000000000008748 syscall_exit+0x0/0x40 > --- Exception: c01 (System Call) at 00000400001d09e4 > SP (4000664cb10) is in userspace > 1:mon> r > cpu 0x1: Vector: 300 (Data Access) at [c0000000e7677aa0] > pc: c000000000068e50: .yield_task_fair+0x94/0xc4 > lr: c000000000067de0: .sys_sched_yield+0x6c/0xbc the check that should have avoided that is: /* * Are we the only task in the tree? */ if (unlikely(rq->load.weight == curr->se.load.weight)) return; But I guess that overlooks rt tasks, they also increase the load. So I guess something like this ought to fix it.. Signed-off-by: Ingo Molnar commit 19fb518c2a0c5d88ed22bba7083b7e7bc2a9c231 Author: Dmitry Adamushko Date: Sun Feb 17 22:34:07 2008 +0100 latencytop: optimize LT_BACKTRACEDEPTH loops a bit There is no need to loop any longer when 'same == 0'. Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit 50df5d6aea6694ca481b8005900401e8c95c2603 Author: Ingo Molnar Date: Fri Mar 14 16:09:59 2008 +0100 sched: remove sysctl_sched_batch_wakeup_granularity it's unused. Signed-off-by: Ingo Molnar commit 02e2b83bd25bb05ac2e69cb31458b7d1b3c70707 Author: Ingo Molnar Date: Wed Mar 19 01:37:10 2008 +0100 sched: reenable sync wakeups Signed-off-by: Ingo Molnar commit d25ce4cd499a21aab89ff8755f8c4a2800eae25f Author: Ingo Molnar Date: Mon Mar 17 09:36:53 2008 +0100 sched: cache hot buddy Signed-off-by: Ingo Molnar commit 1fc8afa4c820fcde3658238eab5c010476ede521 Author: Ingo Molnar Date: Wed Mar 19 01:39:19 2008 +0100 sched: feat affine wakeups Signed-off-by: Ingo Molnar commit b85d0667268320072ccdeb07c27c25b300ab3724 Author: Ingo Molnar Date: Sun Mar 16 20:03:22 2008 +0100 sched: introduce SCHED_FEAT_SYNC_WAKEUPS, turn it off turn off sync wakeups by default. They are not needed anymore - the buddy logic should be smart enough to keep the system from overscheduling. Signed-off-by: Ingo Molnar commit 0bbd3336eee1e712a290e0dfd1a64cbbdd63a508 Author: Peter Zijlstra Date: Sat Apr 19 19:44:57 2008 +0200 sched: fix wakeup granularity for buddies The wakeup buddy logic didn't use the same wakeup granularity logic as the wakeup preemption did, this might cause the ->next buddy to be selected past the point where we would have preempted had the task been a single running instance. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 15934a37324f32e0fda633dc7984a671ea81cd75 Author: Guillaume Chazarain Date: Sat Apr 19 19:44:57 2008 +0200 sched: fix rq->clock overflows detection with CONFIG_NO_HZ When using CONFIG_NO_HZ, rq->tick_timestamp is not updated every TICK_NSEC. We check that the number of skipped ticks matches the clock jump seen in __update_rq_clock(). Signed-off-by: Guillaume Chazarain Signed-off-by: Ingo Molnar commit 30914a58af9d21c5f1831adabb5d7a800a378675 Author: Reynes Philippe Date: Mon Mar 17 16:19:05 2008 -0700 sched: sched.c needs tick.h kernel/sched.c:506: erreur: implicit declaration of function tick_get_tick_sched kernel/sched.c:506: erreur: invalid type argument of -> kernel/sched.c:506: erreur: NOHZ_MODE_INACTIVE undeclared (first use in this function) kernel/sched.c:506: erreur: (Each undeclared identifier is reported only once kernel/sched.c:506: erreur: for each function it appears in.) Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 27ec4407790d075c325e1f4da0a19c56953cce23 Author: Ingo Molnar Date: Thu Feb 28 21:00:21 2008 +0100 sched: make cpu_clock() globally synchronous Alexey Zaytsev reported (and bisected) that the introduction of cpu_clock() in printk made the timestamps jump back and forth. Make cpu_clock() more reliable while still keeping it fast when it's called frequently. Signed-off-by: Ingo Molnar commit 018d6db4cb5bbdcd65424a16f2dcca692ed32ae4 Author: Ingo Molnar Date: Mon Apr 14 08:53:32 2008 +0200 sched: re-do "sched: fix fair sleepers" re-apply: | commit e22ecef1d2658ba54ed7d3fdb5d60829fb434c23 | Author: Ingo Molnar | Date: Fri Mar 14 22:16:08 2008 +0100 | | sched: fix fair sleepers | | Fair sleepers need to scale their latency target down by runqueue | weight. Otherwise busy systems will gain ever larger sleep bonus. Signed-off-by: Ingo Molnar commit 34d0559178393547505ec9492321255405f4e441 Author: Jack Steiner Date: Wed Apr 16 11:45:15 2008 -0500 x86: UV startup of slave cpus This patch changes smpboot.c so that it can start slave cpus running in UV non-unique apicid mode. The SIPI must be sent using a UV-specific mechanism. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 098cb7f27ed69276e4db560a444b94b982e4bb8f Author: Glauber Costa Date: Wed Apr 9 13:18:10 2008 -0300 x86: integrate pci-dma.c The code in pci-dma_{32,64}.c are now sufficiently close to each other. We merge them in pci-dma.c. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bb8ada95a7c11adf3dad4e8d5c55ef1650560592 Author: Glauber Costa Date: Wed Apr 9 13:18:09 2008 -0300 x86: don't do dma if mask is NULL. if the device hasn't provided a mask, abort allocation. Note that we're using a fallback device now, so it does not cover the case of a NULL device: just drivers passing NULL masks around. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit da60cab4dd922cd933e82bace490f6155a32a90e Author: Glauber Costa Date: Wed Apr 9 13:18:08 2008 -0300 x86: return conditional to mmu Just return our allocation if we don't have an mmu. For i386, where this patch is being applied, we never have. So our goal is just to have the code to look like x86_64's. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aa99b16faadcc9a5b6bd9550fda117a8e9e46d26 Author: Glauber Costa Date: Wed Apr 9 13:18:07 2008 -0300 x86: remove kludge from x86_64 The claim is that i386 does it. Just it does not. So remove it. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8f19ca1341a6d89bd96e2e69e6e10f46d3258089 Author: Glauber Costa Date: Wed Apr 9 13:18:06 2008 -0300 x86: unify gfp masks Use the same gfp masks for x86_64 and i386. It involves using HIGHMEM or DMA32 where necessary, for the sake of code compatibility, (no real effect), and using the NORETRY mask for i386. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5fa78ca75d8e67063948a01b51594a0904af5710 Author: Glauber Costa Date: Wed Apr 9 13:18:05 2008 -0300 x86: retry allocation if failed This patch puts in the code to retry allocation in case it fails. By its own, it does not make much sense but making the code look like x86_64. But later patches in this series will make we try to allocate from zones other than DMA first, which will possibly fail. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8779f2fc3b84ebb6c5181fb13d702e9944c16069 Author: Glauber Costa Date: Tue Apr 8 13:21:05 2008 -0300 x86: don't try to allocate from DMA zone at first If we fail, we'll loop into the allocation again, and then allocate in the DMA zone. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 45a07e774950ef479f8996c0e2c5550dd6440453 Author: Glauber Costa Date: Tue Apr 8 13:21:04 2008 -0300 x86: use a fallback dev for i386 We can use a fallback dev for cases of a NULL device being passed (mostly ISA) This comes from x86_64 implementation. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d1a079029036881375110f78df47d352e7c28a77 Author: Glauber Costa Date: Tue Apr 8 13:21:02 2008 -0300 x86: use numa allocation function in i386 We can do it here to, in the same way x86_64 does. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 71848d687e2a477cb7c68a854d8fdeaa5dff0ffc Author: Glauber Costa Date: Tue Apr 8 13:21:01 2008 -0300 x86: remove virt_to_bus in pci-dma_64.c virt_to_bus() is deprecated according to the docs, and moreover, won't return the right thing in i386 if we're dealing with high memory mappings. So we make our allocation function return a page, and then use page_address() (for virtual addr) and page_to_phys() (for physical addr) instead. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2e33e361188617628e47b4bc47e87e84feaf556f Author: Glauber Costa Date: Tue Apr 8 13:20:59 2008 -0300 x86: adjust dma_free_coherent for i386 We call unmap_single, if available. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cac67877d268f21da74d879a355247e4e25b5b5f Author: Glauber Costa Date: Tue Apr 8 13:21:00 2008 -0300 x86: move bad_dma_address It goes to pci-dma.c, and is removed from the arch-specific files. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d09d815c1b1d437a3ea89ecd92c91179266d1243 Author: Glauber Costa Date: Tue Apr 8 13:20:58 2008 -0300 x86: isolate coherent mapping functions i386 implements the declare coherent memory API, and x86_64 does not it is reflected in pieces of dma_alloc_coherent and dma_free_coherent. Those pieces are isolated in separate functions, that are declared as empty macros in x86_64. This way we can make the code the same. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8e8edc6401205da3000cc3dfa76f3fd28a21d73c Author: Glauber Costa Date: Tue Apr 8 13:20:57 2008 -0300 x86: move dma_coherent functions to pci-dma.c They are placed in an ifdef, since they are i386 specific the structure definition goes to dma-mapping.h. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fae9a0d8ca68a14da8d2351ad3e0bf42f3b29899 Author: Glauber Costa Date: Tue Apr 8 13:20:56 2008 -0300 x86: merge iommu initialization parameters we merge the iommu initialization parameters in pci-dma.c Nice thing, that both architectures at least recognize the same parameters. usedac i386 parameter is marked for deprecation Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8e0c379718ef32967deea55937895bfc9b493dd8 Author: Glauber Costa Date: Tue Apr 8 13:20:55 2008 -0300 x86: merge dma_supported The code for both arches are very similar, so this patch merge them. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bca5c09663030bdd18ab1b3ccb6671f663c3345a Author: Glauber Costa Date: Tue Apr 8 13:20:53 2008 -0300 x86: move pci fixup to pci-dma.c via_no_dac provides a fixup that is the same for both architectures. Move it to pci-dma.c. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 116890d556af38d539597655c564a73e6eef3d9e Author: Glauber Costa Date: Tue Apr 8 13:20:54 2008 -0300 x86: move x86_64-specific to common code. This patch moves the bootmem functions, that are largely x86_64-specific into pci-dma.c. The code goes inside an ifdef. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cb5867a5d8ca20e16ddc3397c36ee9c2e4cba219 Author: Glauber Costa Date: Tue Apr 8 13:20:51 2008 -0300 x86: move initialization functions to pci-dma.c initcalls that triggers the various possibiities for dma subsys are moved to pci-dma.c. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f9c258de3494a5249a61fe110ece2082e5927468 Author: Glauber Costa Date: Tue Apr 8 13:20:52 2008 -0300 x86: unify pci-nommu merge pci-base_32.c and pci-nommu_64.c into pci-nommu.c Their code were made the same, so now they can be merged. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 85c246ee16fe00bf7bf9e7ff09a5d17d9a83cf71 Author: Glauber Costa Date: Tue Apr 8 13:20:50 2008 -0300 x86: move definition to pci-dma.c Move dma_ops structure definition to pci-dma.c, where it belongs. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d741bde26dc3444eaeb269051d3f0b623b24de13 Author: Glauber Costa Date: Tue Apr 8 13:20:48 2008 -0300 x86: use dma_length in i386 This is done to get the code closer to x86_64. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5b3e5b7273435f8a7f83d3556a09adfd6f247e36 Author: Glauber Costa Date: Tue Apr 8 13:20:49 2008 -0300 x86: use WARN_ON in mapping functions In the very same way i386 do, we use WARN_ON functions in map_simple and map_sg. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 30db2cbf38d68f466fd34488f8312a151225c9ac Author: Glauber Costa Date: Tue Apr 8 13:20:47 2008 -0300 x86: use sg_phys in x86_64 To make the code usable in i386, where we have high memory mappings, we drop te virt_to_bus(sg_virt()) construction in favour of sg_phys. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e4dcdd6b4fa33efee94e89cccd75e871c570c510 Author: Glauber Costa Date: Tue Apr 8 13:20:46 2008 -0300 x86: Add flush_write_buffers in nommu functions This patch adds flush_write_buffers() in some functions of pci-nommu_64.c They are added anywhere i386 would also have it. This is not a problem for x86_64, since flush_rite_buffers() an nop for it. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9f9ab46d557c32b9cad49c31d094d659ec3b59c0 Author: Glauber Costa Date: Tue Apr 8 13:20:45 2008 -0300 x86: implement mapping_error in pci-nommu_64.c This patch implements mapping_error for pci-nommu_64.c. It takes care to keep the same compatible behaviour it already had. Although this file is not (yet) used for i386, we introduce the i386 version here. Again, care is taken, even at the expense of an ifdef, to keep the same behaviour inconditionally. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d5df63f48a67400a26eba15624aa883897a4f4d1 Author: Glauber Costa Date: Tue Apr 8 13:20:44 2008 -0300 x86: delete empty functions from pci-nommu_64.c This functions are now called conditionally on their existence in the struct. So just delete them, instead of keeping an empty implementation. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 459121c9ec1e6c5d701f6520f4170719ac008951 Author: Glauber Costa Date: Tue Apr 8 13:20:43 2008 -0300 x86: introduce pci-dma.c This patch introduces pci-dma.c, a common file for pci dma between i386 and x86_64. As a start, dma_set_mask() is the same between architectures, and is placed there. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 19e395afb44746ce7422a9eabcf883d5eec2bb80 Author: Mark McLoughlin Date: Thu Mar 27 11:03:15 2008 +0000 x86: move dma_supported and dma_set_mask to pci-dma_32.c, fix ERROR: "dma_supported" [drivers/ssb/ssb.ko] undefined! ERROR: "dma_set_mask" [drivers/scsi/qla2xxx/qla2xxx.ko] undefined! ERROR: "dma_set_mask" [drivers/scsi/aic7xxx/aic7xxx.ko] undefined! ERROR: "dma_set_mask" [drivers/scsi/aic7xxx/aic79xx.ko] undefined! ERROR: "dma_supported" [drivers/net/pcnet32.ko] undefined! ERROR: "dma_supported" [drivers/media/video/saa7134/saa7134.ko] undefined! ERROR: "dma_set_mask" [drivers/media/video/meye.ko] undefined! ERROR: "dma_supported" [drivers/media/video/cx88/cx8802.ko] undefined! ERROR: "dma_supported" [drivers/media/video/cx88/cx8800.ko] undefined! ERROR: "dma_supported" [drivers/media/video/cx88/cx88-alsa.ko] undefined! ERROR: "dma_supported" [drivers/media/video/cx23885/cx23885.ko] undefined! They just need to be exported like on x86_64. dma_supported() and dma_set_mask() were previously inlined, but are now moved to pci-dma_32.c. Since they're used by various drivers, they need to be exported. Signed-off-by: Mark McLoughlin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b7107a3d9da2e122fb7f33dd1482254ff40fdf96 Author: Glauber Costa Date: Tue Mar 25 18:36:39 2008 -0300 x86: delete the arch-specific dma-mapping headers. all the code that is left is ready to be merged as-is in dma-mapping.h. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ae17a63b096b05007bacafd2f92414b881a0b4b4 Author: Glauber Costa Date: Tue Mar 25 18:36:38 2008 -0300 x86: move ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY to dma-mapping.h define it conditionally to i386. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c786df08f6df2833e34e78cee5ef62558e3b5346 Author: Glauber Costa Date: Tue Mar 25 18:36:37 2008 -0300 x86: unify dma_mapping_error We provide a map_error function in pci-base_32.c to make sure i386 keeps with the same behaviour it used to. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7c18341665917b493fa40eeb3c7ff6c1a5ac47db Author: Glauber Costa Date: Tue Mar 25 18:36:36 2008 -0300 x86: provide a bad_dma_address symbol for i386 It's initially 0, since we don't expect any DMA there. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b48ee7135230ac43b6820d59a784ac0bd51ae552 Author: Glauber Costa Date: Tue Mar 25 18:36:35 2008 -0300 x86: align to clflush size Do it instead of using the conservative approach we're currently doing. This is the way x86_64 does, and this patch makes this piece of code the same between them, ready to be integrated. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 802c1f6648aeb3eea670b4ef8b10014169b65699 Author: Glauber Costa Date: Tue Mar 25 18:36:34 2008 -0300 x86: move dma_supported and dma_set_mask to pci-dma_32.c This is the way x86_64 does, so this make them equal. They have to be extern now in the header, and the extern definition is moved to the common dma-mapping.h header. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3cb6a91711a682adb3aa95da2ed8d47512cc3c41 Author: Glauber Costa Date: Tue Mar 25 18:36:33 2008 -0300 x86: move dma_cache_sync to common header they are the same in both architectures. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2be621498d461b63ca6124f86e3b9582e1a8e722 Author: Ingo Molnar Date: Sat Apr 19 19:19:56 2008 +0200 x86: dma-ops on highmem fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4d92fbf231fe23ec07d18820a141c573a7f5017a Author: Glauber Costa Date: Tue Mar 25 18:36:32 2008 -0300 x86: move dma_map_page and dma_unmap_page to common header They are similar enough to do this move. the macro version is ugly, and we use inline functions instead. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8d396ded71a9b378fc3e846095e50565606f2df6 Author: Glauber Costa Date: Tue Mar 25 18:36:31 2008 -0300 x86: move alloc and free coherent to common header they are the same between architectures. (except for the fact that x86_64 has duplicate code) move them to dma-mapping.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e7f3a913f91b7bfef3a93dff27930f24bdfcd2c0 Author: Glauber Costa Date: Tue Mar 25 18:36:30 2008 -0300 x86: move dma_sync_sg_for_device to common header i386 gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ed435dee9cb470082e4550edbfcbc7e81132e976 Author: Glauber Costa Date: Tue Mar 25 18:36:29 2008 -0300 x86: move dma_sync_sg_for_cpu to common header i386 gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 713623326c816b145105769f174ec237815e53f1 Author: Glauber Costa Date: Tue Mar 25 18:36:28 2008 -0300 x86: move dma_sync_single_range_for_device to common header i386 gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 627610fcb70164991ed0d11110a56c43b15b9312 Author: Glauber Costa Date: Tue Mar 25 18:36:27 2008 -0300 x86: move dma_sync_single_range_for_cpu to common header i386 gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9231b269e09ed60910c159cf668f887623b7ac58 Author: Glauber Costa Date: Tue Mar 25 18:36:26 2008 -0300 x86: move dma_sync_single_for_device to common header i386 gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c01dd8cf7d19b869af1668c80a34a955c871f607 Author: Glauber Costa Date: Tue Mar 25 18:36:25 2008 -0300 x86: move dma_sync_single_for_cpu to common header i386 gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 72c784f82c378df1903676acd2efc5eeb5cac579 Author: Glauber Costa Date: Tue Mar 25 18:36:24 2008 -0300 x86: move dma_unmap_sg to common header i386 gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 16a3ce9bae667178f79a4951fc0ba8b515b5b733 Author: Glauber Costa Date: Tue Mar 25 18:36:23 2008 -0300 x86: move dma_map_sg to common header the old i386 implementation is moved to pci-base_32.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0cb0ae68323657663e4e8c0c1ce82a5af6621bbb Author: Glauber Costa Date: Tue Mar 25 18:36:22 2008 -0300 x86: move dma_unmap_single to common header i386 base does not need it, so it gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 22456b97148be300e25e9cb97244656775972475 Author: Glauber Costa Date: Tue Mar 25 18:36:21 2008 -0300 x86: implement dma_map_single through dma_ops That's already the name of the game for x86_64. For i386, we add a pci-base_32.c, that will hold the default operations. The function call itself goes through dma-mapping.h , the common header Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6f5366354bf86f8d2c1cf241c9bbf44b2d350e30 Author: Glauber Costa Date: Tue Mar 25 18:36:20 2008 -0300 x86: move dma_ops struct definition to dma-mapping.h take it off the x86_64 specific header Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 752bea4abbff5e3ffef36802b860e80d0b632990 Author: Yinghai Lu Date: Fri Mar 7 15:02:50 2008 -0800 x86: reserve dma32 early for gart a system with 256 GB of RAM, when NUMA is disabled crashes the following way: Your BIOS doesn't leave a aperture memory hole Please enable the IOMMU option in the BIOS setup This costs you 64 MB of RAM Cannot allocate aperture memory hole (ffff8101c0000000,65536K) Kernel panic - not syncing: Not enough memory for aperture Pid: 0, comm: swapper Not tainted 2.6.25-rc4-x86-latest.git #33 Call Trace: [] panic+0xb2/0x190 [] ? release_console_sem+0x7c/0x250 [] ? __alloc_bootmem_nopanic+0x48/0x90 [] ? free_bootmem+0x29/0x50 [] gart_iommu_hole_init+0x5e7/0x680 [] ? alloc_large_system_hash+0x16b/0x310 [] ? _etext+0x0/0x1 [] pci_iommu_alloc+0x1c/0x40 [] mem_init+0x45/0x1a0 [] start_kernel+0x295/0x380 [] _sinittext+0x1c2/0x230 the root cause is : memmap PMD is too big, [ffffe200e0600000-ffffe200e07fffff] PMD ->ffff81383c000000 on node 0 almost near 4G..., and vmemmap_alloc_block will use up the ram under 4G. solution will be: 1. make memmap allocation get memory above 4G... 2. reserve some dma32 range early before we try to set up memmap for all. and release that before pci_iommu_alloc, so gart or swiotlb could get some range under 4g limit for sure. the patch is using method 2. because method1 may need more code to handle SPARSEMEM and SPASEMEM_VMEMMAP will get Your BIOS doesn't leave a aperture memory hole Please enable the IOMMU option in the BIOS setup This costs you 64 MB of RAM Mapping aperture over 65536 KB of RAM @ 4000000 Memory: 264245736k/268959744k available (8484k kernel code, 4187464k reserved, 4004k data, 724k init) Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6ec6e0d9f2fd7cb6ca6bc3bfab5ae7b5cdd8c36f Author: Suresh Siddha Date: Tue Mar 25 10:14:35 2008 -0700 srat, x86: add support for nodes spanning other nodes For example, If the physical address layout on a two node system with 8 GB memory is something like: node 0: 0-2GB, 4-6GB node 1: 2-4GB, 6-8GB Current kernels fail to boot/detect this NUMA topology. ACPI SRAT tables can expose such a topology which needs to be supported. Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8705a49c35be088a50b8d5fc5e1aa24d6711fd5b Author: Roland McGrath Date: Mon Apr 14 12:19:30 2008 -0700 x86 vDSO: compile with -g, 64-bit The 64-bit vDSO's sources are compiled with -g0 for no good reason. Using -g when enabled lets their separate debug files be used at runtime via build ID matching, same as we can see 32-bit vDSO's assembly sources. Signed-off-by: Roland McGrath Acked-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2adee9b30d1382fba97825b9c50e4f50a0117c36 Author: Suresh Siddha Date: Wed Apr 16 10:25:35 2008 +0200 x86: fpu xstate split fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1679f2710ac58df580d3716fab1f42ae50a226eb Author: Suresh Siddha Date: Wed Apr 16 10:27:53 2008 +0200 x86: fpu xstate split cleanup Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aa283f49276e7d840a40fb01eee6de97eaa7e012 Author: Suresh Siddha Date: Mon Mar 10 15:28:05 2008 -0700 x86, fpu: lazy allocation of FPU area - v5 Only allocate the FPU area when the application actually uses FPU, i.e., in the first lazy FPU trap. This could save memory for non-fpu using apps. for example: on my system after boot, there are around 300 processes, with only 17 using FPU. Signed-off-by: Suresh Siddha Cc: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 61c4628b538608c1a85211ed8438136adfeb9a95 Author: Suresh Siddha Date: Mon Mar 10 15:28:04 2008 -0700 x86, fpu: split FPU state from task struct - v5 Split the FPU save area from the task struct. This allows easy migration of FPU context, and it's generally cleaner. It also allows the following two optimizations: 1) only allocate when the application actually uses FPU, so in the first lazy FPU trap. This could save memory for non-fpu using apps. Next patch does this lazy allocation. 2) allocate the right size for the actual cpu rather than 512 bytes always. Patches enabling xsave/xrstor support (coming shortly) will take advantage of this. Signed-off-by: Suresh Siddha Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fa5c4639419668cbb18ca3d20c1253559a3b43ae Author: Ingo Molnar Date: Wed Apr 16 02:29:42 2008 +0200 x86: rename find_max_pfn() to propagate_e820_map() this function doesnt just 'find' the max_pfn - it also has other side-effects such as registering sparse memory maps. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d8bb6f4c1670c8324e4135c61ef07486f7f17379 Author: Thomas Gleixner Date: Tue Apr 1 19:45:18 2008 +0200 x86: tsc prevent time going backwards We already catch most of the TSC problems by sanity checks, but there is a subtle bug which has been in the code forever. This can cause time jumps in the range of hours. This was reported in: http://lkml.org/lkml/2007/8/23/96 and http://lkml.org/lkml/2008/3/31/23 I was able to reproduce the problem with a gettimeofday loop test on a dual core and a quad core machine which both have sychronized TSCs. The TSCs seems not to be perfectly in sync though, but the kernel is not able to detect the slight delta in the sync check. Still there exists an extremly small window where this delta can be observed with a real big time jump. So far I was only able to reproduce this with the vsyscall gettimeofday implementation, but in theory this might be observable with the syscall based version as well. CPU 0 updates the clock source variables under xtime/vyscall lock and CPU1, where the TSC is slighty behind CPU0, is reading the time right after the seqlock was unlocked. The clocksource reference data was updated with the TSC from CPU0 and the value which is read from TSC on CPU1 is less than the reference data. This results in a huge delta value due to the unsigned subtraction of the TSC value and the reference value. This algorithm can not be changed due to the support of wrapping clock sources like pm timer. The huge delta is converted to nanoseconds and added to xtime, which is then observable by the caller. The next gettimeofday call on CPU1 will show the correct time again as now the TSC has advanced above the reference value. To prevent this TSC specific wreckage we need to compare the TSC value against the reference value and return the latter when it is larger than the actual TSC value. I pondered to mark the TSC unstable when the readout is smaller than the reference value, but this would render an otherwise good and fast clocksource unusable without a real good reason. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f1326973262382150c26bf4dfccd0fce310c4a9c Author: Erik Bosman Date: Fri Apr 11 18:57:22 2008 +0200 generic, x86: add tests for prctl PR_GET_TSC and PR_SET_TSC This patch adds three tests that test whether the PR_GET_TSC and PR_SET_TSC commands have the desirable effect. The tests check whether the control register is updated correctly at context switches and try to discover bugs while enabling/disabling the timestamp counter. Signed-off-by: Erik Bosman Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 529e25f646e08901a6dad5768f681efffd77225e Author: Erik Bosman Date: Mon Apr 14 00:24:18 2008 +0200 x86: implement prctl PR_GET_TSC and PR_SET_TSC This patch implements the PR_GET_TSC and PR_SET_TSC prctl() commands on the x86 platform (both 32 and 64 bit.) These commands control the ability to read the timestamp counter from userspace (the RDTSC instruction.) While the RDTSC instuction is a useful profiling tool, it is also the source of some non-determinism in ring-3. For deterministic replay applications it is useful to be able to trap and emulate (and record the outcome of) this instruction. This patch uses code earlier used to disable the timestamp counter for the SECCOMP framework. A side-effect of this patch is that the SECCOMP environment will now also disable the timestamp counter on x86_64 due to the addition of the TIF_NOTSC define on this platform. The code which enables/disables the RDTSC instruction during context switches is in the __switch_to_xtra function, which already handles other unusual conditions, so normal performance should not have to suffer from this change. Signed-off-by: Erik Bosman Acked-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8fb402bccf203ecca8f9e0202b8fd3c937dece6f Author: Erik Bosman Date: Fri Apr 11 18:54:17 2008 +0200 generic, x86: add prctl commands PR_GET_TSC and PR_SET_TSC This patch adds prctl commands that make it possible to deny the execution of timestamp counters in userspace. If this is not implemented on a specific architecture, prctl will return -EINVAL. ned-off-by: Erik Bosman Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5deb45e39b946901ae028ccd3a1d0b35fa387475 Author: Steven Rostedt Date: Sat Apr 19 19:19:55 2008 +0200 ftrace: add notrace annotations for NMI routines This annotates NMI functions with notrace. Some tracers may be able to live with this, but some cannot. The safest is to turn it off, it's not particularly interesting anyway. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4bd01600b214275a80a69b44393d7e81d43c2faa Author: Pavel Machek Date: Tue Feb 19 11:02:30 2008 +0100 x86: clean up =0 initializations in arch/x86/kernel/tsc_32.c Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f5a1b191b37ac2609e2babeec1b21f411da93e4d Author: Jiri Slaby Date: Sat Apr 12 10:28:25 2008 +0200 x86: fix exec mappings comments - noexec32 is on by default for years already - add noexec32 to kernel-parameters and fix noexec typo in there Signed-off-by: Jiri Slaby Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4a9f54cfd21f313b9858f951783512d3f14e58a4 Author: Yinghai Lu Date: Thu Apr 10 15:06:38 2008 -0700 x86: cleanup: change _end to end_before_pgt cleanup: change the _end in compressed vmlinux_64.lds. also change _heap to _ebss that is not needed. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7c53976404e2f906c60b69cc5793add87ee49c6a Author: Alexander van Heukelum Date: Tue Apr 8 12:54:30 2008 +0200 x86: cleanup boot-heap usage The kernel decompressor wrapper uses memory located beyond the end of the image. This might lead to hard to debug problems, but even if it can be proven to be safe, it is at the very least unclean. I don't see any advantages either, unless you count it not being zeroed out as an advantage. This patch moves the boot-heap area to the bss segment. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c8337ac425b220594fec45ad6d3ac76d3ce2b90 Author: Randy Dunlap Date: Thu Apr 10 15:09:50 2008 -0700 x86: fix arch/x86/mm/ioremap.c warning Fix printk formats in x86/mm/ioremap.c: next-20080410/arch/x86/mm/ioremap.c:137: warning: format '%llx' expects type 'long long unsigned int', but argument 2 has type 'resource_size_t' next-20080410/arch/x86/mm/ioremap.c:188: warning: format '%llx' expects type 'long long unsigned int', but argument 2 has type 'resource_size_t' next-20080410/arch/x86/mm/ioremap.c:188: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'long unsigned int' Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1a7a34af78923f8807d054a15133a8fcf47e385e Author: Jacek Luczak Date: Thu Apr 10 13:40:57 2008 +0200 x86: e820_64, fix section mismatch warning fix section mismatch warnings which occurs on my x86_64 box while compiling linux-next-20080410: Warning messages: WARNING: arch/x86/kernel/built-in.o(.text+0x7bc2): Section mismatch in reference from the function bad_addr() to the variable .init.data:early_res The function bad_addr() references the variable __initdata early_res. This is often because bad_addr lacks a __initdata annotation or the annotation of early_res is wrong. WARNING: arch/x86/kernel/built-in.o(.text+0x7c3b): Section mismatch in reference from the function bad_addr_size() to the variable .init.data:early_res The function bad_addr_size() references the variable __initdata early_res. This is often because bad_addr_size lacks a __initdata annotation or the annotation of early_res is wrong. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 120d5bf128906c790df810e159d2e1239d08fef1 Author: Jacek Luczak Date: Wed Apr 9 22:53:50 2008 +0200 x86: remove vm86.h inclusion from process_32.c I've made a small investigation about vm86.h inclusion rules and it looks like everything is more or less ok. Files that rely on asm/vm86.h symbols are: - kprobes.c - process_32.c - signal_32.c - traps_32.c - vm86_32.c File process_32.c includes vm86.h explicitly. We can remove that include and it won't break anything. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cf9b111c170733dde39139e8989b676ec8b81573 Author: WANG Cong Date: Sat Mar 8 18:15:06 2008 +0800 x86: remove pointless comments Remove old comments that include the old arch/i386 directory. Signed-off-by: WANG Cong Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a7d5ac87b220829bb077cdc8e01c4fd4714ae41e Author: Harvey Harrison Date: Tue Mar 4 22:05:27 2008 -0800 x86: pageattr.c fix shadowed variable warning irqs_disabled() uses flags internally, use _flags to avoid shadowing code calling into this macro. Introduced between 2.6.25-rc3 and -rc4 Fixes the sparse warning: arch/x86/mm/pageattr.c:383:21: warning: symbol 'flags' shadows an earlier one arch/x86/mm/pageattr.c:369:16: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8ce116e5993cf64729a4d2b3dc2c0f072852654b Author: Ingo Molnar Date: Tue Feb 26 08:52:16 2008 +0100 x86: clean up cpu capabilities accesses, p4-clockmod.c Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2b8106a0a3d3c1e5b69f091192bc99019ff4d81d Author: Yinghai Lu Date: Tue Mar 18 12:51:22 2008 -0700 x86_64: do not reserve ramdisk two times ramdisk is reserved via reserve_early in x86_64_start_kernel, later early_res_to_bootmem() will convert to reservation in bootmem. so don't need to reserve that again. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4a3575fd436aa98957184afd745e4ada8f1542d8 Author: Huang, Ying Date: Mon Feb 25 15:18:37 2008 +0800 x86: EFI_PAGE_SHIFT fix Make x86 EFI code works when EFI_PAGE_SHIFT != PAGE_SHIFT. The memrage_efi_to_native() provided in this patch can be used on other EFI platform such as IA64 too. This patch has been tested on Intel x86_64 platform with EFI 64/32 firmware. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f8dfd5ed149ae340451f25847b434297c20d4645 Author: Ingo Molnar Date: Sat Apr 19 19:19:54 2008 +0200 x86: KGDB build fix Signed-off-by: Ingo Molnar commit cf816ecb533ab96b883dfdc0db174598b5b5c4d2 Merge: adf6d34... 15f7d67... Author: Russell King Date: Sat Apr 19 17:17:34 2008 +0100 Merge branch 'merge-fixes' into devel commit adf6d34e460387ee3e8f1e1875d52bff51212c7d Merge: d1964da... 3760d31... Author: Russell King Date: Sat Apr 19 17:17:29 2008 +0100 Merge branch 'omap2-upstream' into devel commit d1964dab60ce7c104dd21590e987a8787db18051 Merge: ba92795... ad48ce7... b685004... c34002c... fdb72fd... c48b2e9... 3a8daaa... 04c366f... 8754925... 58762e7... 3e238be... 140749e... 05944d7... Author: Russell King Date: Sat Apr 19 17:17:25 2008 +0100 Merge branches 'arm', 'at91', 'ep93xx', 'iop', 'ks8695', 'misc', 'mxc', 'ns9x', 'orion', 'pxa', 'sa1100', 's3c' and 'sparsemem' into devel commit 58762e77aec49aa4b43a9ff62e7a3aee17720c41 Author: Guennadi Liakhovetski Date: Sun Apr 6 23:08:15 2008 +0200 [ARM] pxa: Phycore pcm-990-specific code for the PXA270 Quick Capture driver Platform-specific code for Phytec's phyCORE-PXA270 platform Signed-off-by: Guennadi Liakhovetski Signed-off-by: Russell King commit 3f3acefb63dc70d767f730045ab7ebaa81938d77 Author: Guennadi Liakhovetski Date: Fri Apr 11 22:19:45 2008 +0200 [ARM] pxa: V4L2 soc_camera driver for PXA270 This patch adds a driver for the Quick Capture Interface on the PXA270. It is based on the original driver from Intel, but has been re-worked multiple times since then, now it also supports the V4L2 API. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Russell King commit 0e623941bec7e80c97b076d346327b31ae17d84a Author: Russell King Date: Sat Apr 19 16:46:54 2008 +0100 [ARM] pxa: restrict availability of pxa2xx PCMCIA drivers Not all PXA2xx platforms provide the necessary support files for PCMCIA to work, let alone build. Stop the build errors by making PXA2xx PCMCIA support only available on those platforms which have supplied the support files. Signed-off-by: Russell King commit 140749e2bf8d7c80a50c9fcce1435bb2b4e423c4 Author: Ben Dooks Date: Sat Apr 19 13:08:43 2008 +0100 [ARM] 5005/1: BAST: Fix kset_name initialiser Fix the pm sys device .name initialiser which was missed when updating the last patch submission. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit eb1f7d10d6b6728c87f79f30d1ae844d01d3486a Author: Davide Rizzo Date: Sat Apr 12 15:08:15 2008 +0100 [ARM] 4967/1: Adds functions to set clkout rate for Samsung S3C2410 This patch adds functions to set clkout rate for Samsung S3C2410 This patch supersedes 4884/1, that contained an error Comments from Ben Dooks: Note, looks like this needs to be applied before 4882/1 Signed-off-by: Davide Rizzo Signed-off-by: Ben Dooks Signed-off-by: Russell King commit b685004f8dea2daae0306edcd358ed7de751aee9 Author: Ryan Mallon Date: Wed Apr 16 02:56:35 2008 +0100 [ARM] 4988/1: Add GPIO lib support to the EP93xx Adds support for the generic GPIO lib to the EP93xx family. The gpio handling code has been moved from core.c to a new file called gpio.c. The GPIO based IRQ code has not been changed. Signed-off-by: Ryan Mallon Signed-off-by: Russell King commit 05944d74bc28fffbcce159cb915d0acff82f30a1 Author: Russell King Date: Thu Nov 30 20:43:51 2006 +0000 [ARM] Add initial sparsemem support Signed-off-by: Russell King commit 1c104e0e4f6ab396960c058e95e18bdedcac945b Author: Russell King Date: Sat Apr 19 10:59:24 2008 +0100 [ARM] pxa: initialise PXA devices before platform init code Initialise PXA devices before platform initialisation, so that platforms can parent devices to these. Acked-by: eric miao Signed-off-by: Russell King commit c546106cc15d300a5b3eba5a514c9238bb6593e8 Author: Dmitry Baryshkov Date: Sat Apr 19 10:42:06 2008 +0100 [ARM] 5002/1: tosa: add two more leds This adds support for two more leds: the wlan one (found in SL-6000W and SL-6000L) and the blutooth one (found in SL-6000W). Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit ba4eb7e60b11eba1ccd89d448e6d87d98df95da8 Author: Dmitry Baryshkov Date: Sat Apr 19 10:42:25 2008 +0100 [ARM] 5004/1: Tosa: make several unreferenced structures static. Now that scoop gpio's are converted to generic_gpio, tosascoop_device and tosascoop_jc_device don't have to be exported. Also make tosa_gpio_* static Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit d8a42fc45517081d1a8cf050a86eb79b0e290774 Author: Dmitry Baryshkov Date: Sat Apr 19 10:42:18 2008 +0100 [ARM] 5003/1: Shut up sparse warnings Shut up sparse warnings by making GPIO_IRQ_MASK unisgned Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit b907ef688ddb6d73fc1c83b6fbcd62f5c2c2a14f Author: Mark Brown Date: Tue Apr 15 16:12:44 2008 +0100 [ARM] 4977/2: soc - pxa2xx-ac97 - Add missing clk_enable() Add missing clk_enable() Signed-off-by: Mark Brown Acked-by: eric miao Signed-off-by: Russell King commit 768dec4cc397a9c041b0f3cd605d3f6f758883e4 Author: Mark Brown Date: Tue Apr 15 15:50:49 2008 +0100 [ARM] 4976/1: zylonite: Configure GPIO for WM9713 IRQ line Set up the IRQ line for the WM9713 device on the Zylonite. Signed-off-by: Mark Brown Acked-by: eric miao Signed-off-by: Russell King commit 507012f0a503287f212ef1139683c8938ecedbcd Author: Dmitry Baryshkov Date: Sat Apr 12 21:26:39 2008 +0100 [ARM] 4974/1: Drop unused leds-tosa. As now tosa uses leds-gpio, drop leds-tosa driver. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 311c736c19ec5d9cfc9518542aeee844c2bc7a86 Author: Dmitry Baryshkov Date: Sat Apr 12 20:17:02 2008 +0100 [ARM] 4973/1: Tosa: use leds-gpio driver. Now as the scoop pins are covered by the generic gpio API, we can use leds-gpio driver instead of special leds-tosa. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit d4e7d09f7accd1b0d1c8f149a44deffc8c141a46 Author: Dmitry Baryshkov Date: Sat Apr 12 20:16:16 2008 +0100 [ARM] 4972/1: Tosa: convert scoop GPIOs usage to generic gpio code Convert set/reset_scoop_gpio to generic gpio calls. This patch depends on the pxaficp_ir hooks patch. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit baf1c5d2a08c828d6333e0a37bcdf5afb3d5d003 Author: Dmitry Baryshkov Date: Sat Apr 12 20:08:16 2008 +0100 [ARM] 4971/1: pxaficp_ir: provide startup and shutdown hooks Let platform do some specific initialisation and cleanup things during pxaficp_ir probing and removing. E.g. this can be usefull to request/free gpios used by the platform to control the transceiver. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit e21e2d467ab4dd050dd02620c74be1e2665d20b9 Author: Russell King Date: Sun Apr 13 17:38:55 2008 +0100 [ARM] pxa: lubbock: move mis-placed SPI info The SPI information got placed in the middle of the SMC91x data. Lets move it up a few lines so that we keep related things grouped together. Signed-off-by: Russell King commit 0aa975613320fcd8434087b6d61ef6990ec24e7d Author: Dmitry Baryshkov Date: Sat Apr 12 20:02:50 2008 +0100 [ARM] 4970/1: tosa: correct gpio used for wake up. TOSA_GPIO_ON_KEY can't wakeup the device. But the board provides TOSA_GPIO_POWERON which is OR of (on_ac) and (on_button). Use it for wake up. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit b168281c07adf0a13f17368532fe787f1d23fd30 Author: Philipp Zabel Date: Sat Apr 12 13:29:22 2008 +0100 [ARM] 4966/1: magician: add MFP pin configuration Although the GPIO alternate functions should be correctly set by the bootloader, configure them here to be sure. To save power, FFUART/BTUART/STUART are left unconfigured (output, low) until they are needed by pxaficp or the magician GSM chipset driver. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 81447b2ee6a62cef884aa017e70bbe8c02f0d63b Author: Philipp Zabel Date: Sat Apr 12 13:28:02 2008 +0100 [ARM] 4965/1: magician: use htc-pasic3,leds-pasic3,ds1wm,leds-gpio This patch enables LEDs and the 1-wire bus (connected to a DS2760 battery monitor) on the magician. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 5dc3339aa5ba29593ea57814049ddca8c12831c8 Author: Philipp Zabel Date: Sat Apr 12 13:25:41 2008 +0100 [ARM] 4964/1: htc-pasic3: MFD driver for PASIC3 LED control + DS1WM chip This driver will provide registers, clocks and GPIOs of the HTC PASIC3 (AIC3) and PASIC2 (AIC2) chips to the ds1wm and leds-pasic3 drivers. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 481ea5a16aaabe2570d56b5a4d29fa80adc8008b Author: Dmitry Baryshkov Date: Thu Apr 10 15:43:18 2008 +0100 [ARM] 4958/2: tosa: fix i2c registration. Add a call to pxa_set_i2c_info() to force i2c registration Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 2cb4734232e62ee95c1f7dafdc032b652eef49d7 Author: Dmitry Baryshkov Date: Thu Apr 10 11:00:32 2008 +0100 [ARM] 4960/1: Rewrite tosa pin configuration to use MFP tables. Clean up all pins configuration to use currently proposed MFP table schema. Signed-off-by: Dmitry Baryshkov Acked-by: eric miao Signed-off-by: Russell King commit 64c1dd3bbf67c958992c098d5d464a014df3fa46 Author: Mike Rapoport Date: Thu Apr 10 06:34:29 2008 +0100 [ARM] 4959/1: PXA: Fix misprint in CICR1_RGBT_CONV This patch fixes misprint in definition of CICR1_RGBT_CONV in include/asm-arm/arch-pxa/pxa-regs.h Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 60802188ece1c5b63deefc05b7b442625e575476 Author: Philipp Zabel Date: Wed Apr 9 19:28:53 2008 +0100 [ARM] 4953/1: magician: add backlight power switching GPIOs Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit e07ff8d8091eff8e208fe1e406c15e5de0fffd63 Author: Philipp Zabel Date: Wed Apr 9 19:27:10 2008 +0100 [ARM] 4952/1: magician: add LCD detection, LCD power switching, update pxafb settings All magician devices I've encountered so far have featured the Toppoly TD028STEB1 display, so the Samsung LTP280QV support is untested. The power-on sequence is not correct because pxafb doesn't yet support enabling the LCD controller in the middle of the it. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 350d115d1eaa29e64324847badf27c93159ba8e0 Author: Philipp Zabel Date: Wed Apr 9 19:25:56 2008 +0100 [ARM] 4951/1: magician: enable external power supply (pda_power) driver Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit bdb0c16acb51b7bf15d626848f287691ef39dbe8 Author: Philipp Zabel Date: Wed Apr 9 19:24:55 2008 +0100 [ARM] 4950/1: magician: enable MMC support Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit aa7975901b949501d47af8225f23bee1116cd441 Author: Philipp Zabel Date: Wed Apr 9 19:24:05 2008 +0100 [ARM] 4949/1: magician: enable flash VPP GPIO and build in MTD, physmap-flash and JFFS2 This enables rootfs on StrataFlash if the bootloader supplies the partition list. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 70e357f8426c54e1500ac4fdb6b1172df16d8b93 Author: Philipp Zabel Date: Wed Apr 9 19:22:57 2008 +0100 [ARM] 4948/1: magician: use htc-egpio to drive the GPIO/IRQ expander CPLD needed for power management (audio, BT, charging, GSM, LCD, SD), GSM, flash and SD operation and audio routing. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit a1635b8fe59de2c5223cda5ca8397b875c901904 Author: Philipp Zabel Date: Wed Apr 9 19:20:34 2008 +0100 [ARM] 4947/1: htc-egpio, a driver for GPIO/IRQ expanders with fixed input/output pins implemented in CPLD chips on several HTC devices. The original driver was written by Kevin O'Connor, I have adapted it to use gpiolib and made the bus/register widths configurable. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit e6816f34e4ee237fc1b54e0357e9ea31462ad411 Author: Philipp Zabel Date: Wed Apr 9 19:14:15 2008 +0100 [ARM] 4944/2: magician: enable i2c bus Since recent PXA changes the (non-power-)I2C bus has to be explicitly enabled from board initialisation code. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 103a1754894eecf488103f7739061e7e767049ad Author: Philipp Zabel Date: Wed Apr 9 19:11:52 2008 +0100 [ARM] 4943/2: magician: fix magician.h GPIO header includes PXA GPIO definitions were split from pxa-regs.h into pxa2xx-gpio.h. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit df56eacdd5b1018f3f2831ff245a7cb70c602454 Author: Philipp Zabel Date: Tue Apr 8 19:36:06 2008 +0100 [ARM] 4942/1: magician: fix the backlight driver name corgi_bl was renamed to generic_bl. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 4fa575b2376c26a2204f9d848e7555452888b69b Author: Philipp Zabel Date: Tue Apr 8 19:35:18 2008 +0100 [ARM] 4941/1: Add initial defconfig for HTC Magician PDA phones Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit b86a5da8f7f57b9b0fe468d83d3f2af297fa1e14 Author: Mark Brown Date: Wed Apr 9 11:32:21 2008 +0100 [ARM] 4946/1: pxa3xx: Print an error if we refuse to suspend The PXA3xx will not suspend if there are no wakeup sources configured. Print a diagnostic message to make it easier for the user to see what's happening. Signed-off-by: Mark Brown Acked-by: eric miao Signed-off-by: Russell King commit 835e7f1c9ab03db6aa51973aee71d13ccb09cb19 Author: Mark Brown Date: Mon Apr 7 17:16:34 2008 +0100 [ARM] 4901/3: mainstone: Register primary I2C bus Mainstone has the primary I2C bus exposed for use on plugin modules. Signed-off-by: Mark Brown Acked-by: eric miao Signed-off-by: Russell King commit 90b8fc34968d3f6c70e309d97597682f119220b9 Author: Jaya Kumar Date: Sat Mar 15 05:11:07 2008 +0100 [ARM] 4867/1: Adds flash, udc, mci support for gumstix F boards This patch implements support for Gumstix-F flash, udc and mci. Fixes since the last time are: - Steve Sakoman as maintainer - cleanup for udc and mci setup Signed-off-by: Jaya Kumar Signed-off-by: Russell King commit 4354e188121d92c28647146b70a8c303b46a7dcd Author: eric miao Date: Fri Feb 22 13:48:15 2008 +0800 [ARM] pxa: remove keypad register definitions from pxa-regs.h Keypad registers are now fully defined within pxa27x-keypad.c, no need to keep those definitions in pxa-regs.h Signed-off-by: eric miao Signed-off-by: Russell King commit 5fa41510f0f481d5139c732c5c6aac4b4a722828 Author: eric miao Date: Wed Jan 23 15:07:22 2008 +0800 [ARM] pxa: add keypad support for littleton Signed-off-by: eric miao Signed-off-by: Russell King commit 468e086f78fb4ff69cefc256d7cd0673e95906d6 Author: eric miao Date: Wed Jan 23 14:25:50 2008 +0800 [ARM] pxa: add keypad support for zylonite Signed-off-by: eric miao Signed-off-by: Russell King commit 55c26e4011572a2e1329cbff92e930838010ba88 Author: eric miao Date: Wed Jan 23 14:25:27 2008 +0800 [ARM] pxa: add partial keypad support for mainstone This is partial because mainstone's keypad is really special, some of the keys like '1', '2', ... are actually connected to two row/column juntions, thus pressing '1' is equivalent to pressing 'A' & 'H'. This is really brain damanged since it makes distinguishing between pressing '1' and multiple keys pressing of 'A' & 'H' difficult. So these special keys are not supported for the time being. Signed-off-by: eric miao Signed-off-by: Russell King commit 37320980414f5a7654ee08a047194224c6bba46e Author: eric miao Date: Wed Jan 23 13:39:13 2008 +0800 [ARM] pxa: add pxa27x_keypad device and pxa_set_keypad_info() also update the clk definitions in pxa27x and pxa3xx. Signed-off-by: eric miao Signed-off-by: Russell King commit 450d28749c9bf2cc6d274695fe454bb53456428d Author: eric miao Date: Tue Mar 11 10:06:38 2008 +0800 [ARM] pxa: use gpio_keys.c to support mainstone's wakeup switch of GPIO1 NOTE: currently don't know if the key code of KEY_SUSPEND is fit for such usage. Signed-off-by: eric miao Signed-off-by: Russell King commit c0a596d6a138ea281bed4ff3018c07c45dd245a2 Author: eric miao Date: Tue Mar 11 09:46:28 2008 +0800 [ARM] pxa: allow dynamic enable/disable of GPIO wakeup for pxa{25x,27x} Changes include: 1. rename MFP_LPM_WAKEUP_ENABLE into MFP_LPM_CAN_WAKEUP to indicate the board capability of this pin to wakeup the system 2. add gpio_set_wake() and keypad_set_wake() to allow dynamically enable/disable wakeup from GPIOs and keypad GPIO * these functions are currently kept in mfp-pxa2xx.c due to their dependency to the MFP configuration 3. pxa2xx_mfp_config() only gives early warning if MFP_LPM_CAN_WAKEUP is set on incorrect pins So that the GPIO's wakeup capability is now decided by the following: a) processor's capability: (only those GPIOs which have dedicated bits within PWER/PRER/PFER can wakeup the system), this is initialized by pxa{25x,27x}_init_mfp() b) board design decides: - whether the pin is designed to wakeup the system (some of the GPIOs are configured as other functions, which is not intended to be a wakeup source), by OR'ing the pin config with MFP_LPM_CAN_WAKEUP - which edge the pin is designed to wakeup the system, this may depends on external peripherals/connections, which is totally board specific; this is indicated by MFP_LPM_EDGE_* c) the corresponding device's (most likely the gpio_keys.c) wakeup attribute: Signed-off-by: eric miao Signed-off-by: Russell King commit 9b02b2df0099c083ea40ba8c7068e3dcbe381302 Author: eric miao Date: Wed Feb 13 08:52:38 2008 +0800 [ARM] pxa: use new pin configuration mechanism for lubbock Signed-off-by: eric miao Signed-off-by: Russell King commit fef06d274feb9b0e5a2d20c29b2979634514243f Author: eric miao Date: Mon Feb 4 17:15:50 2008 +0800 [ARM] pxa: use new pin configuration mechanism for mainstone 1. the following code to configure PGSRx is no way portable and intuitive: - PGSR0 = 0x00008800; - PGSR1 = 0x00000002; - PGSR2 = 0x0001FC00; - PGSR3 = 0x00001F81; this is removed as low power state has already been encoded in the pin configuration definitions. Note: there is no specific reason for some of the GPIOs to drive high in low power mode as indicated by the above setting, those bits are ignored, and the result is validated to work. 2. the following code to configure GPIO wakeup is removed as this is now totally handled by pxa2xx_mfp_config(): - PWER = 0xC0000002; - PRER = 0x00000002; - PFER = 0x00000002; Signed-off-by: eric miao Signed-off-by: Russell King commit 3d3934c357103504d0f0a5e9ab808bb57e356f6a Author: eric miao Date: Sun Feb 3 15:49:09 2008 +0800 [ARM] pxa: move ARRAY_AND_SIZE definition to generic.h for use by other platforms Signed-off-by: eric miao Signed-off-by: Russell King commit 7facc2f9374159795af2a3f8b3e682b4ee230643 Author: eric miao Date: Wed Mar 5 17:16:29 2008 +0800 [ARM] pxa: add MFP-alike pin configuration support for pxa{25x, 27x} Pin configuration on pxa{25x,27x} has now separated from generic GPIO into dedicated mfp-pxa2xx.c by this patch. The name "mfp" is borrowed from pxa3xx and is used here to alert the difference between the two concepts: pin configuration and generic GPIOs. A GPIO can be called a "GPIO" _only_ when the corresponding pin is configured so. A pin configuration on pxa{25x,27x} is composed of: - alternate function selection (or pin mux as commonly called) - low power state or sleep state - wakeup enabling from low power mode The following MFP_xxx bit definitions in mfp.h are re-used: - MFP_PIN(x) - MFP_AFx - MFP_LPM_DRIVE_{LOW, HIGH} - MFP_LPM_EDGE_* Selecting alternate function on pxa{25x, 27x} involves configuration of GPIO direction register GPDRx, so a new bit and MFP_DIR_{IN, OUT} are introduced. And pin configurations are defined by the following two macros: - MFP_CFG_IN : for input alternate functions - MFP_CFG_OUT : for output alternate functions Every configuration should provide a low power state if it configured as output using MFP_CFG_OUT(). As a general guideline, the low power state should be decided to minimize the overall power dissipation. As an example, it is better to drive the pin as high level in low power mode if the GPIO is configured as an active low chip select. Pins configured as GPIO are defined by MFP_CFG_IN(). This is to avoid side effects when it is firstly configured as output. The actual direction of the GPIO is configured by gpio_direction_{input, output} Wakeup enabling on pxa{25x, 27x} is actually GPIO based wakeup, thus the device based enable_irq_wake() mechanism is not applicable here. E.g. invoking enable_irq_wake() with a GPIO IRQ as in the following code to enable OTG wakeup is by no means portable and intuitive, and it is valid _only_ when GPIO35 is configured as USB_P2_1: enable_irq_wake( gpio_to_irq(35) ); To make things worse, not every GPIO is able to wakeup the system. Only a small number of them can, on either rising or falling edge, or when level is high (for keypad GPIOs). Thus, another new bit is introduced to indicate that the GPIO will wakeup the system: - MFP_LPM_WAKEUP_ENABLE The following macros can be used in platform code, and be OR'ed to the GPIO configuration to enable its wakeup: - WAKEUP_ON_EDGE_{RISE, FALL, BOTH} - WAKEUP_ON_LEVEL_HIGH The WAKEUP_ON_LEVEL_HIGH is used for keypad GPIOs _only_, there is no edge settings for those GPIOs. These WAKEUP_ON_* flags OR'ed on wrong GPIOs will be ignored in case that platform code author is careless enough. The tradeoff here is that the wakeup source is fully determined by the platform configuration, instead of enable_irq_wake(). Signed-off-by: eric miao Signed-off-by: Russell King commit a683b14df8f4320d0ef6cac93a6d9806173bf339 Author: eric miao Date: Mon Mar 3 09:44:25 2008 +0800 [ARM] pxa: separate GPIOs and their mode definitions to pxa2xx-gpio.h two reasons: 1. GPIO namings and their mode definitions are conceptually not part of the PXA register definitions 2. this is actually a temporary move in the transition of PXA2xx to use MFP-alike APIs (as what PXA3xx is now doing), so that legacy code will still work and new code can be added in step by step Signed-off-by: eric miao Signed-off-by: Russell King commit 4be35e236c4a0e346442d98de3e470cf87c4e947 Author: eric miao Date: Mon Feb 4 10:07:09 2008 +0800 [ARM] pxa: move mfp sysdev registeration out for suspend/resume order MFP configurations after resume should be done before the GPIO registers are restored. Move the mfp sysdev registeration to the same place where GPIO and IRQ sysdev(s) are registered to better control the order. Signed-off-by: eric miao Signed-off-by: Russell King commit 06b2666e89c85640c7eddd67e7bee292a9afeceb Author: eric miao Date: Mon Mar 3 08:59:13 2008 +0800 [ARM] pxa: rename mfp.c to mfp-pxa3xx.c to indicate it's pxa3xx specific Signed-off-by: eric miao Signed-off-by: Russell King commit 689c04a3904d68343a9258e2de12412e3bb89d09 Author: eric miao Date: Tue Mar 4 17:18:38 2008 +0800 [ARM] pxa: make pxa_gpio_irq_type() processor generic The main issue here is that pxa3xx does not have GAFRx registers, access directly to these registers should be avoided for pxa3xx: 1. introduce __gpio_is_occupied() to indicate the GAFRx and GPDRx registers are already configured on pxa{25x,27x} while returns 0 always on pxa3xx 2. pxa_gpio_mode(gpio | GPIO_IN) is replaced directly with assign- ment of GPDRx, the side effect of this change is that the pin _must_ be configured before use, pxa_gpio_irq_type() will not change the pin to GPIO, as this restriction is sane, esp. with the new MFP framework Signed-off-by: eric miao Signed-off-by: Russell King commit 663707c1a99b23a79f9e21117b7c1bdbfe80a899 Author: eric miao Date: Tue Mar 4 16:13:58 2008 +0800 [ARM] pxa: move GPIO sysdev outside of generic.c into gpio.c Signed-off-by: eric miao Signed-off-by: Russell King commit b9e25aced33eeb7279ccbaef198f28370cfb4e93 Author: eric miao Date: Tue Mar 4 14:19:58 2008 +0800 [ARM] pxa: merge assignment of set_wake into pxa_init_{irq,gpio}() To further clean up the GPIO and IRQ structure: 1. pxa_init_irq_gpio() and pxa_init_gpio() combines into a single function pxa_init_gpio() 2. assignment of set_wake merged into pxa_init_{irq,gpio}() as an argument Signed-off-by: eric miao Signed-off-by: Russell King commit f6fb7af4768bc1ddc2349f6eaefedd746c8e4913 Author: eric miao Date: Tue Mar 4 13:53:05 2008 +0800 [ARM] pxa: integrate low IRQ chip (ICIP) and high IRQ chip (ICIP2) into one This makes the code better organized and simplified a bit. The change will lose a bit of performance when performing IRQ ack/mask/unmask,but that's not too much after checking the result binary. This patch also removes the ugly #ifdef CONFIG_PXA27x .. #endif by carefully not to access those pxa{27x,3xx} specific registers, this is done by keeping an internal IRQ number variable. The pxa-regs.h is also modified so registers for IRQ > PXA_IRQ(31) are made public even if CONFIG_PXA{27x,3xx} isn't defined (for pxa25x's sake) The incorrect assumption in the original code that internal irq starts from 0 is also corrected by comparing with PXA_IRQ(0). "struct sys_device" for the IRQ are reduced into one single device on pxa{27x,3xx}. Signed-off-by: eric miao Signed-off-by: Russell King commit e3630db1fa7677b350fd5a1ac5498cc48448ae28 Author: eric miao Date: Tue Mar 4 11:42:26 2008 +0800 [ARM] pxa: move GPIO IRQ specific code out of irq.c into gpio.c Signed-off-by: eric miao Signed-off-by: Russell King commit 0e037bbb4a639fff01cebf552db19237ec688678 Author: eric miao Date: Mon Mar 3 13:20:20 2008 +0800 [ARM] pxa: introduce GPIO_CHIP() macro to clean up the definitions Signed-off-by: eric miao Signed-off-by: Russell King commit dfa1067996390dfd4b1ce449676500fab4980ce2 Author: eric miao Date: Tue Mar 4 11:18:48 2008 +0800 [ARM] pxa: cleanup the coding style of pxa_gpio_set_type() by 1. wrapping long lines and making comments tidy 2. using IRQ_TYPE_* instead of migration macros __IRQT_* 3. introduce a pr_debug() for the commented printk(KERN_DEBUG ...) stuff Signed-off-by: eric miao Signed-off-by: Russell King commit a7bf4dbabac2a1ccd56527a56c82af720e7a00d1 Author: eric miao Date: Tue Mar 4 11:12:14 2008 +0800 [ARM] pxa: make GPIO IRQ code less dependent on the internal IRQs by: 1. introduce dedicated pxa_{mask,unmask}_low_gpio() 2. remove set_irq_chip(IRQ_GPIO_2_x, ...) which has already been initialized in pxa_init_irq() 3. introduce dedicated pxa_init_gpio_set_wake() Signed-off-by: eric miao Signed-off-by: Russell King commit 7a26d3a33fd9adcbfd4fa2ca2d7e8a8272817935 Author: eric miao Date: Tue Mar 4 10:57:18 2008 +0800 [ARM] pxa: generalize the muxed gpio IRQ handling code with loop and ffs() 1. As David Brownell suggests, using ffs() is going to make the loop a bit faster (by avoiding unnecessary shift and iteration) 2. Russell suggested find_{first,next}_bit() being used with the gedr[] array Signed-off-by: eric miao Cc: David Brownell Signed-off-by: Russell King commit d72b1370b0b45f1fabda5ae4d603773d8a2c226a Author: Robert Jarzmik Date: Sun Mar 16 11:55:32 2008 +0100 [ARM] 4868/1: Enhance pxa270 GPIO definitions Enhanced GPIO alternate functions descriptions, taken from Intel PXA270 Developers Manual. Signed-off-by: Robert Jarzmik Signed-off-by: Russell King commit 942de47bfee24143ecbf75b981b32143bd414529 Author: Mark Brown Date: Tue Mar 4 11:14:24 2008 +0100 [ARM] 4834/3: Convert ASoC pxa2xx-ac97 driver to use the clock API Signed-off-by: Mark Brown Acked-by: Takashi Iwai Acked-by: eric miao Signed-off-by: Russell King commit 93873fbfd86c08ac3e4f1b37e667cf858a8b2fab Author: Mark Brown Date: Tue Mar 4 11:14:25 2008 +0100 [ARM] 4833/3: Convert non-SoC PXA2xx AC97 driver to clock API Signed-off-by: Mark Brown Acked-by: Takashi Iwai Acked-by: eric miao Signed-off-by: Russell King commit 60bfe7fa3dc13fe90d273371b65ae3ec89583c52 Author: Mark Brown Date: Tue Mar 4 11:14:23 2008 +0100 [ARM] 4832/2: Support AC97CLK on PXA3xx via the clock API The AC97 clock rate on PXA3xx is generated with a configurable divider from sys_pll. Signed-off-by: Mark Brown Acked-by: eric miao Signed-off-by: Russell King commit 27b98a671ff4cda89ba279452115000da59a9067 Author: Mark Brown Date: Tue Mar 4 11:14:22 2008 +0100 [ARM] 4831/2: Add PXA2xx AC97 clocks to clock API Signed-off-by: Mark Brown Acked-by: eric miao Signed-off-by: Russell King commit dcc88a170ce9f90e4b819c67feebb16e8a123f79 Author: Mark Brown Date: Wed Feb 13 16:39:21 2008 +0100 [ARM] 4830/1: Add support for the CLK_POUT pin on PXA3xx CPUs Expose control of the PXA3xx 13MHz CLK_POUT pin via the clock API Signed-off-by: Mark Brown Signed-off-by: Russell King commit c48b2e90aecf037f53913fc8d198d01fce0fbf3c Author: Johannes Weiner Date: Fri Apr 18 13:29:47 2008 -0700 [ARM] remove redundant display of free swap space in show_mem() Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 28fab1a2fd5b1aa92f9ad1adc9e3b8914f89bc74 Author: Russell King Date: Sun Apr 13 17:47:35 2008 +0100 [ARM] Fix kernel mode preemption Luc Van Oostenryck reported: The code removed by this patch tested the irq_cpustat_t members __local_irq_count and __local_bh_count but these fields have been removed some time ago: http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=3ab146c93e039dec99fec8d441a8dd046fe510cc Fix this oversight. Acked-by: Bill Gatliff Signed-off-by: Russell King commit 84081bd2205efd1e6c7203bc7099b4350839ee39 Author: Lennert Buytenhek Date: Fri Mar 28 21:11:47 2008 +0100 [ARM] 4881/1: print unrecognised processor ID as part of failure message If we fail to boot due to an unsupported processor ID, print the processor ID as part of the failure message. Signed-off-by: Lennert Buytenhek Acked-by: Nicolas Pitre Signed-off-by: Russell King commit 0f9801463b0aa9ac7253a250ec6bc37e6f77d31d Author: Uwe Kleine-König Date: Thu Mar 6 16:22:33 2008 +0100 [ARM] 4854/1: fix the load address of uImage for CONFIG_ZBOOT_ROM=y U-Boot puts an image at the load address specified in the uImage header before jumping to the entry point. In the CONFIG_ZBOOT_ROM case ZBOOT_ROM_TEXT is the right load address. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit cbfc0f04069a426f3c8b4b35021117f6833df9ca Author: Uwe Kleine-König Date: Thu Mar 6 16:22:00 2008 +0100 [ARM] 4852/1: Add timerfd_create, timerfd_settime and timerfd_gettime syscall entries Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 184dd48102425467fbbb209765894b04f668a9de Author: Russell King Date: Sat Mar 8 15:58:03 2008 +0000 [ARM] Update mach-types Signed-off-by: Russell King commit 15f7d677ccff6f0f5de8a1ee43a792567e9f9de9 Author: Russell King Date: Sat Apr 19 10:14:31 2008 +0100 [ARM] Remove leds-tosa.c See f99ee0b99214cf5329e711859e3f5fd02c820a24 Signed-off-by: Russell King commit ad775f5a8faa5845377f093ca11caf577404add9 Author: Dave Hansen Date: Fri Feb 15 14:38:01 2008 -0800 [PATCH] r/o bind mounts: debugging for missed calls There have been a few oopses caused by 'struct file's with NULL f_vfsmnts. There was also a set of potentially missed mnt_want_write()s from dentry_open() calls. This patch provides a very simple debugging framework to catch these kinds of bugs. It will WARN_ON() them, but should stop us from having any oopses or mnt_writer count imbalances. I'm quite convinced that this is a good thing because it found bugs in the stuff I was working on as soon as I wrote it. [hch: made it conditional on a debug option. But it's still a little bit too ugly] [hch: merged forced remount r/o fix from Dave and akpm's fix for the fix] Signed-off-by: Dave Hansen Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 2e4b7fcd926006531935a4c79a5e9349fe51125b Author: Dave Hansen Date: Fri Feb 15 14:38:00 2008 -0800 [PATCH] r/o bind mounts: honor mount writer counts at remount Originally from: Herbert Poetzl This is the core of the read-only bind mount patch set. Note that this does _not_ add a "ro" option directly to the bind mount operation. If you require such a mount, you must first do the bind, then follow it up with a 'mount -o remount,ro' operation: If you wish to have a r/o bind mount of /foo on bar: mount --bind /foo /bar mount -o remount,ro /bar Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 3d733633a633065729c9e4e254b2e5442c00ef7e Author: Dave Hansen Date: Fri Feb 15 14:37:59 2008 -0800 [PATCH] r/o bind mounts: track numbers of writers to mounts This is the real meat of the entire series. It actually implements the tracking of the number of writers to a mount. However, it causes scalability problems because there can be hundreds of cpus doing open()/close() on files on the same mnt at the same time. Even an atomic_t in the mnt has massive scalaing problems because the cacheline gets so terribly contended. This uses a statically-allocated percpu variable. All want/drop operations are local to a cpu as long that cpu operates on the same mount, and there are no writer count imbalances. Writer count imbalances happen when a write is taken on one cpu, and released on another, like when an open/close pair is performed on two Upon a remount,ro request, all of the data from the percpu variables is collected (expensive, but very rare) and we determine if there are any outstanding writers to the mount. I've written a little benchmark to sit in a loop for a couple of seconds in several cpus in parallel doing open/write/close loops. http://sr71.net/~dave/linux/openbench.c The code in here is a a worst-possible case for this patch. It does opens on a _pair_ of files in two different mounts in parallel. This should cause my code to lose its "operate on the same mount" optimization completely. This worst-case scenario causes a 3% degredation in the benchmark. I could probably get rid of even this 3%, but it would be more complex than what I have here, and I think this is getting into acceptable territory. In practice, I expect writing more than 3 bytes to a file, as well as disk I/O to mask any effects that this has. (To get rid of that 3%, we could have an #defined number of mounts in the percpu variable. So, instead of a CPU getting operate only on percpu data when it accesses only one mount, it could stay on percpu data when it only accesses N or fewer mounts.) [AV] merged fix for __clear_mnt_mount() stepping on freed vfsmount Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 2c463e95480829a2fe8f386589516e13b1289db6 Author: Dave Hansen Date: Fri Feb 15 14:37:56 2008 -0800 [PATCH] r/o bind mounts: check mnt instead of superblock directly If we depend on the inodes for writeability, we will not catch the r/o mounts when implemented. This patches uses __mnt_want_write(). It does not guarantee that the mount will stay writeable after the check. But, this is OK for one of the checks because it is just for a printk(). The other two are probably unnecessary and duplicate existing checks in the VFS. This won't make them better checks than before, but it will make them detect r/o mounts. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit ec82687f29127a954dd0da95dc1e0a4ce92b560c Author: Dave Hansen Date: Fri Feb 15 14:37:53 2008 -0800 [PATCH] r/o bind mounts: elevate count for xfs timestamp updates Elevate the write count during the xfs m/ctime updates. XFS has to do it's own timestamp updates due to an unfortunate VFS design limitation, so it will have to track writers by itself aswell. [hch: split out from the touch_atime patch as it's not related to it at all] Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit 2f676cbc0d60ae806216c7a61c6971bd72dedde8 Author: Dave Hansen Date: Fri Feb 15 14:37:55 2008 -0800 [PATCH] r/o bind mounts: make access() use new r/o helper It is OK to let access() go without using a mnt_want/drop_write() pair because it doesn't actually do writes to the filesystem, and it is inherently racy anyway. This is a rare case when it is OK to use __mnt_is_readonly() directly. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 9ac9b8474c39c3ae2c2b37d8e1f08db8a9146124 Author: Dave Hansen Date: Fri Feb 15 14:37:52 2008 -0800 [PATCH] r/o bind mounts: write counts for truncate() Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit 2af482a7edfb8810539cacc2fdd8242611ca43bb Author: Dave Hansen Date: Fri Feb 15 14:37:50 2008 -0800 [PATCH] r/o bind mounts: elevate write count for chmod/chown callers chown/chmod,etc... don't call permission in the same way that the normal "open for write" calls do. They still write to the filesystem, so bump the write count during these operations. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 4a3fd211ccfc08a88edc824300e25a87785c6a5f Author: Dave Hansen Date: Fri Feb 15 14:37:48 2008 -0800 [PATCH] r/o bind mounts: elevate write count for open()s This is the first really tricky patch in the series. It elevates the writer count on a mount each time a non-special file is opened for write. We used to do this in may_open(), but Miklos pointed out that __dentry_open() is used as well to create filps. This will cover even those cases, while a call in may_open() would not have. There is also an elevated count around the vfs_create() call in open_namei(). See the comments for more details, but we need this to fix a 'create, remount, fail r/w open()' race. Some filesystems forego the use of normal vfs calls to create struct files. Make sure that these users elevate the mnt writer count because they will get __fput(), and we need to make sure they're balanced. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 42a74f206b914db13ee1f5ae932dcd91a77c8579 Author: Dave Hansen Date: Fri Feb 15 14:37:46 2008 -0800 [PATCH] r/o bind mounts: elevate write count for ioctls() Some ioctl()s can cause writes to the filesystem. Take these, and make them use mnt_want/drop_write() instead. [AV: updated] Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 20ddee2c75339cc095f6191c3115f81da8955e96 Author: Dave Hansen Date: Fri Feb 15 14:37:43 2008 -0800 [PATCH] r/o bind mounts: write count for file_update_time() Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit 74f9fdfa1f229284ee1ea58fa47f2cdeeb12f6fe Author: Dave Hansen Date: Fri Feb 15 14:37:42 2008 -0800 [PATCH] r/o bind mounts: elevate write count for do_utimes() Now includes fix for oops seen by akpm. "never let a libc developer write your kernel code" - hch "nor, apparently, a kernel developer" - akpm Acked-by: Al Viro Signed-off-by: Christoph Hellwig Cc: Valdis Kletnieks Cc: Balbir Singh Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit cdb70f3f74b31576cc4d707a3d3b00d159cab8bb Author: Dave Hansen Date: Fri Feb 15 14:37:41 2008 -0800 [PATCH] r/o bind mounts: write counts for touch_atime() Remove handling of NULL mnt while we are at it - that can't happen these days. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit a761a1c03a739f04afd6c8d37fd16405bbe754da Author: Dave Hansen Date: Fri Feb 15 14:37:39 2008 -0800 [PATCH] r/o bind mounts: elevate write count for ncp_ioctl() Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit 18f335aff86913de3c76f88d32c8135c1da62ce6 Author: Dave Hansen Date: Fri Feb 15 14:37:38 2008 -0800 [PATCH] r/o bind mounts: elevate write count for xattr_permission() callers This basically audits the callers of xattr_permission(), which calls permission() and can perform writes to the filesystem. [AV: add missing parts - removexattr() and nfsd posix acls, plug for a leak spotted by Miklos] Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 9079b1eb1753f217c3de9f1b7dd7fd549cc3f0cf Author: Dave Hansen Date: Fri Feb 15 14:37:49 2008 -0800 [PATCH] r/o bind mounts: get write access for vfs_rename() callers This also uses the little helper in the NFS code to make an if() a little bit less ugly. We introduced the helper at the beginning of the series. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 75c3f29de7451677c59580b0a959f694f36aac28 Author: Dave Hansen Date: Fri Feb 15 14:37:45 2008 -0800 [PATCH] r/o bind mounts: write counts for link/symlink [AV: add missing nfsd pieces] Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit 463c3197263bd26ac59a00d2484990e17e35c50e Author: Dave Hansen Date: Fri Feb 15 14:37:57 2008 -0800 [PATCH] r/o bind mounts: get callers of vfs_mknod/create/mkdir() This takes care of all of the direct callers of vfs_mknod(). Since a few of these cases also handle normal file creation as well, this also covers some calls to vfs_create(). So that we don't have to make three mnt_want/drop_write() calls inside of the switch statement, we move some of its logic outside of the switch and into a helper function suggested by Christoph. This also encapsulates a fix for mknod(S_IFREG) that Miklos found. [AV: merged mkdir handling, added missing nfsd pieces] Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 0622753b800e4cc6cb9319b36b27658c72dd7cdc Author: Dave Hansen Date: Fri Feb 15 14:37:34 2008 -0800 [PATCH] r/o bind mounts: elevate write count for rmdir and unlink. Elevate the write count during the vfs_rmdir() and vfs_unlink(). [AV: merged rmdir and unlink parts, added missing pieces in nfsd] Acked-by: Serge Hallyn Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 49e0d02cf018d4edf24bfc8531a816a26367e4ce Author: Dave Hansen Date: Fri Feb 15 14:37:32 2008 -0800 [PATCH] r/o bind mounts: drop write during emergency remount The emergency remount code forcibly removes FMODE_WRITE from filps. The r/o bind mount code notices that this was done without a proper mnt_drop_write() and properly gives a warning. This patch does a mnt_drop_write() to keep everything balanced. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit aceaf78da92a53f5e1b105649a1b8c0afdb2135c Author: Dave Hansen Date: Fri Feb 15 14:37:31 2008 -0800 [PATCH] r/o bind mounts: create helper to drop file write access If someone decides to demote a file from r/w to just r/o, they can use this same code as __fput(). NFS does just that, and will use this in the next patch. AV: drop write access in __fput() only after we evict from file list. Signed-off-by: Dave Hansen Cc: Erez Zadok Cc: Trond Myklebust Cc: "J Bruce Fields" Acked-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 8366025eb80dfa0d8d94b286d53027081c280ef1 Author: Dave Hansen Date: Fri Feb 15 14:37:30 2008 -0800 [PATCH] r/o bind mounts: stub functions This patch adds two function mnt_want_write() and mnt_drop_write(). These are used like a lock pair around and fs operations that might cause a write to the filesystem. Before these can become useful, we must first cover each place in the VFS where writes are performed with a want/drop pair. When that is complete, we can actually introduce code that will safely check the counts before allowing r/w<->r/o transitions to occur. Acked-by: Serge Hallyn Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit a70e65df8812c52252fa07a2eb92a46451a4427f Author: Christoph Hellwig Date: Fri Feb 15 14:37:28 2008 -0800 [PATCH] merge open_namei() and do_filp_open() open_namei() will, in the future, need to take mount write counts over its creation and truncation (via may_open()) operations. It needs to keep these write counts until any potential filp that is created gets __fput()'d. This gets complicated in the error handling and becomes very murky as to how far open_namei() actually got, and whether or not that mount write count was taken. That makes it a bad interface. All that the current do_filp_open() really does is allocate the nameidata on the stack, then call open_namei(). So, this merges those two functions and moves filp_open() over to namei.c so it can be close to its buddy: do_filp_open(). It also gets a kerneldoc comment in the process. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit d57999e1527f0b0c818846dcba5a23015beb4823 Author: Dave Hansen Date: Fri Feb 15 14:37:27 2008 -0800 [PATCH] do namei_flags calculation inside open_namei() My end goal here is to make sure all users of may_open() return filps. This will ensure that we properly release mount write counts which were taken for the filp in may_open(). This patch moves the sys_open flags to namei flags calculation into fs/namei.c. We'll shortly be moving the nameidata_to_filp() calls into namei.c, and this gets the sys_open flags to a place where we can get at them when we need them. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit 6188e10d38b8d7244ee7776d5f1f88c837b4b93f Author: Matthew Wilcox Date: Fri Apr 18 22:21:05 2008 -0400 Convert asm/semaphore.h users to linux/semaphore.h Signed-off-by: Matthew Wilcox commit d7b1acd3b524b39f418e463e836b48ac041954d6 Author: Matthew Wilcox Date: Tue Feb 26 10:49:01 2008 -0500 security: Remove unnecessary inclusions of asm/semaphore.h None of these files use any of the functionality promised by asm/semaphore.h. Signed-off-by: Matthew Wilcox commit f42b38009e1dbd4509a865e5ea0e91a1722c979d Author: Matthew Wilcox Date: Tue Feb 26 10:48:12 2008 -0500 lib: Remove unnecessary inclusions of asm/semaphore.h reed_solomon doesn't use any of the functionality promised by asm/semaphore.h. Signed-off-by: Matthew Wilcox commit a6550207538619bc9b90bac2e1d5e54902a432ad Author: Matthew Wilcox Date: Tue Feb 26 10:47:18 2008 -0500 kernel: Remove unnecessary inclusions of asm/semaphore.h None of these files use any of the functionality promised by asm/semaphore.h. Signed-off-by: Matthew Wilcox commit 5a6483feb0c5193519625d0ea8c4254364d423cc Author: Matthew Wilcox Date: Tue Feb 26 10:00:17 2008 -0500 include: Remove unnecessary inclusions of asm/semaphore.h None of these files use any of the functionality promised by asm/semaphore.h. It's possible that they (or some user of them) rely on it dragging in some unrelated header file, but I can't build all these files, so we'll have to fix any build failures as they come up. Signed-off-by: Matthew Wilcox commit cb688371e27880d86c42323826846d1cd7caad8f Author: Matthew Wilcox Date: Tue Feb 26 09:59:26 2008 -0500 fs: Remove unnecessary inclusions of asm/semaphore.h None of these files use any of the functionality promised by asm/semaphore.h. Signed-off-by: Matthew Wilcox commit d3135846f6c1858dbad6ccb780a42e6c98953e6d Author: Matthew Wilcox Date: Fri Apr 18 22:16:32 2008 -0400 drivers: Remove unnecessary inclusions of asm/semaphore.h None of these files use any of the functionality promised by asm/semaphore.h. It's possible that they rely on it dragging in some unrelated header file, but I can't build all these files, so we'll have fix any build failures as they come up. Signed-off-by: Matthew Wilcox commit 5f090dcb4d4fff373ce7165bce4ba5e87534d50a Author: Matthew Wilcox Date: Fri Apr 18 22:15:50 2008 -0400 net: Remove unnecessary inclusions of asm/semaphore.h None of these files use any of the functionality promised by asm/semaphore.h. It's possible that they rely on it dragging in some unrelated header file, but I can't build all these files, so we'll have fix any build failures as they come up. Signed-off-by: Matthew Wilcox commit 950e4da32426859ee4b37b2c95026d4f1efa5d05 Author: Matthew Wilcox Date: Tue Feb 26 09:55:29 2008 -0500 arch: Remove unnecessary inclusions of asm/semaphore.h None of these files use any of the functionality promised by asm/semaphore.h. It's possible that they rely on it dragging in some unrelated header file, but I can't build all these files, so we'll have fix any build failures as they come up. Signed-off-by: Matthew Wilcox commit 3925e6fc1f774048404fdd910b0345b06c699eb4 Merge: 334d094... 7cea51b... Author: Linus Torvalds Date: Fri Apr 18 18:18:30 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: security: fix up documentation for security_module_enable Security: Introduce security= boot parameter Audit: Final renamings and cleanup SELinux: use new audit hooks, remove redundant exports Audit: internally use the new LSM audit hooks LSM/Audit: Introduce generic Audit LSM hooks SELinux: remove redundant exports Netlink: Use generic LSM hook Audit: use new LSM hooks instead of SELinux exports SELinux: setup new inode/ipc getsecid hooks LSM: Introduce inode_getsecid and ipc_getsecid hooks commit 334d094504c2fe1c44211ecb49146ae6bca8c321 Merge: d1a4be6... d1643d2... Author: Linus Torvalds Date: Fri Apr 18 18:02:35 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26: (1090 commits) [NET]: Fix and allocate less memory for ->priv'less netdevices [IPV6]: Fix dangling references on error in fib6_add(). [NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found [PKT_SCHED]: Fix datalen check in tcf_simp_init(). [INET]: Uninline the __inet_inherit_port call. [INET]: Drop the inet_inherit_port() call. SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked. [netdrvr] forcedeth: internal simplifications; changelog removal phylib: factor out get_phy_id from within get_phy_device PHY: add BCM5464 support to broadcom PHY driver cxgb3: Fix __must_check warning with dev_dbg. tc35815: Statistics cleanup natsemi: fix MMIO for PPC 44x platforms [TIPC]: Cleanup of TIPC reference table code [TIPC]: Optimized initialization of TIPC reference table [TIPC]: Remove inlining of reference table locking routines e1000: convert uint16_t style integers to u16 ixgb: convert uint16_t style integers to u16 sb1000.c: make const arrays static sb1000.c: stop inlining largish static functions ... commit 7cea51be4e91edad05bd834f3235b45c57783f0d Author: James Morris Date: Fri Mar 7 12:23:49 2008 +1100 security: fix up documentation for security_module_enable security_module_enable() can only be called during kernel init. Signed-off-by: James Morris commit 076c54c5bcaed2081c0cba94a6f77c4d470236ad Author: Ahmed S. Darwish Date: Thu Mar 6 18:09:10 2008 +0200 Security: Introduce security= boot parameter Add the security= boot parameter. This is done to avoid LSM registration clashes in case of more than one bult-in module. User can choose a security module to enable at boot. If no security= boot parameter is specified, only the first LSM asking for registration will be loaded. An invalid security module name will be treated as if no module has been chosen. LSM modules must check now if they are allowed to register by calling security_module_enable(ops) first. Modify SELinux and SMACK to do so. Do not let SMACK register smackfs if it was not chosen on boot. Smackfs assumes that smack hooks are registered and the initial task security setup (swapper->security) is done. Signed-off-by: Ahmed S. Darwish Acked-by: James Morris commit 04305e4aff8b0533dc05f9f6f1a34d0796bd985f Author: Ahmed S. Darwish Date: Sat Apr 19 09:59:43 2008 +1000 Audit: Final renamings and cleanup Rename the se_str and se_rule audit fields elements to lsm_str and lsm_rule to avoid confusion. Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris commit 9d57a7f9e23dc30783d245280fc9907cf2c87837 Author: Ahmed S. Darwish Date: Sat Mar 1 22:03:14 2008 +0200 SELinux: use new audit hooks, remove redundant exports Setup the new Audit LSM hooks for SELinux. Remove the now redundant exported SELinux Audit interface. Audit: Export 'audit_krule' and 'audit_field' to the public since their internals are needed by the implementation of the new LSM hook 'audit_rule_known'. Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris commit d7a96f3a1ae279a2129653d6cb18d722f2f00f91 Author: Ahmed S. Darwish Date: Sat Mar 1 22:01:11 2008 +0200 Audit: internally use the new LSM audit hooks Convert Audit to use the new LSM Audit hooks instead of the exported SELinux interface. Basically, use: security_audit_rule_init secuirty_audit_rule_free security_audit_rule_known security_audit_rule_match instad of (respectively) : selinux_audit_rule_init selinux_audit_rule_free audit_rule_has_selinux selinux_audit_rule_match Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris commit 03d37d25e0f91b28c4b6d002be6221f1af4b19d8 Author: Ahmed S. Darwish Date: Sat Mar 1 22:00:05 2008 +0200 LSM/Audit: Introduce generic Audit LSM hooks Introduce a generic Audit interface for security modules by adding the following new LSM hooks: audit_rule_init(field, op, rulestr, lsmrule) audit_rule_known(krule) audit_rule_match(secid, field, op, rule, actx) audit_rule_free(rule) Those hooks are only available if CONFIG_AUDIT is enabled. Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris Reviewed-by: Paul Moore commit 6b89a74be0fbbc6cc639d5cf7dcf8e6ee0f120a7 Author: Ahmed S. Darwish Date: Sat Mar 1 21:58:32 2008 +0200 SELinux: remove redundant exports Remove the following exported SELinux interfaces: selinux_get_inode_sid(inode, sid) selinux_get_ipc_sid(ipcp, sid) selinux_get_task_sid(tsk, sid) selinux_sid_to_string(sid, ctx, len) They can be substitued with the following generic equivalents respectively: new LSM hook, inode_getsecid(inode, secid) new LSM hook, ipc_getsecid*(ipcp, secid) LSM hook, task_getsecid(tsk, secid) LSM hook, sid_to_secctx(sid, ctx, len) Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris Reviewed-by: Paul Moore commit 0ce784ca729dce8c9076a6339a15530ca13212f2 Author: Ahmed S. Darwish Date: Sat Mar 1 21:56:22 2008 +0200 Netlink: Use generic LSM hook Don't use SELinux exported selinux_get_task_sid symbol. Use the generic LSM equivalent instead. Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris Acked-by: David S. Miller Reviewed-by: Paul Moore commit 2a862b32f3da5a2120043921ad301322ad526084 Author: Ahmed S. Darwish Date: Sat Mar 1 21:54:38 2008 +0200 Audit: use new LSM hooks instead of SELinux exports Stop using the following exported SELinux interfaces: selinux_get_inode_sid(inode, sid) selinux_get_ipc_sid(ipcp, sid) selinux_get_task_sid(tsk, sid) selinux_sid_to_string(sid, ctx, len) kfree(ctx) and use following generic LSM equivalents respectively: security_inode_getsecid(inode, secid) security_ipc_getsecid*(ipcp, secid) security_task_getsecid(tsk, secid) security_sid_to_secctx(sid, ctx, len) security_release_secctx(ctx, len) Call security_release_secctx only if security_secid_to_secctx succeeded. Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris Reviewed-by: Paul Moore commit 713a04aeaba35bb95d442cdeb52055498519be25 Author: Ahmed S. Darwish Date: Sat Mar 1 21:52:30 2008 +0200 SELinux: setup new inode/ipc getsecid hooks Setup the new inode_getsecid and ipc_getsecid() LSM hooks for SELinux. Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris Reviewed-by: Paul Moore commit 8a076191f373abaeb4aa5f6755d22e49db98940f Author: Ahmed S. Darwish Date: Sat Mar 1 21:51:09 2008 +0200 LSM: Introduce inode_getsecid and ipc_getsecid hooks Introduce inode_getsecid(inode, secid) and ipc_getsecid(ipcp, secid) LSM hooks. These hooks will be used instead of similar exported SELinux interfaces. Let {inode,ipc,task}_getsecid hooks set the secid to 0 by default if CONFIG_SECURITY is not defined or if the hook is set to NULL (dummy). This is done to notify the caller that no valid secid exists. Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris Reviewed-by: Paul Moore commit 076d8423a98659a92837b07aa494cb74bfefe77c Author: Steve French Date: Fri Apr 18 23:26:26 2008 +0000 [CIFS] Fix UNC path prefix on QueryUnixPathInfo to have correct slash When a share was in DFS and the server was Unix/Linux, we were sending paths of the form \\server\share/dir/file rather than //server/share/dir/file There was some discussion between me and jra over whether we should use /server/share/dir/file as MS sometimes says - but the documentation for this claims it should be doubleslash for this type of UNC-like path format and that works, so leaving it as doubleslash but converting the \ to / in the the //server/share portion. This gets Samba to now correctly return STATUS_PATH_NOT_COVERED when it is supposed to (Windows already did since the direction of the slash was not an issue for them). Still need another minor change to fully enable DFS (need to finish some chages to SMBGetDFSRefer Signed-off-by: Steve French commit d1643d24c61b725bef399cc1cf2944b4c9c23177 Author: Alexey Dobriyan Date: Fri Apr 18 15:43:32 2008 -0700 [NET]: Fix and allocate less memory for ->priv'less netdevices This patch effectively reverts commit d0498d9ae1a5cebac363e38907266d5cd2eedf89 aka "[NET]: Do not allocate unneeded memory for dev->priv alignment." It was found to be buggy because of final unconditional += NETDEV_ALIGN_CONST removal. For example, for sizeof(struct net_device) being 2048 bytes, "alloc_size" was also 2048 bytes, but allocator with debugging options turned on started giving out !32-byte aligned memory resulting in redzones overwrites. Patch does small optimization in ->priv'less case: bumping size to next 32-byte boundary was always done to ensure ->priv will also be aligned. But, no ->priv, no need to do that. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit ba9279519b371340e01cadf4c230e9d52a4bf8c4 Author: Catalin Marinas Date: Fri Apr 18 22:43:17 2008 +0100 Allow the L2X0 outer cache support to be configurable By default, this option was selected by the platform Kconfig. This patch adds "depends on" to L2X0 so that it can be enabled/disabled manually. Signed-off-by: Catalin Marinas commit bc02c58bd13cfaf5a9930d7f2ca4f7d5ed4fa807 Author: Bahadir Balban Date: Fri Apr 18 22:43:16 2008 +0100 RealView: Add the configuration and build changes for PB1176 This patch enables the building of Linux for the PB1176 platform. Signed-off-by: Bahadir Balban Signed-off-by: Catalin Marinas commit 14a6acc23fa49446529bd99742264192939819bc Author: Catalin Marinas Date: Fri Apr 18 22:43:16 2008 +0100 RealView: Add uncompressing support for PB1176 This patch adds the UART0 base address detection in uncompress.h. Signed-off-by: Catalin Marinas commit a0316b244e75d80df3790b69b0a2cb0bbf4c1562 Author: Bahadir Balban Date: Fri Apr 18 22:43:15 2008 +0100 RealView: Base support for the PB1176 platform This patch adds the base files for the PB1176 platform support. Signed-off-by: Bahadir Balban Signed-off-by: Catalin Marinas commit 387847ee0fb258a50032db81e216be4ec1350586 Author: Bahadir Balban Date: Fri Apr 18 22:43:14 2008 +0100 RealView: Add compactflash support for the PB11MPCore platform This patch adds the resource and device definitions for the compact flash. Signed-off-by: Bahadir Balban Signed-off-by: Catalin Marinas commit 78fdcb4287b5781d8175115430ca50e30899bf09 Author: Bahadir Balban Date: Fri Apr 18 22:43:14 2008 +0100 RealView: Enable the configuration options for PB11MPCore This patch adds the PB11MPCore support to the corresponding Kconfig and Makefile to enable building. Signed-off-by: Bahadir Balban Signed-off-by: Catalin Marinas commit 34401ec4668c01156c6c4540930a63840f567a61 Author: Catalin Marinas Date: Fri Apr 18 22:43:13 2008 +0100 RealView: Add uncompressing support to PB11MPCore This patch adds the UART address detection in uncompress.h for the PB11MPCore platform. Signed-off-by: Catalin Marinas commit e67172f5793293370a3ded597742b8d12bd42b82 Author: Catalin Marinas Date: Fri Apr 18 22:43:13 2008 +0100 RealView: Add the SMP initialisation support for PB11MPCore This patch adds the initialisation calls for the SMP support on the PB11MPCore platform. Signed-off-by: Catalin Marinas commit a9b67db504b0c75d21bda801de1a03dd52e91c98 Author: Bahadir Balban Date: Fri Apr 18 22:43:13 2008 +0100 RealView: Base support for the PB11MPCore platform This patch adds the base files for the PB11MPCore platform support. Signed-off-by: Bahadir Balban Signed-off-by: Catalin Marinas commit 51faf9b5c048f9e465322f8256e838586f4c11a7 Author: Catalin Marinas Date: Fri Apr 18 22:43:12 2008 +0100 RealView: Change the IO_ADDRESS macro This patch changes the IO_ADDRESS macro for the RealView platforms to accomodate a wider range of physical addresses on PB11MPCore. Signed-off-by: Catalin Marinas commit 41267e208e3ad5d960284a908c58d4c27cc5857b Author: Catalin Marinas Date: Fri Apr 18 22:43:12 2008 +0100 RealView: Allow ARMv7 support for RealView/EB This patch changes the CPU_V7 configuration dependency to allow MACH_REALVIEW_EB. Signed-off-by: Catalin Marinas commit 393538e6d2ea1afe42c4ae9382cc78ed51a479f9 Author: Catalin Marinas Date: Fri Apr 18 22:43:11 2008 +0100 RealView: Move more device address definitions to board-eb.h The upcoming PB11MPCore and PB1176 have different memory maps and some of the definitions in platform.h are no longer common. This patch moves them to the board-eb.h file and updates their usage in realview_eb.c. Signed-off-by: Catalin Marinas commit 9a386f0651d06002a0468ce4d0e15aaf7c316a3c Author: Catalin Marinas Date: Fri Apr 18 22:43:11 2008 +0100 RealView: Move the UART definitions to EB specific files Since the PB1176 has different UART base addresses, this patch moves the definitions form platorm.h to board-eb.h. It also modifies uncompress.h to detect the platform type at run-time. Signed-off-by: Catalin Marinas commit 80192735e4b01a2e4d437699f2e9b5b93dfab13c Author: Catalin Marinas Date: Fri Apr 18 22:43:11 2008 +0100 RealView: Move the timer definitions into the EB specific files This patch moves the timer definitions from platform.h into board-eb.h as they are different on PB11MPCore and PB1176. It also adds timerX_va_base variables in core.c which are set by the realview_eb_timer_init function before invoking realview_timer_init. Signed-off-by: Catalin Marinas commit a44ddfd5bf5354281eebd0f0ae0d6dcf8818fc5c Author: Catalin Marinas Date: Fri Apr 18 22:43:10 2008 +0100 RealView: Move the flash definitions out of platform.h This patch moves the patch definitions into board-eb.h and realview_eb.c (from core.c) as they are different on the PB11MPCore and PB1176 platforms. Signed-off-by: Catalin Marinas commit 073b6ff3b94c4737c91c45ed0f0c4d40cf1cb1c8 Author: Catalin Marinas Date: Fri Apr 18 22:43:09 2008 +0100 RealView: Move the EB GIC definitions to the board file This is in preparation for the RealView PB11MPCore and PB1176 patches which have different base addresses for the GIC. Signed-off-by: Catalin Marinas commit be4f3c8691492934c8ee03dbecb3a3a865ac6cd6 Author: Catalin Marinas Date: Fri Apr 18 22:43:09 2008 +0100 Add RealView/EB support for the LAN9118 Ethernet chip RealView/EB revD platform comes with the SMSC LAN9118 Ethernet chip. This patch allows either the smc91x or the smc911x drivers to be used with the RealView/EB platform. Signed-off-by: Catalin Marinas commit b7b0ba942f7b18de678cd081902aad8a0b6581c6 Author: Catalin Marinas Date: Fri Apr 18 22:43:08 2008 +0100 RealView: Move the SCU initialisation out of __v6_setup This patch moves the SCU initialisation from __v6_setup to the smp_prepare_cpus() function as it relies on platform-specific settings. Changes to get_core_count() are mainly for allowing cleaner code with the upcoming PB11MPCore patches. Signed-off-by: Catalin Marinas commit cb170a45d69b573a08247acfbbff3b9d6e6e2f8f Author: Paul Brook Date: Fri Apr 18 22:43:08 2008 +0100 Linux Thumb-2 support for user-space applications This patch implements Thumb-2 application support in Linux. Original implementation by Paul Brook with fixes for VFP and Neon by Catalin Marinas. Signed-off-by: Paul Brook Signed-off-by: Catalin Marinas commit 48d7927bdf071d05cf5d15b816cf06b0937cb84f Author: Paul Brook Date: Fri Apr 18 22:43:07 2008 +0100 Add a prefetch abort handler This patch adds a prefetch abort handler similar to the data abort one and renames the latter for consistency. Initial implementation by Paul Brook with some renaming by Catalin Marinas. Signed-off-by: Paul Brook Signed-off-by: Catalin Marinas commit d7f864be8323e5394040e2877594645b0e7da85d Author: Catalin Marinas Date: Fri Apr 18 22:43:06 2008 +0100 ARMv7: Add support for the ThumbEE state saving/restoring This patch adds the detection and handling of the ThumbEE extension on ARMv7 CPUs. Signed-off-by: Catalin Marinas commit d1a4be630fb068f251d64b62919f143c49ca8057 Author: Ingo Molnar Date: Fri Apr 18 21:32:22 2008 +0200 x86 PAT: fix mmap() of holes do not return a -EINVAL when mmap()-ing PCI holes. Signed-off-by: Ingo Molnar Acked-by: Venkatesh Pallipadi Acked-by: Suresh Siddha Acked-by: H. Peter Anvin Acked-by: Thomas Gleixner Acked-by: Arjan van de Ven commit 2cca775baecbfede2fec20c99add709232311fe7 Merge: eddeb0e... 94795b6... Author: Linus Torvalds Date: Fri Apr 18 11:25:31 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (137 commits) [SCSI] iscsi: bidi support for iscsi_tcp [SCSI] iscsi: bidi support at the generic libiscsi level [SCSI] iscsi: extended cdb support [SCSI] zfcp: Fix error handling for blocked unit for send FCP command [SCSI] zfcp: Remove zfcp_erp_wait from slave destory handler to fix deadlock [SCSI] zfcp: fix 31 bit compile warnings [SCSI] bsg: no need to set BSG_F_BLOCK bit in bsg_complete_all_commands [SCSI] bsg: remove minor in struct bsg_device [SCSI] bsg: use better helper list functions [SCSI] bsg: replace kobject_get with blk_get_queue [SCSI] bsg: takes a ref to struct device in fops->open [SCSI] qla1280: remove version check [SCSI] libsas: fix endianness bug in sas_ata [SCSI] zfcp: fix compiler warning caused by poking inside new semaphore (linux-next) [SCSI] aacraid: Do not describe check_reset parameter with its value [SCSI] aacraid: Fix down_interruptible() to check the return value [SCSI] sun3_scsi_vme: add MODULE_LICENSE [SCSI] st: rename flush_write_buffer() [SCSI] tgt: use KMEM_CACHE macro [SCSI] initio: fix big endian problems for auto request sense ... commit eddeb0e2d863e3941d8768e70cb50c6120e61fa0 Merge: 855d854... db8be07... Author: Linus Torvalds Date: Fri Apr 18 11:24:29 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (43 commits) firewire: cleanups firewire: fix synchronization of gap counts firewire: wait until PHY configuration packet was transmitted (fix bus reset loop) firewire: remove unused struct member firewire: use bitwise and to get reg in handle_registers firewire: replace more hex values with defined csr constants firewire: reread config ROM when device reset the bus firewire: replace static ROM cache by allocated cache firewire: fw-ohci: work around generation bug in TI controllers (fix AV/C and more) firewire: fw-ohci: extend logging of bus generations and node ID firewire: fw-ohci: conditionally log busReset interrupts firewire: fw-ohci: don't append to AT context when it's not active firewire: fw-ohci: log regAccessFail events firewire: fw-ohci: make sure HCControl register LPS bit is set firewire: fw-ohci: missing PPC PMac feature calls in failure path firewire: fw-ohci: untangle a mixed unsigned/signed expression firewire: debug interrupt events firewire: fw-ohci: catch self_id_count == 0 firewire: fw-ohci: add self ID error check firewire: fw-ohci: refactor probe, remove, suspend, resume ... commit 855d854a33fca71cf68bad258bd5e66e5b265d10 Author: James Bottomley Date: Fri Apr 18 13:18:48 2008 -0500 libata: fix boot panic with SATAPI devices on non-SFF HBAs The kernel now panics reliably on boot if you have a SATAPI device connected. The problem was introduced by the libata merge trying to pull out all the SFF code into a separate module. Unfortunately, if you're a satapi device you usually need to call atapi_request_sense, which has a bare invocation of a SFF callback which is NULL on non-SFF HBAs. Fix this by making the call conditional. Signed-off-by: James Bottomley Signed-off-by: Linus Torvalds commit e70aa3fac1ac50c7a75ac676a1489dd1ea3b4be5 Author: Adrian Bunk Date: Sun Apr 13 21:15:52 2008 +0300 mmc: sdio_ops.c should #include "sdio_ops.h" Every file should include the headers containing the externs for its global functions. Signed-off-by: Adrian Bunk Signed-off-by: Pierre Ossman commit 98b843be56079ad26fe4b9e421fd11b0598b85f3 Author: Adrian Bunk Date: Sun Apr 13 21:15:50 2008 +0300 mmc: proper prototypes for mmc_attach_*() This patch adds proper prototypes for mmc_attach_*() in drivers/mmc/core/core.h Signed-off-by: Adrian Bunk Signed-off-by: Pierre Ossman commit 261172fd1b23769bc7632047e2cb826c9b8b1a50 Author: Adrian Bunk Date: Sun Apr 13 21:15:47 2008 +0300 mmc: make __mmc_release_bus() static This patch makes the needlessly global __mmc_release_bus() static. Signed-off-by: Adrian Bunk Signed-off-by: Pierre Ossman commit 0b82684c3c19aff092bb303959a31dbe5c965922 Author: Pierre Ossman Date: Sun Apr 13 16:03:38 2008 +0200 sdhci: improve no card, no reset quirk The quirk was meant to just inhibit some resets, but ended up blocking all of them. Fortunately, this was just what was needed. Change the comment to reflect reality. Also, this issue has just been observed on Samsung laptops, so reduce the number of chips the quirk affects. Signed-off-by: Pierre Ossman commit 9d7c6eee523c78b6ea4b56bd3927860d850616e5 Author: Jarkko Lavinen Date: Wed Mar 26 16:10:02 2008 -0400 MMC: OMAP: Do not busy wait for end of command for ever The limit was a fixed 100k limit in the busy loop, which is not accurate. It would better to have time limit for the worst case which occurs when sending 80 cycles at 400 kHz and takes about 200 microseconds, so limit the max time spend in the busy loop for some 250 microseconds. Signed-off-by: Jarkko Lavinen Signed-off-by: Pierre Ossman commit 0f602ec79ac4fd2a42075c5a170086ded439f36d Author: Jarkko Lavinen Date: Wed Mar 26 16:09:58 2008 -0400 MMC: OMAP: Start new commands from work queue instead of irq Use work queues for starting new commands instead of starting them directly from irq handler. The command scheduling needs to be delayed a bit for some cards which should not be done from an interrupt. Signed-off-by: Jarkko Lavinen Signed-off-by: Pierre Ossman commit 0807a9b5739a73ba0d0fcd9f36a51794757be881 Author: Jarkko Lavinen Date: Wed Mar 26 16:09:52 2008 -0400 MMC: OMAP: Lazy clock shutdown MMCA spec says the mmc clock should be kept running for at least 8 cycles after the last RW request. Ensure this with lazy clock disable after a request, or with an explicit delay before switching a slot. Signed-off-by: Jarkko Lavinen Signed-off-by: Pierre Ossman commit 0fb4723d405111a13bb8f04e902eadf14402c7ba Author: Jarkko Lavinen Date: Wed Mar 26 16:09:48 2008 -0400 MMC: OMAP: Move failing command abortion to workqueue Abort failed command from workqueue rather than from an interrupt, allowing longer delays in abortion. Signed-off-by: Jarkko Lavinen Signed-off-by: Pierre Ossman commit 7584d276d47a55afaeb614ed16cf306cbe2d6117 Author: Jarkko Lavinen Date: Wed Mar 26 16:09:42 2008 -0400 MMC: OMAP: Use tasklet instead of workqueue for cover switch notification The cover waitqueue is occasionally scheduled twice from timer and the interrupt and oops follows. It would have been possible to fix this problem with spinlocks but using tasklet was a dropin solution with no need for locking. This path also adds some cleanups. Signed-off-by: Jarkko Lavinen Signed-off-by: Hiroshi DOYU Signed-off-by: Pierre Ossman commit 8348f0029d85828671e3a1d11db41fe53afbdc0d Author: Kyungmin Park Date: Wed Mar 26 16:09:38 2008 -0400 MMC: OMAP: Check the get_cover_state function pointer if not set If the get_cover_state is not set, it occurs the oops. Signed-off-by: Kyungmin Park Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 01e77e13fc5a1e6c00ebb4f688293fa3116315ee Author: Carlos Eduardo Aguiar Date: Wed Mar 26 16:09:34 2008 -0400 MMC: OMAP: Using setup_timer instead of init_timer Using setup_timer() instead of init_timer() on omap.c file. Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit eb1860bccd01a75b20fd7298af89b9cbda2202ba Author: Jarkko Lavinen Date: Wed Mar 26 16:09:29 2008 -0400 MMC: OMAP: Abort stuck commands When a card is removed while it is being accessed, a command can get stuck so that no timeout or end of command interrupt ever occurs. The command getting stuck is almost always CDM12, but also the other commands can get stuck. Catch a stuck command with a timer and try sending the initialization stream until the controller starts running again and responds with the end of command status. Signed-off-by: Jarkko Lavinen Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 2a50b8889b707b9c7bcd09c0ae4cbcef7dca4e29 Author: Juha Yrjola Date: Wed Mar 26 16:09:26 2008 -0400 MMC: OMAP: General cleanup for MMC multislot support General code cleanup, modifications at some dev_* functions and other hacks at mmc_omap_irq() for MMC multislot support. Signed-off-by: Juha Yrjola Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 65b5b6e51bdeab1934a147aec41ecea82d3cc31d Author: Juha Yrjola Date: Wed Mar 26 16:09:22 2008 -0400 MMC: OMAP: Power functions modified to MMC multislot support Modifications at power functions to MMC multislot support. This patch also move board-specific code out of MMC OMAP driver. Signed-off-by: Juha Yrjola Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit b8f9f0e90a6c3fb999d00301f45bb2213dbe8c00 Author: Juha Yrjola Date: Wed Mar 26 16:09:16 2008 -0400 MMC: OMAP: Fix timeout calculation for MMC multislot support Fix the data timeout calculation for MMC multislot support. Signed-off-by: Juha Yrjola Signed-off-by: Jarkko Lavinen Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit a914ded23565d8688e2b7e435916630def5bdd19 Author: Juha Yrjola Date: Wed Mar 26 16:09:12 2008 -0400 MMC: OMAP: New release dma and abort xfer functions New functions to support MMC multislot: mmc_omap_release_dma() and mmc_omap_abort_xfer(). Signed-off-by: Juha Yrjola Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 5a0f3f1f71e0bc4a843673e8e7cf09a32bb07c32 Author: Juha Yrjola Date: Wed Mar 26 16:09:08 2008 -0400 MMC: OMAP: Add back cover switch support This patch adds back MMC cover switch support in a way that supports multiple slots. Signed-off-by: Juha Yrjola Signed-off-by: Jarkko Lavinen Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit abfbe5f7854a083ca324282bf7e39f10bc438313 Author: Juha Yrjola Date: Wed Mar 26 16:08:57 2008 -0400 MMC: OMAP: Introduce new multislot structure and change driver to use it Introduce new MMC multislot structure and change driver to use it. Note that MMC clocking is now enabled in mmc_omap_select_slot() and disabled in mmc_omap_release_slot(). Signed-off-by: Juha Yrjola Signed-off-by: Jarkko Lavinen Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 4bc9e35556bf4444014ba65b80abb2fb9f70899a Author: Tony Lindgren Date: Wed Mar 26 16:08:53 2008 -0400 MMC: OMAP: Remove cover switch handling to allow adding multislot support This patch removes the MMC cover switch handling temporarily to make following multislot patches cleaner. MMC cover switch handling will be added back in later patches after adding basic multislot support. Signed-off-by: Tony Lindgren Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Pierre Ossman commit d365abe27db12df25660fe254e09876cea8a9ad8 Author: Francisco Alecrim Date: Wed Mar 26 16:08:48 2008 -0400 MMC: OMAP: Fix the BYTEBLOCK capability removal According with commit 255d01af9a990fd5166f04ed0cc0b30b7b67e81e from Linux-OMAP tree, the BYTEBLOCK capability was removed by Pierre Ossman. MMC_CAP_BYTEBLOCK is not defined causing the compile error: drivers/mmc/host/omap.c: In function `mmc_omap_probe': drivers/mmc/host/omap.c:1077: error: `MMC_CAP_BYTEBLOCK' undeclared (first use in this function) drivers/mmc/host/omap.c:1077: error: (Each undeclared identifier is reported only once drivers/mmc/host/omap.c:1077: error: for each function it appears in.) Signed-off-by: Francisco Alecrim Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit ec2f362a9126237e79a21d5c3cd225f5a07f8e89 Author: Tony Lindgren Date: Wed Mar 26 16:08:45 2008 -0400 MMC: OMAP: Remove extra divisor increase As noted by Kyungmin Park, the divisor calculation has an unnecessary increase. Signed-off-by: Tony Lindgren Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Pierre Ossman commit 5ec21b1ccf554593d25fba0f411c03e1d6fd88c5 Author: Carlos Eduardo Aguiar Date: Wed Mar 26 16:08:41 2008 -0400 MMC: OMAP: Remove some opcodes from host driver This patch removes some opcodes from host driver so there's no need on putting '#include ', that should not be needed in host drivers. Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Pierre Ossman commit 6fee65cfde519ae811c3cde47c622271168ca449 Author: Robert P. J. Day Date: Fri Mar 28 14:34:47 2008 -0700 mmc: use shorter, equivalent set_current_state() Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Pierre Ossman commit 2f730fec83be76f1b3b8f0066b3447f55c50d7a0 Author: Pierre Ossman Date: Mon Mar 17 10:29:38 2008 +0100 sdhci: allow led to be controlled freely Hook up the controller LED to the LED subsystem, allowing more flexible control than simply indicating an ongoing request. Signed-off-by: Pierre Ossman commit b69c9058907642f8e1b32076906755c6623ea060 Author: Pierre Ossman Date: Sat Mar 8 23:44:25 2008 +0100 sdhci: remove custom controller name Remove the use of the sdhci specific device name and use the mmc controller name instead. Signed-off-by: Pierre Ossman commit ff3112f5adcc9dc33c107c826f82017db8f889f5 Author: Pierre Ossman Date: Sat Mar 8 23:43:19 2008 +0100 mmc: set controller name early Reorganise code so that mmc_hostname() works directly after allocation. That way host drivers can use that name for resource allocations and messages during probing. Signed-off-by: Pierre Ossman commit e675349e2bdbfb661fa0d8ff2441b4cf48fb7e48 Merge: ef38ff9... 2309e9e... Author: Linus Torvalds Date: Fri Apr 18 10:15:22 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (64 commits) ocfs2/net: Add debug interface to o2net ocfs2: Only build ocfs2/dlm with the o2cb stack module ocfs2/cluster: Get rid of arguments to the timeout routines ocfs2: Put tree in MAINTAINERS ocfs2: Use BUG_ON ocfs2: Convert ocfs2 over to unlocked_ioctl ocfs2: Improve rename locking fs/ocfs2/aops.c: test for IS_ERR rather than 0 ocfs2: Add inode stealing for ocfs2_reserve_new_inode ocfs2: Add ac_alloc_slot in ocfs2_alloc_context ocfs2: Add a new parameter for ocfs2_reserve_suballoc_bits ocfs2: Enable cross extent block merge. ocfs2: Add support for cross extent block ocfs2: Move /sys/o2cb to /sys/fs/o2cb sysfs: Allow removal of symlinks in the sysfs root ocfs2: Reconnect after idle time out. ocfs2/dlm: Cleanup lockres print ocfs2/dlm: Fix lockname in lockres print function ocfs2/dlm: Move dlm_print_one_mle() from dlmmaster.c to dlmdebug.c ocfs2/dlm: Dumps the purgelist into a debugfs file ... commit ef38ff9d372d4fe69e415370939a0f1fb5783af1 Merge: fda31d7... 62be1f7... Author: Linus Torvalds Date: Fri Apr 18 10:02:46 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (49 commits) [GFS2] fix assertion in log_refund() [GFS2] fix GFP_KERNEL misuses [GFS2] test for IS_ERR rather than 0 [GFS2] Invalidate cache at correct point [GFS2] fs/gfs2/recovery.c: suppress warnings [GFS2] Faster gfs2_bitfit algorithm [GFS2] Streamline quota lock/check for no-quota case [GFS2] Remove drop of module ref where not needed [GFS2] gfs2_adjust_quota has broken unstuffing code [GFS2] possible null pointer dereference fixup [GFS2] Need to ensure that sector_t is 64bits for GFS2 [GFS2] re-support special inode [GFS2] remove gfs2_dev_iops [GFS2] fix file_system_type leak on gfs2meta mount [GFS2] Allow bmap to allocate extents [GFS2] Fix a page lock / glock deadlock [GFS2] proper extern for gfs2/locking/dlm/mount.c:gdlm_ops [GFS2] gfs2/ops_file.c should #include "ops_inode.h" [GFS2] be*_add_cpu conversion [GFS2] Fix bug where we called drop_bh incorrectly ... commit fda31d7d4b5a9c663ac3ed1ba244018a88deecaf Author: Harvey Harrison Date: Fri Apr 18 09:54:38 2008 -0700 x86: kgdb build fix TF_MASK is no longer defined, use X86_EFLAGS_TF. Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 94795b61e84994a3b058f92d041d1fb3d869c7d5 Author: Boaz Harrosh Date: Fri Apr 18 10:11:53 2008 -0500 [SCSI] iscsi: bidi support for iscsi_tcp access the right scsi_in() and/or scsi_out() side of things. also for resid Signed-off-by: Boaz Harrosh Reviewed-by: Pete Wyckoff Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit c07d444407de63b2f414a8be9428f88cadba503f Author: Boaz Harrosh Date: Fri Apr 18 10:11:52 2008 -0500 [SCSI] iscsi: bidi support at the generic libiscsi level - prepare the additional bidi_read rlength header. - access the right scsi_in() and/or scsi_out() side of things. also for resid. - Handle BIDI underflow overflow from target Signed-off-by: Boaz Harrosh Reviewed-by: Pete Wyckoff Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 38d1c069db8c87eb6cb10ca1ede9d9b673531ddd Author: Boaz Harrosh Date: Fri Apr 18 10:11:51 2008 -0500 [SCSI] iscsi: extended cdb support Support for extended CDBs in iscsi. All we need is to check if command spills over 16 bytes then allocate an iscsi-extended-header for the leftovers. Signed-off-by: Boaz Harrosh Reviewed-by: Pete Wyckoff Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 57b7658aed76f1763416878ead9be4ffa288b7a3 Author: Christof Schmitt Date: Fri Apr 18 12:51:57 2008 +0200 [SCSI] zfcp: Fix error handling for blocked unit for send FCP command In the case the unit is blocked, zfcp_unit_get has not been called yet, so the error handling path should not call zfcp_unit_put. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit 6071d7ec36054e78f02f7d5a66c3784aeb65ce92 Author: Christof Schmitt Date: Fri Apr 18 12:51:56 2008 +0200 [SCSI] zfcp: Remove zfcp_erp_wait from slave destory handler to fix deadlock The testcase # chchp -v 0 0.da && sleep 59 && chchp -v 1 0.da results in this deadlock situation: STACK TRACE FOR TASK: 0x7e9a2048 (zfcperp0.0.c613) 0 schedule+816 [0x356b3c] 1 schedule_timeout+172 [0x357340] 2 wait_for_common+192 [0x3565fc] 3 flush_cpu_workqueue+116 [0x52af0] 4 flush_workqueue+116 [0x533b8] 5 fc_remote_port_add+64 [0x1c83ec] 6 zfcp_erp_thread+4534 [0x26585a] 7 kernel_thread_starter+6 [0x195d2] STACK TRACE FOR TASK: 0x7f8ec048 (fc_wq_0) 0 schedule+816 [0x356b3c] 1 zfcp_erp_wait+104 [0x264568] 2 zfcp_scsi_slave_destroy+64 [0x261b24] 3 __scsi_remove_device+154 [0x1c24ba] 4 scsi_remove_device+62 [0x1c2512] 5 __scsi_remove_target+198 [0x1c25ea] 6 __remove_child+58 [0x1c26d6] 7 device_for_each_child+66 [0x1ab566] 8 scsi_remove_target+98 [0x1c268a] 9 run_workqueue+200 [0x5272c] 10 worker_thread+146 [0x52882] 11 kthread+140 [0x58360] 12 kernel_thread_starter+6 [0x195d2] Remove the zfcp_erp_wait call that is not required here to prevent the deadlock situation. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit 1f6f7129ebac007629b28764bfa5147817682692 Author: Martin Peschke Date: Fri Apr 18 12:51:55 2008 +0200 [SCSI] zfcp: fix 31 bit compile warnings drivers/s390/scsi/zfcp_aux.c: In function ‘zfcp_fsf_incoming_els_rscn’: drivers/s390/scsi/zfcp_aux.c:1379: warning: cast from pointer to integer of different size drivers/s390/scsi/zfcp_aux.c: In function ‘zfcp_fsf_incoming_els_plogi’: drivers/s390/scsi/zfcp_aux.c:1432: warning: cast from pointer to integer of different size drivers/s390/scsi/zfcp_aux.c: In function ‘zfcp_fsf_incoming_els_logo’: drivers/s390/scsi/zfcp_aux.c:1457: warning: cast from pointer to integer of different size .. Just passing pointers rids us of these warnings and improves readability. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 440fc172ae333c52c458401fe059afcc6e91eebf Author: Paul Mundt Date: Wed Apr 9 17:58:22 2008 +0900 sh: Fix up L2 cache probe. SH7723 is the first hard silicon to implement the L2, and unsurprisingly, does the precise inverse of what the specification alleges. XOR the URAM/L2 size bits to get back in line with the existing parsing logic. Signed-off-by: Paul Mundt commit e5a4c65bef19366112ba002bc06d87450f02ad74 Author: Paul Mundt Date: Wed Apr 9 17:57:05 2008 +0900 sh: Fix up SH-4A part probe. The SH-4A series probe we were relying on doesn't work any more on the newer parts, bump this up to use CVR.CHIP instead so we have consistent behaviour across all of the parts, which is what this should have been testing in the first place. Signed-off-by: Paul Mundt commit 178dd0cd28168287a0be6444a7eef8918b6c544e Author: Paul Mundt Date: Wed Apr 9 17:56:18 2008 +0900 sh: Add support for SH7723 CPU subtype. This adds basic support for the SH7723 MobileR2 CPU. Signed-off-by: Paul Mundt commit 47aa8f493f94c6f60ebc5aa70eec90cc83f499f3 Author: Paul Mundt Date: Wed Apr 9 17:53:11 2008 +0900 sh: Fix up SH7763 build. Signed-off-by: Paul Mundt commit 67908abf02fb83dee1730adf70d9e31367119190 Author: Magnus Damm Date: Tue Mar 25 17:30:45 2008 +0900 sh: Add migor_ts support to MigoR Add support for the migor_ts touch panel to the MigoR board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 577958671eadf5ab1deed66f99cdbe67b502ea66 Author: Magnus Damm Date: Tue Mar 25 17:24:31 2008 +0900 sh: Add rs5c732b RTC support to MigoR Add support for the rs5c372b RTC chip to MigoR. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0c6111ecccb33b1a7d79b6daf64c0cc4391ff3fa Author: Magnus Damm Date: Tue Mar 25 17:20:24 2008 +0900 sh: Add I2C support to MigoR Enable the sh7722 I2C controller on the MigoR board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ef1b2327d27901596d896820722bb2cefa2d1f64 Author: Magnus Damm Date: Tue Mar 25 17:14:03 2008 +0900 sh: Add I2C platform data to sh7722 Add platform data for the SuperH Mobile I2C block to sh7722. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3c803a9a676c30e87b49f9cfcfd29713bc438552 Author: Magnus Damm Date: Fri Mar 21 18:44:04 2008 +0900 sh: MigoR NAND flash support using gen_flash Add NAND flash support to the MigoR board by giving board specific data to the gen_nand platform driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b8808786e85a71afb1a169b5f059666c666f08d8 Author: Magnus Damm Date: Fri Mar 21 18:43:55 2008 +0900 sh: MigoR NOR flash support using physmap-flash Add NOR flash support to the MigoR board by giving board specific data to the physmap-flash platform driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 8ed6dfdd0900dfd6ddc7ba3c766a80f7b88911c9 Author: Paul Mundt Date: Tue Mar 25 16:49:53 2008 +0900 sh: Fix up mach-types formatting from merge damage. Signed-off-by: Paul Mundt commit c2933965de89a60688d51c810d535c1f2cce8448 Author: Paul Mundt Date: Tue Mar 25 16:49:30 2008 +0900 sh: r7780rp: Hook up the I2C and SMBus platform devices. Signed-off-by: Paul Mundt commit b026a23c07d1bf21188c57e90118782c58db6061 Author: Magnus Damm Date: Fri Mar 21 18:43:46 2008 +0900 sh: Use phyical addresses for MigoR smc91x resources Use physical addresses and change resource name of MigoR ethernet chip. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a0d29798e568116aa6c32aef7bab2d9e620c88ad Author: Magnus Damm Date: Fri Mar 21 18:43:28 2008 +0900 sh: Use physical addresses for sh7722 USBF resources Use physical addresses and change resource name to follow data sheet. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9db913c3a62a66517def9cb973bbaa45a2739018 Author: Magnus Damm Date: Fri Mar 21 18:43:19 2008 +0900 sh: Add MigoR header file This patch adds a MigoR specific header file. We may want to use a cpu specific header file instead, but this will do for now. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6dea7814e1c6a27701a63b271fc580791e066537 Author: Magnus Damm Date: Fri Mar 21 20:14:46 2008 +0900 Fix sh_keysc double free Avoid double free situation from happening by removing input_free_device() after input_unregister_device(). Suggested by Dmitry Torokhov. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9460c0ce9b29825d279081d5078815a32c268ada Author: Paul Mundt Date: Fri Mar 21 18:08:58 2008 +0900 sh: Fix up __access_ok() check for nommu. Presently this only checks to see if an address is an RAM, but this doesn't work with XIP, so just always return 1. Follows m68knommu. Signed-off-by: Paul Mundt commit 5c0cbd74bb56aeb7f3de883ab79c5f501622ccb1 Author: Paul Mundt Date: Fri Mar 21 18:07:04 2008 +0900 sh: Allow optimized clear/copy page routines to be used on SH-2. Presently these are restricted to SH-3 and SH-4, so we reorder the ifdefs a bit to let other parts use these also. Signed-off-by: Paul Mundt commit 2163b4cb01cd79cd1291696fc4636740026d61cb Author: Paul Mundt Date: Fri Mar 21 18:05:47 2008 +0900 sh: Hook up the rest of the SH7770 serial ports. Signed-off-by: Paul Mundt commit 6e862995a07629858bfa16e0991a258de35007f3 Author: Yoshihiro Shimoda Date: Fri Mar 21 15:54:13 2008 +0900 sh: Add support for Solution Engine SH7721 board Add support for Solution Engine SH7721 board(MS7721RP01). Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit d391c6217d3214bd8278e1e3517ef57abbc4b317 Author: Masayuki Hosokawa Date: Fri Mar 21 13:38:00 2008 +0900 sh: Hook up remaining IRQ sources for R7780MP FPGA. Signed-off-by: Masayuki Hosokawa Signed-off-by: Paul Mundt commit 2ad699080bbe3a88d17a1ff11e5575b76850174f Author: Paul Mundt Date: Thu Mar 13 12:52:44 2008 +0900 sh: Initial support for the MX-G CPU. Signed-off-by: Paul Mundt commit b9e393c2babb8b6956de52fc580b7c23f3629232 Author: Paul Mundt Date: Fri Mar 7 17:19:58 2008 +0900 sh: Create an sh debugfs root. Signed-off-by: Paul Mundt commit b420b1a7a17ea88531d0e12b2f2679a0c8365803 Author: Angelo Castello Date: Thu Mar 6 12:50:53 2008 +0900 rtc: rtc-sh: Add support for periodic IRQs. This adds support for periodic IRQs to the rtc-sh driver. RTC_IRQP_READ/RTC_IRQP_SET are added, with a number of other fixes and reordering across the rest of the code. Signed-off-by: Angelo Castello Signed-off-by: Giuseppe Cavallaro Signed-off-by: Paul Mundt commit 90fce7f4fb98c4256976aaa89b4453a544d74fd4 Author: Magnus Damm Date: Tue Mar 4 15:23:46 2008 -0800 sh: SuperH KEYSC keypad data for Solution Engine 7722 Add KEYSC platform data for the Solution Engine 7722 board. Signed-off-by: Magnus Damm Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit 92cfeb610d1da059b395501142915fadaa1625bf Author: Magnus Damm Date: Tue Mar 4 15:23:45 2008 -0800 sh: SuperH KEYSC keypad data for MigoR Add KEYSC platform data for the sh7722 MigoR board. Signed-off-by: Magnus Damm Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit 795e6bf33561ff03e253a6a756d5eb663b4a56bd Author: Magnus Damm Date: Tue Mar 4 15:23:45 2008 -0800 sh: SuperH KEYSC platform driver Add a platform driver for the SuperH KEYSC block. The driver expects to get mode, timing information and keypad layout from the board code as platform data. The board code is resonsible for pin configuration. Both sh7343 and sh7722 should be supported, but only the sh7722 processor has been tested so far. SH_KEYSC_MODE_3 is yet to be tested. Signed-off-by: Magnus Damm Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit 99773aab0377ee5bcaf37b7cd2577c3465422dab Author: FUJITA Tomonori Date: Mon Mar 31 10:03:42 2008 +0900 [SCSI] bsg: no need to set BSG_F_BLOCK bit in bsg_complete_all_commands Before bsg_complete_all_commands is called, BSG_F_BLOCK bit is always set. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 842ea771c38a3f0f78bdb1b4d47881e6a210fc15 Author: FUJITA Tomonori Date: Mon Mar 31 10:03:41 2008 +0900 [SCSI] bsg: remove minor in struct bsg_device minor in struct bsg_device is used as identifier to find the corresponding struct bsg_device_class. However, request_queuse can be used as identifier for that and the minor in struct bsg_device is unnecessary. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 43ac9e62c4a0a47fe3de1f1eb9ca7b8c91dce234 Author: FUJITA Tomonori Date: Mon Mar 31 10:03:40 2008 +0900 [SCSI] bsg: use better helper list functions This replace hlist_for_each and list_entry with hlist_for_each_entry and list_first_entry respectively. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit c3ff1b90d8924dd1c55c3b56a79bfc563ace4a42 Author: FUJITA Tomonori Date: Mon Mar 31 10:03:39 2008 +0900 [SCSI] bsg: replace kobject_get with blk_get_queue Both takes a ref to a queue. But blk_get_queue checks QUEUE_FLAG_DEAD and is more appropriate interface here. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit d45ac4fa8f277e1ec5acfb67ce5d6406555760cf Author: FUJITA Tomonori Date: Mon Mar 31 10:03:38 2008 +0900 [SCSI] bsg: takes a ref to struct device in fops->open bsg_register_queue() takes a ref to struct device that a caller passes. For example, bsg takes a ref to the sdev_gendev for scsi devices. However, bsg doesn't inrease the refcount in fops->open. So while an application opens a bsg device, the scsi device that the bsg device holds can go away (bsg also takes a ref to a queue, but it doesn't prevent the device from going away). With this patch, bsg increases the refcount of struct device in fops->open and decreases it in fops->release. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 4786b4ee22de6304e841b12ee22b849230d7fba3 Merge: 253ba4e... 71b264f... Author: Linus Torvalds Date: Fri Apr 18 09:44:55 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: (27 commits) [IA64] kdump: Add crash_save_vmcoreinfo for INIT [IA64] Fix NUMA configuration issue [IA64] Itanium Spec updates [IA64] Untangle sync_icache_dcache() page size determination [IA64] arch/ia64/kernel/: use time_* macros [IA64] remove redundant display of free swap space in show_mem() [IA64] make IOMMU respect the segment boundary limits [IA64] kprobes: kprobe-booster for ia64 [IA64] fix getpid and set_tid_address fast system calls for pid namespaces [IA64] Replace explicit jiffies tests with time_* macros. [IA64] use goto to jump out do/while_each_thread [IA64] Fix unlock ordering in smp_callin [IA64] pgd_offset() constfication. [IA64] kdump: crash.c coding style fix [IA64] kdump: add kdump_on_fatal_mca [IA64] Minimize per_cpu reservations. [IA64] Correct pernodesize calculation. [IA64] Kernel parameter for max number of concurrent global TLB purges [IA64] Multiple outstanding ptc.g instruction support [IA64] Implement smp_call_function_mask for ia64 ... commit 2302aca8508ee727a0c5edde3a7518a4ee03da1b Author: Steve French Date: Fri Apr 18 16:40:32 2008 +0000 [CIFS] Reserve new proxy cap for WAFS New WAFS filer uses ioctls which are shown to be available on a share by querying this info level Acked-by: Sam Liddicott Signed-off-by: Stevef French commit 2309e9e040fe29469fb85a384636c455b62fe525 Author: Sunil Mushran Date: Mon Apr 14 10:46:19 2008 -0700 ocfs2/net: Add debug interface to o2net This patch exposes o2net information via debugfs. The information includes the list of sockets (sock_containers) as well as the list of outstanding messages (send_tracking). Useful for o2dlm debugging. (This patch is derived from an earlier one written by Zach Brown that exposed the same information via /proc.) [Mark: checkpatch fixes] Signed-off-by: Sunil Mushran Reviewed-by: Joel Becker Signed-off-by: Mark Fasheh commit 93b06edb5127315473d87e075b2b1d1acf74659c Author: Mark Fasheh Date: Fri Apr 4 12:45:55 2008 -0700 ocfs2: Only build ocfs2/dlm with the o2cb stack module fs/ocfs2/dlm/ocfs2_dlm.ko and fs/ocfs2/dlm/ocfs2_dlmfs.ko get built if CONFIG_FS_OCFS2 is specified. This isn't quite how it should happen any more - the "o2cb" dlm modules should only be built if CONFIG_FS_OCFS2_O2CB is set, so update the dlm Makefile accordingly. Signed-off-by: Mark Fasheh Acked-by: Randy Dunlap Acked-by: Joel Becker commit 409753bf6da4a2db038027471abaf324e063db2f Author: Jeff Mahoney Date: Fri Mar 28 16:44:13 2008 -0700 ocfs2/cluster: Get rid of arguments to the timeout routines We keep seeing bug reports related to NULL pointer derefs in o2net_set_nn_state(). When I originally wrote up the configurable timeout patch, I had tried to plan for multiple clusters. This was silly. The timeout routines all use o2nm_single_cluster so there's no point in passing an argument at all. This patch removes the arguments and kills those bugs dead. Signed-off-by: Jeff Mahoney Signed-off-by: Mark Fasheh commit dda47bce91b8624ef0806f7f8157ffc91e153c9d Author: Joel Becker Date: Sat Mar 22 22:08:07 2008 -0700 ocfs2: Put tree in MAINTAINERS The ocfs2 MAINTAINERS entry should have the git tree URL. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit b1f3550fa1471b691ad6c2f35b5b22e93eaa5855 Author: Julia Lawall Date: Tue Mar 4 15:21:05 2008 -0800 ocfs2: Use BUG_ON if (...) BUG(); should be replaced with BUG_ON(...) when the test has no side-effects to allow a definition of BUG_ON that drops the code completely. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ disable unlikely @ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (unlikely(E)) { BUG(); } + BUG_ON(E); ) @@ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (E) { BUG(); } + BUG_ON(E); ) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Mark Fasheh commit c9ec14884d69a303eef4faae42bd3c4e25b19941 Author: Andi Kleen Date: Sun Jan 27 03:17:17 2008 +0100 ocfs2: Convert ocfs2 over to unlocked_ioctl As far as I can see there is nothing in ocfs2_ioctl that requires the BKL, so use unlocked_ioctl Signed-off-by: Andi Kleen Signed-off-by: Mark Fasheh commit 5dabd69515765156605b09261abf969236a77803 Author: Jan Kara Date: Thu Feb 21 18:00:00 2008 +0100 ocfs2: Improve rename locking ocfs2_rename() was being too aggressive with the rename lock - we only need it for certain forms of directory rename. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 58dadcdbc2584db050969f9781727fc5a3f618db Author: Julia Lawall Date: Fri Mar 28 14:43:10 2008 -0700 fs/ocfs2/aops.c: test for IS_ERR rather than 0 The function ocfs2_start_trans always returns either a valid pointer or a value made with ERR_PTR, so its result should be tested with IS_ERR, not with a test for 0. Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Mark Fasheh commit 4d0ddb2ce25db2254d468233d942276ecf40bff8 Author: Tao Ma Date: Wed Mar 5 16:11:46 2008 +0800 ocfs2: Add inode stealing for ocfs2_reserve_new_inode Inode allocation is modified to look in other nodes allocators during extreme out of space situations. We retry our own slot when space is freed back to the global bitmap, or whenever we've allocated more than 1024 inodes from another slot. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit a4a4891164d4f6f383cc17e7c90828a7ca6a1146 Author: Tao Ma Date: Mon Mar 3 17:12:30 2008 +0800 ocfs2: Add ac_alloc_slot in ocfs2_alloc_context In inode stealing, we no longer restrict the allocation to happen in the local node. So it is neccessary for us to add a new member in ocfs2_alloc_context to indicate which slot we are using for allocation. We also modify the process of local alloc so that this member can be used there also. Signed-off-by: Tao Ma Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit ffda89a3bf3b968bdc268584c6bc1da5c173cf12 Author: Tao Ma Date: Mon Mar 3 17:12:09 2008 +0800 ocfs2: Add a new parameter for ocfs2_reserve_suballoc_bits In some cases(Inode stealing from other nodes), we may not want ocfs2_reserve_suballoc_bits to allocate new groups from the global_bitmap since it may already be full. So add a new parameter for this. Signed-off-by: Tao Ma Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit ad5a4d7093a76fa245e277e6f0f0e168a08aeff7 Author: Tao Ma Date: Wed Jan 30 14:21:32 2008 +0800 ocfs2: Enable cross extent block merge. In ocfs2_figure_merge_contig_type, we judge whether there exists a cross extent block merge and enable it by setting CONTIG_LEFT and CONTIG_RIGHT accordingly. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 677b975282e48d1818df4181336307377d56b04e Author: Tao Ma Date: Wed Jan 30 14:21:05 2008 +0800 ocfs2: Add support for cross extent block In ocfs2_merge_rec_left, when we find the merge extent is "CONTIG_RIGHT" with the first extent record of the next extent block, we will merge it to the next extent block and change all the related extent blocks accordingly. In ocfs2_merge_rec_right, when we find the merge extent is "CONTIG_LEFT" with the last extent record of the previous extent block, we will merge it to the prevoius extent block and change all the related extent blocks accordingly. As for CONTIG_LEFTRIGHT, we will handle CONTIG_RIGHT first so that when the index is zero, the merge process will be more efficient and easier. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 52f7c21b613f80cb425d115c9e5b4ed958a133c0 Author: Mark Fasheh Date: Tue Jan 29 17:08:26 2008 -0800 ocfs2: Move /sys/o2cb to /sys/fs/o2cb /sys/fs is where we really want file system specific sysfs objects. Ocfs2-tools has been updated to look in /sys/fs/o2cb. We can maintain backwards compatibility with old ocfs2-tools by using a sysfs symlink. After some time (2 years), the symlink can be safely removed. This patch also adds documentation to make it easier for people to figure out what /sys/fs/o2cb is used for. Signed-off-by: Mark Fasheh commit a839c5afcdc345aecb35b0d3bcd0e09b571329c3 Author: Mark Fasheh Date: Tue Jan 29 14:35:18 2008 -0800 sysfs: Allow removal of symlinks in the sysfs root Allow callers of sysfs_remove_link() to pass a NULL kobj, in which case sysfs_root will be used as the parent directory. This allows us to tear down top level symlinks created via sysfs_create_link(), which already has similar handling of a NULL parent object. Signed-off-by: Mark Fasheh Acked-by: Greg Kroah-Hartman commit 5cc3bf2786f63cceb191c3c02ddd83c6f38a7d64 Author: Tao Ma Date: Wed Mar 5 15:50:12 2008 +0800 ocfs2: Reconnect after idle time out. Currently, o2net connects to a node on hb_up and disconnects on hb_down and net timeout. It disconnects on net timeout is ok, but it should attempt to reconnect back. This is because sometimes nodes get overloaded enough that the network connection breaks but the disk hb does not. And if we get into that situation, we either fence (unnecessarily) or wait for its disk hb to die (and sometimes hang in the process). So in this updated scheme, when the network disconnects, we keep attempting to reconnect till we succeed or we get a disk hb down event. If the other node is really dead, then we will eventually get a node down event. If not, we should be able to connect again and continue. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 8f50eb978935431ccbf89b0344efd4ce6a924875 Author: Sunil Mushran Date: Fri Mar 14 11:18:24 2008 -0700 ocfs2/dlm: Cleanup lockres print A previous patch added KERN_NOTICE to printks printing the lockres that cluttered the output. This patch removes the log level. For people concerned with syslog clutter, please note we now use this facility to print lockres only during an error. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit c834cdb15702dd0147875b352cc7d4df93d7d900 Author: Sunil Mushran Date: Mon Mar 10 15:16:29 2008 -0700 ocfs2/dlm: Fix lockname in lockres print function __dlm_print_one_lock_resource was printing lockname incorrectly. Also, we now use printk directly instead of mlog as the latter prints the line context which is not useful for this print. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit e5a0334cbd65e27f8dfd9985aa805874fe59e879 Author: Sunil Mushran Date: Mon Mar 10 15:16:28 2008 -0700 ocfs2/dlm: Move dlm_print_one_mle() from dlmmaster.c to dlmdebug.c This patch helps in consolidating debugging related functions in dlmdebug.c. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 7209300a9b987e017cae2ef9d7ef55b0fdd71869 Author: Sunil Mushran Date: Mon Mar 10 15:16:27 2008 -0700 ocfs2/dlm: Dumps the purgelist into a debugfs file This patch dumps all the lockres' on the purgelist it can fit in one page into a debugfs file. Useful for debugging. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit d0129aceaecc2b1f5171b8e8036eb469b6e0fe81 Author: Sunil Mushran Date: Mon Mar 10 15:16:26 2008 -0700 ocfs2/dlm: Dumps the mles into a debugfs file This patch dumps all mles it can fit in one page into a debugfs file. Useful for debugging. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 751155a953e1fe558d3d3c3db7087712ffc15c3e Author: Sunil Mushran Date: Mon Mar 10 15:16:25 2008 -0700 ocfs2/dlm: Move struct dlm_master_list_entry to dlmcommon.h This patch moves some mle related definitions from dlmmaster.c to dlmcommon.h. Future patches need these definitions to dump mle debugging information. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 4e3d24ed1a1285fe3289653aacc965642706bacb Author: Sunil Mushran Date: Mon Mar 10 15:16:24 2008 -0700 ocfs2/dlm: Dumps the lockres' into a debugfs file This patch dumps all the lockres' alongwith all the locks into a debugfs file. Useful for debugging. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 007dce53a29ccffc000ab5373d188f73881390fd Author: Sunil Mushran Date: Mon Mar 10 15:16:23 2008 -0700 ocfs2/dlm: Dump the dlm state in a debugfs file This patch dumps the dlm state (dlm_ctxt) into a debugfs file. Useful for debugging. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 6325b4a22b8f5e40ea9353288b3d6a32181f9718 Author: Sunil Mushran Date: Mon Mar 10 15:16:22 2008 -0700 ocfs2/dlm: Create debugfs dirs This patch creates the debugfs directories that will hold the files to be used to dump the dlm state. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 29576f8bb54045be944ba809d4fca1ad77c94165 Author: Sunil Mushran Date: Mon Mar 10 15:16:21 2008 -0700 ocfs2/dlm: Link all lockres' to a tracking list This patch links all the lockres' to a tracking list in dlm_ctxt. We will use this in an upcoming patch that will walk the entire list and to dump the lockres states to a debugfs file. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 724bdca9b8449d9ee5f779dc27ee3d906a04508c Author: Sunil Mushran Date: Mon Mar 10 15:16:20 2008 -0700 ocfs2/dlm: Create slabcaches for lock and lockres This patch makes the o2dlm allocate memory for lockres, lockname and lock structures from slabcaches rather than kmalloc. This allows us to not only make these allocs more efficient but also allows us to track the memory being consumed by these structures. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 12eb0035d6f0466038ef2c6e5f6f9296b9b74d91 Author: Sunil Mushran Date: Mon Mar 10 15:16:19 2008 -0700 ocfs2/dlm: Rename slabcache dlm_mle_cache to o2dlm_mle This patch renames dlm_mle_slabcache to prevent namespace clashes with fs/dlm. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 53f67e33865927049b20839ce15ce0fb5b7ebe2d Author: Joel Becker Date: Mon Mar 31 16:22:55 2008 -0700 ocfs2: Document /sys/fs/ocfs2 Add ABI documentation for these files: /sys/fs/ocfs2/max_locking_protocol /sys/fs/ocfs2/loaded_cluster_plugins /sys/fs/ocfs2/active_cluster_plugin /sys/fs/ocfs2/cluster_stack Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 9341d22942d63d6a1e4cc90f246980dbb7e1ca94 Author: Joel Becker Date: Tue Mar 4 17:58:56 2008 -0800 ocfs2: Allow selection of cluster plug-ins. ocfs2 now supports plug-ins for the classic O2CB stack as well as userspace cluster stacks in conjunction with fs/dlm. This allows zero, one, or both of the plug-ins to be selected in Kconfig. For local mounts (non-clustered), neither plug-in is needed. Both plugins can be loaded at one time, the runtime will select the one needed for the cluster systme in use. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit b92eccdd28e1e3870a5b2aa625282c9ae8e35cec Author: Joel Becker Date: Wed Nov 28 14:53:30 2007 -0800 ocfs2: Add kbuild for ocfs2_stack_user.ko Add ocfs2_stack_user.ko to the Makefile so that it builds. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 8f318311faf57481452895448e6ffaec7c38a146 Author: Joel Becker Date: Tue Mar 4 16:09:39 2008 -0800 ocfs2: Change mlog_bug_on to BUG_ON in ocfs2_lockid.h The masklog code is in the o2cb stack, but ocfs2_lockid.h now needs to be included by the user stack. The BUG() in ocfs2_lock_type_string() does not need masklog support, so change it to a regular BUG_ON(). Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit cf4d8d75d8aba537a19b313a9364fd08ddbd5622 Author: David Teigland Date: Wed Feb 20 14:29:27 2008 -0800 ocfs2: add fsdlm to stackglue Add code to use fs/dlm. [ Modified to be part of the stack_user module -- Joel ] Signed-off-by: David Teigland Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit d4b95eef4dc4a59bcd42bdf783638a2eaa57b4c8 Author: Joel Becker Date: Wed Feb 20 15:39:44 2008 -0800 ocfs2: Add the 'set version' message to the ocfs2_control device. The "SETV" message sets the filesystem locking protocol version as negotiated by the client. The client negotiates based on the maximum version advertised in /sys/fs/ocfs2/max_locking_protocol. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 3cfd4ab6b6b4bee2035b62e1c293801c3d257502 Author: Joel Becker Date: Wed Feb 20 14:44:34 2008 -0800 ocfs2: Add the local node id to the handshake. This is the second part of the ocfs2_control handshake. After negotiating the ocfs2_control protocol, the daemon tells the filesystem what the local node id is via the SETN message. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit de870ef02295c9f5601dbf2efdc1be6df44b187b Author: Joel Becker Date: Mon Feb 18 17:07:09 2008 -0800 ocfs2: Introduce the DOWN message to ocfs2_control When the control daemon sees a node go down, it sends a DOWN message through the ocfs2_control device. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 462c7e6a257e547eebe1648396cf7c45e684091b Author: Joel Becker Date: Mon Feb 18 19:40:12 2008 -0800 ocfs2: Start the ocfs2_control handshake. When a control daemon opens the ocfs2_control device, it must perform a handshake to tell the filesystem it is something capable of monitoring cluster status. Only after the handshake is complete will the filesystem allow mounts. This is the first part of the handshake. The daemon reads all supported ocfs2_control protocols, then writes in the protocol it will use. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 6427a727557d9c964b7b162ae11bb156e2c501d5 Author: Joel Becker Date: Mon Feb 18 19:23:28 2008 -0800 ocfs2: Add the ocfs2_control misc device. The ocfs2_control misc device is how a userspace control daemon (controld) talks to the filesystem. Introduce the bare-bones filesystem ops. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 8adf0536c9fb578a8542dcf81104d3438a5287e4 Author: Joel Becker Date: Wed Nov 28 14:38:40 2007 -0800 ocfs2: Add the user stack module. Add a skeleton for the stack_user module. It's just the barebones module code. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 9c6c877c04ce17d76a35d2173d3a3840d6b796a2 Author: Joel Becker Date: Fri Feb 1 15:17:30 2008 -0800 ocfs2: Add the 'cluster_stack' sysfs file. Userspace can now query and specify the cluster stack in use via the /sys/fs/ocfs2/cluster_stack file. By default, it is 'o2cb', which is the classic stack. Thus, old tools that do not know how to modify this file will work just fine. The stack cannot be modified if there is a live filesystem. ocfs2_cluster_connect() now takes the expected cluster stack as an argument. This way, the filesystem and the stack glue ensure they are speaking to the same backend. If the stack is 'o2cb', the o2cb stack plugin is used. For any other value, the fsdlm stack plugin is selected. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit b61817e1166c5e19c08baf05196477cc345e1b1a Author: Joel Becker Date: Fri Feb 1 15:08:23 2008 -0800 ocfs2: Add the USERSPACE_STACK incompat bit. The filesystem gains the USERSPACE_STACK incomat bit and the s_cluster_info field on the superblock. When a userspace stack is in use, the name of the stack is stored on-disk for mount-time verification. The "cluster_stack" option is added to mount(2) processing. The mount process needs to pass the matching stack name. If the passed name and the on-disk name do not match, the mount is failed. When using the classic o2cb stack, the incompat bit is *not* set and no mount option is used other than the usual heartbeat=local. Thus, the filesystem is compatible with older tools. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 74ae4e104dfc57017783fc07d5f2f9129062207f Author: Joel Becker Date: Thu Jan 31 23:56:17 2008 -0800 ocfs2: Create stack glue sysfs files. Introduce a set of sysfs files that describe the current stack glue state. The files live under /sys/fs/ocfs2. The locking_protocol file displays the version of ocfs2's locking code. The loaded_cluster_plugins file displays all of the currently loaded stack plugins. When filesystems are mounted, the active_cluster_plugin file will display the plugin in use. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 286eaa95c5c5915a6b72cc3f0a2534161fd7928b Author: Joel Becker Date: Fri Feb 1 15:03:57 2008 -0800 ocfs2: Break out stackglue into modules. We define the ocfs2_stack_plugin structure to represent a stack driver. The o2cb stack code is split into stack_o2cb.c. This becomes the ocfs2_stack_o2cb.ko module. The stackglue generic functions are similarly split into the ocfs2_stackglue.ko module. This module now provides an interface to register drivers. The ocfs2_stack_o2cb driver registers itself. As part of this interface, ocfs2_stackglue can load drivers on demand. This is accomplished in ocfs2_cluster_connect(). ocfs2_cluster_disconnect() is now notified when a _hangup() is pending. If a hangup is pending, it will not release the driver module and will let _hangup() do that. Signed-off-by: Joel Becker commit e3dad42bf993a0f24eb6e46152356c9b119c15e8 Author: Joel Becker Date: Fri Feb 1 15:02:36 2008 -0800 ocfs2: Create ocfs2_stack_operations and split out the o2cb stack. Define the ocfs2_stack_operations structure. Build o2cb_stack_ops from all of the o2cb-specific stack functions. Change the generic stack glue functions to call the stack_ops instead of the o2cb functions directly. The o2cb functions are moved to stack_o2cb.c. The headers are cleaned up to where only needed headers are included. In this code, stackglue.c and stack_o2cb.c refer to some shared extern variables. When they become modules, that will change. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 553aa7e408eac402c00b67ddfa7aec13fe1f3a33 Author: Joel Becker Date: Fri Feb 1 14:51:03 2008 -0800 ocfs2: Split o2cb code from generic stack functions. Split off the o2cb-specific funtionality from the generic stack glue calls. This is a precurser to wrapping the o2cb functionality in an operations vector. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 63e0c48ae6986a5bbb8e8dd9210c0e6ca79f2e50 Author: Joel Becker Date: Wed Jan 30 16:58:36 2008 -0800 ocfs2: Clean up stackglue initialization The stack glue initialization function needs a better name so that it can be used cleanly when stackglue becomes a module. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit cf0acdcd640e9466059e69951c557e90b4bee45a Author: Joel Becker Date: Tue Jan 29 16:59:55 2008 -0800 ocfs2: Abstract out a debugging function for underlying dlms. dlmglue.c was still referencing a raw o2dlm lksb in one instance. Let's create a generic ocfs2_dlm_dump_lksb() function. This allows underlying DLMs to print whatever they want about their lock. We then move the o2dlm dump into stackglue.c where it belongs. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 1693a5c0117f8ccd010a666f97aaf0f14fb0a0e4 Author: David Teigland Date: Wed Jan 30 16:52:53 2008 -0800 ocfs2: handle async EAGAIN from NOQUEUE request When using fsdlm, -EAGAIN is returned in the async callback for NOQUEUE requests. Fix up dlmglue to expect this. Signed-off-by: David Teigland Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit de551246e7bc5558371c3427889a8db1b8cc60f4 Author: Joel Becker Date: Fri Feb 1 14:45:08 2008 -0800 ocfs2: Remove CANCELGRANT from the view of dlmglue. o2dlm has the non-standard behavior of providing a cancel callback (unlock_ast) even when the cancel has failed (the locking operation succeeded without canceling). This is called CANCELGRANT after the status code sent to the callback. fs/dlm does not provide this callback, so dlmglue must be changed to live without it. o2dlm_unlock_ast_wrapper() in stackglue now ignores CANCELGRANT calls. Because dlmglue no longer sees CANCELGRANT, ocfs2_unlock_ast() no longer needs to check for it. ocfs2_locking_ast() must catch that a cancel was tried and clear the cancel state. Making these changes opens up a locking race. dlmglue uses the the OCFS2_LOCK_BUSY flag to ensure only one thread is calling the dlm at any one time. But dlmglue must unlock the lockres before calling into the dlm. In the small window of time between unlocking the lockres and calling the dlm, the downconvert thread can try to cancel the lock. The downconvert thread is checking the OCFS2_LOCK_BUSY flag - it doesn't know that ocfs2_dlm_lock() has not yet been called. Because ocfs2_dlm_lock() has not yet been called, the cancel operation will just be a no-op. There's nothing to cancel. With CANCELGRANT, dlmglue uses the CANCELGRANT callback to clear up the cancel state. When it comes around again, it will retry the cancel. Eventually, the first thread will have called into ocfs2_dlm_lock(), and either the lock or the cancel will succeed. The downconvert thread can then do its downconvert. Without CANCELGRANT, there is nothing to clean up the cancellation state. The downconvert thread does not know to retry its operations. More importantly, the original lock may be blocking on the other node that is trying to cancel us. With neither able to make progress, the ast is never called and the cancellation state is never cleaned up that way. dlmglue is deadlocked. The OCFS2_LOCK_PENDING flag is introduced to remedy this window. It is set at the same time OCFS2_LOCK_BUSY is. Thus, the downconvert thread can check whether the lock is cancelable. If not, it just loops around to try again. Once ocfs2_dlm_lock() is called, the thread then clears OCFS2_LOCK_PENDING and wakes the downconvert thread. Now, if the downconvert thread finds the lock BUSY, it can safely try to cancel it. Whether the cancel works or not, the state will be properly set and the lock processing can continue. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 0abd6d1803b01c741430af270026d1d95a103d9c Author: Mark Fasheh Date: Tue Jan 29 16:59:56 2008 -0800 ocfs2: Fill node number during cluster stack init It doesn't make sense to query for a node number before connecting to the cluster stack. This should be safe to do because node_num is only just printed, and we're actually only moving the setting of node num a small amount further in the mount process. [ Disconnect when node query fails -- Joel ] Reviewed-by: Joel Becker Signed-off-by: Mark Fasheh commit 6953b4c008628b945bfe0cee97f6e78a98773859 Author: Joel Becker Date: Tue Jan 29 16:59:56 2008 -0800 ocfs2: Move o2hb functionality into the stack glue. The last bit of classic stack used directly in ocfs2 code is o2hb. Specifically, the check for heartbeat during mount and the call to ocfs2_hb_ctl during unmount. We create an extra API, ocfs2_cluster_hangup(), to encapsulate the call to ocfs2_hb_ctl. Other stacks will just leave hangup() empty. The check for heartbeat is moved into ocfs2_cluster_connect(). It will be matched by a similar check for other stacks. With this change, only stackglue.c includes cluster/ headers. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 19fdb624dc8ccb663f6e48b3a3a3fa4e4e567fc1 Author: Joel Becker Date: Wed Jan 30 15:38:24 2008 -0800 ocfs2: Abstract out node number queries. ocfs2 asks the cluster stack for the local node's node number for two reasons; to fill the slot map and to print it. While the slot map isn't necessary for userspace cluster stacks, the printing is very nice for debugging. Thus we add ocfs2_cluster_this_node() as a generic API to get this value. It is anticipated that the slot map will not be used under a userspace cluster stack, so validity checks of the node num only need to exist in the slot map code. Otherwise, it just gets used and printed as an opaque value. [ Fixed up some "int" versus "unsigned int" issues and made osb->node_num truly opaque. --Mark ] Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 4670c46ded9a18268d1265417ff4ac72145a7917 Author: Joel Becker Date: Fri Feb 1 14:39:35 2008 -0800 ocfs2: Introduce the new ocfs2_cluster_connect/disconnect() API. This step introduces a cluster stack agnostic API for initializing and exiting. fs/ocfs2/dlmglue.c no longer uses o2cb/o2dlm knowledge to connect to the stack. It is all handled in stackglue.c. heartbeat.c no longer needs to know how it gets called. ocfs2_do_node_down() is now a clean recovery trigger. The big gotcha is the ordering of initializations and de-initializations done underneath ocfs2_cluster_connect(). ocfs2_dlm_init() used to do all o2dlm initialization in one block. Thus, the o2dlm functionality of ocfs2_cluster_connect() is very straightforward. ocfs2_dlm_shutdown(), however, did a few things between de-registration of the eviction callback and actually shutting down the domain. Now de-registration and shutdown of the domain are wrapped within the single ocfs2_cluster_disconnect() call. I've checked the code paths to make sure we can safely tear down things in ocfs2_dlm_shutdown() before calling ocfs2_cluster_disconnect(). The filesystem has already set itself to ignore the callback. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 8f2c9c1b16bf6ed0903b29c49d56fa0109a390e4 Author: Joel Becker Date: Fri Feb 1 12:16:57 2008 -0800 ocfs2: Create the lock status block union. Wrap the lock status block (lksb) in a union. Later we will add a union element for the fs/dlm lksb. Create accessors for the status and lvb fields. Other than a debugging function, dlmglue.c does not directly reference the o2dlm locking path anymore. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 7431cd7e8dd0e46e9b12bd6a1ac1286f4b420371 Author: Joel Becker Date: Fri Feb 1 12:15:37 2008 -0800 ocfs2: Use -errno instead of dlm_status for ocfs2_dlm_lock/unlock() API. Change the ocfs2_dlm_lock/unlock() functions to return -errno values. This is the first step towards elminiating dlm_status in fs/ocfs2/dlmglue.c. The change also passes -errno values to ->unlock_ast(). [ Fix a return code in dlmglue.c and change the error translation table into an array of ints. --Mark ] Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit bd3e76105d4478ab89951a52d1a35250d24a9f16 Author: Joel Becker Date: Fri Feb 1 12:14:57 2008 -0800 ocfs2: Use global DLM_ constants in generic code. The ocfs2 generic code should use the values in . stackglue.c will convert them to o2dlm values. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 24ef1815e5e13e50196eb1ab8ddc0d783443bdf8 Author: Joel Becker Date: Tue Jan 29 17:37:32 2008 -0800 ocfs2: Separate out dlm lock functions. This is the first in a series of patches to isolate ocfs2 from the underlying cluster stack. Here we wrap the dlm locking functions with ocfs2-specific calls. Because ocfs2 always uses the same dlm lock status callbacks, we can eliminate the callbacks from the filesystem visible functions. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 386a2ef8576e966076c293f6496b9e3d7e3d9035 Author: Joel Becker Date: Fri Feb 1 12:06:54 2008 -0800 ocfs2: New slot map format The old slot map had a few limitations: - It was limited to one block, so the maximum slot count was 255. - Each slot was signed 16bits, limiting node numbers to INT16_MAX. - An empty slot was marked by the magic 0xFFFF (-1). The new slot map format provides 32bit node numbers (UINT32_MAX), a separate space to mark a slot in use, and extra room to grow. The slot map is now bounded by i_size, not a block. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit fb86b1f07120b66769a39c445da5c4300069dd44 Author: Joel Becker Date: Fri Feb 1 11:59:05 2008 -0800 ocfs2: Define the contents of the slot_map file. The slot map file is merely an array of __le16. Wrap it in a structure for cleaner reference. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit fc881fa0d59596c02f8707b5572567c369d4789a Author: Joel Becker Date: Fri Feb 1 12:04:48 2008 -0800 ocfs2: De-magic the in-memory slot map. The in-memory slot map uses the same magic as the on-disk one. There is a special value to mark a slot as invalid. It relies on the size of certain types and so on. Write a new in-memory map that keeps validity as a separate field. Outside of the I/O functions, OCFS2_INVALID_SLOT now means what it is supposed to. It also is no longer tied to the type size. This also means that only the I/O functions refer to 16bit quantities. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 1c8d9a6a330f46b3a6ddd204a2580131d5f0d6b7 Author: Joel Becker Date: Fri Feb 1 11:59:07 2008 -0800 ocfs2: slot_map I/O based on max_slots. The slot map code assumed a slot_map file has one block allocated. This changes the code to I/O as many blocks as will cover max_slots. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 553abd046af609191a91af7289d87d477adc659f Author: Joel Becker Date: Fri Feb 1 12:03:57 2008 -0800 ocfs2: Change the recovery map to an array of node numbers. The old recovery map was a bitmap of node numbers. This was sufficient for the maximum node number of 254. Going forward, we want node numbers to be UINT32. Thus, we need a new recovery map. Note that we can't keep track of slots here. We must write down the node number to recovery *before* we get the locks needed to convert a node number into a slot number. The recovery map is now an array of unsigned ints, max_slots in size. It moves to journal.c with the rest of recovery. Because it needs to be initialized, we move all of recovery initialization into a new function, ocfs2_recovery_init(). This actually cleans up ocfs2_initialize_super() a little as well. Following on, recovery cleaup becomes part of ocfs2_recovery_exit(). A number of node map functions are rendered obsolete and are removed. Finally, waiting on recovery is wrapped in a function rather than naked checks on the recovery_event. This is a cleanup from Mark. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit d85b20e4b300edfd290f21fc2d790ba16d2f225b Author: Joel Becker Date: Fri Feb 1 12:01:05 2008 -0800 ocfs2: Make ocfs2_slot_info private. Just use osb_lock around the ocfs2_slot_info data. This allows us to take the ocfs2_slot_info structure private in slot_info.c. All access is now via accessors. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 8e8a4603b5422c9145880e73b23bc4c2c4de0098 Author: Mark Fasheh Date: Fri Feb 1 11:59:09 2008 -0800 ocfs2: Move slot map access into slot_map.c journal.c and dlmglue.c would refresh the slot map by hand. Instead, have the update and clear functions do the work inside slot_map.c. The eventual result is to make ocfs2_slot_info defined privately in slot_map.c Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit db8be076cad4b843aa743ef462c75022cddd9c63 Author: Adrian Bunk Date: Mon Mar 31 02:22:11 2008 +0300 firewire: cleanups This patch contains the following cleanups: - #if 0 the following unused structs: - fw-transaction.c:fw_low_memory_region - fw-transaction.c:fw_private_region - fw-transaction.c:fw_csr_region - fw-transaction.c:fw_unit_space_region - remove the following unused EXPORT_SYMBOL's: - fw-card.c:fw_core_add_descriptor - fw-card.c:fw_core_remove_descriptor - fw-iso.c:fw_iso_context_create - fw-iso.c:fw_iso_context_destroy - fw-iso.c:fw_iso_context_start - fw-iso.c:fw_iso_context_queue - fw-iso.c:fw_iso_context_stop Signed-off-by: Adrian Bunk Signed-off-by: Stefan Richter commit 25b1c3d8889f982ebc6c7b996cfc7fa5f1dce533 Author: Stefan Richter Date: Mon Mar 24 20:57:12 2008 +0100 firewire: fix synchronization of gap counts Fix: The fact that nodes had different gap counts would be overlooked if the bus manager code would pick gap count 63 because of beta repeaters or because of very large hop counts. In this case, the bus manager code would miss that it actually has to send the PHY config packet with gap count 63. Related trivial changes: Use bool for an int used as bool, touch up some comments. Signed-off-by: Stefan Richter commit 2a0a2590498be7b92e3e76409c9b8ee722e23c8f Author: Stefan Richter Date: Thu Mar 20 23:48:23 2008 +0100 firewire: wait until PHY configuration packet was transmitted (fix bus reset loop) We now exit fw_send_phy_config /after/ the PHY config packet has been transmitted, instead of before. A subsequent fw_core_initiate_bus_reset will therefore not overlap with the transmission. This is meant to make the send PHY config packet + reset bus routine more deterministic. Fixes bus reset loop and eventual panic with - VIA VT6307 + IOGEAR hub + Unibrain Fire-i camera http://bugzilla.kernel.org/show_bug.cgi?id=10128 - JMicron card Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit e09770db0fa33baf8df21fbc18aa24a080330c3f Author: Stefan Richter Date: Tue Mar 11 02:23:29 2008 +0100 firewire: remove unused struct member request_generation is internal to fw-ohci and unneeded in fw_card. Signed-off-by: Stefan Richter commit 15f0d833f63da2fa49aed81480a37d5e896b5b9b Author: Jarod Wilson Date: Sat Mar 8 13:18:58 2008 -0500 firewire: use bitwise and to get reg in handle_registers for code efficiency. Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter commit cca6097713c62eac43aef27b31e7f1553dde4f94 Author: Jarod Wilson Date: Sat Mar 8 12:52:03 2008 -0500 firewire: replace more hex values with defined csr constants Trivial change to replace more meaningless (to the untrained eye) hex values with defined CSR constants. Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter commit c9755e14a01987ada4063e8b4c50c2b6738d879e Author: Stefan Richter Date: Mon Mar 24 20:54:28 2008 +0100 firewire: reread config ROM when device reset the bus When a device changes its configuration ROM, it announces this with a bus reset. firewire-core has to check which node initiated a bus reset and whether any unit directories went away or were added on this node. Tested with an IOI FWB-IDE01AB which has its link-on bit set if bus power is available but does not respond to ROM read requests if self power is off. This implements - recognition of the units if self power is switched on after fw-core gave up the initial attempt to read the config ROM, - shutdown of the units when self power is switched off. Also tested with a second PC running Linux/ieee1394. When the eth1394 driver is inserted and removed on that node, fw-core now notices the addition and removal of the IPv4 unit on the ieee1394 node. Signed-off-by: Stefan Richter commit 1dadff71d6356ebb804c3f4f1d3049247e16111c Author: Stefan Richter Date: Sun Mar 2 19:35:42 2008 +0100 firewire: replace static ROM cache by allocated cache read_bus_info_block() is repeatedly called by workqueue jobs. These will step on each others toes eventually if there are multiple workqueue threads, and we end up with corrupt config ROM images. Signed-off-by: Stefan Richter commit d34316a4bdcd4fef050da584401c7f4ed22482f2 Author: Stefan Richter Date: Sat Apr 12 22:31:25 2008 +0200 firewire: fw-ohci: work around generation bug in TI controllers (fix AV/C and more) Unlike the ohci1394 driver, fw-ohci uses the selfIDGeneration field of bus reset packets to determine the generation of incoming requests as per OHCI 1.1 clause 8.4.2.3. This is more precise --- provided that the controller inserts the correct generation. Texas Instruments chips often don't. This prevented the transmission of response packets, which for example broke AV/C transactions as used when communicating with miniDV cameras and any other AV/C devices. There is apparently no way to detect and adjust incorrect generations. Therefore we ignore the generation of bus reset packets from TI chips and use the generation of the self ID buffer instead. Alas this is received at a slightly wrong time. In rare cases, this could cause us to not respond to legitimate requests or to respond to expired requests. (The latter is less likely because the bus reset packet AR event is typically handled before the self ID complete event.) Bug reported by Mladen Kuntner, who was extraordinarily patient while dealing with the driver maintainers. Fix confirmed to be required and effective for TSB82AA2 and a TSB43AB22 or TSB43AB22A. https://bugzilla.redhat.com/show_bug.cgi?id=243081 Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 08ddb2f4c270b5dff063f7dbcd7e9248a52e7c65 Author: Stefan Richter Date: Fri Apr 11 00:51:15 2008 +0200 firewire: fw-ohci: extend logging of bus generations and node ID Extend the logging of "AR evt_bus_reset, link internal" to "AR evt_bus_reset, generation ${selfIDGeneration}". That way we can check whether this generation matches the one seen in self ID complete event logging. See OHCI 1.1 clause 8.4.2.3. Also extend logging of "firewire_ohci: * selfIDs, generation *" by "local node ID ffc*" in self ID logging to make the local node in AT/AR event logs more obvious. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit a007bb857e0b26f5d8b73c2ff90782d9c0972620 Author: Stefan Richter Date: Mon Apr 7 22:33:35 2008 +0200 firewire: fw-ohci: conditionally log busReset interrupts Add a debug option to watch bus reset interrupt events. Half of this patch is taken from Jarod Wilson's first version of the JMicron fix. BusReset interrupts are only generated if the respective module parameter flag was set before the controller is being initialized. Else we keep this event masked to reduce IRQ load in normal operation and to avoid potential problems with buggy chips. Note, this is unlike the other IRQ events whose logging can be enabled any time after chip initialization. This and the influence on what interrupts the chip generates is why I added an extra flag for it. Also, reorder the debug parameter flags according to their perceived usefulness. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 76f73ca1b291a8d014ff0d2d802c817404dd9887 Author: Jarod Wilson Date: Mon Apr 7 22:32:33 2008 +0200 firewire: fw-ohci: don't append to AT context when it's not active I finally tracked down the issues with this JMicron PCI-e card in my possession to a failure to comply with section 7.2.3.2 of the OHCI 1.1 specification (thanks to Kristian for the pointer to illustrate that it is indeed a flaw in this card, not the driver). The controller should simply flush the packets we've appended to its AT queue if a bus reset occurs before they've been transmitted and we'll try again, but something goes wrong and the controller winds up hung. However, we can avoid the problem by simply checking if the IntEvent.busReset register had been set before we try appending to the AT context. When busReset is set, the AT context is completely halted until busReset is cleared, so there's no point in appending AT packets until the register is cleared. So at_context_queue_packet() now checks for busReset being set, and bails with an RCODE_GENERATION packet ack, which results in us trying to append the packet again after recognizing the fact there has been a bus reset, and clearing busReset. Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter commit 75f7832e3b032c6e4a83c14b58341abd9f2d81ef Author: Jarod Wilson Date: Thu Apr 3 17:18:23 2008 -0400 firewire: fw-ohci: log regAccessFail events While trying to debug this piece of crap JMicron PCI-e controller in my possession, one thought was that perhaps I was encountering register access failures. I'm not, but logging them would be good, so we can see if they are a real problem we should be taking into account anywhere in the code. Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter (added list contact) commit 022147242ff6e4b7ab770f00716063f48c088391 Author: Jarod Wilson Date: Fri Mar 28 10:02:50 2008 -0400 firewire: fw-ohci: make sure HCControl register LPS bit is set I've now witnessed multiple occasions where one of my controllers (a very poorly working JMicron PCIe card) fails to get its registers properly set up in ohci_enable(), apparently due to an occasionally very slow to initiate SClk. The easy fix for this problem is to add a tiny while loop to try again a time or three after initially enabling LPS before we move on (or give up). Of course, the card still isn't fully functional yet, but this gets it at least one tiny step closer... Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter commit 130d5496e2c9104dcabdaa5c19cd941770e20edc Author: Stefan Richter Date: Mon Mar 24 20:55:28 2008 +0100 firewire: fw-ohci: missing PPC PMac feature calls in failure path Balance ohci_pmac_on and ohci_pmac_off if pci_driver.probe fails. Signed-off-by: Stefan Richter commit 43286568adb3ccd4b2f1d0cb7393c355f03e4f39 Author: Stefan Richter Date: Tue Mar 11 21:22:26 2008 +0100 firewire: fw-ohci: untangle a mixed unsigned/signed expression and make another expression more readable. Signed-off-by: Stefan Richter commit ad3c0fe8b8d1656a56ce2ef05ed5ccba790b4566 Author: Stefan Richter Date: Thu Mar 20 22:04:36 2008 +0100 firewire: debug interrupt events This adds debug printks for asynchronous transmission and reception and for self ID reception. They can be enabled at module load time, and at runtime via /sys/module/firewire_ohci/parameters/debug. Signed-off-by: Jarod Wilson Also added: Logging of interrupt event codes and of cancelled AT packets. The code now depends on a Kconfig variable. This makes it easier to build firewire-ohci without the feature or to make it an option in the future. The variable is currently hidden and always on. This feature inflates firewire-ohci.ko by 7 kB = 27% on x86-64 and by 4 kB = 23% on i686. Signed-off-by: Stefan Richter commit 016bf3dfcf7c7fbad8f02e72b6e01d6773426f9d Author: Stefan Richter Date: Wed Mar 19 22:05:02 2008 +0100 firewire: fw-ohci: catch self_id_count == 0 fw_core_handle_bus_reset() incorrectly relied on the assumption that self_id_count > 0. We check early in fw-ohci and discard the self ID complete event if self_id_count == 0 because a valid event always has at least one self ID packet in it (the one of the local node). Hence treat self_id_count == 0 like any other kind of invalid self ID buffer. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit c8a9a498e16b2a6c0e4e367b1a01f80fdfd7b6e2 Author: Stefan Richter Date: Wed Mar 19 21:40:32 2008 +0100 firewire: fw-ohci: add self ID error check Discard self ID buffer contents if - the selfIDError flag is set, - any of the self ID packets has bit errors. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 2ed0f181f0d18d2f565bfbd259fe33d53769f72b Author: Stefan Richter Date: Sat Mar 1 12:35:29 2008 +0100 firewire: fw-ohci: refactor probe, remove, suspend, resume Clean up shared code and variable names. Signed-off-by: Stefan Richter commit eb5ca72effaa7f691f7df5187c5c5d1268311326 Author: Stefan Richter Date: Sat Mar 1 12:34:50 2008 +0100 firewire: fw-ohci: switch on bus power after resume on PPC PMac The platform feature calls in the suspend method switched off cable power, but the calls in the resume method did not switch it back on. Add the necessary feature call to .resume. Also add the corresponding call to .suspend to make .suspend's behavior explicitly the same on all PMacs. Signed-off-by: Stefan Richter commit 080de8c2c57e3199eee837fe8b6d35a43679f8c1 Author: Stefan Richter Date: Thu Feb 28 20:54:43 2008 +0100 firewire: fw-ohci: add option for remote debugging This way firewire-ohci can be used for remote debugging like ohci1394. Version with amendment from Fri, 11 Apr 2008 00:08:08 +0200. Signed-off-by: Stefan Richter Acked-by: Bernhard Kaindl commit 17cff9ff871bb5081cade4f99a9e9382b9f1c01c Author: Jarod Wilson Date: Fri Mar 7 01:43:31 2008 -0500 firewire: fw-sbp2: set dual-phase cycle_limit Try to write dual-phase retry protocol limits to BUSY_TIMEOUT register. - The dual-phase retry protocol is optional to implement, and if not supported, writes to the dual-phase portion of the register will be ignored. We try to write the original 1394-1995 default here. - In the case of devices that are also SBP-3-compliant, all writes are ignored, as the register is read-only, but contains single-phase retry of 15, which is what we're trying to set for all SBP-2 device anyway, so this write attempt is safe and yields more consistent behavior for all devices. See section 8.3.2.3.5 of the 1394-1995 spec, section 6.2 of the SBP-2 spec, and section 6.4 of the SBP-3 spec for further details. Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter commit a5fd9ec7a29202f388fc011a11cfb0101d9f9a34 Author: Stefan Richter Date: Thu Feb 28 20:53:45 2008 +0100 firewire: fw-sbp2: reduce log noise The block/unblock logic is now sufficiently tested. Signed-off-by: Stefan Richter commit 6f73100cbbb9728c098bd05e9363d206b9eeab47 Author: Stefan Richter Date: Thu Feb 28 20:52:43 2008 +0100 firewire: fw-sbp2: remove unnecessary memset orb came from kzalloc. Signed-off-by: Stefan Richter commit 0d7dcbf2a3b6042351948ecf1f171eb3f1d72cd3 Author: Stefan Richter Date: Thu Feb 28 20:52:02 2008 +0100 firewire: fw-sbp2: simplify some macros How hard can it be to switch on one bit? :-) Signed-off-by: Stefan Richter commit 71ee9f01f2bc2b717dacc69c85f257e1efff12ee Author: Stefan Richter Date: Thu Feb 28 20:51:11 2008 +0100 firewire: fw-sbp2: remove usages of fw_memcpy_to_be32 Write directly in big endian instead of byte-swapping after the fact. This saves a few conversions, lets gcc use constant endianess conversions where possible, and enables deeper endianess annotation. Signed-off-by: Stefan Richter commit 8ac3a47cab32e5e5a40de4bc210b5b0063bf6e84 Author: Stefan Richter Date: Sun Jan 27 22:31:27 2008 +0100 firewire: fw-sbp2: relax SCSI DMA alignment Signed-off-by: Stefan Richter commit 1dc3bea78b6cd71c2017aa5da076684c049d8b98 Author: Stefan Richter Date: Sun Feb 24 19:01:21 2008 +0100 firewire: refactor fw_unit reference counting Add wrappers for getting and putting a unit. Remove some line breaks. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 7c1fca336661aaeb70b9094c4b8eaae389027509 Author: Stefan Richter Date: Sun Feb 24 19:00:51 2008 +0100 firewire: fw-sbp2: fix reference counting The reference count of the unit dropped too low in an error path in sbp2_probe. Fixed by moving the _get further up. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit bd7dee6311156b7cdf884344feb34628909398ad Author: Stefan Richter Date: Sun Feb 24 18:59:55 2008 +0100 firewire: remove superfluous reference counting The card->kref became obsolete since patch "firewire: fix crash in automatic module unloading" added another counter of card users. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit a6ca4f7081095e3cdeb1a45d66fbe4856eca10d3 Author: Philippe De Muyter Date: Fri Apr 11 16:27:59 2008 +0200 ieee1394: limit early node speed to host interface speed The following patch limits the node speed to the host interface speed, before using it. Signed-off-by: Philippe De Muyter It should actually suffice to do this only for the local node's speedcap[]. But there is another bug in the speed calculation: The local node's speed is not correctly propagated to the speeds which are to be used to access remote nodes. http://thread.gmane.org/gmane.linux.kernel.firewire.devel/11772/focus=12024 Signed-off-by: Stefan Richter commit ee2d91e2b3e422f3f61cd7c6a58bd98a5ec72bd1 Author: Robert P. J. Day Date: Thu Mar 27 10:48:37 2008 -0400 ieee1394: Remove superfluous calls to kobject_set_name(). Unless you're adding a kobject to the sysfs hierarchy, there is no point setting its kobject name. Signed-off-by: Robert P. J. Day Signed-off-by: Stefan Richter commit 9508c208aa6e0a7501d8250d4a9d35344056d573 Author: Stefan Richter Date: Mon Mar 24 20:53:34 2008 +0100 ieee1394: ohci1394: missing PPC PMac feature calls in failure path The failure path of ohci1394_pci_probe() reuses ohci1394_pci_remove(). Doing so it missed to call ohci1394_pmac_off() in a few unlikely early error cases. Signed-off-by: Stefan Richter commit c4e2e02bc96f0a1605f858df3d6d5ea70fc459fc Author: Stefan Richter Date: Mon Mar 24 20:52:42 2008 +0100 ieee1394: ohci1394: refactor some printk format strings to reduce the size of ohci1394.ko. Signed-off-by: Stefan Richter commit d09c68038306442e3566366b6988a6dd83481251 Author: Stefan Richter Date: Mon Mar 24 20:49:01 2008 +0100 ieee1394: ohci1394: unroll a macro with return We don't want to hide something like return in a preprocessor macro. Unroll the macro and use a goto, which also reduces the size of ohci1394.ko. Signed-off-by: Stefan Richter commit e351c4d069254b1267b66a3b101ece7547178485 Author: Robert P. J. Day Date: Sun Mar 23 10:15:28 2008 -0400 ieee1394: Use shorter list_splice_init() for brevity. Signed-off-by: Robert P. J. Day Signed-off-by: Stefan Richter commit b1ce1fd778997b3313599a2561bcbd42a34bfb56 Author: Harvey Harrison Date: Wed Mar 5 18:24:54 2008 -0800 ieee1394: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Stefan Richter commit b25d166616ea30adedee70d99c40ba82d126d7cb Author: Stefan Richter Date: Sat Mar 1 12:36:42 2008 +0100 ieee1394: ohci1394: refactor probe, remove, suspend, resume Clean up shared code and variable names. Signed-off-by: Stefan Richter commit 38275ac36d60882db750d6301ef507881b4c8420 Author: Stefan Richter Date: Sat Mar 1 12:36:06 2008 +0100 ieee1394: ohci1394: switch on bus power after resume on PPC PMac The platform feature calls in the suspend method switched off cable power, but the calls in the resume method did not switch it back on. Add the necessary feature call to .resume. Also add the corresponding call to .suspend to make .suspend's behavior explicitly the same on all PMacs. Signed-off-by: Stefan Richter commit d2ace29fa44589da51fedc06a67b3f05301f3bfd Author: Stefan Richter Date: Mon Feb 18 21:11:07 2008 +0100 ieee1394: prevent device binding of raw1394, video1394, dv1394 These drivers don't need to match any unit_directory type device. They just need the id_table for module autoloading per module alias. Not binding any of these drivers allows special-purpose drivers with similar or same IDs to bind to devices. This currently only benefits out-of-tree drivers; on the other hand it is in no way detrimental to in-tree drivers. Signed-off-by: Stefan Richter commit 63995d46506a774f5ddd6b51c017d42c3fbfaedb Author: Marcin Slusarz Date: Wed Feb 13 00:06:07 2008 +0100 ieee1394: be*_add_cpu conversion replace all: big_endian_variable = cpu_to_beX(beX_to_cpu(big_endian_variable) + expression_in_cpu_byteorder); with: beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Signed-off-by: Stefan Richter commit a4b47d62c5018e81e2b8ee9843d8a8268e886d25 Author: Stefan Richter Date: Sun Jan 27 22:32:22 2008 +0100 ieee1394: sbp2: relax SCSI DMA alignment Signed-off-by: Stefan Richter commit 253ba4e79edc695b2925bd2ef34de06ff4d4070c Merge: 188da98... 65e67f5... Author: Linus Torvalds Date: Fri Apr 18 08:39:39 2008 -0700 Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6 * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6: (87 commits) [XFS] Fix merge failure [XFS] The forward declarations for the xfs_ioctl() helpers and the [XFS] Update XFS documentation for noikeep/ikeep. [XFS] Update XFS Documentation for ikeep and ihashsize [XFS] Remove unused HAVE_SPLICE macro. [XFS] Remove CONFIG_XFS_SECURITY. [XFS] xfs_bmap_compute_maxlevels should be based on di_forkoff [XFS] Always use di_forkoff when checking for attr space. [XFS] Ensure the inode is joined in xfs_itruncate_finish [XFS] Remove periodic logging of in-core superblock counters. [XFS] fix logic error in xfs_alloc_ag_vextent_near() [XFS] Don't error out on good I/Os. [XFS] Catch log unmount failures. [XFS] Sanitise xfs_log_force error checking. [XFS] Check for errors when changing buffer pointers. [XFS] Don't allow silent errors in xfs_inactive(). [XFS] Catch errors from xfs_imap(). [XFS] xfs_bulkstat_one_dinode() never returns an error. [XFS] xfs_iflush_fork() never returns an error. [XFS] Catch unwritten extent conversion errors. ... commit 188da98800893691e47eea9335a234378e32aceb Merge: 07fe944... 273b838... Author: Linus Torvalds Date: Fri Apr 18 08:39:24 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (58 commits) ide: remove ide_init_default_irq() macro ide: move default IDE ports setup to ide_generic host driver ide: remove obsoleted "idex=noprobe" kernel parameter (take 2) ide: remove needless hwif->irq check from ide_hwif_configure() ide: init hwif->{io_ports,irq} explicitly in legacy VLB host drivers ide: limit legacy VLB host drivers to alpha, x86 and mips cmd640: init hwif->{io_ports,irq} explicitly cmd640: cleanup setup_device_ptrs() ide: add ide-4drives host driver (take 3) ide: remove ppc ifdef from init_ide_data() ide: remove ide_default_io_ctl() macro ide: remove CONFIG_IDE_ARCH_OBSOLETE_INIT ide: add CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS (take 2) ppc/pmac: remove no longer needed IDE quirk ppc: don't include ppc: remove ppc_ide_md ppc/pplus: remove ppc_ide_md.ide_init_hwif hook ppc/sandpoint: remove ppc_ide_md hooks ppc/lopec: remove ppc_ide_md hooks ppc/mpc8xx: remove ppc_ide_md hooks ... commit 07fe944e87d79f8d7e1b090913fe9f2ace78f41d Merge: 8019aa9... 636bdea... Author: Linus Torvalds Date: Fri Apr 18 08:38:55 2008 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: dmaengine: ack to flags: make use of the unused bits in the 'ack' field iop-adma: remove the workaround for missed interrupts on iop3xx async_tx: kill ->device_dependency_added async_tx: fix multiple dependency submission fsldma: Split the MPC83xx event from MPC85xx and refine irq codes. fsldma: Remove CONFIG_FSL_DMA_SELFTEST, keep fsl_dma_self_test() running always. commit 8019aa946af5218bc4446c21e43cc19c9401ac68 Merge: 73e3e64... 48feb3c... Author: Linus Torvalds Date: Fri Apr 18 08:38:06 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (79 commits) ata-acpi: don't call _GTF for disabled drive sata_mv add temporary 3 second init delay for SiliconImage PMs sata_mv remove redundant edma init code sata_mv add basic port multiplier support sata_mv fix SOC flags, enable NCQ on SOC sata_mv disable hotplug for now sata_mv cosmetics sata_mv hardreset rework [libata] improve Kconfig help text for new PMP, SFF options libata: make EH fail gracefully if no reset method is available libata: Be a bit more slack about early devices libata: cable logic libata: move link onlineness check out of softreset methods libata: kill dead code paths in reset path pata_scc: fix build breakage libata: make PMP support optional libata: implement PMP helpers libata: separate PMP support code from core code libata: make SFF support optional libata: don't use ap->ioaddr in non-SFF drivers ... commit 73e3e6481f56b3b5b618671a8d32b19a35f84316 Merge: 4adeaaf... 6993fc5... Author: Linus Torvalds Date: Fri Apr 18 08:37:41 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt * git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt: clocksource: make clocksource watchdog cycle through online CPUs Documentation: move timer related documentation to a single place clockevents: optimise tick_nohz_stop_sched_tick() a bit locking: remove unused double_spin_lock() hrtimers: simplify lockdep handling timers: simplify lockdep handling posix-timers: fix shadowed variables timer_list: add annotations to workqueue.c hrtimer: use nanosleep specific restart_block fields hrtimer: add nanosleep specific restart_block member commit 4adeaaf51ebcc3f629f5512b96aebb5089388bca Merge: 9732b61... 15732a1... Author: Linus Torvalds Date: Fri Apr 18 08:37:19 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: jfs: replace __inline with inline jfs: le*_add_cpu conversion commit 9732b6112343df2872518ec6701c8ef729310a05 Merge: 9e9abec... 1a9a3e7... Author: Linus Torvalds Date: Fri Apr 18 08:37:01 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb: kgdb: always use icache flush for sw breakpoints kgdb: fix SMP NMI kgdb_handle_exception exit race kgdb: documentation fixes kgdb: allow static kgdbts boot configuration kgdb: add documentation kgdb: Kconfig fix kgdb: add kgdb internal test suite kgdb: fix several kgdb regressions kgdb: kgdboc pl011 I/O module kgdb: fix optional arch functions and probe_kernel_* kgdb: add x86 HW breakpoints kgdb: print breakpoint removed on exception kgdb: clocksource watchdog kgdb: fix NMI hangs kgdb: fix kgdboc dynamic module configuration kgdb: document parameters x86: kgdb support consoles: polling support, kgdboc kgdb: core uaccess: add probe_kernel_write() commit 9e9abecfc0ff3a9ad2ead954b37bbfcb863c775e Merge: d7bb545... 77ad386... Author: Linus Torvalds Date: Fri Apr 18 08:25:51 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (613 commits) x86: standalone trampoline code x86: move suspend wakeup code to C x86: coding style fixes to arch/x86/kernel/acpi/sleep.c x86: setup_trampoline() - fix section mismatch warning x86: section mismatch fixes, #1 x86: fix paranoia about using BIOS quickboot mechanism. x86: print out buggy mptable x86: use cpu_online() x86: use cpumask_of_cpu() x86: remove unnecessary tmp local variable x86: remove unnecessary memset() x86: use ioapic_read_entry() and ioapic_write_entry() x86: avoid redundant loop in io_apic_level_ack_pending() x86: remove superfluous initialisation in boot code. x86: merge mpparse_{32,64}.c x86: unify mp_register_gsi x86: unify mp_config_acpi_legacy_irqs x86: unify mp_register_ioapic x86: unify uniq_io_apic_id x86: unify smp_scan_config ... commit d7bb545d86825e635cab33a1dd81ca0ad7b92887 Merge: 75e98b3... 2342e51... Author: Linus Torvalds Date: Fri Apr 18 08:25:29 2008 -0700 Merge branch 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc * 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: Remove DEBUG_SEMAPHORE from Kconfig Improve semaphore documentation Simplify semaphore implementation Add down_timeout and change ACPI to use it Introduce down_killable() Generic semaphore implementation Add semaphore.h to kernel_lock.c Fix quota.h includes commit 75e98b34155264d943aa53edce465e87f3ccbadf Merge: 30bc945... 0a22ab9... Author: Linus Torvalds Date: Fri Apr 18 08:20:06 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (104 commits) IB/iser: Don't change itt endianness IB/mlx4: Update module version and release date IPoIB: Handle case when P_Key is deleted and re-added at same index IB/iser: Release connection resources on RDMA_CM_EVENT_DEVICE_REMOVAL event IB/mlx4: Fix incorrect comment IB/mlx4: Fix race when detaching a QP from a multicast group IB/ehca: Support all ibv_devinfo values in query_device() and query_port() RDMA/nes: Free IRQ before killing tasklet IB/mthca: Update module version and release date IB/mlx4: Update QP state if query QP succeeds IB/mthca: Update QP state if query QP succeeds RDMA/amso1100: Add check for NULL reply_msg in c2_intr() IB/mlx4: Add support for resizing CQs IB/mlx4: Add support for modifying CQ moderation parameters IPoIB: Support modifying IPoIB CQ event moderation IB/core: Add support for modify CQ IPoIB: Add basic ethtool support mlx4_core: Increase max number of QPs to 128K RDMA/amso1100: Add support for "send with invalidate" work requests IB/core: Add support for "send with invalidate" work requests ... commit 30bc94566e396b432b72e2f3518e19225dc2672d Merge: 4cba84b... 5f46ce1... Author: Linus Torvalds Date: Fri Apr 18 08:19:40 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: security: enhance DEFAULT_MMAP_MIN_ADDR description SELinux: add netport.[ch] SELinux: Add network port SID cache SELinux: turn mount options strings into defines selinux/ss/services.c should #include selinux: introduce permissive types selinux: remove ptrace_sid SELinux: requesting no permissions in avc_has_perm_noaudit is a BUG() security: code cleanup security: replace remaining __FUNCTION__ occurrences SELinux: create new open permission selinux: selinux/netlabel.c should #include "netlabel.h" SELinux: unify printk messages SELinux: remove unused backpointers from security objects SELinux: Correct the NetLabel locking for the sk_security_struct commit 4cba84b5d61af81f1f329f4d05170427a9819c39 Merge: 7d939fb... ca68305... Author: Linus Torvalds Date: Fri Apr 18 08:19:15 2008 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (36 commits) [S390] Remove code duplication from monreader / dcssblk. [S390] kernel: show last breaking-event-address on oops [S390] lowcore: Change type of lowcores softirq_pending to __u32. [S390] zcrypt: Comments and kernel-doc cleanup [S390] uaccess: Always access the correct address space. [S390] Fix a lot of sparse warnings. [S390] Convert s390 to GENERIC_CLOCKEVENTS. [S390] genirq/clockevents: move irq affinity prototypes/inlines to interrupt.h [S390] Convert monitor calls to function calls. [S390] qdio (new feature): enhancing info-retrieval from QDIO-adapters [S390] replace remaining __FUNCTION__ occurrences [S390] remove redundant display of free swap space in show_mem() [S390] qdio: remove outdated developerworks link. [S390] Add debug_register_mode() function to debug feature API [S390] crypto: use more descriptive function names for init/exit routines. [S390] switch sched_clock to store-clock-extended. [S390] zcrypt: add support for large random numbers [S390] hw_random: allow rng_dev_read() to return hardware errors. [S390] Vertical cpu management. [S390] cpu topology support for s390. ... commit 7d939fbdfee49e5c06bd27214d25f726fb87a25a Merge: 18c98b6... 0f389ec... Author: Linus Torvalds Date: Fri Apr 18 08:19:00 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: No need for per node slab counters if !SLUB_DEBUG slub: Move map/flag clearing to __free_slab slub: Fixes to per cpu stat output in sysfs slub: Deal with config variable dependencies slub: Reduce #ifdef ZONE_DMA by moving kmalloc_caches_dma near dma logic slub: Initialize per-cpu stats commit 18c98b65279c00c3c983a4525161207f1aa6a04b Author: Roland McGrath Date: Thu Apr 17 18:44:38 2008 -0700 ptrace_signal subroutine This breaks out the ptrace handling from get_signal_to_deliver into a new subroutine. The actual code there doesn't change, and it gets inlined into nearly identical compiled code. This makes the function substantially shorter and thus easier to read, and it nicely isolates the ptrace magic. Signed-off-by: Roland McGrath Acked-by: Kyle McMartin Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 0e04388f0189fa1f6812a8e1cb6172136eada87e Author: Li Zefan Date: Thu Apr 17 11:37:15 2008 +0800 cgroup: fix a race condition in manipulating tsk->cg_list When I ran a test program to fork mass processes and at the same time 'cat /cgroup/tasks', I got the following oops: ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:72! invalid opcode: 0000 [#1] SMP Pid: 4178, comm: a.out Not tainted (2.6.25-rc9 #72) ... Call Trace: [] ? cgroup_exit+0x55/0x94 [] ? do_exit+0x217/0x5ba [] ? do_group_exit+0.65/0x7c [] ? sys_exit_group+0xf/0x11 [] ? syscall_call+0x7/0xb [] ? init_cyrix+0x2fa/0x479 ... EIP: [] list_del+0x35/0x53 SS:ESP 0068:ebc7df4 ---[ end trace caffb7332252612b ]--- Fixing recursive fault but reboot is needed! After digging into the code and debugging, I finlly found out a race situation: do_exit() ->cgroup_exit() ->if (!list_empty(&tsk->cg_list)) list_del(&tsk->cg_list); cgroup_iter_start() ->cgroup_enable_task_cg_list() ->list_add(&tsk->cg_list, ..); In this case the list won't be deleted though the process has exited. We got two bug reports in the past, which seem to be the same bug as this one: http://lkml.org/lkml/2008/3/5/332 http://lkml.org/lkml/2007/10/17/224 Actually sometimes I got oops on list_del, sometimes oops on list_add. And I can change my test program a bit to trigger other oops. The patch has been tested both on x86_32 and x86_64. Signed-off-by: Li Zefan Acked-by: Paul Menage Cc: Andrew Morton Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 5f46ce14bd432cf52bf91079270af164ca48f821 Author: maximilian attems Date: Wed Apr 16 19:36:36 2008 +0200 security: enhance DEFAULT_MMAP_MIN_ADDR description Got burned by setting the proposed default of 65536 across all Debian archs. Thus proposing to be more specific on which archs you may set this. Also propose a value for arm and friends that doesn't break sshd. Reword to mention working archs ia64 and ppc64 too. Signed-off-by: maximilian attems Cc: Martin Michlmayr Cc: Gordon Farquharson Acked-by: Eric Paris Signed-off-by: James Morris commit 27cc2a6e572e1a86a08a02918517558f175f6974 Author: James Morris Date: Mon Apr 14 15:09:53 2008 +1000 SELinux: add netport.[ch] Thank you, git. Signed-off-by: James Morris commit 3e11217263d0521e212cb8a017fbc2a1514db78f Author: Paul Moore Date: Thu Apr 10 10:48:14 2008 -0400 SELinux: Add network port SID cache Much like we added a network node cache, this patch adds a network port cache. The design is taken almost completely from the network node cache which in turn was taken from the network interface cache. The basic idea is to cache entries in a hash table based on protocol/port information. The hash function only takes the port number into account since the number of different protocols in use at any one time is expected to be relatively small. Signed-off-by: Paul Moore Acked-by: Stephen Smalley Signed-off-by: James Morris commit 832cbd9aa1293cba57d06571f5fc8f0917c672af Author: Eric Paris Date: Tue Apr 1 13:24:09 2008 -0400 SELinux: turn mount options strings into defines Convert the strings used for mount options into #defines rather than retyping the string throughout the SELinux code. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 0e55a004b58847c53e48d846b9a4570b1587c382 Author: Adrian Bunk Date: Mon Mar 31 01:54:02 2008 +0300 selinux/ss/services.c should #include Every file should include the headers containing the externs for its global code. Signed-off-by: Adrian Bunk Signed-off-by: James Morris commit 64dbf07474d011540ca479a2e87fe998f570d6e3 Author: Eric Paris Date: Mon Mar 31 12:17:33 2008 +1100 selinux: introduce permissive types Introduce the concept of a permissive type. A new ebitmap is introduced to the policy database which indicates if a given type has the permissive bit set or not. This bit is tested for the scontext of any denial. The bit is meaningless on types which only appear as the target of a decision and never the source. A domain running with a permissive type will be allowed to perform any action similarly to when the system is globally set permissive. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 0356357c5158c71d4cbf20196b2f784435dd916c Author: Roland McGrath Date: Wed Mar 26 15:46:39 2008 -0700 selinux: remove ptrace_sid This changes checks related to ptrace to get rid of the ptrace_sid tracking. It's good to disentangle the security model from the ptrace implementation internals. It's sufficient to check against the SID of the ptracer at the time a tracee attempts a transition. Signed-off-by: Roland McGrath Acked-by: Stephen Smalley Signed-off-by: James Morris commit eda4f69ca5a532b425db5a6c2c6bc50717b9b5fe Author: Eric Paris Date: Tue Mar 11 14:19:34 2008 -0400 SELinux: requesting no permissions in avc_has_perm_noaudit is a BUG() This patch turns the case where we have a call into avc_has_perm with no requested permissions into a BUG_ON. All callers to this should be in the kernel and thus should be a function we need to fix if we ever hit this. The /selinux/access permission checking it done directly in the security server and not through the avc, so those requests which we cannot control from userspace should not be able to trigger this BUG_ON. Signed-off-by: Eric Paris Acked-by: Stephen D. Smalley Signed-off-by: James Morris commit f0115e6c8980ea9125a17858291c90ecd990bc1c Author: Andrew Morton Date: Thu Mar 6 10:05:08 2008 +1100 security: code cleanup ERROR: "(foo*)" should be "(foo *)" #168: FILE: security/selinux/hooks.c:2656: + "%s, rc=%d\n", __func__, (char*)value, -rc); total: 1 errors, 0 warnings, 195 lines checked ./patches/security-replace-remaining-__function__-occurences.patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Please run checkpatch prior to sending patches Cc: Harvey Harrison Cc: James Morris Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: James Morris commit dd6f953adb5c4deb9cd7b6a5054e7d5eafe4ed71 Author: Harvey Harrison Date: Thu Mar 6 10:03:59 2008 +1100 security: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: James Morris Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: James Morris commit b0c636b99997c8594da6a46e166ce4fcf6956fda Author: Eric Paris Date: Thu Feb 28 12:58:40 2008 -0500 SELinux: create new open permission Adds a new open permission inside SELinux when 'opening' a file. The idea is that opening a file and reading/writing to that file are not the same thing. Its different if a program had its stdout redirected to /tmp/output than if the program tried to directly open /tmp/output. This should allow policy writers to more liberally give read/write permissions across the policy while still blocking many design and programing flaws SELinux is so good at catching today. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Reviewed-by: Paul Moore Signed-off-by: James Morris commit d4ee4231a3a8731576ef0e0a7e1225e4fde1e659 Author: Adrian Bunk Date: Wed Feb 27 23:20:42 2008 +0200 selinux: selinux/netlabel.c should #include "netlabel.h" Every file should include the headers containing the externs for its global code. Signed-off-by: Adrian Bunk Acked-by: Paul Moore Signed-off-by: James Morris commit 454d972c24e6efce3d7b07a97f1ad18b14845de9 Author: James Morris Date: Tue Feb 26 20:42:02 2008 +1100 SELinux: unify printk messages Replace "security:" prefixes in printk messages with "SELinux" to help users identify the source of the messages. Also fix a couple of minor formatting issues. Signed-off-by: James Morris commit 98e9894650455426f67c2157db4f39bd14fac2f6 Author: James Morris Date: Tue Feb 26 09:52:58 2008 +1100 SELinux: remove unused backpointers from security objects Remove unused backpoiters from security objects. Signed-off-by: James Morris commit f74af6e816c940c678c235d49486fe40d7e49ce9 Author: Paul Moore Date: Mon Feb 25 11:40:33 2008 -0500 SELinux: Correct the NetLabel locking for the sk_security_struct The RCU/spinlock locking approach for the nlbl_state in the sk_security_struct was almost certainly overkill. This patch removes both the RCU and spinlock locking, relying on the existing socket locks to handle the case of multiple writers. This change also makes several code reductions possible. Less locking, less code - it's a Good Thing. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 3c051235a7f115c34e675c9cf55820bd3435f860 Author: David S. Miller Date: Fri Apr 18 01:46:19 2008 -0700 [IPV6]: Fix dangling references on error in fib6_add(). Fixes bugzilla #8895 If a super-tree leaf has 'rt' assigned to it and we get an error from fib6_add_rt2node(), we'll leave a reference to 'rt' in pn->leaf and then do an unconditional dst_free(). We should prune such references. Based upon a report by Vincent Perrier. Signed-off-by: David S. Miller commit 62be1f71677c53d5e51223807a06ac9052f49b0f Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Apr 17 17:25:37 2008 +0200 [GFS2] fix assertion in log_refund() since unsigned, unused >= 0 is always true. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Steven Whitehouse commit 1e42198609d73ed1a9adcba2af275c24c2678420 Merge: 794eb6b... 4b119e2... Author: David S. Miller Date: Thu Apr 17 23:56:30 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 9f264be6101c42cb9e471c58322fb83a5cde1461 Author: Paul Mackerras Date: Fri Apr 18 14:26:08 2008 +1000 [POWERPC] Optimize fls64() on 64-bit processors 64-bit powerpc processors can find the leftmost 1 bit in a 64-bit doubleword in one instruction, so use that rather than using the generic fls64(), which does two 32-bit fls() calls. Signed-off-by: Paul Mackerras commit 794eb6bf20ebf992c040ea831cd3a9c64b0c1f7a Author: Jesper Juhl Date: Thu Apr 17 23:22:54 2008 -0700 [NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found dev_get_by_index() may return NULL if nothing is found. In net/netlabel/netlabel_unlabeled.c::netlbl_unlabel_staticlist_gen() the function is called, but the return value is never checked. If it returns NULL then we'll deref a NULL pointer on the very next line. I checked the callers, and I don't think this can actually happen today, but code changes over time and in the future it might happen and it does no harm to be defensive and check for the failure, so that if/when it happens we'll fail gracefully instead of crashing. Signed-off-by: Jesper Juhl Acked-by: Paul Moore Signed-off-by: David S. Miller commit f5ba2d32170679eb9b7c251ac3d9687916a41c18 Author: Patrick McHardy Date: Thu Apr 17 23:19:55 2008 -0700 [PKT_SCHED]: Fix datalen check in tcf_simp_init(). datalen is unsigned so it can never be less than zero, but that's ok because the attribute passed to nla_len() has been validated and therefore a negative return value is impossible. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 53083773dcbd3c80477e2ace143e361e1e806745 Author: Pavel Emelyanov Date: Thu Apr 17 23:18:15 2008 -0700 [INET]: Uninline the __inet_inherit_port call. This deblats ~200 bytes when ipv6 and dccp are 'y'. Besides, this will ease compilation issues for patches I'm working on to make inet hash tables more scalable wrt net namespaces. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e56d8b8a2ee5fb7f63ceba58e1c0fb3c844888a4 Author: Pavel Emelyanov Date: Thu Apr 17 23:17:34 2008 -0700 [INET]: Drop the inet_inherit_port() call. As I can see from the code, two places (tcp_v6_syn_recv_sock and dccp_v6_request_recv_sock) that call this one already run with BHs disabled, so it's safe to call __inet_inherit_port there. Besides (in case I missed smth with code review) the calltrace tcp_v6_syn_recv_sock `- tcp_v4_syn_recv_sock `- __inet_inherit_port and the similar for DCCP are valid, but assumes BHs to be disabled. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 945feb174b14e7098cc7ecf0cf4768d35bc52f9c Author: Benjamin Herrenschmidt Date: Thu Apr 17 14:35:01 2008 +1000 [POWERPC] irqtrace support for 64-bit powerpc This adds the low level irq tracing hooks to the powerpc architecture needed to enable full lockdep functionality. This is partly based on Johannes Berg's initial version. I removed the asm trampoline that isn't needed (thus improving performance) and modified all sorts of bits and pieces, reworking most of the assembly, etc... Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fd3e0bbc6052ca9747a5332b382584ece83aab6d Author: Christoph Hellwig Date: Thu Apr 17 14:35:00 2008 +1000 [POWERPC] Stacktrace support for lockdep This adds stacktrace support for powerpc, which will be needed for lockdep. Signed-off-by: Christoph Hellwig Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ec2b36b9f23cfbbe94d89724b796b44fd57d5221 Author: Benjamin Herrenschmidt Date: Thu Apr 17 14:34:59 2008 +1000 [POWERPC] Move stackframe definitions to common header This moves various definitions used all over the place to parse stack frames to ptrace.h so only one definition is needed. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f4ac7b5eb79ef15819c966b1f6b84bf443949123 Author: Benjamin Herrenschmidt Date: Wed Apr 9 17:21:36 2008 +1000 [POWERPC] Fix device-tree locking vs. interrupts Lockdep found out that we can occasionally take the device-tree lock for reading from softirq time (from rtas_token called by the rtas real time clock code called by the NTP code), while we take it occasionally for writing without masking interrupts. The combination of those two can thus deadlock. While some of those cases of interrupt read lock could be fixed (such as caching the RTAS tokens) I figured that taking the lock for writing is so rare (device-tree modification) that we may as well penalize that case and allow reading from interrupts. Thus, this turns all the writers to take the lock with irqs masked to avoid the situation. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f13f4ca8036516ca1b99a41f95f7dea7e4dce104 Author: Trent Piepho Date: Wed Apr 9 12:19:32 2008 +1000 [POWERPC] Make pci_bus_to_host()'s struct pci_bus * argument const A) It's not modified and so it can be made const. const is good. B) If one has a function that was given a const pci_bus pointer and you want to get a pointer to its pci_controller, you'll get a warning from gcc when you use pci_bus_to_host(). This is the right way to stop that warning. Signed-off-by: Trent Piepho Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 49a99978849e86541c3bb789788f7f874a841935 Author: Olof Johansson Date: Tue Apr 8 01:33:07 2008 +1000 [POWERPC] Remove unused __max_memory variable Remove the __max_memory variable, as it is not referenced anywhere in the tree besides some code in arch/ppc. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 1af9fa8994a049359c2bb9093a2f33775e28e7ea Author: Michael Ellerman Date: Tue Apr 1 17:42:27 2008 +1100 [POWERPC] Simplify xics direct/lpar irq_host setup The xics code currently has a direct and lpar variant of xics_host_map, the only difference being which irq_chip they use. If we remember which irq_chip we're using we can combine these two routines. That also allows us to have a single irq_host_ops instead of two. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f01567d6d5688f8f613cd23da31aaf02d9538525 Author: Michael Ellerman Date: Tue Apr 1 17:42:26 2008 +1100 [POWERPC] Use pseries_setup_i8259_cascade() in pseries_mpic_init_IRQ() pseries_mpic_init_IRQ() implements the same logic as the xics code did to find the i8259 cascade irq. Now that we've pulled that logic out into pseries_setup_i8259_cascade() we can use it in the mpic code. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 30d6ad251b5dcf497a266c4dc7d38fcde7185422 Author: Michael Ellerman Date: Tue Apr 1 17:42:25 2008 +1100 [POWERPC] Turn xics_setup_8259_cascade() into a generic pseries_setup_i8259_cascade() Remove the xics references from xics_setup_8259_cascade(), and merge the good bits from the almost identical logic in pseries_mpic_init_IRQ(). Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 032ace7e17f141a5cf350e4ec0c5bf4f5faf1c49 Author: Michael Ellerman Date: Tue Apr 1 17:42:25 2008 +1100 [POWERPC] Move xics_setup_8259_cascade() into platforms/pseries/setup.c The code in xics.c to setup the i8259 cascaded irq handler is not really xics specific, so move it into setup.c - we will clean this up further in a subsequent patch. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 47b9d9bddf1877187d965f4dd4d7d454d8cdb50c Author: Alexander van Heukelum Date: Wed Apr 16 15:55:08 2008 +0200 [POWERPC] Use asm-generic/bitops/find.h in bitops.h Powerpc and ppc have some code in their bitops.h that is exactly the same as asm-generic/bitops/find.h. Include this header instead of the private implementation. Signed-off-by: Alexander van Heukelum Signed-off-by: Paul Mackerras commit 11a55f2274bf0d719e4dd05f4ac5e89a15740211 Merge: 858c52d... 1a9ebc0... Author: Paul Mackerras Date: Fri Apr 18 13:34:30 2008 +1000 Merge branch 'powerpc-next' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc commit 858c52d15f186e055dc33a1872f5b45a66d42296 Merge: 7711684... ada397e... Author: Paul Mackerras Date: Fri Apr 18 13:33:43 2008 +1000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs commit 65e67f5165c8a156b34ee7adf65d5ed3b16a910d Author: Lachlan McIlroy Date: Fri Apr 18 12:59:45 2008 +1000 [XFS] Fix merge failure commit 3b2816be271b8b364294a5b48721a3e68af46cfa Author: Lachlan McIlroy Date: Fri Apr 18 12:43:35 2008 +1000 [XFS] The forward declarations for the xfs_ioctl() helpers and the associated comment about gcc behavior really aren't needed; all of these functions are marked STATIC which includes noinline, and the stack usage won't be a problem. This effectively just removes the forward declarations and moves xfs_ioctl() back to the end of the file. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30534a Signed-off-by: Eric Sandeen Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit f6e9f28865552bd9d79a9df93cf120436b073223 Author: Josef Sipek Date: Fri Apr 11 17:11:02 2008 +1000 [XFS] Update XFS documentation for noikeep/ikeep. Mention how DMAPI affects default for noikeep. Slightly modified since Josef's patch was based on an old xfs.txt prior to Dave's (dgc) checkin which missed going to oss. Signed-off-by: Josef Sipek Signed-off-by: Tim Shimmin commit 033bfb1a65242e0d60e6fc991cd9b3553053d334 Author: David Chinner Date: Fri Apr 11 17:05:49 2008 +1000 [XFS] Update XFS Documentation for ikeep and ihashsize Update xfs docs for: * In memory inode hashes has been removed. * noikeep is now the default. SGI-PV: 969561 SGI-Modid: 2.6.x-xfs-melb:linux:29481b Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit e687330b5ed1ea899fdaf0dea50aba196b6e019a Author: Donald Douwsma Date: Thu Apr 17 16:50:28 2008 +1000 [XFS] Remove unused HAVE_SPLICE macro. HAVE_SPLICE was part of the infrastructure for building 2.4 and 2.6 kernels out of the same tree. Now we don't build 2.4 kernels this SGI-PV: 971046 SGI-Modid: xfs-linux-melb:xfs-kern:30878a Signed-off-by: Donald Douwsma Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit f7d3c34788696f5ba9ac9fa414ad80e2a91d4b2e Author: Eric Sandeen Date: Thu Apr 17 16:50:22 2008 +1000 [XFS] Remove CONFIG_XFS_SECURITY. There is no point to the CONFIG_XFS_SECURITY option; it disables the ability to set security attributes at runtime, but it does not actually slim down or remove any code for runtime. Just remove it and always allow security attributes to be set. SGI-PV: 980310 SGI-Modid: xfs-linux-melb:xfs-kern:30877a Signed-off-by: Eric Sandeen Signed-off-by: Tim Shimmin Signed-off-by: Lachlan McIlroy commit 6d1337b29bf09a97682d39db36ac2d0dfc6659c0 Author: Tim Shimmin Date: Thu Apr 17 16:50:16 2008 +1000 [XFS] xfs_bmap_compute_maxlevels should be based on di_forkoff Fix up xfs_bmap_compute_maxlevels() to account for the case when we go from using attr2 to using attr1. In that case attr1 will no longer necessarily be at m_attr_offset>>3, but could be at a different value for di_forkoff. Therefore, we return the worst case scenario using MINDBTPTRS and MINABTPTRS, as this function is used for determining the maximum log space. SGI-PV: 979606 SGI-Modid: xfs-linux-melb:xfs-kern:30862a Signed-off-by: Tim Shimmin Signed-off-by: Eric Sandeen Signed-off-by: Lachlan McIlroy commit cb49dbb130e17a6f9af4cb4714cf6976cf09afdf Author: Eric Sandeen Date: Thu Apr 17 16:50:09 2008 +1000 [XFS] Always use di_forkoff when checking for attr space. In the case where we mount a filesystem which was previously using the attr2 format as attr1, returning the default mp->m_attroffset instead of the per-inode di_forkoff for inline attribute fit calculations, may result in corruption, if for example, the data fork is already taking more space than the default fork offset and we try to add an extended attribute. Fix tested by xfstests/186. SGI-PV: 979606 SGI-Modid: xfs-linux-melb:xfs-kern:30861a Signed-off-by: Eric Sandeen Signed-off-by: Tim Shimmin Signed-off-by: Lachlan McIlroy commit f6485057c5cfbc84e5eff639ddea1ce0d668607b Author: David Chinner Date: Thu Apr 17 16:50:04 2008 +1000 [XFS] Ensure the inode is joined in xfs_itruncate_finish On success, we still need to join the inode to the current transaction in xfs_itruncate_finish(). Fixes regression from error handling changes. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30845a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 7e20694d91f817f8e9f62404aca793ae0df4d98a Author: David Chinner Date: Thu Apr 17 16:49:55 2008 +1000 [XFS] Remove periodic logging of in-core superblock counters. xfssyncd triggers the logging of superblock counters every 30s if the filesystem is made with lazy-count=1. This will prevent disks from idling and spinning down as there will be a log write every 30s. With the way counter recovery works for lazy-count=1, this code is unnecessary and provides no real benefit, so just remove it. SGI-PV: 980145 SGI-Modid: xfs-linux-melb:xfs-kern:30840a Signed-off-by: David Chinner Signed-off-by: Barry Naujok Signed-off-by: Lachlan McIlroy commit e6430037e9fd0b3d02ceaf5ab99bfe3ccb763be7 Author: David Chinner Date: Thu Apr 17 16:49:49 2008 +1000 [XFS] fix logic error in xfs_alloc_ag_vextent_near() Fix a logic error in xfs_alloc_ag_vextent_near(). This is a regression introduced by the error handling changes. SGI-PV: 890084 SGI-Modid: xfs-linux-melb:xfs-kern:30838a Signed-off-by: David Chinner Signed-off-by: Barry Naujok Signed-off-by: Lachlan McIlroy commit d4055947bd0913864f4d8ac96bf1197338071622 Author: David Chinner Date: Thu Apr 17 16:49:35 2008 +1000 [XFS] Don't error out on good I/Os. xfsbdstrat() made all I/Os error out, good or bad. Fix it. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30836a Signed-off-by: David Chinner Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy commit 1bb7d6b5a82f1d9487fd44415484a368f7c87bed Author: David Chinner Date: Thu Apr 10 12:24:38 2008 +1000 [XFS] Catch log unmount failures. Unmounting the log can fail. unlikely, but it can. Catch all the error conditions an make sure it's propagated upwards. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30833a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit b911ca0472c3762d2bafc4d21e432a9056844064 Author: David Chinner Date: Thu Apr 10 12:24:30 2008 +1000 [XFS] Sanitise xfs_log_force error checking. xfs_log_force() is declared to return an error, but we almost never check it. We don't need to check it in most cases; if there's a log I/O error then we'll be shutting down the filesystem anyway and that means we'll catch the error somewhere else. However, on certain calls we should be returning an error - sync transactions, fsync, sync writes, etc. so this isn't a pure black and white distinction. Hence make xfs_log_force() a void function that issues a warning to the syslog on error, and call _xfs_log_force() in all the places where we actually care about the error status returned. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30832a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 234f56aca20a4f66b6ba3d3bf2787634dd9e0999 Author: David Chinner Date: Thu Apr 10 12:24:24 2008 +1000 [XFS] Check for errors when changing buffer pointers. xfs_buf_associate_memory() can fail, but the return is never checked. Propagate the error through XFS_BUF_SET_PTR() so that failures are detected. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30831a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 78e9da77f1bf265fe750b9223ec15707473fb6e8 Author: David Chinner Date: Thu Apr 10 12:24:17 2008 +1000 [XFS] Don't allow silent errors in xfs_inactive(). xfs_inactive() fails to report errors when committing the inactive transaction. Hence we can get silent failures either finishing off the truncation or committing the transaction. Even if we get errors, we need to continue, so simply warn loudly to the system if we get errors here. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30830a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 64bfe1bfae833e89ed77f72c61ded19f4b1976f8 Author: David Chinner Date: Thu Apr 10 12:24:10 2008 +1000 [XFS] Catch errors from xfs_imap(). Catch errors from xfs_imap() in log recovery when we might be trying to map an invalid inode number due to a corrupted log. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30829a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 7b07339048f7b020575706b492c004b5664b67ab Author: David Chinner Date: Thu Apr 10 12:24:04 2008 +1000 [XFS] xfs_bulkstat_one_dinode() never returns an error. Mark it void. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30828a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit e4ac967b117c5780760abbd9ae996210c31cb398 Author: David Chinner Date: Thu Apr 10 12:23:58 2008 +1000 [XFS] xfs_iflush_fork() never returns an error. xfs_iflush_fork() never returns an error. Mark it void and clean up the code calling it that checks for errors. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30827a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit cc88466f3f67bb16fc91b0b974e51c2a43a9e597 Author: David Chinner Date: Thu Apr 10 12:23:52 2008 +1000 [XFS] Catch unwritten extent conversion errors. On unwritten I/O completion, we fail to propagate an error when converting the extent to a written extent. This means that the I/O silently fails. propagate the error onto the ioend so that the inode is marked with an error appropriately. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30826a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 958d4ec606d4af590f86a601a238613f21e878ee Author: David Chinner Date: Thu Apr 10 12:23:46 2008 +1000 [XFS] xfs_bdwrite() does not return errors. xfs_bdwrite() cannot return an error; it only queues buffers to the delayed write list and as such never encounters anything that can fail. Mark it void. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30825a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit db7a19f2c89d99b66874a7e0c0dc681ff1f37b4e Author: David Chinner Date: Thu Apr 10 12:22:24 2008 +1000 [XFS] Ensure xfs_bawrite() errors are checked. xfs_bawrite() can return immediate error status on async writes. Unlike xfsbdstrat() we don't ever check the error on the buffer after the call, so we currently do not catch errors at all here. Ensure we catch and propagate or warn to the syslog about up-front async write errors. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30824a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit d64e31a2f53cdcb2f95b782196faacb0995ca0c0 Author: David Chinner Date: Thu Apr 10 12:22:17 2008 +1000 [XFS] Ensure errors from xfs_bdstrat() are correctly checked. xfsbdstrat() is declared to return an error. That is never checked because the error is propagated by the xfs_buf_t that is passed through the function. Mark xfsbdstrat() as returning void and comment the prototype on the methods needed for error checking. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30823a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 556b8b166c9514b5f940047a41dad8fe8cd9a778 Author: Barry Naujok Date: Thu Apr 10 12:22:07 2008 +1000 [XFS] remove bhv_vname_t and xfs_rename code SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30804a Signed-off-by: Barry Naujok Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 7c9ef85c5672ae316aafd7bbe0bbadebe90301e6 Author: David Chinner Date: Thu Apr 10 12:21:59 2008 +1000 [XFS] Catch errors returned from xfs_bmap_last_offset(). xfs_bmap_last_offset() can fail and return an error. xfs_iomap_write_allocate() fails to detect and propagate the error. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30802a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit fc6149d8d9634814cdcd9283b8f2efd3359181df Author: David Chinner Date: Thu Apr 10 12:21:53 2008 +1000 [XFS] Check for xfs_free_extent() failing. xfs_free_extent() can fail, but log recovery never bothers to check if it successfully free the extent it was supposed to. This could lead to silent corruption during log recovery. Abort log recovery if we fail to free an extent. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30801a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit d87dd6360dce86cad9099aed74f14b4dd0143301 Author: David Chinner Date: Thu Apr 10 12:21:46 2008 +1000 [XFS] Warn if errors come from block_truncate_page(). block_truncate_page() can return errors that we currently ignore and silently discard. We should not ever get errors reported here - an error indicates a bug somewhere else. Hence catch the error and issue a stack dump to the syslog because we cannot propagate the error any further up the call chain. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30800a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit c2b1cba6833da77b1b478ac144f9cf5144d276ec Author: David Chinner Date: Thu Apr 10 12:21:40 2008 +1000 [XFS] xfs_bmap_adjacent() never returns an error. Mark it void. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30798a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 12375c82375ec39ec948a3ad62e5e77533515e83 Author: David Chinner Date: Thu Apr 10 12:21:32 2008 +1000 [XFS] Make xfs_alloc_compute_aligned() void. xfs_alloc_compute_aligned() returns a value based on a comparison of the computed extent length and the minimum length allowed. This is only used by some callers - the other four return parameters are used more often. Hence move the comparison to the code that actually needs to do it and make xfs_alloc_compute_aligned() a void function. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30797a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit f4586e40613a9f8bb9f7f9c8a796062a9ab1614c Author: David Chinner Date: Thu Apr 10 12:21:25 2008 +1000 [XFS] Clean up xfs_alloc_search_busy() return values. xfs_alloc_search_busy() returns an index into the busy array if the extent was found in the array. This is never checked, and the xfs_alloc_search_busy() does a log force to prevent reuse of the extent before the free transaction hits the disk. Hence the return value is useless. Declare the function void and remove the slot number from the tracing as well. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30796a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit e5720eec0548c08943d759e39db0388d8fe59287 Author: David Chinner Date: Thu Apr 10 12:21:18 2008 +1000 [XFS] Propagate errors from xfs_trans_commit(). xfs_trans_commit() can return errors when there are problems in the transaction subsystem. They are indicative that the entire transaction may be incomplete, and hence the error should be propagated as there is a good possibility that there is something fatally wrong in the filesystem. Catch and propagate or warn about commit errors in the places where they are currently ignored. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30795a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 3c1e2bbe5bcdcd435510a05eb121fa74b848e24f Author: David Chinner Date: Thu Apr 10 12:21:11 2008 +1000 [XFS] Propagate xfs_trans_reserve() errors. xfs_trans_reserve() reports errors that should not be ignored. For example, a shutdown filesystem will report errors through xfs_trans_reserve() to prevent further changes from being attempted on a damaged filesystem. Catch and propagate all error conditions from xfs_trans_reserve(). SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30794a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 5ca1f261a08d5cff5f29eaa0887b59baae2ae7f7 Author: David Chinner Date: Thu Apr 10 12:21:04 2008 +1000 [XFS] Catch errors from xfs_acl_vremove(). Removing an ACL can return an error. Propagate it. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30793a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 0c928299676c8df2b00e75d5691cd4846e6c0868 Author: David Chinner Date: Thu Apr 10 12:20:58 2008 +1000 [XFS] Catch errors from xfs_acl_setmode(). Propagate the error status from xfs_acl_setmode() so that callers know if the ACl was set correctly or not. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30792a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 88ab02085363b7c45935d66ab3e969b4fec9a20c Author: David Chinner Date: Thu Apr 10 12:20:51 2008 +1000 [XFS] Propagate quota file truncation errors. Truncating the quota files can silently fail. Ensure that truncation errors are propagated to the callers. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30791a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit cb6edc26c386d2268dcf61bcdec02b6fb50b6ba2 Author: David Chinner Date: Thu Apr 10 12:20:45 2008 +1000 [XFS] Catch errors when turning off quotas. When turning off quota, we need to write various transactions to the log to ensure that they are cleanly removed in the case of a crash. We need to check that the transactions hit the disk correctly. If we fail to write the final quota off transaction, we are corrupt in memory and so the only option is to shut the filesystem down at this point. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30790a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 31d5577b35d8397dea19f2ba7550e9225605a785 Author: David Chinner Date: Thu Apr 10 12:20:38 2008 +1000 [XFS] Catch errors resetting quota flags. Warn to the syslog if we fail to reset the quota flags in the superblock when a quota check fails. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30789a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 53aa7915d67b9d0f5986c9f08e76846fedc520d4 Author: David Chinner Date: Thu Apr 10 12:20:31 2008 +1000 [XFS] Clean up quotamount error handling. xfs_qm_mount_quotas() returns an error status that is ignored. If we fail to mount quotas, we continue with quota's turned off, which is all handled inside xfs_qm_mount_quotas(). Mark it as void to indicate that errors need not be returned to the callers. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30788a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 3c56836f92683cb871ebbf44c512069b0d48a08f Author: David Chinner Date: Thu Apr 10 12:20:24 2008 +1000 [XFS] Check for dquot flush errors xfs_qm_dqflush() can fail, but the return is not checked anywhere. Hence we never know if we've failed to flush a dquot to disk. Propagate the error and warn to the syslog if a flush ever fails. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30787a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 4b8879df8c21bed3efd1eb2da5d72501199aba29 Author: David Chinner Date: Thu Apr 10 12:20:17 2008 +1000 [XFS] Propagate xfs_qm_dqflush_all() errors. xfs_qm_dqflush_all() can return flush errors. Ensure they are propagated into the quotacheck code to determine if the quotacheck succeeded or not. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30786a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 5b1397385bf536cbdb60f3362f44079d15d5f5ee Author: David Chinner Date: Thu Apr 10 12:20:10 2008 +1000 [XFS] xfs_qm_reset_dqcounts() does not return errors. Declare it void. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30785a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 714082bc12b6c305f825411df02177efcb0085f1 Author: David Chinner Date: Thu Apr 10 12:20:03 2008 +1000 [XFS] Report errors from xfs_reserve_blocks(). xfs_reserve_blocks() can fail in interesting ways. In neither case is it a fatal error, but the result can lead to sub-optimal behaviour. Warn to the syslog if the call fails but otherwise continue. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30784a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 36fbe6e6bd5408b09341043dfece978b4a7a0f34 Author: David Chinner Date: Thu Apr 10 12:19:56 2008 +1000 [XFS] xfs_icsb_counter_disabled() never returns an error. Mark it void. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30782a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit a414047fc97aea7db6237176ce00013117839cd5 Author: David Chinner Date: Thu Apr 10 12:19:47 2008 +1000 [XFS] Remove useless whitespace in function prototypes Makes it simpler to annotate function prototypes with __must_check via sed scripts. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30781a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 3c85c36cc2e87018d38fcd033f41bbdf1360c07a Author: David Chinner Date: Thu Apr 10 12:19:40 2008 +1000 [XFS] xfs_quiesce_fs() never returns an error. Mark it void. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30780a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit b6ddc4e6fed9c6f4adb273c8b36e1731f90ec17e Author: Christoph Hellwig Date: Thu Apr 10 12:19:27 2008 +1000 [XFS] Don't validate symlink target component length This target component validation is not POSIX conformant and it is not done by any other Linux filesystem so remove it from XFS. SGI-PV: 980080 SGI-Modid: xfs-linux-melb:xfs-kern:30776a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 34a622b2e1c8e11c8990184634f101c1aad42fec Author: Harvey Harrison Date: Thu Apr 10 12:19:21 2008 +1000 [XFS] replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30775a Signed-off-by: Harvey Harrison Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 0225da1f35df46c67785eb08526995d7cdb4e3b0 Author: Harvey Harrison Date: Thu Apr 10 12:19:10 2008 +1000 [XFS] Replace __inline with inline Remove the remaining uses of __inline in the XFS code base. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30774a Signed-off-by: Harvey Harrison Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 6b1d1a732f886936fe515d911b1a01d9cc50e179 Author: David Chinner Date: Thu Apr 10 12:19:02 2008 +1000 [XFS] Fix lock inversion in forced shutdown. Recent changes to xlog_state_release_iclog() placed the grant_lock inside the icloglock. forced unmount of the log does this the opposite way around, but does not depend on the order for correct working. Fix the inversion by changing the order locks are gained in xfs_log_force_umount(). SGI-PV: 979661 SGI-Modid: xfs-linux-melb:xfs-kern:30773a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 4679b2d36d53ed508c956337972fbbea8db99a77 Author: David Chinner Date: Thu Apr 10 12:18:54 2008 +1000 [XFS] Reorganise xlog_t for better cacheline isolation of contention To reduce contention on the log in large CPU count, separate out different parts of the xlog_t structure onto different cachelines. Move each lock onto a different cacheline along with all the members that are accessed/modified while that lock is held. Also, move the debugging code into debug code. SGI-PV: 978729 SGI-Modid: xfs-linux-melb:xfs-kern:30772a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit eb01c9cd87c7a9998c2edf209721ea069e3e3652 Author: David Chinner Date: Thu Apr 10 12:18:46 2008 +1000 [XFS] Remove the xlog_ticket allocator The ticket allocator is just a simple slab implementation internal to the log. It requires the icloglock to be held when manipulating it and this contributes to contention on that lock. Just kill the entire allocator and use a memory zone instead. While there, allow us to gracefully fail allocation with ENOMEM. SGI-PV: 978729 SGI-Modid: xfs-linux-melb:xfs-kern:30771a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 114d23aae51233b2bc62d8e2a632bcb55de1953d Author: David Chinner Date: Thu Apr 10 12:18:39 2008 +1000 [XFS] Per iclog callback chain lock Rather than use the icloglock for protecting the iclog completion callback chain, use a new per-iclog lock so that walking the callback chain doesn't require holding a global lock. This reduces contention on the icloglock during transaction commit and log I/O completion by reducing the number of times we need to hold the global icloglock during these operations. SGI-PV: 978729 SGI-Modid: xfs-linux-melb:xfs-kern:30770a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 2abdb8c88110bab78bfe17e51346e735560daa02 Author: Lachlan McIlroy Date: Thu Mar 27 18:01:14 2008 +1100 [XFS] Prevent xfs_bmap_check_leaf_extents() referencing unmapped memory. While investigating the extent corruption bug I ran into this bug in debug only code. xfs_bmap_check_leaf_extents() loops through the leaf blocks of the extent btree checking that every extent is entirely before the next extent. It also compares the last extent in the previous block to the first extent in the current block when the previous block has been released and potentially unmapped. So take a copy of the last extent instead of a pointer. Also move the last extent check out of the loop because we only need to do it once. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30718a Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 433550990e6c2e94995239bac6a52b4df454cae0 Author: Christoph Hellwig Date: Thu Mar 27 18:01:08 2008 +1100 [XFS] remove most calls to VN_RELE Most VN_RELE calls either directly contain a XFS_ITOV or have the corresponding xfs_inode already in scope. Use the IRELE helper instead of VN_RELE to clarify the code. With a little more work we can kill VN_RELE altogether and define IRELE in terms of iput directly. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30710a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit df26cfe849d8fd767b26fcd4bfebfff67bda9f3a Author: Lachlan McIlroy Date: Fri Apr 18 11:44:03 2008 +1000 [XFS] split xfs_ioc_xattr The three subcases of xfs_ioc_xattr don't share any semantics and almost no code, so split it into three separate helpers. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30709a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit f3dcc13f6fa20af1171eac7a537a4b89b1a84849 Author: Christoph Hellwig Date: Thu Mar 27 18:00:54 2008 +1100 [XFS] cleanup root inode handling in xfs_fs_fill_super - rename rootvp to root for clarify - remove useless vn_to_inode call - check is_bad_inode before calling d_alloc_root - use iput instead of VN_RELE in the error case SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30708a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 59a33f9f776b051018ec98af95bd9fe8ba9d0f3e Author: David Chinner Date: Thu Mar 27 18:00:45 2008 +1100 [XFS] Ensure a btree insert returns a valid cursor. When writing into preallocated regions there is a case where XFS can oops or hang doing the unwritten extent conversion on I/O completion. It turns out that the problem is related to the btree cursor being invalid. When we do an insert into the tree, we may need to split blocks in the tree. When we only split at the leaf level (i.e. level 0), everything works just fine. However, if we have a multi-level split in the btreee, the cursor passed to the insert function is no longer valid once the insert is complete. The leaf level split is handled correctly because all the operations at level 0 are done using the original cursor, hence it is updated correctly. However, when we need to update the next level up the tree, we don't use that cursor - we use a cloned cursor that points to the index in the next level up where we need to do the insert. Hence if we need to split a second level, the changes to the tree are reflected in the cloned cursor and not the original cursor. This clone-and-move-up-a-level-on-split behaviour recurses all the way to the top of the tree. The complexity here is that these cloned cursors do not point to the original index that was inserted - they point to the newly allocated block (the right block) and the original cursor pointer to that level may still point to the left block. Hence, without deep examination of the cloned cursor and buffers, we cannot update the original cursor with the new path from the cloned cursor. In these cases the original cursor could be pointing to the wrong block(s) and hence a subsequent modification to the tree using that cursor will lead to corruption of the tree. The crash case occurs when the tree changes height - we insert a new level in the tree, and the cursor does not have a buffer in it's path for that level. Hence any attempt to walk back up the cursor to the root block will result in a null pointer dereference. To make matters even more complex, the BMAP BT is rooted in an inode, so we can have a change of height in the btree *without a root split*. That is, if the root block in the inode is full when we split a leaf node, we cannot fit the pointer to the new block in the root, so we allocate a new block, migrate all the ptrs out of the inode into the new block and point the inode root block at the newly allocated block. This changes the height of the tree without a root split having occurred and hence invalidates the path in the original cursor. The patch below prevents xfs_bmbt_insert() from returning with an invalid cursor by detecting the cases that invalidate the original cursor and refresh it by do a lookup into the btree for the original index we were inserting at. Note that the INOBT, AGFBNO and AGFCNT btree implementations also have this bug, but the cursor is currently always destroyed or revalidated after an insert for those trees. Hence this patch only address the problem in the BMBT code. SGI-PV: 979339 SGI-Modid: xfs-linux-melb:xfs-kern:30701a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 75de2a91c98a6f486f261c1367fe59f5583e15a3 Author: David Chinner Date: Thu Mar 27 18:00:38 2008 +1100 [XFS] Account for inode cluster alignment in all allocations At ENOSPC, we can get a filesystem shutdown due to a cancelling a dirty transaction in xfs_mkdir or xfs_create. This is due to the initial allocation attempt not taking into account inode alignment and hence we can prepare the AGF freelist for allocation when it's not actually possible to do an allocation. This results in inode allocation returning ENOSPC with a dirty transaction, and hence we shut down the filesystem. Because the first allocation is an exact allocation attempt, we must tell the allocator that the alignment does not affect the allocation attempt. i.e. we will accept any extent alignment as long as the extent starts at the block we want. Unfortunately, this means that if the longest free extent is less than the length + alignment necessary for fallback allocation attempts but is long enough to attempt a non-aligned allocation, we will modify the free list. If we then have the exact allocation fail, all other allocation attempts will also fail due to the alignment constraint being taken into account. Hence the initial attempt needs to set the "alignment slop" field so that alignment, while not required, must be taken into account when determining if there is enough space left in the AG to do the allocation. That means if the exact allocation fails, we will not dirty the freelist if there is not enough space available fo a subsequent allocation to succeed. Hence we get an ENOSPC error back to userspace without shutting down the filesystem. SGI-PV: 978886 SGI-Modid: xfs-linux-melb:xfs-kern:30699a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 535f6b3735db6ef6026537bfe55ae00c3d9cc1ee Author: Josef 'Jeff' Sipek Date: Thu Mar 27 17:58:27 2008 +1100 [XFS] Replace custom AIL linked-list code with struct list_head Replace the xfs_ail_entry_t with a struct list_head and clean the surrounding code up. Also fixes a livelock in xfs_trans_first_push_ail() by terminating the loop at the head of the list correctly. SGI-PV: 978682 SGI-Modid: xfs-linux-melb:xfs-kern:30636a Signed-off-by: Josef 'Jeff' Sipek Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit a45c796867df8dabc8eed6e72898d7ba1609bd7e Author: Christoph Hellwig Date: Thu Mar 6 13:49:36 2008 +1100 [XFS] Remove superflous xfs_readsb call in xfs_mountfs. When xfs_mountfs is called by xfs_mount xfs_readsb was called 35 lines above unconditionally, so there is no need to try to read the superblock if it's not present. If any other port doesn't have the superblock read at this point it should just call it directly from it's xfs_mount equivalent. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30603a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy commit dfa18b117974d7667a2d5b941853fac3f2e256db Author: Niv Sardi Date: Thu Mar 6 13:49:26 2008 +1100 [XFS] kill t_sema member of struct xfs_trans It's completely unused so we might aswell kill it. Note that there is another t_sema in struct xlog_ticket, which is used and actually an sv_t despite the name. That one is left untouched by this patch. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30591a Signed-off-by: Niv Sardi Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 5f90150abad61b49dbb4a6ca1087fe0a75001ef9 Author: Christoph Hellwig Date: Thu Mar 6 13:46:49 2008 +1100 [XFS] cleanup vnode use in xfs_bmap.c SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30553a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit af048193fcfe2650e7ed3b1ab3d48b1ed0efb467 Author: Christoph Hellwig Date: Thu Mar 6 13:46:43 2008 +1100 [XFS] cleanup vnode use in xfs_iops.c SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30552a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit dcf49cc5cfbbc0070ad4307428f8282dc7e04e58 Author: Christoph Hellwig Date: Thu Mar 6 13:46:37 2008 +1100 [XFS] cleanup vnode use in xfs_lrw.c SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30551a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit ef1f5e7ad38e5414d016983a8cc5a8db7654a61d Author: Christoph Hellwig Date: Thu Mar 6 13:46:25 2008 +1100 [XFS] cleanup vnode use in xfs_lookup SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30550a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 3937be5ba836a204d3d1df96b518eecd6cdacbb9 Author: Christoph Hellwig Date: Thu Mar 6 13:46:19 2008 +1100 [XFS] cleanup vnode use in xfs_symlink and xfs_rename SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30548a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit a3da789640871c897901c5f766e33be78d56f35a Author: Christoph Hellwig Date: Thu Mar 6 13:46:12 2008 +1100 [XFS] cleanup vnode use in xfs_link SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30547a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 979ebab11623894528d4d37b947533ea4e8649d1 Author: Christoph Hellwig Date: Thu Mar 6 13:46:05 2008 +1100 [XFS] cleanup vnode use in xfs_create/mknod/mkdir SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30546a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit bc4ac74a4e5bd7db02976eb1b681e1d11f81c9ce Author: Christoph Hellwig Date: Thu Mar 6 13:45:58 2008 +1100 [XFS] cleanup vnode use in dmapi calls SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30545a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d234154125197053d5215711b5df867979e55ebd Author: David Chinner Date: Thu Mar 6 13:45:43 2008 +1100 [XFS] Use power-of-2 sized buffers to reduce overhead Now that the ktrace_enter() code is using atomics, the non-power-of-2 buffer sizes - which require modulus operations to get the index - are showing up as using substantial CPU in the profiles. Force the buffer sizes to be rounded up to the nearest power of two and use masking rather than modulus operations to convert the index counter to the buffer index. This reduces ktrace_enter overhead to 8% of a CPU time, and again almost halves the trace intensive test runtime. SGI-PV: 977546 SGI-Modid: xfs-linux-melb:xfs-kern:30538a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 6ee4752ffe782be6e86bea1403a2fe0f682aa71a Author: David Chinner Date: Thu Mar 6 13:45:35 2008 +1100 [XFS] Use atomic counters for ktrace buffer indexes ktrace_enter() is consuming vast amounts of CPU time due to the use of a single global lock for protecting buffer index increments. Change it to use per-buffer atomic counters - this reduces ktrace_enter() overhead during a trace intensive test on a 4p machine from 58% of all CPU time to 12% and halves test runtime. SGI-PV: 977546 SGI-Modid: xfs-linux-melb:xfs-kern:30537a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 44d814ced4cffbfe6a775c5bb8b941a6e734e7d9 Author: David Chinner Date: Thu Mar 6 13:45:29 2008 +1100 [XFS] Update c/mtime correctly on truncates XFS changes the c/mtime of an inode when truncating it to the same size. The c/mtime is only supposed to change if the size is changed. Not to be confused with ftruncate, where the c/mtime is supposed to be changed even if the size is not changed. The Linux VFS encodes this semantic difference in the flags it sends down to ->setattr, which XFS currently ignores. We need to make XFS pay attention to the VFS flags and hence Do The Right Thing. SGI-PV: 977547 SGI-Modid: xfs-linux-melb:xfs-kern:30536a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 24bd861d1c3fff5248de7ba3bdddb3369087ad46 Author: Christoph Hellwig Date: Thu Mar 6 13:45:16 2008 +1100 [XFS] don't encode parent in nfs filehandles unless nessecary As Dave pointed out after the export ops changes we now always encode the parent into the filehandle for regular files, but it's not actually needed when the filesystem is export with no_subtree_check. This one-liner fixes xfs_fs_encode_fh to skip encoding the parent unless nessecary. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30535a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 126468b1156211e26d97f74b2f1767acd141005a Author: Christoph Hellwig Date: Thu Mar 6 13:44:57 2008 +1100 [XFS] kill xfs_rwlock/xfs_rwunlock We can just use xfs_ilock/xfs_iunlock instead and get rid of the ugly bhv_vrwlock_t. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30533a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 43973964a386348af0a392266f008ba24170aa30 Author: Christoph Hellwig Date: Thu Mar 6 13:44:50 2008 +1100 [XFS] kill xfs_get_dir_entry Instead of of xfs_get_dir_entry use a macro to get the xfs_inode from the dentry in the callers and grab the reference manually. Only grab the reference once as it's fine to keep it over the dmapi calls. (And even that reference is actually superflous in Linux but I'll leave that for another patch) SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30531a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit a8b3acd57e3aaaf73a863a28e0e9f6cca37cd8e3 Author: Christoph Hellwig Date: Thu Mar 6 13:44:41 2008 +1100 [XFS] vnode cleanup in xfs_fs_subr.c Cleanup the unneeded intermediate vnode step in the flushing helpers and go directly from the xfs_inode to the struct address_space. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30530a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit db0bb7baa1533db156d8af3ebeda1f0473a0197a Author: Christoph Hellwig Date: Thu Mar 6 13:44:35 2008 +1100 [XFS] cleanup xfs_vn_mknod - use proper goto based unwinding instead of the current mess of multiple conditionals - rename ip to inode because that's the normal convention for Linux inodes while ip is the convention for xfs_inodes - remove unlikely checks for the default_acl - branches marked unlikely might lead to extreme branch bredictor slowdons if taken and for some workloads a default acl is quite common - properly indent the switch statements - remove xfs_has_fs_struct as nfsd has a fs_struct in any semi-recent kernel SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30529a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 155cc6b784a959ed456fe46dca522e1d28b3b718 Author: David Chinner Date: Thu Mar 6 13:44:14 2008 +1100 [XFS] Use atomics for iclog reference counting Now that we update the log tail LSN less frequently on transaction completion, we pass the contention straight to the global log state lock (l_iclog_lock) during transaction completion. We currently have to take this lock to decrement the iclog reference count. there is a reference count on each iclog, so we need to take he global lock for all refcount changes. When large numbers of processes are all doing small trnasctions, the iclog reference counts will be quite high, and the state change that absolutely requires the l_iclog_lock is the except rather than the norm. Change the reference counting on the iclogs to use atomic_inc/dec so that we can use atomic_dec_and_lock during transaction completion and avoid the need for grabbing the l_iclog_lock for every reference count decrement except the one that matters - the last. SGI-PV: 975671 SGI-Modid: xfs-linux-melb:xfs-kern:30505a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin Signed-off-by: Lachlan McIlroy commit b589334c7a1fff85d2f009d5db4c34fad48925e9 Author: David Chinner Date: Thu Mar 6 13:44:06 2008 +1100 [XFS] Prevent AIL lock contention during transaction completion When hundreds of processors attempt to commit transactions at the same time, they can contend on the AIL lock when updating the tail LSN held in the in-core log structure. At the moment, the tail LSN is only needed when actually writing out an iclog, so it really does not need to be updated on every single transaction completion - only those that result in switching iclogs and flushing them to disk. The result is that we reduce the number of times we need to grab the AIL lock and the log grant lock by up to two orders of magnitude on large processor count machines. The problem has previously been hidden by AIL lock contention walking the AIL list which was recently solved and uncovered this issue. SGI-PV: 975671 SGI-Modid: xfs-linux-melb:xfs-kern:30504a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin Signed-off-by: Lachlan McIlroy commit 3354040897f828644be6ca5783588e9f64a53b8e Author: David Chinner Date: Thu Mar 6 13:43:59 2008 +1100 [XFS] Use xfs_inode_clean() in more places Remove open coded checks for the whether the inode is clean and replace them with an inlined function. SGI-PV: 977461 SGI-Modid: xfs-linux-melb:xfs-kern:30503a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit bad5584332e888ac40ca13584e8c114149ddb01e Author: David Chinner Date: Thu Mar 6 13:43:49 2008 +1100 [XFS] Remove the xfs_icluster structure Remove the xfs_icluster structure and replace with a radix tree lookup. We don't need to keep a list of inodes in each cluster around anymore as we can look them up quickly when we need to. The only time we need to do this now is during inode writeback. Factor the inode cluster writeback code out of xfs_iflush and convert it to use radix_tree_gang_lookup() instead of walking a list of inodes built when we first read in the inodes. This remove 3 pointers from each xfs_inode structure and the xfs_icluster structure per inode cluster. Hence we reduce the cache footprint of the xfs_inodes by between 5-10% depending on cluster sparseness. To be truly efficient we need a radix_tree_gang_lookup_range() call to stop searching once we are past the end of the cluster instead of trying to find a full cluster's worth of inodes. Before (ia64): $ cat /sys/slab/xfs_inode/object_size 536 After: $ cat /sys/slab/xfs_inode/object_size 512 SGI-PV: 977460 SGI-Modid: xfs-linux-melb:xfs-kern:30502a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit a3f74ffb6d1448d9a8f482e593b80ec15f1695d4 Author: David Chinner Date: Thu Mar 6 13:43:42 2008 +1100 [XFS] Don't block pdflush when writing back inodes When pdflush is writing back inodes, it can get stuck on inode cluster buffers that are currently under I/O. This occurs when we write data to multiple inodes in the same inode cluster at the same time. Effectively, delayed allocation marks the inode dirty during the data writeback. Hence if the inode cluster was flushed during the writeback of the first inode, the writeback of the second inode will block waiting for the inode cluster write to complete before writing it again for the newly dirtied inode. Basically, we want to avoid this from happening so we don't block pdflush and slow down all of writeback. Hence we introduce a non-blocking async inode flush flag that pdflush uses. If this flag is set, we use non-blocking operations (e.g. try locks) whereever we can to avoid blocking or extra I/O being issued. SGI-PV: 970925 SGI-Modid: xfs-linux-melb:xfs-kern:30501a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 4ae29b4321b99b711bcfde5527c4fbf249eac60f Author: David Chinner Date: Thu Mar 6 13:43:34 2008 +1100 [XFS] Factor xfs_itobp() and xfs_inotobp(). The only difference between the functions is one passes an inode for the lookup, the other passes an inode number. However, they don't do the same validity checking or set all the same state on the buffer that is returned yet they should. Factor the functions into a common implementation. SGI-PV: 970925 SGI-Modid: xfs-linux-melb:xfs-kern:30500a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit e9a56b7cdaf6129892fd7c8d950b71a1a4304bb0 Author: Lachlan McIlroy Date: Thu Mar 6 13:43:27 2008 +1100 [XFS] Fix regression due to refcache removal SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30490a Signed-off-by: Lachlan McIlroy Signed-off-by: Donald Douwsma commit 163d3686bb09d88e2120bffe780a3f2d7cc4c948 Author: Donald Douwsma Date: Thu Mar 6 13:43:20 2008 +1100 [XFS] Remove the xfs_refcache Remove the xfs_refcache, it was only needed while we were still building for 2.4 kernels. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30472a Signed-off-by: Donald Douwsma Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 461aa8a22595e3bd3e6f4dc2894d7c4315ea2bb9 Author: Lachlan McIlroy Date: Thu Mar 6 13:43:11 2008 +1100 [XFS] make inode reclaim synchronise with xfs_iflush_done() On a forced shutdown, xfs_finish_reclaim() will skip flushing the inode. If the inode flush lock is not already held and there is an outstanding xfs_iflush_done() then we might free the inode prematurely. By acquiring and releasing the flush lock we will synchronise with xfs_iflush_done(). SGI-PV: 909874 SGI-Modid: xfs-linux-melb:xfs-kern:30468a Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner commit e12070a5dca8bfeee352e9655ae79772a96b32f8 Author: Niv Sardi Date: Thu Mar 6 13:43:03 2008 +1100 [XFS] actually check error returned by xfs_flush_pages, clean up and bailout if fails. SGI-PV: 973041 SGI-Modid: xfs-linux-melb:xfs-kern:30462a Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 675c46796d601f63f2d47c6dd07332bca77ddae5 Author: Steve French Date: Thu Apr 17 23:41:01 2008 +0000 [CIFS] Add various missing flags and defintions Signed-off-by: Steve French commit 20e673810c69d18bee2ed74d19af3806ec2504f5 Merge: 8d14213... 4b119e2... Author: Steve French Date: Thu Apr 17 23:38:45 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 273b8385e5817a4765f82257004c5ec661a6a5b2 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:35 2008 +0200 ide: remove ide_init_default_irq() macro * Use ide_default_irq() instead of ide_init_default_irq() in ide_generic host driver (so the correct IRQ is always set regardless of CONFIG_PCI / CONFIG_BLK_DEV_IDEPCI). * Remove no longer needed ide_init_default_irq() macro. Signed-off-by: Bartlomiej Zolnierkiewicz commit 486c92e2900d618c650a7099536310651aa6cf1b Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:35 2008 +0200 ide: move default IDE ports setup to ide_generic host driver * Make CONFIG_IDE_GENERIC depended on CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS. * Move default IDE ports setup from init_ide_data() to ide_generic. * Use ide_init_port_hw() in ide_generic. * Remove no longer needed CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS. Signed-off-by: Bartlomiej Zolnierkiewicz commit f01674e459923c6df540e6c983d37e5fc94d43b8 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:35 2008 +0200 ide: remove obsoleted "idex=noprobe" kernel parameter (take 2) * Remove obsoleted "idex=noprobe" kernel parameter. * Remove no longer needed hwif->noprobe quirk from ide_hwif_configure() and hwif->noprobe checking from cmd640.c. v2: * "ide?=noprobe" -> "ide?=ata66" in Documentation/kernel-parameters.txt. Signed-off-by: Bartlomiej Zolnierkiewicz commit aab8ad9ec81255ee08825bed36b57484052b94ea Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:35 2008 +0200 ide: remove needless hwif->irq check from ide_hwif_configure() ide_init_default_irq() is always zero for CONFIG_PCI=y so hwif->irq check in ide_hwif_configure() can be safely removed. Signed-off-by: Bartlomiej Zolnierkiewicz commit dfd87842a97e848cb5d62a5249d3f479c5f92c4b Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:35 2008 +0200 ide: init hwif->{io_ports,irq} explicitly in legacy VLB host drivers Do explicit port setup in legacy VLB host drivers instead of depending on init_ide_data(). This way hwif->io_ports[] and hwif->irq are always correctly set regardless of CONFIG_PCI / CONFIG_BLK_DEV_IDEPCI. Signed-off-by: Bartlomiej Zolnierkiewicz commit e4079df0c273719f539aaa7cc19ed17c9a5b0aba Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:35 2008 +0200 ide: limit legacy VLB host drivers to alpha, x86 and mips These host drivers indirectly depend on CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS=y which is defined only on alpha, x86, ia64, m32r, mips and ppc32. Moreover: - on ia64 there is no ISA - m32r is too new for VLB - on ppc32 ISA is available only on PPC_CHRP (no default IDE ports) and PPC_PREP (marked as BROKEN) [ the common sense tells me that VLB was only used on x86 but there are urban legends that one of these host drivers was needed on some other arch - thus the extra care ] Signed-off-by: Bartlomiej Zolnierkiewicz commit 6d3803b68e29d898c29eab5185261682f8f07650 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:34 2008 +0200 cmd640: init hwif->{io_ports,irq} explicitly Do explicit port setup instead of depending on init_ide_data(). This way hwif->io_ports[] and hwif->irq are always correctly set regardless of CONFIG_PCI / CONFIG_BLK_DEV_IDEPCI. While at it fix printk(). Signed-off-by: Bartlomiej Zolnierkiewicz commit daaad24fdc2ed7cd45d9a09abdec46c0d34031a1 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:34 2008 +0200 cmd640: cleanup setup_device_ptrs() This loop is no longer needed. Signed-off-by: Bartlomiej Zolnierkiewicz commit ffd4f6f0eed0423652826f3775077d11918b4180 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:34 2008 +0200 ide: add ide-4drives host driver (take 3) CONFIG_BLK_DEV_4DRIVES deserves its own host driver: * Add drivers/ide/legacy/ide-4drives.c and move "4drives" support there. * Add ide-4drives.o in the link order after all other legacy host drivers enabled by "ide0=" options (they all are mutually exclusive). * Make ide-4drives host driver probe itself for IDE devices instead of indirectly depending on ide_generic host driver. * Add "probe" module parameter to ide-4drives and update documentation. v2: * s/paramater/parameter/ in ide.txt. (Noticed by Randy Dunlap) v3: * s/ide_4drives.probe/ide-4drives.probe/ in help entry. (Noticed by Sergei Shtylyov) Signed-off-by: Bartlomiej Zolnierkiewicz commit 26d799b729003220c0f3e5d9e046e1588c011897 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:34 2008 +0200 ide: remove ppc ifdef from init_ide_data() On PPC32 ide_init_default_irq() is non-zero only for PPLUS and PPC_PREP (the latter marked as BROKEN currently) so this ifdef can be removed. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9dfcd15a6dc1ef81307295e08b797fa9212be71a Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:34 2008 +0200 ide: remove ide_default_io_ctl() macro It is always == '((base) + 0x206)' if CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS=y and it is not needed otherwise (arm, blackfin, parisc, ppc64, sh, sparc[64]). Signed-off-by: Bartlomiej Zolnierkiewicz commit 5c50427090303a6552949c14128200154ff69594 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:33 2008 +0200 ide: remove CONFIG_IDE_ARCH_OBSOLETE_INIT * Use CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS instead of CONFIG_IDE_ARCH_OBSOLETE_INIT in init_ide_data(). * Remove no longer needed CONFIG_IDE_ARCH_OBSOLETE_INIT. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0e33555fffdc8490630d98070e76e5fe031bcac2 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:33 2008 +0200 ide: add CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS (take 2) * Add CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS to drivers/ide/Kconfig and use it instead of defining IDE_ARCH_OBSOLETE_DEFAULTS in . v2: * Define ide_default_irq() in ide-probe.c/ns87415.c if not already defined and drop defining ide_default_irq() for CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS=n. [ Thanks to Stephen Rothwell and David Miller for noticing the problem. ] Cc: Stephen Rothwell Cc: David Miller Signed-off-by: Bartlomiej Zolnierkiewicz commit 359c2e2d2039029a8167fb00499296b228928024 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:32 2008 +0200 ppc/pmac: remove no longer needed IDE quirk IDE PMAC host driver and all IDE PCI host drivers use pci_enable_device() nowadays so the following quirk in pmac_pcibios_after_init() can be removed. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 7e41e7b3f010f047f1b6cc0d13eab2591382367c Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:32 2008 +0200 ppc: don't include Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 1d850bd0b291efd1740b8d87ce025363436eb6dc Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:32 2008 +0200 ppc: remove ppc_ide_md * Add special cases for pplus and prep to ide_default_{irq,io_base}() (+ FIXMEs about the need to use IDE platform host driver instead). * Remove no longer needed ppc_ide_md and struct ide_machdep_calls. * Then remove include from: - arch/powerpc/kernel/setup_32.c - arch/ppc/kernel/ppc_ksyms.c - arch/ppc/kernel/setup.c - arch/ppc/platforms/pplus.c - arch/ppc/platforms/prep_setup.c There should be no functional changes caused by this patch. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 5d682e4407d8364c286650baafcccae54d4b7c89 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:31 2008 +0200 ppc/pplus: remove ppc_ide_md.ide_init_hwif hook * Call ide_init_default_irq() for pplus in init_ide_data(). * Remove no longer needed pplus_ide_init_hwif_ports(). There should be no functional changes caused by this patch. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 7ef8df81def587ddb610b1c6f4572178ce0a97a6 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:30 2008 +0200 ppc/sandpoint: remove ppc_ide_md hooks * Add IDE_HFLAG_FORCE_LEGACY_IRQS host flag for Motorola-Sandpoint platform to sl82c105 host driver. * Disable ide_generic host driver in arch/ppc/configs/sandpoint_defconfig and enable sl82c105 one. * Remove ppc_ide_md hooks from arch/ppc/platforms/sandpoint.c - no need for them (sl82c105 host driver takes care of all this setup). * Then remove no longer needed include. * Also update arch/ppc/platforms/sandpoint.h. Unfortunately (unlike lopec's case) sl82c105 host driver was not enabled in defconfing so there is a funcionality change. [ Not a big deal since sl82c105 is superior over ide_generic. ] Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 5510b1255726d5d4ff424be4264aa0c99275dfdc Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:29 2008 +0200 ppc/lopec: remove ppc_ide_md hooks * Add IDE_HFLAG_FORCE_LEGACY_IRQS host flag for Motorola-LoPEC platform to sl82c105 host driver. * Remove ppc_ide_md hooks from arch/ppc/platforms/lopec.c - no need for them (sl82c105 host driver takes care of all this setup). * Then remove no longer needed include. Looking at arch/ppc/configs/lopec_defconfig: ... CONFIG_IDE_GENERIC=y CONFIG_BLK_DEV_IDEPCI=y # CONFIG_IDEPCI_SHARE_IRQ is not set # CONFIG_BLK_DEV_OFFBOARD is not set CONFIG_BLK_DEV_GENERIC=y # CONFIG_BLK_DEV_OPTI621 is not set CONFIG_BLK_DEV_SL82C105=y ... there should be no functional changes unless somebody preferred to disable sl82c105 host driver and use only ide_generic one (but why would anybody want to do such thing :-). PS It seems that lopec_defconfig hasn't been updated for ages but if somebody is going to do it please look into disabling IDE_GENERIC and BLK_DEV_GENERIC config options. Thanks. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 2661b13a21f609b279b4048978f8625d518df6e1 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:29 2008 +0200 ppc/mpc8xx: remove ppc_ide_md hooks * Initialize IDE ports in mpc8xx_ide_probe(). * Remove m8xx_ide_init() and ppc_ide_md hooks - no need for them (IDE mpc8xx host driver takes care of all this setup). * Remove needless 'if (irq)' and 'if (data_port >= MAX_HWIFS)' checks from m8xx_ide_init_hwif_ports(). * Remove 'ctrl_port' and 'irq' arguments from m8xx_ide_init_hwif_ports(). * Rename m8xx_ide_init_hwif_ports() to m8xx_ide_init_ports(). * Add __init tag to m8xx_ide_init_ports(). This patch fixes hwif->irq always being overriden to 0 (== auto-probe, is this even working on PPC?) because of ide_init_default_irq() call in ide.c. There should be no other functional changes. Cc: Benjamin Herrenschmidt Acked-by: Vitaly Bordug Signed-off-by: Bartlomiej Zolnierkiewicz commit 5c58666fae58cd69f862beaeb88d293ad00f6e37 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:29 2008 +0200 ppc/pmac: remove ppc_ide_md hooks * Add pmac_ide_init_ports() helper and use it instead of pmac_ide_init_hwif_ports(). * Remove ppc_ide_md hooks - no need for them (IDE pmac host driver takes care of all this setup). * Then remove no longer needed include from arch/powerpc/platforms/powermac/pmac.h. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit e4f7f3a0994522303c006c84cb651e4caba1158e Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:28 2008 +0200 ppc/ppc4xx: remove ppc_ide_md hooks There are no "default" IDE ports on PPC4xx so ppc4xx_ide_init_hwif_ports() is unnecessary, remove it. Also remove no longer needed include. There should be no functional changes caused by this patch. Cc: Josh Boyer Cc: Matt Porter Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 3671e9a9ecb5090c38454cbf830a640f6c221ca8 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:28 2008 +0200 ppc/hdpu: remove dead IDE code Also remove now not needed include. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit af007ec6c9467c2a26f5f684cee52efa497280c4 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:28 2008 +0200 ide-pmac: remove dead code Remove unused pmac_ide_{check_base,get_irq}() and pmac_find_ide_boot(), then remove no longer needed ide_majors[] and pmac_ide_count. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit e3bfae4c105c9b79a539bb868e8541d2ad38deee Author: Borislav Petkov Date: Fri Apr 18 00:46:27 2008 +0200 ide-scsi: do non-atomic pc->flags testing ...also, convert ide-scsi to using the generic pc->flags defines. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit eaec3e7ded9dbc88bad393c076b65f4b7b11d30d Author: Borislav Petkov Date: Fri Apr 18 00:46:27 2008 +0200 ide: use generic ATAPI packet command flags in ide-{floppy,tape} Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c2b2b29361dde5f1d9169a487c3021b14cf36518 Author: Borislav Petkov Date: Fri Apr 18 00:46:27 2008 +0200 ide-floppy: rename end_request handler properly mv idefloppy_do_end_request -> idefloppy_end_request as is the case with ide-cd Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1c065787c0359fc3b438c1c0aa2fcfd514fef07a Author: Borislav Petkov Date: Fri Apr 18 00:46:27 2008 +0200 ide-scsi: convert driver to using generic ide_atapi_pc Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8e555123911cc912427bd25b52ebfb7b6c08e39a Author: Borislav Petkov Date: Fri Apr 18 00:46:27 2008 +0200 ide-floppy: convert driver to using generic ide_atapi_pc Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d236d74c0d91c7eeaef26560d3690430189e171f Author: Borislav Petkov Date: Fri Apr 18 00:46:27 2008 +0200 ide-tape: convert driver to using generic ide_atapi_pc Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8303b46e18b58b2d0257e6842e60b50ac880a6d1 Author: Borislav Petkov Date: Fri Apr 18 00:46:26 2008 +0200 ide: add generic packet command representation ide_atapi_pc This new struct unifies ide{-floppy,-tape,-scsi}'s view of a packet command. For now, it represents the common denominator between the three drivers while adding driver- specific members at the end of the struct which will be merged/simplified into the generic ATAPI handling code in later steps, or removed completely. Bart: - move struct ide_atapi_pc outside of #ifdef/#endif CONFIG_IDE_PROC_FS Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 346331f82823682fb5c2df6e827db25d95cc2e92 Author: Borislav Petkov Date: Fri Apr 18 00:46:26 2008 +0200 ide-tape: remove atomic test/set macros for packet commands Removing the atomic tests for pc's is unobjectionable. Since this driver will probably go to /dev/null soon, the atomic tests for tape->flags are left in place for there are some situations where they're needed (chrdev DSC handling, low level pipeline operation and so on). While at it, rename all test/set flag bit defines explicitly to *_FLAG_* for clarity. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 03056b909b72c47cbba3605ea3b48a63ef031736 Author: Borislav Petkov Date: Fri Apr 18 00:46:26 2008 +0200 ide-tape: move all struct and other defs at the top Bart: - no need to move defines for tape flags around (they are completely rewritten by the next patch) Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 23579a2a170265aacf78069f4817a41c1d6e9323 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:26 2008 +0200 ide: remove IDE_*_REG macros * Add IDE_{ALTSTATUS,IREASON,BCOUNTL,BCOUNTH}_OFFSET defines. * Remove IDE_*_REG macros - this results in more readable and slightly smaller code. There should be no functional changes caused by this patch. Cc: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7616c0ad2087c7d244b8985390c63059a6223c45 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:26 2008 +0200 ide: add ide_atapi_{discard_data,write_zeros} inline helpers Add ide_atapi_{discard_data,write_zeros} inline helpers to and use them instead of home-brewn helpers in ide-{floppy,tape,scsi}. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3ad6776cca21f2456b7288f44f224b344ac3c4d0 Author: Borislav Petkov Date: Fri Apr 18 00:46:25 2008 +0200 ide-floppy: remove struct idefloppy_id_gcw Bart: - minor fixups Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3d53ba87f079c078f608729120ada862cb0896e0 Author: Akira Iguchi Date: Fri Apr 18 00:46:25 2008 +0200 scc_pata.c: do setup itself instead of ide_setup_pci_device() scc_pata has the different BAR configuration and using ide_setup_pci_device() is inappropriate. (ide_setup_pci_device() expects a normal PCI IDE controller with BAR0..BAR3 either non-existant or being primary/secondary port bases in I/O space.) This patch do all needed setup itself instead of calling ide_setup_pci_device(). [bart: minor checkpatch.pl fixes] Signed-off-by: Kou Ishizaki Signed-off-by: Akira Iguchi Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e6bfa38a4803646e212ef542b957344e790c3733 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:25 2008 +0200 ide: remove ide_init_hwif_ports() ide_init_hwif_ports() is only used by init_ide_data() now, inline it there. Signed-off-by: Bartlomiej Zolnierkiewicz commit 05734266c07ac588d1773bd9ae51a0ff20456443 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:25 2008 +0200 ide: remove init_hwif_default() init_hwif_default() is only used by init_ide_data() now, inline it there. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2304dc6481f9d4fb4f0cb5b72497dfe1694cef9c Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:24 2008 +0200 ide: remove ->hold field from ide_hwif_t (take 2) ->hold is write-only now, remove it. v2: * v1 missed bast-ide, palm_bk3710, ide-cs and delkin_cb host drivers. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 93de00fd1c70e1a23a73a865e0f9abfe74a7a719 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:24 2008 +0200 ide: remove broken/dangerous HDIO_[UNREGISTER,SCAN]_HWIF ioctls (take 3) hdparm explicitely marks HDIO_[UNREGISTER,SCAN]_HWIF ioctls as DANGEROUS and given the number of bugs we can assume that there are no real users: * DMA has no chance of working because DMA resources are released by ide_unregister() and they are never allocated again. * Since ide_init_hwif_ports() is used for ->io_ports[] setup the ioctls don't work for almost all hosts with "non-standard" (== non ISA-like) layout of IDE taskfile registers (there is a lot of such host drivers). * ide_port_init_devices() is not called when probing IDE devices so: - drive->autotune is never set and IDE host/devices are not programmed for the correct PIO/DMA transfer modes (=> possible data corruption) - host specific I/O 32-bit and IRQ unmasking settings are not applied (=> possible data corruption) - host specific ->port_init_devs method is not called (=> no luck with ht6560b, qd65xx and opti621 host drivers) * ->rw_disk method is not preserved (=> no HPT3xxN chipsets support). * ->serialized flag is not preserved (=> possible data corruption when using icside, aec62xx (ATP850UF chipset), cmd640, cs5530, hpt366 (HPT3xxN chipsets), rz1000, sc1200, dtc2278 and ht6560b host drivers). * ->ack_intr method is not preserved (=> needed by ide-cris, buddha, gayle and macide host drivers). * ->sata_scr[] and sata_misc[] is cleared by ide_unregister() and it isn't initialized again (SiI3112 support needs them). * To issue an ioctl() there need to be at least one IDE device present in the system. * ->cable_detect method is not preserved + it is not called when probing IDE devices so cable detection is broken (however since DMA support is also broken it doesn't really matter ;-). * Some objects which may have already been freed in ide_unregister() are restored by ide_hwif_restore() (i.e. ->hwgroup). * ide_register_hw() may unregister unrelated IDE ports if free ide_hwifs[] slot cannot be found. * When IDE host drivers are modular unregistered port may be re-used by different host driver that owned it first causing subtle bugs. Since we now have a proper warm-plug support remove these ioctls, then remove no longer needed: - ide_register_hw() and ide_hwif_restore() functions - 'init_default' and 'restore' arguments of ide_unregister() - zeroeing of hwif->{dma,extra}_* fields in ide_unregister() As an added bonus IDE core code size shrinks by ~3kB (x86-32). v2: * fix ide_unregister() arguments in cleanup_module() (Andrew Morton). v3: * fix ide_unregister() arguments in palm_bk3710.c. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9a0e77f28b50128df0c9e26ae489e44e29a7270a Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:24 2008 +0200 ide: remove obsoleted "idex=base[,ctl[,irq]]" kernel parameters (take 2) * Remove obsoleted "idex=base[,ctl[,irq]]" kernel parameters and update Documentation/ide/ide.txt. * Remove no longer needed ide_forced chipset type. v2: * is_chipset_set[] -> is_chipset_set in ide.c. * Documentation/ide/ide.txt fix. Signed-off-by: Bartlomiej Zolnierkiewicz commit 80aa31cb460d12c1e02327b43eceb3eebc6e7090 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:24 2008 +0200 ide: remove CONFIG_BLK_DEV_HD_IDE config option (take 2) * Remove CONFIG_BLK_DEV_HD hack from init_hwif_default() ("hda=noprobe hdb=noprobe" kernel parameters should be used instead if somebody wishes to use the old "hd" driver). * Make CONFIG_BLK_DEV_HD_ONLY config option available also when IDE subsystem is used and update help entry. * Remove no longer needed CONFIG_BLK_DEV_HD_IDE config option. v2: * Update documentation to suggest "hda=noprobe hdb=noprobe" instead of obsoleted "ide0=noprobe". * Update Documentation/ide/ide.txt. Signed-off-by: Bartlomiej Zolnierkiewicz commit fef39d95ea19d4b5e2547e344809a5398eba8b3c Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:23 2008 +0200 ide: remove needless CONFIG_BLK_DEV_HD hack from init_hwif() request_irq() will fail if there is already another IRQ handler registered and IRQ flags are mismatched. Signed-off-by: Bartlomiej Zolnierkiewicz commit f0298512c86ebc2eae9f4556d0b15087aa750646 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:23 2008 +0200 ide-generic: add ide_generic class and attribute for adding new interfaces * Add ide_generic_sysfs_init() helper registering 'ide_generic' class (together with ide_generic_class_release() ->class_release method) and use it in ide_generic_init(). * Add "add" class attribute to 'ide_generic' class for adding new interfaces (it is intended to be a replacement for obsoleted "idex=base[,ctl[,irq]]" kernel parameters). Signed-off-by: Bartlomiej Zolnierkiewicz commit f74c91413ec6140ee0553180c5f56fdd27c22a2e Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:23 2008 +0200 ide: add warm-plug support for IDE devices (take 2) * Add 'struct class ide_port_class' ('ide_port' class) and a 'struct device *portdev' ('ide_port' class device) in ide_hwif_t. * Register 'ide_port' class in ide_init() and unregister it in cleanup_module(). * Create ->portdev in ide_register_port () and unregister it in ide_unregister(). * Add "delete_devices" class device attribute for unregistering IDE devices on a port and "scan" one for probing+registering IDE devices on a port. * Add ide_sysfs_register_port() helper for registering "delete_devices" and "scan" attributes with ->portdev. Call it in ide_device_add_all(). * Document IDE warm-plug support in Documentation/ide/warm-plug-howto.txt. v2: * Convert patch from using 'struct class_device' to use 'struct device'. (thanks to Kay Sievers for doing it) Signed-off-by: Bartlomiej Zolnierkiewicz commit 50672e5d7486c9ab312432cbe180ac071f1de8e0 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:23 2008 +0200 ide: remove dead/obsolete ->busproc method ->busproc method is used by HDIO_SET_BUSSTATE ioctl but it has no chance of working as intended (in 2.4.x days) because to issue an ioctl there is a device node needed and: - for BUSSTATE_TRISTATE+OFF it is too late (devices are already gone) - for BUSSTATE_TRISTATE+ON it is too early (devices are not registered yet) Just remove ->busproc method for now (it was only implemented by hpt366, siimage and tc86c001 host drivers). Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2dde7861afa23cd59db83515cb0b810b92b220aa Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:23 2008 +0200 ide: rework PowerMac media-bay support (take 2) Rework PowerMac media-bay support in such way that instead of un/registering the IDE interface we un/register IDE devices: * Add ide_port_scan() helper for probing+registerering devices on a port. * Rename ide_port_unregister_devices() to __ide_port_unregister_devices(). * Add ide_port_unregister_devices() helper for unregistering devices on a port. * Add 'ide_hwif_t *cd_port' to 'struct media_bay_info', pass 'hwif' instead of hwif->index to media_bay_set_ide_infos() and use it to setup 'cd_port'. * Use ide_port_unregister_devices() instead of ide_unregister() and ide_port_scan() instead of ide_register_hw() in media_bay_step(). * Unexport ide_register_hw() and make it static. v2: * Fix build by adding include to . (Reported by Michael/Kamalesh/Andrew). Cc: Kamalesh Babulal Cc: Michael Ellerman Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 26042d058ba21305aeb8ac92e4b1483dbec642ac Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:22 2008 +0200 ide: move ide_port_setup_devices() call to ide_device_add_all() Add ide_cfg_mtx lock/unlock to ide_port_setup_devices() and then move ide_port_setup_devices() call from init_irq() to ide_device_add_all(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 43514ed1ee6a2325692e173ea4eb41068bf72de0 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:22 2008 +0200 ide: factor out devices init from ide_init_port_data() * Factor out devices init from ide_init_port_data() to ide_port_init_devices_data(). While at it: * Add explicit clearing of IDE device structure. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 71bf9f6fe822397e2cce781a2408c658a776fd68 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:22 2008 +0200 ide: factor out code unregistering devices from ide_unregister() Factor out code unregistering devices from ide_unregister() to ide_port_unregister_devices(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5b0c4b30a625927340a3e7f565aa4de8b60489cc Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:22 2008 +0200 ide: remove IDE devices from /proc/ide/ before unregistering them IDE devices need to be removed from /proc/ide/ _before_ being unregistered: * Drop 'ide_hwif_t *hwif' argument from destroy_proc_ide_device() and use drive->hwif instead. * Rename destroy_proc_ide_device() to ide_proc_unregister_device(). * Call ide_proc_unregister_device() in drive_release_dev(). * Remove no longer needed destroy_proc_ide_drives(). Signed-off-by: Bartlomiej Zolnierkiewicz commit c7f6f21aaeb826a9b04b5897a92f29226995170f Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:22 2008 +0200 ide: factor out cable detection from ide_init_port() * Factor out cable detection from ide_init_port() to ide_port_cable_detect(). * Move ide_port_cable_detect() call to ide_device_add_all(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8f22a72bf52e76d6bcd11bf9e695fdde61bd454c Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:21 2008 +0200 ide-acpi: add missing drive->acpidata zeroing There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 4f0eee4d877e3b617b6a22d209d52b3dfca2b2a7 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:21 2008 +0200 ide: use ide_find_port() instead of ide_deprecated_find_port() * Use ide_find_port() instead of ide_deprecated_find_port() in bast-ide/ palm_bk3710/ide-cs/delkin_cb host drivers and in ide_register_hw(). * Remove no longer needed ide_deprecated_find_port(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 2625cd52b6eafb63b72f2e53f933f41ba9e34dff Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:21 2008 +0200 ide: fix ide_find_port() * Instead of checking for '->io_ports[IDE_DATA_OFFSET] == 0' check for '->chipset == ide_unknown' when looking for an empty ide_hwifs[] slot. * Do ide-pnp initialization after ide-generic when IDE is built-in (ide-pnp is the only user of ide_find_port() which needs such fixup). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ce9b248bb451134fcb41e189e83e3838fb57caf0 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:21 2008 +0200 ide-generic: set hwif->chipset This hwif->chipset fixup is already present in ide_device_add_all() but for warm-plug support we also need to reserve not currently present interfaces. Signed-off-by: Bartlomiej Zolnierkiewicz commit a594eeb1a1d320981fccc29584b6f21fcebd765f Author: Greg Kroah-Hartman Date: Fri Apr 18 00:46:20 2008 +0200 IDE: remove ide=reverse IDE core This option is obsolete and can be removed safely. It allows us to remove the pci_get_device_reverse() function from the PCI core. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Bartlomiej Zolnierkiewicz commit 8b73a07c8ffaa70683022566080f4df3328ea18d Author: Gui Jianfeng Date: Thu Apr 17 14:22:18 2008 -0700 SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked. According to RFC4960 7.2.2, When all of the data transmitted by the sender has been acknowledged by the recerver, partial_bytes_acked is initialized to 0. This patch conforms to rfc requirement. Without this fix, cwnd might be error incremented. Signed-off-by: Gui Jianfeng Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 2e5a3eaca386ce026f240c7b21e5c4958fcea946 Merge: 8c95b47... 36b30ea... Author: David S. Miller Date: Thu Apr 17 14:13:13 2008 -0700 Merge branch 'upstream-net26' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 21e197f231343201368338603cb0909a13961bac Author: Ivan Vecera Date: Thu Apr 17 22:48:41 2008 +0200 r8169: fix oops in r8169_get_mac_version r8169_get_mac_version crashes when it meets an unknown MAC due to tp->pci_dev not being set. Initialize it early. Signed-off-by: Ivan Vecera Acked-by: Francois Romieu commit cee60c377de6d9d10f0a2876794149bd79a15020 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Apr 17 22:35:54 2008 +0200 r8169: fix past rtl_chip_info array size for unknown chipsets 'i' is unsigned. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Francois Romieu commit 636bdeaa1243327501edfd2a597ed7443eb4239a Author: Dan Williams Date: Thu Apr 17 20:17:26 2008 -0700 dmaengine: ack to flags: make use of the unused bits in the 'ack' field 'ack' is currently a simple integer that flags whether or not a client is done touching fields in the given descriptor. It is effectively just a single bit of information. Converting this to a flags parameter allows the other bits to be put to use to control completion actions, like dma-unmap, and capture results, like xor-zero-sum == 0. Changes are one of: 1/ convert all open-coded ->ack manipulations to use async_tx_ack and async_tx_test_ack. 2/ set the ack bit at prep time where possible 3/ make drivers store the flags at prep time 4/ add flags to the device_prep_dma_interrupt prototype Acked-by: Maciej Sosnowski Signed-off-by: Dan Williams commit c4fe15541d0ef5cc8cc1ce43057663851f8fc387 Author: Dan Williams Date: Thu Apr 17 20:17:26 2008 -0700 iop-adma: remove the workaround for missed interrupts on iop3xx This workaround was covering the dependency submission bug in async_tx. Signed-off-by: Dan Williams commit ce4d65a5db77e1568c82d5151a746f627c4f6ed5 Author: Dan Williams Date: Thu Apr 17 20:17:26 2008 -0700 async_tx: kill ->device_dependency_added DMA drivers no longer need to be notified of dependency submission events as async_tx_run_dependencies and async_tx_channel_switch will handle the scheduling and execution of dependent operations. [sfr@canb.auug.org.au: extend this for fsldma] Acked-by: Shannon Nelson Signed-off-by: Dan Williams commit 19242d7233df7d658405d4b7ee1758d21414cfaa Author: Dan Williams Date: Thu Apr 17 20:17:25 2008 -0700 async_tx: fix multiple dependency submission Shrink struct dma_async_tx_descriptor and introduce async_tx_channel_switch to properly inject a channel switch interrupt in the descriptor stream. This simplifies the locking model as drivers no longer need to handle dma_async_tx_descriptor.lock. Acked-by: Shannon Nelson Signed-off-by: Dan Williams commit 1c62979ed29a8e2bf9fbe1db101c81a0089676f8 Author: Zhang Wei Date: Thu Apr 17 20:17:25 2008 -0700 fsldma: Split the MPC83xx event from MPC85xx and refine irq codes. Split MPC83xx EOCDI event from MPC85xx EOLNI event, which is also need to update cookie and start the next transfer. The DMA channel irq handler function code is refined. The patch is tested on MPC8377MDS board. Signed-off-by: Zhang Wei Signed-off-by; Andrew Morton Signed-off-by: Dan Williams commit 411e23dbe9c5867045f34ba83ee84b31b5b9950c Author: Zhang Wei Date: Thu Apr 17 20:17:25 2008 -0700 fsldma: Remove CONFIG_FSL_DMA_SELFTEST, keep fsl_dma_self_test() running always. Always enabling the fsl_dma_self_test() to ensure the DMA controller should works well after the driver probed. Signed-off-by: Zhang Wei Signed-off-by: Dan Williams commit 48feb3c419508487becfb9ea3afcc54c3eac6d80 Author: Shaohua Li Date: Tue Mar 25 16:50:45 2008 +0800 ata-acpi: don't call _GTF for disabled drive I got below log after a S3 resume in a ASUS A6VC laptop. The system has only one IDE drive. It appears there is no reason calling _GTF for disabled drive. ACPI Error (dsopcode-0483): Attempt to CreateField of length zero [20070126] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.RATA] (Node df822a7c), AE_AML_OPERAND_VALUE ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.CHN1.DRV0._GTF] (Node df822bd0), AE_AML_OPERAND_VALUE ata2.00: _GTF evaluation failed (AE 0x3006) ACPI Error (dsopcode-0483): Attempt to CreateField of length zero [20070126] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.RATA] (Node df822a7c), AE_AML_OPERAND_VALUE ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.CHN1.DRV1._GTF] (Node df822b94), AE_AML_OPERAND_VALUE ata2.01: _GTF evaluation failed (AE 0x3006) Signed-off-by: Shaohua Li Signed-off-by: Jeff Garzik commit 094e50b2f74146d8ee924fea4808e58c4ed2f163 Author: Mark Lord Date: Wed Apr 16 15:01:19 2008 -0400 sata_mv add temporary 3 second init delay for SiliconImage PMs sata_mv does not yet fully support hotplug (coming soon, though). This means that the driver may not find a Silicon Image port-multiplier when first loaded, because those devices take in exceess of 3 seconds to sync up the SATA PHY (most devices do this in mere microseconds). So, as a short-term interim measure, here we insert a 3-second pause on initial driver load, once per controller board (not once per port!), to allow the Silicon Image port-multipliers to be detected later. This will be removed again (soon!) once hotplug is fully implemented/working. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 8a74f1a4680614dfb77fc5dfd37d0ece13b2b357 Author: Mark Lord Date: Wed Apr 16 15:00:17 2008 -0400 sata_mv remove redundant edma init code Remove unnecessary edma init code from port_start. This sequence gets done later on the first I/O to the port. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit e49856d82a887ce365637176f9f99ab68076eae8 Author: Mark Lord Date: Wed Apr 16 14:59:07 2008 -0400 sata_mv add basic port multiplier support Add basic port-multiplier support to sata_mv. This works in Command-based-switching mode for Gen-II chipsets, and in FIS-based-switching mode for Gen-IIe chipsets. Error handling remains at the primary port level for now (works okay, but not great). This will get fixed in a subsequent patch series for IRQ/EH handling fixes. There are also some known NCQ/PMP errata to be dealt with in the near future, once we have this basic PMP support in place. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 02c1f32f1c524d2a389989f2482121f7c7d9b164 Author: Mark Lord Date: Wed Apr 16 14:58:13 2008 -0400 sata_mv fix SOC flags, enable NCQ on SOC The System-On-Chip (SOC) core supports all of the same features as the other recent Marvell chips, including NCQ and IRQ coalescing. Fix the chip_soc flags to enable these capabilities (note that the driver currently does nothing special for IRQ coalescing, though). Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 40f0bc2d77d2d9ead3812f4eec2eefc11455e5de Author: Mark Lord Date: Wed Apr 16 14:57:25 2008 -0400 sata_mv disable hotplug for now Disable hot plug/unplug detection in sata_mv for now. It is currently broken, and also interferes with PMP support. This will get fixed in a subsequent patch series. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 17c5aab5b34e351531466e35b154ca86db7d46a9 Author: Mark Lord Date: Wed Apr 16 14:56:51 2008 -0400 sata_mv cosmetics More cosmetic cleanups to unclutter the changes needed for PMP support. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 0d8be5cbff8fd95da72d749a64e150b851f470c6 Author: Mark Lord Date: Wed Apr 16 14:56:12 2008 -0400 sata_mv hardreset rework Rework and simplify sata_mv's hardreset code to take advantage of libata improvements since it was first coded. Also, get rid of the now unnecessary prereset, postreset, and phy_reset functions. This patch also paves the way for subsequent pmp support patches, which will follow once this one passes muster. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit f3360ebffae254ab99a64bf97c7b4f8380b1e114 Author: Jeff Garzik Date: Thu Apr 17 15:55:24 2008 -0400 [libata] improve Kconfig help text for new PMP, SFF options commit 4f7faa3f2b99f8fb246c8cdeef971e55ceda4e52 Author: Tejun Heo Date: Wed Jan 30 18:18:26 2008 +0900 libata: make EH fail gracefully if no reset method is available When no reset method is available, libata currently oopses. Although the condition can't happen unless there's a bug in a low level driver, oopsing isn't the best way to report the error condition. Complain, dump stack and fail reset instead. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b93fda12357b3f1aa55cf69d8e088372788ea9ea Author: Alan Cox Date: Tue Apr 8 16:36:44 2008 +0100 libata: Be a bit more slack about early devices We have a certain number of 'ATA' emulations often on CF or other flash devices that are at best "loosely based" on the CF 1.1 standard. These devices report themselves as disk but don't support the ATA minimal command set only the CF 1.1 set. Relax the PIO checking for devices reporting ATA rev 0, or no iordy support, or CFA. Rework the code a bit as it was already messy and this made it quite ugly. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit f792068e43a3a156139569304b29ec8fc5dec4e3 Author: Alan Cox Date: Tue Apr 8 16:37:50 2008 +0100 libata: cable logic The cable detect isolation patch inadvertently removed 40 wire short cable handling. Put it back Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 45db2f6c95eee7c6622ea1b3edb9abafba58e3ab Author: Tejun Heo Date: Tue Apr 8 01:46:56 2008 +0900 libata: move link onlineness check out of softreset methods Currently, SATA softresets should do link onlineness check before actually performing SRST protocol but it doesn't really belong to softreset. This patch moves onlineness check in softreset to ata_eh_reset() and ata_eh_followup_srst_needed() to clean up code and help future sata_mv changes which need clear separation between SCR and TF accesses. sata_fsl is peculiar in that its softreset really isn't softreset but combination of hardreset and softreset. This patch adds dummy private ->prereset to keep the current behavior but the driver really should implement separate hard and soft resets and return -EAGAIN from hardreset if it should be follwed by softreset. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 2a0c15ca39f5881aa1b472ca856bb7a2e584ece7 Author: Tejun Heo Date: Tue Apr 8 01:25:35 2008 +0900 libata: kill dead code paths in reset path Some code paths which had been made obsolete by recent reset simplification were still around. Kill them. * ata_eh_reset() checked for ATA_DEV_UNKNOWN to determine classification failure. This is no longer applicable. * ata_do_reset() should convert ATA_DEV_UNKNOWN to ATA_DEV_NONE regardless of reset result (e.g. -EAGAIN). * LLDs don't need to convert ATA_DEV_UNKNOWN to ATA_DEV_NONE. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e50e3ce5e70e36e6069a8cc8292df76058fa9e23 Author: Stephen Rothwell Date: Wed Apr 9 13:34:40 2008 +1000 pata_scc: fix build breakage drivers/ata/pata_scc.c: In function 'scc_bus_softreset': drivers/ata/pata_scc.c:594: error: 'deadlien' undeclared (first use in this function) drivers/ata/pata_scc.c:594: error: (Each undeclared identifier is reported only once drivers/ata/pata_scc.c:594: error: for each function it appears in.) Signed-off-by: Stephen Rothwell Signed-off-by: Jeff Garzik commit 88fcd5627563722483427a55113c0a83f56e8080 Author: Tejun Heo Date: Mon Apr 7 22:47:22 2008 +0900 libata: make PMP support optional Make PMP support optional by adding CONFIG_SATA_PMP and leaving out libata-pmp.c if it isn't set. PMP helpers return constant values if PMP support is not enabled and PMP declarations alias non-PMP counterparts. This makes the compiler to leave out PMP related part out and LLDs to use non-PMP counterparts automatically. Signed-off-by: Tejun Heo commit 071f44b1d2c051641b62a3571223314737ccbe59 Author: Tejun Heo Date: Mon Apr 7 22:47:22 2008 +0900 libata: implement PMP helpers Implement helpers to test whether PMP is supported, attached and determine pmp number to use when issuing SRST to a link. While at it, move ata_is_host_link() so that it's together with the two new PMP helpers. This change simplifies LLDs and helps making PMP support optional. Signed-off-by: Tejun Heo commit 48515f6c006c2a9d7b624ee8ad068018c2d3fe0e Author: Tejun Heo Date: Mon Apr 7 22:47:21 2008 +0900 libata: separate PMP support code from core code Most of PMP support code is already in libata-pmp.c. All that are in libata-core.c are sata_pmp_port_ops and EXPORTs. Move them to libata-pmp.c. Also, collect PMP related prototypes and declarations in header files and move them right above of SFF stuff. This change is to make PMP support optional. Signed-off-by: Tejun Heo commit 127102aea2ea9ec4e9ca233e2b1a75c8d3b058c4 Author: Tejun Heo Date: Mon Apr 7 22:47:21 2008 +0900 libata: make SFF support optional Now that SFF support is completely separated out from the core layer, it can be made optional. Add CONFIG_ATA_SFF and let SFF drivers depend on it. If CONFIG_ATA_SFF isn't set, all codes in libata-sff.c and data structures for SFF support are disabled. This saves good number of bytes for small systems. Signed-off-by: Tejun Heo commit 350756f6dab6d37ef9ed3f18dec520e88969ddac Author: Tejun Heo Date: Mon Apr 7 22:47:21 2008 +0900 libata: don't use ap->ioaddr in non-SFF drivers ap->ioaddr is to carry addresses for TF and BMDMA registers of a SFF controller, don't abuse it in non-SFF controllers. Signed-off-by: Tejun Heo commit 182d7bbac322d6921ce81f8e6aa23d250816381d Author: Tejun Heo Date: Mon Apr 7 22:47:21 2008 +0900 libata: clean up dummy port_ops Now that SFF assumptions are removed from core layer, dummy port_ops can be slimmed down. Chop it down. Signed-off-by: Tejun Heo commit c9f75b04ed5ed65a058d18a8a8dda50632a96de8 Author: Tejun Heo Date: Mon Apr 7 22:47:21 2008 +0900 libata: kill ata_noop_dev_select() Now that SFF assumptions are separated out from non-SFF reset sequence, port_ops->sff_dev_select() is no longer necessary for non-SFF controllers. Kill ata_noop_dev_select() and ->sff_dev_select initialization from base and other non-SFF port_ops. Signed-off-by: Tejun Heo commit 520d06f92b32d7abe5127d7cc46a819db0f384e6 Author: Tejun Heo Date: Mon Apr 7 22:47:21 2008 +0900 libata: remove check_status from non-SFF drivers Now that all SFF stuff is separated out of core layer, core layer doesn't call ops->[alt_]check_status(). In fact, no one calls them for non-SFF drivers anymore. Kill them. Signed-off-by: Tejun Heo commit 4c9bf4e799ce06a7378f1196587084802a414c03 Author: Tejun Heo Date: Mon Apr 7 22:47:20 2008 +0900 libata: replace tf_read with qc_fill_rtf for non-SFF drivers Now that all SFF stuff is separated out of core layer, core layer doesn't call ops->tf_read directly. It gets called only via ops->qc_fill_rtf() for non-SFF drivers. This patch directly implements private ops->qc_fill_rtf() for non-SFF controllers and kill ops->tf_read(). This is much cleaner for non-SFF controllers as some of them have to cache SFF register values in private data structure and report the cached values via ops->tf_read(). Also, ops->tf_read() gets nasty for controllers which don't have clear notion of TF registers when operation is not in progress. As this change makes default ops->qc_fill_rtf unnecessary, move ata_sff_qc_fill_rtf() form ata_base_port_ops to ata_sff_port_ops where it belongs. Signed-off-by: Tejun Heo commit 79f97dadfe9b4b561634d202225ba2fa910dc225 Author: Tejun Heo Date: Mon Apr 7 22:47:20 2008 +0900 libata: drop @finish_qc from ata_qc_complete_multiple() ata_qc_complete_multiple() took @finish_qc and called it on every qc before completing it. This was to give opportunity to update TF cache before ata_qc_complete() tries to fill result_tf. Now that result TF is a separate operation, this is no longer necessary. Update sata_sil24, which was the only user of this mechanism, such that it implements its own ops->qc_fill_rtf() and drop @finish_qc from ata_qc_complete_multiple(). Signed-off-by: Tejun Heo commit 22183bf569c8600ff414ac25f23134044e0ef453 Author: Tejun Heo Date: Mon Apr 7 22:47:20 2008 +0900 libata: add qc_fill_rtf port operation On command completion, ata_qc_complete() directly called ops->tf_read to fill qc->result_tf. This patch adds ops->qc_fill_rtf to replace hardcoded ops->tf_read usage. ata_sff_qc_fill_rtf() which uses ops->tf_read to fill result_tf is implemented and set in ata_base_port_ops and other ops tables which don't inherit from ata_base_port_ops, so this patch doesn't introduce any behavior change. ops->qc_fill_rtf() is similar to ops->sff_tf_read() but can only be called when a command finishes. As some non-SFF controllers don't have TF registers defined unless they're associated with in-flight commands, this limited operation makes life easier for those drivers and help lifting SFF assumptions from libata core layer. Signed-off-by: Tejun Heo commit 305d2a1ab137d11d573319c315748a87060fe82d Author: Tejun Heo Date: Mon Apr 7 22:47:20 2008 +0900 libata: unify mechanism to request follow-up SRST Previously, there were two ways to trigger follow-up SRST from hardreset method - returning -EAGAIN and leaving all device classes unmodified. Drivers never used the latter mechanism and the only use case for the former was when hardreset couldn't classify. Drop the latter mechanism and let -EAGAIN mean "perform follow-up SRST if classification is required". This change removes unnecessary follow-up SRSTs and simplifies reset implementations. Signed-off-by: Tejun Heo commit 5958e3025fd9d97429163e074d9cfa3848f51f28 Author: Tejun Heo Date: Mon Apr 7 22:47:20 2008 +0900 libata: move PMP SCR access failure during reset to ata_eh_reset() If PMP fan-out reset fails and SCR isn't accessible, PMP should be reset. This used to be tested by sata_pmp_std_hardreset() and communicated to EH by -ERESTART. However, this logic is generic and doesn't really have much to do with specific hardreset implementation. This patch moves SCR access failure detection logic to ata_eh_reset() where it belongs. As this makes sata_pmp_std_hardreset() identical to sata_std_hardreset(), the function is killed and replaced with the standard method. Signed-off-by: Tejun Heo commit ac371987a81c61c2efbd6931245cdcaf43baad89 Author: Tejun Heo Date: Mon Apr 7 22:47:19 2008 +0900 libata: clear SError after link resume SError used to be cleared in ->postreset. This has small hotplug race condition. If a device is plugged in after reset is complete but postreset hasn't run yet, its hotplug event gets lost when SError is cleared. This patch makes sata_link_resume() clear SError. This kills the race condition and makes a lot of sense as some PMP and host PHYs don't work properly without SError cleared. This change makes sata_pmp_std_{pre|post}_reset()'s unnecessary as they become identical to ata_std counterparts. It also simplifies sata_pmp_hardreset() and ahci_vt8251_hardreset(). Signed-off-by: Tejun Heo commit 57c9efdfb3cee5d4564fcb5f70555e2edb1bc52a Author: Tejun Heo Date: Mon Apr 7 22:47:19 2008 +0900 libata: implement and use sata_std_hardreset() Implement sata_std_hardreset(), which simply wraps around sata_link_hardreset(). sata_std_hardreset() becomes new standard hardreset method for sata_port_ops and sata_sff_hardreset() moves from ata_base_port_ops to ata_sff_port_ops, which is where it really belongs. ata_is_builtin_hardreset() is added so that both ata_std_error_handler() and ata_sff_error_handler() skip both builtin hardresets if SCR isn't accessible. piix_sidpr_hardreset() in ata_piix.c is identical to sata_std_hardreset() in functionality and got replaced with the standard function. Signed-off-by: Tejun Heo commit 9dadd45b24145d6aee2fabb28d7aef972301892b Author: Tejun Heo Date: Mon Apr 7 22:47:19 2008 +0900 libata: move generic hardreset code from sata_sff_hardreset() to sata_link_hardreset() sata_sff_hardreset() contains link readiness wait logic which isn't SFF specific. Move that part into sata_link_hardreset(), which now takes two more parameters - @online and @check_ready. Both are optional. The former is out parameter for link onlineness after reset. The latter is used to wait for link readiness after hardreset. Users of sata_link_hardreset() is updated to use new funtionality and ahci_hardreset() is updated to use sata_link_hardreset() instead of sata_sff_hardreset(). This doesn't really cause any behavior change. Signed-off-by: Tejun Heo commit a89611e8489ac24f371c9fd6fef6605b170b16ba Author: Tejun Heo Date: Mon Apr 7 22:47:19 2008 +0900 ahci: use ata_wait_after_reset() instead of ata_sff_wait_ready() Implement ahci_check_ready() and replace ata_sff_wait_after_reset() with ata_wait_after_reset(). As ahci was faking TF access, this change doesn't result in any functional difference. Signed-off-by: Tejun Heo commit aa2731ad9ad80ac3fca48bd1c4cf0eceede4810e Author: Tejun Heo Date: Mon Apr 7 22:47:19 2008 +0900 libata: separate out ata_wait_ready() and implement ata_wait_after_reset() Factor out waiting logic (which is common to all ATA controllers) from ata_sff_wait_ready() into ata_wait_ready(). ata_wait_ready() takes @check_ready function pointer and uses it to poll for readiness. This allows non-SFF controllers to use ata_wait_ready() to wait for link readiness. This patch also implements ata_wait_after_reset() - generic version of ata_sff_wait_after_reset() - using ata_wait_ready(). ata_sff_wait_ready() is reimplemented using ata_wait_ready() and ata_sff_check_ready(). Functionality remains the same. Signed-off-by: Tejun Heo commit 705e76beb90b97421e1f61e857c4246799781bb5 Author: Tejun Heo Date: Mon Apr 7 22:47:19 2008 +0900 libata: restructure SFF post-reset readiness waits Previously, post-softreset readiness is waited as follows. 1. ata_sff_wait_after_reset() waits for 150ms and then for ATA_TMOUT_FF_WAIT if status is 0xff and other conditions meet. 2. ata_bus_softreset() finishes with -ENODEV if status is still 0xff. If not, continue to #3. 3. ata_bus_post_reset() waits readiness of dev0 and/or dev1 depending on devmask using ata_sff_wait_ready(). And for post-hardreset readiness, 1. ata_sff_wait_after_reset() waits for 150ms and then for ATA_TMOUT_FF_WAIT if status is 0xff and other conditions meet. 2. sata_sff_hardreset waits for device readiness using ata_sff_wait_ready(). This patch merges and unifies post-reset readiness waits into ata_sff_wait_ready() and ata_sff_wait_after_reset(). ATA_TMOUT_FF_WAIT handling is merged into ata_sff_wait_ready(). If TF status is 0xff, link status is unknown and the port is SATA, it will continue polling till ATA_TMOUT_FF_WAIT. ata_sff_wait_after_reset() is updated to perform the following steps. 1. waits for 150ms. 2. waits for dev0 readiness using ata_sff_wait_ready(). Note that this is done regardless of devmask, as ata_sff_wait_ready() handles 0xff status correctly, this preserves the original behavior except that it may wait longer after softreset if link is online but status is 0xff. This behavior change is very unlikely to cause any actual difference and is intended. It brings softreset behavior to that of hardreset. 3. waits for dev1 readiness just the same way ata_bus_post_reset() did. Now both soft and hard resets call ata_sff_wait_after_reset() after reset to wait for readiness after resets. As ata_sff_wait_after_reset() contains calls to ->sff_dev_select(), explicit call near the end of sata_sff_hardreset() is removed. This change makes reset implementation simpler and more consistent. While at it, make the magical 150ms wait post-reset wait duration a constant and ata_sff_wait_ready() and ata_sff_wait_after_reset() take @link instead of @ap. This is to make them consistent with other reset helpers and ease core changes. pata_scc is updated accordingly. Signed-off-by: Tejun Heo commit 203c75b8245c5386044721d9c5eda5c6b71b3d14 Author: Tejun Heo Date: Mon Apr 7 22:47:18 2008 +0900 libata: separate out ata_std_postreset() from ata_sff_postreset() Separate out generic ATA portion from ata_sff_postreset() into ata_std_postreset() and implement ata_sff_postreset() using the std version. ata_base_port_ops now has ata_std_postreset() for its postreset and ata_sff_port_ops overrides it to ata_sff_postreset(). This change affects pdc_adma, ahci, sata_fsl and sata_sil24. pdc_adma now specifies postreset to ata_sff_postreset() explicitly. sata_fsl and sata_sil24 now use ata_std_postreset() which makes no difference to them. ahci now calls ata_std_postreset() from its own postreset method, which causes no behavior difference. Signed-off-by: Tejun Heo commit 0aa1113d544226bc2c4a20d6ac1d71170512a361 Author: Tejun Heo Date: Mon Apr 7 22:47:18 2008 +0900 libata: separate out ata_std_prereset() from ata_sff_prereset() Separate out generic ATA portion from ata_sff_prereset() into ata_std_prereset() and implement ata_sff_prereset() using the std version. Waiting for device readiness is the only SFF specific part. ata_base_port_ops now has ata_std_prereset() for its prereset and ata_sff_port_ops overrides it to ata_sff_prereset(). This change can affect pdc_adma, ahci, sata_fsl and sata_sil24. pdc_adma implements its own prereset using ata_sff_prereset() and the rest has hardreset and thus are unaffected by this change. This change reflects real world situation. There is no generic way to wait for device readiness for non-SFF controllers and some of them don't have any mechanism for that. Non-sff drivers which don't have hardreset should wrap ata_std_prereset() and wait for device readiness itself but there's no such driver now and isn't likely to be popular in the future either. Signed-off-by: Tejun Heo commit 288623a06c652239d2f57d271af12bb024cf7218 Author: Tejun Heo Date: Mon Apr 7 22:47:17 2008 +0900 libata: clean up port_ops->sff_irq_clear() ->sff_irq_clear() is called only from SFF interrupt handler, so there is no reason to initialize it for non-SFF controllers. Also, ata_sff_irq_clear() can handle both BMDMA and non-BMDMA SFF controllers. This patch kills ata_noop_irq_clear() and removes it from base port_ops and sets ->sff_irq_clear to ata_sff_irq_clear() in sff port_ops instead of bmdma port_ops. Signed-off-by: Tejun Heo commit 5682ed33aae05d10a25c95633ef9d9c062825888 Author: Tejun Heo Date: Mon Apr 7 22:47:16 2008 +0900 libata: rename SFF port ops Add sff_ prefix to SFF specific port ops. This rename is in preparation of separating SFF support out of libata core layer. This patch strictly renames ops and doesn't introduce any behavior difference. Signed-off-by: Tejun Heo commit 9363c3825ea9ad76561eb48a395349dd29211ed6 Author: Tejun Heo Date: Mon Apr 7 22:47:16 2008 +0900 libata: rename SFF functions SFF functions have confusing names. Some have sff prefix, some have bmdma, some std, some pci and some none. Unify the naming by... * SFF functions which are common to both BMDMA and non-BMDMA are prefixed with ata_sff_. * SFF functions which are specific to BMDMA are prefixed with ata_bmdma_. * SFF functions which are specific to PCI but apply to both BMDMA and non-BMDMA are prefixed with ata_pci_sff_. * SFF functions which are specific to PCI and BMDMA are prefixed with ata_pci_bmdma_. * Drop generic prefixes from LLD specific routines. For example, bfin_std_dev_select -> bfin_dev_select. The following renames are noteworthy. ata_qc_issue_prot() -> ata_sff_qc_issue() ata_pci_default_filter() -> ata_bmdma_mode_filter() ata_dev_try_classify() -> ata_sff_dev_classify() This rename is in preparation of separating SFF support out of libata core layer. This patch strictly renames functions and doesn't introduce any behavior difference. Signed-off-by: Tejun Heo commit b67a1064cb1c1d3b43e01e8b43a6a8dcdefed733 Author: Mark Lord Date: Mon Mar 31 19:35:13 2008 -0400 sata_mv fix ifctl handling Fix handling of the SATA_INTERFACE_CFG register to match datasheet requirements. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit b562468cc3bd0c81decba1f5f39a7173f839e57e Author: Mark Lord Date: Mon Mar 31 19:34:40 2008 -0400 sata_mv clean up mv_stop_edma usage Clean up uses of mv_stop_edma{_engine}() to match datasheet requirements. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit e12bef50b7660cf7c19d1cd3eac381b9eff734d7 Author: Mark Lord Date: Mon Mar 31 19:33:56 2008 -0400 sata_mv cosmetic fixes Various cosmetic fixes in preparation for real code changes later on. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 83c063dd730cb56bf3fc89b70250ff9a398fec1e Author: Yoichi Yuasa Date: Thu Feb 28 21:43:13 2008 +0900 use ATA_TAG_INTERNAL in ata_tag_internal() It should be ATA_TAG_INTERNAL. Signed-off-by: Yoichi Yuasa Signed-off-by: Jeff Garzik commit c30484d775eb0b899f2b6a8f5508a99ecaba59fc Author: Chris Wedgwood Date: Tue Mar 18 15:06:48 2008 -0700 Add 'short help text' to ATA_ACPI so it's [de]selectable. ATA_ACPI isn't selectable right now because it lacks 'short help text'. This means it's always enabled and always enables ACPI_DOCK. Add text so it's now [de]selectable. cc: Jeff Garzik cc: Tejun Heo cc: Len Brown Signed-off-by: Chris Wedgwood Signed-off-by: Jeff Garzik commit fc4712d12e332a46f200b9ba641855182df282c0 Author: Tejun Heo Date: Tue Mar 25 21:36:06 2008 +0900 pdc_adma: kill adma_host_stop() adma_host_stop() does the same thing that adma_port_stop() does. Kill it. Signed-off-by: Tejun Heo Cc: Mark Lord Signed-off-by: Jeff Garzik commit b0316b15ace0570c87b74c81f1296cf7bf8d459e Author: Tejun Heo Date: Tue Mar 25 21:35:30 2008 +0900 pdc_adma: inherit ata_sff_port_ops With the previous ops standardization, pdc_adma now can inherit ata_sff_port_ops instead of ata_base_port_ops. Make the change. Signed-off-by: Tejun Heo Cc: Mark Lord Signed-off-by: Jeff Garzik commit ed82f96425e744dffe62115e46f08eb785c0b2f3 Author: Tejun Heo Date: Tue Mar 25 21:34:39 2008 +0900 libata/pdc_adma: make SFF EH handle non-bmdma SFF drivers and standardize pdc_adma ops pdc_adma has interface similar to SFF but has its own DMA interface. It currently implements noop bmdma ops to avoid crashing ata_bmdma_error_handler() which BTW actually is EH for SFF drivers. This patch makes ata_bmdma_error_handler() dereference bmdma ops iff bmdma_addr is initialized as done in ata_bmdma_post_internal_cmd. This change allows pdc_adma to standardize ops and use SFF error_handler and post_internal_cmd. Signed-off-by: Tejun Heo Cc: Mark Lord Signed-off-by: Jeff Garzik commit d8b81b8008a0f131e01bb6eb5c681c900c327e2b Author: Tejun Heo Date: Thu Mar 27 19:14:25 2008 +0900 libata: kill unused ata_flush_cache() ata_flush_code() hasn't been in use for quite some time now. Kill it. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 03faab7827e4e45823fd27c47b84c133e20a0cd0 Author: Tejun Heo Date: Thu Mar 27 19:14:24 2008 +0900 libata: implement ATA_QCFLAG_RETRY Currently whether a command should be retried after failure is determined inside ata_eh_finish(). Add ATA_QCFLAG_RETRY and move the logic into ata_eh_autopsy(). This makes things clearer and helps extending retry determination logic. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a5987e0a1b569146ed9cfa0a8c275a21b344fcaa Author: Tejun Heo Date: Thu Mar 27 19:14:23 2008 +0900 libata: make ata_tf_to_lba[48]() generic ata_tf_to_lba[48]() currently return LBA in tf + 1 for ata_read_native_max_address(). Make them return LBA and make it global so that it can be used to read LBA off TF for other purposes. ata_read_native_max_address() now adds 1 itself. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 06993d2237da45615b5a9a4dde3f344ce97ca17d Author: Jeff Garzik Date: Fri Apr 4 03:34:45 2008 -0400 [libata] sata_nv: disable ADMA by default Continues to have open issues, and engineering support is extremely difficult to come by, according to fellow NVIDIA engineers. Signed-off-by: Jeff Garzik commit 826cd156de6cea1e4982f32238077215cfa4ae63 Author: Al Viro Date: Tue Mar 25 05:18:11 2008 +0000 libata annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 9c0bf675054883acd10dec99c0c854514e139f06 Author: Tejun Heo Date: Wed Mar 26 16:00:58 2008 +0900 ata_piix: kill ich6_sata_ahci and clean up ich6_sata_ahci and ich6_sata are identical. Kill ich6_sata_ahci and drop _ahci postfixes from controller ids, which doesn't really mean anything at this point. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5016d7d212dbcc85cdc5130b1228d23f3423bd61 Author: Tejun Heo Date: Wed Mar 26 15:46:58 2008 +0900 ata_piix: don't attach to ICH6M in ahci mode ata_piix when attached to ICH6M in AHCI mode doesn't provide any benefit over using ahci and has detection problems. Don't let ata_piix claim ICH6M if it's in AHCI mode. This change makes ICH6R the only one which ata_piix can attach to even when it's in ahci mode which is necessary as some devices don't work properly under ahci mode. Drop PIIX_FLAG_AHCI and match the controller directly so that piix_disable_ahci() is called only for it. This change makes PIIX_SCC no longer used and it gets dropped too. This fixes bz 9491. Signed-off-by: Tejun Heo Cc: Robert M. Albrecht Signed-off-by: Jeff Garzik commit c1796d9850aaa97ee7492d090499b5508971514b Author: Tejun Heo Date: Thu Mar 27 19:44:24 2008 +0900 pata_scc: fix compile warning Missed one during mass conversion (dc14c0c5). Fix it. Spotted by Stephen Rothwell. Signed-off-by: Tejun Heo Cc: Stephen Rothwell Signed-off-by: Jeff Garzik commit 15a5551c847c8787d6cd75b8cf7682cd6d642e1b Author: Alan Cox Date: Fri Mar 28 14:33:46 2008 -0700 libata: isolate and rework cable logic Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d21279f4125893c63ec285962e1f2164b4d71117 Author: Zoltan Boszormenyi Date: Fri Mar 28 14:33:46 2008 -0700 ata: SWNCQ should be enabled by default Signed-off-by: Zoltan Boszormenyi Cc: Robert Hancock Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d9c74fbead08de13e3965e1c6ffe289f24f45479 Author: Harvey Harrison Date: Fri Mar 28 14:33:56 2008 -0700 pata_amd: fix sparse warning Current code is essentially choosing between dividing by 1 or dividing by two, make the conditions a little more obvious. As a bonus, removes a sparse error: drivers/ata/pata_amd.c:59:11: warning: symbol '__x' shadows an earlier one drivers/ata/pata_amd.c:59:11: originally declared here Signed-off-by: Harvey Harrison Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6fd36390117f7844ad147377878ddb52088f583a Author: Tejun Heo Date: Tue Mar 25 22:16:44 2008 +0900 libata: kill ata_chk_status() ata_chk_status() just calls ops->check_status and it only adds confusion with other status functions. Kill it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3d5a3d67a578d95ac3a11a862d16a054e2d4d9cd Author: Tejun Heo Date: Tue Mar 25 22:16:43 2008 +0900 libata: kill ata_chk_status() call from ata_dev_configure() ata_dev_configure() isn't tied to any controller interface except for the probe debug message printing at the end of the function. Kill the message. This is to help separating out SFF support from core layer. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 071ce34d57924edb76b76f7de460eb4991463959 Author: Tejun Heo Date: Tue Mar 25 22:16:42 2008 +0900 libata: move ata_pci_default_filter() out of CONFIG_PCI ata_pci_default_filter() doesn't really have anything to do with PCI. It's generally applicable to BMDMA controllers. Move it out of CONFIG_PCI. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 624d5c514eed18d5a93062e9d86d67065175f30a Author: Tejun Heo Date: Tue Mar 25 22:16:41 2008 +0900 libata: reorganize SFF related stuff * Move SFF related functions from libata-core.c to libata-sff.c. ata_[bmdma_]sff_port_ops, ata_devchk(), ata_dev_try_classify(), ata_std_dev_select(), ata_tf_to_host(), ata_busy_sleep(), ata_wait_after_reset(), ata_wait_ready(), ata_bus_post_reset(), ata_bus_softreset(), ata_bus_reset(), ata_std_softreset(), sata_std_hardreset(), ata_fill_sg(), ata_fill_sg_dumb(), ata_qc_prep(), ata_dump_qc_prep(), ata_data_xfer(), ata_data_xfer_noirq(), ata_pio_sector(), ata_pio_sectors(), atapi_send_cdb(), __atapi_pio_bytes(), atapi_pio_bytes(), ata_hsm_ok_in_wq(), ata_hsm_qc_complete(), ata_hsm_move(), ata_pio_task(), ata_qc_issue_prot(), ata_host_intr(), ata_interrupt(), ata_std_ports() * Make ata_pio_queue_task() global as it's now called from libata-sff.c. * Move SFF related stuff in include/linux/libata.h and drivers/ata/libata.h into one place. While at it, move timing constants into the global enum definition and fortify comments a bit. This patch strictly moves stuff around and as such doesn't cause any functional difference. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 272f7884e8c0effe594e5537092b9c0ccc0140b0 Author: Tejun Heo Date: Tue Mar 25 22:16:40 2008 +0900 libata: reorder functions in libata-sff.c Reorder functions in drivers/ata/libata-sff.c such that functions generally follow ops table order and init functions come last. This is in preparation of SFF cleanup. This patch strictly moves stuff around and as such doesn't cause any functional difference. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 21572ea58a1f99a59044febde90c31167d2f59ae Author: Tejun Heo Date: Tue Mar 25 22:16:39 2008 +0900 libata: drop ata_dev_select() from ata_dev_read_id There is no reason to issue device select in read_id, it will be done by ops->qc_issue() when IDENTIFY[_PACKET] is issued via ata_exec_internal(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a1efdaba2dbd6fb89e23a87b66d3f4dd92c9f5af Author: Tejun Heo Date: Tue Mar 25 12:22:50 2008 +0900 libata: make reset related methods proper port operations Currently reset methods are not specified directly in the ata_port_operations table. If a LLD wants to use custom reset methods, it should construct and use a error_handler which uses those reset methods. It's done this way for two reasons. First, the ops table already contained too many methods and adding four more of them would noticeably increase the amount of necessary boilerplate code all over low level drivers. Second, as ->error_handler uses those reset methods, it can get confusing. ie. By overriding ->error_handler, those reset ops can be made useless making layering a bit hazy. Now that ops table uses inheritance, the first problem doesn't exist anymore. The second isn't completely solved but is relieved by providing default values - most drivers can just override what it has implemented and don't have to concern itself about higher level callbacks. In fact, there currently is no driver which actually modifies error handling behavior. Drivers which override ->error_handler just wraps the standard error handler only to prepare the controller for EH. I don't think making ops layering strict has any noticeable benefit. This patch makes ->prereset, ->softreset, ->hardreset, ->postreset and their PMP counterparts propoer ops. Default ops are provided in the base ops tables and drivers are converted to override individual reset methods instead of creating custom error_handler. * ata_std_error_handler() doesn't use sata_std_hardreset() if SCRs aren't accessible. sata_promise doesn't need to use separate error_handlers for PATA and SATA anymore. * softreset is broken for sata_inic162x and sata_sx4. As libata now always prefers hardreset, this doesn't really matter but the ops are forced to NULL using ATA_OP_NULL for documentation purpose. * pata_hpt374 needs to use different prereset for the first and second PCI functions. This used to be done by branching from hpt374_error_handler(). The proper way to do this is to use separate ops and port_info tables for each function. Converted. Signed-off-by: Tejun Heo commit 959471936241bd83da7d0a76411cef6772140fe6 Author: Tejun Heo Date: Tue Mar 25 12:22:49 2008 +0900 libata: kill port_info->sht and ->irq_handler libata core layer doesn't care about sht or ->irq_handler. Those are only of interest to the LLD during initialization. This is confusing and has caused several drivers to have duplicate unused initializers for these fields. Currently only sata_nv uses these fields. Make sata_nv use ->private_data, which is supposed to carry LLD-specific information, instead and kill ->sht and ->irq_handler. nv_pi_priv structure is defined and struct literals are used to initialize private_data. Notational overhead is negligible. Signed-off-by: Tejun Heo commit 887125e3740283be25564bfc6fb5d24974b651ab Author: Tejun Heo Date: Tue Mar 25 12:22:49 2008 +0900 libata: stop overloading port_info->private_data port_info->private_data is currently used for two purposes - to record private data about the port_info or to specify host->private_data to use when allocating ata_host. This overloading is confusing and counter-intuitive in that port_info->private_data becomes host->private_data instead of port->private_data. In addition, port_info and host don't correspond to each other 1-to-1. Currently, the first non-NULL port_info->private_data is used. This patch makes port_info->private_data just be what it is - private_data for the port_info where LLD can jot down extra info. libata no longer sets host->private_data to the first non-NULL port_info->private_data, @host_priv argument is added to ata_pci_init_one() instead. LLDs which use ata_pci_init_one() can use this argument to pass in pointer to host private data. LLDs which don't should use init-register model anyway and can initialize host->private_data directly. Adding @host_priv instead of using init-register model for LLDs which use ata_pci_init_one() is suggested by Alan Cox. Signed-off-by: Tejun Heo Cc: Alan Cox commit 1bd5b715a305f6f13455e89becbd839010dd14b5 Author: Tejun Heo Date: Tue Mar 25 12:22:49 2008 +0900 libata: make ata_pci_init_one() not use ops->irq_handler and pi->sht ata_pci_init_one() is the only function which uses ops->irq_handler and pi->sht. Other initialization functions take the same information as arguments. This causes confusion and duplicate unused entries in structures. Make ata_pci_init_one() take sht as an argument and use ata_interrupt implicitly. All current users use ata_interrupt and if different irq handler is necessary open coding ata_pci_init_one() using ata_prepare_sff_host() and ata_activate_sff_host can be done under ten lines including error handling and driver which requires custom interrupt handler is likely to require custom initialization anyway. As ata_pci_init_one() was the last user of ops->irq_handler, this patch also kills the field. Signed-off-by: Tejun Heo commit 029cfd6b74fc5c517865fad78cf4a3ea8d9b664a Author: Tejun Heo Date: Tue Mar 25 12:22:49 2008 +0900 libata: implement and use ops inheritance libata lets low level drivers build ata_port_operations table and register it with libata core layer. This allows low level drivers high level of flexibility but also burdens them with lots of boilerplate entries. This becomes worse for drivers which support related similar controllers which differ slightly. They share most of the operations except for a few. However, the driver still needs to list all operations for each variant. This results in large number of duplicate entries, which is not only inefficient but also error-prone as it becomes very difficult to tell what the actual differences are. This duplicate boilerplates all over the low level drivers also make updating the core layer exteremely difficult and error-prone. When compounded with multi-branched development model, it ends up accumulating inconsistencies over time. Some of those inconsistencies cause immediate problems and fixed. Others just remain there dormant making maintenance increasingly difficult. To rectify the problem, this patch implements ata_port_operations inheritance. To allow LLDs to easily re-use their own ops tables overriding only specific methods, this patch implements poor man's class inheritance. An ops table has ->inherits field which can be set to any ops table as long as it doesn't create a loop. When the host is started, the inheritance chain is followed and any operation which isn't specified is taken from the nearest ancestor which has it specified. This operation is called finalization and done only once per an ops table and the LLD doesn't have to do anything special about it other than making the ops table non-const such that libata can update it. libata provides four base ops tables lower drivers can inherit from - base, sata, pmp, sff and bmdma. To avoid overriding these ops accidentaly, these ops are declared const and LLDs should always inherit these instead of using them directly. After finalization, all the ops table are identical before and after the patch except for setting .irq_handler to ata_interrupt in drivers which didn't use to. The .irq_handler doesn't have any actual effect and the field will soon be removed by later patch. * sata_sx4 is still using old style EH and currently doesn't take advantage of ops inheritance. Signed-off-by: Tejun Heo commit 68d1d07b510bb57a504588adc2bd2758adea0965 Author: Tejun Heo Date: Tue Mar 25 12:22:49 2008 +0900 libata: implement and use SHT initializers libata lets low level drivers build scsi_host_template and register it to the SCSI layer. This allows low level drivers high level of flexibility but also burdens them with lots of boilerplate entries. This patch implements SHT initializers which can be used to initialize all the boilerplate entries in a sht. Three variants of them are implemented - BASE, BMDMA and NCQ - for different types of drivers. Note that entries can be overriden by putting individual initializers after the helper macro. All sht tables are identical before and after this patch. Signed-off-by: Tejun Heo commit 6bd99b4e0998571808fc1f09d5162348f21ff8c1 Author: Tejun Heo Date: Tue Mar 25 12:22:48 2008 +0900 libata: normalize port_info, port_operations and sht tables Over the time, port info, ops and sht structures developed quite a bit of inconsistencies. This patch updates drivers. * Enable/disable_pm callbacks added to all ahci ops tables. * Every driver for SFF controllers now uses ata_sff_port_start() instead of ata_port_start() unless the driver has custom implementation. * Every driver for SFF controllers now uses ata_pci_default_filter() unless the driver has custom implementation. * Removed an odd port_info->sht initialization from ata_piix.c. Likely a merge byproduct. * A port which has ATA_FLAG_SATA set doesn't need to set cable_detect to ata_cable_sata(). Remove it from via and mv port ops. * Some drivers had unnecessary .max_sectors initialization which is ignored and was missing .slave_destroy callback. Fixed. * Removed unnecessary sht initializations port_info's. * Removed onsolete scsi device suspend/resume callbacks from pata_bf54x. * No reason to set ata_pci_default_filter() and bmdma functions for PIO-only drivers. Remove those callbacks and replace ata_bmdma_irq_clear with ata_noop_irq_clear. * pata_platform sets port_start to ata_dummy_ret0. port_start can just be set to NULL. * sata_fsl supports NCQ but was missing qc_defer. Fixed. * pata_rb600_cf implements dummy port_start. Removed. Signed-off-by: Tejun Heo commit 358f9a77a668660729e705fde9c3cf69f013aa98 Author: Tejun Heo Date: Tue Mar 25 12:22:47 2008 +0900 libata: implement and use ata_noop_irq_clear() ->irq_clear() is used to clear IRQ bit of a SFF controller and isn't useful for drivers which don't use libata SFF HSM implementation. However, it's a required callback and many drivers implement their own noop version as placeholder. This patch implements ata_noop_irq_clear and use it to replace those custom placeholders. Also, SFF drivers which don't support BMDMA don't need to use ata_bmdma_irq_clear(). It becomes noop if BMDMA address isn't initialized. Convert them to use ata_noop_irq_clear(). Signed-off-by: Tejun Heo commit c1bc899f5805771926c9198e2ab4d77122c356a1 Author: Tejun Heo Date: Tue Mar 25 12:22:47 2008 +0900 libata: reorganize ata_port_operations Over the time, ops in ata_port_operations has become a bit confusing. Reorganize. SFF/BMDMA ops are separated into separate a group as they will be taken out of ata_port_operations later. Signed-off-by: Tejun Heo commit f08048e94564d009b19038cfbdd800aa83e79c7f Author: Tejun Heo Date: Tue Mar 25 12:22:47 2008 +0900 libata: PCI device should be powered up before being accessed PCI device should be powered up or powered up before its PCI regsiters are accessed. Although PCI configuration register access is allowed in D3hot, PCI device is free to reset its status when transiting from D3hot to D0 causing configuration data to change. Many libata SFF drivers which use ata_pci_init_one() read and update configuration registers before calling ata_pci_init_one() which enables the PCI device. Also, in resume paths, some drivers access registers without resuming the PCI device. This patch adds a call to pcim_enable_device() in init path if register is accessed before calling ata_pci_init_one() and make resume paths first resume PCI devices, access PCI configuration regiters then resume ATA host. While at it... * cmd640 was strange in that it set ->resume even when CONFIG_PM is not. This is by-product of minimal build fix. Updated. * In cs5530, Don't BUG() on reinit failure. Just whine and fail resume. Signed-off-by: Tejun Heo commit b558edddb1c42c70a30cfe494984d4be409f7b2b Author: Tejun Heo Date: Thu Jan 24 00:05:14 2008 +0900 libata: kill ata_ehi_schedule_probe() ata_ehi_schedule_probe() was created to hide details of link-resuming reset magic. Now that all the softreset workarounds are gone, scheduling probe is very simple - set probe_mask and request RESET. Kill ata_ehi_schedule_probe() and open code it. This also increases consistency as ata_ehi_schedule_probe() couldn't cover individual device probings so they were open-coded even when the helper existed. While at it, define ATA_ALL_DEVICES as mask of all possible devices on a link and always use it when requesting probe on link level for simplicity and consistency. Setting extra bits in the probe_mask doesn't hurt anybody. Signed-off-by: Tejun Heo commit 8cebf274dd1c955a6e03385a85fd6569ce445946 Author: Tejun Heo Date: Thu Jan 24 00:05:14 2008 +0900 libata: kill ATA_LFLAG_SKIP_D2H_BSY Some controllers can't reliably record the initial D2H FIS after SATA link is brought online for whatever reason. Advanced controllers which don't have traditional TF register based interface often have this problem as they don't really have the TF registers to update while the controller and link are being initialized. SKIP_D2H_BSY works around the problem by skipping the wait for device readiness before issuing SRST, so for such controllers libata issues SRST blindly and hopes for the best. Now that libata defaults to hardreset, this workaround is no longer necessary. For controllers which have support for hardreset, SRST is never issued by itself. It is only issued as follow-up SRST for device classification and PMP initialization, so there's no need to wait for it from prereset. Kill ATA_LFLAG_SKIP_D2H_BSY. Signed-off-by: Tejun Heo commit 672b2d65ba83a6f3f801fd3d58851aa9c0725a54 Author: Tejun Heo Date: Thu Jan 24 00:05:14 2008 +0900 libata: kill ATA_EHI_RESUME_LINK ATA_EHI_RESUME_LINK has two functions - promote reset to hardreset if ATA_LFLAG_HRST_TO_RESUME is set and preventing EH from shortcutting reset action when probing is requested. The former is gone now and the latter can easily be achieved by making EH to perform at least one reset if reset is requested, which also makes more sense than depending on RESUME_LINK flag. As ATA_EHI_RESUME_LINK was the only EHI reset modifier, this also kills reset modifier handling. Signed-off-by: Tejun Heo commit d692abd92f22a81b38d52c39601871003262841c Author: Tejun Heo Date: Thu Jan 24 00:05:14 2008 +0900 libata: kill ATA_LFLAG_HRST_TO_RESUME Now that hardreset is the preferred method of resetting, there's no need for ATA_LFLAG_HRST_TO_RESUME flag. Kill it. Signed-off-by: Tejun Heo commit cf48062658e7ab3bc55e10c65676c3c73c16f8bf Author: Tejun Heo Date: Thu Jan 24 00:05:14 2008 +0900 libata: prefer hardreset When both soft and hard resets are available, libata preferred softreset till now. The logic behind it was to be softer to devices; however, this doesn't really help much. Rationales for the change: * BIOS may freeze lock certain things during boot and softreset can't unlock those. This by itself is okay but during operation PHY event or other error conditions can trigger hardreset and the device may end up with different configuration. For example, after a hardreset, previously unlockable HPA can be unlocked resulting in different device size and thus revalidation failure. Similar condition can occur during or after resume. * Certain ATAPI devices require hardreset to recover after certain error conditions. On PATA, this is done by issuing the DEVICE RESET command. On SATA, COMRESET has equivalent effect. The problem is that DEVICE RESET needs its own execution protocol. For SFF controllers with bare TF access, it can be easily implemented but more advanced controllers (e.g. ahci and sata_sil24) require specialized implementations. Simply using hardreset solves the problem nicely. * COMRESET initialization sequence is the norm in SATA land and many SATA devices don't work properly if only SRST is used. For example, some PMPs behave this way and libata works around by always issuing hardreset if the host supports PMP. Like the above example, libata has developed a number of mechanisms aiming to promote softreset to hardreset if softreset is not going to work. This approach is time consuming and error prone. Also, note that, dependingon how you read the specs, it could be argued that PMP fan-out ports require COMRESET to start operation. In fact, all the PMPs on the market except one don't work properly if COMRESET is not issued to fan-out ports after PMP reset. * COMRESET is an integral part of SATA connection and any working device should be able to handle COMRESET properly. After all, it's the way to signal hardreset during reboot. This is the most used and recommended (at least by the ahci spec) method of resetting devices. So, this patch makes libata prefer hardreset over softreset by making the following changes. * Rename ATA_EH_RESET_MASK to ATA_EH_RESET and use it whereever ATA_EH_{SOFT|HARD}RESET used to be used. ATA_EH_{SOFT|HARD}RESET is now only used to tell prereset whether soft or hard reset will be issued. * Strip out now unneeded promote-to-hardreset logics from ata_eh_reset(), ata_std_prereset(), sata_pmp_std_prereset() and other places. Signed-off-by: Tejun Heo commit 36b30ea940bb88d88c90698e0e3d97a805ab5856 Author: Jeff Garzik Date: Tue Oct 16 01:40:30 2007 -0400 [netdrvr] forcedeth: internal simplifications; changelog removal * remove changelog from source; its kept in git repository * consolidate descriptor version tests using nv_optimized() * consolidate NIC DMA start, stop and drain into nv_start_txrx(), nv_stop_txrx(), nv_drain_txrx() Signed-off-by: Jeff Garzik commit cac1f3c8a80f3fc0b4489d1d3ba29214677ffab2 Author: Paul Gortmaker Date: Tue Apr 15 12:49:21 2008 -0400 phylib: factor out get_phy_id from within get_phy_device We were already doing what amounts to a get_phy_id from within get_phy_device, and rather than duplicate this for the TBIPA probing, we might as well just factor it out and make it available instead. Signed-off-by: Paul Gortmaker Acked-by: Andy Fleming Signed-off-by: Jeff Garzik commit b1394f961a90a7195ea177ee56d54fe5c37181ca Author: Paul Gortmaker Date: Mon Apr 14 23:35:41 2008 -0400 PHY: add BCM5464 support to broadcom PHY driver The BCM5464 can be used with the current broadcom PHY driver by just adding the appropriate chip ID and using the existing support within. Signed-off-by: Paul Gortmaker Signed-off-by: Jeff Garzik commit d96a51f6b8040ef2b25b88032f23ffdb1ddba681 Author: Dan Noe Date: Sat Apr 12 22:34:38 2008 -0400 cxgb3: Fix __must_check warning with dev_dbg. Fix the warning: drivers/net/cxgb3/cxgb3_main.c: In function ‘offload_open’: drivers/net/cxgb3/cxgb3_main.c:936: warning: ignoring return value of ‘sysfs_create_group’, declared with attribute warn_unused_result Now the return value is checked; if sysfs_create_group() returns failure, a warning is printed using dev_dbg, and the code continues as before. Use of dev_dbg ensures printk is not needlessly included unless desired for debugging. Signed-off-by: Dan Noe Signed-off-by: Jeff Garzik commit 10e05f78c5566cb762ced12bf70307c60168d56e Author: Atsushi Nemoto Date: Sun Apr 13 00:11:46 2008 +0900 tc35815: Statistics cleanup On Sat, 12 Apr 2008 05:00:49 -0400, Jeff Garzik wrote: > applied 1-6 Thanks. Could you apply this too, or hopufully fold into Andy Fleming's "phy: Change mii_bus id field to a string" patch (commit c69fedae) ? ------------------------------------------------------ Subject: [PATCH] tc35815: build fix Fix build failure caused by Andy Fleming's "phy: Change mii_bus id field to a string" patch. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 703bb99ca73aa38d3f200d4c7e9bb460dce35fda Author: Sergei Shtylyov Date: Sat Apr 12 20:58:30 2008 +0400 natsemi: fix MMIO for PPC 44x platforms The driver stores the PCI resource address into 'unsigned long' variable before calling ioremap() on it. This warrants a kernel oops when the registers are accessed on PPC 44x platforms which (being 32-bit) have PCI memory space mapped beyond 4 GB. The arch/ppc/ kernel has a fixup in ioremap() that creates an illusion of the PCI memory resources are mapped below 4 GB, but arch/powerpc/ code got rid of this trick, having instead CONFIG_RESOURCES_64BIT enabled. Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 1a9a3e76dde191f82f7a8a66059dcbb4a9f63ff3 Author: Jason Wessel Date: Tue Apr 1 16:55:28 2008 -0500 kgdb: always use icache flush for sw breakpoints On the ppc 4xx architecture the instruction cache must be flushed as well as the data cache. This patch just makes it generic for all architectures where CACHE_FLUSH_IS_SAFE is set to 1. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 56fb70932964927597ce30bbd820471633c72adc Author: Jason Wessel Date: Tue Apr 1 16:55:27 2008 -0500 kgdb: fix SMP NMI kgdb_handle_exception exit race Fix the problem of protecting the kgdb handle_exception exit which had an NMI race condition, while trying to restore normal system operation. There was a small window after the master processor sets cpu_in_debug to zero but before it has set kgdb_active to zero where a non-master processor in an SMP system could receive an NMI and re-enter the kgdb_wait() loop. As long as the master processor sets the cpu_in_debug before sending the cpu roundup the cpu_in_debug variable can also be used to guard against the race condition. The kgdb_wait() function no longer needs to check kgdb_active because it is done in the arch specific code and handled along with the nmi traps at the low level. This also allows kgdb_wait() to exit correctly if it was entered for some unknown reason due to a spurious NMI that could not be handled by the arch specific code. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 225a4424ade24e913c081d5a4c4bd71a0fe2e0ac Author: Jason Wessel Date: Tue Apr 1 16:55:26 2008 -0500 kgdb: documentation fixes Minor cleanups to kgdb docs. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 974460c5bfd9f6c38aa3dda189a63f9fc351035f Author: Jason Wessel Date: Thu Mar 20 13:43:44 2008 -0500 kgdb: allow static kgdbts boot configuration This patch adds in the ability to compile the kgdb internal test string into the kernel so as to run the tests at boot without changing the kernel boot arguments. This patch also changes all the error paths to invoke WARN_ON(1) which will emit the line number of the file and dump the kernel stack when an error occurs. You can disable the tests in a kernel that is built this way using "kgdbts=" Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit e3e2aaf7dc0d82a055e084cfd48b9257c0c66b68 Author: Jason Wessel Date: Thu Mar 20 13:43:45 2008 -0500 kgdb: add documentation Add in the kgdb documentation for kgdb. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 4a1b5502d426df09b9ba1cbcc74fd09702a74cd8 Author: Andrew Morton Date: Fri Mar 7 15:51:16 2008 -0800 kgdb: Kconfig fix ERROR: "uart_parse_options" [drivers/serial/serial_core.ko] undefined! Cc: Jason Wessel Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit e8d31c204e36e019b9134f2a11926cac0fcf9b19 Author: Jason Wessel Date: Fri Mar 7 16:34:17 2008 -0600 kgdb: add kgdb internal test suite This patch adds regression tests for testing the kgdb core and arch specific implementation. The kgdb test suite is designed to be built into the kernel and not as a module because it uses a number of low level kernel and kgdb primitives which should not be exported externally. The kgdb test suite is designed as a KGDB I/O module which simulates the communications that a debugger would have with kgdb. The tests are broken up in to a line by line and referenced here as a "get" which is kgdb requesting input and "put" which is kgdb sending a response. The kgdb suite can be invoked from the kernel command line arguments system or executed dynamically at run time. The test suite uses the variable "kgdbts" to obtain the information about which tests to run and to configure the verbosity level. The following are the various characters you can use with the kgdbts= line: When using the "kgdbts=" you only choose one of the following core test types: A = Run all the core tests silently V1 = Run all the core tests with minimal output V2 = Run all the core tests in debug mode You can also specify optional tests: N## = Go to sleep with interrupts of for ## seconds to test the HW NMI watchdog F## = Break at do_fork for ## iterations S## = Break at sys_open for ## iterations NOTE: that the do_fork and sys_open tests are mutually exclusive. To invoke the kgdb test suite from boot you use a kernel start argument as follows: kgdbts=V1 kgdbwait Or if you wanted to perform the NMI test for 6 seconds and do_fork test for 100 forks, you could use: kgdbts=V1N6F100 kgdbwait The test suite can also be invoked at run time with: echo kgdbts=V1N6F100 > /sys/module/kgdbts/parameters/kgdbts Or as another example: echo kgdbts=V2 > /sys/module/kgdbts/parameters/kgdbts When developing a new kgdb arch specific implementation or using these tests for the purpose of regression testing, several invocations are required. 1) Boot with the test suite enabled by using the kernel arguments "kgdbts=V1F100 kgdbwait" ## If kgdb arch specific implementation has NMI use "kgdbts=V1N6F100 2) After the system boot run the basic test. echo kgdbts=V1 > /sys/module/kgdbts/parameters/kgdbts 3) Run the concurrency tests. It is best to use n+1 while loops where n is the number of cpus you have in your system. The example below uses only two loops. ## This tests break points on sys_open while [ 1 ] ; do find / > /dev/null 2>&1 ; done & while [ 1 ] ; do find / > /dev/null 2>&1 ; done & echo kgdbts=V1S10000 > /sys/module/kgdbts/parameters/kgdbts fg # and hit control-c fg # and hit control-c ## This tests break points on do_fork while [ 1 ] ; do date > /dev/null ; done & while [ 1 ] ; do date > /dev/null ; done & echo kgdbts=V1F1000 > /sys/module/kgdbts/parameters/kgdbts fg # and hit control-c Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 737a460f21febe551ff1d2299b63bae9b154078f Author: Jason Wessel Date: Fri Mar 7 16:34:16 2008 -0600 kgdb: fix several kgdb regressions kgdb core fixes: - Check to see that mm->mmap_cache is not null before calling flush_cache_range(), else on arch=ARM it will cause a fatal fault. - Breakpoints should only be restored if they are in the BP_ACTIVE state. - Fix a typo in comments to "kgdb_register_io_module" x86 kgdb fixes: - Fix the x86 arch handler such that on a kill or detach that the appropriate cleanup on the single stepping flags gets run. - Add in the DIE_NMIWATCHDOG call for x86_64 - Touch the nmi watchdog before returning the system to normal operation after performing any kind of kgdb operation, else the possibility exists to trigger the watchdog. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 84b5ae15216aa3ea0314f395536ef9829af21e14 Author: Jason Wessel Date: Wed Feb 20 13:33:39 2008 -0600 kgdb: kgdboc pl011 I/O module Implement the serial polling hooks for the pl011 uart for use with kgdboc. This patch was specifically tested on the ARM Versatile AB reference platform. [ mingo@elte.hu: minor cleanups. ] Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b4b8ac524d9b6ed7229017145afa1d7afbea4a48 Author: Jason Wessel Date: Wed Feb 20 13:33:38 2008 -0600 kgdb: fix optional arch functions and probe_kernel_* Fix two regressions dealing with the kgdb core. 1) kgdb_skipexception and kgdb_post_primary_code are optional functions that are only required on archs that need special exception fixups. 2) The kernel address space scope must be set on any probe_kernel_* function or archs such as ARCH=arm will not allow access to the kernel memory space. As an example, it is required to allow the full kernel address space is when you the kernel debugger to inspect a system call. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 64e9ee3095b61d0300ea548216a57d2536611309 Author: Jason Wessel Date: Fri Feb 15 14:55:56 2008 -0600 kgdb: add x86 HW breakpoints Add HW breakpoints into the arch specific portion of x86 kgdb. In the current x86 kernel.org kernels HW breakpoints are changed out in lazy fashion because there is no infrastructure around changing them when changing to a kernel task or entering the kernel mode via a system call. This lazy approach means that if a user process uses HW breakpoints the kgdb will loose out. This is an acceptable trade off because the developer debugging the kernel is assumed to know what is going on system wide and would be aware of this trade off. There is a minor bug fix to the kgdb core so as to correctly call the hw breakpoint functions with a valid value from the enum. There is also a minor change to the x86_64 startup code when using early HW breakpoints. When the debugger is connected, the cpu startup code must not zero out the HW breakpoint registers or you cannot hit the breakpoints you are interested in, in the first place. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 67baf94cd260dc37504dbd15ba3faa2d8cf8a444 Author: Jason Wessel Date: Fri Feb 15 14:55:55 2008 -0600 kgdb: print breakpoint removed on exception If kgdb does remove a breakpoint that had a problem on the recursion check, it should also print the address of the breakpoint. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 7c3078b637882303b1dcf6a16229d0e35f6b60a5 Author: Jason Wessel Date: Fri Feb 15 14:55:54 2008 -0600 kgdb: clocksource watchdog In order to not trip the clocksource watchdog, kgdb must touch the clocksource watchdog on the return to normal system run state. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit d359752407f8916c29ad53a5c30ac73e338f2797 Author: Jason Wessel Date: Fri Feb 15 14:55:53 2008 -0600 kgdb: fix NMI hangs This patch fixes the hang regression with kgdb when the NMI interrupt comes in while the master core is returning from an exception. Adjust the NMI logic such that KGDB will not stop NMI exceptions from occurring by in general returning NOTIFY_DONE. It is not possible to distinguish the debug NMI sync vs the normal NMI apic interrupt so kgdb needs to catch the unknown NMI if it the debugger was previously active on one of the cpus. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit c191e5ad6b3fd8cc84b2b6d62c02fcd6837c8a8f Author: Jason Wessel Date: Fri Feb 15 14:55:52 2008 -0600 kgdb: fix kgdboc dynamic module configuration Fix the run time configuration of kgdboc such that it does not default to 9600 baud if you use the "echo" command to configure the sysfs module paramater. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 6cdf6e06d70dcf42314edb2c43b7c7ebc56e32e5 Author: Jason Wessel Date: Thu Apr 17 20:05:38 2008 +0200 kgdb: document parameters document the kgdboc module/boot parameter. Signed-off-by: Jason Wessel Signed-off-by: Jan Kiszka Signed-off-by: Ingo Molnar commit 82da3ff89dc2a1842cff9b0d4cbc345cb90b59e1 Author: Ingo Molnar Date: Thu Apr 17 20:05:37 2008 +0200 x86: kgdb support simplified and streamlined kgdb support on x86, both 32-bit and 64-bit, based on patch from: Subject: kgdb: core-lite From: Jason Wessel [ and countless other authors - see the patch for details. ] Signed-off-by: Ingo Molnar Signed-off-by: Jason Wessel Signed-off-by: Jan Kiszka Reviewed-by: Thomas Gleixner commit f2d937f3bf00665ccf048b3b6616ef95859b0945 Author: Jason Wessel Date: Thu Apr 17 20:05:37 2008 +0200 consoles: polling support, kgdboc polled console handling support, to access a console in an irq-less way while in debug or irq context. absolutely zero impact as long as CONFIG_CONSOLE_POLL is disabled. (which is the default) [ jan.kiszka@siemens.com: lots of cleanups ] [ mingo@elte.hu: redesign, splitups, cleanups. ] Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar Signed-off-by: Jan Kiszka Reviewed-by: Thomas Gleixner commit dc7d552705215ac50a0617fcf51bb9c736255b8e Author: Jason Wessel Date: Thu Apr 17 20:05:37 2008 +0200 kgdb: core kgdb core code. Handles the protocol and the arch details. [ mingo@elte.hu: heavily modified, simplified and cleaned up. ] [ xemul@openvz.org: use find_task_by_pid_ns ] Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar Signed-off-by: Jan Kiszka Reviewed-by: Thomas Gleixner commit c33fa9f5609e918824446ef9a75319d4a802f1f4 Author: Ingo Molnar Date: Thu Apr 17 20:05:36 2008 +0200 uaccess: add probe_kernel_write() add probe_kernel_read() and probe_kernel_write(). Uninlined and restricted to kernel range memory only, as suggested by Linus. Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit 0e4ff797d7f2f2bb860b8f31dc5d1f2273b2f05a Author: Adrian Bunk Date: Thu Apr 17 12:37:01 2008 +0300 [SCSI] qla1280: remove version check There's no point for an in-kernel driver to check whether it's compiled under kernel < 2.6.0 . Signed-off-by: Adrian Bunk Cc: Jes Sorensen Signed-off-by: James Bottomley commit 17b7a8de3bf1eb2cba14d5c8d919e55d511d8a71 Author: Al Viro Date: Wed Apr 16 23:27:45 2008 +0100 [SCSI] libsas: fix endianness bug in sas_ata Signed-off-by: Al Viro Signed-off-by: James Bottomley commit ee95a16d3950367d32beb6ffed287666631dbda9 Author: Martin Peschke Date: Thu Apr 17 00:08:03 2008 +0200 [SCSI] zfcp: fix compiler warning caused by poking inside new semaphore (linux-next) as seen in linux-next tree: drivers/s390/scsi/zfcp_dbf.c: In function ‘zfcp_rec_dbf_event_thread’: drivers/s390/scsi/zfcp_dbf.c:697: warning: passing argument 1 of ‘atomic_read’ from incompatible pointer type Caused by recent git commit: commit 348447e85749120ad600a5c8e23b6bb7058b931d Author: Martin Peschke Date: Thu Mar 27 14:22:01 2008 +0100 [SCSI] zfcp: Add trace records for recovery thread and its queues We are not supposed to poke inside semaphore. Signed-off-by: Martin Peschke Acked-by: Christof Schmitt Signed-off-by: James Bottomley commit 71b264f85ff50c14fe945ffff06ae0d5e9a9124e Merge: f4df39c... 072f042... Author: Tony Luck Date: Thu Apr 17 10:14:51 2008 -0700 Pull miscellaneous into release branch Conflicts: arch/ia64/kernel/mca.c commit f4df39cbdd9e9ab615e80148cc271db22a8508ad Merge: a49072b... a6c75b86... Author: Tony Luck Date: Thu Apr 17 10:13:57 2008 -0700 Pull nptcg into release branch Conflicts: arch/ia64/mm/tlb.c commit a49072bb367a94a9af6c6a6dcbaa1dc5617d7fa0 Merge: fc494d6... 31a6b11... Author: Tony Luck Date: Thu Apr 17 10:13:09 2008 -0700 Pull kvm-patches into release branch commit fc494d6c1825de37f04abe147741d50be08403ab Merge: 78514c1... 2c6e6db... Author: Tony Luck Date: Thu Apr 17 10:12:55 2008 -0700 Pull percpureserve into release branch commit 78514c106b90b628a90c630a3bc87a6538aed865 Merge: 14d0647... 4cd8dc8... Author: Tony Luck Date: Thu Apr 17 10:12:44 2008 -0700 Pull regset into release branch commit 14d0647c98f52e2d76113d44de6b771ec87a934f Merge: 2a467d5... b64f34c... Author: Tony Luck Date: Thu Apr 17 10:12:27 2008 -0700 Pull virt-cpu-accounting into release branch commit 2a467d5f7d6bdc90c365db167a10022dd8351894 Merge: 4b119e2... 4fe01c6... Author: Tony Luck Date: Thu Apr 17 10:12:07 2008 -0700 Pull fsys_gettimeofday into release branch commit 79b34afa68de4088081bcb7b4aed0fc4d8bf3618 Author: David Anders Date: Thu Apr 10 22:36:59 2008 +0100 [ARM] 4963/1: S3C2410 - add basic machine support for the TCT Hammer Add the TinCanTools Hammer board to list of supported machines in the arch/arm/mach-s3c2410 directory, as well as a default config entry. the mach-tct_hammer.c file initializes basic i/o, clocks, irqs, as well as the mtd flash layout if enabled in the kernel configuration. Signed-off-by: David Anders Signed-off-by: Ben Dooks Signed-off-by: Russell King commit de56a2f9228477866449963c2aff9df4728ea7fb Author: Davide Rizzo Date: Sun Mar 30 08:58:33 2008 +0100 [ARM] 4883/1: Adds some missing gpio defines for S3C2410 This is a small addition of forgotten defines to regs-gpio.h include file for the Samsung S3C2410 ARM9 SoC Signed-off-by: Davide Rizzo Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 3c7d9c81e1302c244180e62999a08ca95b175cf5 Author: Ben Dooks Date: Wed Apr 16 00:15:20 2008 +0100 [ARM] 4987/1: S3C24XX: Ensure watchdog reset initiated from cached code. There seems to be some problem with at-least the S3C2440 and bus traffic during an reset. It is unlikely, but still possible that the system will hang in such a way that the watchdog cannot get the system out of the state it is in. Change to making the code that calls the watchdog reset run from cached memory so that instruction fetches have quiesced before the watchdog fires. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit d96a980441a70168a8ead0a0f23c4c63725da5fa Author: Ben Dooks Date: Wed Apr 16 00:12:39 2008 +0100 [ARM] 4986/1: S3C24XX: Simtec machines need UCLK as parent to DCLK All current Simtec designs source the DCLK outputs from the UPLL. This means the DCLK's parent must be set to UPLL so that anything enabling and disabling an UPLL sourced clock does not shutdown the DCLK due to missing open counts. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 1017be88d341c05adc8d790d8092781b7330dafd Author: Ben Dooks Date: Wed Apr 16 00:08:36 2008 +0100 [ARM] 4985/1: S3C2412: Fix ARMDIVN name in CLKDIVN definition. Fix the name of the S3C2412_CLKDIVN_ARMDIVN define. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 6ddc4b07a2669bdb8b90e3e12fb1ccfb6dc4a99c Author: Ben Dooks Date: Wed Apr 16 00:06:14 2008 +0100 [ARM] 4984/1: S3C24XX: Do not assert nRSTOUT on BAST over suspend. Change GPA21 to output over reset so that nRSTOUT is not asserted whilst suspended. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c63fc13f806b11576e8c41969d4b1598dd261d80 Author: Ben Dooks Date: Wed Apr 16 00:04:19 2008 +0100 [ARM] 4983/1: S3C2412: Add initial memory controller registers Add initial defines for the S3C2412's memory controller registers. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 77ad386e596c6b0930cc2e09e3cce485e3ee7f72 Author: Ingo Molnar Date: Fri Mar 21 15:23:19 2008 +0100 x86: standalone trampoline code move the trampoline setup code out of smpboot.c - UP kernels can have suspend support too. Signed-off-by: Ingo Molnar commit e44b7b7525ad9d43163ab5e60c784325419e0ea6 Author: Pavel Machek Date: Thu Apr 10 23:28:10 2008 +0200 x86: move suspend wakeup code to C Move wakeup code to .c, so that video mode setting code can be shared between boot and wakeup. Remove nasty assembly code in 64-bit case by re-using trampoline code. Stack setup was fixed to clear high 16bits of %esp, maybe that fixes some machines. .c code sharing and morse code was done H. Peter Anvin, Sam Ravnborg reviewed kbuild related stuff, and it seems okay to him. Rafael did some cleanups. [rjw: * Made the patch stop breaking compilation on x86-32 * Added arch/x86/kernel/acpi/sleep.h * Got rid of compiler warnings in arch/x86/kernel/acpi/sleep.c * Fixed 32-bit compilation on x86-64 systems * Added include/asm-x86/trampoline.h and fixed the non-SMP compilation on 64-bit x86 * Removed arch/x86/kernel/acpi/sleep_32.c which was not used * Fixed some breakage caused by the integration of smpboot.c done under us in the meantime] Signed-off-by: Pavel Machek Signed-off-by: H. Peter Anvin Reviewed-by: Sam Ravnborg Signed-off-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar commit f49688d459c5eaa62db3597cbfd3cb13e361d415 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:11:39 2008 +0100 x86: coding style fixes to arch/x86/kernel/acpi/sleep.c Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit e223f162a1d37aeeaa6c1ee37d81cc084aa2b004 Author: Jacek Luczak Date: Thu Apr 10 21:16:41 2008 +0200 x86: setup_trampoline() - fix section mismatch warning this patch fixes section mismatch warnings (on x86_64 host) in setup_trampoline(), which was referencing __initdata variables trampoline_data and trampoline_end. Warning messages: WARNING: arch/x86/kernel/built-in.o(.cpuinit.text+0x2b6a): Section mismatch in reference from the function setup_trampoline() to the variable .init.data:trampoline_data The function __cpuinit setup_trampoline() references a variable __initdata trampoline_data. If trampoline_data is only used by setup_trampoline then annotate trampoline_data with a matching annotation. WARNING: arch/x86/kernel/built-in.o(.cpuinit.text+0x2b71): Section mismatch in reference from the function setup_trampoline() to the variable .init.data:trampoline_end The function __cpuinit setup_trampoline() references a variable __initdata trampoline_end. If trampoline_end is only used by setup_trampoline then annotate trampoline_end with a matching annotation. Signed-off-by: Ingo Molnar commit df96323dfaebdf7e17cdf0656096e6ab2158ec76 Author: Jacek Luczak Date: Fri Apr 11 13:28:37 2008 +0200 x86: section mismatch fixes, #1 This patch fixes mismatch warnings in smp_checks() (in arch/x86/kernel/smpboot.c): WARNING: arch/x86/kernel/built-in.o(.text+0x11922): Section mismatch in reference from the function smp_checks() to the variable .cpuinit.data:smp_b_stepping The function smp_checks() references the variable __cpuinitdata smp_b_stepping. This is often because smp_checks lacks a __cpuinitdata annotation or the annotation of smp_b_stepping is wrong. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar commit 63d38198a0f57dca87e6cb79931c7bedbb7ab069 Author: Alok Kataria Date: Mon Apr 7 11:38:33 2008 -0700 x86: fix paranoia about using BIOS quickboot mechanism. > > Make sure that we clear the "shutdown status flag" in the CMOS > > register after each CPU is brought up. This fixes a problem where the > > "shutdown status flag" may remain set when a CPU is brought up after > > booting. > > btw., what problem does this result in, exactly? The shutdown status flag set to "0xA", corresponds to "JMP double word request without INT init". This JMP at reboot time is at an unintended location. And results in Triple faults in our case. Though this error at reboot can be safely ignored in a VM environment, am not sure what the effect would be on a physical system. May be it will result in a triple fault and an eventual hardware reset thus masking this BUG in the kernel. This fix just makes sure that we reset that status flag after initialization is done. Fix paranoia about using BIOS quickboot mechanism. Make sure that we clear the "shutdown status flag" in the CMOS register after each CPU is brought up. This fixes a problem where the "shutdown status flag" may remain set when a CPU is brought up after booting. Signed-off-by: Alok N Kataria Signed-off-by: Dan Arai Signed-off-by: Ingo Molnar commit 711554dbc4d5402338ce115dca0df38e9f633330 Author: Yinghai Lu Date: Mon Apr 7 11:36:39 2008 -0700 x86: print out buggy mptable print out buggy mptable, instead of skipping it quietly Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 6107a7c4e2a871c37bb6c49e5e8286079f0968f9 Author: Akinobu Mita Date: Sat Apr 5 22:39:09 2008 +0900 x86: use cpu_online() Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 7281c96f37f784d64b0241a7b082bb13bab9580b Author: Akinobu Mita Date: Sat Apr 5 22:39:08 2008 +0900 x86: use cpumask_of_cpu() Use cpumask_of_cpu() rather than the pair of cpus_clear() and cpu_set(). Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit addfc66bb55234c154bb43f0f7606bc5c9fc511d Author: Akinobu Mita Date: Sat Apr 5 22:39:07 2008 +0900 x86: remove unnecessary tmp local variable There is no reason to use obscurer name. Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 07004b12a1199f82c016eb976f493e5b70820a1d Author: Akinobu Mita Date: Sat Apr 5 22:39:06 2008 +0900 x86: remove unnecessary memset() No need to clear the memory allocated by alloc_bootmem(). It is already filled with zero. Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit a2249cba2f1d7d06633de09c71353ae6b1567206 Author: Akinobu Mita Date: Sat Apr 5 22:39:05 2008 +0900 x86: use ioapic_read_entry() and ioapic_write_entry() Remove duplicate code by using ioapic_read_entry() and ioapic_write_entry() in io_apic_{32,64}.c Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 9d25cb0811fd0bca2cfd80095ee7663147363f68 Author: Akinobu Mita Date: Sat Apr 5 22:39:04 2008 +0900 x86: avoid redundant loop in io_apic_level_ack_pending() If one can find an ack pending pin, there is no need to check the rest of them. Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 03056c88cf65ec8375753900246b36ae1c4b8a33 Author: Alexander van Heukelum Date: Sun Apr 6 14:47:00 2008 +0200 x86: remove superfluous initialisation in boot code. In arch/x86/boot/compressed/misc.c, the variable vidmem is the only variable that ends up in de data segment. It's also superfluous, because the first thing the code does is: if (RM_SCREEN_INFO.orig_video_mode == 7) { vidmem = (char *) 0xb0000; vidport = 0x3b4; } else { vidmem = (char *) 0xb8000; vidport = 0x3d4; } This patch removes the initialisation. Signed-off-by: Ingo Molnar commit 85bdddec5eaeb2464bf1cad6a17225416e65a8d6 Author: Alexey Starikovskiy Date: Fri Apr 4 23:43:18 2008 +0400 x86: merge mpparse_{32,64}.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit cfa08d6cc3421bb08ebaa34467107e58999a7c28 Author: Alexey Starikovskiy Date: Fri Apr 4 23:43:12 2008 +0400 x86: unify mp_register_gsi Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit c769bfee5731f2614983bd7a9079eb90514e4b9f Author: Alexey Starikovskiy Date: Fri Apr 4 23:43:06 2008 +0400 x86: unify mp_config_acpi_legacy_irqs Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 57b733e902f179dc453609db6334f8e9801cbb7a Author: Alexey Starikovskiy Date: Fri Apr 4 23:43:00 2008 +0400 x86: unify mp_register_ioapic Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 22cbb4bd12a86b80125accb77515482894ee670f Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:53 2008 +0400 x86: unify uniq_io_apic_id Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 92fd4b7abdb2b5b85d73ca0adbb6ad3f8b79f805 Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:46 2008 +0400 x86: unify smp_scan_config Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 4421b1c8b9f5da24f8c737ede2c05d399dea2015 Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:40 2008 +0400 x86: unify get_smp_config Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 62441bf1e0d5153dfb0cf8497df16deacff90789 Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:34 2008 +0400 x86: unify construct_default_ioirq_mptable Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit e950bea8bff23c14eb38dc706aadf197ed81abf4 Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:27 2008 +0400 x86: unify smp_read_mpc Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit f8924e770e048429ae13bfabe1ddad9bf1e64df7 Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:21 2008 +0400 x86: unify mp_bus_info Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 746f2244065ddfbe0c5d339e309db4d2b48f185b Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:15 2008 +0400 x86: unify arch/x86/kernel/mpparse_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 888032cd23f0244fdefdcbe265952e7831a9cacc Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:09 2008 +0400 x86: add early flags to mpparse_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 4ef81297f72655c4f4c1ae9c371453f9ca796aad Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:03 2008 +0400 x86: lindent mpparse_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 31d2092eb0c23636b73d2c24c0c11b66470cef58 Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:57 2008 +0400 x86: move mp_register_lapic_address to boot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit dfac2189c2e1fbb90ee83f15b5e404425754e9f4 Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:50 2008 +0400 x86: move mp_register_lapic to boot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 2fe60147570231cde0d1f14711d2e34ccdf54b65 Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:44 2008 +0400 x86: move up & smp variables to setup.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 350bae1d3f0d0c763c5bb9cc5fb5c363bd0086db Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:38 2008 +0400 x86: move mp_irqs to io_apic_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 584f734d035db5c5c07f938e464ddeeefde7ec31 Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:32 2008 +0400 x86: move mp_irqs to io_apics_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 9e5c5f1dd29c86307e6b3cfa75e85d0efccc1f6b Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:26 2008 +0400 x86: move mp_ioapic_routing to boot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 9c7408f3c491b6fe990cd2dacd5471ca21760551 Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:19 2008 +0400 x86: move mp_ioapics to io_apic_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 9f640ccbc67b7c306206502bca420a80ad15c965 Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:13 2008 +0400 x86: move mp_ioapics to io_apic_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit ba1ce61ff226bddebd2101a29fe56b4664ef7cec Author: Ingo Molnar Date: Mon Apr 7 13:11:09 2008 +0200 x86: don't set io apic features if io-apic is not enabled, fix Signed-off-by: Ingo Molnar commit 61048c6328819b0973ef662f6d46f2e2bc753ceb Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:07 2008 +0400 x86: don't set IO APIC features if IO APIC is not enabled Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 16ecf7a47cf4f1c97189a551b001195aed550cc2 Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:00 2008 +0400 x86: move x86_bios_cpu_apicid_init to smpboot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 708650afe98a50d0b280bea9dcf5f160b94ee9fb Author: Alexey Starikovskiy Date: Fri Apr 4 23:40:54 2008 +0400 x86: move x86_cpu_to_apicid_init to smpboot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 0fc0906e59df1427d194b78376d15ca48079f6bf Author: Alexey Starikovskiy Date: Fri Apr 4 23:40:48 2008 +0400 x86: move phys_cpu_present_map to setup.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 76eb41319d6ab98d17c81a8001a6d7ed9f8359ee Author: Alexey Starikovskiy Date: Fri Apr 4 23:40:41 2008 +0400 x86: move x86_cpu_to_apicid to setup.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit af926a5830079bf36253dcf3a1b75b1497fc7fd1 Author: Alexey Starikovskiy Date: Fri Apr 4 23:40:32 2008 +0400 x86: move x86_bios_cpu_apicid to io_apic_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit d61ecf0b53131564949bc4196e70f676000a845a Author: Ingo Molnar Date: Fri Apr 4 17:11:09 2008 +0200 x86: 4kstacks default Signed-off-by: Ingo Molnar commit f408b43ceedce49f26c01cd4a68dbbdbe2743e51 Author: Randy Dunlap Date: Tue Apr 1 15:44:01 2008 -0700 x86: fix VisualWS and Voyager kexec build failures without this patch: VOYAGER: kernel/built-in.o: In function `crash_kexec': (.text+0x28588): undefined reference to `machine_crash_shutdown' VISWS: kernel/built-in.o: In function `crash_kexec': /next-20080401/kernel/kexec.c:1074: undefined reference to `machine_crash_shutdown' make[1]: *** [.tmp_vmlinux1] Error 1 because arch/x86/kernel/reboot.c isn't built since CONFIG_X86_BIOS_REBOOT=n, so machine_crash_shutdown() isn't available. This patch does seem a small bit odd since the KEXEC help text says that kexec is independent of the system firmware. Signed-off-by: Randy Dunlap Cc: Eric Biederman Cc: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit d2b3bab63bd9999a29eb74326a7baf61901385e6 Author: Hugh Dickins Date: Thu Apr 3 23:48:29 2008 +0100 x86: MPSC should use P6 NOPs I've now noticed that the machine I call MPENTIUM4 for 32-bit kernels is called MPSC for 64-bit kernels, and in that case it still doesn't get the P6 NOPs it ought to. hpa explains that MK8 should still be excluded, so it's just a matter of including MPSC along with MPENTIUM4. Signed-off-by: Hugh Dickins Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 431ef7a2a486201967304fcc9cfc33e945626fed Author: Cyrill Gorcunov Date: Tue Apr 1 19:41:50 2008 +0400 x86: debug Store - call kfree if only we really need it We should call for kfree if only we really need it. Though it's safe to call kfree with NULL pointer passed in this code we've already tested the pointer and can eliminate the call Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 19b4e7f4e9b1c88459cf2c9b9ccaa09cb8bf854d Author: Ingo Molnar Date: Thu Apr 10 10:12:27 2008 +0200 x86: extend the scheduled bzImage symlinks removal use of the bzImage symlinks in developer scripts is still widespread, so lets extend the removal period by 2 years. These symlinks cost us near nothing. Signed-off-by: Ingo Molnar commit 13af4836b3914b23946f6a8982934e2c828c183f Author: Ingo Molnar Date: Wed Apr 2 13:23:22 2008 +0200 x86: improve default idle Signed-off-by: Ingo Molnar commit f5149a49f994e5c469ac398af7cdeb8eb612d3a4 Author: Jack Steiner Date: Sun Mar 30 21:02:07 2008 -0500 x86: support for new UV apic, fix Yinghai Lu pointed out a bug in the previous patches, fix double-shift of apicid. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 1725037f7232c1518b9be1832f5823b7c576c35c Author: Ingo Molnar Date: Mon Mar 31 14:52:15 2008 +0200 x86: set_cyc2ns_scale() remove prev scale Peter Zijlstra pointed out that it's unused. Signed-off-by: Ingo Molnar commit b447a468fcd130aa8951672b6115c673c274e888 Author: Mike Travis Date: Tue Mar 25 15:06:51 2008 -0700 x86: clean up non-smp usage of cpu maps Cleanup references to the early cpu maps for the non-SMP configuration and remove some functions called for SMP configurations only. Cc: Andi Kleen Cc: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit a24eae88ad3767d0a4a940a10e4a9cec849b7778 Author: Ingo Molnar Date: Sun Mar 30 12:17:12 2008 +0200 x86: uv fix Signed-off-by: Ingo Molnar commit ac23d4ee3f84de33c16ed7e68f9adee2386e74fb Author: Jack Steiner Date: Fri Mar 28 14:12:16 2008 -0500 x86: support for new UV apic UV supports really big systems. So big, in fact, that the APICID register does not contain enough bits to contain an APICID that is unique across all cpus. The UV BIOS supports 3 APICID modes: - legacy mode. This mode uses the old APIC mode where APICID is in bits [31:24] of the APICID register. - x2apic mode. This mode is whitebox-compatible. APICIDs are unique across all cpus. Standard x2apic APIC operations (Intel-defined) can be used for IPIs. The node identifier fits within the Intel-defined portion of the APICID register. - x2apic-uv mode. In this mode, the APICIDs on each node have unique IDs, but IDs on different node are not unique. For example, if each mode has 32 cpus, the APICIDs on each node might be 0 - 31. Every node has the same set of IDs. The UV hub is used to route IPIs/interrupts to the correct node. Traditional APIC operations WILL NOT WORK. In x2apic-uv mode, the ACPI tables all contain a full unique ID (note: exact bit layout still changing but the following is close): nnnnnnnnnnlc0cch n = unique node number l = socket number on board c = core h = hyperthread Only the "lc0cch" bits are written to the APICID register. The remaining bits are supplied by having the get_apic_id() function "OR" the extra bits into the value read from the APICID register. (Hmmm.. why not keep the ENTIRE APICID register in per-cpu data....) The x2apic-uv mode is recognized by the MADT table containing: oem_id = "SGI" oem_table_id = "UV-X" Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 570da318cf0e3053e62030253494c410a18d4be7 Author: Ingo Molnar Date: Tue Apr 8 12:20:50 2008 +0200 x86: support for new UV apic, prepare Signed-off-by: Ingo Molnar commit 8400def8252f90ecd056657c0bac806afadd8511 Author: Jack Steiner Date: Fri Mar 28 14:12:14 2008 -0500 x86: define the macros and tables for blade functions Add UV macros for converting between cpu numbers, blade numbers and node numbers. Note that these are used ONLY within x86_64 UV modules, and are not for general kernel use. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 952cf6d7ae52cc5423baa57e978e20e732a89ba6 Author: Jack Steiner Date: Fri Mar 28 14:12:13 2008 -0500 x86: define the macros and tables for the basic UV infrastructure. Define the macros and tables for the basic UV infrastructure. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 0d3e865b2644e4a2250ab25c5475a0cd0d514b7e Author: Jack Steiner Date: Fri Mar 28 14:12:11 2008 -0500 x86: add UV specific header for MMR definitions Definitions of UV MMRs. Note: this file is auto-generated by hardware design tools. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit ac049c1db72963e19b29b63c42ab8759384eef20 Author: Jack Steiner Date: Fri Mar 28 14:12:09 2008 -0500 x86: parsing for ACPI "SAPIC" table Add kernel support for new ACPI "sapic" tables that contain 16-bit APICIDs. This patch simply adds parsing of an optional SAPIC table if present. Otherwise, the traditional local APIC table is used. Note: the SAPIC table is not a new ACPI table - it exists on other architectures but is not currently recognized by x86_64. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit a65d1d644c2b65bfb99e766e7160d764b8b2bfa4 Author: Jack Steiner Date: Fri Mar 28 14:12:08 2008 -0500 x86: increase size of APICID Increase the number of bits in an apicid from 8 to 32. By default, MP_processor_info() gets the APICID from the mpc_config_processor structure. However, this structure limits the size of APICID to 8 bits. This patch allows the caller of MP_processor_info() to optionally pass a larger APICID that will be used instead of the one in the mpc_config_processor struct. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit ae261868658773538ddda829c50224e5851c2342 Author: Jack Steiner Date: Fri Mar 28 14:12:06 2008 -0500 x86: add functions to determine if platform is a UV platform Add functions that can be used to determine if an x86_64 system is a SGI "UV" system. UV systems come in 3 types and are identified by the OEM ID in the MADT. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 05f2d12c3563dea8c81b301f9f3cf7919af23b13 Author: Jack Steiner Date: Fri Mar 28 14:12:02 2008 -0500 x86: change GET_APIC_ID() from an inline function to an out-of-line function Introduce a function to read the local APIC_ID. This change is in preparation for additional changes to the APICID functions that will come in a later patch. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit a5c15d419d4b68535222b51f9054dd08d5e67470 Author: gorcunov@gmail.com Date: Fri Mar 28 17:56:56 2008 +0300 x86: replace most VM86 flags with flags from processor-flags.h Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 6b6891f9c545ccd45d6d8ddfd33ce27c22c271a7 Author: gorcunov@gmail.com Date: Fri Mar 28 17:56:57 2008 +0300 x86: cleanup - rename VM_MASK to X86_VM_MASK This patch renames VM_MASK to X86_VM_MASK (which in turn defined as alias to X86_EFLAGS_VM) to better distinguish from virtual memory flags. We can't just use X86_EFLAGS_VM instead because it is also used for conditional compilation Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 6093015db2bd9e70cf20cdd23be1a50733baafdd Author: Ingo Molnar Date: Sun Mar 30 11:45:23 2008 +0200 x86: cleanup replace most vm86 flags with flags from processor-flags.h, fix - fix build error - fix CONFIG_HEADERS_CHECK error Signed-off-by: Ingo Molnar commit f7743fe676fadac8706e7cbd0176b46d7397996d Author: Jeremy Fitzhardinge Date: Thu Mar 27 17:28:40 2008 -0700 x86: paravirt_ops: don't steal memory resources in paravirt_disable_iospace The memory resource is also used for main memory, and we need it to allocate physical addresses for memory hotplug. Knobbling io space is enough to get the job done anyway. Signed-off-by: Jeremy Fitzhardinge Cc: Rusty Russell Signed-off-by: Ingo Molnar commit fb8e8375394e1156a5a1e7ba53504b141d2365a8 Author: Jeremy Fitzhardinge Date: Thu Mar 27 17:28:39 2008 -0700 x86: sparsemem: reduce i386 PAE section size A 1G section size makes memory hotplug too coarse in a virtual environment. Retuce it by a factor of 2 to 512M. I would have liked to make it smaller, but it runs out of reserved flags in the page flags. Signed-off-by: Jeremy Fitzhardinge Cc: KAMEZAWA Hiroyuki Cc: Yasunori Goto Cc: Christoph Lameter Cc: Dave Hansen Signed-off-by: Ingo Molnar commit e937fcf2fa0c1d21f9c0008ab600d46c240a984c Author: Ingo Molnar Date: Fri Mar 28 12:33:52 2008 +0100 x86: mpparse: 64-bit fix Signed-off-by: Ingo Molnar commit 8be9ac850564a409c1238cd5f53776c340aea4dc Author: Glauber Costa Date: Thu Mar 27 14:06:04 2008 -0300 x86: merge smp_32.h and smp_64.h into smp.h Merge what's left from smp_32.h and smp_64.h into smp.h By now, they're basically extern definitions. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ecaa6c9de759259c5ba517e5442e26452d49107e Author: Glauber Costa Date: Thu Mar 27 14:06:03 2008 -0300 x86: change naming of cpu_initialized_mask for xen xen does not use the global cpu_initialized mask, but rather, a specific one. So we change its name so it won't conflict with the upcoming movement of cpu_initialized_mask from smp_64.h to smp_32.h. Signed-off-by: Glauber Costa CC: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit a9c057c1d1b1080a01004ecac54308365e167b83 Author: Glauber Costa Date: Thu Mar 27 14:06:02 2008 -0300 x86: merge SMP definitions of smp.h we merge everything that is inside CONFIG_SMP to smp.h. They differ a little bit, so we use CONFIG_X86_32_SMP and CONFIG_X86_64_SMP as markers. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 24e8ecffa84dd560e0d4d6fcaeca6950805854e7 Author: Glauber Costa Date: Thu Mar 27 14:06:01 2008 -0300 x86: split safe_smp_processor_id This implementation in x86_64 is clean and consistent, but we sacrifice it for the sake of being equal to i386 (since the other way around would be harder). Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit b23dab08fa37b302a8980e4cf925f2cb94288538 Author: Glauber Costa Date: Thu Mar 27 14:06:00 2008 -0300 x86: merge includes in smp.h move all include directives from smp_{32,64}.h to smp.h. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit c1fa6c977eb978e1d09867475ec59c9a5799127f Author: Glauber Costa Date: Thu Mar 27 14:05:59 2008 -0300 x86: surround apic headers in apic definitions Although those constants are always defined in x86_64, and will have the effect of just including the headers in the very way we did before, I'm doing this in a separate patch to be conservative and avoid surprises. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1b00084386878f25c2c591ad19cb625880d4089d Author: Glauber Costa Date: Thu Mar 27 14:05:58 2008 -0300 x86: merge hard/logical_smp_processor_id The code is now the same between i386 and x86_64. We already know what happens when it reaches this point: They go away from the arch-specific headers, and suddenly appears in the common header. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 2ba95bcbe68d692f549fb10809f15681a25ff6fb Author: Glauber Costa Date: Thu Mar 27 14:05:57 2008 -0300 x86: provide bogus hard_smp_processor_id We provide a bogus macro for x86_64 in case CONFIG_X86_LOCAL_APIC is not set. It will always be set for x86_64, so the effect is just to make the code equal to i386. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit fe874b3edff43f9a74d9903eb3710e5e0511faf1 Author: Glauber Costa Date: Thu Mar 27 14:05:56 2008 -0300 x86: surround hard_smp_processor_id in APIC_DEFINITION APIC_DEFINITION is not defined in x86_64, so in practice, we keep our old code here. But as a nice side effect, the code is now equal to smp_32.h. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit fe176de0ffdc2dd300fbcece84434a32b482b5b1 Author: Ben Castricum Date: Thu Mar 27 20:52:35 2008 +0100 x86: microcode: show results on success too Report when microcode was successfully updated. It used to be there but now with DEBUG unset it becomes very silent. Also some cosmetic fixes. Signed-off-by: Ben Castricum Signed-off-by: Ingo Molnar commit be8a5685e4cdb904e6542e741fcc3bae1becb8ee Author: Alexey Starikovskiy Date: Thu Mar 27 23:56:19 2008 +0300 x86: move generic_processor_info to apic_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 86cc0d916a9cc55b0b46a9b31e9379cd3c9e10dc Author: Alexey Starikovskiy Date: Thu Mar 27 23:56:12 2008 +0300 x86: move boot_cpu_physical_apicid to apic_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 3103623eed1a3ea4a36ee26725842a8038760648 Author: Alexey Starikovskiy Date: Thu Mar 27 23:56:06 2008 +0300 x86: move disabled_cpus to smpboot.c (64bit) Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 7b8cbd2c2f1bf9e3090d3c3fc09330ed1ca28d25 Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:59 2008 +0300 x86: move num_processors to smpboot.c (64 bit) Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 1d8554326533568c7e9d5285600c3d0c027b45cc Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:53 2008 +0300 x86: move phys_cpu_present_map to smpboot.c (64bit) Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 7abb3cca33fe220abaf680afcd247370749622ee Author: Ingo Molnar Date: Tue Apr 8 12:20:07 2008 +0200 x86: move phys cpu present map to smpboot.c, 64-bit, prepare Signed-off-by: Ingo Molnar commit 3f530709d907d93a4d6881e8190916028181a840 Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:47 2008 +0300 x86: move mp_lapic_addr to apic_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 468e85b9594ed3000a7076f1caf27aa0cf7799fc Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:41 2008 +0300 x86: don't use MP_processor_info for ACPI mode (64bit) Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 0e01c00c1fadd21356a6cf57d6680497256e1a01 Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:34 2008 +0300 x86: separate generic_processor_info into its own function (64bit) Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 8ccab29ca8c441ae00d878d2f0000275f430f8a5 Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:28 2008 +0300 x86: don't call MP_processor_info for disabled cpu (64bit) Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 86c9835b46605fb29a3c30c6cc344d9df49e54a3 Author: Ingo Molnar Date: Fri Mar 28 11:59:57 2008 +0100 x86: mpparse, move generic processor info to apic_32.c fix Signed-off-by: Ingo Molnar commit 903dcb5a1bd0ef2b09d756f646e367cd12659b6f Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:22 2008 +0300 x86: move generic_processor_info to apic_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit acff5a768935f7f39e4e3be03940d70c005ffe96 Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:16 2008 +0300 x86: move x86_bios_cpu_apicid to apic_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit fae9811b775655a02dcb51fa0b6423b546468bd1 Author: Ingo Molnar Date: Fri Mar 28 12:22:10 2008 +0100 x86: mpparse, move boot cpu physical apicid to apic_32.c, fix Signed-off-by: Ingo Molnar commit 837e0e7a7f574220c87c552cca9f425575418621 Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:10 2008 +0300 x86: move boot_cpu_physical_apicid to apic_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 0c254e38d294d3720588e2a1fd954d828073f1dc Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:04 2008 +0300 x86: move def_to_bigsmp to setup_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 059c9640b57cb8e70c60de141ec817b450431816 Author: Ingo Molnar Date: Fri Mar 28 11:57:55 2008 +0100 x86: mpparse, move disabled cpus to smpboot.c, fix Signed-off-by: Ingo Molnar commit 53c4c793b30bbf6e1a25cab61790b18f205dd365 Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:57 2008 +0300 x86: move disabled_cpus to smpboot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 2bb9e9d7c1b03454665cd99f7d73e67139cdf2e6 Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:50 2008 +0300 x86: move num_processors to smpboot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 40014bace17ba393409fd8a4915a87e43687aac8 Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:44 2008 +0300 x86: move phys_cpu_present_map to smpboot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 8f6e2ca9f862cb3738ad83fb18c572d8a59c0849 Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:38 2008 +0300 x86: move mp_lapic_addr to apic_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit e81b2c62d66068d210ddeacd77076068184d414a Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:31 2008 +0300 x86: move apic_ver array to apic_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 08bef9d337f26747b9520278872d20f15983fcda Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:20 2008 +0300 x86: don't use MP_processor_info for ACPI mode Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit c853c67690448415af2d204062028d1456f524de Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:13 2008 +0300 x86: separate generic_processor_info into its own function Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 987dd2d4d465e80e00d6a0b16787a78aa75dd66a Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:06 2008 +0300 x86: don't call MP_processor_info for disabled cpu Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 2df297261903249f5ac2d3d14ededbda229397e2 Author: Alexey Starikovskiy Date: Thu Mar 27 23:53:54 2008 +0300 x86: move es7000_plat closer to its user Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 7219bebd72726c13c1eaaa3ade0e829e998fb3b1 Author: Arjan van de Ven Date: Thu Apr 17 17:41:31 2008 +0200 x86: add comments to describe the new api's in cacheflush.h The new cacheflush.h API's didn't have any comments describing how they're to be used yet and the conventions around these functions. This patch adds comments to this effect; in order for that to be a logical series, some prototypes had to move around. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 0e03eb86b51b21054aea01ada1d03e9c2265dd20 Author: Dave Jones Date: Wed Mar 26 12:09:16 2008 -0400 x86: Centaur Isaiah processor to use sysenter in 64-bit compatibility mode rather than syscall Upcoming 64 bit processors from Centaur can use sysenter. Signed-off-by: Dave Jones Signed-off-by: Jesse Ahrens Signed-off-by: Ingo Molnar commit aa040b2f0693695ae393cd9b8a93055952dbf76f Author: Jeremy Fitzhardinge Date: Sat Mar 22 13:27:38 2008 -0700 x86: simplify sync_test_bit(), improve Using a naked parameterless macro could lead to other tokens being unexpectedly replaced. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 537e33136443bcd53ee13bc32a8f0fa46b1f3fdb Author: Jesper Juhl Date: Wed Mar 26 02:16:15 2008 +0100 x86 floppy: kill off the 'register' keyword from header When compilers became generally better at optimizing code than humans, the register keyword became mostly useless. For the floppy driver it certainly is since it's so slow compared to the rest of the system that optimizing access to a single variable or two isn't going to make any real difference So let's just leave it to the compiler - it'll do a better job anyway. This patch does away with a few register keywords in the x86 floppy driver. Signed-off-by: Jesper Juhl Signed-off-by: Ingo Molnar commit dd46e3ca73d136aa7f9f1813e4cbb6934c3611cc Author: Glauber Costa Date: Tue Mar 25 18:10:46 2008 -0300 x86: move apic declarations to mach_apic.h take them out of the x86_64-specific asm/mach_apic.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ab68ed98f665436601feec853c8f400d28c39e92 Author: Cyrill Gorcunov Date: Tue Mar 25 22:16:32 2008 +0300 x86: entry_32.S - use flags from processor-flags.h By including processor-flags.h we are allowed to use predefined macroses instead of keeping own ones Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 756a6c68556600aec9460346332884d891d5beb4 Author: Ingo Molnar Date: Tue Mar 25 08:31:17 2008 +0100 x86: ioremap of 64-bit resource on 32-bit kernel fix Signed-off-by: Ingo Molnar commit 5af5573ee06c361378e22a9dd71dae0320e841f7 Author: Glauber Costa Date: Tue Mar 25 13:28:56 2008 -0300 x86: move ipi definitions to mach_ipi.h take them out of the x86_64-only asm/mach_apic.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8346ea17aa20e9864b0f7dc03d55f3cd5620b8c1 Author: Andi Kleen Date: Wed Mar 12 03:53:32 2008 +0100 x86: split large page mapping for AMD TSEG On AMD SMM protected memory is part of the address map, but handled internally like an MTRR. That leads to large pages getting split internally which has some performance implications. Check for the AMD TSEG MSR and split the large page mapping on that area explicitely if it is part of the direct mapping. There is also SMM ASEG, but it is in the first 1MB and already covered by the earlier split first page patch. Idea for this came from an earlier patch by Andreas Herrmann On a RevF dual Socket Opteron system kernbench shows a clear improvement from this: (together with the earlier patches in this series, especially the split first 2MB patch) [lower is better] no split stddev split stddev delta Elapsed Time 87.146 (0.727516) 84.296 (1.09098) -3.2% User Time 274.537 (4.05226) 273.692 (3.34344) -0.3% System Time 34.907 (0.42492) 34.508 (0.26832) -1.1% Percent CPU 322.5 (38.3007) 326.5 (44.5128) +1.2% => About 3.2% improvement in elapsed time for kernbench. With GB pages on AMD Fam1h the impact of splitting is much higher of course, since it would split two full GB pages (together with the first 1MB split patch) instead of two 2MB pages. I could not benchmark a clear difference in kernbench on gbpages, so I kept it disabled for that case That was only limited benchmarking of course, so if someone was interested in running more tests for the gbpages case that could be revisited (contributions welcome) I didn't bother implementing this for 32bit because it is very unlikely the 32bit lowmem mapping overlaps into the TSEG near 4GB and the 2MB low split is already handled for both. [ mingo@elte.hu: do it on gbpages kernels too, there's no clear reason why it shouldnt help there. ] Signed-off-by: Andi Kleen Acked-by: andreas.herrmann3@amd.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1de87bd40e119d26533b5135677901990390bfa9 Author: Andi Kleen Date: Sat Mar 22 10:59:28 2008 +0100 x86: re-add rdmsrl_safe RDMSR for 64bit values with exception handling. Makes it easier to deal with 64bit valued MSRs. The old 64bit code base had that too as checking_rdmsrl(), but it got dropped somehow. Signed-off-by: Andi Kleen Cc: andreas.herrmann3@amd.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f5c24a7fd0798d636af184cc7032e7e0cb149112 Author: Andi Kleen Date: Wed Mar 12 03:53:30 2008 +0100 x86: don't use large pages to map the first 2/4MB of memory Intel recommends to not use large pages for the first 1MB of the physical memory because there are fixed size MTRRs there which cause splitups in the TLBs. On AMD doing so is also a good idea. The implementation is a little different between 32bit and 64bit. On 32bit I just taught the initial page table set up about this because it was very simple to do. This also has the advantage that the risk of a prefetch ever seeing the page even if it only exists for a short time is minimized. On 64bit that is not quite possible, so use set_memory_4k() a little later (in check_bugs) instead. Signed-off-by: Andi Kleen Acked-by: andreas.herrmann3@amd.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c9caa02c529d5e113e40cbc77254558fcdfa4215 Author: Andi Kleen Date: Wed Mar 12 03:53:29 2008 +0100 x86: add set_memory_4k to pageattr.c Add a new function to force split large pages into 4k pages. This is needed for some followup optimizations. I had to add a new field to cpa_data to pass down the information that try_preserve_large_page should not run. Right now no set_page_4k() because I didn't need it and all the specialized users I have in mind would be more comfortable with pure addresses. I also didn't export it because it's unlikely external code needs it. Signed-off-by: Andi Kleen Cc: andreas.herrmann3@amd.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cc6150321903ca4c3bc9d53b0cdafb05d77d64d0 Author: Andi Kleen Date: Wed Mar 12 03:53:28 2008 +0100 x86: account overlapped mappings in max_pfn_mapped When end_pfn is not aligned to 2MB (or 1GB) then the kernel might map more memory than end_pfn. Account this in max_pfn_mapped. Signed-off-by: Andi Kleen Cc: andreas.herrmann3@amd.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 67794292c8615b05f46419ba8d4fd99e7c9a5db9 Author: Thomas Gleixner Date: Fri Mar 21 21:27:10 2008 +0100 x86: replace the now useless max_pfn_mapped define Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7d1116a92d709c22e7db910724c9fcd2001b0499 Author: Andi Kleen Date: Wed Mar 12 03:53:27 2008 +0100 x86: implement true end_pfn_mapped for 32bit Even on 32bit 2MB pages can map more memory than is in the true max_low_pfn if end_pfn is not highmem and not aligned to 2MB. Add a end_pfn_map similar to x86-64 that accounts for this fact. This is important for code that really needs to know about all mapping aliases. Signed-off-by: Andi Kleen Cc: andreas.herrmann3@amd.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 41bd4eac748f39d7f3ed770fae3e595a747172bd Author: Andi Kleen Date: Tue Mar 11 02:23:21 2008 +0100 x86: move early exception handlers into init.text Currently they are in .text.head because the rest of head_64.S. .text.head is not removed as init data, but the early exception handlers should be because they are not needed after early boot of the BP. So move them over. Signed-off-by: Andi Kleen Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 749c970ae9fa43b4fcf17ac53022a953007d58f4 Author: Andi Kleen Date: Tue Mar 11 02:23:22 2008 +0100 x86: replace early exception setup macro recursion with loop The early exception handlers are currently set up using a macro recursion. There is only one user left. Replace the macro with a standard loop in place. Noop patch, just a cleanup. [ tglx@linutronix.de: simplified ] Signed-off-by: Andi Kleen Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5524ea320d80e3ac6aeeec44216660831c76da08 Author: Andi Kleen Date: Tue Mar 11 02:23:20 2008 +0100 x86: don't set up early exception handlers for external interrupts All of early setup runs with interrupts disabled, so there is no need to set up early exception handlers for vectors >= 32 This saves some minor text size. Signed-off-by: Andi Kleen Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 366932deb335f0b84a08463c5c912bd42ac3397a Author: gorcunov@gmail.com Date: Sun Mar 23 00:00:09 2008 +0300 x86: relocate_kernel - use predefined macroses for page attributes Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit fd3af53122e616c0ddba44a3da6d1c1877f72d29 Author: gorcunov@gmail.com Date: Sun Mar 23 00:00:08 2008 +0300 x86: relocate_kernel - use predefined macroses for processor state Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit a7bba17bf09e1c5bdbdd6c0ab0c7833baedf4653 Author: gorcunov@gmail.com Date: Sun Mar 23 00:00:07 2008 +0300 x86: relocate_kernel - use PAGE_SIZE instead of numeric constant Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 4039ae538030d1c5fc70a9c4e168a758d35b8159 Author: gorcunov@gmail.com Date: Sun Mar 23 00:00:06 2008 +0300 x86: relocate_kernel_32.S - clear register in more elegant way Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 15a601eb9cdc2a9cc69d5fc745317805a85c064c Author: Mathieu Desnoyers Date: Wed Mar 12 11:54:16 2008 -0400 x86: fix test_poke for vmalloced pages * Ingo Molnar (mingo@elte.hu) wrote: > > * Mathieu Desnoyers wrote: > > > The shadow vmap for DEBUG_RODATA kernel text modification uses > > virt_to_page to get the pages from the pointer address. > > > > However, I think vmalloc_to_page would be required in case the page is > > used for modules. > > > > Since only the core kernel text is marked read-only, use > > kernel_text_address() to make sure we only shadow map the core kernel > > text, not modules. > > actually, i think we should mark module text readonly too. > Yes, but in the meantime, the x86 tree would need this patch to make kprobes work correctly on modules. I suspect that without this fix, with the enhanced hotplug and kprobes patch, kprobes will use text_poke to insert breakpoints in modules (vmalloced pages used), which will map the wrong pages and corrupt random kernel locations instead of updating the correct page. Work that would write protect the module pages should clearly be done, but it can come in a later time. We have to make sure we interact correctly with the page allocation debugging, as an example. Here is the patch against x86.git 2.6.25-rc5 : The shadow vmap for DEBUG_RODATA kernel text modification uses virt_to_page to get the pages from the pointer address. However, I think vmalloc_to_page would be required in case the page is used for modules. Since only the core kernel text is marked read-only, use kernel_text_address() to make sure we only shadow map the core kernel text, not modules. Signed-off-by: Mathieu Desnoyers CC: akpm@linux-foundation.org Signed-off-by: Ingo Molnar commit e5699a8231593d0e11e65ccf248549935304dab1 Author: Ravikiran G Thirumalai Date: Mon Mar 24 14:48:36 2008 -0700 x86: clean up vSMP detection vSMP detection: access pci config space early in boot to detect if the system is a vSMPowered box, and cache the result in a flag, so that is_vsmp_box() retrieves the value of the flag always. Signed-off-by: Ravikiran Thirumalai Signed-off-by: Ingo Molnar commit 43cdf5d6e0a75c1069adc8d126b97b792ff53142 Author: Jiri Slaby Date: Sat Mar 22 18:50:22 2008 +0100 x86: pgtable, document pde bits Some of pde bits weren't documented, add the short description to them. Signed-off-by: Jiri Slaby Cc: H. Peter Anvin Signed-off-by: Ingo Molnar commit 7fda20f146d5d217684ffbc37c6b6c5f82c2dffd Author: Ingo Molnar Date: Fri Feb 29 10:29:38 2008 +0100 x86: spinlock ops are always-inlined Signed-off-by: Ingo Molnar commit d93c870bad38e8daaaf9f7e900a13431f24becbb Author: Jeremy Fitzhardinge Date: Mon Mar 24 16:43:21 2008 -0700 x86: only enable interrupts when kernel state has been set up The sysenter path tries to enable interrupts immediately. Unfortunately this doesn't work in a paravirt environment, because not enough kernel state has been set up at that point (namely, pointing %fs to the kernel percpu data segment). To fix this, defer ENABLE_INTERRUPTS until after the kernel state has been set up. Unfortunately this means that we're running with interrupts disabled for a while without calling the IRQ tracing code, but that can't be called without setting up %fs either. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 687c80540975709844699d9a96070e2cf3bad39d Author: Joe Perches Date: Sun Mar 23 01:04:03 2008 -0700 include/asm-x86/xor_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 8fdf765527920e30d8fd57da3a83d6bf56799114 Author: Joe Perches Date: Sun Mar 23 01:04:02 2008 -0700 include/asm-x86/xor_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit d6ae390a0be73e6b777c6171e6b6f616462f555d Author: Joe Perches Date: Sun Mar 23 01:04:00 2008 -0700 include/asm-x86/voyager.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 8948584eb282c4dc5c54f6f6ebbaf447a665c653 Author: Joe Perches Date: Sun Mar 23 01:03:59 2008 -0700 include/asm-x86/vmi.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 9e8a935bcff6c8154eace12277e6a9d853ef790b Author: Joe Perches Date: Sun Mar 23 01:03:58 2008 -0700 include/asm-x86/vm86.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 364fe5ef4725176324ec17f8dc3fd488d615b0de Author: Joe Perches Date: Sun Mar 23 01:03:57 2008 -0700 include/asm-x86/vga.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit ac1a7b0eaa1db04143ab6132c6ce4489afbb8a18 Author: Joe Perches Date: Sun Mar 23 01:03:56 2008 -0700 include/asm-x86/vdso.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit a206ea11b665cfb5360d05367eea1e9cfd3f3c8b Author: Joe Perches Date: Sun Mar 23 01:03:55 2008 -0700 include/asm-x86/user_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit a31216194c84cfa72515db4f9365ce2c68ed5791 Author: Joe Perches Date: Sun Mar 23 01:03:54 2008 -0700 include/asm-x86/user32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 826700dc9b483d0d0de8ff4901043d54ed8b64f0 Author: Joe Perches Date: Sun Mar 23 01:03:53 2008 -0700 include/asm-x86/user_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit c489f4451965f4d355340ea1e60a5863c9ed2890 Author: Joe Perches Date: Sun Mar 23 01:03:52 2008 -0700 include/asm-x86/unistd_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 687fc16b65e96d72a680291670584090207cadf8 Author: Joe Perches Date: Sun Mar 23 01:03:51 2008 -0700 include/asm-x86/unistd_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 6e714b37978bbd2c7a7eb89b4474b6c2133b7796 Author: Joe Perches Date: Sun Mar 23 01:03:50 2008 -0700 include/asm-x86/unaligned.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b896313e53344e79cc8bbc69f0a7d5c2b1735895 Author: Joe Perches Date: Sun Mar 23 01:03:49 2008 -0700 include/asm-x86/uaccess_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b1fcec7f2296c4b9126e1b85b52494ac8910d528 Author: Joe Perches Date: Sun Mar 23 01:03:48 2008 -0700 include/asm-x86/uaccess_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 2d86e637d15984e363e8c3f14c8f0470b4a10a3d Author: Joe Perches Date: Sun Mar 23 01:03:47 2008 -0700 include/asm-x86/tsc.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 5d7d03b81af05f3c291b5c6be621a2b53d187e09 Author: Joe Perches Date: Sun Mar 23 01:03:46 2008 -0700 include/asm-x86/topology.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 94cf8de0a0aff39c7b7785af4fc938ecacb79b7c Author: Joe Perches Date: Sun Mar 23 01:03:45 2008 -0700 include/asm-x86/tlbflush.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b98fff30223799c5df444fef1ebcfcddf310f740 Author: Joe Perches Date: Sun Mar 23 01:03:43 2008 -0700 include/asm-x86/thread_info_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 89917f28f3377fa7e38a51e9208e83b7b92542ee Author: Joe Perches Date: Sun Mar 23 01:03:42 2008 -0700 include/asm-x86/thread_info_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 7c4d4784db93496791b798e0abab1d056b192ad0 Author: Joe Perches Date: Sun Mar 23 01:03:40 2008 -0700 include/asm-x86/tce.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit c5386c200f55940eeeb827df172edf2e0305f23b Author: Joe Perches Date: Sun Mar 23 01:03:39 2008 -0700 include/asm-x86/system.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 26b7fcc4bde28237a906597a809b149fb06713b0 Author: Joe Perches Date: Sun Mar 23 01:03:38 2008 -0700 include/asm-x86/sync_bitops.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit a4c2d7d9285500a9b229bb7ddc7abe0212a0dab0 Author: Joe Perches Date: Sun Mar 23 01:03:37 2008 -0700 include/asm-x86/swiotlb.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 1b17fce6078ab0672f6702097680b65124de5f05 Author: Joe Perches Date: Sun Mar 23 01:03:36 2008 -0700 include/asm-x86/suspend_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit cf030ebd40e37cb11d1efa6677890f40f21e16f4 Author: Joe Perches Date: Sun Mar 23 01:03:35 2008 -0700 include/asm-x86/suspend_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 953b2f1ed6f2642e58e7c5b8c1385d132f1b5685 Author: Joe Perches Date: Sun Mar 23 01:03:34 2008 -0700 include/asm-x86/string_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 06b0f574eafdd26d325ce5ab3c38522d0cdd7b7c Author: Joe Perches Date: Sun Mar 23 01:03:33 2008 -0700 include/asm-x86/string_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 7f3a9508b5778034091e00e696dc17ca98b8a84c Author: Joe Perches Date: Sun Mar 23 01:03:32 2008 -0700 include/asm-x86/srat.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit d3bf60a6e48c9a451cac345c0ad57552bb299992 Author: Joe Perches Date: Sun Mar 23 01:03:31 2008 -0700 include/asm-x86/spinlock.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit ceb7ce1052a9087bd4752424f253b883ec5e1cec Author: Joe Perches Date: Sun Mar 23 01:03:30 2008 -0700 include/asm-x86/smp_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 2fec394adf9445ae6a21c5e67d9ad3f6f5b7c8d1 Author: Joe Perches Date: Sun Mar 23 01:03:29 2008 -0700 include/asm-x86/smp_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 9551b12a51bab7058ad486ba96fd0c27fdafe922 Author: Joe Perches Date: Sun Mar 23 01:03:28 2008 -0700 include/asm-x86/signal.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit af1fec15de17086864fc3917e21a31e303ec0e91 Author: Joe Perches Date: Sun Mar 23 01:03:27 2008 -0700 include/asm-x86/sigcontext.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 895b7643d6d2d04761344e18a2473255f2551e9e Author: Joe Perches Date: Sun Mar 23 01:03:26 2008 -0700 include/asm-x86/sigcontext32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 915cd5aa0adbe0f62b7a56d6eaf6908b47f80395 Author: Joe Perches Date: Sun Mar 23 01:03:25 2008 -0700 include/asm-x86/setup.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 6e5609a97acef44440f233ad435dd0ab563608f9 Author: Joe Perches Date: Sun Mar 23 01:03:21 2008 -0700 include/asm-x86/rwsem.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 0f4fc8c1dca86b519fed50be0962c8def8d3d446 Author: Joe Perches Date: Sun Mar 23 01:03:20 2008 -0700 include/asm-x86/rio.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit c6fd5d49ec578e1078331b81ca09008fb361a8ba Author: Joe Perches Date: Sun Mar 23 01:03:19 2008 -0700 include/asm-x86/resume-trace.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 78db4c6be439cd446c94181c73f5e06a89a5aaf3 Author: Joe Perches Date: Sun Mar 23 01:03:18 2008 -0700 include/asm-x86/reboot.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 72f74fa25a468f40781e452f1d2528395090d55f Author: Joe Perches Date: Sun Mar 23 01:03:17 2008 -0700 include/asm-x86/ptrace.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 708c5662975518eeea04de10cb11075d48636180 Author: Joe Perches Date: Sun Mar 23 01:03:16 2008 -0700 include/asm-x86/proto.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit cca2e6f87e3856953503aae2c0b8a1d5628796ef Author: Joe Perches Date: Sun Mar 23 01:03:15 2008 -0700 include/asm-x86/processor.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 4943aa4ec25ccc7161f4f4fcdd0018a4c1f6d4e8 Author: Joe Perches Date: Sun Mar 23 01:03:14 2008 -0700 include/asm-x86/posix_types_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 2c5d516ca70641e26463e8d24344b515a2973c11 Author: Joe Perches Date: Sun Mar 23 01:03:13 2008 -0700 include/asm-x86/posix_types_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 3cbaeafeb10e38bce6c8d4764a254260d5a564bd Author: Joe Perches Date: Sun Mar 23 01:03:12 2008 -0700 include/asm-x86/pgtable.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 7f94401e439dc1137319c48dfec0285f681eb3ad Author: Joe Perches Date: Sun Mar 23 01:03:11 2008 -0700 include/asm-x86/pgtable_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 4b01fef89a10cedbae9857e76283616af3f177cd Author: Joe Perches Date: Sun Mar 23 01:03:10 2008 -0700 include/asm-x86/pgtable-3level.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit cf840147d48626d5d86d617cbc5b7cddc1bcae14 Author: Joe Perches Date: Sun Mar 23 01:03:09 2008 -0700 include/asm-x86/pgtable_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 65e05d15edfdd6ecb4426894cf6e6b5ae97602e4 Author: Joe Perches Date: Sun Mar 23 01:03:08 2008 -0700 include/asm-x86/pgtable-2level.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit bc9e3be20bab447519e864c4f9e09aae82ed0376 Author: Joe Perches Date: Sun Mar 23 01:03:06 2008 -0700 include/asm-x86/percpu.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 46e1abc63e736644265e7ec2897f963a4ace5993 Author: Joe Perches Date: Sun Mar 23 01:03:05 2008 -0700 include/asm-x86/pda.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 69bdb7bcc6b9494b1738c6f6dd3fe553c9c6978e Author: Joe Perches Date: Sun Mar 23 01:03:04 2008 -0700 include/asm-x86/pci.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 565c6402db09b1d1b7623ebd629f3adf6b86feaa Author: Joe Perches Date: Sun Mar 23 01:03:03 2008 -0700 include/asm-x86/pci-direct.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 3cb47d79e99ad7b3a02badd7f64fbb57a1b125b3 Author: Joe Perches Date: Sun Mar 23 01:03:02 2008 -0700 include/asm-x86/pci_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 5269354231c6e960941f6e1fd0737acc003d2353 Author: Joe Perches Date: Sun Mar 23 01:03:01 2008 -0700 include/asm-x86/parport.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 49cd740bb0b5796f34699a0f945b977f6ff34c64 Author: Joe Perches Date: Sun Mar 23 01:03:00 2008 -0700 include/asm-x86/paravirt.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit fad599854e3997a3e93559e19759a26b18c906c6 Author: Joe Perches Date: Sun Mar 23 01:02:59 2008 -0700 include/asm-x86/param.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b20a4615944a0c106fce2aecb7ea1dbc8eefc71b Author: Joe Perches Date: Sun Mar 23 01:02:58 2008 -0700 include/asm-x86/page_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 095d1c4e61d77de4b33ea3b202aa6342f69d9891 Author: Joe Perches Date: Sun Mar 23 01:02:57 2008 -0700 include/asm-x86/page_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 5f4e4b7209deb3cd7cf16ebb7bf84917e4b6682a Author: Joe Perches Date: Sun Mar 23 01:02:56 2008 -0700 include/asm-x86/numaq.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit cb046eed76b7f74e619479f1aba17e74ce6f5159 Author: Joe Perches Date: Sun Mar 23 01:02:55 2008 -0700 include/asm-x86/numa_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 2c4e8830414de84cc969a1f9685f4c48b91ca6e7 Author: Joe Perches Date: Sun Mar 23 01:02:54 2008 -0700 include/asm-x86/mutex_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b2347fad517f61553e03135db60def2392d9c2bc Author: Joe Perches Date: Sun Mar 23 01:02:53 2008 -0700 include/asm-x86/mutex_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 9969b4405469e12070c560ff27dbe587470fc945 Author: Joe Perches Date: Sun Mar 23 01:02:52 2008 -0700 include/asm-x86/mtrr.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit abb0ade013507c93a9a0b263bbb7b0327d7c38db Author: Joe Perches Date: Sun Mar 23 01:02:51 2008 -0700 include/asm-x86/msr.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 934902b474bdb235a273985ad4c61eb136afe11d Author: Joe Perches Date: Sun Mar 23 01:02:50 2008 -0700 include/asm-x86/msidef.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 30971e17ee484f72e081826a0bf3e489ef3b4c30 Author: Joe Perches Date: Sun Mar 23 01:02:49 2008 -0700 include/asm-x86/mpspec.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 8f08403e61a86c3179642239184aff3a5f636be1 Author: Joe Perches Date: Sun Mar 23 01:02:48 2008 -0700 include/asm-x86/mpspec_def.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 60e9bfd1bd5be433e56b050e025d3d5c91c967a8 Author: Joe Perches Date: Sun Mar 23 01:02:47 2008 -0700 include/asm-x86/mmzone_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 7491d33d9ab042f3fdb9ec00054f69737dcd180f Author: Joe Perches Date: Sun Mar 23 01:02:46 2008 -0700 include/asm-x86/mmzone_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit f2334076890bbe3cddca2c053684653c614e9b48 Author: Joe Perches Date: Sun Mar 23 01:02:45 2008 -0700 include/asm-x86/mmx.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 710d0e9cce8bfcfa821c5929c1d4dbf30a660ce6 Author: Joe Perches Date: Sun Mar 23 01:02:44 2008 -0700 include/asm-x86/mmu.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit c4fe760efde84e52168a81bf125f25ba2f118b51 Author: Joe Perches Date: Sun Mar 23 01:02:43 2008 -0700 include/asm-x86/mmu_context_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 55464da94a845e057ffb94a9fc7be1aa86ffcd89 Author: Joe Perches Date: Sun Mar 23 01:02:42 2008 -0700 include/asm-x86/mmu_context_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 77d511ed744f7febcd2a3444f63e6c54ac32d0c3 Author: Joe Perches Date: Sun Mar 23 01:02:41 2008 -0700 include/asm-x86/mca_dma.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 933a44155caeb4ff5b58fcf755e3381ae37e72d4 Author: Joe Perches Date: Sun Mar 23 01:02:40 2008 -0700 include/asm-x86/mc146818rtc.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 69cde6512c3a0227878869f9ba8a02cdc72fc253 Author: Joe Perches Date: Sun Mar 23 01:02:39 2008 -0700 include/asm-x86/local.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit fb444c7b25420d57ce5e31cab486f734705bd278 Author: Joe Perches Date: Sun Mar 23 01:02:37 2008 -0700 include/asm-x86/lguest.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit fd1ea0c25ae00e2ac55881af55c3206664dd59a8 Author: Joe Perches Date: Sun Mar 23 01:02:36 2008 -0700 include/asm-x86/lguest_hcall.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 0c7825e64d377409deaaf73cd6311da9df310db3 Author: Joe Perches Date: Sun Mar 23 01:02:35 2008 -0700 include/asm-x86/kvm_x86_emulate.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 7d76b4d3767324fa44ac73032d6eeb428e46f004 Author: Joe Perches Date: Sun Mar 23 01:02:34 2008 -0700 include/asm-x86/kvm_host.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 864dfa13bed444d2c6d76d584e81713405d60082 Author: Joe Perches Date: Sun Mar 23 01:02:33 2008 -0700 include/asm-x86/kprobes.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b69a3f9dc0bbdbf9278ac5bc8d4b6347c11a701b Author: Joe Perches Date: Sun Mar 23 01:02:32 2008 -0700 include/asm-x86/kexec.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit f461f1372cef1853534df2115f9ff5b7fbfc6958 Author: Joe Perches Date: Sun Mar 23 01:02:31 2008 -0700 include/asm-x86/kdebug.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit cf7f7191cf20011e47243b594e433275a6db811b Author: Joe Perches Date: Sun Mar 23 01:02:30 2008 -0700 include/asm-x86/irqflags.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 3ff3522497d7ad383df9770e812fbaf75d19b214 Author: Joe Perches Date: Sun Mar 23 01:02:29 2008 -0700 include/asm-x86/irq_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit f4964d2ac51fcc8cd56975139422cdbb3a1e66dc Author: Joe Perches Date: Sun Mar 23 01:02:28 2008 -0700 include/asm-x86/irq_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 061b3d90bc3490af41c6756189b59713cd9ecaee Author: Joe Perches Date: Sun Mar 23 01:02:27 2008 -0700 include/asm-x86/ipi.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 5ca22aaad9ea078306537b2ef6fb788d931e8502 Author: Joe Perches Date: Sun Mar 23 01:02:26 2008 -0700 include/asm-x86/ipcbuf.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 1774a5bed33d85f250657f397b359b9837390a90 Author: Joe Perches Date: Sun Mar 23 01:02:25 2008 -0700 include/asm-x86/io.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 88b4f6e98f79de31f49036da5bb1482872d512b5 Author: Joe Perches Date: Sun Mar 23 01:02:24 2008 -0700 include/asm-x86/ioctls.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 126f5f35a36b5734026db58263fc1d60e4ae466f Author: Joe Perches Date: Sun Mar 23 01:02:23 2008 -0700 include/asm-x86/io_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit dcd215c9089c1203eed6f84dde2eb2cc0bbf9501 Author: Joe Perches Date: Sun Mar 23 01:02:22 2008 -0700 include/asm-x86/io_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 9bd73425142a610ae72c5e2b89e036e5214bb6ca Author: Joe Perches Date: Sun Mar 23 01:02:20 2008 -0700 include/asm-x86/ia32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit ace4fdbb2fa842fc557bc0ae5909d790eb335ff8 Author: Joe Perches Date: Sun Mar 23 01:02:19 2008 -0700 include/asm-x86/i8259.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit affe66374ca16572fbb22cefe267d6072c49ce9d Author: Joe Perches Date: Sun Mar 23 01:02:18 2008 -0700 include/asm-x86/i387.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit e574b023cf03f796727ea654acfc16a0df805086 Author: Joe Perches Date: Sun Mar 23 01:02:17 2008 -0700 include/asm-x86/hypertransport.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit dbdab9f6308645a4462e81c607d6282bcb27141d Author: Joe Perches Date: Sun Mar 23 01:02:16 2008 -0700 include/asm-x86/hw_irq_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b9c2fcf0eb6190f942312a6e04f91a80efb91b72 Author: Joe Perches Date: Sun Mar 23 01:02:15 2008 -0700 include/asm-x86/highmem.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 6394d982a96a4b8f7973dea1d9d5a99dbe1847f7 Author: Joe Perches Date: Sun Mar 23 01:02:14 2008 -0700 include/asm-x86/geode.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit eee28c251ed8ef2c6b66f0e08e9467a8cc5cf886 Author: Joe Perches Date: Sun Mar 23 01:02:13 2008 -0700 include/asm-x86/genapic_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 9407913fc16dde0e632b9639557422c6a792469d Author: Joe Perches Date: Sun Mar 23 01:02:12 2008 -0700 include/asm-x86/futex.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 4637bc07c85621b0c10320da8cf3b34de83efa0f Author: Joe Perches Date: Sun Mar 23 01:02:11 2008 -0700 include/asm-x86/floppy.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit dca13fb0fc89d4214090a0ae14aeeaa50c42a6c4 Author: Joe Perches Date: Sun Mar 23 01:02:10 2008 -0700 include/asm-x86/fixmap_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit cb7d0617b776b91a0643b8c5988f236414129b7d Author: Joe Perches Date: Sun Mar 23 01:02:09 2008 -0700 include/asm-x86/fixmap_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 486386f6c1b5144ccc8eb2f28def1712e1dd6c3d Author: Joe Perches Date: Sun Mar 23 01:02:08 2008 -0700 include/asm-x86/elf.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 0c6f6abf6e63227b1e6e22e412c3f63c0163a520 Author: Joe Perches Date: Sun Mar 23 01:02:07 2008 -0700 include/asm-x86/efi.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 451dd9835898d4cc3c0ee8f9e4883807b760eb02 Author: Joe Perches Date: Sun Mar 23 01:02:06 2008 -0700 include/asm-x86/edac.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 86bbc83526a4543db0a4ffed8e4cf679eddd534c Author: Joe Perches Date: Sun Mar 23 01:02:05 2008 -0700 include/asm-x86/e820_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 1257d6e0408ba21d72dc3db9ef69d7287c74507b Author: Joe Perches Date: Sun Mar 23 01:02:04 2008 -0700 include/asm-x86/e820_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit c884534f7e74e017f96f81efc31f26ef2b15572e Author: Joe Perches Date: Sun Mar 23 01:02:03 2008 -0700 include/asm-x86/dwarf2_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 113cbebac7c88ce78a48801e159108ce6c9d1fb3 Author: Joe Perches Date: Sun Mar 23 01:02:00 2008 -0700 include/asm-x86/dma.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 925a09b27fc73593eb705e50e6db86c4a22091db Author: Joe Perches Date: Sun Mar 23 01:01:59 2008 -0700 include/asm-x86/div64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit c1773a167defdec919b1dbfc9100054c44fd0ff5 Author: Joe Perches Date: Sun Mar 23 01:01:58 2008 -0700 include/asm-x86/desc.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b77619001e3acd228209bfdd864734cfdddb3d92 Author: Joe Perches Date: Sun Mar 23 01:01:57 2008 -0700 include/asm-x86/desc_defs.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 2cade899df7d9cc9e977a24898b0bd5a6f4a8dfd Author: Joe Perches Date: Sun Mar 23 01:01:56 2008 -0700 include/asm-x86/current_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 83ecfdd0a0a065e55172889dc660c5db3c14633a Author: Joe Perches Date: Sun Mar 23 01:01:55 2008 -0700 include/asm-x86/current_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit c96a6d41aa033c03b43e5a09448bddcc971797b1 Author: Joe Perches Date: Sun Mar 23 01:01:53 2008 -0700 include/asm-x86/compat.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit e52da357a15db9e12b96b4e40dffe6b9e54bb976 Author: Joe Perches Date: Sun Mar 23 01:01:52 2008 -0700 include/asm-x86/cmpxchg_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 8121019cad7bfe61f8f626a85427aca66dfe0f1e Author: Joe Perches Date: Sun Mar 23 01:01:51 2008 -0700 include/asm-x86/cmpxchg_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 3d3c6e10036dcbbe9fe7d69911f5638faecfbaeb Author: Joe Perches Date: Sun Mar 23 01:01:50 2008 -0700 include/asm-x86/checksum_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 0883e91ae209f4ada4db9b383026df77351c1320 Author: Joe Perches Date: Sun Mar 23 01:01:49 2008 -0700 include/asm-x86/checksum_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 3f61b19a9f60a0469a19113be8bb3b3623006de2 Author: Joe Perches Date: Sun Mar 23 01:01:48 2008 -0700 include/asm-x86/cacheflush.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 346050952cac11b25a98c7e1743412b416827314 Author: Joe Perches Date: Sun Mar 23 01:01:47 2008 -0700 include/asm-x86/byteorder.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 86d8a08616ecbc510323bfca591816a5709c6e54 Author: Joe Perches Date: Sun Mar 23 01:01:46 2008 -0700 include/asm-x86/bug.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 286275c90f148562b973b1e1f39f9689e6676dc4 Author: Joe Perches Date: Sun Mar 23 01:01:45 2008 -0700 include/asm-x86/bitops.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 49f74946f008add0b22723244976a32b365de06f Author: Joe Perches Date: Sun Mar 23 01:01:44 2008 -0700 include/asm-x86/bitops_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit fd591acd0f0b2382e8c0a839be9974e7c019bdb6 Author: Joe Perches Date: Sun Mar 23 01:01:43 2008 -0700 include/asm-x86/bitops_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 7edb3cd6cbadb686864b8f180232e4dc69d959e8 Author: Joe Perches Date: Sun Mar 23 01:01:42 2008 -0700 include/asm-x86/atomic_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 78ff12eec42a4141d22dac4fdab04994384f6385 Author: Joe Perches Date: Sun Mar 23 01:01:41 2008 -0700 include/asm-x86/atomic_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 3c311febfa8cc240e2922931d7403a6bb7f3fa1b Author: Joe Perches Date: Sun Mar 23 01:01:40 2008 -0700 include/asm-x86/apic.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 79a4a961ef92744dd8876963690a8beb56758457 Author: Joe Perches Date: Sun Mar 23 01:01:39 2008 -0700 include/asm-x86/apicdef.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b03aa8c6eb2d743ef4658b494dc1780e7740efc0 Author: Joe Perches Date: Sun Mar 23 01:01:38 2008 -0700 include/asm-x86/a.out-core.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 2ac1ea7ccd81f0383c6525e495a31d18fcac92db Author: Joe Perches Date: Sun Mar 23 01:01:37 2008 -0700 include/asm-x86/alternative.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 8dbeeb24e4d64a8a4bb49d54a6e4d987b9d3b6fc Author: Joe Perches Date: Sun Mar 23 01:01:36 2008 -0700 include/asm-x86/acpi.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit d3463c5a66147bdd21b5865ea29fdca50ea28f7f Author: Ingo Molnar Date: Fri Apr 4 13:31:15 2008 +0200 undo "x86: fix breakage of vSMP irq operations" revert: "x86: fix breakage of vSMP irq operations" the irqflags.h unification will solve this in a cleaner way. Signed-off-by: Ingo Molnar commit dcfe946520719943fabd3e5ed13813956e48e37c Author: Yinghai Lu Date: Tue Apr 15 23:17:42 2008 -0700 x86: fix memtest print out Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit c64df70793a9c344874eb4af19f85e0662d2d3ee Author: Yinghai Lu Date: Fri Mar 21 18:56:19 2008 -0700 x86: memtest bootparam Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9b967106da0357ef8b08847dce35584a04134f20 Author: Yinghai Lu Date: Fri Mar 21 15:14:07 2008 -0700 x86: fix smpboot integration > yhlu@mpk:~/xx/xx/kernel/x86/linux-2.6> git-bisect bad > d1c707188ad646c8094cac9afb1738e7d0196ff2 is first bad commit > commit d1c707188ad646c8094cac9afb1738e7d0196ff2 > Author: Glauber de Oliveira Costa > Date: Wed Mar 19 14:25:53 2008 -0300 > > x86: include mach_apic.h in smpboot_64.c and smpboot.c > > After the inclusion, a lot of files needs fixing for conflicts, > some of them in the headers themselves, to accomodate for both > i386 and x86_64 versions. > > [ mingo@elte.hu: build fix ] > > Signed-off-by: Glauber Costa > Signed-off-by: Ingo Molnar > > :040000 040000 19f574e64bb8003bbe984f3a8c1315db969dfdcd > 6ffe96588c77bc936705599fa110107856201115 M arch > :040000 040000 61269347ad4f384ed85cc87c4f2d004ed94492ac > 8f5c713da25579a3cdf63db3d4c2f795261d0521 M include > yhlu@mpk:~/xx/xx/kernel/x86/linux-2.6> > attached patch fixes that. commit 288621e32a7ae3a29c37b45297136c0264e2ff7b Author: Cyrill Gorcunov Date: Fri Mar 21 23:12:14 2008 +0300 x86: relocate_kernel - use predefined PAGE_SIZE instead of own alias This patch does clean up relocate_kernel_(32|64).S a bit by getting rid of local PAGE_ALIGNED macro. We should use well-known PAGE_SIZE instead Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 89bda4fccbd49f4b2bf59d0165391696037be856 Author: Alexey Starikovskiy Date: Fri Mar 21 20:18:17 2008 +0300 x86: use same index for processor maps Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit fa3f1f42b4efac84c459383218c20ab39e4df566 Author: Jack Steiner Date: Fri Mar 21 08:34:25 2008 -0500 x86: allow NODES_SHIFT to be a config option on x86_64 Allow the maximum number of nodes in an x86_64 system to be configurable. This patch does NOT change the default value but allows the value to be a config option. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 8434e73d9ec2aeaa86389e362b960ffba5edd9c9 Author: Jack Steiner Date: Fri Mar 21 08:31:57 2008 -0500 x86: increase max physical memory size of 64-bit Increase the maximum physical address size of x86_64 system to 44-bits. This is in preparation for future chips that support larger physical memory sizes. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 709f744f18ebc3a810d29c8d5502bf20c3cecc70 Author: Jan Beulich Date: Thu Mar 13 09:08:51 2008 +0000 x86: bitops asm constraint fixes This (simplified) piece of code didn't behave as expected due to incorrect constraints in some of the bitops functions, when X86_FEATURE_xxx is referring to other than the first long: int test(struct cpuinfo_x86 *c) { if (cpu_has(c, X86_FEATURE_xxx)) clear_cpu_cap(c, X86_FEATURE_xxx); return cpu_has(c, X86_FEATURE_xxx); } I'd really like understand, though, what the policy of (not) having a "memory" clobber in these operations is - currently, this appears to be totally inconsistent. Also, many comments of the non-atomic functions say those may also be re-ordered - this contradicts the use of "asm volatile" in there, which again I'd like to understand. As much as all of these, using 'int' for the 'nr' parameter and 'void *' for the 'addr' one is in conflict with Documentation/atomic_ops.txt, especially because bt{,c,r,s} indeed take the bit index as signed (which hence would really need special precaution) and access the full 32 bits (if 'unsigned long' was used properly here, 64 bits for x86-64) pointed at, so invalid uses like referencing a 'char' array cannot currently be caught. Finally, the code with and without this patch relies heavily on the -fno-strict-aliasing compiler switch and I'm not certain this really is a good idea. In the light of all of this I'm sending this as RFC, as fixing the above might warrant a much bigger patch... Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 6e908947b4995bc0e551a8257c586d5c3e428201 Author: Ingo Molnar Date: Fri Mar 21 14:32:36 2008 +0100 x86: fix ioapic bug again un-revert: commit 4960c9df1407c2723459c60ff13e6efe0c209c62 Author: Thomas Gleixner Date: Tue Jan 22 10:23:01 2008 +0100 Revert "x86: fix NMI watchdog & 'stopped time' problem" This reverts commit d4d25deca49ec2527a634557bf5a6cf449f85deb. needs a proper fix though ... Signed-off-by: Ingo Molnar commit f2e576b8141ec1cf2669ff7bbc92f0a9c147f34f Author: Andrew Morton Date: Tue Mar 18 18:54:45 2008 -0700 i386: arch/x86/math-emu/reg_ld_str.c: fix warning arch/x86/math-emu/reg_ld_str.c:380: warning: 'l[0]' may be used uninitialized in this function arch/x86/math-emu/reg_ld_str.c:380: warning: 'l[1]' may be used uninitialized in this function I can't actually spot the bug here. There's one obvious place, but fixing that didn't shut the warning up. Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit cc7594e420283cf6070538655f1a4fbebb3fb853 Author: Andrew Morton Date: Tue Mar 18 18:46:06 2008 -0700 i386: arch/x86/math-emu/fpu_entry.c warning fix arch/x86/math-emu/fpu_entry.c:555: warning: 'entry_sel_off.empty' is used uninitialized in this function Presumably it's harmless, but I'll sleep better at night knowing that we initialised it. Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit b450e5e816d10893e17f57b3eb9d29c52635862a Author: Venki Pallipadi Date: Tue Mar 25 16:51:26 2008 -0700 x86: PAT bug fix for attribute type check after reserve_memtype, debug Make the PAT related printks in ioremap pr_debug. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit dee7cbb210fdd266ad81af4689bcbac3649f38ff Author: Venki Pallipadi Date: Mon Mar 24 14:39:55 2008 -0700 x86: PAT bug fix for attribute type check after reserve_memtype Bug fixes for reserve_memtype() call in __ioremap and pci_mmap_page_range(). If reserve_memtype returns non-zero, then it is an error and subsequent free is not required. Requested and returned prot value check should be done when reserve_memtype returns success. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 9307cacad0dfe3749f00303125c6f7f0523e5616 Author: Yinghai Lu Date: Mon Mar 24 23:24:34 2008 -0700 x86: pat cpu feature bit setting for known cpus Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a7c7d0e91daebd7c5e51f9416d612b6a15e7e79a Author: Ingo Molnar Date: Tue Apr 8 16:25:42 2008 +0200 x86: tom2 warning fix Signed-off-by: Ingo Molnar commit 35605a1027ac630f85a1b95684f7e86b82498cd6 Author: Yinghai Lu Date: Mon Mar 24 16:02:01 2008 -0700 x86: enable PAT for amd k8 and fam10h make known_pat_cpu to think amd k8 and fam10h is ok too. also make tom2 below to be WRBACK Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 52783fa8d6b847857fdd86df418e09c026d816f5 Author: Ingo Molnar Date: Fri Mar 21 15:42:28 2008 +0100 x86: PAT fix build fix for !CONFIG_MTRR. Signed-off-by: Ingo Molnar commit 042b78e4dbb8919a59e77ba5d502a5a14405dea1 Author: Venki Pallipadi Date: Mon Mar 24 14:22:35 2008 -0700 x86: PAT infrastructure patch, documentation updates Fix double help section in PAT Kconfig. Thanks to Randy Dunlap for catching this bug. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit 6997ab4982a29925e79f72c3a59823cf944c3529 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:25 2008 -0700 x86: add PAT related debug prints Adds debug prints at critical code. Adds enough info in dmesg to allow us to do effective first round of analysis of any issues that may result due to PAT patch series. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit b310f381d220b2c6e3fab16e8c6e4ca13eea75b2 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:24 2008 -0700 x86: PAT add ioremap_wc() interface Introduce ioremap_wc for wc remap. (generic wrapper is in a later patch) Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit ef354af4629e5cc76a3f64fc46d452f2b56d5a59 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:23 2008 -0700 x86: PAT add set_memory_wc() interface Add a set_memory_wc interface(), similar to set_memory_uc interface. Callers has to call set_memory_uc, set_memory_wb and set_memory_wc, set_memory_wb as pairs. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 03d72aa18f15df9987fe5837284e15b9ccf6e3f8 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:19 2008 -0700 x86: PAT use reserve free memtype in pci_mmap_page_range Add reserve_memtype and free_memtype wrapper for pci_mmap_page_range. Free is called on unmap, but identity map continues to be mapped as per pci_mmap_page_range request, until next request for the same region calls ioremap_change_attr(), which will go through without conflict. This way of mapping is identical to one used in ioremap/iounmap. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 1219333dfdd488e85f08cf07881b8bc63cf92f21 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:18 2008 -0700 x86: PAT use reserve free memtype in set_memory_uc Use reserve_memtype and free_memtype interfaces in set_memory_uc/set_memory_wb interfaces to avoid aliasing. Usage model of set_memory_uc and set_memory_wb is for RAM memory and users will first call set_memory_uc and call set_memory_wb after use to reset the attribute. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit d7677d4034f040f4ce565713e0b83a31cc26f23e Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:17 2008 -0700 x86: PAT use reserve free memtype in ioremap and iounmap Use reserve_memtype and free_memtype interfaces in ioremap/iounmap to avoid aliasing. If there is an existing alias for the region, inherit the memory type from the alias. If there are conflicting aliases for the entire region, then fail ioremap. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 3a96ce8cac808fbed5493adc5c605bced28e2ca1 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:16 2008 -0700 x86: PAT make ioremap_change_attr non-static Make ioremap_change_attr() non-static and use prot_val in place of ioremap_mode. This interface is used in subsequent PAT patches. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 55c626820a82b25d7fceca702e9422037ae80626 Author: Ingo Molnar Date: Wed Mar 26 06:19:45 2008 +0100 x86: revert ucminus change Signed-off-by: Ingo Molnar commit 2e5d9c857d4e6c9e7b7d8c8c86a68a7842d213d6 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:14 2008 -0700 x86: PAT infrastructure patch Sets up pat_init() infrastructure. PAT MSR has following setting. PAT |PCD ||PWT ||| 000 WB _PAGE_CACHE_WB 001 WC _PAGE_CACHE_WC 010 UC- _PAGE_CACHE_UC_MINUS 011 UC _PAGE_CACHE_UC We are effectively changing WT from boot time setting to WC. UC_MINUS is used to provide backward compatibility to existing /dev/mem users(X). reserve_memtype and free_memtype are new interfaces for maintaining alias-free mapping. It is currently implemented in a simple way with a linked list and not optimized. reserve and free tracks the effective memory type, as a result of PAT and MTRR setting rather than what is actually requested in PAT. pat_init piggy backs on mtrr_init as the rules for setting both pat and mtrr are same. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit d27554d874c7eeb14c8bfecdc39c3a8618cd8d32 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:13 2008 -0700 x86: PAT documentation Documentation about PAT related interfaces, intended usage and memory attribute relationship. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 7de6a4cdac6341807261a33896f9ab5a502a4e74 Author: Pavel Machek Date: Thu Mar 13 11:03:58 2008 +0100 x86: clean up aperture_64.c Initializing to zero is generally bad idea, I hope it is right for __init data, too. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar commit 01561264bd1ea1d654d09babe02d784a5b150124 Author: Yinghai Lu Date: Thu Mar 20 23:57:21 2008 -0700 x86: allocate e820 resource struct all together don't need to allocate that one by one Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 272b9cad6e7a2f61b13cfcd7dde0010e02e9376e Author: Yinghai Lu Date: Thu Mar 20 23:58:33 2008 -0700 x86: early memtest to find bad ram do simple memtest after init_memory_mapping use find_e820_area_size to find all ram range that is not reserved. and do some simple bits test to find some bad ram. if find some bad ram, use reserve_early to exclude that range. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a5ae1c372dc5bbaee905bcede524d7180d22b362 Author: Cyrill Gorcunov Date: Thu Mar 13 19:44:56 2008 +0300 x86: processor.h - use PAGE_SIZE instead of numeric value This patch replaces numeric constant with an appropriate macro Also 0x800000000000UL is changed to bit shifting which is complement to the code comment (thanks hpa for notice) Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 0054f4b708d21bd0032480cf7309d17753bc17bb Author: Robert P. J. Day Date: Thu Mar 13 21:47:32 2008 -0400 x86: Explicitly include required header files. After an experimental cleanup of , these files were exposed as invoking kmalloc() without including . Signed-off-by: Robert P. J. Day Signed-off-by: Ingo Molnar commit f7d909d5475bb27d261389a3902860e086b0d4c9 Author: Jan Beulich Date: Fri Mar 14 07:56:32 2008 +0000 x86: simplify sync_test_bit() There really is no need for a redundant implementation here, just keep the alternative name for allowing consumers to use consistent naming. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit acb5b8a2dd0f901463d075382ea548935e679f4e Author: Yakov Lerner Date: Sun Mar 16 03:21:21 2008 -0500 x86, kprobes: correct post-eip value in post_hander() I was trying to get the address of instruction to be executed next after the kprobed instruction. But regs->eip in post_handler() contains value which is useless to the user. It's pre-corrected value. This value is difficult to use without access to resume_execution(), which is not exported anyway. I moved the invocation of post_handler() to *after* resume_execution(). Now regs->eip contains meaningful value in post_handler(). I do not think this change breaks any backward-compatibility. To make meaning of the old value, post_handler() would need access to resume_execution() which is not exported. I have difficulty to believe that previous, uncorrected, regs->eip can be meaningfully used in post_handler(). Signed-off-by: Yakov Lerner Acked-by: Ananth N Mavinakayanahalli Acked-by: Masami Hiramatsu Signed-off-by: Ingo Molnar commit 0f54091051c450bab751c3ca0cb45d61a67a683b Author: Roland McGrath Date: Mon Mar 17 02:21:08 2008 -0700 x86: handle_vm86_trap cleanup Use force_sig in handle_vm86_trap like other machine traps do. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit b00de174e3d52d9185e2e9937a6a2704c9d7d520 Author: Roland McGrath Date: Sun Mar 16 22:00:05 2008 -0700 x86: sys32_execve PT_DTRACE The PT_DTRACE flag is meaningless and obsolete. Don't touch it. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit 48ee679a02406c65ced67c3951ad19744eb21083 Author: Roland McGrath Date: Tue Mar 18 18:23:50 2008 -0700 x86: ia32 ptrace vs -ENOSYS sysenter/syscall The previous "x86_64 ia32 ptrace vs -ENOSYS" fix only covered the int $0x80 system call entries. This does the same fix for the sysenter and syscall instruction paths. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit a31f8dd7ee3b2f5645c220406b1e21f82971f32b Author: Roland McGrath Date: Sun Mar 16 21:59:11 2008 -0700 x86: ptrace vs -ENOSYS When we're stopped at syscall entry tracing, ptrace can change the %rax value from -ENOSYS to something else. If no system call is actually made because the syscall number (now in orig_rax) is bad, then we now always reset %rax to -ENOSYS again. This changes it to leave the return value alone after entry tracing. That way, the %rax value set by ptrace is there to be seen in user mode (or in syscall exit tracing). This is consistent with what the 32-bit kernel does. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit 8ab32bb89b5b9bf06147c31947eba65f0f21c3c0 Author: Roland McGrath Date: Sun Mar 16 21:57:41 2008 -0700 x86: ia32 ptrace vs -ENOSYS When we're stopped at syscall entry tracing, ptrace can change the %eax value from -ENOSYS to something else. If no system call is actually made because the syscall number (now in orig_eax) is bad, then the %eax value set by ptrace should be returned to the user. But, instead it gets reset to -ENOSYS again. This is a regression from the native 32-bit kernel. This change fixes it by leaving the return value alone after entry tracing. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit ede1389f8ab4f3a1343e567133fa9720a054a3aa Author: Adrian Bunk Date: Mon Mar 17 22:29:32 2008 +0200 x86: remove the write-only timer_uses_ioapic_pin_0 This patch removes the write-only timer_uses_ioapic_pin_0 (gsi can't be <= 15 in the line of it's fake usage in mpparse_32.c). Spotted by the GNU C compiler. Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar commit 6542fe80e6296cde50c1c3b8a9eede701ee51907 Author: Ingo Molnar Date: Fri Mar 21 09:55:06 2008 +0100 x86: vsmp fix x86 vsmp fix is vsmp box cleanup code got a bit smaller: arch/x86/kernel/vsmp_64.o: text data bss dec hex filename 205 4 0 209 d1 vsmp_64.o.before 181 4 0 185 b9 vsmp_64.o.after Signed-off-by: Ingo Molnar commit 1cb68487f5898dd97460e5b6bda9619ec3549361 Author: Ravikiran G Thirumalai Date: Thu Mar 20 00:45:08 2008 -0700 x86: apic_is_clustered_box to indicate unsynched TSC's on multiboard vSMP systems Indicate TSCs are unreliable as time sources if the platform is a multi chassi ScaleMP vSMPowered machine. Signed-off-by: Ravikiran Thirumalai Signed-off-by: Ingo Molnar commit 9f6d8552a9cb49dc556777bbdf7ac8b3d7e18edb Author: Ravikiran G Thirumalai Date: Thu Mar 20 00:43:16 2008 -0700 x86: vSMP: use pvops only if platform has the capability to support it Re-arrange set_vsmp_pv_ops so that pv_ops are set only if the platform has capability to support paravirtualized irq ops Signed-off-by: Ravikiran Thirumalai Signed-off-by: Ingo Molnar commit aa7d8e25eca5deb33eb08013bc78a80514349b40 Author: Ravikiran G Thirumalai Date: Thu Mar 20 00:41:16 2008 -0700 x86: fix build breakage when PCI is define and PARAVIRT is not - Fix the the build breakage when PARAVIRT is defined but PCI is not This fixes problem reported at: http://marc.info/?l=linux-kernel&m=120525966600698&w=2 - Make is_vsmp_box() available even when PARAVIRT is not defined. This is needed to determine if tsc's are reliable as a time source even when PARAVIRT is not defined. - split vsmp_init to use is_vsmp_box() and set_vsmp_pv_ops() set_vsmp_pv_ops will do nothing if PCI is not enabled in the config. Signed-off-by: Ravikiran Thirumalai Signed-off-by: Ingo Molnar commit 3250c91ada16a06de5afef55bce7b766c894d75c Author: Ravikiran G Thirumalai Date: Thu Mar 20 00:39:02 2008 -0700 x86: vSMP: Fix is_vsmp_box() is_vsmp_box() currently does not work on vSMPowered systems, as pci cfg space is not read correctly -- This patch fixes it. Signed-off-by: Ravikiran Thirumalai Signed-off-by: Ingo Molnar commit 864205062f1c752c80077be8ec2b15c81f4a6525 Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:55 2008 +0300 x86: make struct mpc_config_translation NUMAQ-only Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 0ec153af4dec8944e6da558093914a3bce4c76f9 Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:48 2008 +0300 x86: remove mpc_oem_bus_info() Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit d285e338899a4ff662a17b22d3bb0e48bb1465d4 Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:42 2008 +0300 x86: remove mpc_oem_pci_bus() Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 4655c7deca112bea86ca00f616f19c3717f687aa Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:36 2008 +0300 x86: remove mpc_apic_id() Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 555b07646d5bd0bcd4825e83580d5f6bb34259ea Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:30 2008 +0300 x86: rename gsi_start to gsi_base to match mpparse_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 85e46035bec6f114ad07ce8a9c70388568b1afd4 Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:24 2008 +0300 x86: limit scan to 1k of EBDA. Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit ce3fe6b2bfded4f5d931c5f2f9325dc2e3fd3a74 Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:17 2008 +0300 x86: use get_bios_ebda in mpparse_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit e3e3ffa20351b32b5eaa6020d051305c8d803ed4 Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:11 2008 +0300 x86: add uniq_ioapic_id to mpparse_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 857033a696996beb1cdc0d5ee5cfcfa91c8bbece Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:05 2008 +0300 x86: add bad_ioapic to mpparse_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit d2953315c70a4783c94ae6af04f4b0aaad2f09c5 Author: Alexey Starikovskiy Date: Mon Mar 17 22:07:59 2008 +0300 x86: lindent mpparse_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 4cedb3343f0b087275b9a8e23fc90737881ac91c Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:14 2008 -0300 x86: remove smpboot_32.c and smpboot_64.c Remove the last leftovers from the files. Move the ones that are still used to the files they belong, the others that grep can't reach, simply throw away. Merge comments ontop of file and that's it: smpboot integrated Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit acbb67341805d3b9ef263d8cbd103a6054164491 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:13 2008 -0300 x86: move apicid mappings to smpboot.c They are i386 specific (the x86_64 definitions live elsewhere, and should remain there), so are enclosed around an ifdef Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 2cd9fb71eedffb3a208a84daff705b9da5c915e8 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:12 2008 -0300 x86: merge cpu_exit_clear this is the last remaining function in smpboot_32.c Since it is i386 specific, move it around an ifdef to smpboot.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8aef135c73436fa46fdb4dc8aba49d5539dee72d Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:11 2008 -0300 x86: merge native_smp_prepare_cpus With the previous changes, code for native_smp_prepare_cpus() in i386 and x86_64 now look very similar. merge them into smpboot.c. Minor differences are inside ifdef Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 9f3734f631267d2f36008833b62670ca342ac000 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:10 2008 -0300 x86: introduce smpboot_clear_io_apic x86_64 has two nr_ioapics = 0 statements. In 32-bit, it can be done too. We do it through the smpboot_clear_io_apic() inline function, to cope with subarchitectures (visws) that does not compile mpparse in Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 771263d31114adb5e234364a58280c876c2ed182 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:09 2008 -0300 x86: change x86_64 sanity checks to match i386. They are mostly inocuous. APIC_INTEGRATED will expand to 1, check_phys_apicid_present is checking for the same thing it was before, etc. But the code is identical to i386 now, and will allow us to integrate it. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 0df1ba8cabc6c2d613921c75e525826e6eb3210b Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:08 2008 -0300 x86: add extra sanity check This test exists in x86_64 and also applies to i386. So we add it Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1db17f553425ae679bc771d4796b7349f00cb1d9 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:07 2008 -0300 x86: change x86_64 native_smp_prepare_cpus to match i386 An APIC test is moved, and code is replaced by the mach-default already defined function (smpboot_setup_io_apic). setup_portio_remap() is added, but it is a nop in mach-default. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3fa7b3487a1317f7d3be3043dbea316ca75abed5 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:06 2008 -0300 x86: assign nr_ioapics = 0 in smpboot_hooks.h change smpboot_setup_io_apic() by to match x86_64 behaviour Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 7cefaa20e798c547f569ca3f79547f820c802997 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:05 2008 -0300 x86: additions to i386 native_smp_prepare_cpus. Add function calls to native_smp_prepare_cpus in i386 to match x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e7bc8fbad4c582639334285dd1d9571578c58674 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:04 2008 -0300 x86: get rid of smp_boot_cpus This patch get rid of smp_boot_cpus(), since it does not boot any cpu anymore. Its code is split in a way to make it closer to x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit bd7b47ba5e4ced4e20bed2394c9580637d44550a Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:03 2008 -0300 x86: use physical id when disabling smp if smp configuration is not found at all, hook into 0. This is done to match x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 83f7eb9c674c1bcaad6ca258fdd7dd3b96465a62 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:02 2008 -0300 x86: merge native_smp_cpus_done They look similar enough, and are merged. Only difference (zap_low_mapping for i386) is inside ifdef Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit a8db8453ff52609b14716361651ad10d2ab66682 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:01 2008 -0300 x86: merge smp_prepare_boot_cpu it is practically the same between arches now, so it is moved to smpboot.c. Minor differences (gdt initialization) live inside an ifdef Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit bbc2ff6a91a4eef8030018cd389bb12352d11b34 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:00 2008 -0300 x86: integrate start_secondary It now looks the same between architectures, so we merge it in smpboot.c. Minor differences goes inside an ifdef Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit cb3c8b9003f15efa4a750a32d2d602d40cc45d5a Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:59 2008 -0300 x86: integrate do_boot_cpu This is a very large patch, because it depends on a lot of auxiliary static functions. But they all have been modified to the point that they're sufficiently close now. So they're just merged in smpboot.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit c70dcb74309cedfa64f0060f4a84792e873ceb53 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:58 2008 -0300 x86: change boot_cpu_id to boot_cpu_physical_apicid This is to match i386. The former name was cuter, but the current is more meaningful and more general, since cpu_id can be a logical id. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 9d97d0da71ad6c7ceb76b4e29b02bed1ee9d4cd2 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:57 2008 -0300 x86: move stack_start to smp.h voyager would conflict with it, but the types are ultimately compatible. So remove the extern definition from voyager_smp.c in favour of the common one Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 7cc3959ecd830796231f50bf5e42dc018b3694f2 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:56 2008 -0300 x86: move {un}map_cpu_to_logical_apicid to smpboot.c Move map_cpu_to_logical_apicid() and unmap_cpu_to_logical_apicid() to smpboot.c. They take together all the bunch of static functions they rely upon Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit b9f9294a86fd274e4055891450033e8bc9d68f66 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:55 2008 -0300 x86: add callin tests to cpu_up Now that we boot cpus here, callin_map has this meaning (same as x86_64) Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 071782692798d7a6e0a5679f3186ea7fea49fd62 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:54 2008 -0300 x86: change wakeup_secondary name wakeup_secondary_via_INIT => wakeup_secondary_cpu. This is to match i386, where init is not always used. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit f6bc40290964b5fcb48c226ccafa4b7536d62663 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:53 2008 -0300 x86: include mach_apic.h in smpboot_64.c and smpboot.c After the inclusion, a lot of files needs fixing for conflicts, some of them in the headers themselves, to accomodate for both i386 and x86_64 versions. [ mingo@elte.hu: build fix ] Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 4370ee4d3b7772158174bf6f0bf08359c2ccf54b Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:52 2008 -0300 x86: call do_boot_cpu directly from native_cpu_up We don't need __smp_prepare_cpu anymore. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 6becedbb06072c5741d4057b9facecb4b3143711 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:51 2008 -0300 x86: minor adjustments for do_boot_cpu This patch provides minor adjustments for do_boot_cpus in both architectures to allow for integration Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e481fcf8563d300e7f8875cae5fdc41941d29de0 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:50 2008 -0300 x86: calibrate delay with irqs enabled We do it to make it close to x86_64. The later needs it, otherwise the nmi watchdog can get into the scene and kill us with a hammer. Enabling irqs here used to trigger a bug in i386. This is because time irq handling relies upon structures that are only initialized after smp initcalls (More precisely, it will find per_cpu(hrtimer_bases, cpu)->cb_pending list not initialized and crash) Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ac60aae561fff99d38beba82d84277b12437c05e Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:49 2008 -0300 x86: provide an end_local_APIC_setup function It splits setup_local_APIC in two, providing a function corresponding to the ending part of it. As a side effect, smp_callin looks the same between i386 and x86_64. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit df7939ae8bee101d9d79d104e17f14b60845cf0f Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:48 2008 -0300 x86: wrap esr setting up in i386 in lapic_setup_esr it is a little bit more complicated than x86_64 due to erratas and other stuff, but its existance will ease integration Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ea0cadbfed09674bcc2b3e1e7f2d7317ddde4e95 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:47 2008 -0300 x86: modify smp_callin in x86_64 to look like i386 We introduce empty macros just to make them look like the same Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 4c07ad6950c2c7077c6d60a3ce83fdbbb553bd65 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:46 2008 -0300 x86: don't span a new worker in __smp_prepare_cpu We can do it now that do_boot_cpu has its own worker. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 365c894c65b98da944992199ea24206f531674de Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:45 2008 -0300 x86: use create_idle struct in do_boot_cpu Use a new worker, with help of the create_idle struct to fork the idle thread. We now have two workers, the first of them triggered by __smp_prepare_cpu. But the later is going away soon. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ddd10ecfa231c88382fc2f10a3120d2ad8e92381 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:44 2008 -0300 x86: get rid of commenced mask. As we now boot cpus from cpu_up, we don't need it. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 9713277607f9eac7d655c6854dd92bc2ce1b6f02 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:43 2008 -0300 x86: boot cpus from cpu_up, instead of prepare_cpus After all the infrastructure work, we're now prepared to boot the cpus from cpu_up, and not from prepare_cpus. So the difference between cold boot and hotplug is effectively over, and the functions are used to the purposes they're meant to. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit d2bcbad5f3ad38a1c09861bca7e252dde7bb8259 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:42 2008 -0300 x86: do not zap_low_mappings in __smp_prepare_cpus It was okay when cpus were cold booted before this point. But with the new state machine, they will not have arrived to the trampoline yet. zapping low mappings will have the bad effect of breaking it completely after paging enablement Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 802b8133b4f78c30a2668d142d78861e27c0c6a7 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:41 2008 -0300 x86: schedule work only if keventd is already running Only call schedule_work if keventd is already running. This is already the way x86_64 does Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e7f8b14e028f7a2f9e5c83c17164aeeeb9c61f17 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:39 2008 -0300 x86: don't initialize sibling and core maps during preparation it is redundant, since it is already done by set_cpu_sibling_map() Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 50e440aa5323860d9e5960143b720e461ed0c582 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:38 2008 -0300 x86: call nmi_watchdog_default in i386 this does not exist, so it will be an empty macro Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 4626df1801dc03de42f1c155417393b91c8f5d97 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:37 2008 -0300 x86: call check_nmi_watchdog explicitly in native_smp_cpus_done With this, remove its late_initcall marker from nmi_32.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 6d60cd5359e261cad1e519e77ca733c05c2f8025 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:36 2008 -0300 x86: unify nmi_32.h and nmi_64.h Two more files goes away. nmi_64.h and nmi_32.h gives birth to nmi.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e32ede19ac64b5cd896e6d28aa51d34887791ab2 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:35 2008 -0300 x86: wipe get_nmi_reason out of nmi_64.h use mach_traps when it is supposed to be used. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3cf19f31d967da2c1279142d4dbafe18f521a1bf Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:34 2008 -0300 x86: don't set maps in native_smp_prepare_boot_cpu() By this time, they are already set in init routines Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 17c9ab1eabcc08794064a6e3232ac421664c9ce1 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:33 2008 -0300 x86: move smp_intr_init away from smpboot_32.c We move it to apic_32.c, since it's irq related anyway, and only called from that file. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit eb44d0a2a9c4d64ed89044fcf1f75e6a27c42ea7 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:32 2008 -0300 x86: include smpboot_hooks.h in smpboot_64.c We do it and also fix conflicts, which makes x86_64 automatically closer to i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8d77010f8c93b4d41ffd71c7ad9d07fc1668cd5a Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:31 2008 -0300 x86: include mach_wakecpu.h in smpboot_64 Do it and also fix conflicts, which automatically makes x86_64 look closer to i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ee09efc3e4173632471d2dff6ca42e21930c94fe Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:30 2008 -0300 x86: add subarch support (for headers) to x86_64 this patch allows x86_64 to use subarch mach_ headers in practice, since x86_64 does not have any subarch, it will use mach_default. But it will allow for substantially less code duplication Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit f68e00a32b4f5a2881c3a39d71cc2c22e92f1d99 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:29 2008 -0300 x86: move impress_friends and smp_check to cpus_done the cpu count is changed accordingly: now, what matters is online cpus. Also, we add those functions for x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 693d4b8a6429af7f2029df20a59e22f4d752e141 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:28 2008 -0300 x86: do smp tainting checks in a separate function It will ease integration for x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 904541e2f76bc3efe4cc9978b7adb3323ea8607e Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:27 2008 -0300 x86: allow user to impress friends. Impressing friends is a very important thing. Do it in a separate function to make it even more explicit, and ease integration. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e1a14d0c1391627d869c0f97bb5e2382bf36d8dc Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:26 2008 -0300 x86: get rid of cpucount weighting a map will do. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1161705bd66df0c80fa45e87190e456c02e6f145 Author: Ingo Molnar Date: Wed Mar 19 20:26:15 2008 +0100 x86: fill cpu to apicid and present map in mpparse, fix Signed-off-by: Ingo Molnar commit a6c422ccdb57924bd20ae408dba8e9db01d09677 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:25 2008 -0300 x86: fill cpu to apicid and present map in mpparse This is the way x86_64 does, and complement the already present patch that does the bios cpu to apicid mapping here Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 73bf102b1cadc53d418df02ba687769a9f916a6d Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:24 2008 -0300 x86: fill bios cpu to apicid maps We fill the per-cpu (or array) that maps bios cpu id to apicid in mpparse_32.c, the way x86_64 does Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 4fe29a85642544503cf81e9cf251ef0f4e65b162 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:23 2008 -0300 x86: use specialized routine for setup per-cpu area We use the same routing as x86_64, moved now to setup.c. Just with a few ifdefs inside. Note that this routing uses prefill_possible_map(). It has the very nice side effect of allowing hotplugging of cpus that are marked as present but disabled by acpi bios. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit fbac7fcbadc54cc5d374873a2e60e924a056d198 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:22 2008 -0300 x86: fix alloc_bootmem_pages_node macro missing a semicolon Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 04d1dd20f64f2b41baf5c01f57c574ca942ab4eb Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:21 2008 -0300 x86: make node to apic mapping declarations unconditional Instead of declaring them inside of X86_64 ifdef, do it unconditionally Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ccf82085ee32c9b171183d8042e8a6e2776ec628 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:20 2008 -0300 x86: initialize map pointers in setup_32.c this will serve as a reference as to whether or not to use the per_cpu variables in mpparse. Done the same way as x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit cbe879fc6c77b5751a91167654b75a39421d0f3f Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:19 2008 -0300 x86: define bios to apicid mapping This mapping already exists in x86_64, just provide it for i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 7e1efc0cde2a266fc31932ea7aed4bb20f524544 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:18 2008 -0300 x86: unify extern masks declaration take them off smp_{32,64}.h and move to smp.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8154fa3740d2bbc64aa46e75bcccb71dd82280d3 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:17 2008 -0300 x86: move assignment of CPU_PREPARE before do_boot_cpu Done to match x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit f3ce4466abd6f5173db98b5cc2269c139cd1790a Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:16 2008 -0300 x86: make __smp_prepare_cpu void We have already removed the only condition that could fail here. so just don't test for any return value Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit f915d7f46b84192a19647c8e6b111a7e518875cb Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:15 2008 -0300 x86: do tests before do_boot_cpu in i386 Do tests before do_boot_cpu in native_cpu_up for i386. Tests are a little bit broader than originally, and are the same as x86_64. Test for smp_callin is not applicable right now and is deferred. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit b675f11127291cdb6a090ece289e4f9a0b1d609e Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:14 2008 -0300 x86: isolate logic to disable smp Put it in a disable_smp() function, as x86_64 does Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 4780b261e2b71ca72804b26479d794839e68d9ab Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:13 2008 -0300 x86: isolate sanity checking Isolate all sanity checking in a smp_sanity_check() function as x86_64 does. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit fa8004d8e0c2ba21a44bdc95c44c6c5267a991ec Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:12 2008 -0300 x86: add barriers statement goal is to have i386 and x86_64 closer, so we add barriers to match Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 148a30f8cf2ac72b7ea6e5c8971fad8d80ec3879 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:11 2008 -0300 x86: use APIC_INTEGRATED tests in x86_64 This patch does not change the behaviour of x86_64, since APIC_INTEGRATED is always defined as (1). But the code now matches exactly i386 version (well, this part of the code, at least) Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ac56ef61a1f65aaf1cb31dca2a407322c5f0a4dd Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:10 2008 -0300 x86: provide APIC_INTEGRATED definition for x86_64 it is always integrated, so define as 1. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 5733f627498121870b081b7ab73ffba01348f8cd Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:09 2008 -0300 x86: move state update out of ipi_lock it does not need to be inside lock. Do the way i386 does. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8f15b82e22779fd44baeb78515c9c154b407eff0 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:08 2008 -0300 x86: move setup_secondary_clock a little bit down in the function This is done so we call setup_secondary_clock() in the same place x86_64 does. A separate patch for this is appearantly not needed. But clock initialization is such a delicate thing, that it's safer to do this way Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3ff8171feecfcdee46be7d6e92259debe46ac87f Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:07 2008 -0300 x86: don't call local_irq_enable before entering idle the call to idle is guaranteed to do it. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3b22ec7b13cb31e0d87fbc0aabe14caaaad309e8 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:06 2008 -0300 x86: always enable irqs when entering idle This matches x86_64 behaviour, which is a superior one IMHO Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1d89a7f072d4f76f0538edfb474d527066ee7838 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:05 2008 -0300 x86: merge smp_store_cpu_info now that it is the same between arches, put it into smpboot.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit f7401f7fe653f90f8f80a241840b9b499779e87d Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:04 2008 -0300 x86: call identify_secondary_cpu in smp_store_cpu_info Call it conditionally for secondary cpus. This behaviour matches i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 5745abfe86841a97fbe9e3f1e4f881a01b0c5f5b Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:03 2008 -0300 x86: use identify_boot_cpu Call this function instead of identify_cpu in bugs_64.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 7a636af66404766df60acff88c475df8e8d79347 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:02 2008 -0300 x86: provide specialized identification routines for x86_64 provide two specialized identify_secondary_cpu() and identify_boot_cpu() routines for x86_64. Although not strictly needed, they are functionally correct, and will ease integration with i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 4f3ab1959a63a2686524f17665d799fac28eb271 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:01 2008 -0300 x86: decouple call to print_cpu_info from smp_store_cpu_info This will ease integration with i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 82389871b89467b4478e02d13be2f776e0138b5b Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:00 2008 -0300 x86: add an smp_apply_quirks to smpboot_32.c The split of smp_store_cpu_info in a quirks-only part will ease integration with x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit d0173aeac4f7fa90a63319b817bd207bdc0ac87e Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:24:59 2008 -0300 x86: use start_ipi_hook in x86_64 It is used to match i386. The definition for the non-paravirt case is moved to smp.h instead of smp_32.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1af8a0c1b3b85b1007f49917ea6a351b7aeb7562 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:24:58 2008 -0300 x86: use apic_*_around instead of apic_write in x86_64 This patch replaces apic_read() for apic_read_around() and apic_write for apic_write_around() in smpboot_64.c We do it to have a common usage between x86_64 and i386. In the former, it will always simply expand to apic_write Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ba10485c2f5a9482d93b095960cbe7d865d59e04 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:24:57 2008 -0300 x86: add loglevel to printks Add loglevel facilities to printks in __inquire_remote_apic. the levels are the ones to match x86_64 ones. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 26c6b5ea5575a5a4886dc45f889e7b783641f2de Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:24:56 2008 -0300 x86: change var types in __inquire_remote_apic change some variables' types in __inquire_remote_apic to match x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit b552da8740222c35bcd83c9be7b27185bfb6d53c Author: Pavel Machek Date: Wed Mar 19 15:58:11 2008 +0100 x86 iommu: add more documentation Fix coding style in pci-dma_64.c and add stubs for documentation. I hope someone fills the rest, I understand maybe off and soft... Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar commit 037cab07e9515149fecc2274775807f06ea6b036 Author: Alexey Starikovskiy Date: Tue Mar 11 22:55:48 2008 +0300 x86: move mp_bus_id_to_node to numa.c Signed-off-by: Ingo Molnar commit e129cb490e842753b43af7aae136935fc0928dc8 Author: Alexey Starikovskiy Date: Tue Mar 11 22:55:42 2008 +0300 x86: move mp_bus_id_to_local to numa.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit c0a282c251181aa423d4831719613b8286b5b839 Author: Alexey Starikovskiy Date: Thu Mar 20 14:55:02 2008 +0300 x86: make mp_bus_id_to_type optional [ mingo@elte.hu: fix boot regression. ] Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 9e0a2de2684372f16130b753efdbf226a997efb0 Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:56 2008 +0300 x86: rearrange bus_type parse Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 643befed1090af5f0000297ce11fa23e2777f42b Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:49 2008 +0300 x86: use not_pci bitmap #6 Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 9c0076cb34a0ea968413d9a1ccb6c7c850d3a1ee Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:43 2008 +0300 x86: use not_pci bitmap #5 Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 6728801dce13f83ee7e1778b137ceebab61b71c4 Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:36 2008 +0300 x86: use not_pci bitmap #4 Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 47cab822d6b25d8e130da00edef91ec3eef0efab Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:30 2008 +0300 x86: use not_pci bitmap #3 Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 73b2961bfa003518bb9cdd3c4003fad4d474ec13 Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:24 2008 +0300 x86: use not_pci bitmap #2 Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit d27e2b8e2ac34b62aca95d3cd7efe9708b718fde Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:18 2008 +0300 x86: use not_pci bitmap #1 Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit a6333c3ccbdc0ae001cff6ee1d3633942ef763f4 Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:09 2008 +0300 x86: add mp_bus_not_pci bitmap to mpparse_32.c Signed-off: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 8643f9d02a7bb9db74634b4c062d8e70ce7c59b9 Author: Yinghai Lu Date: Tue Feb 19 03:21:06 2008 -0800 x86: get boot_cpu_id as early for k8_scan_nodes When acpi=off or there is no SRAT defined, apicid_to_node is got from K8 Northbridge PCI configuration space in k8_scan_nodes() in arch/x86_64/mm/k8toplogy.c. The problem is that it assumes bsp apic id is 0 at that point. For four socket system with Quad core cpus installed, all cpus apic id is offset by 4, and bsp apic id is 4. For eight socket system with dual core cpus installed, all cpus apic id is offset by 2, and bsp apic id is 2. We need get boot_cpu_id --- bsp apic id, before k8_scan_nodes by called. So create early_acpi_boot_init and early_get_smp_config for get boot_cpu_id. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 6079d2d5d11122eb52721f0f3c828952a490e6c1 Author: Alexey Starikovskiy Date: Tue Mar 11 19:45:48 2008 +0300 x86: move quad_local_to_mp_bus_id to numa.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 5d570cbbf25a62e9c077f5b351fb142dbfc67288 Author: Mikael Pettersson Date: Tue Mar 11 16:43:31 2008 +0100 x86: correct/clarify comment in nops.h describes certain multibyte instructions as "generic" nops when in fact they aren't nops at all in 64-bit mode (missing REX.W causing truncation of a register). Update the comment to state that K8 or P6 style nops should be used in 64-bit mode. This matches what the alternatives code does. Signed-off-by: Mikael Pettersson Signed-off-by: Ingo Molnar commit 1415d160c7f7fe8f1026735d5b6cc19aec7a367f Author: Johannes Weiner Date: Mon Mar 10 21:10:57 2008 +0100 x86: Remove redundant display of free swap space in show_mem() Signed-off-by: Johannes Weiner Signed-off-by: Ingo Molnar commit 5b0e508415a83989fe704b4718a1a214bc333ca7 Author: Jan Beulich Date: Mon Mar 10 13:11:17 2008 +0000 x86: prevent unconditional writes to DebugCtl MSR Otherwise, enabling (or better, subsequent disabling) of single stepping would cause a kernel oops on CPUs not having this MSR. The patch could have been added a conditional to the MSR write in user_disable_single_step(), but centralizing the updates seems safer and (looking forward) better manageable. Signed-off-by: Jan Beulich Cc: Markus Metzger Signed-off-by: Ingo Molnar commit f694010185c429629ad5a65245da08103e611852 Author: Gautham R Shenoy Date: Mon Mar 10 17:44:03 2008 +0530 x86: Don't send RESCHEDULE_VECTOR to offlined cpus In the x86 native_smp_send_reschedule_function(), don't send the IPI if the cpu has gone offline already. Warn nevertheless!! Signed-off-by: Gautham R Shenoy Signed-off-by: Ingo Molnar commit 12db648c1518b2627cc983199a97ec6f5d6a1de2 Author: stephane eranian Date: Fri Mar 7 13:05:39 2008 -0800 x86: add AMD Northbridge MSR definition adds AMD Northbridge config MSR definition Signed-off-by: Stephane Eranian Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit 86975101e46ec93be972d8f46715aa6273102545 Author: stephane eranian Date: Fri Mar 7 13:05:27 2008 -0800 x86: add cpu_has_arch_perfmon adds cpu_has_arch_perfmon to test presence of architectural perfmon on Intel x86 processor Signed-off-by: Stephane Eranian Signed-off-by: Ingo Molnar commit e40c0fe6b0b5dd16aec3c0dad311d36b19d78fd9 Author: Joe Perches Date: Sun Mar 9 12:35:00 2008 -0700 x86: cleanup duplicate includes Signed-off-by: Joe Perches arch/x86/kernel/reboot.c | 1 - include/asm-x86/elf.h | 5 ++--- include/asm-x86/posix_types.h | 8 +------- include/asm-x86/processor.h | 3 +-- include/asm-x86/unistd.h | 8 +------- 5 files changed, 5 insertions(+), 20 deletions(-) Signed-off-by: Ingo Molnar commit 537d916066f66de18dbca79adf82933cd12d2a36 Author: Paolo Ciarrocchi Date: Fri Mar 7 19:26:26 2008 +0100 x86: coding style fixes to arch/x86/kernel/setup_32.c Fix: ERROR: do not initialise externals to 0 or NULL Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 9a79cf9c1aa671325fa5ba37576c2cee23823d04 Author: Yinghai Lu Date: Fri Mar 7 19:17:55 2008 -0800 x86: sort address_markers for dump_pagetables otherwise Vmemmap and High Kernel Mapping string is not showing up. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 01aaea1afbcdb7c49fe4a567ebe3e295db9f720d Author: Yinghai Lu Date: Thu Mar 6 13:46:39 2008 -0800 x86: introduce initial apicid store initial_apicid from early identify. it is could be different from phys_proc_id later. also print it out in /proc/cpuinfo. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 459cce726730ca0ac93701e53aa1d0d055ce9e90 Author: Ingo Molnar Date: Thu Mar 6 18:38:52 2008 +0100 x86: remove mach_reboot.h all reboot details are handled in reboot.c and quirks are handled via reboot_fixups_32.c. Signed-off-by: Ingo Molnar commit 4e4eee0e0139811b36a07854dcfa9746bc8b16d3 Author: Mathieu Desnoyers Date: Sat Feb 2 15:42:20 2008 -0500 x86: enhance DEBUG_RODATA support for hotplug and kprobes Standardize DEBUG_RODATA, removing special cases for hotplug and kprobes. Signed-off-by: Mathieu Desnoyers Cc: Andi Kleen Cc: pageexec@freemail.hu Cc: akpm@linux-foundation.org CC: Andi Kleen CC: pageexec@freemail.hu CC: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e587cadd8f47e202a30712e2906a65a0606d5865 Author: Mathieu Desnoyers Date: Thu Mar 6 08:48:49 2008 -0500 x86: enhance DEBUG_RODATA support - alternatives Fix a memcpy that should be a text_poke (in apply_alternatives). Use kernel_wp_save/kernel_wp_restore in text_poke to support DEBUG_RODATA correctly and so the CPU HOTPLUG special case can be removed. Add text_poke_early, for alternatives and paravirt boot-time and module load time patching. Changelog: - Fix text_set and text_poke alignment check (mixed up bitwise and and or) - Remove text_set - Export add_nops, so it can be used by others. - Document text_poke_early. - Remove clflush, since it breaks some VIA architectures and is not strictly necessary. - Add kerneldoc to text_poke and text_poke_early. - Create a second vmap instead of using the WP bit to support Xen and VMI. - Move local_irq disable within text_poke and text_poke_early to be able to be sleepable in these functions. Signed-off-by: Mathieu Desnoyers CC: Andi Kleen CC: pageexec@freemail.hu CC: H. Peter Anvin CC: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 77bf90ed66116a1fc0e2f0554ecac75a54290cc0 Author: Harvey Harrison Date: Mon Mar 3 11:37:23 2008 -0800 x86: replace remaining __FUNCTION__ occurances __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 282bfe21cf0e2af9eac052c89bcc0a5ace80352f Author: Yinghai Lu Date: Thu Mar 6 01:13:34 2008 -0800 x86: show apicid for cpu in proc Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a7062211865efb53cda253d6e33a106f0fe20ebe Author: Yinghai Lu Date: Thu Mar 6 01:11:11 2008 -0800 x86: fix amd_detect_cmp for system with apicid lifting, boot cpu apicid will be 4 got: CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 512K (64 bytes/line) CPU 0/4 -> Node 0 CPU: Physical Processor ID: 1 CPU: Processor Core ID: 0 so try to offset apicid back before get phys_proc_id with bits shift. then we can get correct socket ID also remove remove cpu_data(0) reference. because cpu_data(0) only be ready after smp_prepare_cpus with the assignment from boot_cpu_data to current_cpu_data aka cpu_data(0). and check_bugs()==>identify_cpu(&boot_cpu_data) is quite before than smp_prepare_cpus. So just use boot_cpu_id instead. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 97b44ae6cd8117212d41bedc433b5571ee3b79d9 Author: Ingo Molnar Date: Thu Mar 6 10:43:17 2008 +0100 x86: add KERN_INFO to show_unhandled_signals printout Before: total: 0 errors, 1 warnings, 678 lines checked After: total: 0 errors, 0 warnings, 678 lines checked No code changed: arch/x86/kernel/signal_32.o: text data bss dec hex filename 5333 0 4 5337 14d9 signal_32.o.before 5336 0 4 5340 14dc signal_32.o.after md5: c279e98012a2808e90cfa2a7787e42a4 signal_32.o.before.asm c279e98012a2808e90cfa2a7787e42a4 signal_32.o.after.asm Signed-off-by: Ingo Molnar commit eee6dd15723639f9270e4c561a0c82e8e18bd587 Author: Ingo Molnar Date: Thu Mar 6 10:39:07 2008 +0100 x86: move extern declaration to vdso.h Before: total: 0 errors, 3 warnings, 685 lines checked After: total: 0 errors, 1 warnings, 678 lines checked No code changed: arch/x86/kernel/signal_32.o: text data bss dec hex filename 5333 0 4 5337 14d9 signal_32.o.before 5333 0 4 5337 14d9 signal_32.o.after md5: c279e98012a2808e90cfa2a7787e42a4 signal_32.o.before.asm c279e98012a2808e90cfa2a7787e42a4 signal_32.o.after.asm Signed-off-by: Ingo Molnar commit 7e907f48980d6668f99206ba0dded40dca2d086f Author: Ingo Molnar Date: Thu Mar 6 10:33:08 2008 +0100 x86: clean up arch/x86/kernel/signal_32.c Before: total: 21 errors, 6 warnings, 665 lines checked After: total: 0 errors, 3 warnings, 685 lines checked No code changed: arch/x86/kernel/signal_32.o: text data bss dec hex filename 5333 0 4 5337 14d9 signal_32.o.before 5333 0 4 5337 14d9 signal_32.o.after md5: c279e98012a2808e90cfa2a7787e42a4 signal_32.o.before.asm c279e98012a2808e90cfa2a7787e42a4 signal_32.o.after.asm Signed-off-by: Ingo Molnar commit a7113170214b569d24e413326a56c4cc5cc1a152 Author: Ingo Molnar Date: Thu Mar 6 10:24:04 2008 +0100 x86: remove DEBUG_SIG Signed-off-by: Ingo Molnar commit c1db29dbc761e9a464b417df7d4dbbae7df81f4c Author: Joe Perches Date: Tue Mar 4 16:47:00 2008 -0800 x86: arch/x86/kernel/cpu/feature_names.c - use angle brackets for include Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 16281a998d7340a5bee4078f6f9a26c47208eb86 Author: Joe Perches Date: Tue Mar 4 16:46:27 2008 -0800 x86: include/asm-x86/mutex_32.h - use angle brackets for include Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit f668964ea1485c64cc9ab0721679fe9cd90cc406 Author: Ingo Molnar Date: Wed Mar 5 15:37:32 2008 +0100 x86: clean up i387.c minor coding style cleanups. Before: total: 0 errors, 3 warnings, 479 lines checked After: total: 0 errors, 1 warnings, 483 lines checked No code changed: arch/x86/kernel/i387.o: text data bss dec hex filename 2379 4 8 2391 957 i387.o.before 2379 4 8 2391 957 i387.o.after md5: e1434553a3b4ff1f52ad97a68b1fad8a i387.o.before.asm e1434553a3b4ff1f52ad97a68b1fad8a i387.o.after.asm Signed-off-by: Ingo Molnar commit ca9cda2f7b53da619fabde4c0c1bd5f61039bd5b Author: Ingo Molnar Date: Wed Mar 5 15:15:42 2008 +0100 x86: add comments to processor.h add comments to the FPU structures of processor.h. Signed-off-by: Ingo Molnar commit e104383fbf26570968cbf060955f67cd5378300a Author: Glauber Costa Date: Mon Mar 3 14:13:14 2008 -0300 x86: use cpu_relax instead of rep_nop This is done for smpboot_32.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e90009bcc1137c51d677262417f16c00ad2ce9a9 Author: Glauber Costa Date: Mon Mar 3 14:13:13 2008 -0300 x86: use wait_for_init_deassert in x86_64 wraps the busy loop for wait_for_init_deasserted() in a function, so smp_callin in x86_64 looks like more i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 91718e8d13c23bfe0aa6fa6b730c5c33ee9771bf Author: Glauber Costa Date: Mon Mar 3 14:13:12 2008 -0300 x86: unify setup_trampoline setup_trampoline() looks very similar between architectures, and this patch unifies them. The i386 version allocates bootmem memory, while the x86_64 version uses a fixed address. In this patch, we initialize the global trampoline_base to the x86_64 version, and i386 allocation can later override it. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit da522b07293756b9cb4e2c570454f95b8e79e189 Author: Glauber Costa Date: Mon Mar 3 14:13:11 2008 -0300 x86: adapt voyager's setup_trampoline make setup_trampoline non-static. This way, it won't conflict with the extern declaration in smp.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit d507897b2f179a9b30ce2f91b768ed2ee84575bc Author: Glauber Costa Date: Mon Mar 3 14:13:10 2008 -0300 x86: adapt voyager's trampoline_base Change voyager's trampoline base to unsigned char * instead of u32. This way, it won't conflict with the other architectures when including smp.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 420688293927a590d092ec76ef97c2565ae21aff Author: Glauber Costa Date: Mon Mar 3 14:13:09 2008 -0300 x86: move trampoline arrays extern definition to smp.h In here, they can serve both architectures Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 89b08200ad8bc8fb860da218c4f3bcc292bf286c Author: Glauber Costa Date: Mon Mar 3 14:13:08 2008 -0300 x86: make x86_64 accept the max_cpus parameter The parameter passing parsing is done in the common smpboot.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 69c18c15d39c4622c6e2f97e5db4d8c9c43adaaa Author: Glauber Costa Date: Mon Mar 3 14:13:07 2008 -0300 x86: merge __cpu_disable and cpu_die They are now equal, and are moved to a common file Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e9a6cb96fafa4d4df2033ab6cf9c817f6f47e052 Author: Glauber Costa Date: Mon Mar 3 14:13:06 2008 -0300 x86: do not clear cpu_online_map it was already cleared two lines above, and so, this removal is bogus Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 045f9d22029e94d6609d46f8ee07c63f4693dfb3 Author: Glauber Costa Date: Mon Mar 3 14:13:05 2008 -0300 x86: use remove_from_maps in cpu_disable it is already used in x86_64. In i386, it only removes from cpu_online_map Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit fc25da9ec6c910976b76c70f7604a838679f75b2 Author: Glauber Costa Date: Mon Mar 3 14:13:04 2008 -0300 x86: remove vector_lock around cpu_online_map This lock does not protect cpu_online_map, so its length can be shortened, and in some cases, removed. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 70708a18e834fd709a4f497bb419ec84d1eb3511 Author: Glauber Costa Date: Mon Mar 3 14:13:03 2008 -0300 x86: move cpu_coregroup_map to common file it is equal between architectures Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 768d95051bdaf60b4eb89b42c133b14627f478f2 Author: Glauber Costa Date: Mon Mar 3 14:13:02 2008 -0300 x86: move sibling functions to common file set_cpu_sibling_map() and remove_sibling_info() are equal between architectures, and are now moved to common file Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1dbb4726faebe9e64a1e9cf40e3b39fffa065a65 Author: Glauber Costa Date: Mon Mar 3 14:13:01 2008 -0300 x86: move hotplug related extern definitions to smp.h definitions that are inside CONFIG_HOTPLUG_CPU in the arch-specific smp*.h files are moved to common header Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 61d5989973cc52b0ef0f781e870dfe5da6d5023e Author: Glauber Costa Date: Mon Mar 3 14:13:00 2008 -0300 x86: make remove_siblinginfo non-static this is done to match i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1452207689b3c0dd2ffed40735289a3a4a8c0c7c Author: Glauber Costa Date: Mon Mar 3 14:12:59 2008 -0300 x86: make set_cpu_sibling_map nonstatic And move its extern definition to smp.h, the common header Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit a355352b97901d987f54ea7c7d7161eb51a3799c Author: Glauber Costa Date: Mon Mar 3 14:12:58 2008 -0300 x86: move equal types to common file move definitions that are now equal in type from smpboot_{32,64}.c to smpboot.c cpu_callin_map is put temporarily in smp_64.h (already exists in smp_32.h), and will soon be merged. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 5382e89670399f9db8a58b3c6f850fa4a94f6cca Author: Glauber Costa Date: Mon Mar 3 14:12:57 2008 -0300 x86: adjust types in smpcommon_32.c so they can have the same type as x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit fe6762030ca3728d3e24b556676114a6a64a97be Author: Glauber Costa Date: Mon Mar 3 14:12:56 2008 -0300 x86: remove cpu_llc_id from processor.h it is already defined in smp.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 0941ecb55fbfd2d8bcc62dfd2fcaba1b35f2f196 Author: Glauber Costa Date: Mon Mar 3 14:12:55 2008 -0300 x86: get rid of smp_32.c and smp_64.c This patch merges the copyright notices, and valuable comments that were left back on smp_{32,64}.c. With that, files are empty, and are deleted Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit c048fdfe6178e082be918d4062c86d9764979112 Author: Glauber Costa Date: Mon Mar 3 14:12:54 2008 -0300 x86: create tlb files this patch creates tlb_32.c and tlb_64.c, with tlb-related functions that used to live in smp*.c files. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8202350367ac11d571f6dd4c21c2027a4d235276 Author: Glauber Costa Date: Mon Mar 3 14:12:53 2008 -0300 x86: create ipi.c This patch moves all ipi and apic related functions from smp_32.c to ipi.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit f9e47a126be2eaabf04a1a5c71ca7b23a473d0d8 Author: Glauber Costa Date: Mon Mar 3 14:12:52 2008 -0300 x86: create smp.c this patch moves all the functions and data structures that look like exactly the same from smp_{32,64}.c to smp.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 377d698426b8c685fb6d48fe89694fe4ce3aa1f8 Author: Glauber Costa Date: Mon Mar 3 14:12:51 2008 -0300 x86: unify smp_send_stop function definition is moved to common header. x86_64 version is now called native_smp_send_stop Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 321183c145a37e6d31cc55e0f69a226f9006e621 Author: Glauber Costa Date: Mon Mar 3 14:12:50 2008 -0300 x86: add reboot_force test to native_smp_send_stop This can be safely added to i386. After that, functions look exactly the same for both arches Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3be5b49e8f1002bc562a2b4670093e4ebf27b4e9 Author: Glauber Costa Date: Mon Mar 3 14:12:49 2008 -0300 x86: make stop_this_cpu looks exactly equal in both arches with the hlt_works change, it is possible to have i386 and x86_64 stop_this_cpu() looking exactly the same. They can, after that, be merged. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3d3f487c58ef1ece714af280b29411960908149c Author: Glauber Costa Date: Mon Mar 3 14:12:48 2008 -0300 x86: provide hlt_works function. In x86_64, hlt always work. in i386, we'll query the cpuinfo associated with this cpu Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 2513926c286ca1d0d189c206966011bdd4080354 Author: Glauber Costa Date: Mon Mar 3 14:12:47 2008 -0300 x86: change x86_64 smp_call_function_mask to look alike i386 the two versions (the inner version, and the outer version, that takes the locks) of smp_call_function_mask are made into one. With the changes, i386 and x86_64 versions look exactly the same. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3a36d1e435af79ec3bc5ead871e5b22d5558ebf3 Author: Glauber Costa Date: Mon Mar 3 14:12:46 2008 -0300 x86: provide __smp_call_function This function is used in smp_send_stop(). It's like smp_call_function_mask, but always go to all online cpus, and does not take any locks. It is added to x86_64, but will soon be unified in a common file Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e32640a2cd530e1259a06e34a72b0cdb73738ce2 Author: Glauber Costa Date: Mon Mar 3 14:12:45 2008 -0300 x86: create smpcommon.c This patch creates smpcommon.c with functions that are equal between architectures. The i386-only init_gdt is ifdef'd. Note that smpcommon.o figures twice in the Makefile: this is because sub-architectures like voyager that does not use the normal smp_$(BITS) files also have to access them Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3428f3d6caa3bc2adde050a2771a2821eb46f901 Author: Glauber Costa Date: Mon Mar 3 14:12:44 2008 -0300 x86: remove irqs disabled warning. there's already a warning in the topmost function Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 7930e53422d3d06ea873199f66c288806d37cc94 Author: Glauber Costa Date: Mon Mar 3 14:12:43 2008 -0300 x86: remove export for smp_call_function_mask. with this removal, exports for both i386 and x86_64, regarding the "smp_call_function" series are now the same. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 68a1c3f8cd893f5c3c1396fec5be7d8acac4fc93 Author: Glauber Costa Date: Mon Mar 3 14:12:42 2008 -0300 x86: move prefill_possible_map to common file this patches moves prefill_possible_map() to smpboot.c Right now it is x86_64-specific, but nothing intrinsically prevents it to be used by i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 7b1292e2371e3ae2ac69fbb899d539ddc7b53a27 Author: Glauber Costa Date: Mon Mar 3 14:12:41 2008 -0300 x86: use disabled_cpus in i386 this patch allows a cpu to be marked as present but disabled in i386, just as x86_64 currently does. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 93b016f8f393c1f8c27e8c4df06ad1420fac65f5 Author: Glauber Costa Date: Mon Mar 3 14:12:40 2008 -0300 x86: move disabled_cpus to common header disabled_cpus is (up to now) a x86_64-only contruction. But it's extern declaration can be moved to common header anyway Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit c559764923dacef301116a248695856e6eb96e48 Author: Glauber Costa Date: Mon Mar 3 14:12:39 2008 -0300 x86: unify smp_cpus_done definition is moved to common header. x86_64 version is now called native_smp_cpus_done Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 7557da67208f6ed3a1073594b7597bf20c9eb63a Author: Glauber Costa Date: Mon Mar 3 14:12:38 2008 -0300 x86: unify smp_prepare_cpus definition is moved to common header. x86_64 version is now called native_smp_prepare_cpus Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1e3fac83da056f26bcb96e13967c157de55bf2ef Author: Glauber Costa Date: Mon Mar 3 14:12:37 2008 -0300 x86: unify prepare_boot_cpu definition is moved to common header. x86_64 version is now called native_prepare_boot_cpu Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 71d195492a6e0b22135a7156af1b41c0f99a116b Author: Glauber Costa Date: Mon Mar 3 14:12:36 2008 -0300 x86: unify __cpu_up. function definition is moved to common header. x86_64 version is now called native_cpu_up Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 64b1a21e0924dca7ea3b7cf4287fa719c8ba7fc5 Author: Glauber Costa Date: Mon Mar 3 14:12:35 2008 -0300 x86: unify smp_call_function_mask definition is moved to common header, x86_64 function name now is native_smp_call_function_mask Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8678969e60d80527d96d2af0011e72c87c9c1fe5 Author: Glauber Costa Date: Mon Mar 3 14:12:34 2008 -0300 x86: merge smp_send_reschedule function definition is moved to common header, x86_64 version is now called native_smp_send_reschedule Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit c76cb36846da6d5d6fb2951968869faa4fd1001d Author: Glauber Costa Date: Mon Mar 3 14:12:33 2008 -0300 x86: move smp_ops extern declaration to common header the smp_ops symbol is temporarily defined in smp_64.c, but it will soon be unified Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 16694024d6d6fa84dfcf5400b53afe1e75cebf0d Author: Glauber Costa Date: Mon Mar 3 14:12:32 2008 -0300 x86: define smp_ops in common header x86_64 will benefit from it Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 53ebef4961c7d5347b4fa2b878258ccd11fc9663 Author: Glauber Costa Date: Mon Mar 3 14:12:31 2008 -0300 x86: merge extern variables definitions move extern definitions that are the same between smp_{32,64}.h to smp.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 639acb16e6b93342a786c01425cf8eb8ebbb1351 Author: Glauber Costa Date: Mon Mar 3 14:12:30 2008 -0300 x86: merge extern function definitions move extern function definitions that are the same between smp_{32,64}.h to smp.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit c27cfeffad436816ecd500b8dc94acf348182b13 Author: Glauber Costa Date: Mon Mar 3 14:12:29 2008 -0300 x86: commonize smp.h this is the first step of integrating smp.h between x86_64 and i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8b6451fe5cf78909f28d3762f77df060c8603cd0 Author: Ingo Molnar Date: Wed Mar 5 10:46:38 2008 +0100 x86: fix switch_to() clobbers Liu Pingfan noticed that switch_to() clobbers more registers than its asm constraints specify. We get away with this due to luck mostly - schedule() by its nature only has 'local' state which gets reloaded automatically. Fix it nevertheless, we could hit this anytime. it turns out that with the extra constraints gcc manages to make schedule() even more compact: text data bss dec hex filename 28626 684 2640 31950 7cce sched.o.before 28613 684 2640 31937 7cc1 sched.o.after Reported-by: Liu Pingfan Signed-off-by: Ingo Molnar commit 23b55bd9f33a1812a664e548803db34c9bec56e8 Author: Ingo Molnar Date: Wed Mar 5 10:24:37 2008 +0100 x86: clean up switch_to() Make the code more readable and more hackable: - use symbolic asm parameters - use readable indentation - add comments that explains the details No code changed: kernel/sched.o: text data bss dec hex filename 28626 684 2640 31950 7cce sched.o.before 28626 684 2640 31950 7cce sched.o.after md5: 2823d406c18b781975cdb2e7cfea0059 sched.o.before.asm 2823d406c18b781975cdb2e7cfea0059 sched.o.after.asm Signed-off-by: Ingo Molnar commit ecd94c0809eb0ff50b628fa061c531a6fbf2fbbc Author: Alexander van Heukelum Date: Tue Mar 4 20:12:28 2008 +0100 x86: reserve end-of-conventional-memory to 1MB, 64-bit, use paravirt_enabled Jeremy Fitzhardinge pointed out that looking at the boot_params struct to determine if the system is running in a paravirtual environment is not reliable for the Xen case, currently. He also points out that there already exists a function to determine if the system is running in a paravirtual environment. So let's use that instead. This gets rid of the preprocessor test too. Signed-off-by: Alexander van Heukelum Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 2fde61fdb00c2337efc56cfbb05bde8a42864e65 Author: Alexander van Heukelum Date: Tue Mar 4 19:57:42 2008 +0100 x86: reserve end-of-conventional-memory to 1MB, 32-bit, use paravirt_enabled Jeremy Fitzhardinge pointed out that looking at the boot_params struct to determine if the system is running in a paravirtual environment is not reliable for the Xen case, currently. He also points out that there already exists a function to determine if the system is running in a paravirtual environment. So let's use that instead. This gets rid of the preprocessor test too. Signed-off-by: Alexander van Heukelum Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 0d7a1819e97ef89be5bcbb4b724acb9f6c873c97 Author: Pavel Machek Date: Mon Mar 3 12:49:09 2008 +0100 x86: wmb() confusion in system.h Comment says wmb is a nop, but it is implemented as lock addl below... Should it be compiled to nop if we know we are running on "good" Intel cpu? At least remove confusing comment for now. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar commit 3c2047cd32b1a8c782d7efab72707e7daa251625 Author: Rusty Russell Date: Tue Mar 4 23:07:50 2008 +1100 x86: if we cannot calibrate the TSC, we panic. The current tsc_init() clears the TSC feature bit if the TSC khz cannot be calculated, causing us to panic in arch/x86/kernel/cpu/bugs.c check_config(). We should simply mark it unstable. Frankly, someone should take an axe to this code. mark_tsc_unstable() not only marks it unstable, but sets tsc_enabled to 0, which seems redundant but is actually important here because means it won't be used by sched_clock() either. Perhaps a tristate enum "UNUSABLE, UNSTABLE, OK" would be clearer, and separate mark_tsc_unstable() and mark_tsc_broken() functions? Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 9fc34113f6880b215cbea4e7017fc818700384c2 Author: Ingo Molnar Date: Mon Mar 3 09:53:17 2008 +0100 x86: debug pmd_bad() Signed-off-by: Ingo Molnar commit 40869cd038a0ecb867a7227aba46806224e4d11d Author: Ingo Molnar Date: Mon Mar 3 13:55:32 2008 +0100 x86: redo cded932b75ab0a5f9181e redo commit cded932b75ab0a5f9181e. Signed-off-by: Ingo Molnar commit ba748d221eb74b849453a94fdf0e1d0566b407d7 Author: Ingo Molnar Date: Mon Mar 3 09:37:41 2008 +0100 x86: warn about RAM pages in ioremap() Signed-off-by: Ingo Molnar commit 320a6b2efceccb652befca0b1c9a92d6e4256ef6 Author: Alexander van Heukelum Date: Sat Mar 1 17:12:43 2008 +0100 x86: reserve end-of-conventional-memory to 1MB, 64-bit This patch is an add-on to the 64-bit ebda patch. It makes the functions reserve_ebda_region (renamed from reserve_ebda) and copy_e820_map equal to the 32-bit versions of the previous patch. Changes: Use u64 and u32 for local variables in copy_e820_map. The amount of conventional memory and the start of the EBDA are detected by reading the BIOS data area directly. Paravirtual environments do not provide this area, so we bail out early in that case. They will just have to set up a correct memory map to start with. Add a safety net for zeroed out BIOS data area. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit f6eb62b6924b99ec7da97fb6f554685a9ad6dce4 Author: Alexander van Heukelum Date: Mon Feb 25 19:07:51 2008 +0100 x86: reserve_early end-of-conventional-memory to 1MB, 64-bit Explicitly reserve_early the whole address range from the end of conventional memory as reported by the bios data area up to the 1Mb mark. Regard the info retrieved from the BIOS data area with a bit of paranoia, though, because some biosses forget to register the EBDA correctly. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit dedd04be71cea3d5adb14c8f674e801911c89a2f Author: Alexander van Heukelum Date: Sat Mar 1 17:09:12 2008 +0100 x86: reserve end-of-conventional-memory to 1MB on 32-bit This patch adds explicit detection of the EBDA and reservation of the rom and adapter address space 0xa0000-0x100000 to the i386 kernels. Before this patch, the EBDA size was hardcoded as 4Kb. Also, the reservation of the adapter range was done by modifying the e820 map which is now not necessary any longer, and that code is removed from copy_e820_map. The amount of conventional memory and the start of the EBDA are detected by reading the BIOS data area directly. Paravirtual environments do not provide this area, so we bail out early in that case. They will just have to set up a correct memory map to start with. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 823c248e7cc75b4f22da914b01f8e5433cff197e Author: Roman Zippel Date: Fri Feb 29 05:09:02 2008 +0100 x86: fix recursive dependencies The proper dependency check uncovered a few dependency problems, the subarchitecture used a mixture of selects and depends on SMP and PCI dependency was messed up. Signed-off-by: Roman Zippel Signed-off-by: Ingo Molnar commit 81e103f1f1bb0d35000f0e99626bf7abf864b486 Author: Jeremy Fitzhardinge Date: Thu Apr 17 17:40:51 2008 +0200 xen: use iret instruction all the time Change iret implementation to not be dependent on direct-access vcpu structure. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit c9cf39ae64a6c86872e580f921afec64ab9770f8 Author: Paolo Ciarrocchi Date: Fri Feb 29 13:26:56 2008 +0100 x86: coding style fixes to x86/kernel/early_printk.c Depends on: [PATCH 2/3] x86: coding style fixes to arch/x86/kernel/early_printk.c Remove two: ERROR: do not initialise statics to 0 or NULL paolo@paolo-desktop:/tmp/c$ size * text data bss dec hex filename 1172 280 12 1464 5b8 early_printk.o.after 1172 280 12 1464 5b8 early_printk.o.before This patch is changing the binary output: paolo@paolo-desktop:/tmp/c$ md5sum * dad9a9a881e0eeda62cc5645bd3d7cad early_printk.o.after da32f5cd8f248970e4809e1005393e95 early_printk.o.before because the two variables moved to another section. No change in functionality. Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit e941f27a7a0f4ecac9ba8237b8a329bab4bd622f Author: Paolo Ciarrocchi Date: Fri Feb 29 13:25:30 2008 +0100 x86: coding style fixes to arch/x86/kernel/early_printk.c Before: total: 17 errors, 3 warnings, 254 lines checked After: total: 2 errors, 3 warnings, 254 lines checked paolo@paolo-desktop:/tmp/b$ md5sum * da32f5cd8f248970e4809e1005393e95 early_printk.o.after da32f5cd8f248970e4809e1005393e95 early_printk.o.before paolo@paolo-desktop:/tmp/b$ size * text data bss dec hex filename 1172 280 12 1464 5b8 early_printk.o.after 1172 280 12 1464 5b8 early_printk.o.befor Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 3f50dbc1aec96c4d66ffa1c564014f9f43fb9e11 Author: Paolo Ciarrocchi Date: Fri Feb 29 12:50:56 2008 +0100 x86: coding style fixes to arch/x86/lib/usercopy_32.c Before: total: 63 errors, 2 warnings, 878 lines checked After: total: 0 errors, 2 warnings, 878 lines checked Compile tested, no change in the binary output: text data bss dec hex filename 3231 0 0 3231 c9f usercopy_32.o.after 3231 0 0 3231 c9f usercopy_32.o.before md5sum: 9f9a3eb43970359ae7cecfd1c9e7cf42 usercopy_32.o.after 9f9a3eb43970359ae7cecfd1c9e7cf42 usercopy_32.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit bdd3cee2e4b7279457139058615ced6c2b41e7de Author: Ingo Molnar Date: Thu Feb 28 14:10:49 2008 +0100 x86: ioremap(), extend check to all RAM pages Suggested by Jan Beulich. Signed-off-by: Ingo Molnar Acked-by: Jan Beulich commit b089c12b25284a5e31ede7c98936a2b36a41e090 Author: Hiroshi Shimamoto Date: Wed Feb 27 13:16:30 2008 -0800 x86: X86_HT always enable on X86_64 SMP X86_HT is used for hyperthreading or multicore on 32-bit. The X86_HT on 64-bit is different from 32-bit, it means hyperthreading only. And X86_HT is not used on 64-bit except from cpu/initel_cacheinfo.c. Unify X86_HT for hyperthreading or multicore. Turn X86_HT on when X86_64 and SMP are enabled. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit e3100c82abd9aa643dc15828202aceeae3504e03 Author: Thomas Gleixner Date: Wed Feb 27 20:57:40 2008 +0100 x86: check physical address range in ioremap Roland Dreier reported in http://lkml.org/lkml/2008/2/27/194 [ 8425.915139] BUG: unable to handle kernel paging request at ffffc20001a0a000 [ 8425.919087] IP: [] clflush_cache_range+0xc/0x25 [ 8425.919087] PGD 1bf80e067 PUD 1bf80f067 PMD 1bb497067 PTE 80000047000ee17b This is on a Intel machine with 36bit physical address space. The PTE entry references 47000ee000, which is outside of it. Add a check for the physical address space and warn/printk about the stupid caller. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b8c2d3dfbc117dff26058fbac316b8acfc2cb5f7 Author: Markus Armbruster Date: Wed Feb 27 14:56:35 2008 +0100 xen: make hvc0 the preferred console in domU This makes the Xen console just work. Before, you had to ask for it on the kernel command line with console=hvc0 Signed-off-by: Markus Armbruster Signed-off-by: Ingo Molnar commit 78a9909aab54123c7c471022389b36972e13b48e Author: Ingo Molnar Date: Thu Apr 17 17:40:51 2008 +0200 x86, tracing: add notrace to asm-x86/linkage.h notrace signals that a function should not be traced. Most of the time this is used by tracers to annotate code that cannot be traced - it's in a volatile state (such as in user vdso context or NMI context) or it's in the tracer internals. Signed-off-by: Ingo Molnar commit 11ae9dd48128790d3d2ece6bc916c001b4a1d147 Author: Alexey Dobriyan Date: Tue Feb 26 13:23:32 2008 +0300 x86: switch to proc_create() Signed-off-by: Alexey Dobriyan Signed-off-by: Ingo Molnar commit b5964405fbc4fd4c57e0e1f86bc9f1b3dbfa040a Author: Ingo Molnar Date: Tue Feb 26 11:15:50 2008 +0100 x86: clean up traps_32.c Before: total: 86 errors, 29 warnings, 1248 lines checked After: total: 0 errors, 17 warnings, 1281 lines checked No code changed: arch/x86/kernel/traps_32.o: text data bss dec hex filename 8711 2168 72 10951 2ac7 traps_32.o.before 8711 2168 72 10951 2ac7 traps_32.o.after (md5 sums differ because some stack offset positions changed.) Signed-off-by: Ingo Molnar commit 10cd5a1e5403d79a2d53425e6a4c8612e02ba973 Author: Ingo Molnar Date: Tue Feb 26 08:52:39 2008 +0100 x86: clean up cpu capabilities accesses, transmeta.c Signed-off-by: Ingo Molnar commit d0e95ebdc5cf5fe6fa29f2e0a5c6a0fe5c5aa50f Author: Ingo Molnar Date: Tue Feb 26 08:52:33 2008 +0100 x86: clean up cpu capabilities in arch/x86/kernel/cpu/intel.c Signed-off-by: Ingo Molnar commit 1d007cd5aeea2c9283e01433dbce4c9f91dd7823 Author: Ingo Molnar Date: Tue Feb 26 08:52:27 2008 +0100 x86: clean up cpu capabilities accesses, cyrix.c Signed-off-by: Ingo Molnar commit 4cbe668add030a35e0592a9bb292e0f2a1bcea88 Author: Ingo Molnar Date: Tue Feb 26 08:51:32 2008 +0100 x86: clean up cpu capabilities accesses, common.c Signed-off-by: Ingo Molnar commit e1a94a974c2aa3c0a7c1a915c805211fb6773de1 Author: Ingo Molnar Date: Tue Feb 26 08:51:22 2008 +0100 x86: clean up cpu capabilities accesses, centaur.c Signed-off-by: Ingo Molnar commit 16282a8e25f1783f296e5116dcef810a8e68d1a0 Author: Ingo Molnar Date: Tue Feb 26 08:49:57 2008 +0100 x86: clean up cpu capabilities accesses, amd.c Signed-off-by: Ingo Molnar commit 9716951efd98ada69c417adddc85d9bbe1d7835a Author: Ingo Molnar Date: Tue Feb 26 08:54:01 2008 +0100 x86: clean up cpu capabilities accesses, generic Signed-off-by: Ingo Molnar commit 0f8d2b926d15a68eac9c19edfdcb58a5d80b2960 Author: Ingo Molnar Date: Tue Feb 26 08:34:21 2008 +0100 x86: clean up cpu capabilities accesses introduce test_cpu_cap() for raw access to the real CPU capabilities as they are present in x86_capability. (cpu_has() will shortcut certain tests during build-time) Signed-off-by: Ingo Molnar commit d32de19ca9076eeed1e9bfd678e550fbad437535 Author: Yinghai Lu Date: Mon Feb 25 23:20:01 2008 -0800 x86: remove wrong setting about CONSTANT_TSC for intel cpu early_init_intel() on 64-bit is introduced by commit 2b16a2353814a513cdb5c5c739b76a19d7ea39ce Author: Andi Kleen Date: Wed Jan 30 13:32:40 2008 +0100 x86: move X86_FEATURE_CONSTANT_TSC into early cpu feature detection sets CONSTANT_TSC for intel cpus - but it is already set in init_intel(). don't need to set that two times in early_init_intel() and init_intel(). this patch removes the init_intel() one. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 4edbfa789b32bebf0b7fb71d5b2913a91ac4d0b1 Author: Florian Fainelli Date: Mon Feb 25 11:44:07 2008 +0100 x86, rdc321x: remove watchdog file remove the arch/x86/mach-rdc321x/wdt.c file. Signed-off-by: Florian Fainelli Signed-off-by: Ingo Molnar commit f8fffa458368ed3d57385698f775880db629bd1a Author: Yinghai Lu Date: Sun Feb 24 21:36:28 2008 -0800 x86: apic_is_clustered_box for vsmp quad core 8 socket system will have apic id lifting.the apic id range could be [4, 0x23]. and apic_is_clustered_box will think that need to three clusters and that is larger than 2. So it is treated as a clustered_box. and will get: Marking TSC unstable due to TSCs unsynchronized even if the CPUs have X86_FEATURE_CONSTANT_TSC set. this quick fix will check if the cpu is from AMD. but vsmp still needs that checking... this patch is fix to make sure that vsmp not to be passed. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 34048c9e927d5ae29c6ba802c826370de2a046d2 Author: Paolo Ciarrocchi Date: Sun Feb 24 11:58:13 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/common.c Before: total: 55 errors, 6 warnings, 727 lines checked After: total: 0 errors, 3 warnings, 734 lines checked No code changed: arch/x86/kernel/cpu/common.o: text data bss dec hex filename 3500 4611 44 8155 1fdb common.o.before 3500 4611 44 8155 1fdb common.o.after md5: e37091f11fbeb682c0db152ac3022a38 common.o.before.asm e37091f11fbeb682c0db152ac3022a38 common.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit db96598494f2a2ab9ab79999dd8fc365a906914b Author: Paolo Ciarrocchi Date: Sun Feb 24 11:57:22 2008 +0100 x86: coding style fixes to arch/x86/power/cpu_32.c Before: total: 15 errors, 3 warnings, 133 lines checked After: total: 0 errors, 0 warnings, 138 lines checked No code changed: arch/x86/power/cpu_32.o: text data bss dec hex filename 739 0 84 823 337 cpu_32.o.before 739 0 84 823 337 cpu_32.o.after md5: eb0726223a5e26b195e65f0ae2c0ec66 cpu_32.o.before.asm eb0726223a5e26b195e65f0ae2c0ec66 cpu_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 7ebed39ff7eec204850736a662828da0b942b8c0 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:11:59 2008 +0100 x86: coding style fixes to arch/x86/xen/multicalls.c Before: total: 2 errors, 2 warnings, 138 lines checked After: total: 0 errors, 2 warnings, 138 lines checked No code changed: arch/x86/xen/multicalls.o: text data bss dec hex filename 887 2832 0 3719 e87 multicalls.o.before 887 2832 0 3719 e87 multicalls.o.after md5: cf6d72d9db6dc5a3ebe01eec9f05e95f multicalls.o.before.asm cf6d72d9db6dc5a3ebe01eec9f05e95f multicalls.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 94a9fa41421625caedc328a2b0a0d5c78919a20f Author: Paolo Ciarrocchi Date: Fri Feb 22 23:11:52 2008 +0100 x86: coding style fixes to arch/x86/kernel/msr.c Before: total: 2 errors, 0 warnings, 231 lines checked After: total: 0 errors, 0 warnings, 231 lines checked No code changed: arch/x86/kernel/msr.o: text data bss dec hex filename 1199 12 4 1215 4bf msr.o.before 1199 12 4 1215 4bf msr.o.after md5: 604be0d07d829bc52a9346babd084bdc msr.o.before.asm 604be0d07d829bc52a9346babd084bdc msr.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 0fb90297dc69b87333c0afae537b1bff847e0397 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:11:34 2008 +0100 x86: coding style fixes to arch/x86/oprofile/nmi_timer_int.c Before: total: 3 errors, 0 warnings, 69 lines checked After: total: 0 errors, 0 warnings, 69 lines checked No code changed: arch/x86/oprofile/nmi_timer_int.o: text data bss dec hex filename 180 12 0 192 c0 nmi_timer_int.o.before 180 12 0 192 c0 nmi_timer_int.o.after md5: 0433c31d758e81da574e01722a8036ea nmi_timer_int.o.before.asm 0433c31d758e81da574e01722a8036ea nmi_timer_int.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit adf85265b455f096fa9caf4aea51f274cdaca3c6 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:11:23 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/cyrix.c Before: total: 46 errors, 10 warnings, 450 lines checked After: total: 1 errors, 10 warnings, 449 lines checked No code changed: arch/x86/kernel/cpu/cyrix.o: text data bss dec hex filename 2048 908 4 2960 b90 cyrix.o.before 2048 908 4 2960 b90 cyrix.o.after md5: 9add5e69dbd788f91ff24eea8462dad7 cyrix.o.before.asm 9add5e69dbd788f91ff24eea8462dad7 cyrix.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 7030760ae5d29d637d1e962c70d1d9c58be3306f Author: Paolo Ciarrocchi Date: Fri Feb 22 23:11:12 2008 +0100 x86: coding style fixes to arch/x86/boot/cpucheck.c Before: total: 30 errors, 0 warnings, 262 lines checked After: total: 0 errors, 0 warnings, 262 lines checked No code changed: arch/x86/boot/cpucheck.o: text data bss dec hex filename 989 0 96 1085 43d cpucheck.o.before 989 0 96 1085 43d cpucheck.o.after md5: 06634cfefb8438fa284ff903b4cafbce cpucheck.o.before.asm 06634cfefb8438fa284ff903b4cafbce cpucheck.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit d677759e99b51f50a75b2adfabb25e9d656ee33c Author: Paolo Ciarrocchi Date: Fri Feb 22 23:11:07 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/mcheck/mce_32.c Before: total: 10 errors, 3 warnings, 90 lines checked After: total: 0 errors, 3 warnings, 90 lines checked No code changed: arch/x86/kernel/cpu/mcheck/mce_32.o: text data bss dec hex filename 287 42 12 341 155 mce_32.o.before 287 42 12 341 155 mce_32.o.after md5: fede5ff8e6bc3f62e8e691ca6c45eb39 mce_32.o.before.asm fede5ff8e6bc3f62e8e691ca6c45eb39 mce_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 4de816297d96a96b60007f3065a07f3937fd7c6e Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:57 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/mcheck/winchip.c Before: total: 4 errors, 0 warnings, 36 lines checked After: total: 0 errors, 0 warnings, 36 lines checked No code changed: arch/x86/kernel/cpu/mcheck/winchip.o: text data bss dec hex filename 222 0 4 226 e2 winchip.o.before 222 0 4 226 e2 winchip.o.after md5: 9caefa12256c5f7d71ef324f6d01a2d5 winchip.o.before.asm 9caefa12256c5f7d71ef324f6d01a2d5 winchip.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 714a9ac2efe5e20fdccfcf91b27dbd384bd34685 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:49 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/mcheck/non-fatal.c Before: total: 5 errors, 5 warnings, 91 lines checked After: total: 0 errors, 0 warnings, 94 lines checked No code changed: arch/x86/kernel/cpu/mcheck/non-fatal.o: text data bss dec hex filename 441 80 4 525 20d non-fatal.o.before 441 80 4 525 20d non-fatal.o.after md5: 137bc114d2020ad331d5e76444a2c7d3 non-fatal.o.before.asm 137bc114d2020ad331d5e76444a2c7d3 non-fatal.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 83e714e82f3434a32c3f54f7223f78345d873218 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:40 2008 +0100 x86: coding style fixes to arch/x86/kernel/vm86_32.c Before: total: 64 errors, 18 warnings, 840 lines checked After: total: 12 errors, 15 warnings, 844 lines checked No code changed: arch/x86/kernel/vm86_32.o: text data bss dec hex filename 4449 28 132 4609 1201 vm86_32.o.before 4449 28 132 4609 1201 vm86_32.o.after md5: e4e51ed7689d17f04148554a3c6d5bb6 vm86_32.o.before.asm e4e51ed7689d17f04148554a3c6d5bb6 vm86_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit fb87a298fb79357fa5b27e6916ae1c45bf94dac7 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:33 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/amd.c Before: total: 42 errors, 26 warnings, 350 lines checked After: total: 0 errors, 26 warnings, 352 lines checked No code changed: arch/x86/kernel/cpu/amd.o: text data bss dec hex filename 1936 328 0 2264 8d8 amd.o.before 1936 328 0 2264 8d8 amd.o.after md5: 873430a88faaf31bb4bbfe3a2a691e45 amd.o.before.asm 873430a88faaf31bb4bbfe3a2a691e45 amd.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit f97518271941fdb2dab07d7bd58bf9fa39ba3f65 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:28 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/transmeta.c Before: total: 13 errors, 3 warnings, 105 lines checked After: total: 0 errors, 3 warnings, 107 lines checked No code changed: arch/x86/kernel/cpu/transmeta.o: text data bss dec hex filename 713 324 0 1037 40d transmeta.o.before 713 324 0 1037 40d transmeta.o.after md5: 19abe2cafac617e1e2aadc4aa4e9923b transmeta.o.before.asm 19abe2cafac617e1e2aadc4aa4e9923b transmeta.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 93d8bd3d4f070014e1e73c0ac618ac33924a7b96 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:23 2008 +0100 x86: coding style fixes to arch/x86/lib/memcpy_32.c Before: total: 2 errors, 0 warnings, 43 lines checked After: total: 0 errors, 0 warnings, 43 lines checked No code changed: arch/x86/lib/memcpy_32.o: text data bss dec hex filename 164 0 0 164 a4 memcpy_32.o.before 164 0 0 164 a4 memcpy_32.o.after md5: d759f55621af27f51720b59c8ca96a4d memcpy_32.o.before.asm d759f55621af27f51720b59c8ca96a4d memcpy_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit e0f025704437dfd6cb5adc077f05709c31189edc Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:16 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/mtrr/state.c Before: total: 6 errors, 5 warnings, 80 lines checked After: total: 0 errors, 4 warnings, 82 lines checked No code changed: arch/x86/kernel/cpu/mtrr/state.o: text data bss dec hex filename 313 0 4 317 13d state.o.before 313 0 4 317 13d state.o.after md5: a0fbd61096205f9180f0bf45ed386d61 state.o.before.asm a0fbd61096205f9180f0bf45ed386d61 state.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 0067cc996ee7a0dd282d8da5b64fa60aa2066bb2 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:06 2008 +0100 x86: coding style fixes to arch/x86/kernel/mca_32.c Before: total: 42 errors, 3 warnings, 469 lines checked After: total: 0 errors, 3 warnings, 479 lines checked No code changed: arch/x86/kernel/mca_32.o: text data bss dec hex filename 1832 288 5 2125 84d mca_32.o.before 1832 288 5 2125 84d mca_32.o.after md5: c0e45e2b743ce26349eb07dc53e80b94 mca_32.o.before.asm c0e45e2b743ce26349eb07dc53e80b94 mca_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit f73920cd63d316008738427a0df2caab6cc88ad7 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:09:56 2008 +0100 x86: coding style fixes to arch/x86/lib/strstr_3 Before: total: 3 errors, 0 warnings, 31 lines checked After: total: 0 errors, 0 warnings, 31 lines checked No code changed: arch/x86/lib/strstr_32.o: text data bss dec hex filename 49 0 0 49 31 strstr_32.o.before 49 0 0 49 31 strstr_32.o.after md5: a224a7c4082e75a4f31f9d91dd34fe8e strstr_32.o.before.asm a224a7c4082e75a4f31f9d91dd34fe8e strstr_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit d717ca84c02f4b60a85502c23bca5698801dfaae Author: Paolo Ciarrocchi Date: Fri Feb 22 23:09:50 2008 +0100 x86: coding style fixes to arch/x86/oprofile/init.c Before: total: 5 errors, 4 warnings, 48 lines checked After: total: 0 errors, 4 warnings, 49 lines checked No code changed: arch/x86/oprofile/init.o: text data bss dec hex filename 42 0 0 42 2a init.o.before 42 0 0 42 2a init.o.after md5: 74c94c315cfbf245aeba36eceac57e66 init.o.before.asm 74c94c315cfbf245aeba36eceac57e66 init.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 65eb6b4326daddd1cccd003bd4df3fd75b06f0e1 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:09:42 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/intel.c Before: total: 37 errors, 16 warnings, 366 lines checked After: total: 0 errors, 15 warnings, 369 lines checked No code changed: arch/x86/kernel/cpu/intel.o: text data bss dec hex filename 1534 452 0 1986 7c2 intel.o.before 1534 452 0 1986 7c2 intel.o.after md5: 1ca348a06de6eb354c4b6ea715a57db5 intel.o.before.asm 1ca348a06de6eb354c4b6ea715a57db5 intel.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 60e11746d97c099b305e25e587731148387d02eb Author: Paolo Ciarrocchi Date: Fri Feb 22 23:09:34 2008 +0100 x86: coding style fixes to arch/x86/kernel/summit_32.c Before: total: 20 errors, 17 warnings, 180 lines checked After: total: 0 errors, 17 warnings, 183 lines checked No code changed: arch/x86/kernel/summit_32.o: text data bss dec hex filename 932 192 0 1124 464 summit_32.o.before 932 192 0 1124 464 summit_32.o.after md5: 217aa5f002f217e56ef9d8e5c74b60e0 summit_32.o.before.asm 217aa5f002f217e56ef9d8e5c74b60e0 summit_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 023196a3be708657d828bb139343bceb2c1c9649 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:09:26 2008 +0100 x86: coding style fix to arch/x86/boot/pm.c Before: total: 1 errors, 0 warnings, 178 lines checked After: total: 0 errors, 0 warnings, 178 lines checked No code changed: arch/x86/boot/pm.o: text data bss dec hex filename 351 0 6 357 165 pm.o.before 351 0 6 357 165 pm.o.after md5: 81de3616bceb29691bf835bb62a84ff1 pm.o.before.asm 81de3616bceb29691bf835bb62a84ff1 pm.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 1e934dda0c77c8ad13fdda02074f2cfcea118a56 Author: Yinghai Lu Date: Fri Feb 22 13:37:26 2008 -0800 x86: insert_resorce for lapic addr after e820_reserve_resources when comparing the e820 direct from BIOS, and the one by kexec: BIOS-provided physical RAM map: - BIOS-e820: 0000000000000000 - 0000000000097400 (usable) + BIOS-e820: 0000000000000100 - 0000000000097400 (usable) BIOS-e820: 0000000000097400 - 00000000000a0000 (reserved) BIOS-e820: 00000000000e6000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 00000000dffa0000 (usable) - BIOS-e820: 00000000dffae000 - 00000000dffb0000 type 9 + BIOS-e820: 00000000dffae000 - 00000000dffb0000 (reserved) BIOS-e820: 00000000dffb0000 - 00000000dffbe000 (ACPI data) BIOS-e820: 00000000dffbe000 - 00000000dfff0000 (ACPI NVS) BIOS-e820: 00000000dfff0000 - 00000000e0000000 (reserved) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) - BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) =======> that is the local apic address... somewhere we lost it BIOS-e820: 00000000ff700000 - 0000000100000000 (reserved) BIOS-e820: 0000000100000000 - 0000004020000000 (usable) found one entry about reserved is missing for the kernel by kexec. it turns out init_apic_mappings is called before e820_reserve_resources in setup_arch. but e820_reserve_resources is using request_resource. it will not handle the conflicts. there are three ways to fix it: 1. change request_resource in e820_reserve_resources to to insert_resource 2. move init_apic_mappings after e820_reserve_resources 3. use late_initcall to insert lapic resource. this patch is using method 3, that is less intrusive. in later version could consider to use method 1. before patch fed20000-ffffffff : PCI Bus #00 fee00000-fee00fff : Local APIC fefff000-feffffff : pnp 00:09 ff700000-ffffffff : reserved with patch will get map in first kernel fed20000-ffffffff : PCI Bus #00 fee00000-fee00fff : Local APIC fee00000-fee00fff : reserved fefff000-feffffff : pnp 00:09 ff700000-ffffffff : reserved Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3def3d6ddf43dbe20c00c3cbc38dfacc8586998f Author: Yinghai Lu Date: Fri Feb 22 17:07:16 2008 -0800 x86: clean up e820_reserve_resources on 64-bit e820_resource_resources could use insert_resource instead of request_resource also move code_resource, data_resource, bss_resource, and crashk_res out of e820_reserve_resources. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 700efc1b9f6afe34caae231b87d129ad8ffb559f Author: Eric W. Biederman Date: Sat Feb 23 09:58:20 2008 +0100 x86: introduce kernel/head32.c Copy x86_64 and add a head32.c so we can start moving early architecture initialization out of assembly. [ Sam Ravnborg : updated it to x86 ] Signed-off-by: Eric W. Biederman Signed-off-by: Sam Ravnborg Cc: H. Peter Anvin Signed-off-by: Ingo Molnar commit 322850af8d93735f67b8ebf84bb1350639be3f34 Author: Yinghai Lu Date: Sat Feb 23 21:48:42 2008 -0800 x86: make amd quad core 8 socket system not be clustered_box, #2 quad core 8 socket system will have apic id lifting.the apic id range could be [4, 0x23]. and apic_is_clustered_box will think that need to three clusters and that is large than 2. So it is treated as clustered_box. and will get Marking TSC unstable due to TSCs unsynchronized even the CPUs have X86_FEATURE_CONSTANT_TSC set. this patch will check if the cpu is from AMD. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 513ad84bf60d96a6998bca10ed07c3d340449be8 Author: Ingo Molnar Date: Thu Feb 21 05:18:40 2008 +0100 x86: de-macro start_thread() Signed-off-by: Ingo Molnar commit 1180e01de50c0c7683c6648251f32957bc2d7850 Author: Ingo Molnar Date: Thu Feb 21 05:03:48 2008 +0100 x86: more cleanups in arch/x86/boot/compressed/misc.c Before: total: 7 errors, 8 warnings, 471 lines checked After: total: 5 errors, 5 warnings, 479 lines checked ( the rest cannot be eliminated due to zlib interface cruftiness. ) No code changed: arch/x86/boot/compressed/misc.o: text data bss dec hex filename 10716 8 2152 12876 324c misc.o.before 10716 8 2152 12876 324c misc.o.after md5: 2c20c903986a3c9bca44306c6646067e misc.o.before.asm 2c20c903986a3c9bca44306c6646067e misc.o.after.asm Signed-off-by: Ingo Molnar commit fd77c7cabd71ab0c31758f5faf1b92b66e9fe461 Author: Paolo Ciarrocchi Date: Thu Feb 21 00:19:10 2008 +0100 x86: coding style fixes to arch/x86/boot/compressed/misc.c Fix lots of style errors and warnings. Before: total: 58 errors, 9 warnings, 469 lines checked After: total: 7 errors, 8 warnings, 471 lines checked No code changed: arch/x86/boot/compressed/misc.o: text data bss dec hex filename 10716 8 2152 12876 324c misc.o.before 10716 8 2152 12876 324c misc.o.after md5: 2c20c903986a3c9bca44306c6646067e misc.o.before.asm 2c20c903986a3c9bca44306c6646067e misc.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 48e6b7a050971dd42122f6db7a43467794075c02 Author: Paolo Ciarrocchi Date: Thu Feb 21 00:18:34 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/umc.c Before: total: 3 errors, 1 warnings, 23 lines checked After: total: 0 errors, 0 warnings, 25 lines checked No code changed: arch/x86/kernel/cpu/umc.o: text data bss dec hex filename 24 616 0 640 280 umc.o.before 24 616 0 640 280 umc.o.after md5: e8daa3eaed0963a0cdd2e83c2e1f9823 umc.o.before.asm e8daa3eaed0963a0cdd2e83c2e1f9823 umc.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 2c5847837fe76497934734330151f240f3e04925 Author: Paolo Ciarrocchi Date: Thu Feb 21 00:10:54 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/mcheck/p6.c Before: total: 16 errors, 13 warnings, 122 lines checked After: total: 0 errors, 0 warnings, 122 lines checked No code changed: arch/x86/kernel/cpu/mcheck/p6.o: text data bss dec hex filename 1082 0 8 1090 442 p6.o.before 1082 0 8 1090 442 p6.o.after md5: 4e283fbc1b68240f1724d9725007d379 p6.o.before.asm 4e283fbc1b68240f1724d9725007d379 p6.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 4d46a89e7c867718020b2d5fd8f9e775293304be Author: Ingo Molnar Date: Thu Feb 21 04:24:40 2008 +0100 x86: clean up include/asm-x86/processor.h basic style cleanup to flush out years of neglect: - consistent indentation - whitespace fixes - consistent comments Signed-off-by: Ingo Molnar commit eb19067d160416cd61fc92a8913ccfb3497b20b7 Author: Hiroshi Shimamoto Date: Wed Feb 20 10:48:55 2008 -0800 x86: unify cpu/proc|_64.c Now cpu/proc.c and cpu/proc_64.c are same. So cpu/proc_64.c can be removed. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 2aef77204e1e3a8ed6345727afbcb2c1efdf7fc0 Author: Hiroshi Shimamoto Date: Wed Feb 20 10:48:02 2008 -0800 x86: cosmetic unification cpu/proc|_64.c make cpu/proc.c and cpu/proc_64.c same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit f84c3a429f83a98bb0b0fd7eed7ad1edc512b91c Author: Hiroshi Shimamoto Date: Wed Feb 20 10:47:12 2008 -0800 x86: add power management line in /proc/cpuinfo Change /proc/cpuinfo on 32-bit, it will look like on 64-bit. 'power management' line is added and power management information will be printed at the line. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit a967ceac01cd3847011e2a777b8365b30afa770a Author: Hiroshi Shimamoto Date: Wed Feb 20 10:45:29 2008 -0800 x86: make cpu/proc|_64.c similar clean up for unification. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 8fa6878ffc6366f490e99a1ab31127fb599657c9 Author: Hiroshi Shimamoto Date: Wed Feb 20 10:41:51 2008 -0800 x86: split cpuinfo from setup_64.c into cpu/proc_64.c x86 /proc/cpuinfo code can be unified. This is the first step of unification. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 637cba02618c1373eb9d2b70a53c17832e27d090 Author: Paolo Ciarrocchi Date: Wed Feb 20 00:18:52 2008 +0100 x86: coding style fixes to arch/x86/mach-generic/bigsmp.c arch/x86/mach-generic/bigsmp.o: text data bss dec hex filename 1271 144 4 1419 58b bigsmp.o.before 1271 144 4 1419 58b bigsmp.o.after md5: b83aad375294c002c79b03c3a2e4be35 bigsmp.o.before.asm b83aad375294c002c79b03c3a2e4be35 bigsmp.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit c99aa3804eecbeadabcf658a535e8a00d0f2b6e6 Author: Paolo Ciarrocchi Date: Wed Feb 20 00:18:05 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/nexgen.c arch/x86/kernel/cpu/nexgen.o: text data bss dec hex filename 111 316 0 427 1ab nexgen.o.before 111 316 0 427 1ab nexgen.o.after md5: e796efefea9ebc6644338bad226599ee nexgen.o.before.asm e796efefea9ebc6644338bad226599ee nexgen.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 8108576a78a68851de194d6ed2aa0a951de7bb7f Author: Paolo Ciarrocchi Date: Wed Feb 20 00:17:34 2008 +0100 x86: coding style fixes to arch/x86/mach-generic/summit.c File is now error/warning free. arch/x86/mach-generic/summit.o: text data bss dec hex filename 1481 140 0 1621 655 summit.o.before 1481 140 0 1621 655 summit.o.after md5: 7b7dc1cbd381af7b9393da989da5b0fd summit.o.before.asm 7b7dc1cbd381af7b9393da989da5b0fd summit.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 651bbe16d05ea51fc102e1bf5765687ab32485c6 Author: Paolo Ciarrocchi Date: Wed Feb 20 00:02:58 2008 +0100 x86: coding style fixes to arch/x86/mach-generic/default.c Just whitespace cleanups. total: 0 errors, 0 warnings, 26 lines checked arch/x86/mach-generic/default.c has no obvious style problems and is ready for submission. arch/x86/mach-generic/default.o: text data bss dec hex filename 1036 140 0 1176 498 default.o.before 1036 140 0 1176 498 default.o.after md5: f283c53022c568f3162bbcde44f65762 default.o.before.asm f283c53022c568f3162bbcde44f65762 default.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 9b0c5028825df9d99a430c9963c45e02a2b185c6 Author: Paolo Ciarrocchi Date: Tue Feb 19 23:57:17 2008 +0100 x86: coding style fixes to arch/x86/mach-generic/probe.c The patch kills 20 errors and a few warnings. arch/x86/mach-generic/probe.o: text data bss dec hex filename 578 45 0 623 26f probe.o.before 578 45 0 623 26f probe.o.after md5: 86eb1c3e3cf37f81d37bcd9a0c9f14ad probe.o.before.asm 86eb1c3e3cf37f81d37bcd9a0c9f14ad probe.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit d4413732b54a17684e48fbb4b52fade5bf965b5d Author: Paolo Ciarrocchi Date: Tue Feb 19 23:51:27 2008 +0100 x86: coding style fixes to arch/x86/oprofile/op_model_athlon.c The patch fixes 33 errors and a few warnings reported by checkpatch.pl arch/x86/oprofile/op_model_athlon.o: text data bss dec hex filename 1691 0 32 1723 6bb op_model_athlon.o.before 1691 0 32 1723 6bb op_model_athlon.o.after md5: c354bc2d7140e1e626c03390eddaa0a6 op_model_athlon.o.before.asm c354bc2d7140e1e626c03390eddaa0a6 op_model_athlon.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 8b45b72b04061b9d39208b0843007d62b463c211 Author: Paolo Ciarrocchi Date: Tue Feb 19 23:43:25 2008 +0100 x86: coding style fixes to arch/x86/oprofile/op_model_ppro.c no code changed: arch/x86/oprofile/op_model_ppro.o: text data bss dec hex filename 1765 0 16 1781 6f5 op_model_ppro.o.before 1765 0 16 1781 6f5 op_model_ppro.o.after md5: 71c7f68d2197d686e3d1121bc18a6b6e op_model_ppro.o.before.asm 71c7f68d2197d686e3d1121bc18a6b6e op_model_ppro.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 8000a83f43f2d943eebeee9e070beb45949858ec Author: Paolo Ciarrocchi Date: Tue Feb 19 23:34:02 2008 +0100 x86: coding style fixes to arch/x86/kernel/x8664_ksyms_64.c arch/x86/kernel/x8664_ksyms_64.o: text data bss dec hex filename 0 0 0 0 0 x8664_ksyms_64.o.before 0 0 0 0 0 x8664_ksyms_64.o.after md5: 2dd2d82a2b440a3c29b9ac9ce3221994 x8664_ksyms_64.o.before.asm 2dd2d82a2b440a3c29b9ac9ce3221994 x8664_ksyms_64.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 1577720524bab104eeb605c810963a2106cf4575 Author: Paolo Ciarrocchi Date: Tue Feb 19 23:20:45 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/mcheck/p5.c The patch make the file errors free. Only 4 "WARNING: line over 80 characters" left. arch/x86/kernel/cpu/mcheck/p5.o: text data bss dec hex filename 452 0 4 456 1c8 p5.o.before 452 0 4 456 1c8 p5.o.after md5: 50c945ef150aa95bf0481cc3e1dc3315 p5.o.before.asm 50c945ef150aa95bf0481cc3e1dc3315 p5.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 8cf36d2bc5832da17a58c5f10adf2d92d138c992 Author: Paolo Ciarrocchi Date: Tue Feb 19 23:09:59 2008 +0100 x86: coding style fixes to arch/x86/lib/string_32.c The patch kills 45 errors and a few warnings. The file is now error/warning free: total: 0 errors, 0 warnings, 237 lines checked arch/x86/lib/string_32.c has no obvious style problems and is ready for submission. no code changed: arch/x86/lib/string_32.o: text data bss dec hex filename 639 0 0 639 27f string_32.o.before 639 0 0 639 27f string_32.o.after md5: 2db1c48187cf5113bb595153ee1fc73d string_32.o.before.asm 2db1c48187cf5113bb595153ee1fc73d string_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 325f86ec6d2ae4ab9879e745a92444f8bac20233 Author: Paolo Ciarrocchi Date: Tue Feb 19 21:02:16 2008 +0100 x86: coding style fixes to arch/x86/kernel/syscall_64.c After the patch: total: 0 errors, 1 warnings, 29 lines checked no code changed: arch/x86/kernel/syscall_64.o: text data bss dec hex filename 2304 0 0 2304 900 syscall_64.o.before 2304 0 0 2304 900 syscall_64.o.after md5: 0fdbb875cde8892296585226b92f4333 syscall_64.o.before.asm 0fdbb875cde8892296585226b92f4333 syscall_64.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit e9406597884b5c2f196b124bdd6af47351562a9d Author: Paolo Ciarrocchi Date: Tue Feb 19 20:53:38 2008 +0100 x86: coding style fixes to arch/x86/lib/memmove_64.c After the patch: total: 0 errors, 0 warnings, 21 lines checked no code changed: arch/x86/lib/memmove_64.o: text data bss dec hex filename 116 0 0 116 74 memmove_64.o.before 116 0 0 116 74 memmove_64.o.after md5: 2d6b0951cafb86a11a222cdd70f6104f memmove_64.o.before.asm 2d6b0951cafb86a11a222cdd70f6104f memmove_64.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 87253d1b4f2b5a29bdfc6275b9fb52a47d72df64 Author: Ian Campbell Date: Tue Feb 19 11:12:30 2008 +0000 x86: boot protocol updates Also update field names to simply payload_{offset,length} so as to not rule out uncompressed images. Signed-off-by: Ian Campbell Cc: H. Peter Anvin Cc: Jeremy Fitzhardinge Cc: virtualization@lists.linux-foundation.org Signed-off-by: Ingo Molnar commit bc0a733facbbde6c464e3ba5e165607fe4824cca Author: David P. Reed Date: Mon Feb 18 13:58:34 2008 -0500 x86: define outb_pic and inb_pic to stop using outb_p and inb_p x86: define outb_pic and inb_pic to stop using outb_p and inb_p The delay between io port accesses to the PIC is now defined using outb_pic and inb_pic. This fix provides the next step, using udelay(2) to define the *PIC specific* timing requirements, rather than on bus-oriented timing, which is not well calibrated. Again, the primary reason for fixing this is to use proper delay strategy, and in particular to fix crashes that can result from using port 80 writes on machines that have resources on port 80, such as the ENE chips used by Quanta in latops it designs and sells to, e.g. HP. Signed-off-by: David P. Reed Signed-off-by: Ingo Molnar commit c92a7a54d6579c9c01374092e7b61a6161f2ef70 Author: Ian Campbell Date: Sun Feb 17 19:09:42 2008 +0000 x86: reduce arch/x86/mm/ioremap.o size > Don't we have a special section for page-aligned data so it doesn't > waste most of two pages? We have .bss.page_aligned and it seems appropriate to use it. text data bss dec hex filename - 3388 8236 4 11628 2d6c ../build-32/arch/x86/mm/ioremap.o + 3388 48 4100 7536 1d70 ../build-32/arch/x86/mm/ioremap.o Signed-off-by: Ian Campbell Cc: Matt Mackall Cc: Sam Ravnborg Cc: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit edc05e6de3e2fd203da21ba984b19d92e5398b62 Author: Ingo Molnar Date: Mon Feb 18 03:30:47 2008 +0100 x86: more coding style fixes in centaur.c no code changed: arch/x86/kernel/cpu/centaur.o: text data bss dec hex filename 1031 324 0 1355 54b centaur.o.before 1031 324 0 1355 54b centaur.o.after md5: 4f306a7f980b58eb69c4bdcfcde565f1 centaur.o.before.asm 4f306a7f980b58eb69c4bdcfcde565f1 centaur.o.after.asm Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 29a9994bd8dbafc17f43d31651d31ea7b0add6a4 Author: Paolo Ciarrocchi Date: Sun Feb 17 23:30:23 2008 +0100 x86: coding style fixes for arch/x86/kernel/cpu/centaur.c Kills more than 150 errors/warnings Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ca5d3f14915f5f8db75f7b0c198c0c154947fc5e Author: Ingo Molnar Date: Mon Feb 18 08:53:56 2008 +0100 x86: clean up mmx_32.c checkpatch.pl --file cleanups: before: total: 74 errors, 3 warnings, 386 lines checked after: total: 0 errors, 0 warnings, 377 lines checked no code changed: arch/x86/lib/mmx_32.o: text data bss dec hex filename 1323 0 8 1331 533 mmx_32.o.before 1323 0 8 1331 533 mmx_32.o.after md5: 4cc39f1017dc40a5ebf02ce0ff7312bc mmx_32.o.before.asm 4cc39f1017dc40a5ebf02ce0ff7312bc mmx_32.o.after.asm Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 04aaa7ba096c707a8df337b29303f1a5a65f0462 Author: David P. Reed Date: Sun Feb 17 16:56:39 2008 -0500 x86: fix cmos read and write to not use inb_p and outb_p fix code to access CMOS rtc registers so that it does not use inb_p and outb_p routines, which are deprecated. Extensive research on all known CMOS RTC chipset timing shows that there is no need for a delay in accessing the registers of these chips even on old machines. These chipa are never on an expansion bus, but have always been "motherboard" resources, either in the processor chipset or explicitly on the motherboard, and they are not part of the ISA/LPC or PCI buses, so delays should not be based on bus timing. The reason to fix it: 1) port 80 writes often hang some laptops that use ENE EC chipsets, esp. those designed and manufactured by Quanta for HP; 2) RTC accesses are timing sensitive, and extra microseconds may matter; 3) the new "io_delay" function is calibrated by expansion bus timing needs, thus is not appropriate for access to CMOS rtc registers. Signed-off-by: David P. Reed Acked-by: Alan Cox Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 03ae5768b6110ebaa97dc3e7abf1c3d8bec5f874 Author: Thomas Petazzoni Date: Fri Feb 15 12:00:23 2008 +0100 x86: use ELF section to list CPU vendor specific code Replace the hardcoded list of initialization functions for each CPU vendor by a list in an ELF section, which is read at initialization in arch/x86/kernel/cpu/cpu.c to fill the cpu_devs[] array. The ELF section, named .x86cpuvendor.init, is reclaimed after boot, and contains entries of type "struct cpu_vendor_dev" which associates a vendor number with a pointer to a "struct cpu_dev" structure. This first modification allows to remove all the VENDOR_init_cpu() functions. This patch also removes the hardcoded calls to early_init_amd() and early_init_intel(). Instead, we add a "c_early_init" member to the cpu_dev structure, which is then called if not NULL by the generic CPU initialization code. Unfortunately, in early_cpu_detect(), this_cpu is not yet set, so we have to use the cpu_devs[] array directly. This patch is part of the Linux Tiny project, and is needed for further patch that will allow to disable compilation of unused CPU support code. Signed-off-by: Thomas Petazzoni Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bc7c314d7048017caa0725b41cc577cccf4fc53b Author: Glauber Costa Date: Mon Feb 11 17:16:05 2008 -0200 x86, vsmp: use the paravirt helpers Signed-off-by: Glauber Costa Signed-off-by: Ravikiran Thirumalai Acked-by: Shai Fultheim Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 96597fd2be7070631ad0776cd8bced21415fd5e3 Author: Glauber Costa Date: Mon Feb 11 17:16:04 2008 -0200 x86: introduce vsmp paravirt helpers Signed-off-by: Glauber Costa Signed-off-by: Ravikiran Thirumalai Acked-by: Shai Fultheim Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2785c8d052278228cc3806233c09295088f83d42 Author: Glauber Costa Date: Mon Feb 11 17:16:03 2008 -0200 x86: call vsmp_init explicitly It becomes to early for ioremap, so we use early_ioremap Signed-off-by: Glauber Costa Signed-off-by: Ravikiran Thirumalai Acked-by: Shai Fultheim Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a2beab31b167bd8ba49bb84944e07ac096f2ab0a Author: Glauber Costa Date: Mon Feb 11 17:16:02 2008 -0200 x86: make vsmp_init void, instead of static int Signed-off-by: Glauber Costa Signed-off-by: Ravikiran Thirumalai Acked-by: Shai Fultheim Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 270883a8b98af5e6ed591b4762fb046e9f044dfb Author: Glauber Costa Date: Mon Feb 11 17:16:01 2008 -0200 x86: change vsmp compile dependency Change Makefile so vsmp_64.o object is dependent on PARAVIRT, rather than X86_VSMP Signed-off-by: Glauber Costa Signed-off-by: Ravikiran Thirumalai Acked-by: Shai Fultheim Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e319e76521767f7f64cd1fb6f58d4d36bc861a67 Author: Robert Richter Date: Wed Feb 13 16:19:36 2008 +0100 x86: apic: extended interrupt LVT support for AMD Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 04adf11435a5187383c35017a94b55701984243b Author: Yinghai Lu Date: Sat Feb 16 23:02:03 2008 -0800 x86: remove never used nodenumer in pda Signed-off-by: Yinghai Lu Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit beafe91f1c2c49713221ca2616755e1f3d472084 Author: Yinghai Lu Date: Sat Feb 16 23:00:22 2008 -0800 x86: get apic_id later in acpi_numa_processor_affinity_init we don't need get that so early. Signed-off-by: Yinghai Lu Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 28d23128814dca9b90f04739b12f967f4248c584 Author: Arnaldo Carvalho de Melo Date: Thu Feb 7 21:03:04 2008 -0200 x86: reducing debuginfo size by removing unneeded includes I found it strange that the struct sk_buff definition was found inside the DWARF debugging sections in the generated object, so I verified and found that there is no need for the files that bring struct sk_buff definition into this file and verified also that sk_buff is not brought in indirectly too, thru other headers. I went on and removed many other unneeded includes and the end result is: [acme@doppio net-2.6]$ l /tmp/sys_ia32.o.before /tmp/sys_ia32.o.after -rw-rw-r-- 1 acme acme 185240 2008-02-06 19:19 /tmp/sys_ia32.o.after -rw-rw-r-- 1 acme acme 248328 2008-02-06 19:00 /tmp/sys_ia32.o.before Almost 64KB only on this object file! There were no other side effects from this change: [acme@doppio net-2.6]$ objcopy -j "text" /tmp/sys_ia32.o.before /tmp/text.before [acme@doppio net-2.6]$ objcopy -j "text" /tmp/sys_ia32.o.after /tmp/text.after [acme@doppio net-2.6]$ md5sum /tmp/text.before /tmp/text.after b7ac9b17942add68494e698e4f965d36 /tmp/text.before b7ac9b17942add68494e698e4f965d36 /tmp/text.after One of the complaints about using tools such as systemtap is that one has to install the huge kernel-debuginfo package: [acme@doppio net-2.6]$ rpm -q --qf "%{size}\n" kernel-rt-debuginfo 471737710 543867594 [acme@doppio net-2.6]$ Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 52b387197beb5c89f734f057553fdf7d417b448c Author: Ingo Molnar Date: Sun Feb 17 20:06:36 2008 +0100 x86: bump image header to version 2.08. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7d6e737c8d2698b63ad10fd75cc6793380395d0e Author: Ian Campbell Date: Sun Feb 17 20:06:35 2008 +0100 x86: add a crc32 checksum to the kernel image. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 099e1377269a47ed30a00ee131001988e5bcaa9c Author: Ian Campbell Date: Wed Feb 13 20:54:58 2008 +0000 x86: use ELF format in compressed images. Signed-off-by: Ian Campbell Cc: Ian Campbell Cc: Jeremy Fitzhardinge Cc: virtualization@lists.linux-foundation.org Cc: H. Peter Anvin Cc: Jeremy Fitzhardinge Cc: virtualization@lists.linux-foundation.org Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e0bf0f75bdc441abb05365abc56ee96ba44ca073 Author: Harvey Harrison Date: Fri Feb 8 12:10:03 2008 -0800 x86: define DEBUG_SIG in signal_64.c Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 866bc13fc4c625186dd01429c68c5cf708f1cfd5 Author: Harvey Harrison Date: Fri Feb 8 12:10:02 2008 -0800 x86: Unify argument names in signal_32|64.c Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 123a63476cafcede1c70529f62a5bfb96a0efc1b Author: Harvey Harrison Date: Fri Feb 8 12:10:00 2008 -0800 x86: move struct definitions to unifed sigframe.h [ tglx@linutronix.de: cleanup the other structs as well ] Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2d19c4580682511be1eadf47cdee22d5eb002f94 Author: Harvey Harrison Date: Fri Feb 8 12:10:00 2008 -0800 x86: use sizeof(long) to unify signal_32|64.c Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1a1768039c8fdd48d69a6bc3b7f56943b2b20567 Author: Harvey Harrison Date: Fri Feb 8 12:09:59 2008 -0800 x86: Use FIX_EFLAGS define in X86_64 [ tglx@linutronix.de: simplified ] Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ac66f3fd89ee20b73b3374e6343c5e36e3e3c51a Author: Harvey Harrison Date: Fri Feb 8 12:09:58 2008 -0800 x86: reduce trivial style differences in signal_32|64.c Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c3e6ff87a3ad9124a67e149e4f9c080626a0d83e Author: Harvey Harrison Date: Fri Feb 8 12:09:57 2008 -0800 x86: regparm(3) is mandatory, no need to annotate Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9902a702c76f904be0057f8647dda9d6f89d4847 Author: Harvey Harrison Date: Fri Feb 8 12:09:57 2008 -0800 x86: make X86_32 pt_regs members unsigned long Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 92bc2056855b3250bf6fd5849f05f88d85839efa Author: Harvey Harrison Date: Fri Feb 8 12:09:56 2008 -0800 x86: change most X86_32 pt_regs members to unsigned long Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 45de70791165ce7eac5232ed5a7c31152567f4da Author: Andi Kleen Date: Sat Feb 9 16:17:01 2008 +0100 x86: enable ACPI extended century handling for 32bit The extended century readout does not solve the year 2038 problem on 32bit! v2: Fix compilation on !ACPI, pointed out by tglx Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 068c9222d0206e8a6a905efeb9f4fe8dde8b5ff5 Author: Andi Kleen Date: Sat Feb 9 16:16:59 2008 +0100 x86: add warning when RTC clock reports binary We assume that the RTC clock is BCD, so print a warning if it claims to be binary. [ tglx@linutronix.de: changed to WARN_ON - we want to know that! If no one reports it we can remove the complete if (RTC_ALWAYS_BCD) magic, which has RTC_ALWAYS_BCD defined to 1 since Linux 1.0 ... ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b62576a2f53ad7edf604fedba0da1d4329749b7d Author: Andi Kleen Date: Sat Feb 9 16:16:58 2008 +0100 x86: use year 2000 offset for cmos clock We know it is already after 2000. Use the year 2000 offset for both 32 and 64 bit, which removes ifdefs and the 1970 magic. [ tglx@linutronix.de: remove 1970 magic, replace bogus commit message ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 48c508b364324c35018284328b5b92c51d2b30e0 Author: Yinghai Lu Date: Thu Apr 17 17:40:45 2008 +0200 x86: clean up find_e820_area(), 64-bit Change size to unsigned long, becase caller and user all used unsigned long. Also make bad_addr take an alignment parameter. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ef9257668e3199f9566dc4a31f5292838bd99b49 Author: Andi Kleen Date: Thu Apr 17 17:40:45 2008 +0200 x86: do kernel direct mapping at boot using GB pages The AMD Fam10h CPUs support new Gigabyte page table entry for mapping 1GB at a time. Use this for the kernel direct mapping. Only done for 64bit because i386 does not support GB page tables. This only applies to the data portion of the direct mapping; the kernel text mapping stays with 2MB pages because the AMD Fam10h microarchitecture does not support GB ITLBs and AMD recommends against using GB mappings for code. Can be disabled with disable_gbpages on the kernel command line [ tglx@linutronix.de: simplify enable code ] [ Yinghai Lu : boot fix on 256 GB RAM ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 00d1c5e05736f947687be27706bda01cec104e57 Author: Ingo Molnar Date: Thu Apr 17 17:40:45 2008 +0200 x86: add gbpages switches These new controls toggle experimental support for a new CPU feature, the straightforward extension of largepages from the pmd level to the pud level, which allows 1GB (kernel) TLBs instead of 2MB TLBs. Turn it off by default, as this code has not been tested well enough yet. Use the CONFIG_DIRECT_GBPAGES=y .config option or gbpages on the boot line can be used to enable it. If enabled in the .config then nogbpages boot option disables it. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fe770bf0310d90b3b033c19044d45b7de5f2041c Author: H. Peter Anvin Date: Thu Apr 17 17:40:45 2008 +0200 x86: clean up the page table dumper and add 32-bit support Clean up the page table dumper (fix boundary conditions, table driven address ranges, some formatting changes since it is no longer using the kernel log but a separate virtual file), and generalize to 32 bits. [ mingo@elte.hu: x86: fix the pagetable dumper ] Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 926e5392ba8a388ae32ca0d2714cc2c73945c609 Author: Arjan van de Ven Date: Thu Apr 17 17:40:45 2008 +0200 x86: add code to dump the (kernel) page tables for visual inspection by kernel developers This patch adds code to the kernel to have an (optional) /proc/kernel_page_tables debug file that basically dumps the kernel pagetables; this allows us kernel developers to verify that nothing fishy is going on and that the various mappings are set up correctly. This was quite useful in finding various change_page_attr() bugs, and is very likely to be useful in the future as well. Signed-off-by: Arjan van de Ven Cc: mingo@elte.hu Cc: tglx@tglx.de Cc: hpa@zytor.com Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2596e0fae094be9354b29ddb17e6326a18012e8c Author: H. Peter Anvin Date: Thu Apr 17 17:40:45 2008 +0200 x86: unify arch/x86/mm/Makefile Unify arch/x86/mm/Makefile between 32 and 64 bits. All configuration variables that are protected by Kconfig constraints have been put in the common part of the Makefile; however, the NUMA files are totally different between 32 and 64 bits and are handled via an ifdef. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ee7ae7a1981caaa4a5b14d8c75692a9dccd52105 Author: Thomas Gleixner Date: Thu Apr 17 17:40:45 2008 +0200 x86: add debug info to DEBUG_PAGEALLOC Add debug information for DEBUG_PAGEALLOC to get some statistics about the pool usage and split status. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5de253cc5b1f565f7aeb5bacd67bac37e943ceef Author: Roland McGrath Date: Wed Apr 9 01:30:06 2008 -0700 x86 vDSO: don't map 32-bit vdso when disabled We map a VMA for the 32-bit vDSO even when it's disabled, which is stupid. For the 32-bit kernel it's the vdso_enabled boot parameter/sysctl and for the 64-bit kernel it's the vdso32 boot parameter/syscall32 sysctl. When it's disabled, we don't pass AT_SYSINFO_EHDR so processes don't use the vDSO for anything, but we still map it. For the non-compat vDSO, this means we're always putting an extra VMA somewhere, maybe lousing up the control of the address space the user was hoping for. Honor the setting by doing nothing in arch_setup_additional_pages. [ also see: "x86 vDSO: don't use disabled vDSO for signal trampoline" ] Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit 1a3e4ca41c5a38975023a6e8831c309d3322889c Author: Roland McGrath Date: Wed Apr 9 01:29:27 2008 -0700 x86 vDSO: don't use disabled vDSO for signal trampoline If the vDSO was not mapped, don't use it as the "restorer" for a signal handler. Whether we have a pointer in mm->context.vdso depends on what happened at exec time, so we shouldn't check any global flags now. Background: Currently, every 32-bit exec gets the vDSO mapped even if it's disabled (the process just doesn't get told about it). Because it's in fact always there, the bug that this patch fixes cannot happen now. With the second patch, it won't be mapped at all when it's disabled, which is one of the things that people might really want when they disable it (so nothing they didn't ask for goes into their address space). The 32-bit signal handler setup when SA_RESTORER is not used refers to current->mm->context.vdso without regard to whether the vDSO has been disabled when the process was exec'd. This patch fixes this not to use it when it's null, which becomes possible after the second patch. (This never happens in normal use, because glibc's sigaction call uses SA_RESTORER unless glibc detected the vDSO.) Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit 85eb69a16aab5a394ce043c2131319eae35e6493 Author: Ingo Molnar Date: Thu Feb 21 12:50:51 2008 +0100 x86: increase the kernel text limit to 512 MB people sometimes do crazy stuff like building really large static arrays into their kernels or building allyesconfig kernels. Give more space to the kernel and push modules up a bit: kernel has 512 MB and modules have 1.5 GB. Should be enough for a few years ;-) Signed-off-by: Ingo Molnar commit b4e0409a36f4533770a12095bde2a574a08a319e Author: Ingo Molnar Date: Thu Feb 21 13:45:16 2008 +0100 x86: check vmlinux limits, 64-bit these build-time and link-time checks would have prevented the vmlinux size regression. Signed-off-by: Ingo Molnar commit 223ac2f42d49dd0324ca02ea15897ead1a2f5133 Author: Björn Steinbrink Date: Mon Mar 31 04:22:53 2008 +0200 x86, pci: fix off-by-one errors in some pirq warnings fix bogus pirq warnings reported in: http://bugzilla.kernel.org/show_bug.cgi?id=10366 safe to be backported to v2.6.25 and earlier. Cc: stable@kernel.org Signed-off-by: Björn Steinbrink Signed-off-by: Ingo Molnar commit 3a8daaa49fb71d90e45d1e86d7f9f9e298bda05c Author: Sascha Hauer Date: Thu Apr 17 08:48:37 2008 +0100 [ARM] 4999/1: : fix membase The membase field in struct uart_port should be the the physical address. This patch fixes it. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 3d454446e2b83b4e1e2997b2c6e689c85ab61868 Author: Sascha Hauer Date: Thu Apr 17 08:47:32 2008 +0100 [ARM] 4998/1: : do not use hardcoded io space size Do not use hardcoded io space size. Instead use the information provided by the resource. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 789d52589a0849004ced991549a61dd110dfeb10 Author: Sascha Hauer Date: Thu Apr 17 08:44:47 2008 +0100 [ARM] 4996/1: : do not enable tx empty interrupt on startup We are not interested in tranceiver empty interrupts until we actually sent a buffer. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 0d3c3938ff9855d8996db4083efd62e86b8987eb Author: Sascha Hauer Date: Thu Apr 17 08:43:14 2008 +0100 [ARM] 4995/1: : Do not use URXD_CHARRDY for polling Do not use the URXD_CHARRDY bit for polling for new characters. This works on i.MX1, but on MX31 the datasheet states that this bit should not be used for polling. On MX27 it is even worse, here we get a bus error when we access the read FIFO when no character is present. Instead, use USR2_RDR (receive data ready) bit. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 864eeed051b527c8081e2f85b51ba24823acaf71 Author: Sascha Hauer Date: Thu Apr 17 08:39:22 2008 +0100 [ARM] 4994/1: : Move error handling into execution path Move the error handling code for erroneous receive characters into execution path. This makes the code more readable and the compiler should know how to optimize this, right? Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 8c9915bf310eeb1fe5a9a614cda6ee57d712460b Author: Sascha Hauer Date: Thu Apr 17 08:37:29 2008 +0100 [ARM] 4993/1: : Trivial: Remove unused defines This patch removes the unused defines NR_PORTS and IMX_ISR_PASS_LIMIT in the imx serial driver. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit d2db9aaa4a5b9f2a1d54080c13f5ff4fc6d0ae1b Author: Robert Schwebel Date: Wed Apr 2 10:29:30 2008 +0100 [ARM] 4887/1: i.MXC family: Separate current platform code From: Juergen Beisert This patch separates the current code into i.MX2 and i.MX3 and modifies the Kconfig files to reflect this separation in the menus. Things happend since last review: - make i.MX3 compile again - fix some structure names to be conform with all the shared/common sources from i.MX1/i.MX2 Previous changes: - stay conform to other Kconfig files (note from Russell King) Signed-off-by: Juergen Beisert Signed-off-by: Russell King commit fdb72fd84c26438a7dd754a1cc74890aca7f1b77 Author: Andrew Victor Date: Tue Apr 15 21:13:33 2008 +0100 [ARM] 4981/1: [KS8695] Simple LED driver Simple gpio-connected LED driver for KS8695 platforms. (Based on old AT91 LED driver) Signed-off-by: Andrew Victor Signed-off-by: Russell King commit ad48ce74f70a201c4c1cf3b4e8f6b6203a2e4a8d Author: Andrew Victor Date: Wed Apr 16 20:43:49 2008 +0100 [ARM] 4989/1: [AT91] SAM9 ClockSource / ClockEvents Update AT91SAM9/CAP9 PIT driver to use generic time and clockevent infrastructure: - Clocksource gives sub-microsecond timestamp precision, assuming memory is clocked at over 16 MHz. It's less than a 32 bit counter, unless it's is also generating IRQs. - Clockevent device supports periodic mode only; no oneshot support from this hardware. No IRQs generated unless it's the active clocksource. Later, another timer (probably from a TC module) can provide a oneshot clockevent device to get NO_HZ and High-Res-Timer behavior. This also updates the timekeeping to use the actual master clock rate on the system, instead of compile-time constants matching what Atmel's EK boards use. (Product boards may well differ!) Plus cleanup: rename "*_timer*" symbols to "*_pit*" (there are other timers, but only one PIT); shorter lines; remove needless CPP stuff; make several symbols static; etc. Signed-off-by: David Brownell Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 11aadac4f6adc032cfd1e41c348a7a568819ed94 Author: Andrew Victor Date: Tue Apr 15 21:16:38 2008 +0100 [ARM] 4982/1: [AT91] Drop old-style UART initialization (Part 1) All the SAM9 boards supported by mainline and the AT91 patches have been converted to the new-style UART initialization. Therefore drop support for the old at91_init_serial() interface for SAM9. at91_uarts[] array can also be marked as __initdata. The warning that no serial-console is defined moved from at91_set_serial_console() to at91_add_device_serial() since the whole point is the board-specific file is not calling at91_set_serial_console(). Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 2f036ac63ebfa3fc618a1f22324ef9297c5b7d05 Author: Andrew Victor Date: Tue Apr 15 21:10:11 2008 +0100 [ARM] 4980/1: [AT91] emQbit ECB_AT91 board support Support for the emQbit ECB_AT91 board. Original patch from Nelson Castillo. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 66dbfc6cd995c8d44a2c7c5b0092b00200e75d7e Author: Andrew Victor Date: Tue Apr 15 21:07:08 2008 +0100 [ARM] 4979/1: [AT91] Olimex SAM9-L9260 board support Support for the Olimex SAM9-L9260 board. Original patch from Ivan Vasilev. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 35131fb6c2a8f66a31521369c27cd035168c6ae7 Author: Andrew Victor Date: Tue Apr 15 21:05:03 2008 +0100 [ARM] 4978/1: [AT91] KB9260 (CAM60) board support Support for the Kwikbyte KB9260 (CAM60) board. Original patch from Kwikbyte. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 2342e51ba2b52a7f5b78227e6faa4603ed3632a0 Author: Matthew Wilcox Date: Thu Apr 17 10:53:01 2008 -0400 Remove DEBUG_SEMAPHORE from Kconfig Alpha and FRV mutexes had an option to print lots of debugging messages in their semaphore implementation. This feature has not been carried over to the generic semaphores, so remove the stale Kconfig option. Signed-off-by: Matthew Wilcox commit 1a9ebc0cd2b3bb4450834e564722630fbc40611b Author: Anton Vorontsov Date: Wed Apr 9 17:59:25 2008 +0400 [POWERPC] 83xx: mpc8315 - fix USB UTMI Host setup Currently USB Host isn't functional on the MPC8315E boards, for two reasons as described below. MPC8315 Reference Manual says: "The USB DR unit must have the same clock ratio as the encryption core unit, unless one of them has its clock disabled." The encryption core also drives I2C clock, so it is enabled and is equal to 01. That means USBDRCM should be 01 here. Plus, according to MPC8315E-RDB schematics, USB unit consumes CLK_IN clock from the 24.00MHz oscillator, which means we must adjust REFSEL bits as well. p.s. Idially we should rework whole 83xx/usb.c code, in two steps: 1. Move SCCR code to the U-Boot; 2. Implement fsl,usb-clock property in the device tree, so usb.c could decide what clock exactly to use on per-board basis. Though, today we're not in a hurry since there is just one 8315e board out there. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 8bdf573334102f44c7ad191422baf851fecf25e8 Author: Haiying Wang Date: Thu Apr 17 08:56:02 2008 -0400 [POWERPC] 85xx: Fix the size of qe muram for MPC8568E MPC8568E has 64K byte MURAM, so the size should be 0x10000, not 0xc000. Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit 16787b430dde9431445fd0874409adbb26558a2e Author: Paul Gortmaker Date: Wed Apr 16 13:53:07 2008 -0400 [POWERPC] 86xx: mpc86xx_hpcn - Temporarily accept old dts node identifier. As suggested by Timur Tabi, we match on the old compat node ID for one version and warn accordingly. If we don't do this, we plunge people who try to use an old DTB into silent boot death with no clear indication of what the problem is. This patch should be removed at the beginning of the 2.6.27 dev cycle. It is only meant to ease the transition in the short term. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 06f35b4ba658ec9a447a5406a574258aaab1ba8d Author: Paul Gortmaker Date: Wed Apr 16 13:53:06 2008 -0400 [POWERPC] 86xx: mark functions static, other minor cleanups Cleanups as suggested by Stephen Rothwell and Dale Farnsworth, which incudes marking a bunch of functions static and add a vendor prefix to the compat node check for uniqueness. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 3a2f020c5a93a88aa09adbe56dde43463324930a Author: Timur Tabi Date: Mon Apr 14 10:43:38 2008 -0500 [POWERPC] Make rheap safe for spinlocks The rheap allocation function, rh_alloc, could call kmalloc with GFP_KERNEL. This can sleep, which means you couldn't hold a spinlock while called rh_alloc. Change all kmalloc calls to use GFP_ATOMIC so that it won't sleep. This is safe because only small blocks are allocated. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 714493cd5468f42ca3c4f730a9c17c203abd5059 Author: Matthew Wilcox Date: Fri Apr 11 15:23:52 2008 -0400 Improve semaphore documentation Move documentation from semaphore.h to semaphore.c as requested by Andrew Morton. Also reformat to kernel-doc style and add some more notes about the implementation. Signed-off-by: Matthew Wilcox commit b17170b2fac96705db3188f093f89e8e838418e4 Author: Matthew Wilcox Date: Fri Mar 14 14:35:22 2008 -0400 Simplify semaphore implementation By removing the negative values of 'count' and relying on the wait_list to indicate whether we have any waiters, we can simplify the implementation by removing the protection against an unlikely race condition. Thanks to David Howells for his suggestions. Signed-off-by: Matthew Wilcox commit f1241c87a16c4fe9f4f51d6ed3589f031c505e8d Author: Matthew Wilcox Date: Fri Mar 14 13:43:13 2008 -0400 Add down_timeout and change ACPI to use it ACPI currently emulates a timeout for semaphores with calls to down_trylock and sleep. This produces horrible behaviour in terms of fairness and excessive wakeups. Now that we have a unified semaphore implementation, adding a real down_trylock is almost trivial. Signed-off-by: Matthew Wilcox commit f06d96865861c3dd01520f47e2e61c899db1631f Author: Matthew Wilcox Date: Fri Mar 14 13:19:33 2008 -0400 Introduce down_killable() down_killable() is the functional counterpart of mutex_lock_killable. Signed-off-by: Matthew Wilcox commit 64ac24e738823161693bf791f87adc802cf529ff Author: Matthew Wilcox Date: Fri Mar 7 21:55:58 2008 -0500 Generic semaphore implementation Semaphores are no longer performance-critical, so a generic C implementation is better for maintainability, debuggability and extensibility. Thanks to Peter Zijlstra for fixing the lockdep warning. Thanks to Harvey Harrison for pointing out that the unlikely() was unnecessary. Signed-off-by: Matthew Wilcox Acked-by: Ingo Molnar commit e48b3deee475134585eed03e7afebe4bf9e0dba9 Author: Matthew Wilcox Date: Tue Feb 26 18:34:25 2008 -0500 Add semaphore.h to kernel_lock.c kernel_lock.c uses DECLARE_MUTEX, up() and down() without explicitly including asm/semaphore.h. This is fragile and leaves it vulnerable to breakage during header reorganisations. Signed-off-by: Matthew Wilcox commit 8b91de2e58318d1168bc13d164478c1a7217a63a Author: Matthew Wilcox Date: Tue Feb 26 09:53:20 2008 -0500 Fix quota.h includes quota.h currently relies on asm/semaphore.h (through some chain; it doesn't actually include semaphore.h itself) to include wait.h. As well as being bad practice to rely on an implicit include, subsequent patches will break this. While I'm in this file, add atomic.h and list.h, and sort the list of includes. Signed-off-by: Matthew Wilcox commit 998c610363b26f3793ad8121eeb3a749b1034824 Author: Kumar Gala Date: Thu Apr 17 09:40:48 2008 -0500 [POWERPC] fsl: Convert dts to v1 syntax Signed-off-by: Kumar Gala commit 329d291f50d53f77d15769051f3eb494a9fd54b7 Author: Harvey Harrison Date: Thu Apr 17 10:38:59 2008 -0400 jdb2: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 46e665e9d297525d286989640cf4247cbe941df6 Author: Harvey Harrison Date: Thu Apr 17 10:38:59 2008 -0400 ext4: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 620de4e19890c623eb4ba293ec19b42e2e391b89 Author: Duane Griffin Date: Tue Apr 29 22:02:47 2008 -0400 jbd2: only create debugfs and stats entries if init is successful jbd2 debugfs and stats entries should only be created if cache initialisation is successful. At the moment they are being created unconditionally which will leave them dangling if cache (and hence module) initialisation fails. Signed-off-by: Duane Griffin Cc: Signed-off-by: Andrew Morton Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 5648ba5b2dc0d07a8108fabc7b9100962e9e1d88 Author: Randy Dunlap Date: Thu Apr 17 10:38:59 2008 -0400 jbd2: fix kernel-doc notation Fix kernel-doc notation in jbd2. Signed-off-by: Randy Dunlap Signed-off-by: Mingming Cao Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 8a9362eb405e380432e6883cb83830df3b6cdf78 Author: Duane Griffin Date: Thu Apr 17 10:38:59 2008 -0400 jbd2: replace potentially false assertion with if block If an error occurs during jbd2 cache initialisation it is possible for the journal_head_cache to be NULL when jbd2_journal_destroy_journal_head_cache is called. Replace the J_ASSERT with an if block to handle the situation correctly. Note that even with this fix things will break badly if jbd2 is statically compiled in and cache initialisation fails. Signed-off-by: Duane Griffin Cc: Signed-off-by: Andrew Morton Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 83c49523c91fff10493f5b3c102063b02ab76907 Author: Duane Griffin Date: Thu Apr 17 10:38:59 2008 -0400 jbd2: eliminate duplicated code in revocation table init/destroy functions The revocation table initialisation/destruction code is repeated for each of the two revocation tables stored in the journal. Refactoring the duplicated code into functions is tidier, simplifies the logic in initialisation in particular, and slightly reduces the code size. There should not be any functional change. Signed-off-by: Duane Griffin Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 9fa27c85de57d38ca698f4e34fdd1ab06b6c8e49 Author: Duane Griffin Date: Mon Apr 28 09:40:00 2008 -0400 jbd2: tidy up revoke cache initialisation and destruction Make revocation cache destruction safe to call if initialisation fails partially or entirely. This allows it to be used to cleanup in the case of initialisation failure, simplifying the code slightly. Signed-off-by: Duane Griffin Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" Signed-off-by: Aneesh Kumar K.V commit 418f6e9e5b77443a66f4457bc60f391e4fba8ad8 Author: Joe Perches Date: Tue Apr 29 08:11:12 2008 -0400 ext4: remove duplicate include of ext4_fs_i.h header file include/linux/ext4_fs_i.h is included in include/linux/ext_fs.h twice Signed-off-by: Joe Perches Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit d3a95d477d4fcb2c276b8357087a6c862c9e1949 Author: Mingming Cao Date: Thu Apr 17 10:38:59 2008 -0400 ext4: make ext4_xattr_list() static This patch makes the needlessly global ext4_xattr_list() static. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 14499f3592f3f52ceb7a639466de9ca21e2c1914 Author: Mingming Cao Date: Thu Apr 17 10:38:59 2008 -0400 ext4: remove extra define of ext4_new_blocks_old from mballoc.c The function prototype of ext4_new_blocks_old() is defined in ext4_fs.h, so we don't need the extra function prototype in mballoc.c Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit a871611b474bfcdee422c0cf5d16f509dce096f5 Author: Akinobu Mita Date: Thu Apr 17 10:38:59 2008 -0400 ext4: check ext4_journal_get_write_access() errors Check ext4_journal_get_write_access() errors. Signed-off-by: Akinobu Mita Signed-off-by: "Theodore Ts'o" Cc: Stephen Tweedie Cc: adilger@clusterfs.com Cc: Andrew Morton Cc: Mingming Cao commit c0a4ef38ac90d9053fcf3e22f81520a507c1a7bd Author: Akinobu Mita Date: Thu Apr 17 10:38:59 2008 -0400 ext4: use ext4_get_group_desc() Use ext4_get_group_desc() in ext4_get_inode_block() instead of open coding the functionality. Signed-off-by: Akinobu Mita Signed-off-by: "Theodore Ts'o" Cc: Stephen Tweedie Cc: adilger@clusterfs.com Cc: Andrew Morton Cc: Mingming Cao commit d00a6d7b40b44ee6b03f492a6c58f5bc4649c784 Author: Akinobu Mita Date: Thu Apr 17 10:38:59 2008 -0400 ext4: use ext4_group_first_block_no() Use ext4_group_first_block_no() and assign the return values to ext4_fsblk_t variables. Signed-off-by: Akinobu Mita Signed-off-by: "Theodore Ts'o" Cc: Stephen Tweedie Cc: adilger@clusterfs.com Cc: Andrew Morton Cc: Mingming Cao commit 216c34b2b8a3687afed4d269acec140c8baf23fe Author: Marcin Slusarz Date: Thu Apr 17 10:38:59 2008 -0400 ext4: convert byte order of constant instead of variable Convert byte order of constant instead of variable which can be done at compile time (vs run time). Signed-off-by: Marcin Slusarz Cc: Signed-off-by: Andrew Morton Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit e8546d0615542684ca02ba03edebec1a503beb6b Author: Marcin Slusarz Date: Thu Apr 17 10:38:59 2008 -0400 ext4: le*_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Signed-off-by: "Theodore Ts'o" Cc: linux-ext4@vger.kernel.org Cc: sct@redhat.com Cc: Andrew Morton Cc: adilger@clusterfs.com Cc: Mingming Cao commit 9a0762c5af40e4aa64fef999967459c98e6ae4c9 Author: Aneesh Kumar K.V Date: Thu Apr 17 10:38:59 2008 -0400 ext4: Convert list_for_each_rcu() to list_for_each_entry_rcu() The list_for_each_entry_rcu() primitive should be used instead of list_for_each_rcu(), as the former is easier to use and provides better type safety. http://groups.google.com/group/linux.kernel/browse_thread/thread/45749c83451cebeb/0633a65759ce7713?lnk=raot Signed-off-by: Aneesh Kumar K.V Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 4ddfef7b41aebbbede73f361cb938800ba3072dc Author: Eric Sandeen Date: Tue Apr 29 08:11:12 2008 -0400 ext4: reduce mballoc stack usage with noinline_for_stack mballoc.c is a whole lot of static functions, which gcc seems to really like to inline. With the changes below, on x86, I can at least get from: 432 ext4_mb_new_blocks 240 ext4_mb_free_blocks 208 ext4_mb_discard_group_preallocations 188 ext4_mb_seq_groups_show 164 ext4_mb_init_cache 152 ext4_mb_release_inode_pa 136 ext4_mb_seq_history_show ... to 220 ext4_mb_free_blocks 188 ext4_mb_seq_groups_show 176 ext4_mb_regular_allocator 164 ext4_mb_init_cache 156 ext4_mb_new_blocks 152 ext4_mb_release_inode_pa 136 ext4_mb_seq_history_show 124 ext4_mb_release_group_pa ... which still has some big functions in there, but not 432 bytes! Signed-off-by: Eric Sandeen Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 5cdd7b2d7716a7ed7d6dc7588e2d015f04d46640 Author: Andi Kleen Date: Tue Apr 29 22:03:54 2008 -0400 Convert ext4 to use unlocked_ioctl I checked ext4_ioctl and it looked largely safe to not be used without BKL. So convert it over to unlocked_ioctl. Signed-off-by: Andi Kleen Signed-off-by: Theodore Ts'o commit 161e7b7c1d24112d188df9a7b30d468a8d135b96 Author: Aneesh Kumar K.V Date: Tue Apr 29 22:03:59 2008 -0400 ext4: Cache the correct extent length for uninit extents When we convert an uninitialized extent to an initialized extent we need to make sure we return the number of blocks in the extent from the file system block corresponding to logical file block. Otherwise we cache wrong extent details and this results in file system corruption. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 1a89734d4057066344356e9c7e13b6379497aebe Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 ext4: Return unwritten buffer head when trying to read from prealloc space. ext4_ext_get_blocks() returns the number of blocks allocated with buffer head unmapped for a read from prealloc space. This is needed so that delayed allocation doesn't do block reservation for prealloc space since the blocks are already reserved on disk. Mark the buffer head unwritten. Some code paths try to read the block if the buffer_head is not new and no uptodate. Marking the buffer head unwritten avoids this reading. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit e067ba0078cd6f00eb6c4052fec630b78ebe59de Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 ext4: make ext4_ext_get_blocks always return <= max_blocks ext4_ext_get_blocks() returns number of blocks allocated with buffer heads unmapped for a read from prealloc space. This is needed so that delayed allocation doesn't do block reservation for prealloc space since the blocks are already resevred on disk. Fix ext4_ext_get_blocks to not return greater than max_blocks, since some of the code paths cannot handle such a return value. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit fd28784adc079afa905df56204b1298ddb4d0bfe Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 ext4: Fix fallocate to update the file size in each transaction ext4_fallocate needs to update file size in each transaction. Otherwise if we crash the file size won't be seen. We were also not marking the inode dirty after updating file size before. Also when we try to retry allocation due to ENOSPC, make sure we reset the variable ret so that we actually do a retry. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 267e4db9ac28a09973476e7ec2cb6807e609d35a Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 ext4: Fix race between migration and mmap write Fail migrate if we allocated new blocks via mmap write. If we write to holes in the file via mmap, we end up allocating new blocks. This block allocation happens without taking inode->i_mutex. Since migrate is protected by i_mutex and migrate expects that no new blocks get allocated during migrate, fail migrate if new blocks get allocated. We can't take inode->i_mutex in the mmap write path because that would result in a locking order violation between i_mutex and mmap_sem. Also adding a separate rw_sempahore for protection is really high overhead for a rare operation such as migrate. Signed-off-by: Aneesh Kumar K.V Acked-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 3977c965ec35ce1a7eac988ad313f0fc9aee9660 Author: Aneesh Kumar K.V Date: Thu Apr 17 10:38:59 2008 -0400 ext4: zero out small extents when writing to prealloc area. If the preallocated area is small zero out the full extent instead of splitting them. This should avoid the "write every alternate block" problem that could grow the number of extents dramatically. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 093a088b76352e0a6fdca84eb78b3aa65fbe6dd1 Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 ext4: ENOSPC error handling for writing to an uninitialized extent This patch handles possible ENOSPC errors when writing to an uninitialized extent in case the filesystem is full. A write to a prealloc area causes the split of an unititalized extent into initialized and uninitialized extents. If we don't have space to add new extent information, instead of returning error, convert the existing uninitialized extent to initialized one. We need to zero out the blocks corresponding to the entire extent to prevent uninitialized data reaching userspace. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 35802c0b2bab71695f131f981d95fcea7432c99b Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 sparc: Export symbols for ZERO_PAGE usage in modules. ext4 uses ZERO_PAGE(0) to zero out blocks. We need to export different symbols in different arches for the usage of ZERO_PAGE in modules. Signed-off-by: Aneesh Kumar K.V Acked-by: David S. Miller Signed-off-by: "Theodore Ts'o" commit 5fcf4303037a648f7b3e40c9a73361879852efe7 Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 m68k: Export empty_zero_page for ZERO_PAGE usage in modules. ext4 uses ZERO_PAGE(0) to zero out blocks. We need to export different symbols in different arches for the usage of ZERO_PAGE in modules. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 3653f3abe37f334659eea9d889cf8dc798fc4baa Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 arm: Export empty_zero_page for ZERO_PAGE usage in modules. ext4 uses ZERO_PAGE(0) to zero out blocks. We need to export different symbols in different arches for the usage of ZERO_PAGE in modules. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit e65187e6d0d541f992e684f88a7e090dcff1aac8 Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 ext4: Enable extent format for symlinks. This patch enables extent-formatted normal symlinks. Using extents format allows a symlink to refer to a block number larger than 2^32 on large filesystems. We still don't enable extent format for fast symlinks, which are contained in the inode itself. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 95c3889cb88ca4833096553c12cde9e7eb792f4c Author: Aneesh Kumar K.V Date: Thu Apr 17 10:38:59 2008 -0400 ext4: Fix fallocate error path Put the old extent details back if we fail to split the uninitialized extent. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit f3f12faa7414595f502721c90c34deccc1a03c71 Author: Josef Bacik Date: Tue Apr 29 22:05:28 2008 -0400 ext4: fix mount option parsing The "resize" option won't be noticed as it comes after the NULL option, so if you try to mount (or in this case remount) with that option it won't be recognized. Cc: Signed-off-by: Josef Bacik Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 53c550e9750434ddc4275fe0405170e0d1b46731 Author: Hisashi Hifumi Date: Thu Apr 17 10:38:59 2008 -0400 ext4: fdatasync should skip metadata writeout when overwriting Currently fdatasync is identical to fsync in ext3. I think fdatasync should skip journal flush in data=ordered and data=writeback mode when it overwrites to already-instantiated blocks on HDD. When I_DIRTY_DATASYNC flag is not set, fdatasync should skip journal writeout because this indicates only atime or/and mtime updates. Following patch is the same approach of ext2's fsync code(ext2_sync_file). I did a performance test using the sysbench. #sysbench --num-threads=128 --max-requests=50000 --test=fileio --file-total-size=128G --file-test-mode=rndwr --file-fsync-mode=fdatasync run The result on ext3 was: -2.6.24 Operations performed: 0 Read, 50080 Write, 59600 Other = 109680 Total Read 0b Written 782.5Mb Total transferred 782.5Mb (12.116Mb/sec) 775.45 Requests/sec executed Test execution summary: total time: 64.5814s total number of events: 50080 total time taken by event execution: 3713.9836 per-request statistics: min: 0.0000s avg: 0.0742s max: 0.9375s approx. 95 percentile: 0.2901s Threads fairness: events (avg/stddev): 391.2500/23.26 execution time (avg/stddev): 29.0155/1.99 -2.6.24-patched Operations performed: 0 Read, 50009 Write, 61596 Other = 111605 Total Read 0b Written 781.39Mb Total transferred 781.39Mb (16.419Mb/sec) 1050.83 Requests/sec executed Test execution summary: total time: 47.5900s total number of events: 50009 total time taken by event execution: 2934.5768 per-request statistics: min: 0.0000s avg: 0.0587s max: 0.8938s approx. 95 percentile: 0.1993s Threads fairness: events (avg/stddev): 390.6953/22.64 execution time (avg/stddev): 22.9264/1.17 Filesystem I/O throughput was improved. Signed-off-by :Hisashi Hifumi Acked-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 97bd42b9c8be748ad85b362ba3bd401f4d35be80 Author: Josef Bacik Date: Tue Apr 29 22:04:56 2008 -0400 ext4: check return of ext4_orphan_get properly This patch fix a panic while running fsfuzzer. We are improperly checking the return of ext4_orphan_get. Signed-off-by: Josef Bacik Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 1dfc3220d963385a317264b11154c462a83596ed Author: Josef Bacik Date: Thu Apr 17 10:38:59 2008 -0400 jbd2: fix possible journal overflow issues There are several cases where the running transaction can get buffers added to its BJ_Metadata list which it never dirtied, which makes its t_nr_buffers counter end up larger than its t_outstanding_credits counter. This will cause issues when starting new transactions as while we are logging buffers we decrement t_outstanding_buffers, so when t_outstanding_buffers goes negative, we will report that we need less space in the journal than we actually need, so transactions will be started even though there may not be enough room for them. In the worst case scenario (which admittedly is almost impossible to reproduce) this will result in the journal running out of space. The fix is to only refile buffers from the committing transaction to the running transactions BJ_Modified list when b_modified is set on that journal, which is the only way to be sure if the running transaction has modified that buffer. This patch also fixes an accounting error in journal_forget, it is possible that we can call journal_forget on a buffer without having modified it, only gotten write access to it, so instead of freeing a credit, we only do so if the buffer was modified. The assert will help catch if this problem occurs. Without these two patches I could hit this assert within minutes of running postmark, with them this issue no longer arises. Cc: Cc: Jan Kara Signed-off-by: Josef Bacik Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 9fc7c63a1d6e9920038ced782390a54888ed70a6 Author: Josef Bacik Date: Thu Apr 17 10:38:59 2008 -0400 jbd2: fix the way the b_modified flag is cleared Currently at the start of a journal commit we loop through all of the buffers on the committing transaction and clear the b_modified flag (the flag that is set when a transaction modifies the buffer) under the j_list_lock. The problem is that everywhere else this flag is modified only under the jbd2 lock buffer flag, so it will race with a running transaction who could potentially set it, and have it unset by the committing transaction. This is also a big waste, you can have several thousands of buffers that you are clearing the modified flag on when you may not need to. This patch removes this code and instead clears the b_modified flag upon entering do_get_write_access/journal_get_create_access, so if that transaction does indeed use the buffer then it will be accounted for properly, and if it does not then we know we didn't use it. That will be important for the next patch in this series. Tested thoroughly by myself using postmark/iozone/bonnie++. Cc: Cc: Jan Kara Signed-off-by: Josef Bacik Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 34d278534db050b93d79175d59a32a70ac25f9b5 Author: Mark Brown Date: Thu Apr 17 09:24:58 2008 -0400 Input: wm97xx-core - support use as a wakeup source The WM97xx touch screen controllers can be used to generate a wakeup event when the system is suspended. Provide a new core API call wm97xx_set_suspend_mode() allowing machine drivers to enable this. If no suspend_mode is provided then the touch panel will be powered down when the system is suspended. Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit db7c10e708b9bdd1618c034591d27c33cb341222 Author: Mark Brown Date: Thu Apr 17 09:24:48 2008 -0400 Input: wm97xx-core - use IRQF_SAMPLE_RANDOM The touchscreen interrupt is driven by human input which can reasonably be used to provide entropy. Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit d808fbe5b404854374917bd0d1db937a0a524665 Author: Mark Brown Date: Thu Apr 17 09:24:39 2008 -0400 Input: wm97xx-core - only schedule interrupt handler if not already scheduled As well as clarifying the fact that the driver can cope if a second interrupt occurs before the IRQ work is scheduled this also ensures that calls to the machine irq_enable() are balanced, making that easier to implement. Normally this is redundant due to the interrupt disabling but some unusal board configurations can trigger it. Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit f845fced913b1437659bb5baf187698547697afe Author: Bob Copeland Date: Thu Apr 17 09:47:48 2008 +0200 udf: use crc_itu_t from lib instead of udf_crc As pointed out by Sergey Vlasov, UDF implements its own version of the CRC ITU-T V.41. Convert it to use the one in the library. Signed-off-by: Bob Copeland Cc: Sergey Vlasov Signed-off-by: Jan Kara commit 706047a79725b585cf272fdefc234b31b6545c72 Author: Sebastian Manciulea Date: Mon Apr 14 17:13:01 2008 +0200 udf: Fix compilation warnings when UDF debug is on Fix two compilation warnings (and actual bugs in message formatting) when UDF debugging is turned on. Signed-off-by: Sebastian Manciulea Signed-off-by: Jan Kara commit 47c9358a015199ed37c66235a2238271a7c8041f Author: Sebastian Manciulea Date: Mon Apr 14 17:06:36 2008 +0200 udf: Fix bug in VAT mapping code Fix mapping of blocks using VAT when it is stored in an inode. UDF_I(inode)->i_data already points to the beginning of VAT header so there's no need to add udf_ext0_offset(inode). Signed-off-by: Sebastian Manciulea Signed-off-by: Jan Kara commit bfb257a5981af805a9394f00f75d3d9f7b611cc0 Author: Jan Kara Date: Tue Apr 8 20:37:21 2008 +0200 udf: Add read-only support for 2.50 UDF media This patch implements parsing of metadata partitions and reading of Metadata File thus allowing to read UDF 2.50 media. Error resilience is implemented through accessing the Metadata Mirror File in case the data the Metadata File cannot be read. The patch is based on the original patch by Sebastian Manciulea and Mircea Fedoreanu . Signed-off-by: Sebastian Manciulea Signed-off-by: Mircea Fedoreanu Signed-off-by: Jan Kara commit f4bcbbd92ebda971f7c2cd1132b399808ed6cf9b Author: Sebastian Manciulea Date: Tue Apr 8 14:02:11 2008 +0200 udf: Fix handling of multisession media According to OSTA UDF specification, only anchor blocks and primary volume descriptors are placed on media relative to the last session. All other block numbers are absolute (in the partition or the whole media). This seems to be confirmed by multisession media created by other systems. Signed-off-by: Sebastian Manciulea Signed-off-by: Jan Kara commit 96200be3077c5ede16a90b33aca815b444e66043 Author: Jan Kara Date: Tue Apr 8 13:29:20 2008 +0200 udf: Mount filesystem read-only if it has pseudooverwrite partition As we don't properly support writing to pseudooverwrite partition (we should add entries to VAT and relocate blocks instead of just writing them), mount filesystems with such partition as read-only. Signed-off-by: Jan Kara commit fa5e08156335d0687c85b4e724db9448fb166601 Author: Jan Kara Date: Tue Apr 8 02:08:53 2008 +0200 udf: Handle VAT packed inside inode properly We didn't handle VAT packed inside the inode - we tried to call udf_block_map() on such file which lead to strange results at best. Add proper handling of packed VAT as we do it with other packed files. Signed-off-by: Jan Kara commit 742e1795e2d9dc99657742e5bbbb7907596bf6c3 Author: Jan Kara Date: Tue Apr 8 01:17:52 2008 +0200 udf: Allow loading of VAT inode UDF media with VAT could have never worked because udf_fill_inode() didn't know about case FILE_TYPE_VAT20. Fix this. Signed-off-by: Jan Kara commit c82a127505d39fa81c886eceed6fdf8c1ff4a06b Author: Jan Kara Date: Tue Apr 8 01:16:32 2008 +0200 udf: Fix detection of VAT version We incorrectly (way to strictly) checked version of VAT on loading and thus refuse to mount correct media. There are just two format versions - below 2.0 and above 2.0 and we understand both. So update the version check accordingly. Signed-off-by: Jan Kara commit 4f7874c868eaedd0e64b2f6c800bc852bdc7f38b Author: Jan Kara Date: Mon Apr 7 23:16:38 2008 +0200 udf: Silence warning about accesses beyond end of device Some of the computed positions of anchor block could be beyond the end of device. Skip reading such blocks. Signed-off-by: Jan Kara commit 5fb28aa25ab0b71af2e441d68e63ad257e610a04 Author: Jan Kara Date: Mon Apr 7 16:15:04 2008 +0200 udf: Improve anchor block detection Add +1 and -1 to a list of blocks which can be the real last recorded block on a UDF media. Sebastian Manciulea claims this helps some drive + media combinations he is able to test. Signed-off-by: Jan Kara commit 423cf6dc04eb79d441bfda2b127bc4b57134b41d Author: Jan Kara Date: Mon Apr 7 15:59:23 2008 +0200 udf: Cleanup anchor block detection. UDF anchor block detection is complicated by several things - there are several places where the anchor point can be, some of them relative to the last recorded block which some devices report wrongly. Moreover some devices on some media seem to have 7 spare blocks sectors for every 32 blocks (at least as far as I understand the old code) so we have to count also with that possibility. This patch splits anchor block detection into several functions so that it is clearer what we actually try to do. We fix several bugs of the type "for such and such media, we fail to check block blah" as a result of the cleanup. Signed-off-by: Jan Kara commit 38b74a53e5625b7bbbd08918294b86f1db2f0565 Author: Jan Kara Date: Wed Apr 2 16:01:35 2008 +0200 udf: Move processing of virtual partitions This patch move processing of UDF virtual partitions close to the place where other partition types are processed. As a result we now also properly fill in partition access type. Signed-off-by: Jan Kara commit 3fb38dfa0e28575170119c70cb2ab70fdb8478fb Author: Jan Kara Date: Wed Apr 2 12:26:36 2008 +0200 udf: Move filling of partition descriptor info into a separate function Signed-off-by: Jan Kara commit 2e0838fd0c0b8f0753a4be9af9f9712c4be881e1 Author: Jan Kara Date: Tue Apr 1 18:08:51 2008 +0200 udf: Improve error recovery on mount Report error when we fail to allocate memory for a bitmap and properly release allocated memory and inodes for all the partitions in case of mount failure and umount. Signed-off-by: Jan Kara commit c0eb31ed130ab18e1858179a644e39aee2355a13 Author: Jan Kara Date: Tue Apr 1 16:50:35 2008 +0200 udf: Cleanup volume descriptor sequence processing Cleanup processing of volume descriptor sequence so that it is more readable, make code handle errors (e.g. media problems) better. Signed-off-by: Jan Kara commit d0db181c072259c21a375b290a4574e5ce6d2b5f Author: Pavel Emelyanov Date: Wed Mar 5 00:03:36 2008 +0100 udf: fix anchor point detection According to ECMA 167 rev. 3 (see 3/8.4.2.1), Anchor Volume Descriptor Pointer should be recorded at two or more anchor points located at sectors 256, N, N - 256, where N - is a largest logical sector number at volume space. So we should always try to detect N on UDF volume before trying to find Anchor Volume Descriptor (i.e. calling to udf_find_anchor()). That said, all this patch does is updates the s_last_block even if the udf_vrs() returns positive value. Originally written and tested by Yuri Per, ported on latest mainline by me. Signed-off-by: Yuri Per Signed-off-by: Pavel Emelyanov Cc: Max Lyadvinsky Cc: Vladimir Simonov Cc: Andrew Neporada Cc: Kirill Korotaev Signed-off-by: Jan Kara commit b80697c14dcacd83ed1b78e26ad93b25ecc52c5e Author: Jan Kara Date: Tue Mar 4 14:14:05 2008 +0100 udf: Remove declarations of arrays of size UDF_NAME_LEN (256 bytes) There are several places in UDF where we declared temporary arrays of UDF_NAME_LEN bytes on stack. This is not nice to stack usage so this patch changes those places to use kmalloc() instead. Also clean up bail-out paths in those functions when we are changing them. Signed-off-by: Jan Kara commit 9bf2c6b834f4caad82b3e2d962c266153d39e411 Author: Jan Kara Date: Tue Mar 4 13:10:29 2008 +0100 udf: Remove checking of existence of filename in udf_add_entry() We don't have to check whether a directory entry already exists in a directory when creating a new one since we've already checked that earlier by lookup and we are holding directory i_mutex all the time. Signed-off-by: Jan Kara commit 200a3592cda7bfc010d30c0b1eb8eff3791e9ba9 Author: Jan Kara Date: Tue Mar 4 13:03:09 2008 +0100 udf: Mark udf_process_sequence() as noinline Mark udf_process_sequence() as noinline since stack usage is terrible otherwise. Signed-off-by: Jan Kara commit 165923fa4590b0eb77bec31af383ea16b2d5868f Author: Marcin Slusarz Date: Sun Feb 10 11:33:08 2008 +0100 udf: super.c reorganization reorganize few code blocks in super.c which were needlessly indented (and hard to read): so change from: rettype fun() { init; if (sth) { long block of code; } } to: rettype fun() { init; if (!sth) return; long block of code; } or from: rettype fun2() { init; while (sth) { init2(); if (sth2) { long block of code; } } } to: rettype fun2() { init; while (sth) { init2(); if (!sth2) continue; long block of code; } } Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit af15a298a49c9b5844cdaf70e10eb808e54ead2c Author: Marcin Slusarz Date: Sun Feb 10 11:29:10 2008 +0100 udf: remove unneeded kernel_timestamp type remove now unneeded kernel_timestamp type with conversion functions Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit 56774805d5eeecd3f1fb700603e593a35dc523c8 Author: Marcin Slusarz Date: Sun Feb 10 11:25:31 2008 +0100 udf: convert udf_stamp_to_time and udf_time_to_stamp to use timestamps * kernel_timestamp type was almost unused - only callers of udf_stamp_to_time and udf_time_to_stamp used it, so let these functions handle endianness internally and don't clutter code with conversions * rename udf_stamp_to_time to udf_disk_stamp_to_time and udf_time_to_stamp to udf_time_to_disk_stamp Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit cbf5676a0e0463f05e5073589f3194846dfb02e7 Author: marcin.slusarz@gmail.com Date: Wed Feb 27 22:50:14 2008 +0100 udf: convert udf_stamp_to_time to return struct timespec Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit c87e8e90d0da1134e42c89dc89559f4bfe282ef9 Author: marcin.slusarz@gmail.com Date: Sun Feb 3 19:36:07 2008 +0100 udf: create function for conversion from timestamp to timespec Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit f18f17b0338a388ad87a2f8078dbbfb83798bdfd Author: marcin.slusarz@gmail.com Date: Sun Feb 3 19:36:06 2008 +0100 udf: udf_get_block, inode_bmap - remove unneeded checks block cannot be less than 0, because it's sector_t, so remove unneeded checks Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit 01b954a36a03d90a66c9dd1fc13e4cb51269caf7 Author: Marcin Slusarz Date: Sat Feb 2 22:37:07 2008 +0100 udf: convert udf_count_free_bitmap to use bitmap_weight replace handwritten bits counting with bitmap_weight Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit d652eefb70142c64495f4188883f9dfc0430a96b Author: marcin.slusarz@gmail.com Date: Wed Jan 30 22:03:59 2008 +0100 udf: replace udf_*_offset macros with functions - translate udf_file_entry_alloc_offset macro into function - translate udf_ext0_offset macro into function - add comment about crypticly named fields in struct udf_inode_info Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit 1ab9278570077101d1e367399686be62b22c4019 Author: marcin.slusarz@gmail.com Date: Wed Jan 30 22:03:58 2008 +0100 udf: simplify __udf_read_inode - move all brelse(ibh) after main if, because it's called on every path except one where ibh is null - move variables to the most inner blocks Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit c2104fda5e6a6981e385b2d11c5c591ab06d82a2 Author: marcin.slusarz@gmail.com Date: Wed Jan 30 22:03:57 2008 +0100 udf: replace all adds to little endians variables with le*_add_cpu replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); sparse didn't generate any new warning with this patch Signed-off-by: Marcin Slusarz commit 456390de465e5a19c84bca5d78e2550971ab5a96 Author: marcin.slusarz@gmail.com Date: Wed Jan 30 22:03:56 2008 +0100 udf: truncate: create function for updating of Allocation Ext Descriptor Signed-off-by: Marcin Slusarz Cc: Jan Kara Signed-off-by: Jan Kara commit 9de90b76eb96e7cdeac8b8dbe7d3db948b070f4d Author: marcin.slusarz@gmail.com Date: Wed Jan 30 22:03:55 2008 +0100 udf: simple cleanup of truncate.c - remove one indentation level by little code reorganization - convert "if (smth) BUG();" to "BUG_ON(smth);" Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit c8ed837d371c24b678182a30e9f0b1f61dee212c Author: marcin.slusarz@gmail.com Date: Wed Feb 27 22:38:38 2008 +0100 udf: constify crc - constify internal crc table - mark udf_crc "in" parameter as const Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit 34f953ddfd15da8feb5b8383c93c35dc57202b66 Author: marcin.slusarz@gmail.com Date: Wed Feb 27 22:38:36 2008 +0100 udf: udf_CS0toNLS cleanup - fix error handling - always zero output variable - don't zero explicitely fields zeroed by memset - mark "in" paramater as const Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit 6305a0a9d559e97807b8bc6d5250fd525dc571a7 Author: Marcin Slusarz Date: Mon Feb 4 22:27:39 2008 +0100 udf: fix udf_build_ustr udf_build_ustr was broken: - size == 1: dest->u_len = ptr[1 - 1], but at ptr[0] there's cmpID, so we created string with wrong length it should not happen, so we BUG() it - size > 1 and size < UDF_NAME_LEN: we set u_len correctly, but memcpy copied one needless byte - size == UDF_NAME_LEN - 1: memcpy overwrited u_len - with correct value, but... - size >= UDF_NAME_LEN: we copied UDF_NAME_LEN - 1 bytes, but dest->u_name is array of UDF_NAME_LEN - 2 bytes, so we were overwriting u_len with character from input string nobody noticed because all callers set size to acceptable values (constants within range) Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit 79cfe0ff5fb585b92126365a2881262945ac0ee9 Author: marcin.slusarz@gmail.com Date: Wed Jan 30 22:03:51 2008 +0100 udf: udf_CS0toUTF8 cleanup - fix error handling - always zero output variable - don't zero explicitely fields zeroed by memset - mark "in" paramater as const - remove outdated comment Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit b8145a769765ce9688eb84080d4c48b22a3553f2 Author: Adrian Bunk Date: Sun Feb 17 10:19:55 2008 +0200 make udf_error() static This patch makes the needlessly global udf_error() static. Signed-off-by: Adrian Bunk Signed-off-by: Jan Kara commit 8dee00bb758f9e1d7fac9f5d2463d09444d4f255 Author: Julia Lawall Date: Thu Feb 14 16:15:45 2008 +0100 fs/udf: Use DIV_ROUND_UP The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. An extract of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression n,d; @@ ( - (n + d - 1) / d + DIV_ROUND_UP(n,d) | - (n + (d - 1)) / d + DIV_ROUND_UP(n,d) ) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP((n),d) + DIV_ROUND_UP(n,d) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP(n,(d)) + DIV_ROUND_UP(n,d) // Signed-off-by: Julia Lawall Signed-off-by: Jan Kara commit 15aebd2866b21a568d8defec134bf29f9aea9088 Author: Christoph Hellwig Date: Fri Feb 22 12:39:12 2008 +0100 udf: move headers out include/linux/ There's really no reason to keep udf headers in include/linux as they're not used by anything but fs/udf/. This patch merges most of include/linux/udf_fs_i.h into fs/udf/udf_i.h, include/linux/udf_fs_sb.h into fs/udf/udf_sb.h and include/linux/udf_fs.h into fs/udf/udfdecl.h. The only thing remaining in include/linux/ is a stub of udf_fs_i.h defining the four user-visible udf ioctls. It's also moved from unifdef-y to headers-y because it can be included unconditionally now. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara commit b1e321266d8797b21eac433b11458ac65b098938 Author: Christoph Hellwig Date: Fri Feb 22 12:38:48 2008 +0100 udf: kill useless file header comments for vfs method implementations There's not need to document vfs method invocation rules, we have Documentation/filesystems/vfs.txt and Documentation/filesystems/Locking for that. Also a lot of these comments where either plain wrong or horrible out of date. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara commit f1f73ba8e9b0eb97f90c6256b94afeb035d97562 Author: Christoph Hellwig Date: Fri Feb 22 12:38:02 2008 +0100 udf: kill udf_set_blocksize This helper has been quite useless since sb_min_blocksize was introduced and is misnamed while we're at it. Just opencode the few lines in the caller instead. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara commit 6993fc5bbc5d63ccd55985b39c34417e430e75e9 Author: Andi Kleen Date: Wed Jan 30 13:30:02 2008 +0100 clocksource: make clocksource watchdog cycle through online CPUs This way it checks if the clocks are synchronized between CPUs too. This might be able to detect slowly drifting TSCs which only go wrong over longer time. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3833eecc183ce052e9ac96b39b45121a2d11ac16 Author: Thomas Gleixner Date: Wed Mar 5 18:28:15 2008 +0100 Documentation: move timer related documentation to a single place We have two directories with timer related information in Documentation/: hrtimers/ and hrtimer/. timer_stats are not restricted to hrtimers. Move all those files into Documentation/timers where we can pile up other timer related docs as well. Pointed-out-by: Randy Dunlap Signed-off-by: Thomas Gleixner commit 903b8a8d4835a796f582033802c83283886f4a3d Author: Karsten Wiese Date: Thu Feb 28 15:10:50 2008 +0100 clockevents: optimise tick_nohz_stop_sched_tick() a bit Call ts = &per_cpu(tick_cpu_sched, cpu); and cpu = smp_processor_id(); once instead of twice. No functional change done, as changed code runs with local irq off. Reduces source lines and text size (20bytes on x86_64). [ akpm@linux-foundation.org: Build fix ] Signed-off-by: Karsten Wiese Cc: Andrew Morton Signed-off-by: Thomas Gleixner commit 3f3eafc921e2378954c28cfd0eb10910449f4c11 Author: Oleg Nesterov Date: Fri Apr 4 20:54:10 2008 +0200 locking: remove unused double_spin_lock() double_spin_lock() has no callers, and it can't be used without additional lockdep annotations, remove it. Signed-off-by: Oleg Nesterov Cc: Arjan van de Ven Cc: Heiko Carstens Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 8e60e05fdc7344415fa69a3883b11f65db967b47 Author: Oleg Nesterov Date: Fri Apr 4 20:54:10 2008 +0200 hrtimers: simplify lockdep handling In order to avoid the false positive from lockdep, each per-cpu base->lock has the separate lock class and migrate_hrtimers() uses double_spin_lock(). This is overcomplicated: except for migrate_hrtimers() we never take 2 locks at once, and migrate_hrtimers() can use spin_lock_nested(). Signed-off-by: Oleg Nesterov Cc: Arjan van de Ven Cc: Heiko Carstens Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 0d180406f2914aea3a78ddb880e2fe9ac78a9372 Author: Oleg Nesterov Date: Fri Apr 4 20:54:10 2008 +0200 timers: simplify lockdep handling In order to avoid the false positive from lockdep, each per-cpu base->lock has the separate lock class and migrate_timers() uses double_spin_lock(). This all is overcomplicated: except for migrate_timers() we never take 2 locks at once, and migrate_timers() can use spin_lock_nested(). Signed-off-by: Oleg Nesterov Cc: Arjan van de Ven Cc: Heiko Carstens Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit ee7dd205b5cdbc3231d48e38641efd05f572c52a Author: WANG Cong Date: Fri Apr 4 20:54:10 2008 +0200 posix-timers: fix shadowed variables Fix sparse warnings like this: kernel/posix-cpu-timers.c:1090:25: warning: symbol 't' shadows an earlier one kernel/posix-cpu-timers.c:1058:21: originally declared here Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit d59b949f771eb3cbe50865c72e13e2a0a8d4d781 Author: Pavel Machek Date: Tue Feb 5 00:48:13 2008 +0100 timer_list: add annotations to workqueue.c Add timer list annotations to workqueue.c so we can see the call site in the timer stats. Signed-off-by: Pavel Machek Signed-off-by: Thomas Gleixner commit 029a07e0311c7fef968d44b50beca53969cee40b Author: Thomas Gleixner Date: Sun Feb 10 09:17:43 2008 +0100 hrtimer: use nanosleep specific restart_block fields Convert all the nanosleep related users of restart_block to the new nanosleep specific restart_block fields. Signed-off-by: Thomas Gleixner commit a332d86d3c262cddd3de0bfa90e1910de60b4f95 Author: Thomas Gleixner Date: Sun Feb 10 09:04:12 2008 +0100 hrtimer: add nanosleep specific restart_block member The back and forth typecasting of restart_block->args is horrible. We added a separate union member for futex already. Do the same for nanosleep. Signed-off-by: Thomas Gleixner commit cbd8a9d2cd6f576ca41022599341bbd8be1b0b27 Author: Jan Altenberg Date: Fri Mar 28 16:13:53 2008 +0100 UBI: initialize static volumes with vol->used_bytes I came across a problem which seems to be present since: commit 941dfb07ed91451b1c58626a0d258dfdf468b593 UBI: set correct gluebi device size ubi_create_gluebi() leaves mtd->size = 0 for static volumes. So even existing static volumes are initialized with a size of 0. Signed-off-by: Jan Altenberg Signed-off-by: Artem Bityutskiy commit 6e0c84e37e809e79313043385148020ceb760496 Author: Artem Bityutskiy Date: Thu Mar 27 17:18:45 2008 +0200 UBI: improve Kconfig documentation Signed-off-by: Artem Bityutskiy commit c4506092c1773211b71a75bd557c02b090c82b66 Author: Artem Bityutskiy Date: Tue Feb 12 16:36:41 2008 +0200 UBI: fix error printing Use existing ubi_err() as the rest of the code does. Signed-off-by: Artem Bityutskiy commit 92a74f1c1c9ca4d8009bfdea1c5febb7c0674f15 Author: Artem Bityutskiy Date: Sat Feb 16 15:42:52 2008 +0200 UBI: make ubi-header.h local The new trend in linux is not to store headers which define on-media format in the include/ directory, but instead, store them locally. This is because these headers "do not define any kernel<->userspace interface". Do so for UBI as well. Signed-off-by: Artem Bityutskiy commit a4f0fcdfb2397e81d22446bb364dc190bf16b25a Author: Artem Bityutskiy Date: Tue Feb 12 13:26:31 2008 +0200 UBI: be verbose when debuggin is enabled Make I/O function to be always verbose when about CRC errors and magic number errors when I/O debugging is enabled. Signed-off-by: Artem Bityutskiy commit f4988927a257791d372dddeda8eda8521bf6cb00 Author: Artem Bityutskiy Date: Fri Feb 8 12:13:08 2008 +0200 Documentation: add UBI sysfs ABI docs Signed-off-by: Artem Bityutskiy Acked-by: Greg KH commit 280bb34bc0f7c664b59077b609ce93507a54c848 Author: Kumar Gala Date: Thu Apr 17 01:29:14 2008 -0500 [POWERPC] 85xx: minor .dts cleanups * remove #cpus from mpc8544ds.dts (not used anywhere else) * remove memreserve from mpc8568mds.dts (not needed) Signed-off-by: Kumar Gala commit 32f960e9439bbe72c45f8cd854049254122fc198 Author: Kumar Gala Date: Thu Apr 17 01:28:15 2008 -0500 [POWERPC] 85xx: Convert dts to v1 syntax Signed-off-by: Kumar Gala commit a5dc66e2ab2e2cf641346b056a69a67cfcf9458c Author: Kumar Gala Date: Tue Apr 15 23:35:47 2008 -0500 [POWERPC] 85xx: Fix compile warning arch/powerpc/platforms/85xx/mpc85xx_ads.c: In function ‘init_ioports’: arch/powerpc/platforms/85xx/mpc85xx_ads.c:168: warning: initialization discards qualifiers from pointer target type Signed-off-by: Kumar Gala commit f9b9908cf92cbefcadaf3a22280006288b1d571f Author: Kumar Gala Date: Tue Apr 15 18:13:30 2008 -0500 [POWERPC] 83xx: Enable FCM NAND and OF partitions in defconfig Signed-off-by: Kumar Gala commit 81fad217b32b885b369bc85125095ea2940b4c60 Author: Paul Gortmaker Date: Tue Apr 15 18:41:31 2008 -0400 [POWERPC] 86xx: Add device tree source for Wind River SBC8641D This adds in the device tree source for the SBC8641D, based largely on the mpc8641_hpcn.dts. The biggest differences are the lack of a complex IRQ mapping (since no Uli/i8259 cascade) and the different layout of devices on the localbus node. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 1c37dca5e3b9738b28c285ed977d4d81223870a9 Author: Paul Gortmaker Date: Tue Apr 15 18:41:32 2008 -0400 [POWERPC] 86xx: Add defconfig for Wind River SBC8641D board This adds a sample defconfig for the Wind River SBC8641D board, with SMP, PCI and NFS root enabled. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 4e8aae89a35d1d572e9faca44fa9774329fceb80 Author: Paul Gortmaker Date: Tue Apr 15 18:41:30 2008 -0400 [POWERPC] 86xx: Add support for Wind River SBC8641D board This adds support for the Wind River SBC8641D board, based largely on the mpc86xx_hpcn support. The biggest difference is the lack of the Uli and the i8259 cascade, which simplifies things. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 1e31de7aae01d85657b5db8c9e4cfc9afe0596f6 Author: Scott Wood Date: Tue Apr 15 11:03:38 2008 -0500 [POWERPC] 83xx: mpc8313erdb - Enable FCM NAND and OF partitions in defconfig Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 378458d8655056d3d04994cb2b1c0fabb1b35983 Author: Scott Wood Date: Tue Apr 15 11:02:31 2008 -0500 [POWERPC] cuboot-pq2: PCI fixes 1. Detect (and bail out on) more conditions that violate the assumptions of the setup code -- we assume in such cases that the device tree is correct and reflects what the firmware did. 2. The inbound memory mask calculation was wrong. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 3866409541b1ae87a2e42ee7f483843f1af56917 Author: Scott Wood Date: Tue Apr 15 13:52:34 2008 -0500 [POWERPC] fsl_soc: Factor fsl_get_sys_freq() out of the wdt and spi inits. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 9c432797d30ffd10d5510854a0f762dc42903898 Author: Anton Vorontsov Date: Tue Mar 18 18:43:59 2008 +0300 [POWERPC] 83xx: mpc837x_rdb: add simple-bus compatible matching This is needed to probe nor and nand flashes on the localbus. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 4eaddb4d7ec380abe95523ba0bdbbe8558f7fef4 Author: Kumar Gala Date: Wed Apr 9 16:15:40 2008 -0500 [POWERPC] Make Book-E debug handling SMP safe global_dbcr0 needs to be a per cpu set of save areas instead of a single global on all processors. Also, we switch to using DBCR0_IDM to determine if the user space app is being debugged as its a more consistent way. In the future we should support features like hardware breakpoint and watchpoints which will have DBCR0_IDM set but not necessarily DBCR0_IC (single step). Signed-off-by: Kumar Gala commit 3dd82a1ea72438a545634b3ef90c53313d2caffa Author: Scott Wood Date: Thu Apr 10 15:45:02 2008 -0500 [POWERPC] CPM: Always use new binding. The kconfig entry can go away once arch/ppc and references to the config in drivers are removed. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 632395e19c9268bb15a5022b8e0c6b645a1937d7 Author: Anton Vorontsov Date: Tue Mar 11 20:24:50 2008 +0300 [POWERPC] QE: fix sparse warnings Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 7f0a6fc81213b957714dfd2a49a28b110283ecc8 Author: Anton Vorontsov Date: Tue Mar 11 20:24:24 2008 +0300 [POWERPC] QE: export qe_get_brg_clk() qe_get_brg_clk() will be used by the fsl_gtm routines. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit ab1220d5ac69bd3327305c4d367548221f2bc3b4 Author: Anton Vorontsov Date: Tue Mar 11 20:24:21 2008 +0300 [POWERPC] QE: immap_qe.h should include asm/io.h Headers should include prototypes they use, otherwise build will break if we use it without explicitly including io.h: CC arch/powerpc/sysdev/qe_lib/gtm.o In file included from include/asm/qe.h:20, from arch/powerpc/sysdev/qe_lib/gtm.c:18: include/asm/immap_qe.h: In function ‘immrbar_virt_to_phys’: include/asm/immap_qe.h:480: error: implicit declaration of function ‘virt_to_phys’ make[2]: *** [arch/powerpc/sysdev/qe_lib/gtm.o] Error 1 make[1]: *** [arch/powerpc/sysdev/qe_lib] Error 2 gtm.c needs qe.h (which includes immap_qe.h) to use qe_get_brg_clk(). Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 0b51b02edff2417deff98d8bbf294fa56b765bc6 Author: Anton Vorontsov Date: Tue Mar 11 20:24:13 2008 +0300 [POWERPC] QE: implement qe_muram_offset qe_muram_offset is the reverse of the qe_muram_addr, will be used for the Freescale QE USB Host Controller driver. This patch also moves qe_muram_addr into the qe.h header, plus adds __iomem hints to use with sparse. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit acaa7aa30a8cdf7276945629f56d6daf30beb157 Author: Anton Vorontsov Date: Fri Apr 11 21:03:40 2008 +0400 [POWERPC] fsl_lbc: implement few UPM routines Freescale UPM can be used to adjust localbus timings or to generate orbitrary, pre-programmed "patterns" on the external Localbus signals. This patch implements few routines so drivers could work with UPMs in safe and generic manner. So far there is just one user of these routines: Freescale UPM NAND driver. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit d4a32fe40a57d1a47d6ec3ebbf3d3153b12baa2c Author: Anton Vorontsov Date: Tue Mar 11 20:23:28 2008 +0300 [POWERPC] fsl_elbc_nand: factor out localbus defines This is needed to support other localbus peripherals, such as NAND on FSL UPM. Signed-off-by: David Woodhouse Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 56626f335b76eecd79d07fb21d0e625eb4aa52da Author: Anton Vorontsov Date: Fri Apr 11 20:06:54 2008 +0400 [POWERPC] QE: UCC nodes cleanup - get rid of `model = "UCC"' in the ucc nodes It isn't used anywhere, so remove it. If we'll ever need something like this, we'll use compatible property instead. - replace last occurrences of device-id with cell-index. Drivers are modified for backward compatibility's sake. Signed-off-by: Anton Vorontsov Acked-by: Timur Tabi Signed-off-by: Kumar Gala commit e24e788abe0def81341fd23efae43e813678f7b1 Author: Laurent Pinchart Date: Thu Apr 10 17:00:53 2008 +0200 [POWERPC] CPM: Move opcodes common to CPM1 and CPM2 to include/asm-powerpc/cpm.h Signed-off-by: Laurent Pinchart Signed-off-by: Kumar Gala commit 872a15deed2f6c2dc14353a6109adde99cfee690 Author: Laurent Pinchart Date: Thu Apr 10 17:02:38 2008 +0200 [POWERPC] CPM2: Reset the CPM when early debugging is not enabled. Similarly to what is done for PQ1-based platforms, this patch resets the PQ2 Communication Processor Module in cpm2_reset() when early debugging is not enabled. This helps avoiding conflicts when the boot loader configured the CPM in an unexpected way. Signed-off-by: Laurent Pinchart Acked-by: Scott Wood Signed-off-by: Kumar Gala commit 0585fa5fb74001487e71c9f04875803e1f1174e1 Author: Laurent Pinchart Date: Thu Apr 10 17:02:25 2008 +0200 [POWERPC] ep8248e: Reference SMC parameter RAM base in the device tree. This patch modifies the Embedded Planet EP8248E device tree to reference the SMC paramater RAM base register instead of the parameter RAM allocated by the boot loader. The cpm_uart driver will allocate parameter RAM itself, making the serial port initialisation independent of the boot loader. The patch adds the parameter RAM allocated by the boot loader in the CPM muram node, making it available to the kernel. Signed-off-by: Laurent Pinchart Acked-by: Scott Wood Signed-off-by: Kumar Gala commit c2dd3529f35de9e2f51eba9bbf9969f5dc8382d4 Author: Laurent Pinchart Date: Thu Apr 10 17:01:59 2008 +0200 [POWERPC] cpm-serial: Relocate CPM buffer descriptors and SMC parameter ram. This patch relocates the buffer descriptors and the SMC parameter RAM at the end of the first CPM muram chunk, as described in the device tree. This allows device trees to stop excluding SMC parameter ram allocated by the boot loader from the CPM muram node. Signed-off-by: Laurent Pinchart Acked-by: Scott Wood Signed-off-by: Kumar Gala commit da0a5f0c65913e4ec0a70a5019ce0a7bcaab21c9 Author: Laurent Pinchart Date: Thu Apr 10 17:03:04 2008 +0200 [POWERPC] Add bootwrapper function to get virtual reg from the device tree. This patch adds a new generic device tree processing function that retrieves virtual reg addresses from the device tree to the bootwrapper code. It also updates the bootwrapper code to use the new function. dt_get_virtual_reg() retrieves the virtual reg addresses from the "virtual-reg" property. If the property can't be found, it uses the "reg" property and walks the tree to translate it to absolute addresses. Signed-off-by: Laurent Pinchart Acked-by: Scott Wood Signed-off-by: Kumar Gala commit d464df2667cf181419604e656773f80996cf0470 Author: Laurent Pinchart Date: Thu Apr 10 17:01:27 2008 +0200 [POWERPC] cpm_uart: Allocate DPRAM memory for SMC ports on CPM2-based platforms. This patch allocates parameter RAM for SMC serial ports without relying on previous initialisation by a boot loader or a wrapper layer. SMC parameter RAM on CPM2-based platforms can be allocated anywhere in the general-purpose areas of the dual-port RAM. The current code relies on the boot loader to allocate a section of general-purpose CPM RAM and gets the section address from the device tree. This patch modifies the device tree address usage to reference the SMC parameter RAM base pointer instead of a pre-allocated RAM section and allocates memory from the CPM dual-port RAM when initialising the SMC port. CPM1-based platforms are not affected. Signed-off-by: Laurent Pinchart Acked-by: Scott Wood Signed-off-by: Kumar Gala commit 1028d4f162796a99b87565b6b40b5fec79c242d0 Author: Sebastian Siewior Date: Sat Mar 15 00:01:30 2008 +0100 [POWERPC] 85xx: Enable DMA engine on the MPC8544 DS Add the device tree node for the DMA engine on 8544, publish the device and enable the driver in the defconfig. Signed-off-by: Sebastian Siewior Signed-off-by: Kumar Gala commit 370131c3f2cdd82edeb71add4b098b51803e214e Author: Kumar Gala Date: Wed Apr 9 10:16:42 2008 -0500 [POWERPC] 83xx/85xx: Reorganize defconfigs Board specific defconfigs are useful, however with the ability to do multi-board defconfigs they aren't needed in the top level configs directory Move the 83xx/85xx board specific defconfigs to individual directories under arch/powerpc/configs. Signed-off-by: Kumar Gala commit eb0cd5fd295f469b4782d8088f3e39019da44707 Author: Kumar Gala Date: Wed Apr 9 06:06:11 2008 -0500 [POWERPC] Rework Book-E debug exception handling The architecture allows for "Book-E" style debug interrupts to either go to critial interrupts of their own debug interrupt level. To allow for a dynamic kernel to support machines of either type we want to be able to compile in the interrupt handling code for both exception levels. Towards this goal we renamed the debug handling macros to specify the interrupt level in their name (DEBUG_CRIT_EXCEPTION/DebugCrit and DEBUG_DEBUG_EXCEPTION/DebugDebug). Additionally, on the Freescale Book-e parts we expanded the exception stacks to cover the maximum case of needing three exception stacks (normal, machine check and debug). There is some kernel text space optimization to be gained if a kernel is configured for a specific Freescale implementation but we aren't handling that now to allow for the single kernel image support. Signed-off-by: Kumar Gala commit ca68305bf3c76c4a7cd1c77d5423219f39164df8 Author: Martin Schwidefsky Date: Thu Apr 17 07:46:31 2008 +0200 [S390] Remove code duplication from monreader / dcssblk. Move the function that prints the segment warning messages found in the monreader driver and the dcssblk driver to the extmem base code. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 9e74a6b8983c2653dd2a6f51e634efa281e95d59 Author: Christian Borntraeger Date: Thu Apr 17 07:46:30 2008 +0200 [S390] kernel: show last breaking-event-address on oops Newer s390 models have a breaking-event-address-recording register. Each time an instruction causes a break in the sequential instruction execution, the address is saved in that hardware register. On a program interrupt the address is copied to the lowcore address 272-279, which makes it software accessible. This patch changes the program check handler and the stack overflow checker to copy the value into the pt_regs argument. The oops output is enhanced to show the last known breaking address. It might give additional information if the stack trace is corrupted. The feature is only available on 64 bit. The new oops output looks like: [---------snip----------] Modules linked in: vmcp sunrpc qeth_l2 dm_mod qeth ccwgroup CPU: 2 Not tainted 2.6.24zlive-host #8 Process modprobe (pid: 4788, task: 00000000bf3d8718, ksp: 00000000b2b0b8e0) Krnl PSW : 0704200180000000 000003e000020028 (vmcp_init+0x28/0xe4 [vmcp]) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3 Krnl GPRS: 0000000004000002 000003e000020000 0000000000000000 0000000000000001 000000000015734c ffffffffffffffff 000003e0000b3b00 0000000000000000 000003e00007ca30 00000000b5bb5d40 00000000b5bb5800 000003e0000b3b00 000003e0000a2000 00000000003ecf50 00000000b2b0bd50 00000000b2b0bcb0 Krnl Code: 000003e000020018: c0c000040ff4 larl %r12,3e0000a2000 000003e00002001e: e3e0f0000024 stg %r14,0(%r15) 000003e000020024: a7f40001 brc 15,3e000020026 >000003e000020028: e310c0100004 lg %r1,16(%r12) 000003e00002002e: c020000413dc larl %r2,3e0000a27e6 000003e000020034: c0a00004aee6 larl %r10,3e0000b5e00 000003e00002003a: a7490001 lghi %r4,1 000003e00002003e: a75900f0 lghi %r5,240 Call Trace: ([<000000000014b300>] blocking_notifier_call_chain+0x2c/0x40) [<000000000015735c>] sys_init_module+0x19d8/0x1b08 [<0000000000110afc>] sysc_noemu+0x10/0x16 [<000002000011cda2>] 0x2000011cda2 Last Breaking-Event-Address: [<000003e000020024>] vmcp_init+0x24/0xe4 [vmcp] [---------snip----------] Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 1a5debaaace41f1e91014332e6eedde4499e5638 Author: Heiko Carstens Date: Thu Apr 17 07:46:29 2008 +0200 [S390] lowcore: Change type of lowcores softirq_pending to __u32. As noted by akpm: > kernel/time/tick-sched.c: In function 'tick_nohz_stop_sched_tick': > kernel/time/tick-sched.c:229: warning: format '%02x' expects type 'unsigned int', but argument 2 has type '__u64' > > I don't think the architecture's local_softirq_pending() should return u64. > This is the sort of thing which should be consistent across architectures. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 1749a81d629b1295b38071914728cc2e72066f4d Author: Felix Beck Date: Thu Apr 17 07:46:28 2008 +0200 [S390] zcrypt: Comments and kernel-doc cleanup Comments, which suggested to be kernel-doc but were not in the right formatting, have been corrected. Additionally some minor cleanup in the comments has been done. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 3f12ebce6a004c8e9bf639801842f67e578ee7c6 Author: Heiko Carstens Date: Thu Apr 17 07:46:27 2008 +0200 [S390] uaccess: Always access the correct address space. The current uaccess page table walk code assumes at a few places that any access is a user space access. This is not correct if somebody has issued a set_fs(KERNEL_DS) in advance. Add code which checks which address space we are in and with this make sure we access the correct address space. This way we get also rid of the dirty if (!currrent-mm) return -EFAULT; hack in futex_atomic_cmpxchg_pt. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit a806170e29c5468b1d641a22518243bdf1b8d58b Author: Heiko Carstens Date: Thu Apr 17 07:46:26 2008 +0200 [S390] Fix a lot of sparse warnings. Most noteable part of this commit is the new local header file entry.h which contains all the function declarations of functions that get only called from asm code or are arch internal. That way we can avoid extern declarations in C files. This is more or less the same that was done for sparc64. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 5a62b192196af9a798e2f2f4c6a1324e7edf2f4b Author: Heiko Carstens Date: Thu Apr 17 07:46:25 2008 +0200 [S390] Convert s390 to GENERIC_CLOCKEVENTS. This way we get rid of s390's NO_IDLE_HZ and use the generic dynticks variant instead. In addition we get high resolution timers for free. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit d7b906897e9caae452947e33674df0a2d6f7e10f Author: Russell King Date: Thu Apr 17 07:46:24 2008 +0200 [S390] genirq/clockevents: move irq affinity prototypes/inlines to interrupt.h > Generic code is not supposed to include irq.h. Replace this include > by linux/hardirq.h instead and add/replace an include of linux/irq.h > in asm header files where necessary. > This change should only matter for architectures that make use of > GENERIC_CLOCKEVENTS. > Architectures in question are mips, x86, arm, sh, powerpc, uml and sparc64. > > I did some cross compile tests for mips, x86_64, arm, powerpc and sparc64. > This patch fixes also build breakages caused by the include replacement in > tick-common.h. I generally dislike adding optional linux/* includes in asm/* includes - I'm nervous about this causing include loops. However, there's a separate point to be discussed here. That is, what interfaces are expected of every architecture in the kernel. If generic code wants to be able to set the affinity of interrupts, then that needs to become part of the interfaces listed in linux/interrupt.h rather than linux/irq.h. So what I suggest is this approach instead (against Linus' tree of a couple of days ago) - we move irq_set_affinity() and irq_can_set_affinity() to linux/interrupt.h, change the linux/irq.h includes to linux/interrupt.h and include asm/irq_regs.h where needed (asm/irq_regs.h is supposed to be rarely used include since not much touches the stacked parent context registers.) Build tested on ARM PXA family kernels and ARM's Realview platform kernels which both use genirq. [ tglx@linutronix.de: add GENERIC_HARDIRQ dependencies ] Signed-off-by: Russell King Signed-off-by: Thomas Gleixner Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 43ca5c3a1cefdaa09231d64485b8f676118bf1e0 Author: Heiko Carstens Date: Thu Apr 17 07:46:23 2008 +0200 [S390] Convert monitor calls to function calls. Remove the program check generating monitor calls and use function calls instead. Theres is no real advantage in using monitor calls, but they do make debugging harder, because of all the program checks it generates. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit e1776856286bef076f400ec062b150b6f3c353cd Author: Ursula Braun Date: Thu Apr 17 07:46:22 2008 +0200 [S390] qdio (new feature): enhancing info-retrieval from QDIO-adapters Next generation of OSA adapters allows retrieval of further self-describing infos. This is the preparational infrastructure patch for further exploitation in the qeth driver. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 2a2cf6b18626e66b7898013dfa4df8fe2feca568 Author: Harvey Harrison Date: Thu Apr 17 07:46:21 2008 +0200 [S390] replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 1e42f32785dc252191bc8a4825e1fee77519d947 Author: Johannes Weiner Date: Thu Apr 17 07:46:20 2008 +0200 [S390] remove redundant display of free swap space in show_mem() Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit efca13bc70dc2458cd36cc5ae3ffc240b9719222 Author: Ursula Braun Date: Thu Apr 17 07:46:19 2008 +0200 [S390] qdio: remove outdated developerworks link. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 9637c3f318374e2fcc37e354f9782a705b517387 Author: Michael Holzheu Date: Thu Apr 17 07:46:18 2008 +0200 [S390] Add debug_register_mode() function to debug feature API The new function supports setting of permissions for the debugfs files created by the debug feature. In addition to that, the function provides uid and gid as parameters for future use. Currently only root is allowed for uid and gid. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 9f7819c1e51d5310d012426599a5f49d8678119d Author: Heiko Carstens Date: Thu Apr 17 07:46:17 2008 +0200 [S390] crypto: use more descriptive function names for init/exit routines. Not very helpful when code dies in "init". See also http://lkml.org/lkml/2008/3/26/557 . Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c0015f91d8414f55d2debfe9984a04b98b48f087 Author: Jan Glauber Date: Thu Apr 17 07:46:16 2008 +0200 [S390] switch sched_clock to store-clock-extended. Add get_clock_xt to read an 8 byte clock value using store clock extended (STCKE) and use get_clock_xt for sched_clock. STCKE should be faster than STCK on newer machines. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 2f7c8bd6dc6540aa3275c0ad9f657401985c00e9 Author: Ralph Wuerthner Date: Thu Apr 17 07:46:15 2008 +0200 [S390] zcrypt: add support for large random numbers This patch allows user space applications to access large amounts of truly random data. The random data source is the build-in hardware random number generator on the CEX2C cards. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 893f11286644780fc7d6d415e537644da7bdaaf8 Author: Ralph Wuerthner Date: Thu Apr 17 07:46:14 2008 +0200 [S390] hw_random: allow rng_dev_read() to return hardware errors. The api for hardware random number generators is currently limited to devices that never fail. If the hardware is registered as a source for random numbers it has to work. This prevents the use of i/o based random number devices where the i/o might fail. Add a check for errors after the read from a hardware random number device. This patch is required to support large random numbers retrieved from the CEX2C cards on System z. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c10fde0d9e2112c25052a8742e893ec5965c0007 Author: Heiko Carstens Date: Thu Apr 17 07:46:13 2008 +0200 [S390] Vertical cpu management. If vertical cpu polarization is active then the hypervisor will dispatch certain cpus for a longer time than other cpus for maximum performance. For example if a guest would have three virtual cpus, each of them with a share of 33 percent, then in case of vertical cpu polarization all of the processing time would be combined to a single cpu which would run all the time, while the other two cpus would get nearly no cpu time. There are three different types of vertical cpus: high, medium and low. Low cpus hardly get any real cpu time, while high cpus get a full real cpu. Medium cpus get something in between. In order to switch between the two possible modes (default is horizontal) a 0 for horizontal polarization or a 1 for vertical polarization must be written to the dispatching sysfs attribute: /sys/devices/system/cpu/dispatching The polarization of each single cpu can be figured out by the polarization sysfs attribute of each cpu: /sys/devices/system/cpu/cpuX/polarization horizontal, vertical:high, vertical:medium, vertical:low or unknown. When switching polarization the polarization attribute may contain the value unknown until the configuration change is done and the kernel has figured out the new polarization of each cpu. Note that running a system with different types of vertical cpus may result in significant performance regressions. If possible only one type of vertical cpus should be used. All other cpus should be offlined. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit dbd70fb499952d0ba282f0159dafacfc31d50313 Author: Heiko Carstens Date: Thu Apr 17 07:46:12 2008 +0200 [S390] cpu topology support for s390. Add s390 backend so we can give the scheduler some hints about the cpu topology. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 7b758389a29cb7f456ec2d27b7a08cb3cc4e1f1c Author: Heiko Carstens Date: Thu Apr 17 07:46:11 2008 +0200 [S390] Export stfle. Make stfle visible so other code can call this. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit cbce70e687bf9c7968d63f058b4c3d2e90008ce2 Author: Martin Schwidefsky Date: Thu Apr 17 07:46:10 2008 +0200 [S390] Add new fields for System z10 to /proc/sysinfo Add permanent and temporary model capacity and the corresponding capacity value fields for the three capacity identifiers to the output of /proc/sysinfo. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit aa24f7f08baca5aa9201901131cbdd0b14deceb6 Author: Christian Borntraeger Date: Thu Apr 17 07:46:09 2008 +0200 [S390] KVM preparation: split sysinfo definitions for kvm use drivers/s390/sysinfo.c uses the store system information intruction to query the system about information of the machine, the LPAR and additional hypervisors. KVM has to implement the host part for this instruction. To avoid code duplication, this patch splits the common definitions from sysinfo.c into a separate header file include/asm-s390/sysinfo.h for KVM use. Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit f60c768c387026499bbdefdd807d9124ae2b3a8c Author: Stefan Haberland Date: Thu Apr 17 07:46:08 2008 +0200 [S390] dasd: add sim handling. Now the system reports system information messages (SIM) to the user. The System Reference Code (SRC) which is reported to the user gives the abbility to lookup the reason of the SIM online in the documentation of the storage server. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c2e8b8531b162fb314434f1f2608ba1ddf46b98f Author: Heiko Carstens Date: Thu Apr 17 07:46:07 2008 +0200 [S390] exec_protect: Fix incorrect extern declarations. sys_sigreturn and sys_rt_sigreturn don't take any arguments. So luckily this resulted only in unneeded instead of incorrect code. But still this clearly shows why one should not put extern declarations in C files (will be fixed with a larger sparse patch). Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit a695f16729e00995fe72baf0e8bee4bf9c232ae0 Author: Frank Munzert Date: Thu Apr 17 07:46:06 2008 +0200 [S390] vmur: Use wait queue instead of mutex to serialize open If user space opens a unit record device node then vmur is leaving the kernel with lock open_mutex still held to prevent other processes from opening the device simultaneously. This causes lockdep to complain about a lock held when returning to user space. Now the mutex is replaced by a wait queue to serialize device open. Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 92bf435f383a6193d59c687ce87ccca3529c68a1 Author: Michael Holzheu Date: Thu Apr 17 07:46:05 2008 +0200 [S390] tape: duplicate sysfs filename when setting tape device online When a tape device is set online, offline and online again, the following error message is printed on the console: "sysfs: duplicate filename 'non-rewinding' can not be created". The reason is that when setting a device online, the tape driver creates a sysfs symlink from the tape device to the tape class device. Unfortunately the symlink is not removed correctly, when the device is set offline. Instead of passing the tape device object to sysfs_remove_link, the class device object is used. This patch fixes this problem and uses the correct tape device object now. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 00966c0a5b00bc0afdc0bd0446adec271f8b098b Author: Stefan Haberland Date: Thu Apr 17 07:46:04 2008 +0200 [S390] dasd: use GFP_DMA for fba private data allocation allocating dasd_fba_private without GFP_DMA results in IO error during read device characteristics of a FBA disk Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 35b58b028dfc99dd390a09f66945947c4945fa64 Author: Ursula Braun Date: Thu Apr 17 07:46:03 2008 +0200 [S390] qdio: Unrecognized inbound traffic if many FCP devices are online Problem: Usually every FCP device has its own indicator field the adapter uses to signal outstanding work. Once a certain limit of devices is reached, a common indicator field is used. In certain scenarios qdio resets this common indicator field, but handles only part of the FCP-devices sharing the common indicator field. Thus inbound traffic on the non-processed shared FCP-devices is not recognized immediately. Solution: Make sure common indicator field is reset only, if all FCP-devices sharing the indicator are processed. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit d1e23375bf5d1079cd54a1c6bc8592c42061f1e1 Author: Heiko Carstens Date: Thu Apr 17 07:46:02 2008 +0200 [S390] sclp: Get rid of in_atomic() use. Reintroduces in_interrupt() check in sclp_tty code. Add may_schedule parameter to vt220 write function, so we can let the write function know if it may schedule or not. So we disallow scheduling for all console calls and may allow them for tty calls. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 8284fb19efa1f11ea8dd213e9e227fc1fcb20586 Author: Michael Ernst Date: Thu Apr 17 07:46:01 2008 +0200 [S390] cio: fix parallel cm_enable processing. It is now possible to trigger cm_enable processing several times in parallel without causing a kernel panic. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit fe6173d9b33dba18ec462051750fb1b9abcd796d Author: Cornelia Huck Date: Thu Apr 17 07:46:00 2008 +0200 [S390] cio: Trigger verification on device/path not operational. Currently, we don't do much on no path or no device situations during normal user I/O, since we rely on reports regarding those events by the machine. If we trigger a path verification to bring our device state up-to-date, we (a) may recover from path failures earlier and (b) better handle situations where the hardware/hypervisor doesn't give us enough notifications. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 22806dc1a8ffd88a7c7bdd070879e6e323db496a Author: Cornelia Huck Date: Thu Apr 17 07:45:59 2008 +0200 [S390] cio: Fix race for "fast" path gone/path back situations. Make sure we wait for previous evaluations triggered by path state changes to have settled before we manipulate path states again. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 374b8f45f1d5cb17f45ba1d7c74ce8cc9e2f1407 Author: Martin Schwidefsky Date: Thu Apr 17 07:45:58 2008 +0200 [S390] allnoconfig build error. Fix the following link error with allnoconfig: vmem.c:(.text+0x175c): undefined reference to `smp_ptlb_all' vmem.c:(.text+0x1b24): undefined reference to `smp_ptlb_all' fork.c:(.text+0x4190): undefined reference to `smp_ptlb_all' : undefined reference to `smp_ptlb_all' : undefined reference to `smp_ptlb_all' mm/built-in.o:: more undefined references to `smp_ptlb_all' follow make[1]: *** [.tmp_vmlinux1] Error 1 make: *** [sub-make] Error 2 Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit de553438eb6c487f72d46019eb3821f6687ce011 Author: Heiko Carstens Date: Thu Apr 17 07:45:57 2008 +0200 [S390] Protect against sigaltstack wraparound. This is just a port of 83bd01024b1fdfc41d9b758e5669e80fca72df66 "x86: protect against sigaltstack wraparound". Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 08a8a0c59e54f7eb80897c1e77efa4a541d11008 Author: Josef 'Jeff' Sipek Date: Thu Apr 17 07:45:56 2008 +0200 [S390] dasd: fix double elevator_exit call when deadline iosched fails to load I compiled the kernel without deadline, and the dasd code exits the old scheduler (CFQ), fails to load the new one (deadline), and then things just hang - with one of these (sorry about the weird chars - I copy & pasted it from a 3270 console): dasd(eckd): 0.0.0151: 3390/0A(CU:3990/01) Cyl:3338 Head:15 Sec:224 ------------ cut here ------------ Badness at kernel/mutex.c:134 Modules linked in: dasd_eckd_mod dasd_mod CPU: 0 Not tainted 2.6.25-rc3 #9 Process exe (pid: 538, task: 000000000d172000, ksp: 000000000d21ef88) Krnl PSW : 0404000180000000 000000000022fb5c (mutex_lock_nested+0x2a4/0x2cc) R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:0 PM:0 EA:3 Krnl GPRS: 0000000000024218 000000000076fc78 0000000000000000 000000000000000f 000000000022f92e 0000000000449898 000000000f921c00 000003e000162590 00000000001539c4 000000000d172000 070000007fffffff 000000000d21f400 000000000f8f2560 00000000002413f8 000000000022fb44 000000000d21f400 Krnl Code: 000000000022fb50: bf2f1000 icm %r2,15,0(%r1) 000000000022fb54: a774fef6 brc 7,22f940 000000000022fb58: a7f40001 brc 15,22fb5a >000000000022fb5c: a7f4fef2 brc 15,22f940 000000000022fb60: c0e5fffa112a brasl %r14,171db4 000000000022fb66: 1222 ltr %r2,%r2 000000000022fb68: a784fedb brc 8,22f91e 000000000022fb6c: c010002a0086 larl %r1,76fc78 Call Trace: (<000000000022f92e> mutex_lock_nested+0x76/0x2cc) <00000000001539c4> elevator_exit+0x38/0x80 <0000000000156ffe> blk_cleanup_queue+0x62/0x7c <000003e0001d5414> dasd_change_state+0xe0/0x8ec <000003e0001d5cae> dasd_set_target_state+0x8e/0x9c <000003e0001d5f74> dasd_generic_set_online+0x160/0x284 <000003e00011e83a> dasd_eckd_set_online+0x2e/0x40 <0000000000199bf4> ccw_device_set_online+0x170/0x2c0 <0000000000199d9e> online_store_recog_and_online+0x5a/0x14c <000000000019a08a> online_store+0xbe/0x2ec <000000000018456c> dev_attr_store+0x38/0x58 <000000000010efbc> sysfs_write_file+0x130/0x190 <00000000000af582> vfs_write+0xb2/0x160 <00000000000afc7c> sys_write+0x54/0x9c <0000000000025e16> sys32_write+0x2e/0x50 <0000000000024218> sysc_noemu+0x10/0x16 <0000000077e82bd2> 0x77e82bd2 Set elevator pointer to NULL in order to avoid double elevator_exit calls when elevator_init call for deadline iosched fails. Also make sure the dasd device driver depends on IOSCHED_DEADLINE so the default IO scheduler of the dasd driver is present. Signed-off-by: Josef 'Jeff' Sipek Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 0a22ab92f51478796d5f3997f4f5922409c98b10 Author: Erez Zilber Date: Wed Apr 16 21:09:35 2008 -0700 IB/iser: Don't change itt endianness The itt field in struct iscsi_data is not defined with any particular endianness. open-iscsi should use it as-is without byte-swapping it. This fixes sparse warnings coming from doing ntohl(hdr->itt). Signed-off-by: Erez Zilber Signed-off-by: Roland Dreier commit 068c4ea1bb9ef733961d3d7a104fa9250ba80087 Author: Jack Morgenstein Date: Wed Apr 16 21:09:35 2008 -0700 IB/mlx4: Update module version and release date The mlx4_ib driver is stable enough for production use, so bump the version number to 1.0 to indicate this. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 9fdd5e5bf682130d1e1dd83d06e99eeafa645c0c Author: Roland Dreier Date: Wed Apr 16 21:09:35 2008 -0700 IPoIB: Handle case when P_Key is deleted and re-added at same index If a P_Key is deleted and then re-added at the same index, then IPoIB gets confused because __ipoib_ib_dev_flush() only checks whether the index is the same without checking whether the P_Key was present, so the interface is stopped when the P_Key is deleted, but the event when the P_Key is re-added gets ignored and the interface never gets restarted. Also, switch to using ib_find_pkey() instead of ib_find_cached_pkey() everywhere in IPoIB, since none of the places that look for P_Keys are in a fast path or in non-sleeping context, and in general we want to kill off the whole caching infrastructure eventually. This also fixes consistency problems caused because some IPoIB queries were cached and some were uncached during the window where the cache was not updated. Thanks to Venkata Subramonyam for debugging this problem and testing this fix. Signed-off-by: Roland Dreier commit d97c51707d7d0716881be84ffd2100449852e44b Author: Erez Zilber Date: Wed Apr 16 21:09:35 2008 -0700 IB/iser: Release connection resources on RDMA_CM_EVENT_DEVICE_REMOVAL event When a RDMA_CM_EVENT_DEVICE_REMOVAL event is raised, iSER should release the connection resources. This is necessary when the IB HCA module is unloaded while open-iscsi is still running. Currently, iSER just BUG()s. Signed-off-by: Erez Zilber Signed-off-by: Roland Dreier commit 4ff08a76bce3ed5f7d109c646dcfc474d7946213 Author: Eli Cohen Date: Wed Apr 16 21:09:35 2008 -0700 IB/mlx4: Fix incorrect comment mlx4 hardware does not support external DDR memory. Moreover, UAR area (BAR 2) can change depending on FW version. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 4dc51b32582d45cb7e8322d750ffe0e6d82b506d Author: Eli Cohen Date: Wed Apr 16 21:09:35 2008 -0700 IB/mlx4: Fix race when detaching a QP from a multicast group When detaching the last QP from an MCG entry, we need to make sure that at any time, there will be no entry with zero number of QPs which is linked to the list of the MCGs of the corresponding hash index. So don't write back the MCG entry if we are removing the last QP; just unlink the entry. Also, remove an unnecessary MCG read when attaching a QP requires allocation of a new entry in the AMGM. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit c83b5b1cb2b050c7a9054f330598df99c31abb98 Author: Stefan Roscher Date: Wed Apr 16 21:09:35 2008 -0700 IB/ehca: Support all ibv_devinfo values in query_device() and query_port() Also, introduce a few inline helper functions to make the code more readable. Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit 4cd1e5eb3cbe6e0cc934959770b4c60eac6ecf66 Author: Roland Dreier Date: Wed Apr 16 21:09:34 2008 -0700 RDMA/nes: Free IRQ before killing tasklet Move the free_irq() call in nes_remove() to before the tasklet_kill(); otherwise there is a window after tasklet_kill() where a new interrupt can be handled and reschedule the tasklet, leading to a use-after-free crash. Cc: Signed-off-by: Roland Dreier commit 940801b27e021b3494a44bc93be3c73fadbe4c2f Author: Jack Morgenstein Date: Wed Apr 16 21:09:34 2008 -0700 IB/mthca: Update module version and release date The ib_mthca driver has been stable for a while, so bump the version number to 1.0 to indicate this. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 0df67030958bad07c3f82f392e3ffb785c56e48d Author: Dotan Barak Date: Wed Apr 16 21:09:34 2008 -0700 IB/mlx4: Update QP state if query QP succeeds If the QP was moved to another state (such as SQE) by the hardware, then after this change the user won't have to set the IBV_QP_CUR_STATE mask in order to execute modify QP in order to recover from this state. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit 5121df3ae45731ce98374a1b0b4d48f072643f42 Author: Dotan Barak Date: Wed Apr 16 21:09:34 2008 -0700 IB/mthca: Update QP state if query QP succeeds If the QP was moved to another state (such as SQE) by the hardware, then after this change the user won't have to set the IBV_QP_CUR_STATE mask in order to execute modify QP in order to recover from this state. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit 9285faa1e7c8ffcc8901c40f6e1cc06d93e92431 Author: Tom Tucker Date: Wed Apr 16 21:09:34 2008 -0700 RDMA/amso1100: Add check for NULL reply_msg in c2_intr() Fix a place where we might dereference a NULL pointer; this fixes Coverity CID 1392. On inspection I also found a place where we could attempt to kmem_cache_free() a NULL pointer, so fix this too. Signed-off-by: Tom Tucker Signed-off-by: Roland Dreier commit bbf8eed1a0f8949f7385146624f736f829992a70 Author: Vladimir Sokolovsky Date: Wed Apr 16 21:09:33 2008 -0700 IB/mlx4: Add support for resizing CQs Signed-off-by: Vladimir Sokolovsky Signed-off-by: Roland Dreier commit 3fdcb97f0b8d8a29117dc36acd0b15965d2a2160 Author: Eli Cohen Date: Wed Apr 16 21:09:33 2008 -0700 IB/mlx4: Add support for modifying CQ moderation parameters Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 28d52b3cd8d48ef0ff77d4a8a7a21fc2816bb0a5 Author: Eli Cohen Date: Wed Apr 16 21:09:33 2008 -0700 IPoIB: Support modifying IPoIB CQ event moderation This can be used to tune at run time the parameters controlling the event (interrupt) generation rate and thus reduce the overhead incurred by handling interrupts resulting in better throughput. Since IPoIB uses a single CQ for both RX and TX, RX is chosen to dictate configuration for both RX and TX. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 2dd5716227878d5950988514a2cbabf72f7fc888 Author: Eli Cohen Date: Wed Apr 16 21:09:33 2008 -0700 IB/core: Add support for modify CQ Add support for modifying CQ parameters for controlling event generation moderation. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 82c24c18afc5e1c2a955bdc2762b19721283365c Author: Eli Cohen Date: Wed Apr 16 21:09:32 2008 -0700 IPoIB: Add basic ethtool support Just add the infrastructure so we can add functionality later. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 9b1f38515c41a5f13021e15b50b6558db236d6d5 Author: Jack Morgenstein Date: Wed Apr 16 21:09:32 2008 -0700 mlx4_core: Increase max number of QPs to 128K With the advent large clusters which utilize multicore hosts, 64K QPs is not enough. We should increase the default maximum for QPs to 128K. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 139b2db7951ed0c808884cfebca02a884aebe0c3 Author: Roland Dreier Date: Wed Apr 16 21:09:32 2008 -0700 RDMA/amso1100: Add support for "send with invalidate" work requests Handle IB_WR_SEND_WITH_INV work requests. This resurrects a patch sent long ago by Mikkel Hagen . Signed-off-by: Roland Dreier commit 0f39cf3d54e67a705773fd0ec56ca3dcd3e9272f Author: Roland Dreier Date: Wed Apr 16 21:09:32 2008 -0700 IB/core: Add support for "send with invalidate" work requests Add a new IB_WR_SEND_WITH_INV send opcode that can be used to mark a "send with invalidate" work request as defined in the iWARP verbs and the InfiniBand base memory management extensions. Also put "imm_data" and a new "invalidate_rkey" member in a new "ex" union in struct ib_send_wr. The invalidate_rkey member can be used to pass in an R_Key/STag to be invalidated. Add this new union to struct ib_uverbs_send_wr. Add code to copy the invalidate_rkey field in ib_uverbs_post_send(). Fix up low-level drivers to deal with the change to struct ib_send_wr, and just remove the imm_data initialization from net/sunrpc/xprtrdma/, since that code never does any send with immediate operations. Also, move the existing IB_DEVICE_SEND_W_INV flag to a new bit, since the iWARP drivers currently in the tree set the bit. The amso1100 driver at least will silently fail to honor the IB_SEND_INVALIDATE bit if passed in as part of userspace send requests (since it does not implement kernel bypass work request queueing). Remove the flag from all existing drivers that set it until we know which ones are OK. The values chosen for the new flag is not consecutive to avoid clashing with flags defined in the XRC patches, which are not merged yet but which are already in use and are likely to be merged soon. This resurrects a patch sent long ago by Mikkel Hagen . Signed-off-by: Roland Dreier commit e7eacd36865ae0707f5efae8e4dda421ffcd1b66 Author: Ralph Campbell Date: Wed Apr 16 21:09:32 2008 -0700 IB/ipath: Update copyright dates for files changed in 2008 Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 124b4dcb1dd3a6fb80051f1785117a732d785f70 Author: Dave Olson Date: Wed Apr 16 21:09:32 2008 -0700 IB/ipath: add calls to new 7220 code and enable in build This patch adds the initialization calls into the new 7220 HCA files, changes the Makefile to compile and link the new files, and code to handle send DMA. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit bb9171448deb1f7ece27674e2e431e4f267fd453 Author: Arthur Jones Date: Wed Apr 16 21:09:31 2008 -0700 IB/ipath: Misc changes to prepare for IB7220 introduction The patch adds a number of minor changes to support newer HCAs: - New send buffer control bits - New error condition bits - Locking and initialization changes - More send buffers Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 8babfa4fb9bfe93d57c700410a4f8be9fbd3edd7 Author: Arthur Jones Date: Wed Apr 16 21:09:31 2008 -0700 IB/ipath: User mode send DMA A new file which allows the IBA7220 send DMA engine to be used from userland. The routines here are not linked in yet, that will happen in a follow-on patch... Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 909c0faa8fd8a68fab34f099fe8469e608d8b362 Author: Arthur Jones Date: Wed Apr 16 21:09:31 2008 -0700 IB/ipath: User mode send DMA header file A new header file which allows the IBA7220 send DMA engine to be used from userland. The definitions here are not used yet, that will happen in a follow-on patch... Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit f7a60d71af49d7d23d8b827833e4258eba00479d Author: John Gregor Date: Wed Apr 16 21:09:31 2008 -0700 IB/ipath: Add code for IBA7220 send DMA The IBA7220 HCA has a new feature to DMA data to the on chip send buffers instead of or in addition to the host CPU doing the data transfer. This patch adds code to support the send DMA queue. Signed-off-by: John Gregor Signed-off-by: Roland Dreier commit 2c19643563aed5593c62525e9941a47e56273ccf Author: Ralph Campbell Date: Wed Apr 16 21:09:31 2008 -0700 IB/ipath: Add IBA7220-specific SERDES initialization data This patch adds binary data to initialize the IB SERDES. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit ab0fb2e0490e5e453a02ad72fd3529ce1561e1c6 Author: Michael Albaugh Date: Wed Apr 16 21:09:31 2008 -0700 IB/ipath: Support for SerDes portion of IBA7220 The control and initialization of the SerDes blocks of the IBA7220 is sufficiently complex to merit a separate file. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 843e6ab489cb5a2fd5df45bed1254812bc8ed8fa Author: Ralph Campbell Date: Wed Apr 16 21:09:30 2008 -0700 IB/ipath: HCA-specific code to support IBA7220 This patch adds the HCA-specific code for the IBA7220 HCA. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit dd042d59c18b2f26375494af7f5b6d1499acd2bb Author: Michael Albaugh Date: Wed Apr 16 21:09:30 2008 -0700 IB/ipath: Isolate 7220-specific content This patch adds a new ASIC-specific header file for the HCAs using the IBA7220. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit afce688ba968723a9e281b141bf7b0ab43a36968 Author: Ralph Campbell Date: Wed Apr 16 21:09:30 2008 -0700 IB/ipath: Header file changes to support IBA7220 This is part of a patch series to add support for a new HCA. This patch adds new fields to the header files. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6bb68835d3eb72cd490056fda75d95493c31461b Author: Ralph Campbell Date: Wed Apr 16 21:09:30 2008 -0700 IB/ipath: Fix up error handling This patch makes chip reset more robust and reduces lock contention between user and kernel TID register updates. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9b436eb4f8ec39238582d4fe11b7d20e9ae3c45b Author: Dave Olson Date: Wed Apr 16 21:09:30 2008 -0700 IB/ipath: Fix check for no interrupts to reliably fallback to INTx Newer HCAs support MSI interrupts and also INTx interrupts. Fix the code so that INTx can be reliably enabled if MSI interrupts are not working. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 1d7c2e529fb6d4143d294ade7d99e29cb6b3775f Author: Dave Olson Date: Wed Apr 16 21:09:30 2008 -0700 IB/ipath: Enable reduced PIO update for HCAs that support it. Newer HCAs have a threshold counter to reduce the number of DMAs the chip makes to update the PIO buffer availability status bits. This patch enables the feature. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 0ab6b2b9abb692919902edb6606c3b898f2dac17 Author: Dave Olson Date: Wed Apr 16 21:09:29 2008 -0700 IB/ipath: Set LID filtering for HCAs that support it. Whenever the LID is set, notify the HCA specific code so that the appropriate HW registers can be updated. Also log the info on the console at low priority. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit b3e8f541072ec688738abf8de4ef158127a6b5f2 Author: Dave Olson Date: Wed Apr 16 21:09:29 2008 -0700 IB/ipath: Add support for IBTA 1.2 Heartbeat This patch adds code to enable/disable the IBTA 1.2 heartbeat for testing if the HCA supports it. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 555b203e48faeacc0373eda7bc87db874db37136 Author: Dave Olson Date: Wed Apr 16 21:09:29 2008 -0700 IB/ipath: Make link state transition code ignore (transient) link recovery The hardware-based recovery doesn't need any intervention, and in a few cases we can get a bit confused about state and skip steps such as turning off the link state LED when we consider recovery to be "down". So ignore this transition, and either we recover in hardware, or we transition to down, and will handle it then. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 9355fb6a064723c71e80e9c78de3140b43bfb52d Author: Ralph Campbell Date: Wed Apr 16 21:09:29 2008 -0700 IB/ipath: Add support for 7220 receive queue changes Newer HCAs have a HW option to write a sequence number to each receive queue entry and avoid a separate DMA of the tail register to memory. This patch adds support for these changes. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 2ba3f56eb402672ff83601b5990b219d39577636 Author: Ralph Campbell Date: Wed Apr 16 21:09:29 2008 -0700 IB/ipath: Fix some white space and code style issues This patch makes some white space changes and minor non-functional changes to more closely match the code in OFED-1.3. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit afd9970f957454782795b23c89fd6d7dde973cc0 Author: Michael Albaugh Date: Wed Apr 16 21:09:28 2008 -0700 IB/ipath: Allow old and new diagnostic packet formats This patch checks for old and new format writes to send a packet via the diagnostic interface. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 7ce5eacb45a7c819a6bec6ed486f27db9aab6ab6 Author: Dotan Barak Date: Wed Apr 16 21:09:28 2008 -0700 IB/core: Check optional verbs before using them Make sure that a device implements the modify_srq and reg_phys_mr optional methods before calling them. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit b3b8128fd3b0966830ee90f1162173d07cb496a0 Author: Robert P. J. Day Date: Wed Apr 16 21:09:28 2008 -0700 IB/ipath: Fix time comparison to use time_after_eq() Raw comparison against jiffies will fail if jiffies wraps, although since ipath currently only supports 64-bit architectures, this is rather far-fetched. Still, it's better to use time_after_eq(). Signed-off-by: Robert P. J. Day Signed-off-by: Roland Dreier commit f438000f7a31fad7cfd27f33ad324a250f4cd2df Author: Roland Dreier Date: Wed Apr 16 21:09:28 2008 -0700 IB/mlx4: Micro-optimize mlx4_ib_post_send() Rather than have build_mlx_header() return a negative value on failure and the length of the segments it builds on success, add a pointer parameter to return the length and return 0 on success. This matches the calling convention used for build_lso_seg() and generates slightly smaller code -- eg, on 64-bit x86: add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-22 (-22) function old new delta mlx4_ib_post_send 2023 2001 -22 Signed-off-by: Roland Dreier commit b832be1e4007f4a54954ec68bd865ff05d6babca Author: Eli Cohen Date: Wed Apr 16 21:09:27 2008 -0700 IB/mlx4: Add IPoIB LSO support Add TSO support to the mlx4_ib driver. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 40ca1988e03c001747d0b4cc1b25cf38297c9f9e Author: Eli Cohen Date: Wed Apr 16 21:09:27 2008 -0700 IPoIB: Add LSO support For HCAs that support TCP segmentation offload (IB_DEVICE_UD_TSO), set NETIF_F_TSO and use HW LSO to offload TCP segmentation. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit c93570f23a98c633570397aedc6d1808f5d5846a Author: Eli Cohen Date: Wed Apr 16 21:09:27 2008 -0700 IB/core: Add IPoIB UD LSO support LSO (large send offload) allows the networking stack to pass SKBs with data size larger than the MTU to the IPoIB driver and have the HCA HW fragment the data to multiple MSS-sized packets. Add a device capability flag IB_DEVICE_UD_TSO for devices that can perform TCP segmentation offload, a new send work request opcode IB_WR_LSO, header, hlen and mss fields for the work request structure, and a new IB_WC_LSO completion type. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit b846f25aa2a353355aec5202fe4dbdc6674dfc64 Author: Eli Cohen Date: Wed Apr 16 21:09:27 2008 -0700 IB/core: Add creation flags to struct ib_qp_init_attr Add a create_flags member to struct ib_qp_init_attr that will allow a kernel verbs consumer to create a pass special flags when creating a QP. Add a flag value for telling low-level drivers that a QP will be used for IPoIB UD LSO. The create_flags member will also be useful for XRC and ehca low-latency QP support. Since no create_flags handling is implemented yet, add code to all low-level drivers to return -EINVAL if create_flags is non-zero. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit d84e0b28d3a0b41fc574ea50d60522ae0fba75f4 Author: Michael Albaugh Date: Wed Apr 16 21:09:27 2008 -0700 IB/ipath: EEPROM support for 7220 devices, robustness improvements, cleanup Add support for reading newer card's EEPROMs while continuing to support older EEPROMs. Also, add support for the temperature sensor if present. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit d98b1937768c9f4e4420bd25406e5f0304d224bb Author: Ralph Campbell Date: Wed Apr 16 21:09:27 2008 -0700 IB/ipath: Use PIO buffer for RC ACKs This reduces the latency for RC ACKs when a PIO buffer is available. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit c4b4d16e090e1b68d1d4d20a28757070982b9725 Author: Ralph Campbell Date: Wed Apr 16 21:09:26 2008 -0700 IB/ipath: Make send buffers available for kernel if not allocated to user A fixed partitioning of send buffers is determined at driver load time for user processes and kernel use. Since send buffers are a scarce resource, it makes sense to allow the kernel to use the buffers if they are not in use by a user process. Also, eliminate code duplication for ipath_force_pio_avail_update(). Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 4330e4dad780467d930b394b5119c0218a1e2dbe Author: Michael Albaugh Date: Wed Apr 16 21:09:26 2008 -0700 IB/ipath: Prevent link-recovery code from negating admin disable The link can be put in LINKDOWN_DISABLE state either locally or via a MAD. However, the link-recovery code will take it out of that state as a side-effect of attempts to clear SerDes/XGXS issues. We add a flag to indicate "link is down on purpose, leave it alone." Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 8c641d4b5f6653b6c486eab4d8e8d59539066f31 Author: Ralph Campbell Date: Wed Apr 16 21:09:26 2008 -0700 IB/ipath: Remove some useless (void) casts Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 928e3e4bb9b0d3172bdb44d49b604fa6601078bb Author: Ralph Campbell Date: Wed Apr 16 21:09:26 2008 -0700 IB/ipath: Change the module author Update the module author to the current email address. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 4e96a774407b98c8095cfbd6c7202cb7fdf0d7be Author: Robert P. J. Day Date: Wed Apr 16 21:09:26 2008 -0700 RDMA/nes: Use more concise list_for_each_entry() In list iteration code, you normally wouldn't be calling "container_of()" directly anyway, you'd be invoking "list_entry()". But you don't even need that here, "list_for_each_entry()" is fine. Signed-off-by: Robert P. J. Day Acked-by: Glenn Streiff Signed-off-by: Roland Dreier commit 157de229468b2a63bbc8f9a7d37c70a2c9731ac8 Author: Robert P. J. Day Date: Wed Apr 16 21:09:26 2008 -0700 IB: Use shorter list_splice_init() for brevity Convert list_splice() + INIT_LIST_HEAD() to the equivalent list_splice_init() Signed-off-by: Robert P. J. Day Signed-off-by: Roland Dreier commit 10f32065a25d22bf7894fa39ff2ce8492922086a Author: Julia Lawall Date: Wed Apr 16 21:09:25 2008 -0700 RDMA/iwcm: Test rdma_create_id() for IS_ERR rather than 0 The function rdma_create_id() always returns either a valid pointer or a value made with ERR_PTR, so its result should be tested with IS_ERR, not with a test for 0. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @a@ expression E, E1; statement S,S1; position p; @@ E = rdma_create_id(...) ... when != E = E1 if@p (E) S else S1 @n@ position a.p; expression E,E1; statement S,S1; @@ E = NULL ... when != E = E1 if@p (E) S else S1 @depends on !n@ expression E; statement S,S1; position a.p; @@ * if@p (E) S else S1 // Signed-off-by: Julia Lawall Signed-off-by: Roland Dreier commit 4d43653263084bff55691ae9cbb3c53c9044f064 Author: Roland Dreier Date: Wed Apr 16 21:09:25 2008 -0700 RDMA/nes: Remove session_id from nes_cm stuff The session_id members of struct nes_cm_listener and struct nes_cm_node are write-only, so remove them. This allows the session_id member of struct nes_cm_core to be removed as well, since it is only used to write those other session_id values. This removes the use of current->tgid (which will be deprecated) pointed out by Pavel Emelyanov . Acked-by: Glenn Streiff Signed-off-by: Roland Dreier commit 782203884eea5f610444bcf4ed1b4af0010911eb Author: Roland Dreier Date: Wed Apr 16 21:09:25 2008 -0700 IB/ipath: Fix PCI config write size used to clear linkctrl error bits In slave_or_pri_blk(), pci_write_config_byte() is used to write a 16-bit quantity to clear linkctrl CRC error bits. This is clearly a bug and also causes the warning drivers/infiniband/hw/ipath/ipath_iba6110.c: In function 'slave_or_pri_blk': drivers/infiniband/hw/ipath/ipath_iba6110.c:849: warning: overflow in implicit constant conversion Fix this by using pci_write_config_word() instead. Acked-by: Ralph Campbell Signed-off-by: Roland Dreier commit 10a8c3cd0157948ba421b3b69b89edfba6ddb4a5 Author: Ralph Campbell Date: Wed Apr 16 21:09:25 2008 -0700 IB/ipath: Fix sanity checks on QP number of WRs and SGEs The receive queue number of WRs and SGEs shouldn't be checked if a SRQ is specified. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 69bd74c6968f45a864a394338a63da4b768da6ec Author: Ralph Campbell Date: Wed Apr 16 21:09:25 2008 -0700 IB/ipath: Remove useless comments Remove useless comment about list removal since locks are held and the code checks that the QP is on the list before removing it. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 72708a0a2b60e83255631f2557a85ac7daf33fac Author: Dave Olson Date: Wed Apr 16 21:09:25 2008 -0700 IB/ipath: HW workaround for case where chip can send but not receive Workaround a QLE7140 problem that in rare cases causes flow control problems after link recovery by forcing a link retrain after recovery. A module parameter is provided to control the behavior in case it causes problems. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit a51a2513a8cb201f02d83c37e106909938d2f761 Author: Ralph Campbell Date: Wed Apr 16 21:09:24 2008 -0700 IB/ipath: Add code to support multiple link speeds and widths This patch adds code to get/set portinfo to support multiple link speeds and widths. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 58411d1c012dca53ec9107bd98acb63f648e2435 Author: John Gregor Date: Wed Apr 16 21:09:24 2008 -0700 IB/ipath: Head of Line blocking vs forward progress of user apps There's a conflict between our need to quiesce PSM-based applications to avoid HoL blocking when the IB link goes down and the apps' desire to remain running so that their quiescence timout mechanism can keep running. The compromise is to STOP the processes for a fixed period of time and then alternate between CONT and STOP until the link is again active. If there are poor interactions with subnet manager configuration at a given site, the interval can be adjusted via a module paramter. Signed-off-by: John Gregor Signed-off-by: Roland Dreier commit 6be979d71a5e8720c8560cc58713407947e5f691 Author: Ralph Campbell Date: Wed Apr 16 21:09:24 2008 -0700 IB/ipath: Make debug error message match the constraint that is checked for Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit c1702be20fd44f4c878a182be1559c2242916820 Author: Ralph Campbell Date: Wed Apr 16 21:01:14 2008 -0700 IB/ipath: Don't try to handle freeze mode HW errors if diagnostic mode Don't try to handle freeze mode HW errors if the driver is in diagnostic mode since some tests can cause errors that shouldn't be processed. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit b84888215310002e3d266d5a7fe458bb224f6881 Author: Arthur Jones Date: Wed Apr 16 21:01:13 2008 -0700 IB/ipath: Fix link up LED display The check for link up was incorrect, thus setting the LED display inconsistently with the link state. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 8bae0ff2590c0b709d217da4466c6dba0b6b885c Author: Ralph Campbell Date: Wed Apr 16 21:01:13 2008 -0700 IB/ipath: Fix error recovery for send buffer status after chip freeze mode The error recovery code for updating the driver's cached status information for which send buffers are busy or free wasn't updated for IBA7220. It should be similar to the initialization code in enable_chip(). Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 0349d1662027fee36e590640b3b05fd979ae26f8 Author: Ralph Campbell Date: Wed Apr 16 21:01:13 2008 -0700 IB/ipath: Fix byte order of pioavail in handle_errors() Fix byte order of value assigned to pioavailshadow. This bug was detected by sparse endianness warnings. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit c263ff65d5936113cfcbb8139d34122361e2306e Author: Roland Dreier Date: Wed Apr 16 21:01:13 2008 -0700 IB/mthca: Avoid integer overflow when allocating huge ICM table In mthca_alloc_icm_table(), the number of entries to allocate for the table->icm array is computed by calculating obj_size * nobj and then dividing by MTHCA_TABLE_CHUNK_SIZE. If nobj is really large, then obj_size * nobj may overflow and the division may get the wrong value (even a negative value). Fix this by calculating the number of objects per chunk and then dividing nobj by this value instead. This patch allows crazy configurations such as loading ib_mthca with the module parameter num_mtt=33554432 to work properly. Signed-off-by: Roland Dreier commit 19773539d6369c54fbb0c870de0c75417b0020d1 Author: Roland Dreier Date: Wed Apr 16 21:01:13 2008 -0700 IB/mthca: Avoid integer overflow when dealing with profile size mthca_make_profile() returns the size in bytes of the HCA context layout it creates, or a negative value if an error occurs. However, the return value is declared as u64 and the memfree initialization path casts this value to int to test if it is negative. This makes it think incorrectly than an error has occurred if the context size happens to be bigger than 2GB, since this turns into a negative int. Fix this by having mthca_make_profile() return an s64 and testing for an error by checking whether this 64-bit value itself is negative. Signed-off-by: Roland Dreier commit f4f82994d1ea0cd01058a245985f1eb5e569e6d3 Author: Hoang-Nam Nguyen Date: Wed Apr 16 21:01:13 2008 -0700 IB/ehca: Remove tgid checking Pavel Emelyanov mentioned in that the task_struct->tgid field is about to become deprecated, so the uses in the ehca driver need to be fixed up. However, all the uses in ehca are for some object ownership checking that is not really needed, and anyway is implementing a policy that should be in common code rather than a low-level driver. So just remove all the checks. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 1e89a1946cfd906d12eff437d2a76b3aa7f5e731 Author: David Dillow Date: Wed Apr 16 21:01:12 2008 -0700 IB/srp: Enforce protocol limit on srp_sg_tablesize The current SRP initiator will allow unlimited s/g entries in the indirect descriptors lists, but the entry count field in the SRP_CMD request is 8 bits, so setting srp_sg_tablesize too large will open the possibility of wrapping the count and generating invalid requests. Clamp srp_sg_tablesize to the protocol limits to prevent surprises. Reported by Martin W. Schlining III . Signed-off-by: David Dillow Signed-off-by: Roland Dreier commit 826d801009fb3c82832f2d92149446cce354bf61 Author: Dave Olson Date: Wed Apr 16 21:01:12 2008 -0700 IB/ipath: Enable 4KB MTU Enable use of 4KB MTU. Since the driver uses more pinned memory for receive buffers when the 4KB MTU is enabled, whether or not the fabric supports that MTU, add a "mtu4096" module parameter that can be used to limit the MTU to 2KB when it is known that 4KB MTUs can't be used anyway. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 5d1ce03dd335abaef50dc615137cac2a22c5cee0 Author: Dave Olson Date: Wed Apr 16 21:01:12 2008 -0700 IB/ipath: Shared context code needs to be sure device is usable The code was checking if units are present, but not that present units were usable (link up, etc.) Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 6ca2abf4c02fb3e35247a985c2b6f5834e995033 Author: Arthur Jones Date: Wed Apr 16 21:01:12 2008 -0700 IB/ipath: Provide I/O bus speeds for diagnostic purposes Modern I/O buses like PCIe and HT can be configured for multiple speeds and widths. When an ipath HCA seems to have lower than expected performance, it is very useful to be able to display what the driver thinks the bus speed is. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit f2ceb4929ab543e54efaadcad215a105df684f36 Author: Dave Olson Date: Wed Apr 16 21:01:12 2008 -0700 IB/ipath: Make some constants chip-specific, related cleanup This patch makes some constants chip-specific, and makes some related changes to prepare for supporting another HCA. Signed-off-by: Dave Olson commit 3dd59e226e01ddb5b041eb0b2e7c7f28b1f730c9 Author: Arthur Jones Date: Wed Apr 16 21:01:11 2008 -0700 IB/ipath: Misc sparse warning cleanup Recent sparse versions and kernel cleanups knock down the false positive rate of the ipath driver code to a point where having it be sparse clean is worthwhile. Here we fixup the sparse warnings. Some of these warnings (and the impetus to run sparse again) are due to work by Roland Dreier. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 680b575f6d1ae8aa39c4d7ee7e40b749d277fa9f Author: Eli Cohen Date: Wed Apr 16 21:01:11 2008 -0700 IB/mthca: Add IPoIB checksum offload support Arbel and Sinai devices support checksum generation and verification of TCP and UDP packets for UD IPoIB messages. This patch checks if the HCA supports this and sets the IB_DEVICE_UD_IP_CSUM capability flag if it does. It implements support for handling the IB_SEND_IP_CSUM send flag and setting the csum_ok field in receive work completions. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 8ff095ec4bce7be943beff3b330562e2f0e42167 Author: Eli Cohen Date: Wed Apr 16 21:01:10 2008 -0700 IB/mlx4: Add IPoIB checksum offload support ConnectX devices support checksum generation and verification of TCP and UDP packets for UD IPoIB messages. This patch checks if the HCA supports this and sets the IB_DEVICE_UD_IP_CSUM capability flag if it does. It implements support for handling the IB_SEND_IP_CSUM send flag and setting the csum_ok field in receive work completions. Signed-off-by: Eli Cohen Signed-off-by: Ali Ayub Signed-off-by: Roland Dreier commit 6046136c742e32d5e6431cdcd8957638d1816821 Author: Eli Cohen Date: Wed Apr 16 21:01:10 2008 -0700 IPoIB: Use checksum offload support if available For HCAs that support checksum offload (ie that set IB_DEVICE_UD_IP_CSUM in the device capabilities flags), have IPoIB set NETIF_F_IP_CSUM and use the HCA to generate and verify IP checksums. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 3371836383d63b627b228875f5ac63023cbf11d2 Author: Harvey Harrison Date: Wed Apr 16 21:01:10 2008 -0700 IB: Replace remaining __FUNCTION__ occurrences with __func__ __FUNCTION__ is gcc-specific, use __func__ instead. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit e8e91f6b4dc1179a70b0d21241b769c0ebfaa129 Author: Roland Dreier Date: Wed Apr 16 21:01:10 2008 -0700 IB/ehca: Make symbols used only in a single source file static Allow the compiler to optimize better and generate smaller code: add/remove: 0/6 grow/shrink: 2/0 up/down: 1528/-1864 (-336) function old new delta .ehca_set_pagebuf 1344 2172 +828 .ehca_probe 2312 3012 +700 ehca_set_pagebuf_phys 24 - -24 ehca_set_pagebuf_fmr 24 - -24 ehca_init_device 24 - -24 .ehca_set_pagebuf_fmr 480 - -480 .ehca_set_pagebuf_phys 512 - -512 .ehca_init_device 800 - -800 Also this fixes warnings like: drivers/infiniband/hw/ehca/ehca_mrmw.c:2015:5: warning: symbol 'ehca_set_pagebuf_fmr' was not declared. Should it be static? Signed-off-by: Roland Dreier commit 1a855fbfb65e0b7b5cce00d7c6a61185ed765edf Author: Roland Dreier Date: Wed Apr 16 21:01:09 2008 -0700 RDMA/nes: Make symbols used only in a single source file static Avoid namespace pollution and allow the compiler to optimize better. Signed-off-by: Roland Dreier commit 71e0957c6291da030e6f89351846225876731df3 Author: Roland Dreier Date: Wed Apr 16 21:01:09 2008 -0700 RDMA/nes: Use proper format and cast to print dma_addr_t On some platforms, eg sparc64, dma_addr_t is not the same size as a pointer, so printing dma_addr_t values by casting to void * and using a %p format generates warnings. Fix this by casting to unsigned long and using %lx instead. This fixes the warnings: drivers/infiniband/hw/nes/nes_verbs.c: In function 'nes_setup_virt_qp': drivers/infiniband/hw/nes/nes_verbs.c:1047: warning: cast to pointer from integer of different size drivers/infiniband/hw/nes/nes_verbs.c:1078: warning: cast to pointer from integer of different size drivers/infiniband/hw/nes/nes_verbs.c:1078: warning: cast to pointer from integer of different size drivers/infiniband/hw/nes/nes_verbs.c: In function 'nes_reg_user_mr': drivers/infiniband/hw/nes/nes_verbs.c:2657: warning: cast to pointer from integer of different size Reported by Andrew Morton . Signed-off-by: Roland Dreier commit 9d84ab9c7e82e7b6b9f8c25794f64f65d021c8fd Author: Roland Dreier Date: Wed Apr 16 21:01:09 2008 -0700 RDMA/nes: Remove unused nes_netdev_exit() function nes_netdev_exit() has no callers, so delete it. Signed-off-by: Roland Dreier commit 5bd8341ce2bb5ef575b3501a8c13f22ae9f0b2ad Author: Roland Dreier Date: Wed Apr 16 21:01:09 2008 -0700 RDMA/nes: Remove redundant NULL check in nes_unregister_ofa_device() nes_unregister_ofa_device() dereferences the nesibdev pointer before testing if it's NULL. Also, the test is doubly redundant because the only caller of nes_unregister_ofa_device() is nes_destroy_ofa_device(), which already tests if nesibdev is NULL. Remove the unnecessary test. This was spotted by the Coverity checker (CID 2190). Signed-off-by: Roland Dreier commit a7dab9e887ce37391f004ffd6ce0ffed7272fd69 Author: Roland Dreier Date: Wed Apr 16 21:01:08 2008 -0700 IB/uverbs: Use alloc_file() instead of get_empty_filp() Christoph Hellwig wants to unexport get_empty_filp(), which is an ugly internal interface. Change the modular user in ib_uverbs_alloc_event_file() to use the better alloc_file() interface; this makes the code cleaner too. Signed-off-by: Roland Dreier commit 1ae5c187acb67c2929428479c23a79c4288f0c68 Author: Roland Dreier Date: Wed Apr 16 21:01:08 2008 -0700 IB/uverbs: Don't store struct file * for event files The file member of struct ib_uverbs_event_file was only used to keep track of whether the file had been closed or not. The only thing we ever did with the value was check if it was NULL or not. Simplify the code and get rid of the need to keep track of the struct file * we allocate by replacing the file member with an is_closed member. Signed-off-by: Roland Dreier commit 37608eea86a358ac6a18df0af55d4f77d08a1f30 Author: Roland Dreier Date: Wed Apr 16 21:01:08 2008 -0700 mlx4_core: Fix confusion between mlx4_event and mlx4_dev_event enums The struct mlx4_interface.event() method was supposed to get an enum mlx4_dev_event, but the driver code was actually passing in the hardware enum mlx4_event values. Fix up the callers of mlx4_dispatch_event() so that they pass in the right type of value, and fix up the event method in mlx4_ib so that it can handle the enum mlx4_dev_event values. This eliminates the need for the subtype parameter to the event method, so remove it. This also fixes the sparse warning drivers/net/mlx4/intf.c:127:48: warning: mixing different enum types drivers/net/mlx4/intf.c:127:48: int enum mlx4_event versus drivers/net/mlx4/intf.c:127:48: int enum mlx4_dev_event Signed-off-by: Roland Dreier commit 26c4fc26d0af9b16a6a234318d15ee0b3896a63d Author: Roland Dreier Date: Wed Apr 16 21:01:08 2008 -0700 RDMA/amso1100: Endian annotate mqsq allocator Signed-off-by: Roland Dreier commit dc544bc9cb8aa91c5d7fc9116a302f88a8a97250 Author: Roland Dreier Date: Wed Apr 16 21:01:08 2008 -0700 RDMA/amso1100: Start of endianness annotation Signed-off-by: Roland Dreier Acked-by: Steve Wise commit d23b9d8ff2fcadc6f2fba83f654a122b9e16f02c Author: Roland Dreier Date: Wed Apr 16 21:01:08 2008 -0700 RDMA/nes: Delete unused variables None of the cqp_reqs_XXX counters were ever used anywhere, and neither was the nics_per_function variable. Signed-off-by: Roland Dreier commit b30db1c186635c72683324ddfd10a387ce449075 Author: Roland Dreier Date: Wed Apr 16 21:01:07 2008 -0700 RDMA/nes: Trivial endianness annotations Fix a couple of htonl() that should really be ntohl(). Signed-off-by: Roland Dreier commit 9cda779cc2d0acf30e0fda67897a14c78b34f5a3 Author: Roland Dreier Date: Wed Apr 16 21:01:07 2008 -0700 RDMA/ucma: Endian annotation Add __force cast of node_guid to __u64, since we are sticking it into a structure whose definition is shared with userspace. Signed-off-by: Roland Dreier commit a88f488857cd2e54789791d2b5e8d116721d5cb7 Author: Roland Dreier Date: Wed Apr 16 21:01:07 2008 -0700 IB/cm: Endianness annotations Mostly update the RB tree comparisons to force __be types to normal integers, but the change to cm_format_sidr_req() is a real fix: param->path->pkey is already __be16. Signed-off-by: Roland Dreier Acked-by: Sean Hefty commit d2ae16d576086bd3e539f4e94f95df4e37ea2419 Author: Roland Dreier Date: Wed Apr 16 21:01:07 2008 -0700 IB/mlx4: Endianness annotations Trivial fixes to stamp_send_wqe(). Signed-off-by: Roland Dreier commit 6358ae25fd0d8cb4eab5e4e152ade8ac406b5278 Author: Roland Dreier Date: Wed Apr 16 21:01:07 2008 -0700 IB/ipath: Fix sparse warning about shadowed symbol Fix drivers/infiniband/hw/ipath/ipath_init_chip.c:526:10: warning: symbol 'val' shadows an earlier one drivers/infiniband/hw/ipath/ipath_init_chip.c:473:6: originally declared here by giving the second val a different name. Signed-off-by: Roland Dreier Acked-by: Arthur Jones commit 6ef6aee2f0ff111a2439b02b9d788097ca82f9d1 Author: Arthur Jones Date: Wed Apr 16 21:01:06 2008 -0700 IB/ipath: Fix sparse warning about pointer signedness There's no reason for the third parameter of ipath_count_units() to be a u32 *, so change it to be an int * instead. This fixes the sparse warning: drivers/infiniband/hw/ipath/ipath_file_ops.c:1654:47: warning: incorrect type in argument 3 (different signedness) drivers/infiniband/hw/ipath/ipath_file_ops.c:1654:47: expected unsigned int [usertype] *maxportsp drivers/infiniband/hw/ipath/ipath_file_ops.c:1654:47: got int * Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit b3d636b0d1b2eb870a55ae196b8f3838e1399554 Author: Roland Dreier Date: Wed Apr 16 21:01:06 2008 -0700 IB: Make struct ib_uobject.id a signed int IDR IDs are signed, so struct ib_uobject.id should be signed. This avoids some sparse pointer signedness warnings. Signed-off-by: Roland Dreier commit edba846af9e1f27bab00d5aebfeef01386e00af0 Author: Roland Dreier Date: Wed Apr 16 21:01:06 2008 -0700 RDMA/cxgb3: IDR IDs are signed Fix sparse warnings about pointer signedness by using a signed int when calling idr_get_new_above(). Signed-off-by: Roland Dreier Acked-by: Steve Wise commit 4b29043921ef021443c5e0d055b7b8dd5df88258 Author: Roland Dreier Date: Wed Apr 16 21:01:06 2008 -0700 RDMA/amso1100: Don't use 0UL as a NULL pointer Write tests for NULL pointers as if (!ptr) instead of if (ptr == 0UL) to fix sparse warnings. Signed-off-by: Roland Dreier Acked-by: Steve Wise commit ca2812111433284024386a8cfd4151651469523e Author: Roland Dreier Date: Wed Apr 16 21:01:04 2008 -0700 mlx4_core: Move opening brace of function onto a new line Signed-off-by: Roland Dreier commit 5d5e815db9651909e435918e46c84dfcbc36154f Author: Roland Dreier Date: Wed Apr 16 21:01:04 2008 -0700 IB/mlx4: Convert "if(foo)" to "if (foo)" Signed-off-by: Roland Dreier commit b39993936d3b192ea088995f7ba882a49e4bf09c Author: Roland Dreier Date: Wed Apr 16 21:01:03 2008 -0700 IB/mthca: Formatting cleanups Fix a few whitespace and other coding style problems. Signed-off-by: Roland Dreier commit 8c95b4773dd8d0415269ffad7301ef96d75be8ee Merge: bcff122... 30b89b0... Author: David S. Miller Date: Wed Apr 16 19:37:51 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6.26 commit bcff122d478b774f4fd5262f35eedebe2f2fb274 Author: Allan Stephens Date: Wed Apr 16 18:22:20 2008 -0700 [TIPC]: Cleanup of TIPC reference table code This patch is a largely cosmetic cleanup of the TIPC reference table code. - The object reference field in each table entry is now single 32-bit integer instead of a union of two 32-bit integers. - Variable naming has been made more consistent. - Error message output has been made more consistent. - Useless #includes have been eliminated. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 0089509826b4997c37f08dfbdfb96ee952096cc9 Author: Allan Stephens Date: Wed Apr 16 18:21:47 2008 -0700 [TIPC]: Optimized initialization of TIPC reference table This patch modifies TIPC's reference table code to delay initializing table entries until they are actually needed by applications. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 4784b7c348779e957c82ba638ba2ada5ad8502d8 Author: Allan Stephens Date: Wed Apr 16 18:21:16 2008 -0700 [TIPC]: Remove inlining of reference table locking routines This patch converts the TIPC reference table locking routines into non-inlined routines, since they are mainly called from non-performance critical areas of TIPC and the added code footprint incurred through inlining can no longer be justified. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 406874a7ccee927049b1c182df69457718b938da Author: Joe Perches Date: Thu Apr 3 10:06:32 2008 -0700 e1000: convert uint16_t style integers to u16 Conglomerate from 4 separate patches from Joe. Signed-off-by: Joe Perches Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 222441a6201f791238320e77eb4ba9528cd3934c Author: Joe Perches Date: Thu Apr 3 10:06:25 2008 -0700 ixgb: convert uint16_t style integers to u16 Conglomerate of 4 separate patches by Joe. Signed-off-by: Joe Perches Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 7dd73bbcc99b755436d8dc4b412d23e92a685f4d Author: Denys Vlasenko Date: Mon Mar 31 01:13:00 2008 +0200 sb1000.c: make const arrays static This patch replaces automatic constant arrays a-la const unsigned char Command0[6] = {0x80, 0x16, 0x00, 0x00, 0x00, 0x00}; with static ones. Size difference for 32bit x86: text data bss dec hex filename 5418 129 0 5547 15ab linux-2.6.inline-ALLYES/drivers/net/sb1000.o 5396 129 0 5525 1595 linux-2.6.followup-ALLYES/drivers/net/sb1000.o Signed-off-by: Denys Vlasenko Signed-off-by: Jeff Garzik commit a8d06342baab56901bfd70c4f66be382d4b9967d Author: Denys Vlasenko Date: Mon Mar 31 01:02:43 2008 +0200 sb1000.c: stop inlining largish static functions drivers/net/sb1000.c has lots of inlined static functions. Mst of them are used at initialization, wait for some hardware register to change (wait using yield, sleep etc), or do slow port-based I/O. Inlining thse "for speed" makes no sense. This patch removes "inline" from biggest static function (regardless of number of callsites - gcc nowadays auto-inlines statics with one callsite). Size difference for 32bit x86: text data bss dec hex filename 6299 129 0 6428 191c linux-2.6-ALLYES/drivers/net/sb1000.o 5418 129 0 5547 15ab linux-2.6.inline-ALLYES/drivers/net/sb1000.o Signed-off-by: Denys Vlasenko Signed-off-by: Jeff Garzik commit aa39432326a91a7b819ec3f8d78b05e04b708ce5 Author: Adrian Bunk Date: Mon Mar 31 02:22:14 2008 +0300 #if 0 netxen_nic_link_ok() This patch #if 0's the no longer used netxen_nic_link_ok(). Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit b1555130c7d7e1d4cc5b7784cd090668db244fc5 Author: Adrian Bunk Date: Mon Mar 31 02:22:18 2008 +0300 make netxen_workq static netxen_workq can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 3caa4af834df519fda0f1ea6af4a5c7abfec98c7 Author: Ursula Braun Date: Tue Apr 1 10:27:00 2008 +0200 qeth: keep ip-address after LAN_OFFLINE failure Problem: If setting of an ip-address fails with LAN_OFFLINE, qeth does not save the ip-address in its internal list of set ip-addresses. qeth recovers after a following STARTLAN event, but cannot set the unsaved ip-address. Solution: save the ip-address in the qeth-maintained list of ip-addresses after a LAN_OFFLINE failure for SETIP. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit b403e685b7c57f7912bae36987433e72c616f418 Author: Frank Blaschka Date: Tue Apr 1 10:26:59 2008 +0200 qeth: core code should alloc headroom for LLC protocol Allocate headroom for TR_HLEN but using only ETH_HLEN causes rx performance degradation. Allocate ETH_HLEN for ethernet and TR_HLEN for token ring (layer 3 mode). Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit d11ba0c40fa8a21511822efee3be8389f94f0431 Author: Peter Tiedemann Date: Tue Apr 1 10:26:58 2008 +0200 qeth: improving debug message handling Improving debug message handling, moving ipa into messages from kernel to dbf, some cleanups and typo fixes. Signed-off-by: Peter Tiedemann Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit b7624ec1cfaa1218320faa00a061b9891ed28997 Author: Frank Blaschka Date: Tue Apr 1 10:26:57 2008 +0200 qeth: layer 3 do not allow to change mac address hw does not allow to change the mac address. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 128837259912087101cd336226abc7ee3e8555b5 Author: Ursula Braun Date: Tue Apr 1 10:26:56 2008 +0200 qeth: CCL-sequence numbers required for protocol ETH_P_802_2 only Symptom: slow CCL response time Problem: non-ETH_P_802_2 packets are not delivered to NDH for CCL. But CCL detects missing sequence numbers, which cause a serious performance problem with CCL. Solution: assign sequence numbers only to 802.2 packets. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 922dc0624ea02905e33a7fe1440f8cd157f9a4e5 Author: Ursula Braun Date: Tue Apr 1 10:26:55 2008 +0200 qeth: set lan_online flag after a received STARTLAN Problem: A STARTLAN command from the adapter may arrive while a qeth recovery is currently running with a failed qeth STARTLAN. Usually qeth schedules a recovery when receiving a STARTLAN command from the adapter. But another recovery scheduled while a recovery is already running never starts. Thus the qeth-administered lan_online flag remains zero in this scenario, even though the adapter-STARTLAN has happened. Solution: Set lan_online flag for a received STARTLAN from the adapter in case scheduled recovery does not start. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 508b3c4f71dc348f8b68f1b4ea3aa0d115f0199d Author: Ursula Braun Date: Tue Apr 1 10:26:54 2008 +0200 qeth: allow qdio queue element addresses > 2GB OSA-adapters do not have an address limitation for the qdio queue structures except the MAX storage level of the current processor. And due to a recent z/VM APAR there is no longer a restriction to allocate qdio structures below 2 GB. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 2d921c321ca670201abe9eff5e53585c39e68f5e Author: Ursula Braun Date: Tue Apr 1 10:26:53 2008 +0200 qeth: improve ip_list administration after deregister failures 1. ip_list handling after deregister failure of multicast address: If error code "MC Address not found" is returned do not re-add multicast address to ip_list. For other error codes readd multicast address at the end of function qeth_delete_all_mc. 2. ip_list handling after deregister failure or normal ip address: If error code "IP Address not found" is returned do not re-add multicast address to ip list. This is especially important in IP address takeover scenarios, to enable re-takeover of a taken over IP address. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit cef8c793156402c1894776f09d75984f7748cdff Author: Bruce Allan Date: Wed Apr 2 13:48:23 2008 -0700 e1000e: reformat register test code, fix some minor initialization The register tests should be run with all the proper flags enabled to maximize the test coverage code and make sure we are as close as we can get to testing regular traffic. Reformat the code for readability. Minor cleanups in the descriptor ring setup. Signed-off-by: Bruce Allan Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 69e3fd8ccc3d382b4ef72cade817ccd121d8911a Author: Jeff Kirsher Date: Wed Apr 2 13:48:18 2008 -0700 e1000e: rename a few functions Several minor cosmetic function renames. Signed-off-by: Jeff Kirsher Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit e9ec2c0f4bfbe0632b22a2c0b74d5e1e96aeab66 Author: Jeff Kirsher Date: Wed Apr 2 13:48:13 2008 -0700 e1000e: Make arrays out of these Rx/Tx registers With multiple queues coming into the code these base control registers need to be made into arrays. Signed-off-by: Jeff Kirsher Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 8d7c294cae6fd1474d88267810d1965f60a903af Author: Jeff Kirsher Date: Wed Apr 2 13:48:07 2008 -0700 e1000e: limit EEPROM size accesses Signed-off-by: Jeff Kirsher Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 2723b019214c8787ee2fb54dacacfd112d2e5bf4 Author: Stephen Hemminger Date: Wed Apr 2 10:13:12 2008 -0700 sc92031: use netdev_alloc_skb Use netdev_alloc_skb since it handles any NUMA node memory localtion issues and sets skb->dev. Since device driver was not setting skb->dev, I bet filter rules based on device would not work. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 26a17b7bbb36a8552d531bc1ad08472fb5aa3007 Author: Stephen Hemminger Date: Wed Apr 2 10:11:11 2008 -0700 sc92031: start transmit return value bugfix Any negative return value from start_xmit is interpreted as NETDEV_TX_LOCK which is not what this driver wants. It should return 0 (NETDEV_TX_OK) when it consumes a packet. Also, use skb_padto() as the generic way to pad small frames. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 9c28eaea90aef8db20004d29f924ad3059d9704e Author: Stephen Hemminger Date: Wed Apr 2 10:11:20 2008 -0700 sc92031: use net_device stats Statistics structure is available for use in net_device structure. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 10c6462090cccb643f31e26a14cb933bc31d8666 Author: Peter Horton Date: Tue Mar 25 12:39:09 2008 +0100 [netdrvr] tulip: Better MWI workaround for 21143 rev 65 chip errata This patch works around the MWI bug on the DC21143 rev 65 Tulip by ensuring that the receive buffers don't end on a cache line boundary (as documented in the errata). This patch is required for the MIPS based Cobalt Qube/RaQ as supporting the extra PCI commands seems to reduce the chance of a hard lockup between the Tulip and the PCI bridge. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit 48dd59e398455b58910910bc272e0da85f11bd98 Author: Jeff Garzik Date: Wed Apr 16 20:37:24 2008 -0400 [netdrvr] tulip/winbond-840: don't let tulip.h symbol stomp ours winbond-840 shares tulip.h with the tulip driver, because they share many (but not all) of the same register definitions. This is useful for the register definitions, but not helpful when it comes to symbols that are shared among the tulip driver's C modules, but not meant to be shared outside that one driver. Thus, PKT_BUF_SZ is a symbol internal to tulip, but it was intruding upon a similar symbol in winbond-840's namespace. This was not a problem as long as the two symbols had the same value, but upcoming patches result in differing symbol values. Signed-off-by: Jeff Garzik commit dc13b385999f163dc30c73d66f2ac6d67410528d Author: Joe Perches Date: Thu Apr 10 14:39:30 2008 -0700 drivers/net/bonding/bond_main.c - remove unnecessary #define bond_main.c already #includes Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit c5e38a949bfa11d10f73927fbf4fe66b73bc3001 Author: Andy Fleming Date: Wed Apr 9 19:38:27 2008 -0500 phy: Clean up header style Multi-line comments weren't all CodingStyle compliant Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit 9d9326d3bc0ea9a8bbe40bf3e5e66c7b9858caa0 Author: Andy Fleming Date: Wed Apr 9 19:38:13 2008 -0500 phy: Change mii_bus id field to a string Having the id field be an int was making more complex bus topologies excessively difficult. For now, just convert it to a string, and change all instances of "bus->id = val" to snprintf(id, MII_BUS_ID_LEN, "%x", val). Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit d080cd6301e107e79c6a0fc654319f8979f70549 Author: Dai Haruki Date: Wed Apr 9 19:37:51 2008 -0500 gianfar: Support NAPI for TX Frames Poll the completed TX frames in gfar_poll(). This prevents the tx completion interrupt from interfering with processing of received frames. We also disable hardware rx coalescing when NAPI is enabled. Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit 0b50d753874ad4843d305bf841ba5e28fc0f0ce7 Author: Ishizaki Kou Date: Fri Apr 11 12:33:53 2008 +0900 spidernet: revise link status logging This patch revises the logging for link informations of spidernet. - The link down message is too verbose because auto-negotiation timeout occurs periodically while an ethernet cable is not connected. - We want to see the link result, and we think it should be displayed. Signed-off-by: Kou Ishizaki Acked-by: Jens Osterkamp Signed-off-by: Jeff Garzik commit 9a11fcb5215d6ecade9aca1f1fba272746a3882d Author: Ishizaki Kou Date: Fri Apr 11 12:32:30 2008 +0900 spidernet: fix error interrupt handling In addition to the value of GHIINT0STS, spidernet interrupt handler should check the values of GHIINT1STS/GHIINT2STS registers at the beginning of spider_net_interrupt() so as not to drop error interrupts. GHIINT1STS/GHIINT2STS registers indicates some of erroneous conditions in spidernet, and a few bits of GHIINT0STS register reflects these conditions. But GHIINT0MSK masks these bits, so you should check these conditions by reading GHIINT1STS/GHIINT2STS registers directly. Signed-off-by: Kou Ishizaki Acked-by: Jens Osterkamp Signed-off-by: Jeff Garzik commit fcfcfa205ef59f10d80e67a1762ad27e765d4868 Author: Ishizaki Kou Date: Fri Apr 11 12:30:46 2008 +0900 spidernet: change interrupt masks This patch changes spidernet interrupt masks. - unmask GDAINVAINT. There is an operation to do by spidernet interrupt handler. - mask some interrupts. There are no operations in the interrupt handler. Signed-off-by: Kou Ishizaki Acked-by: Jens Osterkamp Signed-off-by: Jeff Garzik commit 4f2d65c77465e63eec835164aff42c098f32d4ad Author: Ishizaki Kou Date: Fri Apr 11 12:29:20 2008 +0900 spidernet: increase auto-negotiation timeout to 5 seconds This patch extends the timeout for spidernet auto-negotiation. Auto-negotiation often fails to finish in 2 seconds. Signed-off-by: Kou Ishizaki Acked-by: Jens Osterkamp Signed-off-by: Jeff Garzik commit 81971bef4c4fce8571b7a31c09f94ee90eb738ec Author: Ishizaki Kou Date: Fri Apr 11 12:27:34 2008 +0900 spidernet: add missing initialization This patch fixes initialization of "aneg_count" and "medium" fields in spider_net_card to make spidernet driver correctly sets "link status". Signed-off-by: Kou Ishizaki Acked-by: Jens Osterkamp Signed-off-by: Jeff Garzik commit 7f225b427be7d3f2940fdebf5d79f753f38d3083 Author: Atsushi Nemoto Date: Fri Apr 11 00:25:31 2008 +0900 tc35815: Whitespace cleanup Cosmetic TAB/whitespace cleanups and some style cleanups. No functional changes. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit c6686fe3e4c4e8e5104bbec254a5874779eed2bc Author: Atsushi Nemoto Date: Sat Apr 12 00:47:46 2008 +0900 tc35815: Use generic PHY layer Convert the tc35815 driver to use the generic PHY layer in drivers/net/phy. Also rename 'boardtype' to 'chiptype' which hould be more appropriate. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 22adf7e536df12b1793448972c908cb21ea5a17a Author: Atsushi Nemoto Date: Fri Apr 11 00:24:45 2008 +0900 tc35815: Use managed pci iomap helper Use managed pci functions and kill unnecessary volatiles. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit ee79b7fbf0dbb9e6392d0aee73bf722b29e43c40 Author: Atsushi Nemoto Date: Fri Apr 11 00:24:36 2008 +0900 tc35815: Use netdev_priv() Use netdev_priv() instead of dev->priv. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 958eb80bd2a5bb086cd3f42ae06786cfe75b87b8 Author: Atsushi Nemoto Date: Fri Apr 11 00:24:24 2008 +0900 tc35815: Use print_mac() helper Use print_mac() and DECLARE_MAC_BUF(). Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit c201abd9a49e72824d274bc1a91b8ba300e37d9a Author: Atsushi Nemoto Date: Fri Apr 11 00:24:12 2008 +0900 tc35815: Statistics cleanup Use struct net_device_stats embedded in struct net_device. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 4547fa615f2d60e80e11d7ac2488c982bddeabdc Author: Lennert Buytenhek Date: Tue Mar 18 11:40:14 2008 -0700 mv643xx_eth: update copyright Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit e519abb63d689caa2f655adae214f7e255ae2166 Author: Lennert Buytenhek Date: Tue Mar 18 11:39:14 2008 -0700 mv643xx_eth: only print banner once When there are multiple mv643xx_eth silicon blocks in the system, don't print an initialisation message for each and every one of them. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit ec69d651ac4fe726c870a82a2a75c7da69ddf4b9 Author: Lennert Buytenhek Date: Tue Mar 18 11:38:05 2008 -0700 mv643xx_eth: pass port identifier to register accessors Pass a struct mv643xx_private * to the register accessor functions, as a preparation for having multiple mv643xx_eth silicon blocks. (Since this causes some 80 column straddling, and the mv_ prefix is useless anyway, rename mv_read to rdl and mv_write to wrl to compensate.) Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit c1b35a28f20c2d6ff8c5a2a035002c06b9f498c9 Author: Lennert Buytenhek Date: Tue Mar 18 11:37:19 2008 -0700 mv643xx_eth: report netdev name in all printks In error and warning printks, always report the netdevice name instead of the port index (the latter has no meaning when there are multiple mv643xx_eth silicon blocks in the system.) Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit afdb57a2499a630d82b234307b1fc928088b9174 Author: Lennert Buytenhek Date: Tue Mar 18 11:36:08 2008 -0700 mv643xx_eth: identify ports by struct mv643xx_private * Instead of identifying individual mv643xx ethernet ports by only their port number, identify them by their struct mv643xx_private *, as just a port number has no meaning when there are multiple mv643xx_eth silicon blocks in the system. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit c0d0f2caa1cd0f015aa42bbdb10cb8913bb95e4e Author: Lennert Buytenhek Date: Tue Mar 18 11:34:34 2008 -0700 mv643xx_eth: various cleanups - Remove unused MV643XX_DEFAULT_[RT]X_QUEUE_SIZE definitions. - Remove ETH_TARGET enum -- it isn't used anywhere in the driver, and isn't even valid for non-mv643xx chip models, as those use different MBUS target IDs. - Clean up comment and control flow in mv643xx_eth_change_mtu(). - Use mp->dev instead of mp->mii.dev in mv643xx_eth_tx_timeout_task(). - Make mv643xx_eth_free_tx_descs() static. - Remove overzealous NULL check in mv643xx_eth_start_xmit(). - Use symbolic NETDEV_TX_* constants in mv643xx_eth_start_xmit(). Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit 4d64e718b46f4eedaf0379e0150de4d28b06b916 Author: Lennert Buytenhek Date: Tue Mar 18 11:32:41 2008 -0700 mv643xx_eth: mp->tx_desc_count needs spinlock protection mv643xx_eth_start_xmit() should check mp->tx_desc_count only inside the mp->lock spinlock. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit 771168494719b90621ac61f9ae68c4af494e418f Author: Kumar Gala Date: Wed Apr 16 23:19:36 2008 +1000 [POWERPC] Remove unused machine call outs When we moved to arch/powerpc we actively tried to avoid using the ppc_md.setup_io_mappings(). Currently no board ports use it so let's remove it to avoid any new boards using it. Also, remove early_serial_map() since we don't even have a call out for it in arch/powerpc. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 5faae2e5d1f53df9dce482032c8486bc3a1feffc Author: Michael Ellerman Date: Wed Apr 16 13:51:49 2008 +1000 [POWERPC] Always add preferred consoles in platforms/pseries/lpar.c There is logic in platforms/peries/lpars.c which checks if the user has specified a console on the command line, and refrains from adding a preferred console entry for the hvc/hvsi console if they have. This trips up if you use "netconsole=foo" on the command line, and has the result that you get _only_ the netconsole, because the hvc device is never added as a preferred console. Worse still if you get the netconsole configuration wrong somehow, you end up with no console at all. As it turns out we don't need to worry about checking the command line. If the user has specified "console=foo", then foo will be set as the preferred console when the command line is parsed in start_kernel(), much later than the pseries code, and so the latter setting will take effect. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 21cf91338fabe649ae3744429e13b61da2a17a6a Author: Michael Ellerman Date: Wed Apr 16 13:51:48 2008 +1000 [POWERPC] Move prototype for find_udbg_vterm() into a header file Move the prototype for find_udbg_vterm() into pseries.h, removing it from setup.c. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 37ddd5d053c57fee798d72fa9c18660f59a9299b Author: Manish Ahuja Date: Sat Apr 12 09:31:52 2008 +1000 [POWERPC] pseries/phyp dump: Reserve a variable amount of space at boot This changes the way we calculate how much space to reserve for the pHyp dump. Currently we reserve 256MB only. With this change, the code first checks to see if an amount has been specified on the boot command line with the "phyp_dump_reserve_size" option, and if so, uses that much. Otherwise it computes 5% of total ram and rounds it down to a multiple of 256MB, and uses the larger of that or 256MB. This is for large systems with a lot of memory (10GB or more). The aim is to have more space available for the kernel on reboot on machines with more resources. Although the dump will be collected pretty fast and the memory released really early on allowing the machine to have the full memory available, this alleviates any issues that can be caused by having way too little memory on very very large systems during those few minutes. Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit af892e0f9fad390669494e389aed29b968ab7fdb Author: Kumar Gala Date: Wed Apr 16 05:52:30 2008 +1000 [POWERPC] Cleanup pgtable-ppc32.h * Removed defines KERNEL_PGD_PTRS & USER_PGD_PTRS since they aren't used anywhere * Changed pmd_page macro to use pfn_to_page so we get proper behavior if ARCH_PFN_OFFSET is set as well if we use a different memory model on ppc32. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit b18796d32a35ca4d996c584c3bb6d0a4f8a7d310 Author: Kumar Gala Date: Wed Apr 16 05:52:29 2008 +1000 [POWERPC] bootwrapper: Use physical address in PHDR for uImage Now that we properly set the physical address in the program header of the vmlinux ELF we can extract it to properly set the load and entry point for u-boot uImages. Before we always hard coded the load & entry point to 0. However there are situations that the kernel may be built with a non-zero physical address. We use objdump to extract the PHDR. We assume that there is only one PHDR in the vmlinux of type LOAD. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 366234f657879aeb7a1e2ca582f2f24f3fae9269 Author: Kumar Gala Date: Wed Apr 16 05:52:28 2008 +1000 [POWERPC] Update linker script to properly set physical addresses We can set LOAD_OFFSET and use the AT attribute on sections and the linker will properly set the physical address of the LOAD program header for us. This allows us to know how the PHYSICAL_START the user configured a kernel with by just looking at the resulting vmlinux ELF. This is pretty much stolen from how x86 does things in their linker scripts. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit d04ceb3fc294ea2c4f538a04343f3a473953a3b0 Author: Kumar Gala Date: Wed Apr 16 05:52:27 2008 +1000 [POWERPC] Move phys_addr_t definition into asm/types.h Moved phys_addr_t out of mmu-*.h and into asm/types.h so we can use it in places that before would have caused recursive includes. For example to use phys_addr_t in we would have included which would have possibly included which includes . Wheeee recursive include. CONFIG_PHYS_64BIT is a bit counterintuitive in light of ppc64 systems and thus the config option is only used for ppc32 systems with >32-bit physical addresses (44x, 85xx, 745x, etc.). Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 4846c5deb9776a7306d0f656ade7505278ac39ba Author: Kumar Gala Date: Wed Apr 16 05:52:26 2008 +1000 [POWERPC] Clean up some linker and symbol usage * PAGE_OFFSET is not always the start of code, use _stext instead. * grab PAGE_SIZE and KERNELBASE from asm/page.h like ppc64 does. Makes the code a bit more common and provide a single place to manipulate the defines for things like kdump. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 09b5e63f827016732d956abb7a4c74a312d20521 Author: Kumar Gala Date: Wed Apr 16 05:52:25 2008 +1000 [POWERPC] Rename __initial_memory_limit to __initial_memory_limit_addr We always use __initial_memory_limit as an address so rename it to be clear. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit edc164d18f6b86b6de134d432de286e6c440c66d Author: Kumar Gala Date: Wed Apr 16 05:52:24 2008 +1000 [POWERPC] Use lowmem_end_addr to limit lmb allocations on ppc32 Now that we have a proper variable that is the address of the top of low memory we can use it to limit the lmb allocations. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 0aef996b37d08757562ecf0bb0c1f6998e634c8b Author: Kumar Gala Date: Wed Apr 16 05:52:23 2008 +1000 [POWERPC] 85xx: Cleanup TLB initialization * Determine the RPN we are running the kernel at runtime rather than using compile time constant for initial TLB * Cleanup adjust_total_lowmem() to respect memstart_addr and be a bit more clear on variables that are sizes vs addresses. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit d7917ba7051e3fd12ebe2d5a09b29fb3a2b38190 Author: Kumar Gala Date: Wed Apr 16 05:52:22 2008 +1000 [POWERPC] Introduce lowmem_end_addr to distinguish from total_lowmem total_lowmem represents the amount of low memory, not the physical address that low memory ends at. If the start of memory is at 0 it happens that total_lowmem can be used as both the size and the address that lowmem ends at (or more specifically one byte beyond the end). To make the code a bit more clear and deal with the case when the start of memory isn't at physical 0, we introduce lowmem_end_addr that represents one byte beyond the last physical address in the lowmem region. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 99c62dd773797b68f3b1ca6bb3274725d1852fa2 Author: Kumar Gala Date: Wed Apr 16 05:52:21 2008 +1000 [POWERPC] Remove and replace uses of PPC_MEMSTART with memstart_addr A number of users of PPC_MEMSTART (40x, ppc_mmu_32) can just always use 0 as we don't support booting these kernels at non-zero physical addresses since their exception vectors must be at 0 (or 0xfffx_xxxx). For the sub-arches that support relocatable interrupt vectors (book-e), it's reasonable to have memory start at a non-zero physical address. For those cases use the variable memstart_addr instead of the #define PPC_MEMSTART since the only uses of PPC_MEMSTART are for initialization and in the future we can set memstart_addr at runtime to have a relocatable kernel. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 1993cbf4ae7d30f9a417e143c1344466f2e2ae2e Author: Kumar Gala Date: Wed Apr 16 05:52:20 2008 +1000 [POWERPC] Provide access to arch/powerpc include path on ppc64 There does not appear to be any reason that we shouldn't just have -Iarch/$(ARCH) on both ppc32 and ppc64 builds. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 38521a23a99232e14d7454ab59d23565c626ea33 Author: Kumar Gala Date: Wed Apr 16 05:52:19 2008 +1000 [POWERPC] Remove Kconfig option BOOT_LOAD Nothing appears to use BOOT_LOAD so remove it as a configurable option. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 3fbe9d413e503aba71258947bf2e22f6de5ffa41 Author: Adrian Bunk Date: Tue Apr 15 00:19:42 2008 +1000 [POWERPC] Add MODULE_LICENSE to powerpc/sysdev/rtc_cmos_setup.c This adds the missing MODULE_LICENSE("GPL"). Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 7f4392cdcc63fea72fc77d14497059267d77d5d0 Author: David Woodhouse Date: Mon Apr 14 02:52:38 2008 +1000 [POWERPC] Efika: Really, don't pretend to be CHRP Fedora 9 works on Efika without the separate 'device-tree supplement', thanks to the kernel's own fixups. With one exception -- because 'CHRP' still appears on the 'machine:' line in /proc/cpuinfo, the installer misdetects the platform and misconfigures yaboot, putting it into a PReP boot partition instead of in the /boot filesystem where the Efika's firmware could find it. The kernel's fixups for Efika already correct one instance of 'chrp', in the 'device_type' property. This fixes it in the 'CODEGEN,description' property too, since that's what's exposed to userspace in /proc/cpuinfo. Signed-off-by: David Woodhouse Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 612212a3f2f053ea68ce9cd16d3deeca7754e8c9 Author: Jochen Friedrich Date: Sat Apr 12 05:22:35 2008 +1000 [POWERPC] i2c: OF helpers for the i2c API This implements various helpers to support OF bindings for the i2c API. Signed-off-by: Jochen Friedrich Acked-by: David S. Miller Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b7ce341585a51a6d65c7a77b6918132a3b360b81 Author: Anton Vorontsov Date: Fri Apr 11 23:06:36 2008 +1000 [POWERPC] Implement support for the GPIO LIB API This implements support for the GPIO LIB API. Two calls are still unimplemented though: irq_to_gpio and gpio_to_irq. Signed-off-by: Anton Vorontsov Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 863fbf4966a7ac301a4077e4a04d73e8abfdd7b2 Author: Anton Vorontsov Date: Fri Apr 11 23:06:45 2008 +1000 [POWERPC] OF helpers for the GPIO API This implements various helpers to support OF bindings for the GPIO LIB API. Previously this was PowerPC specific, but it seems this code isn't arch-dependent anyhow, so let's place it into of/. SPARC will not see this addition yet, real hardware seem to not use GPIOs at all. But this might change: http://www.leox.org/docs/faq_MLleon.html "16-bit I/O port" sounds promising. :-) Signed-off-by: Anton Vorontsov Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit a2879fef7ccd1e0891a8f147c20ce6f1501e373b Author: Benjamin Herrenschmidt Date: Wed Apr 9 17:21:34 2008 +1000 [POWERPC] properly declare onstack completion in iseries veth The iSeries veth driver uses an on-stack struct completion that it initializes using the COMPLETION_INITIALIZER instead of COMPLETION_INITIALIZER_ONSTACK macro, causing problems with lockdep. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e6768a4f392d05bc11ed508d35938932c73aac5a Author: Benjamin Herrenschmidt Date: Wed Apr 9 17:21:28 2008 +1000 [POWERPC] Fixup softirq preempt count This fixes the handling of the preempt count when switching interrupt stacks so that HW interrupt properly get the softirq mask copied over from the previous stack. It also initializes the softirq stack preempt_count to 0 instead of SOFTIRQ_OFFSET, like x86, as __do_softirq() does the increment, and we hit some lockdep checks if we have it twice. That means we do run for a little while off the softirq stack with the preempt-count set to 0, which could be deadly if we try to take a softirq at that point, however we do so with interrupts disabled, so I think we are ok. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7c6352a4699e9a3a2d91b2cddbf3f1048207e904 Author: Benjamin Herrenschmidt Date: Wed Apr 9 17:21:26 2008 +1000 [POWERPC] Initialize paca->current earlier Currently, we initialize the "current" pointer in the PACA (which is used by the "current" macro in the kernel) before calling setup_system(). That means that early_setup() is called with current still "NULL" which is -not- a good idea. It happens to work so far but breaks with lockdep when early code calls printk. This changes it so that all PACAs are statically initialized with __current pointing to the init task. For non-0 CPUs, this is fixed up before use. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 55045d47d7a8c4c61bc0ca6f2fac5087dd598bc3 Author: Ishizaki Kou Date: Mon Mar 17 21:05:18 2008 +1100 [POWERPC] hvcbeat: Fix buffer manipulation This fixes a potential bug at drivers/char/hvc_beat.c. - hvc_put_term_char routine will decrement "rest" variable twice, and forget to advance "buf" pointer by "nlen" bytes. This bug was not hit previously because the output handler in drivers/char/hvc_console.c splits given output into 16 bytes at maximum. Reported-by: Timur Tabi Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 2fe37a6ec933ca7332a8ca8d29e87705116afd3a Author: Ishizaki Kou Date: Fri Mar 14 23:19:34 2008 +1100 [POWERPC] celleb: Coding style cleanup Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit c7cd5b98072f7e04a50415b9501793bd905ecc16 Merge: e92716f... 7132799... Author: Paul Mackerras Date: Thu Apr 17 07:45:35 2008 +1000 Merge branch 'for-2.6.26' of master.kernel.org:/pub/scm/linux/kernel/git/olof/pasemi commit 30b89b0f5e1313c8a5a039abeaa89248b6338d81 Author: Johannes Berg Date: Wed Apr 16 17:43:20 2008 +0200 mac80211: rework scanning to account for probe response/beacon difference This patch reworks the scanning code (ieee80211_rx_bss_info) to take more parameters from beacons and keep a BSS info structure alive when only beacons for it are received. This fixes a problem with iwlwifi drivers (where we don't understand the root cause of the problem yet) and another driver for some broken hardware (which cannot send probe requests unless associated, so can't always actively scan.) Signed-off-by: Bill Moss [jmberg: reformatted comments, make probe_resp a bool] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 194828a292db3cf421ae7f82232f2fc655fbbc3c Author: Nick Kossifidis Date: Wed Apr 16 18:49:02 2008 +0300 ath5k: Misc fixes/cleanups *Handle MIB interrupts and pass low level stats to mac80211 *Add Power On Self Test function *Update to match recent dumps *Let RF2425 attach so we can further test it *Remove unused files regdom.c and regdom.h base.c Changes-licensed-under: 3-clause-BSD rest Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 136bfc798fe5378c7c1b5f5294abcfd1428438b3 Author: Nick Kossifidis Date: Wed Apr 16 18:42:48 2008 +0300 ath5k: Add RF2425 initvals *Add RF2425 initvals (still no rx/tx) This was on my laptop for a long time so it has to go out even if it still doesn't work, i hope i'll get my hands on an eeepc so i can work this out. base.c Changes-licensed-under: 3-clause-BSD rest Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit fcc76c6b3367e654377d61403f4945ac85c4b651 Author: Emmanuel Grumbach Date: Tue Apr 15 16:01:47 2008 -0700 iwlwifi: Use HW acceleration decryption by default This patch reverses the hw_crypto logic and makes HW crypto a default. Giving swcrypto=1 as parameter to the module disables HW crypto. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 59003835020ed696e941df2f8a50210bdc6e246c Author: Mohamed Abbas Date: Tue Apr 15 16:01:46 2008 -0700 iwlwifi: fix unload warning and error This patch fix the error we get when unload the driver, No space for Tx. The cause of this problem is related to receiving late SW rfkill from rfkill subsystem during the driver teardown causing this error. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit dfe7d458408188718089f41d0e2330fed13697e2 Author: Ron Rindjunsky Date: Tue Apr 15 16:01:45 2008 -0700 iwlwifi: arrange max number of Tx queues This patch increases the max possible number of Tx queues, but leaves current used number of queues as HW dependent Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 77bab6024c69de781464c6ad094db6996d996938 Author: Emmanuel Grumbach Date: Tue Apr 15 16:01:44 2008 -0700 iwlwifi: Fix TKIP update key and get_free_ucode_key This patch fixes a bug in update_tkip_key: only one key needs to be allocated in uCode, every time it is updated, the old one will be overwritten Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 7e8c519ecbd44cbe017f1749eb1f0f87d86d6ea2 Author: Tomas Winkler Date: Tue Apr 15 16:01:43 2008 -0700 iwlwifi: move rxon associated command to hcmd This patch run rxon associated command from hcmd handler Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3c424c281a9887733ab936477c327cdb2a7ae367 Author: Tomas Winkler Date: Tue Apr 15 16:01:42 2008 -0700 iwlwifi: introduce host commands callbacks This patch adds place holder for host command handlers for supporting different implementations per HW Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fed9017e03f23098137716bd6010772ac1aa8a80 Author: Ron Rindjunsky Date: Tue Apr 15 16:01:41 2008 -0700 iwlwifi: move HW device registration This patch moves the HW device registration from the iwl-4965.c file, which implies a HW specific support, to a more general location. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 66c73db7c6f7672e40c0bb1d2689f2d0d0922aad Author: Tomas Winkler Date: Tue Apr 15 16:01:40 2008 -0700 iwlwifi: move the creation of LQ host command to iwlcore This patch moves creation of LQ host command to iwlcore from previous location in rate scaling. Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit ec35cf2afb0d807c39188e3a9962ffa51f603024 Author: Tomas Winkler Date: Tue Apr 15 16:01:39 2008 -0700 iwlwifi: support different num of tx and rx antennas This patch adds infrastructure for supporting different number of tx and rx antennas Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5425e490471d521bae2fce16d22995803b41d90f Author: Tomas Winkler Date: Tue Apr 15 16:01:38 2008 -0700 iwlwifi: hw_setting cleanup 1. This patch renames hw_setting to hw_params 2. Align names of the structure and variables 3. set_hw_params is called from libs_ops Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 49ea85961cf8b60b5387cc1c1bc06fe4b6a31ee4 Author: Emmanuel Grumbach Date: Tue Apr 15 16:01:37 2008 -0700 iwlwifi: remove the statistics work This patch does 3 things 1) It removes the statistics work. The request statistics command is sent in ASYNC mode in this flow, the mutex is uneeded, so the request statistics function can't go to sleep. No need for a workqueue anymore. 2) iwl4965_send_statistics_request has been renamed to iwl_send_statistics_request and moved to iwl-core.c 3) A request for statistics is sent in alive_notify, the makes the uCode sends statistics notification periodically starting from association. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit ba380013b681e91e059f95b51002f8d43024b371 Author: Michael Buesch Date: Tue Apr 15 21:13:36 2008 +0200 b43: Add fastpath to b43_mac_suspend() This adds a fastpath for the common workloads to the MAC suspend flushing. In common workloads the FIFO flush will take between 100 and 200 microseconds. So we want to avoid calling msleep() in the common case, as it will waste over 800 microseconds + scheduler overhead. This fastpath will hit in workloads where only small chunks of data are transmitted (downloading a file) or when a TX rate bigger or equal to 24MBit/s is used when transmitting lots of stuff (iperf). So in the commonly used workloads it will basically always hit. In case the fastpath is not hit, there's no real performance or latency disadvantage from that. And yes, I measured this. So this is not one of these bad Programmer Likeliness Assumptions that are always wrong. ;) Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 059ff8266104d4919c693d6bf974c9e350da513e Author: Tomas Winkler Date: Mon Apr 14 21:16:14 2008 -0700 iwlwifi: move shared pointers to iwl_priv Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 508e32e177f54d1f6ebcfa181b9d6f2583c3b1c0 Author: Reinette Chatre Date: Mon Apr 14 21:16:13 2008 -0700 iwlwifi: perform bss_info_changed post association work right away Do not use workqueue for bss_info_changed post association work. When driver is notified of association the upper layer will be notified right after that the association is complete. Doing the post association work in a workqueue introduces a race condition where the upper layer may want to make use of the association, but it is not yet complete. Signed-off-by: Reinette Chatre Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit eadd3c4b9a90e31d5b6034a8813bfabecbe48681 Author: Reinette Chatre Date: Mon Apr 14 21:16:12 2008 -0700 iwlwifi: make Makefile more concise Also change CONFIG_IWLCORE_RFKILL to CONFIG_IWLWIFI_RFKILL to be more consistent with other config variables. Signed-off-by: Reinette Chatre Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 51dbfd1d59b0f55aef2105e06f770f3a97fc4e3a Author: Reinette Chatre Date: Mon Apr 14 21:16:11 2008 -0700 iwl4965: make iwl4965_send_rxon_assoc asynchronous Signed-off-by: Reinette Chatre Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit e2a722eba1b3aa504ae177353d100287398881c3 Author: Tomas Winkler Date: Mon Apr 14 21:16:10 2008 -0700 iwlwifi: Fix byte count table for fragmented packets This patch fix byte count table update. Table must be updated for each fragment Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7480513f5b436321f86f5a5210af5bf8edb19e9a Author: Emmanuel Grumbach Date: Mon Apr 14 21:16:09 2008 -0700 iwlwifi: moves security functions to iwl-sta.c This patch moves security related functions to iwl-sta.c. Note that iwl4965_mac_update_tkip_key is still in iwl4965-base.c since it is a mac80211 handler. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 80fb47a11eaf3d1d70c02f3dc7976eaac9b0eef2 Author: Emmanuel Grumbach Date: Mon Apr 14 21:16:08 2008 -0700 iwlwifi: maintain uCode key table state This patch fix book keeping of key table in the driver to be synchronized with uCode Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 0211ddda9deb681a804572936cd49e466a1aa88b Author: Emmanuel Grumbach Date: Mon Apr 14 21:16:07 2008 -0700 iwlwifi: add 1X HW WEP support This patch adds support for HW encryption/decryption in 1X WEP. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 6974e36356524fa856435cb1be40aaffbac9601a Author: Emmanuel Grumbach Date: Mon Apr 14 21:16:06 2008 -0700 iwlwifi: default WEP HW encryption This patch adds HW encryption support in default WEP mode. When no key mapping key/pairwise key is used. The key is broadcast key is used as default/global/static key. This code assumes that group cast key is added after pairwise key. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 0a0bed1d10105a9f58cd14ebe216e8479dd31fda Author: Emmanuel Grumbach Date: Mon Apr 14 21:16:05 2008 -0700 iwlwifi: add default WEP key host command This patch adds declaration for static WEP host command. This command will be used for default WEP group keys when no key mapping keys are used. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit db0589f3b9443f2b57ea6daaec09c1ab0ac99cb0 Author: Abhijeet Kolekar Date: Mon Apr 14 21:16:04 2008 -0700 iwlwifi: replace sprintf with scnprintf for debugfs output The buffersize allocated is not accurate. Writing to these buffers with scnprintf is safer. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 57aab75a39089744aba4bd126df2de526481b128 Author: Tomas Winkler Date: Mon Apr 14 21:16:03 2008 -0700 iwlwifi: generalize iwlwifi init flow This patch creates handlers to support iwlwifi init flow for multiple HWs Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit b454048cb933eb69dd9d46c16bf01e9df997fa3d Author: Johannes Berg Date: Mon Apr 14 15:37:03 2008 +0200 mac80211: allow WDS mode This allows creating interfaces in WDS mode or switching existing ones into WDS mode (both via cfg80211 and wext.) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3e2c40ef09f397b0123fc0233d5d0531c217dc39 Author: Stefano Brivio Date: Mon Apr 14 00:57:03 2008 +0200 b43legacy: fix TBTT and PU timings This fixes some timings for pre-TBTT and synthetic PU. The patch by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 245cbe7a65f3e17999de276ea1c84538f3a7451e Author: Johannes Berg Date: Sun Apr 13 10:43:50 2008 +0200 mac80211: fix key todo list order When we add multiple todo entries, we rely on them being executed mostly in the right order, especially when a key is being replaced. But when a default key is replaced, the todo list order will differ from the order when the key being replaced is not a default key, so problems will happen. Hence, just move each todo item to the end of the list when it is added so we can in the other code ensure that hw accel for a key will be disabled before it is enabled for the replacement. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b16bd15c379410f2aa47837aa4a0de5712856ad5 Author: Johannes Berg Date: Fri Apr 11 21:40:35 2008 +0200 mac80211: fix spinlock recursion When STAs are expired, we need to hold the sta_lock. Using the same lock for keys too would then mean we'd need another key free function, and that'll just lead to confusion, so just use a new spinlock for all key lists. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6b914c521687ae6cb8923c7235fd69b7bc027703 Author: Alexey Dobriyan Date: Thu Apr 10 14:34:35 2008 -0700 proc: switch /proc/driver/ray_cs/ray_cs to seq_file interface Signed-off-by: Alexey Dobriyan Cc: Dominik Brodowski Cc: Jean Tourrilhes Cc: David S. Miller Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit d18ef29f34eb33099d387a327abe139f3915a829 Author: Reinette Chatre Date: Wed Apr 9 16:56:15 2008 -0700 mac80211: no BSS changes to driver from beacons processed during scanning There is no need to send BSS changes to driver from beacons processed during scanning. We are more interested in beacons from an AP with which we are associated - these will still be used to send updates to driver as the beacons are received without scanning. This change·removes the requirement that bss_info_changed needs to be atomic. The beacons received during scanning are processed from a tasklet, but if we do not call bss_info_changed for these beacons there is no need for it to be atomic. This function (bss_info_changed) is called either from workqueue or ioctl in all other instances. Signed-off-by: Reinette Chatre Acked-by: Tomas Winkler Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 8d0c7fad35538e02dff6fdb2d67943ae582819b3 Author: Holger Schurig Date: Wed Apr 9 10:23:31 2008 +0200 libertas: un-garbage various command structs Some command structs contain reserved or unused fields, which the driver send uninitialized down to the card. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 7919b89c8276d657976d4d4d6b7cb58ea1aa08c3 Author: Holger Schurig Date: Tue Apr 1 14:50:43 2008 +0200 libertas: convert libertas driver to use an event/cmdresp queue This patch (co-developed by Dan Williams and Holger Schurig) uses a kfifo object for events and a swapping buffer scheme for the command response to preserve the zero-copy semantics of the CF driver and keep memory usage low. The main thread should only ever touch the buffer indexed by priv->resp_idx, while the interface code is free to write to the second buffer, then swap priv->resp_idx under the driver spinlock. The firmware specs only permit one in-flight command, so there will only ever be one command response to process at a time. Signed-off-by: Holger Schurig Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 98dd6a575928ed9c42130d208e6bfb0f7a914d5a Author: Johannes Berg Date: Thu Apr 10 15:36:09 2008 +0200 mac80211: further RCU fixes There were a few more instances of sta_info_get calls not being protected by RCU, fix them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 171afcd4ba093b50cd2fb33fe2371fbc1f7fd389 Author: Ivo van Doorn Date: Wed Apr 9 20:46:27 2008 +0200 rt2x00: Only free skb when beacon_update fails In rt2x00lib_intf_scheduled_iter() we use the hw->beacon_update() callback function. This means that it should behave similarly as mac80211 when that uses the function. This means that the skb should only be freed when beacon_update() has failed, otherwise the driver is the owner and is responsible for freeing the buffer. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3a245766901a9dfdc3f53457a7954b369b50f281 Author: Johannes Berg Date: Wed Apr 9 16:45:37 2008 +0200 mac80211: fix key hwaccel race The previous key locking patch left a small race: it would be possible to add a key and take the interface down before the key todo is run so that hwaccel for that key is enabled on an interface that is down. Avoid this by running the todo list when an interface is brought up or down. This patch also fixes a small bug: before this change, a few functions used the key list without the lock that protects it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 51e8b885902fc8cc2ded48322ad9402bbcff23fe Author: Michael Buesch Date: Tue Apr 8 10:31:22 2008 +0200 ssb-pcicore: Remove b44 TPS flag workaround Now that we fixed the TPS flag assignment in commit b63009b456c8d9abe684bdf8d4bd8f27eb040019 we don't need the workaround for the bcm44xx chip anymore. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 50c4afb99166dc0d2e8a0b063fe83befaa426a44 Author: John W. Linville Date: Tue Apr 15 14:09:27 2008 -0400 mlme.c: fixup some merge damage This one got renamed, complicating the merge a bit...this should restore it to its intended state. Signed-off-by: John W. Linville commit 95e7a8efd79d4eb74646ed5cb998599f21627091 Author: Paul Bolle Date: Wed Apr 16 14:43:00 2008 +0200 [SCSI] aacraid: Do not describe check_reset parameter with its value Describe check_reset parameter with its name (and not its value) Signed-off-by: Paul Bolle Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit e6990c6448ca9359b6d4ad027c0a6efbf4379e64 Author: Mark Salyzyn Date: Mon Apr 14 14:20:16 2008 -0400 [SCSI] aacraid: Fix down_interruptible() to check the return value Instead of ignoring the return value in aac_fib_send() return 2 to indicate to the layers above that fib transmission was aborted due to timeout. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 582df15327828570595d4be55b2b300dac5271c1 Author: Adrian Bunk Date: Mon Apr 14 17:17:26 2008 +0300 [SCSI] sun3_scsi_vme: add MODULE_LICENSE This patch adds the missing MODULE_LICENSE("GPL"). Signed-off-by: Adrian Bunk Signed-off-by: James Bottomley commit 8ef8d5941cdc6ab616334e14306c39f7aceb780c Author: Adrian Bunk Date: Mon Apr 14 17:17:16 2008 +0300 [SCSI] st: rename flush_write_buffer() This patch fixes the following namespace collision with include/asm-avr32/cacheflush.h : <-- snip --> ... CC [M] drivers/scsi/st.o /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/scsi/st.c:629:53: error: macro "flush_write_buffer" passed 1 arguments, but takes just 0 ... make[3]: *** [drivers/scsi/st.o] Error 1 <-- snip --> st now uses st_flush_write_buffer() Signed-off-by: Adrian Bunk Signed-off-by: James Bottomley commit b312bab3b961de21c5a98bd70e04070eaa61817c Author: FUJITA Tomonori Date: Thu Apr 10 23:48:14 2008 +0900 [SCSI] tgt: use KMEM_CACHE macro This uses new KMEM_CACHE() macro instead of kmem_cache_create directly to simplify slab cache creation. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit e92716f2aa68cdfbf6ec24d6f31f08b072e1a246 Author: Jerone Young Date: Sat Apr 12 05:03:33 2008 +1000 [POWERPC] 4xx: Add idle wait support for 44x platforms This changes the cpu_idle loop for 44x platforms to utilize the Wait Enable feature of the CPU. This helps virtulization solutions know when the guest Linux kernel is in an idle state. A command line option called "idle" is also added to allow people to change the idle loop back to the original variation. This is done by setting "idle=spin" on the kernel command line. Signed-off-by: Jerone Young Signed-off-by: Josh Boyer commit 478d5dcb620abae146edd542b4e76cea47855bc9 Author: Josh Boyer Date: Tue Apr 15 10:05:53 2008 -0500 [POWERPC] 4xx: Add ppc40x_defconfig Add a multi-board PowerPC 40x defconfig file Signed-off-by: Josh Boyer commit dd9e0dda66ba38a2ddd1405ac279894260dc5c36 Author: John Heffner Date: Tue Apr 15 15:26:39 2008 -0700 [TCP]: Increase the max_burst threshold from 3 to tp->reordering. This change is necessary to allow cwnd to grow during persistent reordering. Cwnd moderation is applied when in the disorder state and an ack that fills the hole comes in. If the hole was greater than 3 packets, but less than tp->reordering, cwnd will shrink when it should not have. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit d0498d9ae1a5cebac363e38907266d5cd2eedf89 Author: Pavel Emelyanov Date: Wed Apr 16 02:17:42 2008 -0700 [NET]: Do not allocate unneeded memory for dev->priv alignment. The alloc_netdev_mq() tries to produce 32-bytes alignment for both the net_device itself and its private data. The second alignment is achieved by adding the NETDEV_ALIGN_CONST to the whole size of the memory to be allocated. However, for those devices that do not need the private area, this addition just makes the net_device weight 1024 + 32 = 1068 bytes, i.e. consume twice as much memory. Since loopback device is such (sizeof_priv == 0 for it), and each net namespace creates one, this can save a noticeable amount of memory for kernel with net namespaces turned on. After this set the lo device is actually allocated from a size-1024 kmem cache on i386 box even with NETPOLL and WIRELESS_EXT turned on. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f3005d7f4abe03ad41af33b1548602cd086d86a2 Author: Denis V. Lunev Date: Wed Apr 16 02:02:18 2008 -0700 [NETNS]: Add netns refcnt debug for network devices. dev_set_net is called for - just allocated devices - devices moving from one namespace to another release_net has proper check inside to distinguish these cases. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 3661a910836a509be65afc3c1e512d900e1280f9 Author: Denis V. Lunev Date: Wed Apr 16 02:01:56 2008 -0700 [NETNS]: Add netns refcnt debug to fib rules. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 48115becf6ad9c0e700ff7c1792b7f2a288ef8fb Author: Denis V. Lunev Date: Wed Apr 16 02:01:34 2008 -0700 [NETNS]: Add netns refcnt debug for dst ops. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 8c5da49a63c7675a3e137eb384b982e562622342 Author: Denis V. Lunev Date: Wed Apr 16 02:01:11 2008 -0700 [NETNS]: Add netns refcnt debug for inet bind buckets. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 57d7a6009241fe04a699e5f65d55cf5cb7008fc7 Author: Denis V. Lunev Date: Wed Apr 16 02:00:50 2008 -0700 [NETNS]: Add netns refcnt debug into fib_info. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit cd5342d9055545624187a2d47e68bdabc1ca9963 Author: Denis V. Lunev Date: Wed Apr 16 02:00:28 2008 -0700 [NETNS]: Add netns refcnt debug for timewait buckets. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 65a18ec58e5e6186103f62f720acea94dfb26f4e Author: Denis V. Lunev Date: Wed Apr 16 01:59:46 2008 -0700 [NETNS]: Add netns refcnt debug for kernel sockets. Protocol control sockets and netlink kernel sockets should not prevent the namespace stop request. They are initialized and disposed in a special way by sk_change_net/sk_release_kernel. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 5d1e4468a7705db7c1415a65fd16f07113afc1b2 Author: Denis V. Lunev Date: Wed Apr 16 01:58:04 2008 -0700 [NETNS]: Make netns refconting debug like a socket one. Make release_net/hold_net noop for performance-hungry people. This is a debug staff and should be used in the debug mode only. Add check for net != NULL in hold/release calls. This will be required later on. [ Added minor simplifications suggested by Brian Haley. -DaveM ] Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 554eb27782d4bb79e0a286a08ecafb81f758058c Author: Pavel Emelyanov Date: Wed Apr 16 01:24:13 2008 -0700 [IP6TUNNEL]: Allow to create IP6 tunnels in net namespaces. And no need in some IPPROTO_XXX enabling, since ipv6 code doesn't have any filtering. So, just set proper net and mark device with NETNS_LOCAL. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 2f7f54b725f1a93f0a4daace1a924bee382b33b6 Author: Pavel Emelyanov Date: Wed Apr 16 01:23:44 2008 -0700 [IP6TUNNEL]: Use proper net instead of init_net stubs. All the ip_route_output_key(), dev_get_by_...() and ipv6_chk_addr() calls are now stubbed with init_net. Fortunately, all the places already have where to get the proper net from. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3e6c9fb5f5a4cab0d2342b69d4e46e8f5a08b04e Author: Pavel Emelyanov Date: Wed Apr 16 01:23:22 2008 -0700 [IP6TUNNEL]: Make tunnels hashes per-net. Move hashes in the struct ip6_tnl_net, replace tnls_xxx[] with ip6n->tnlx_xxx[] and handle init and exit appropriately. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 15820e129013dd0771812001a2046ae37c9a2ba0 Author: Pavel Emelyanov Date: Wed Apr 16 01:23:02 2008 -0700 [IP6TUNNEL]: Make the fallback tunnel device per-net. All the code, that reference it already has the ip6_tnl_net pointer, so s/ip6_fb_tnl_dev/ip6n->fb_tnl_dev/ and move creation/releasing code into net init/exit ops. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8704ca7e916973c6583c0937e14b057d6c748651 Author: Pavel Emelyanov Date: Wed Apr 16 01:22:43 2008 -0700 [IP6TUNNEL]: Use proper net in hash-lookup functions. Calls to ip6_tnl_lookup were stubbed with init_net - give them a proper one. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 2dd02c897d798c6a00dca46c7a50ebc10eb3be0d Author: Pavel Emelyanov Date: Wed Apr 16 01:22:23 2008 -0700 [IP6TUNNEL]: Add (ip6_tnl_)net argument to some calls. Hashes and fallback device used in them will be per-net. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 13eeb8e92c95ca8a1c044e3692246f884be826ee Author: Pavel Emelyanov Date: Wed Apr 16 01:22:02 2008 -0700 [IP6TUNNEL]: Introduce empty ip6_tnl_net structure and net ops. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b0970c428b33ee6e0aa576f58f87dde74262a441 Author: Pavel Emelyanov Date: Wed Apr 16 01:17:39 2008 -0700 [SIT]: Allow for IPPROTO_IPV6 protocol in namespaces. This makes sit-generated traffic enter the namespace. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7a97146cc6e8145f65abfee36e56de7b8061c34f Author: Pavel Emelyanov Date: Wed Apr 16 01:17:18 2008 -0700 [SIT]: Allow to create SIT tunnels in net namespaces. Set proper net and mark a new device as NETNS_LOCAL before registering. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 907a08c4023b54ffebf3fb966efcbcc1312abe32 Author: Pavel Emelyanov Date: Wed Apr 16 01:16:58 2008 -0700 [SIT]: Use proper net in routing calls. I.e. replace init_net stubs in ip_route_output_key() calls. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 291821766b5ca90ffe3fb64531d49537c4ff7395 Author: Pavel Emelyanov Date: Wed Apr 16 01:16:38 2008 -0700 [SIT]: Make tunnels hashes per-net. Just move all the hashes on the sit_net structure and patch the rest of the code appropriately. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit cd3dbc194d6784624f21acbc622a75c92378ba5a Author: Pavel Emelyanov Date: Wed Apr 16 01:16:18 2008 -0700 [SIT]: Make the fallback tunnel device per-net Allocate and register one in sit_init_net, use sitn->fb_tunnel_dev over the code and unregister one in sit_exit_net. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit fcee5ec9fdd2b27bce2a6ae8cd8161ad9a8899df Author: Pavel Emelyanov Date: Wed Apr 16 01:15:59 2008 -0700 [SIT]: Use proper net in hash-lookup functions. Replace introduced in the previous patch init_net stubs with the proper net pointer. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit ca8def1483a7621503247e28d1ca5dace9b945fe Author: Pavel Emelyanov Date: Wed Apr 16 01:15:39 2008 -0700 [SIT]: Add net/sit_net argument to some functions. ... to make them prepared for future hashes and fallback device move on the struct sit_net. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8190d9009a74e7862b31874cd347b394d390cc6e Author: Pavel Emelyanov Date: Wed Apr 16 01:15:17 2008 -0700 [SIT]: Introduce empty struct sit_net and init/exit net ops. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f96c148fd53a2a0dbb2d768895c7cf6951e35cc5 Author: Pavel Emelyanov Date: Wed Apr 16 01:11:36 2008 -0700 [GRE]: Allow for IPPROTO_GRE protocol in namespaces. This one was also disabled by default for sanity. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 0b67eceb198b77045950011e12bf176a7c11ad98 Author: Pavel Emelyanov Date: Wed Apr 16 01:11:13 2008 -0700 [GRE]: Allow to create IPGRE tunnels in net namespaces. I.e. set the proper net and mark as NETNS_LOCAL. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 96635522f7930025b8a56a7075db82c48a454a30 Author: Pavel Emelyanov Date: Wed Apr 16 01:10:44 2008 -0700 [GRE]: Use proper net in routing calls. As for the IPIP tunnel, there are some ip_route_output_key() calls in there that require a proper net so give one to them. And a proper net for the __get_dev_by_index hanging around. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit eb8ce741a3c4d4ba5f345ff19689c7d2e4555668 Author: Pavel Emelyanov Date: Wed Apr 16 01:10:26 2008 -0700 [GRE]: Make tunnels hashes per-net. Very similar to what was done for the IPIP code. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7daa0004895f0421bff41a3ac0464f2ff4d9cd41 Author: Pavel Emelyanov Date: Wed Apr 16 01:10:05 2008 -0700 [GRE]: Make the fallback tunnel device per-net. Everything is prepared for this change now. Create on in init callback, use it over the code and destroy on net exit. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3b4667f3db4d7d0b6d8f35c2ca80333ea141629a Author: Pavel Emelyanov Date: Wed Apr 16 01:09:44 2008 -0700 [GRE]: Use proper net in hash-lookup functions. This is the part#2 of the patch #2 - get the proper net for these functions. This change in a separate patch in order not to get lost in a large previous patch. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f57e7d5a7bd2a600a8a97e278e4c46904ceacf51 Author: Pavel Emelyanov Date: Wed Apr 16 01:09:22 2008 -0700 [GRE]: Add net/gre_net argument to some functions. The fallback device and hashes are to become per-net, but many code doesn't have anything to get the struct net pointer from. So pass the proper net there with an extra argument. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 59a4c7594bcecef27f072a599e9fb3b18754fc60 Author: Pavel Emelyanov Date: Wed Apr 16 01:08:53 2008 -0700 [GRE]: Introduce empty ipgre_net structure and net init/exit ops. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4597a0ce0849eaa62fc9083c21943e0c434e4135 Author: Pavel Emelyanov Date: Wed Apr 16 01:06:56 2008 -0700 [IPIP]: Allow for IPPROTO_IPIP protocol in namespaces. This one was disabled by default for sanity. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 0a826406d4adf0c4b7cd47f116cb8e8ef65b92a3 Author: Pavel Emelyanov Date: Wed Apr 16 01:06:18 2008 -0700 [IPIP]: Allow to create IPIP tunnels in net namespaces. Set the proper net before calling register_netdev and disable the tunnel device netns changing. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b99f0152e5f96dde31d2b9060b4f1029abc11078 Author: Pavel Emelyanov Date: Wed Apr 16 01:05:57 2008 -0700 [IPIP]: Use proper net in (mostly) routing calls. There are some ip_route_output_key() calls in there that require a proper net so give one to them. Besides - give a proper net to a single __get_dev_by_index call in ipip_tunnel_bind_dev(). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 44d3c299dcfee094f10e0c686ad6588fd36d4f8f Author: Pavel Emelyanov Date: Wed Apr 16 01:05:32 2008 -0700 [IPIP]: Make tunnels hashes per net. Either net or ipip_net already exists in all the required places, so just use one. Besides, tune net_init and net_exit calls to respectively initialize the hashes and destroy devices. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit cec3ffae1a019f02cd6b5fa291f279c8e9f86157 Author: Pavel Emelyanov Date: Wed Apr 16 01:05:03 2008 -0700 [IPIP]: Use proper net in hash-lookup functions. This is the part#2 of the previous patch - get the proper net for these functions. I make it in a separate patch, so that this change does not get lost in a large previous patch. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b9fae5c9138086d27715a8a0f29d5b55239db35c Author: Pavel Emelyanov Date: Wed Apr 16 01:04:35 2008 -0700 [IPIP]: Add net/ipip_net argument to some functions. The hashes of tunnels will be per-net too, so prepare all the functions that uses them for this change by adding an argument. Use init_net temporarily in places, where the net does not exist explicitly yet. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b9855c54dadc0768dcc3804df1972488783d2267 Author: Pavel Emelyanov Date: Wed Apr 16 01:04:13 2008 -0700 [IPIP]: Make the fallback tunnel device per-net. Create on in ipip_init_net(), use it all over the code (the proper place to get the net from already exists) and destroy in ipip_net_exit(). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 10dc4c7bb70533d16184aaaa69e137a7d2b9a3a8 Author: Pavel Emelyanov Date: Wed Apr 16 01:03:13 2008 -0700 [IPIP]: Introduce empty ipip_net structure and net init/exit ops. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 30688a9a3e06d83d187658bd1c15f0e306bed38b Author: Pavel Emelyanov Date: Wed Apr 16 00:57:01 2008 -0700 [VLAN]: Handle vlan devices net namespace changing. When van device is moved to another namespace proc files, related to this device, should also change one. Use the netdev REGISTER and UNREGISTER event handlers for this. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 65d292a2ef2df66fd1ab83447afee71ef3720ded Author: Pavel Emelyanov Date: Wed Apr 16 00:55:06 2008 -0700 [VLAN]: Allow vlan devices registration in net namespaces. This one is similar to what I've done for TUN - set the proper net after device allocation and clean VLANs on net exit (use the rtnl_kill_links helper finally). Plus, drop explicit init_net usage and net != &init_net checks. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 7a17a2f79f54a988d08ffa33ec9e1038bffec42b Author: Pavel Emelyanov Date: Wed Apr 16 00:54:39 2008 -0700 [VLAN]: Make the vlan_name_type per-net. This includes moving one on the struct vlan_net and s/vlan_name_type/vn->name_type/ over the code. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 80de2d982156b5f6f50ff97175dc94ccfe3d093f Author: Pavel Emelyanov Date: Wed Apr 16 00:52:24 2008 -0700 [VLAN]: Make the /proc/net/vlan/conf file show per-net info. It is created in a proper net, so make is show info, related to this particular net. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit a59a8c1c865e6d231e1b5675f767ace006f08c21 Author: Pavel Emelyanov Date: Wed Apr 16 00:51:51 2008 -0700 [VLAN]: Create proc entries in the proper net. The proc_vlan_dir and proc_vlan_conf migrate on the struct vlan_net and their creation uses the struct net. The devices' entries use the corresponding device's net. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit cd1c701432fbf84ad5ea1d8012ddd398a560bccc Author: Pavel Emelyanov Date: Wed Apr 16 00:51:12 2008 -0700 [VLAN]: Add a net argument to proc init and cleanup calls. All proc files will be created in each net, so prepare them for this change now, not to mess it with real creation patch. The net != &init_net checks in them are for git-bisect sanity, but I will drop them soon. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit d9ed0f0e2dba45eec79ffbdd841757f87712349b Author: Pavel Emelyanov Date: Wed Apr 16 00:49:09 2008 -0700 [VLAN]: Introduce the vlan_net structure and init/exit net ops. Unlike TUN, it is empty from the very beginning, and will be eventually populated later. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit a9fde2607895667823e9d1172fc193087125ef68 Author: Pavel Emelyanov Date: Wed Apr 16 00:48:04 2008 -0700 [VLAN]: Tag vlan_group_device with net device, not ifindex. Currently vlan group is searched using one key - the ifindex. We'll have to lookup the vlan_group by two keys - ifindex and net. Turning the vlan_group lookup key to struct net_device pointer will make this process easier. Besides, this will eliminate one more place in the networking, that assumes that indexes are unique in the kernel. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 669f87baab90183e13b95480aecf8d7bac92ca3c Author: Pavel Emelyanov Date: Wed Apr 16 00:46:52 2008 -0700 [RTNL]: Introduce the rtnl_kill_links helper. This one is responsible for calling ->dellink on each net device found in net to help with vlan net_exit hook in the nearest future. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 3a931a80cb25f905da377d1bb0ba9b1641aa579a Author: Pavel Emelyanov Date: Wed Apr 16 00:45:56 2008 -0700 [RTNL]: Relax for_each_netdev_safe in __rtnl_link_unregister. Each potential list_del (happening from inside a ->dellink call) is followed by goto restart, so there's no need in _safe iteration. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit fc54c65853dbfd2f70ff827b73344f9de4e4b501 Author: Pavel Emelyanov Date: Wed Apr 16 00:41:53 2008 -0700 [TUN]: Allow to register tun devices in namespace. This is basically means that a net is set for a new device, but actually also involves two more steps: 1. mark the tun device as "local", i.e. do not allow for it to move across namespaces. This is done so, since tun device is most often associated to some file (and thus to some process) and moving the device alone is not valid while keeping the file and the process outside. The need in ability to move a detached persistent device is to be investigated later. 2. get the tun device's net when tun becomes attached and put one when it becomes detached. This is needed to handle the case when a task owning the tun dies, but a files lives for some more time - in this case we must not allow for net to be freed, since its exit hook will spoil that file's private data by unregistering the tun from under tun_chr_close. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit d647a591dae06ccc96210cea938aa0342ef935fc Author: Pavel Emelyanov Date: Wed Apr 16 00:41:16 2008 -0700 [TUN]: Make the tun_dev_list per-net. Remove the static tun_dev_list and replace its occurrences in driver with per-net one. It is used in two places - in tun_set_iff and tun_cleanup. In the first case it's legal to use current net_ns. In the cleanup call - move the loop, that unregisters all devices in net exit hook. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 79d1760491a25bfc70aeac363142cadd3f1cda71 Author: Pavel Emelyanov Date: Wed Apr 16 00:40:46 2008 -0700 [TUN]: Introduce the tun_net structure and init/exit net ops. This is the first step in making tuntap devices work in net namespaces. The structure mentioned is pointed by generic net pointer with tun_net_id id, and tun driver fills one on its load. It will contain only the tun devices list. So declare this structure and introduce net init and exit hooks. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8d142137b4fe87188f211042b16a5993964226f9 Author: Steve French Date: Wed Apr 16 03:56:51 2008 +0000 [CIFS] make cifs_dfs_automount_list_static This patch makes the needlessly global cifs_dfs_automount_list static. Signed-off-by: Adrian Bunk Signed-off-by: Steve French commit 17515408a15fa51c553e67c415502e785145cd7f Author: Ilpo Järvinen Date: Tue Apr 15 20:36:55 2008 -0700 [TCP]: Remove superflushious skb == write_queue_tail() check Needed can only be more strict than what was checked by the earlier common case check for non-tail skbs, thus cwnd_len <= needed will never match in that case anyway. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b131dd5d659aaf287a3809473130c3ff5eddb71b Author: Mandeep Singh Baines Date: Tue Apr 15 19:24:17 2008 -0700 [ETHTOOL]: Add support for large eeproms Currently, it is not possible to read/write to an eeprom larger than 128k in size because the buffer used for temporarily storing the eeprom contents is allocated using kmalloc. kmalloc can only allocate a maximum of 128k depending on architecture. Modified ethtool_get/set_eeprom to only allocate a page of memory and then copy the eeprom a page at a time. Updated original patch as per suggestions from Joe Perches. Signed-off-by: Mandeep Singh Baines Signed-off-by: David S. Miller commit 73e87e02ec484ac459c4be262ab76960b89dc019 Author: Oliver Hartkopp Date: Tue Apr 15 19:29:14 2008 -0700 CAN: use hrtimers in can-bcm protocol Make use of hrtimers to support high resolution capabilities, when provided by the system clocksource. The conversion to hrtimers additionally discovered and solved an unlikely race condition that has been reproduced under (unrealistic) massive receive load, which can only be produced on vcan software devices. [ Fix printf format warnings on 64-bit -DaveM ] Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 85035568a96065de6fb29478707a3ad5f1fed169 Author: Allan Stephens Date: Tue Apr 15 19:04:54 2008 -0700 [TIPC]: Enhance validation of format on incoming messages This patch ensures that TIPC properly handles incoming messages that have incorrect or unexpected formats. Most significantly, it now ensures that each sl_buff has at least as much data as the message header indicates it should, and that the entire message header is stored contiguously; this prevents TIPC from accidentally accessing memory that is not part of the sk_buff. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit fe13dda2d24eca2ee8a6bb8a0af88ab84d589fd6 Author: Allan Stephens Date: Tue Apr 15 19:03:23 2008 -0700 [TIPC]: Force linearization of non-linear sk_buffs This patch allows TIPC to process incoming messages that are stored in a fragmented sk_buff, by forcing the linearization of any such messages it receives. Note: This is an interim solution to allow TIPC to operate with Ethernet devices that generate non-linear buffers (such as the gianfar driver), until such time as the rest of TIPC is enhanced to handle sk_buffs with multiple data areas. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit bdc82bee43d11c093ff0378acef2a9550891cbb9 Author: Allan Stephens Date: Tue Apr 15 19:02:30 2008 -0700 [TIPC]: Use fast buffer cloning to improve performance This patch causes TIPC to allocate fast clonable sk_buffs, rather than standard ones. This speeds up the cloning operation done by the link code each time a message is sent off-node. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 11ecede7874efb9c31184b49090fc6d9bb17f9f6 Author: Allan Stephens Date: Tue Apr 15 19:01:43 2008 -0700 [TIPC]: Remove redundant NULL check when discarding buffers This patch eliminates a null pointer check when discarding a TIPC message buffer, since kfree_skb() already handles this situation. Acknowledgements to Florian Westphal (fw@strlen.de> for suggesting this enhancement. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 5d941ca628a142f44d7a2440fe919f8e8691f590 Author: Steve French Date: Tue Apr 15 18:40:48 2008 +0000 [CIFS] Fix oops when slow oplock process races with unmount If a tcon is being freed in call tconInfoFree, clean up any entries that may exist in global oplock queue as the tcon structure hanging off of those entries will be invalid and can cause oops while accesing any elements in the tcon structure. Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit e48d199ba10bb8267f491a3a585ca4a833e950a4 Merge: cce246e... 0de19a4... Author: Steve French Date: Tue Apr 15 18:38:29 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 072f042df335d7e0da2027637bcf720d7ff1589b Author: Takao Indoh Date: Tue Apr 15 05:59:54 2008 -0400 [IA64] kdump: Add crash_save_vmcoreinfo for INIT This patch fixes the problem that kdump by INIT does not work if we use makedumpfile. The problem is that after INIT is issued, 2nd kernel starts and makedumpfile fails with the following error message. /proc/vmcore doesn't contain vmcoreinfo. '-x' or '-i' must be specified. makedumpfile Failed. The cause of this problem is that kernel does not call crash_save_vmcoreinfo. When kdump starts by panic or sysrq-trigger, crash_save_vmcoreinfo is called by crash_kexec. But this function is not called when kdump starts by INIT. The Attached patch fixes this. This patch just adds crash_save_vmcoreinfo into machine_kdump_on_init so that crash_save_vmcoreinfo can be called when kdump starts by INIT. I tested this patch with linux-2.6.25-rc9 and I confirmed it worked. Signed-off-by: Takao Indoh Signed-off-by: Tony Luck commit 3e24e2b5ae03394d9510530f9dd973050fd18730 Author: Martin Kebert Date: Mon Mar 10 13:40:36 2008 +0100 Input: add Zhen Hua driver This is a driver for Zhen Hua PPM-4CH RC transmitter (commonly used in cheap Ready To Fly RC helicopters by Walkera) which using "Zhen Hua 5-byte protocol" for using them as a four axis joystick via serial port. Transmitter connected to serial port (19200 8N1) sending periodically 5 bytes where first byte is for synchronization and next four bytes are values of axis. Signed-off-by: Martin Kebert Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit a32bcc45b9e9d8021b5936c45dc3f8db7a044466 Author: Guryanov Dmitry Date: Mon Mar 10 03:08:58 2008 -0700 Input: aiptek - add support for Genius G-PEN 560 tablet USBHID driver only supports relative mode with this tablet so let aiptek module handle it. Signed-off-by: Dmitry Guryanov Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 975386ee0e71df6162f600749d027a28e85a5c5f Author: Josh Boyer Date: Sun Apr 6 08:01:21 2008 -0500 [POWERPC] 4xx: Reorganize 4xx defconfigs Board specific defconfigs are useful, however with the ability to do multi-board defconfigs they aren't needed in the top level configs directory. Move the 4xx board specific defconfigs to individual directories under arch/powerpc/configs. Signed-off-by: Josh Boyer commit d9024df02ffe74d723d97d552f86de3b34beb8cc Author: Paul Mackerras Date: Sat Apr 12 15:20:59 2008 +1000 [LMB] Restructure allocation loops to avoid unsigned underflow There is a potential bug in __lmb_alloc_base where we subtract `size' from the base address of a reserved region without checking whether the subtraction could wrap around and produce a very large unsigned value. In fact it probably isn't possible to hit the bug in practice since it would only occur in the situation where we can't satisfy the allocation request and there is a reserved region starting at 0. This fixes the potential bug by breaking out of the loop when we get to the point where the base of the reserved region is less than the size requested. This also restructures the loop to be a bit easier to follow. The same logic got copied into lmb_alloc_nid_unreserved, so this makes a similar change there. Here the bug is more likely to be hit because the outer loop (in lmb_alloc_nid) goes through the memory regions in increasing order rather than decreasing order as __lmb_alloc_base does, and we are therefore more likely to hit the case where we are testing against a reserved region with a base address of 0. Signed-off-by: Paul Mackerras commit 300613e523d53f346f8ff0256921e289da39ed7b Author: Paul Mackerras Date: Sat Apr 12 15:20:59 2008 +1000 [LMB] Fix some whitespace and other formatting issues, use pr_debug This makes no semantic changes. It fixes the whitespace and formatting a bit, gets rid of a local DBG macro and uses the equivalent pr_debug instead, and restructures one while loop that had a function call and assignment in the condition to be a bit more readable. Some comments about functions being called with relocation disabled were also removed as they would just be confusing to most readers now that the code is in lib/. Signed-off-by: Paul Mackerras commit c50f68c8aea421267ba7995b1c485c281b28add6 Author: David S. Miller Date: Mon Mar 24 20:50:48 2008 +1100 [LMB] Add lmb_alloc_nid() A variant of lmb_alloc() that tries to allocate memory on a specified NUMA node 'nid' but falls back to normal lmb_alloc() if that fails. The caller provides a 'nid_range' function pointer which assists the allocator. It is given args 'start', 'end', and pointer to integer 'this_nid'. It places at 'this_nid' the NUMA node id that corresponds to 'start', and returns the end address within 'start' to 'end' at which memory assosciated with 'nid' ends. This callback allows a platform to use lmb_alloc_nid() in just about any context, even ones in which early_pfn_to_nid() might not be working yet. This function will be used by the NUMA setup code on sparc64, and also it can be used by powerpc, replacing it's hand crafted "careful_allocation()" function in arch/powerpc/mm/numa.c If x86 ever converts it's NUMA support over to using the LMB helpers, it can use this too as it has something entirely similar. Signed-off-by: David S. Miller Signed-off-by: Paul Mackerras commit 4b1d99b37f608b8cc03550033b16212ca9362efd Author: Stephen Rothwell Date: Mon Apr 14 12:08:47 2008 +1000 [POWERPC] replace asm/of_device.h with linux/of_device.h in macio.h Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 98245c169af77e5c78efe381e128716aebb7d025 Author: Stephen Rothwell Date: Mon Apr 14 12:00:47 2008 +1000 [POWERPC] remove include of asm/of_device.h from pmi.h pmi.h does not diectly reference anything in of_device.h and of the two files that include asm/pmi.h, one includes of_device.h and the other includes of_platform.h (which includes of_device.h). Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit f9a5e6a27d2aa1b37758abb031f37615ac367cca Author: Stephen Rothwell Date: Thu Apr 10 16:44:30 2008 +1000 [POWERPC] iSeries: Localise and constify some iSeries data Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 30ff2e87ed55e83b4eb436f5f14a7e49ff81ad99 Author: Stephen Rothwell Date: Thu Apr 10 16:43:47 2008 +1000 [POWERPC] iSeries: Make iseries_reg_save private to iSeries Now that we have the alpaca, the reg_save_ptr is no longer needed in the paca. Eradicate all global uses of it and make it static in the iSeries lpardata.c Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 3eb9cf076180ed2003db77bd2c33ac4ed0211089 Author: Stephen Rothwell Date: Thu Apr 10 16:39:18 2008 +1000 [POWERPC] iSeries: Use alternate paca structure for booting The iSeries HV only needs the first two fields of the paca statically initialised, so create an alternate paca that contains only those and switch to our real paca immediately after boot. This is in order to make the 1024 cpu patches easier since they will no longer have to statically initialise the pacas for iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit a7e695f6bf37f829a01e693a1569e96a842a1017 Author: Dale Farnsworth Date: Tue Apr 8 08:13:10 2008 +1000 [POWERPC] prpmc2800 needs a dtbImage The prpmc2800 platform requires a zImage formatted file with an embedded dtb file. Rename the requested boot image file to dtbImage.prpmc2800. Signed-off-by: Dale Farnsworth Acked-by: Mark A. Greer Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit f5412c4980a9fbf9540078577747d7e098829e75 Author: Dale Farnsworth Date: Tue Apr 8 08:12:07 2008 +1000 [POWERPC] Document the mv64x60 device tree bindings Add the device tree bindings for the Marvell mv64x60 series of system controller chips in booting-without-of.text. Signed-off-by: Dale Farnsworth Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit a0916bd64a0e6636f0161480e04057c89e90c5da Author: Dale Farnsworth Date: Tue Apr 8 08:11:27 2008 +1000 [POWERPC] mv643xx_eth: Prepare to support multiple silicon blocks The mv643xx_eth driver is being modified to support multiple instances of the ethernet silicon block on the same platform. Each block contains a single register bank containing the registers for up to three ports interleaved within that bank. This patch updates the PowerPC OF to platform_device glue code to support multiple silicon blocks, each with up to three ethernet ports. The main difference is that we now allow multiple mv64x60_shared platform_devices to be registered and we provide each port platform_device with a pointer to its associated shared platform_device. The pointer will not be used until the mv643xx_eth driver changes are committed. Signed-off-by: Dale Farnsworth Acked-by: Mark Greer Signed-off-by: Paul Mackerras commit 1791f91bc794b7efc90719268146f582b9f29ead Author: Mark A. Greer Date: Tue Apr 8 08:10:34 2008 +1000 [POWERPC] prpmc2800: Clean up dts properties Remove several unused (or software config only) properties. Rename marvel node to "system-controller". Also, rename the "block-index" property to "cell-index" to conform to current practice. Signed-off-by: Mark A. Greer Signed-off-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit a05ce88ab3e8a022ee17d89ecf86f6929c89c50e Author: Dale Farnsworth Date: Tue Apr 8 08:09:51 2008 +1000 [POWERPC] mv64x60: Remove device tree absolute path references Replace several device node absolute path lookups in the mv64x60 bootwrapper code with lookups by compatible or device_type properties. Signed-off-by: Dale Farnsworth Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit a1810b44c2d52392cd63e17fc208783cf6be6215 Author: Mark A. Greer Date: Tue Apr 8 08:09:03 2008 +1000 [POWERPC] mv64x60: Fix FDT compatible names: mv64x60 => mv64360 Compatible names should refer to a specific version of the hardware, without wildcards. Change each instance of mv64x60 to mv64360, which is the oldest version we currently support. Signed-off-by: Mark A. Greer Signed-off-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit fb9d93de6049922c4d46cc2dc9d2eeec07369e7f Author: Dale Farnsworth Date: Tue Apr 8 08:08:06 2008 +1000 [POWERPC] prpmc2800: Fix frequencies in prpmc2800.dts After the conversion to dts v1 format, seeing the frequencies in decimal made it obvious that some of them had been incorrectly truncated. This fixes them. Note that the PCI frequency comes from a different source and is documented as 66MHz, so it was left at 66000000. Signed-off-by: Dale Farnsworth Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit d528be50c616ff2b1f2259589730608a1d348d63 Author: Mark A. Greer Date: Tue Apr 8 08:07:08 2008 +1000 [POWERPC] prpmc2800: Convert DTS to v1 and add labels Update the prpmc2800 DTS file to version 1 and add labels. I verified that there was no change in the resulting dtb file. Signed-off-by: Mark A. Greer Signed-off-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit 53bcddb915533c2c41d590e386502a50effd1a21 Author: Stephen Rothwell Date: Fri Apr 11 11:11:56 2008 +1000 [POWERPC] Fix MAX_ORDER config problem The allyesconfig (among others) build was giving this: In file included from include/linux/gfp.h:4, from include/linux/slab.h:14, from include/linux/percpu.h:5, from include2/asm/time.h:18, from include2/asm/cputime.h:26, from include/linux/sched.h:67, from arch/powerpc/kernel/asm-offsets.c:17: include/linux/mmzone.h:791:2: error: #error Allocator MAX_ORDER exceeds SECTION_SIZE Kconfig options are order depenendent, so move the setting of FORCE_MAX_ZONEORDER to after the setting of PPC_64K_PAGES. Also add an explicit !PPC_64K_PAGES. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit dec827d174d7f76c457238800183ca864a639365 Author: Pavel Emelyanov Date: Tue Apr 15 00:36:08 2008 -0700 [NETNS]: The generic per-net pointers. Add the elastic array of void * pointer to the struct net. The access rules are simple: 1. register the ops with register_pernet_gen_device to get the id of your private pointer 2. call net_assign_generic() to put the private data on the struct net (most preferably this should be done in the ->init callback of the ops registered) 3. do not store any private reference on the net_generic array; 4. do not change this pointer while the net is alive; 5. use the net_generic() to get the pointer. When adding a new pointer, I copy the old array, replace it with a new one and schedule the old for kfree after an RCU grace period. Since the net_generic explores the net->gen array inside rcu read section and once set the net->gen->ptr[x] pointer never changes, this grants us a safe access to generic pointers. Quoting Paul: "... RCU is protecting -only- the net_generic structure that net_generic() is traversing, and the [pointer] returned by net_generic() is protected by a reference counter in the upper-level struct net." Signed-off-by: Pavel Emelyanov Acked-by: Paul E. McKenney Signed-off-by: David S. Miller commit c93cf61fd1d5378134f9b06703f7078067542e00 Author: Pavel Emelyanov Date: Tue Apr 15 00:35:23 2008 -0700 [NETNS]: The net-subsys IDs generator. To make some per-net generic pointers, we need some way to address them, i.e. - IDs. This is simple IDA-based IDs generator for pernet subsystems. Addressing questions about potential checkpoint/restart problems: these IDs are "lite-offsets" within the net structure and are by no means supposed to be exported to the userspace. Since it will be used in the nearest future by devices only (tun, vlan, tunnels, bridge, etc), I make it resemble the functionality of register_pernet_device(). The new ids is stored in the *id pointer _before_ calling the init callback to make this id available in this callback. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 31efdf0530b6351b0658d35a602a0f2d6bc2ed6f Author: Adrian Bunk Date: Tue Apr 15 00:30:16 2008 -0700 [ISDN] include/linux/isdn.h: remove dead code This patch remove the usage of a nonexisting kconfig variable. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 7ef3abd2104232a35f259dad6a213310edc7c9fe Author: Adrian Bunk Date: Tue Apr 15 00:29:24 2008 -0700 [IRDA]: Remove irlan_eth_send_gratuitous_arp() Even kernel 2.2.26 (sic) already contains the #undef CONFIG_IRLAN_SEND_GRATUITOUS_ARP with the comment "but for some reason the machine crashes if you use DHCP". Either someone finally looks into this or it's simply time to remove this dead code. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 99971e70fdc1862e120f3319fc0a4dba8c728acf Author: Adrian Bunk Date: Tue Apr 15 00:27:58 2008 -0700 [WANPIPE]: Forgotten bits of Sangoma drivers removal. Robert P. J. Day spotted that my removal of the Sangoma drivers missed a few bits. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 0c3141e910eaaa0b617e2f26c69b266d1cd1f035 Author: Allan Stephens Date: Tue Apr 15 00:22:02 2008 -0700 [TIPC]: Overhaul of socket locking logic This patch modifies TIPC's socket code to follow the same approach used by other protocols. This change eliminates the need for a mutex in the TIPC-specific portion of the socket protocol data structure -- in its place, the standard Linux socket backlog queue and associated locking routines are utilized. These changes fix a long-standing receive queue bug on SMP systems, and also enable individual read and write threads to utilize a socket without unnecessarily interfering with each other. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit b89741a0cc162511b4341c07e17e1bd4c8b4621d Author: Allan Stephens Date: Tue Apr 15 00:20:37 2008 -0700 [TIPC]: Cosmetic changes to TIPC connect() code This patch fixes TIPC's connect routine to conform to Linux kernel style norms of indentation, line length, etc. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 99bda83e8b3140b7e81572a5aabc7dedb455b272 Author: Ralf Baechle Date: Thu Mar 13 23:54:09 2008 +0100 MIPS Alchemy: Crapectomy after removal of pm_send_all calls. Signed-off-by: Ralf Baechle Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 5373fd72577ffc4689ade0a2a1a885293c32c711 Author: Andrew Morton Date: Thu Mar 27 02:00:06 2008 -0400 PM: arch/x86/kernel/apm_32.c: fix build warning arch/x86/kernel/apm_32.c:1215: warning: label 'out' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 6afe1a1fe8ff83f6ac2726b04665e76ba7b14f3e Author: Pavel Machek Date: Thu Mar 13 23:52:49 2008 +0100 PM: Remove legacy PM AFAICT pm_send_all is a nop when noone uses pm_register... Hmm.. can we just force CONFIG_PM_LEGACY=n, and see what happens? Or maybe this is better idea? It may break build somewhere, but it should be easy to fix... (it builds here, i386 and x86-64). Signed-off-by: Pavel Machek Acked-by: Ralf Baechle Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 4934c69a384ede7d0c3009098184554da2063de6 Author: Allan Stephens Date: Tue Apr 15 00:16:19 2008 -0700 [TIPC]: Add error check to detect non-blocking form of connect() This patch causes TIPC to return an error indication if the non- blocking form of connect() is requested (which TIPC does not yet support). Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 1819b83718dc3fe0aea0a2c3cd48d617e2003606 Author: Allan Stephens Date: Tue Apr 15 00:15:50 2008 -0700 [TIPC]: Correct "off by 1" error in socket queue limit enforcement This patch fixes a bug that allowed TIPC to queue 1 more message than allowed by the socket receive queue threshold limits. The patch also improves the threshold code's logic and naming to help prevent this sort of error from recurring in the future. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 7a8036c2b93c8301afce8f75ac099c347bad569d Author: Allan Stephens Date: Tue Apr 15 00:15:15 2008 -0700 [TIPC]: Ignore message padding when receiving stream data This patch ensures that padding bytes appearing at the end of an incoming TIPC message are not returned as valid stream data. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit a198d3a200313bca8261e30e6daaad790937fd7e Author: Allan Stephens Date: Tue Apr 15 00:07:15 2008 -0700 [TIPC]: Allow stream receive to read from multiple TIPC messages This patch allows a stream socket to receive data from multiple TIPC messages in its receive queue, without requiring the use of the MSG_WAITALL flag. Acknowledgements to Florian Westphal for identifying this issue and suggesting how to correct it. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 990098068fe963f956c14f681bd88d90dcb14584 Author: Allan Stephens Date: Tue Apr 15 00:06:12 2008 -0700 [TIPC]: Skip connection flow control in connectionless sockets This patch optimizes the receive path for SOCK_DGRAM and SOCK_RDM messages by skipping over code that handles connection-based flow control. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit e722409445fbe718f09f6d5e03d0ae84cf0954d0 Author: Oliver Neukum Date: Tue Apr 15 01:31:57 2008 -0400 Input: wacom - implement suspend and autosuspend This implements suspend and autosuspend support for wacom devices. It works by using the usb last busy functionality triggered in the completion callback. Signed-off-by: Oliver Neukum Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 04021e4e401d7ac2051839dd5b00a701c9119dd9 Author: Michael Gruber Date: Tue Apr 15 01:31:47 2008 -0400 Input: xpad - set proper buffer length for outgoing requests The messages for led/rumble are exactly 3 and 8 bytes respectively. Hence set up the transfer_buffer_length accordingly. Signed-off-by: Michael Gruber Acked-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit da3e4c885e5ebbccc8181f53d8ae74c4c22d506f Author: David Brownell Date: Tue Apr 15 01:31:33 2008 -0400 Input: omap-keypad - fix build warning Fix the following build warning: drivers/input/keyboard/omap-keypad.c: In function 'omap_kp_probe': drivers/input/keyboard/omap-keypad.c:418: warning: 'row_idx' is used uninitialized in this function drivers/input/keyboard/omap-keypad.c:421: warning: 'col_idx' is used uninitialized in this function These variables are useful when cpu_is_omap24xx(), and otherwise just for useless cleanup. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Dmitry Torokhov commit 1164ec1ae43770db6ea5450c6cac0761b11d6d1d Author: David Brownell Date: Tue Apr 15 01:31:13 2008 -0400 Input: gpio_keys - irq handling cleanup Cleanup IRQ handling in gpio_keys: bail after handling the IRQ, and report IRQ_NONE if we never handle it. Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit 9f9439e92a7fb057d31a19636b99e43306192756 Author: Hans-Christian Egtvedt Date: Tue Apr 15 01:30:47 2008 -0400 Input: add PS/2 serio driver for AVR32 devices Add support for the PSIF peripheral on AVR32 AP7 devices. It is implemented as a serio driver and will behave like a serio 8042 device. The driver has been tested with a Dell keyboard capable of running on 3.3 volts and a Logitech mouse on the STK1000 + STK1002 starter kit. The Logitech mouse was hacked by cutting the cord and using a bi-directional voltage converter to get the required 5 volt I/O level. For more information about the PSIF module, see the datasheet for AT32AP700X at http://www.atmel.com/dyn/products/datasheets.asp?family_id=682 Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Dmitry Torokhov commit 0beb4f6f294b0f2dde07fa9da9c00abd4f9c8b50 Author: Karl Dahlke Date: Tue Apr 15 01:30:32 2008 -0400 Input: put ledstate in the keyboard notifier Led state should be part of the key event, like shiftstate, and not grabbed asynchronously after the fact. [samuel.thibault@ens-lyon.org: various fixes] Signed-off-by: Samuel Thibault Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 3e238be2f75f2a6d5d5064eda46ac96268c6411e Author: Russell King Date: Mon Apr 14 23:03:10 2008 +0100 [ARM] sa1100: add clock event support d142b6e77d394a4fcc0a42381b03852bd9c4e263 added clock source support, now it's time for the clock event support. Tested-by: Thomas Kunze Signed-off-by: Russell King commit 2c8dd11636e3a5f14a7fb765331b7043f01fe937 Author: Denis V. Lunev Date: Mon Apr 14 14:47:48 2008 -0700 [XFRM]: Compilation warnings in xfrm_user.c. When CONFIG_SECURITY_NETWORK_XFRM is undefined the following warnings appears: net/xfrm/xfrm_user.c: In function 'xfrm_add_pol_expire': net/xfrm/xfrm_user.c:1576: warning: 'ctx' may be used uninitialized in this function net/xfrm/xfrm_user.c: In function 'xfrm_get_policy': net/xfrm/xfrm_user.c:1340: warning: 'ctx' may be used uninitialized in this function (security_xfrm_policy_alloc is noop for the case). It seems that they are result of the commit 03e1ad7b5d871d4189b1da3125c2f12d1b5f7d0b ("LSM: Make the Labeled IPsec hooks more stack friendly") Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 3760d31f11bfbd0ead9eaeb8573e0602437a9d7c Author: Roman Tereshonkov Date: Thu Mar 13 21:35:09 2008 +0200 ARM: OMAP2: New DPLL clock framework These changes is the result of the discussion with Paul Walmsley. His ideas are included into this patch. Remove DPLL output divider handling from DPLLs and CLKOUTX2 clocks, and place it into specific DPLL output divider clocks (e.g., dpll3_m2_clk). omap2_get_dpll_rate() now returns the correct DPLL rate, as represented by the DPLL's CLKOUT output. Also add MPU and IVA2 subsystem clocks, along with high-frequency bypass support. Add support for DPLLs function in locked and bypass clock modes. Signed-off-by: Roman Tereshonkov Acked-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 02e19a960a519224a74da4d190965201044c1583 Author: Paul Walmsley Date: Tue Mar 18 15:09:51 2008 +0200 ARM: OMAP2: Add 34xx clock code This patch add 34xx clock code. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit b045d0809871eae4341e60a1db2b7d31703d8175 Author: Paul Walmsley Date: Tue Mar 18 11:24:28 2008 +0200 ARM: OMAP2: Add 34xx clocks This patch defines 34xx clocks. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit d83b079f0f5c6f5ef34976330b904509a53ff1ec Author: Paul Walmsley Date: Tue Mar 18 11:02:28 2008 +0200 ARM: OMAP2: Remove old PRCM register access code Remove old PRCM register access code that is no longer needed. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit a16e97037b518533569a778f0e997704e5c43796 Author: Tony Lindgren Date: Tue Mar 18 11:56:39 2008 +0200 ARM: OMAP2: Clean up 24xx clock code Clean up 24xx clock code to sync it with linux-omap tree. Signed-off-by: Tony Lindgren commit 2150ef46f8b5b2a5e3e5c53c1b04c513276ad4f7 Author: Paul Walmsley Date: Tue Mar 18 10:53:16 2008 +0200 ARM: OMAP2: Remove old 24xx specific clock functions Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit e32744b02d2d8f5242720998c9f955d8545751ac Author: Paul Walmsley Date: Tue Mar 18 15:47:55 2008 +0200 ARM: OMAP: Add rest of 24xx clocks This patch adds the rest of clocks for 24xx. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 6b8858a972a0eff1dc1ab77b0fd9fc25387c217c Author: Paul Walmsley Date: Tue Mar 18 10:35:15 2008 +0200 ARM: OMAP2: Change 24xx to use shared clock code and new reg access This patch changes 24xx to use shared clock code and new register access. Note that patch adds some temporary OLD_CK defines to keep patch more readable. These temporary defines will be removed in the next patch. Also not all clocks are changed in this patch to limit the size. Also, the patch fixes few incorrect clock defines in clock24xx.h. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 543d93781a3c744017594d0721c4c1814a26bcce Author: Paul Walmsley Date: Tue Mar 18 10:22:06 2008 +0200 ARM: OMAP2: Add common clock framework for 24xx and 34xx This patch adds a common clock framework for 24xx and 34xx. Note that this patch does not add it to Makefile until in next patch. Some functions are modified from earlier 24xx clock framework code. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 3d876e59c819efcc4810a5945f9d780d05e28d93 Author: Paul Walmsley Date: Tue Mar 18 14:41:40 2008 +0200 ARM: OMAP2: Move clock.c to clock24xx.c This patch moves clock.h to clock24xx.c to make room for adding common clock code for 24xx and 34xx. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 32ab2cb9415f341913e3f33ef7566ca6e92ef283 Author: Paul Walmsley Date: Tue Mar 18 10:15:28 2008 +0200 ARM: OMAP2: Move clock.h to clock24xx.h This patch moves clock.h to clock24xx.h to make room for adding common clock code for 24xx and 34xx. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit b81ad56b078a5ee7c0061b117c7287e8987d6692 Author: Tony Lindgren Date: Tue Mar 18 10:59:00 2008 +0200 ARM: OMAP2: Remove old 24xx PM code This patch removes old 24xx PM code that does not really work for sleep states, and uses old power management register access. Working PM code will be added later. Signed-off-by: Tony Lindgren commit 445959821f82846913fe09fee0573e0238415e8c Author: Paul Walmsley Date: Tue Mar 18 10:04:51 2008 +0200 ARM: OMAP2: Change 24xx to use new register access This patch changes 24xx to use new register access, except for clock framework. Clock framework register access will get updates in the next patch. Note that board-*.c files change GPMC (General Purpose Memory Controller) access to use gpmc_cs_write_reg() instead of accessing the registers directly. The code also uses gpmc_fck instead of it's parent clock core_l3_ck for GPMC clock. The H4 board file also adds h4_init_flash() function, which specify the flash start and end addresses. Also note that sleep.S removes some unused registers addresses. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit c595713da76bc7cedddf5135072ea6037cc0befb Author: Tony Lindgren Date: Tue Mar 18 14:53:17 2008 +0200 ARM: OMAP2: Add register access for 34xx This patch adds register access for 34xx power and clock management. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 69d88a00a240fbed07fb6943c862ea3188e9097d Author: Paul Walmsley Date: Tue Mar 18 10:02:50 2008 +0200 ARM: OMAP2: Add common register access for 24xx and 34xx This patch adds common register access for 24xx and 34xx power and clock management in order to share code between 24xx and 34xx. Only change USB platform init code to use new register access, other access will be changed in later patches. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 9330899e0f878ff3b7a23b856de8bbb52c9c04fd Author: Tony Lindgren Date: Thu Jan 24 17:24:15 2008 -0800 ARM: OMAP2: Clean-up mux code Misc clean-up for the mux code and remove some unnecessary ifdefs. Patch changes debug function so it can be used on both 24xx and 34xx. Changes are mostly for omap2, but patch also cleans up some omap1 and common mux code. Signed-off-by: Tony Lindgren commit f7337a199acffa9f12fa9d88253d33bfb56ef14a Author: Tony Lindgren Date: Thu Mar 20 16:56:26 2008 +0200 ARM: OMAP2: Add new pin multiplexing configurations Add new pin multiplexing configurations Signed-off-by: Tony Lindgren commit dd89dd98cb9ae28f9e4c4d2c08be427a1f941c54 Author: Kevin Hilman Date: Mon Nov 12 23:24:04 2007 -0800 ARM: OMAP: TimerMPU: Remove MPU-timer based sched_clock() Remove MPU-timer based sched_clock() in favor of the common one based on 32k sync timer which works across all OMAP1/2/3 platforms. Using 32k based one also gives a valid sched_clock() very early in the boot process. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit caa97963a5d9042af15728bcd22ee5a8900dc0e9 Author: Kevin Hilman Date: Wed Dec 12 18:25:56 2007 -0800 ARM: OMAP: TimerMPU: Remove unused cycles-to-nsec conversions These are no longer used and similar conversions are provided by the clocksource/clockevent code. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 5c8388e5dfa7bddfca68f16b0ef61933508b716b Author: Tony Lindgren Date: Thu Mar 13 08:47:21 2008 +0200 ARM: OMAP1: Timer32K: Fix timer32K for clockevents and clean it up This patch fixes timer32k for clockevents and syncs it with linux-omap tree. Signed-off-by: Tony Lindgren commit a57fb870c8c4864031d7568f91e882e93238c9cb Author: Kevin Hilman Date: Mon Nov 12 23:24:05 2007 -0800 ARM: OMAP: Timer32K: Move timer32k to mach-omap1 Move now OMAP1-specific timer32k code to mach-omap1 since OMAP2/3 32k timers are done in gptimer code. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit f258b0c6fa6ca653c7f4e6e2846dbb7ed3af3446 Author: Kevin Hilman Date: Mon Nov 12 23:24:03 2007 -0800 ARM: OMAP: Timer32K: Move 32k-based sched_clock() to common code Since 32k timer code is moving to OMAP1 specific dir, move the 32k-based sched_clock() into common code where it is based on the 32k sync counter and can be used even when using MPU timer. While moving, change the ticks-to-nsecs conversion to use the helper functions provided by clocksource.h. Also removed the unused ticks_to_usec, leaving only ticks_to_nsec. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 5a3a388fbefac3705dfcde16c93fc81e6fd9378f Author: Kevin Hilman Date: Mon Nov 12 23:24:02 2007 -0800 ARM: OMAP: Timer32K: Re-organize duplicated 32k-timer code On OMAP2/3, the gp-timer code can be used for a 32kHz timer simply by setting the source to be the 32k clock instead of sys_clk. This patch uses the mach-omap2/timer-gp.c code for 32kHz timer on OMAP2, moving the logic into mach-omap2/timer-gp.c, and not using plat-omap/timer32k.c which, for OMAP2, is redundant with the timer-gp code. Also, if CONFIG_OMAP_32K_TIMER is enabled, the gptimer-based clocksource is not used. Instead the default 32k sync counter is used as the clocksource (see the clocksource in plat-omap/common.c.) This is important for sleep/suspend so there is a valid counter during sleep. Note that the suspend/sleep code needs fixing to check for overflows of this counter. In addition, the OMAP2/3 details are removed from timer32k.c leaving that with only OMAP1 specifics. A follow-up patch will move it from plat-omap common code to mach-omap1. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 225dfda1d676b70acf1e696ace68c23297926ce0 Author: Tony Lindgren Date: Fri Jan 25 00:42:48 2008 -0800 ARM: OMAP: Split omap_cfg_reg() into omap processor specific functions Use omap processor specific function depending on system type. Based on an earlier patch by Klaus Pedersen . Signed-off-by: Tony Lindgren commit 7d7f665d5dac8d19f2fcb56baea09c59a3f861be Author: Tony Lindgren Date: Fri Jan 25 00:42:48 2008 -0800 ARM: OMAP: Allow registering pin mux function This patch changes pin multiplexing init to allow registering custom function. The omap_cfg_reg() func will be split into omap processor specific functions in later patch. This is done to make adding omap3 pin multiplexing easier. Signed-off-by: Tony Lindgren commit 672e302e3c04e40e7c236cb09159f593f24f5def Author: Kevin Hilman Date: Wed Jan 16 21:56:16 2008 -0800 ARM: OMAP: use edge/level handlers from generic IRQ framework Currently, the GPIO interrupt handling is duplicating some of the work done by the generic IRQ handlers (handle_edge_irq, handle_level_irq) such as detecting nesting, handling re-triggers etc. Remove this duplication and use generic hooks based on IRQ type. Using generic IRQ handlers ensures correct behavior when using threaded interrupts introduced by the -rt patch. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit b144ff6f3068602e5bbcefab888b97bcedb9b4a5 Author: Kevin Hilman Date: Wed Jan 16 21:56:15 2008 -0800 ARM: OMAP: Clear level-triggered GPIO interrupts in unmask hook The clearing was moved to the unmask hook because it is known to run after the interrupt handler has actually run. Before this patch, if interrupts are threaded, the clearing/unmasking of level triggered interrupts would be done before the threaded handler actually ran. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit d94577d5a581fe55c46b5b82eee733b8d053db19 Author: David Brownell Date: Thu Feb 28 22:09:15 2008 -0800 ARM: OMAP: Use gpiolib with tps65010 for OSK 5912 Convert OSK board to use new tps65010 gpiolib support. This includes moving its LED support from leds-osk to gpio-leds, giving more trigger options and a net platform code shrink. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 79966fd9b4781f9bd257312489ff511f2c01f210 Author: David Brownell Date: Thu Feb 28 22:07:28 2008 -0800 ARM: OMAP: I2C: tps65010 driver converts to gpiolib Make the tps65010 driver use gpiolib to expose its GPIOs. Note: This patch will get merged via omap tree instead of I2C as it will cause some board updates. This has been discussed at on the I2C list: http://lists.lm-sensors.org/pipermail/i2c/2008-March/003031.html Signed-off-by: David Brownell Cc: i2c@lm-sensors.org Signed-off-by: Tony Lindgren commit ac37a0b0ba7e8a6afce8db3f6c3367a3cfedad26 Author: David Brownell Date: Tue Feb 26 00:01:23 2008 -0800 ARM: OMAP: 5912 OSK GPIO updates Start cleaning up GPIO handling for OMAP5912 OSK board: - Initialize GPIOs using the cross-platform calls, not the old OMAP-private ones. - Move touchscreen setup out of ads7846 code into board-specfic setup code, where it belongs. This doesn't depend on the patches to update OMAP to use the gpiolib implementation framework. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 52e3134423c3af4431fedb34f77e31cfff91e0c3 Author: David Brownell Date: Mon Mar 3 12:43:23 2008 -0800 ARM: OMAP: Use gpiolib Update OMAP to use the new GPIO implementation framework. This is just a quick'n'dirty update ... more code could now be removed, ideally as part of cleaning up the entire OMAP GPIO infrastructure ... Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 0f389ec63077521166f071e1e970aed36147fd45 Author: Christoph Lameter Date: Mon Apr 14 18:53:02 2008 +0300 slub: No need for per node slab counters if !SLUB_DEBUG The per node counters are used mainly for showing data through the sysfs API. If that API is not compiled in then there is no point in keeping track of this data. Disable counters for the number of slabs and the number of total slabs if !SLUB_DEBUG. Incrementing the per node counters is also accessing a potentially contended cacheline so this could actually be a performance benefit to embedded systems. SLABINFO support is also affected. It now must depends on SLUB_DEBUG (which is on by default). Patch also avoids a check for a NULL kmem_cache_node pointer in new_slab() if the system is not compiled with NUMA support. [penberg@cs.helsinki.fi: fix oops and move ->nr_slabs into CONFIG_SLUB_DEBUG] Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 49bd5221ce8fb55d12c04a3ffd375201c5bbfb7a Author: Christoph Lameter Date: Mon Apr 14 18:52:18 2008 +0300 slub: Move map/flag clearing to __free_slab __free_slab does some diagnostics. The resetting of mapcount etc in discard_slab() can interfere with debug processing. So move the reset immediately before the page is freed. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 50ef37b96c11e76625067ae413dc54585ea22585 Author: Christoph Lameter Date: Mon Apr 14 18:52:05 2008 +0300 slub: Fixes to per cpu stat output in sysfs Only output per cpu stats if the kernel is build for SMP. Use a capital "C" as a leading character for the processor number (same as the numa statistics that also use a capital letter "N"). Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 5b06c853ad447636e31d105e95c48ae9abb6bfb5 Author: Christoph Lameter Date: Mon Apr 14 18:51:34 2008 +0300 slub: Deal with config variable dependencies count_partial() is used by both slabinfo and the sysfs proc support. Move the function directly before the beginning of the sysfs code so that it can be easily found. Rework the preprocessor conditional to take into account that slub sysfs support depends on CONFIG_SYSFS *and* CONFIG_SLUB_DEBUG. Make CONFIG_SLUB_STATS depend on CONFIG_SLUB_DEBUG and CONFIG_SYSFS. There is no point of keeping statistics if no one can restrive them. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 4097d6017576a5e138f442f5e3c393ad00d10f58 Author: Christoph Lameter Date: Mon Apr 14 18:51:18 2008 +0300 slub: Reduce #ifdef ZONE_DMA by moving kmalloc_caches_dma near dma logic Move the definition of kmalloc_caches_dma() into a later #ifdef CONFIG_ZONE_DMA. This saves one #ifdef and leaves us with a total of two #ifdefs for dma slab support. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 62f75532b583c03840f31e40386ce2df73be9ca0 Author: Pekka Enberg Date: Mon Apr 14 18:50:44 2008 +0300 slub: Initialize per-cpu stats As spotted by kmemcheck, we need to initialize the per-CPU ->stat array before using it. [kmem_cache_cpu structures are usually allocated from arrays defined via DEFINE_PER_CPU that are zeroed so we have not noticed this so far --cl]. Reported-by: Vegard Nossum Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 320787c75ccac3189a1b7aae81f0efc1055f6d3a Author: Paul Mackerras Date: Mon Apr 14 13:59:02 2008 +1000 [POWERPC] Fix handling of unrecoverable SLB miss interrupts If an SLB miss interrupt happens while the RI bit of MSR is zero, we can't just return, because RI being zero indicates that SRR0/SRR1 potentially had live values in them, and the process of taking an interrupt overwrites them. This should never happen, but if it does, we try to print a nice oops message. That doesn't work, however, because the code at unrecov_slb assumes that the MMU has been turned on, but we call it with the MMU off (and have done so since the SLB miss handler was rewritten to run without turning the MMU on) -- except on iSeries, where everything runs with the MMU on. This fixes it by adding the necessary code to turn the MMU on if necessary. Signed-off-by: Paul Mackerras commit ac7c5353b189e10cf5dd27399f64f7b013abffc6 Merge: a8f75ea... 120dd64... Author: Paul Mackerras Date: Mon Apr 14 21:11:02 2008 +1000 Merge branch 'linux-2.6' commit 569508c964a8b5235e00998523bc3acd3f6aff01 Author: YOSHIFUJI Hideaki Date: Mon Apr 14 04:09:36 2008 -0700 [TCP]: Format addresses appropriately in debug messages. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit a7d632b6b4ad1c92746ed409e41f9dc571ec04e2 Author: YOSHIFUJI Hideaki Date: Mon Apr 14 04:09:00 2008 -0700 [IPV4]: Use NIPQUAD_FMT to format ipv4 addresses. And use %u to format port. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 334f8b2afd9652e20f67ddee4fec483ed860425b Merge: 7477fd2... ef1a5a5... Author: David S. Miller Date: Mon Apr 14 03:50:43 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6.26 commit 7477fd2e6b676fcd15861c2a96a7172f71afe0a5 Author: Pavel Emelyanov Date: Mon Apr 14 02:42:27 2008 -0700 [SOCK]: Add some notes about per-bind-bucket sock lookup. I was asked about "why don't we perform a sk_net filtering in bind_conflict calls, like we do in other sock lookup places" for a couple of times. Can we please add a comment about why we do not need one? Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 13f51d82acb003918d71ce4639ae77fceaa58cad Author: Pavel Emelyanov Date: Mon Apr 14 02:38:45 2008 -0700 [DCCP]: Fix comment about control sockets. These sockets now have a bit other names and are no longer global. Shame on me, I haven't provided a good comment for this when sending DCCP netnsization patches. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit df39e8ba56a788733d369068c7319e04b1da3cd5 Merge: f557285... 159d833... Author: David S. Miller Date: Mon Apr 14 02:30:23 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/ehea/ehea_main.c drivers/net/wireless/iwlwifi/Kconfig drivers/net/wireless/rt2x00/rt61pci.c net/ipv4/inet_timewait_sock.c net/ipv6/raw.c net/mac80211/ieee80211_sta.c commit ef1a5a50bbd509b8697dcd4d13017e9e0053867b Author: Patrick McHardy Date: Mon Apr 14 11:21:01 2008 +0200 [NETFILTER]: nf_conntrack: fix incorrect check for expectations The expectation classes changed help->expectations to an array, fix use as scalar value. Signed-off-by: Patrick McHardy commit e7bfd0a1a6c8f82977253dab19be9d9979c1ec1b Author: Peter Warasin Date: Mon Apr 14 11:15:54 2008 +0200 [NETFILTER]: bridge: add ebt_nflog watcher This patch adds the ebtables nflog watcher to the kernel in order to allow ebtables log through the nfnetlink_log backend. Signed-off-by: Peter Warasin Signed-off-by: Patrick McHardy commit 3c9fba656a185cf56872a325e5594d9b4d4168ec Author: Jan Engelhardt Date: Mon Apr 14 11:15:54 2008 +0200 [NETFILTER]: nf_conntrack: replace NF_CT_DUMP_TUPLE macro indrection by function call Directly call IPv4 and IPv6 variants where the address family is easily known. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 12c33aa20e1e248ac199d58076fcd4522acbff17 Author: Jan Engelhardt Date: Mon Apr 14 11:15:54 2008 +0200 [NETFILTER]: nf_conntrack: const annotations in nf_conntrack_sctp, nf_nat_proto_gre Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit f2ea825f483d5d78754ae813b6db63f8b74e9343 Author: Jan Engelhardt Date: Mon Apr 14 11:15:53 2008 +0200 [NETFILTER]: nf_nat: use bool type in nf_nat_proto Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 5f2b4c9006fc667c4614f0b079efab3721f68316 Author: Jan Engelhardt Date: Mon Apr 14 11:15:53 2008 +0200 [NETFILTER]: nf_conntrack: use bool type in struct nf_conntrack_tuple.h Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 09f263cd39751cada63dec2dccc71e67c00bc38c Author: Jan Engelhardt Date: Mon Apr 14 11:15:53 2008 +0200 [NETFILTER]: nf_conntrack: use bool type in struct nf_conntrack_l4proto Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 8ce8439a31f723f3aa28adf27fe8797a5678dde1 Author: Jan Engelhardt Date: Mon Apr 14 11:15:52 2008 +0200 [NETFILTER]: nf_conntrack: use bool type in struct nf_conntrack_l3proto Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 9dbae7917899d78a094aceeb5062cd76efa89052 Author: Jan Engelhardt Date: Mon Apr 14 11:15:52 2008 +0200 [NETFILTER]: Remove unused callbacks in nf_conntrack_l3proto These functions are never called. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 5e8fbe2ac8a3f1e34e7004c5750ef59bf9304f82 Author: Patrick McHardy Date: Mon Apr 14 11:15:52 2008 +0200 [NETFILTER]: nf_conntrack: add tuplehash l3num/protonum accessors Add accessors for l3num and protonum and get rid of some overly long expressions. Signed-off-by: Patrick McHardy commit 5f7da4d26d421f3bdf10c3bbdb86ffc3a12a84f2 Author: Patrick McHardy Date: Mon Apr 14 11:15:52 2008 +0200 [NETFILTER]: nf_conntrack_tcp: catch invalid state updates over ctnetlink Invalid states can cause out-of-bound memory accesses of the state table. Also don't insist on having a new state contained in the netlink message. Signed-off-by: Patrick McHardy commit dd13b010368f85dfa59364ba87bfe8ae930b2832 Author: Patrick McHardy Date: Mon Apr 14 11:15:52 2008 +0200 [NETFILTER]: nf_nat: kill helper and seq_adjust hooks Connection tracking helpers (specifically FTP) need to be called before NAT sequence numbers adjustments are performed to be able to compare them against previously seen ones. We've introduced two new hooks around 2.6.11 to maintain this ordering when NAT modules were changed to get called from conntrack helpers directly. The cost of netfilter hooks is quite high and sequence number adjustments are only rarely needed however. Add a RCU-protected sequence number adjustment function pointer and call it from IPv4 conntrack after calling the helper. Signed-off-by: Patrick McHardy commit 55871d04793d9c069ee277b1e98794b88d92ed80 Author: Patrick McHardy Date: Mon Apr 14 11:15:51 2008 +0200 [NETFILTER]: nf_conntrack_extend: warn on confirmed conntracks New extensions may only be added to unconfirmed conntracks to avoid races when reallocating the storage. Also change NF_CT_ASSERT to use WARN_ON to get backtraces. Signed-off-by: Patrick McHardy commit 8c87238b726e543f8af4bdb4296020a328df4744 Author: Patrick McHardy Date: Mon Apr 14 11:15:51 2008 +0200 [NETFILTER]: nf_nat: don't add NAT extension for confirmed conntracks Adding extensions to confirmed conntracks is not allowed to avoid races on reallocation. Don't setup NAT for confirmed conntracks in case NAT module is loaded late. The has one side-effect, the connections existing before the NAT module was loaded won't enter the bysource hash. The only case where this actually makes a difference is in case of SNAT to a multirange where the IP before NAT is also part of the range. Since old connections don't enter the bysource hash the first new connection from the IP will have a new address selected. This shouldn't matter at all. Signed-off-by: Patrick McHardy commit 42cf800c240fa845e9c154429d70d62750e65b64 Author: Patrick McHardy Date: Mon Apr 14 11:15:50 2008 +0200 [NETFILTER]: nf_nat: remove obsolete check for ICMP redirects Locally generated ICMP packets have a reference to the conntrack entry of the original packet manually attached by icmp_send(). Therefore the check for locally originated untracked ICMP redirects can never be true. Signed-off-by: Patrick McHardy commit 9d908a69a32e0171eb5eeac93f2f46ffa4190573 Author: Patrick McHardy Date: Mon Apr 14 11:15:50 2008 +0200 [NETFILTER]: nf_nat: add SCTP protocol support Signed-off-by: Patrick McHardy commit 4910a087996e637adc50f955eccf114307f8fab7 Author: Patrick McHardy Date: Thu Mar 20 15:15:57 2008 +0100 [NETFILTER]: nf_nat: add DCCP protocol support Signed-off-by: Patrick McHardy commit 2bc780499aa33311ec0f3e42624dfaa7be0ade5e Author: Patrick McHardy Date: Thu Mar 20 15:15:55 2008 +0100 [NETFILTER]: nf_conntrack: add DCCP protocol support Add DCCP conntrack helper. Thanks to Gerrit Renker for review and testing. Signed-off-by: Patrick McHardy commit d63a650736f566a1f9e9434725d2089597c0d2cc Author: Patrick McHardy Date: Thu Mar 20 15:15:53 2008 +0100 [NETFILTER]: Add partial checksum validation helper Move the UDP-Lite conntrack checksum validation to a generic helper similar to nf_checksum() and make it fall back to nf_checksum() in case the full packet is to be checksummed and hardware checksums are available. This is to be used by DCCP conntrack, which also needs to verify partial checksums. Signed-off-by: Patrick McHardy commit 6185f870e293a0a3eae5c81eb0106480cf03dfde Author: Patrick McHardy Date: Thu Mar 20 15:15:51 2008 +0100 [NETFILTER]: nf_nat: add UDP-Lite support Signed-off-by: Patrick McHardy commit 2d2d84c40e19a7fce51ba1f124ecde105104192d Author: Patrick McHardy Date: Thu Mar 20 15:15:49 2008 +0100 [NETFILTER]: nf_nat: remove unused name from struct nf_nat_protocol Signed-off-by: Patrick McHardy commit ca6a50749012fc17feeec91ee2f9eeacacf06f0b Author: Patrick McHardy Date: Mon Apr 14 11:15:47 2008 +0200 [NETFILTER]: nf_conntrack_netlink: clean up NAT protocol parsing Move responsibility for setting the IP_NAT_RANGE_PROTO_SPECIFIED flag to the NAT protocol, properly propagate errors and get rid of ugly return value convention. Signed-off-by: Patrick McHardy commit 535b57c7c1524125444aa1b874332f6ff1608ef5 Author: Patrick McHardy Date: Mon Apr 14 11:15:47 2008 +0200 [NETFILTER]: nf_nat: move NAT ctnetlink helpers to nf_nat_proto_common Move to nf_nat_proto_common and rename to nf_nat_proto_... since they're also used by protocols that don't have port numbers. Signed-off-by: Patrick McHardy commit 5abd363f738dcd048ee790fb9b84d0768a8a407f Author: Patrick McHardy Date: Mon Apr 14 11:15:46 2008 +0200 [NETFILTER]: nf_nat: fix random mode not to overwrite port rover The port rover should not get overwritten when using random mode, otherwise other rules will also use more or less random ports. Signed-off-by: Patrick McHardy commit 937e0dfd87a8b7946a17161664500fba93eb13fd Author: Patrick McHardy Date: Thu Mar 20 15:15:47 2008 +0100 [NETFILTER]: nf_nat: add helpers for common NAT protocol operations Add generic ->in_range and ->unique_tuple ops to avoid duplicating them again and again for future NAT modules and save a few bytes of text: net/ipv4/netfilter/nf_nat_proto_tcp.c: tcp_in_range | -62 (removed) tcp_unique_tuple | -259 # 271 -> 12, # inlines: 1 -> 0, size inlines: 7 -> 0 2 functions changed, 321 bytes removed net/ipv4/netfilter/nf_nat_proto_udp.c: udp_in_range | -62 (removed) udp_unique_tuple | -259 # 271 -> 12, # inlines: 1 -> 0, size inlines: 7 -> 0 2 functions changed, 321 bytes removed net/ipv4/netfilter/nf_nat_proto_gre.c: gre_in_range | -62 (removed) 1 function changed, 62 bytes removed vmlinux: 5 functions changed, 704 bytes removed Signed-off-by: Patrick McHardy commit 544473c1664f3a688be949ac078bdee6f4afeef1 Author: Patrick McHardy Date: Mon Apr 14 11:15:45 2008 +0200 [NETFILTER]: {ip,ip6,arp}_tables: return EAGAIN for invalid SO_GET_ENTRIES size Rule dumping is performed in two steps: first userspace gets the ruleset size using getsockopt(SO_GET_INFO) and allocates memory, then it calls getsockopt(SO_GET_ENTRIES) to actually dump the ruleset. When another process changes the ruleset in between the sizes from the first getsockopt call doesn't match anymore and the kernel aborts. Unfortunately it returns EAGAIN, as for multiple other possible errors, so userspace can't distinguish this case from real errors. Return EAGAIN so userspace can retry the operation. Fixes (with current iptables SVN version) netfilter bugzilla #104. Signed-off-by: Patrick McHardy commit fa913ddf6372b20b23061996150d38f639488d42 Author: Patrick McHardy Date: Mon Apr 14 11:15:45 2008 +0200 [NETFILTER]: nf_conntrack_sip: clear address in parse_addr() Some callers pass uninitialized structures, clear the address to make sure later comparisions work properly. Signed-off-by: Patrick McHardy commit c2f9c68398ec724738509f95f1599378ebcc45e0 Author: Jan Engelhardt Date: Mon Apr 14 11:15:44 2008 +0200 [NETFILTER]: Explicitly initialize .priority in arptable_filter Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 3bb0362d2f53fa54a17b88c96b43fc093e47699b Author: Jan Engelhardt Date: Mon Apr 14 11:15:44 2008 +0200 [NETFILTER]: remove arpt_(un)register_target indirection macros Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 95eea855af69bfd54a7b73546190e76046ca2e07 Author: Jan Engelhardt Date: Mon Apr 14 11:15:43 2008 +0200 [NETFILTER]: remove arpt_target indirection macro Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 4abff0775d5e4feb20b21371e1c63a1b30fc2140 Author: Jan Engelhardt Date: Mon Apr 14 11:15:43 2008 +0200 [NETFILTER]: remove arpt_table indirection macro Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 72b72949db9aabaafd791a9077f02188a866824d Author: Jan Engelhardt Date: Mon Apr 14 11:15:42 2008 +0200 [NETFILTER]: annotate rest of nf_nat_* with const Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 58c0fb0ddd92e5105d61fc85b6e7af7b1f669067 Author: Jan Engelhardt Date: Mon Apr 14 11:15:42 2008 +0200 [NETFILTER]: annotate rest of nf_conntrack_* with const Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 5452e425adfdfc4647b618e303f73d48f2405b0e Author: Jan Engelhardt Date: Mon Apr 14 11:15:35 2008 +0200 [NETFILTER]: annotate {arp,ip,ip6,x}tables with const Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 3cf93c96af7adf78542d45f8a27f0e5f8704409d Author: Jan Engelhardt Date: Mon Apr 14 09:56:05 2008 +0200 [NETFILTER]: annotate xtables targets with const and remove casts Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit b9f61b160336da5eaaacb0cb41ebe32169e3bde5 Author: Jan Engelhardt Date: Mon Apr 14 09:56:04 2008 +0200 [NETFILTER]: xt_sctp: simplify xt_sctp.h The use of xt_sctp.h flagged up -Wshadow warnings in userspace, which prompted me to look at it and clean it up. Basic operations have been directly replaced by library calls (memcpy, memset is both available in the kernel and userspace, and usually faster than a self-made loop). The is_set and is_clear functions now use a processing time shortcut, too. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit fdccecd0cc267817607acca386181439e8e1bd83 Author: Robert P. J. Day Date: Mon Apr 14 09:56:03 2008 +0200 [NETFILTER]: Use non-deprecated __RW_LOCK_UNLOCKED macro Signed-off-by: Robert P. J. Day Signed-off-by: Patrick McHardy commit 0718300c06d4b86ca2f4b93084ff3813fc81f5a2 Author: Robert P. J. Day Date: Mon Apr 14 09:56:03 2008 +0200 [NETFILTER]: bridge netfilter: use non-deprecated __RW_LOCK_UNLOCKED macro. Signed-off-by: Robert P. J. Day Signed-off-by: Patrick McHardy commit 666953df353194bef76086fa3f126241cbac3e3a Author: Alexey Dobriyan Date: Mon Apr 14 09:56:02 2008 +0200 [NETFILTER]: ip_tables: per-netns FILTER/MANGLE/RAW tables for real Commit 9335f047fe61587ec82ff12fbb1220bcfdd32006 aka "[NETFILTER]: ip_tables: per-netns FILTER, MANGLE, RAW" added per-netns _view_ of iptables rules. They were shown to user, but ignored by filtering code. Now that it's possible to at least ping loopback, per-netns tables can affect filtering decisions. netns is taken in case of PRE_ROUTING, LOCAL_IN -- from in device, POST_ROUTING, LOCAL_OUT -- from out device, FORWARD -- from in device which should be equal to out device's netns. This code is relatively new, so BUG_ON was plugged. Wrappers were added to a) keep code the same from CONFIG_NET_NS=n users (overwhelming majority), b) consolidate code in one place -- similar changes will be done in ipv6 and arp netfilter code. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 36e2a1b0f7f2598e38952494b91490f58aa221c8 Author: Patrick McHardy Date: Thu Mar 20 15:15:45 2008 +0100 [NETFILTER]: {ip,ip6}t_LOG: print MARK value in log output Dump the mark value in log messages similar to nfnetlink_log. This is useful for debugging complex setups where marks are used for routing or traffic classification. Signed-off-by: Patrick McHardy commit b916f7d4b7b4b427ad9a9486de3da41a16b24d67 Author: Alexey Dobriyan Date: Thu Mar 20 15:15:43 2008 +0100 [NETFILTER]: nf_conntrack: less hairy ifdefs around proc and sysctl Patch splits creation of /proc/net/nf_conntrack, /proc/net/stat/nf_conntrack and net.netfilter hierarchy into their own functions with dummy ones if PROC_FS or SYSCTL is not set. Also, remove dead "ret = 0" write while I'm at it. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit f5572855ec492334d8c3ec0e0e86c31865d5cf07 Author: Gerrit Renker Date: Mon Apr 14 00:05:28 2008 -0700 [SKB]: __skb_queue_tail = __skb_insert before This expresses __skb_queue_tail() in terms of __skb_insert(), using __skb_insert_before() as auxiliary function. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 7de6c033367ab86f39c7723392caf73325cbf286 Author: Gerrit Renker Date: Mon Apr 14 00:05:09 2008 -0700 [SKB]: __skb_append = __skb_queue_after This expresses __skb_append in terms of __skb_queue_after, exploiting that __skb_append(old, new, list) = __skb_queue_after(list, old, new). Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit bf299275882624b1908521ee8074df85160e9679 Author: Gerrit Renker Date: Mon Apr 14 00:04:51 2008 -0700 [SKB]: __skb_queue_after(prev) = __skb_insert(prev, prev->next) By reordering, __skb_queue_after() is expressed in terms of __skb_insert(). Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit f525c06d12b72cddb085df7f6f348c3c5a39b3ce Author: Gerrit Renker Date: Mon Apr 14 00:04:12 2008 -0700 [SKB]: __skb_dequeue = skb_peek + __skb_unlink By rearranging the order of declarations, __skb_dequeue() is expressed in terms of * skb_peek() and * __skb_unlink(), thus in effect mirroring the analogue implementation of __skb_dequeue_tail(). Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 0912ea38de61378c5c753aef78c12e2f95854313 Author: Rami Rosen Date: Sun Apr 13 23:59:13 2008 -0700 [IPV6] MROUTE: Add stats in multicast routing module method ip6_mr_forward(). This patches adds a call to increment IPSTATS_MIB_OUTFORWDATAGRAMS when forwarding the packet in ip6_mr_forward() in the IPv6 multicast routing module (net/ipv6/ip6mr.c). Signed-off-by: Rami Rosen Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 0b18542b7f5379e052d2a3132be91185776e7ceb Author: Jan Engelhardt Date: Sun Apr 13 23:30:47 2008 -0700 [NET]: Sink IPv6 menuoptions into its own submenu Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit e7712f1a7c32a5533be25ed806b1a8f7e42b452a Author: YOSHIFUJI Hideaki Date: Sun Apr 13 23:21:52 2008 -0700 [IPV6]: Share common code-paths for sticky socket options. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit cee8947338d46bccece54c752bf6cd4043035f05 Author: YOSHIFUJI Hideaki Date: Sun Apr 13 23:21:16 2008 -0700 [IPV6] MROUTE: Do not call ipv6_find_idev() directly. Since NETDEV_REGISTER notifier chain is responsible for creating inet6_dev{}, we do not need to call ipv6_find_idev() directly here. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 671a1c7401c6e48f5f2a77ac330727a13a9c8b63 Author: Pavel Emelyanov Date: Sun Apr 13 22:33:06 2008 -0700 [NETNS][DCCPV6]: Make per-net socket lookup. The inet6_lookup family of functions requires a net to lookup a socket in, so give a proper one to them. No more things to do for dccpv6, since routing is OK and the ipv4-like transport layer filtering is not done for ipv6. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 334527d3511ecbffca68d6c8f75046262510cf41 Author: Pavel Emelyanov Date: Sun Apr 13 22:32:45 2008 -0700 [NETNS][DCCPV6]: Actually create ctl socket on each net and use it. Move the call to inet_ctl_sock_create to init callback (and inet_ctl_sock_destroy to exit one) and use proper ctl sock in dccp_v6_ctl_send_reset. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 0204774191d3e7bc69e3ae6bbf328b635607505a Author: Pavel Emelyanov Date: Sun Apr 13 22:32:25 2008 -0700 [NETNS][DCCPV6]: Move the dccp_v6_ctl_sk on the struct net. And replace all its usage with init_net's socket. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8231bd270df435f2d4d85b284dd9dbd48521dd84 Author: Pavel Emelyanov Date: Sun Apr 13 22:32:02 2008 -0700 [NETNS][DCCPV6]: Add dummy per-net operations. They will be responsible for ctl socket initialization, but currently they are void. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 68d185980f70413b353df99cdf5e667510036668 Author: Pavel Emelyanov Date: Sun Apr 13 22:31:32 2008 -0700 [NETNS][DCCPV6]: Don't pass NULL to ip6_dst_lookup. This call uses the sock to get the net to lookup the routing in. With CONFIG_NET_NS this code will OOPS, since the sk ptr is NULL. After looking inside the ip6_dst_lookup and drawing the analogy with respective ipv6 code, it seems, that the dccp ctl socket is a good candidate for the first argument. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit fc5f8580d31d52890f17526ea739b124bd4e56f4 Author: Pavel Emelyanov Date: Sun Apr 13 22:31:05 2008 -0700 [NETNS][DCCPV4]: Enable DCCPv4 in net namespaces. This enables sockets creation with IPPROTO_DCCP and enables the ip level to pass DCCP packets to the DCCP level. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b9901a84c98fe27c6a598c0f3ec944a7f17a5f97 Author: Pavel Emelyanov Date: Sun Apr 13 22:30:43 2008 -0700 [NETNS][DCCPV4]: Make per-net socket lookup. The inet_lookup family of functions requires a net to lookup a socket in, so give a proper one to them. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f54873982c6aac9bc5c7eef62a9ce4d52b1dfc19 Author: Pavel Emelyanov Date: Sun Apr 13 22:30:19 2008 -0700 [NETNS][DCCPV4]: Use proper net to route the reset packet. The dccp_v4_route_skb used in dccp_v4_ctl_send_reset, currently works with init_net's routing tables - fix it. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b76c4b27fee9c88294d3152784291fc6f6d23401 Author: Pavel Emelyanov Date: Sun Apr 13 22:29:59 2008 -0700 [NETNS][DCCPV4]: Actually create ctl socket on each net and use it. Move the call to inet_ctl_sock_create to init callback (and inet_ctl_sock_destroy to exit one) and use proper ctl sock in dccp_v4_ctl_send_reset. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7b1cffa8c90269dc3dc721d084d1e0d742d87c31 Author: Pavel Emelyanov Date: Sun Apr 13 22:29:37 2008 -0700 [NETNS][DCCPV4]: Move the dccp_v4_ctl_sk on the struct net. And replace all its usage with init_net's socket. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 72a2d6138224298a576bcdc33d7d0004de604856 Author: Pavel Emelyanov Date: Sun Apr 13 22:29:13 2008 -0700 [NETNS][DCCPV4]: Add dummy per-net operations. They will be responsible for ctl socket initialization, but currently they are void. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 67019cc9ee3f4868c8e5e493b2873c4722306019 Author: Pavel Emelyanov Date: Sun Apr 13 22:28:42 2008 -0700 [NETNS]: Add an empty netns_dccp structure on struct net. According to the overall struct net design, it will be filled with DCCP-related members. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 5f4472c5a640c9671ca5becaebdfd6e651482176 Author: Denis V. Lunev Date: Sun Apr 13 22:13:53 2008 -0700 [TCP]: Remove owner from tcp_seq_afinfo. Move it to tcp_seq_afinfo->seq_fops as should be. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 68fcadd16c371d5e0698ba366f33a4f990ce83ce Author: Denis V. Lunev Date: Sun Apr 13 22:13:30 2008 -0700 [TCP]: Place file operations directly into tcp_seq_afinfo. No need to have separate never-used variable. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 52d6f3f11bdb8c26fead701c9dbad08acd28063d Author: Denis V. Lunev Date: Sun Apr 13 22:12:41 2008 -0700 [TCP]: Cleanup /proc/tcp[6] creation/removal. Replace seq_open with seq_open_net and remove tcp_seq_release completely. seq_release_net will do this job just fine. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 9427c4b36b8fe652df1d7c89eae678948e1f4b32 Author: Denis V. Lunev Date: Sun Apr 13 22:12:13 2008 -0700 [TCP]: Move seq_ops from tcp_iter_state to tcp_seq_afinfo. No need to create seq_operations for each instance of 'netstat'. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 1abf4fb20d38cf58c92b27f4d6ad4fa92a3bb553 Author: Denis V. Lunev Date: Sun Apr 13 22:11:46 2008 -0700 [TCP]: No need to check afinfo != NULL in tcp_proc_(un)register. tcp_proc_register/tcp_proc_unregister are called with a static pointer only. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a4146b1b2c6ba995db08b1a2aef5af1b17b151e6 Author: Denis V. Lunev Date: Sun Apr 13 22:11:14 2008 -0700 [TCP]: Replace struct net on tcp_iter_state with seq_net_private. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 2cf83afe902fd72ef4b211774e48ab39890fb328 Author: Denys Vlasenko Date: Sun Apr 13 21:54:34 2008 -0700 [ATM] drivers/atm/horizon.c: stop inlining largish static functions drivers/atm/horizon.c has unusually large number of static inline functions - 36. I looked through them. Most of them seems to be small enough, but a few are big, others are using udelay or busy loop, and as such are better not be inlined. This patch removes "inline" from these static functions (regardless of number of callsites - gcc nowadays auto-inlines statics with one callsite). Size difference for 32bit x86: text data bss dec hex filename 8201 180 6 8387 20c3 linux-2.6-ALLYES/drivers/atm/horizon.o 7840 180 6 8026 1f5a linux-2.6.inline-ALLYES/drivers/atm/horizon.o Signed-off-by: Denys Vlasenko Signed-off-by: David S. Miller commit ac6f78192054784f02dd47f8e6d7d1c8d75ab173 Author: Gerrit Renker Date: Sun Apr 13 21:50:08 2008 -0700 [INET]: sk_reuse is valbool sk_reuse is declared as "unsigned char", but is set as type valbool in net/core/sock.c. There is no other place in net/ where sk->sk_reuse is set to a value > 1, so the test "sk_reuse > 1" can not be true. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 3654ea02f2819cf8821c0acd35bc7cded5f1f2a9 Author: Allan Stephens Date: Sun Apr 13 21:35:11 2008 -0700 [TIPC]: Improve socket time conversions This patch modifies TIPC's socket code to use standard kernel routines to handle time conversions between jiffies and ms. This ensures proper operation even when HZ isn't 1000. Acknowledgements to Eric Sesterhenn for identifying this issue and proposing a solution. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 9673693284763417ea5edcdebc1a0c5d1dead51c Author: Allan Stephens Date: Sun Apr 13 21:33:17 2008 -0700 [TIPC]: Remove redundant socket wait queue initialization This patch eliminates re-initialization of the standard socket wait queue used for sleeping in TIPC's socket creation code. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 6fb9114e4bc4b9144306bc2c64abd18b364409d7 Merge: 03e1ad7... 05f175c... Author: David S. Miller Date: Sat Apr 12 19:19:46 2008 -0700 Merge branch 'net-2.6.26-misc-20080412b' of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-dev commit 03e1ad7b5d871d4189b1da3125c2f12d1b5f7d0b Author: Paul Moore Date: Sat Apr 12 19:07:52 2008 -0700 LSM: Make the Labeled IPsec hooks more stack friendly The xfrm_get_policy() and xfrm_add_pol_expire() put some rather large structs on the stack to work around the LSM API. This patch attempts to fix that problem by changing the LSM API to require only the relevant "security" pointers instead of the entire SPD entry; we do this for all of the security_xfrm_policy*() functions to keep things consistent. Signed-off-by: Paul Moore Acked-by: James Morris Signed-off-by: David S. Miller commit 00447872a643787411c2c0cb1df6169dda8b0c47 Author: Paul Moore Date: Sat Apr 12 19:06:42 2008 -0700 NetLabel: Allow passing the LSM domain as a shared pointer Smack doesn't have the need to create a private copy of the LSM "domain" when setting NetLabel security attributes like SELinux, however, the current NetLabel code requires a private copy of the LSM "domain". This patches fixes that by letting the LSM determine how it wants to pass the domain value. * NETLBL_SECATTR_DOMAIN_CPY The current behavior, NetLabel assumes that the domain value is a copy and frees it when done * NETLBL_SECATTR_DOMAIN New, Smack-friendly behavior, NetLabel assumes that the domain value is a reference to a string managed by the LSM and does not free it when done Signed-off-by: Paul Moore Acked-by: James Morris Signed-off-by: David S. Miller commit b9f3124f08fffe2ad706fd164f6702fdca409a91 Author: Joe Perches Date: Sat Apr 12 19:04:38 2008 -0700 [AF_UNIX]: Use SEQ_START_TOKEN Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 1a4187963e5a706e78bbfa2d5b2e9101a63f1f7c Author: Vlad Yasevich Date: Sat Apr 12 18:55:42 2008 -0700 MAINTAINERS: New sctp mailing list Add a new sctp mailing list linux-sctp@vger.kernel.org. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 765ff02e896a4f4e0fdb223aadab629aaf3756d2 Author: Gui Jianfeng Date: Sat Apr 12 18:55:12 2008 -0700 [SCTP]: Remove an unused parameter from sctp_cmd_hb_timer_update The 'asoc' parameter to sctp_cmd_hb_timer_update() is unused, and we can remove it. Signed-off-by: Gui Jianfeng Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 9dbc15f055f05393ace4f1733f160ec3d188cf9b Author: Robert P. J. Day Date: Sat Apr 12 18:54:24 2008 -0700 [SCTP]: "list_for_each()" -> "list_for_each_entry()" where appropriate. Replacing (almost) all invocations of list_for_each() with list_for_each_entry() tightens up the code and allows for the deletion of numerous list iterator variables that are no longer necessary. Signed-off-by: Robert P. J. Day Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 30e935600776b45db38238355f0de2b8f72b3847 Author: Neil Horman Date: Sat Apr 12 18:53:48 2008 -0700 [SCTP]: Correct /proc/net/assocs formatting error Recently I posted a patch to add some informational items to /proc/net/sctp/assocs. All the information is correct, but because of how the seqfile show operation is laid out, some of the formatting is backwards. This patch corrects that formatting, so that the new information appears at the end of each line, rather than in the middle. Signed-off-by: Neil Horman Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 05f175cdcf9d3615c1633615d87891ebfb729401 Author: YOSHIFUJI Hideaki Date: Fri Apr 11 23:51:26 2008 +0900 [IPV6]: Fix IPV6_RECVERR for connected raw sockets. Based on patch from Dmitry Butskoy . Closes: 10437 Signed-off-by: YOSHIFUJI Hideaki commit 876c7f41961dc5172b03cbf2dca65f05003f28a0 Author: Brian Haley Date: Fri Apr 11 00:38:24 2008 -0400 [IPv6]: Change IPv6 unspecified destination address to ::1 for raw and un-connected sockets This patch fixes a difference between IPv4 and IPv6 when sending packets to the unspecified address (either 0.0.0.0 or ::) when using raw or un-connected UDP sockets. There are two cases where IPv6 either fails to send anything, or sends with the destination address set to ::. For example: --> ping -c1 0.0.0.0 PING 0.0.0.0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.032 ms --> ping6 -c1 :: PING ::(::) 56 data bytes ping: sendmsg: Invalid argument Doing a sendto("0.0.0.0") reveals: 10:55:01.495090 IP localhost.32780 > localhost.7639: UDP, length 100 Doing a sendto("::") reveals: 10:56:13.262478 IP6 fe80::217:8ff:fe7d:4718.32779 > ::.7639: UDP, length 100 If you issue a connect() first in the UDP case, it will be sent to ::1, similar to what happens with TCP. This restores the BSD-ism. Signed-off-by: Brian Haley Signed-off-by: YOSHIFUJI Hideaki commit 6ac7eb0868ccc9a2c597d6fd0b1ea09dcdc396ed Author: Rami Rosen Date: Thu Apr 10 12:40:10 2008 +0300 [IPV6] MROUTE: Adjust IPV6 multicast routing module to use mroute6 header declarations. - This patch adjusts IPv6 multicast routing module, net/ipv6/ip6mr.c, to use mroute6 header definitions instead of mroute. (MFC6_LINES instead of MFC_LINES, MAXMIFS instead of MAXVIFS, mifi_t instead of vifi_t.) - In addition, inclusion of some headers was removed as it is not needed. Signed-off-by: Rami Rosen Signed-off-by: YOSHIFUJI Hideaki commit b2a9d7c2f8ab151fff78db06f1ae9b22a856e95e Author: YOSHIFUJI Hideaki Date: Sat Apr 12 12:59:42 2008 +0900 [IPV6]: Check length of int/boolean optval provided by user in setsockopt(). Signed-off-by: YOSHIFUJI Hideaki commit a28398ba6112be28c6a92aacf06aca1979b454b7 Author: Wang Chen Date: Mon Apr 7 09:42:07 2008 +0800 [IPV6]: Check length of optval provided by user in setsockopt(). Check length of setsockopt's optval, which provided by user, before copy it from user space. For POSIX compliant, return -EINVAL for setsockopt of short lengths. Signed-off-by: Wang Chen Signed-off-by: YOSHIFUJI Hideaki commit 7f1eced8b0a001c4d5a8cfa5ac7b5cbc89fedab8 Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:42:12 2008 +0900 [IPV6] MIP6: Use our standard definitions for paddings. MIP6_OPT_PAD_X are actually for paddings in destination option header. Replace them with our standard IPV6_TLV_PADX. Signed-off-by: YOSHIFUJI Hideaki commit d7aabf22efb50e6d52ed953ed2a43996152a7fb0 Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:42:11 2008 +0900 [IPV6]: Use in6addr_any where appropriate. Signed-off-by: YOSHIFUJI Hideaki commit f3ee4010e84452aa133e5163e6cfabc52b194e94 Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:42:11 2008 +0900 [IPV6]: Define constants for link-local multicast addresses. - Define link-local all-node / all-router multicast addresses. - Remove ipv6_addr_all_nodes() and ipv6_addr_all_routers(). Signed-off-by: YOSHIFUJI Hideaki commit 9acd9f3ae92d0dc0ca7504fb48c1040e8bbc39fe Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:42:10 2008 +0900 [IPV6]: Make address arguments const. - net/ipv6/addrconf.c: ipv6_get_ifaddr(), ipv6_dev_get_saddr() - net/ipv6/mcast.c: ipv6_sock_mc_join(), ipv6_sock_mc_drop(), inet6_mc_check(), ipv6_dev_mc_inc(), __ipv6_dev_mc_dec(), ipv6_dev_mc_dec(), ipv6_chk_mcast_addr() - net/ipv6/route.c: rt6_lookup(), icmp6_dst_alloc() - net/ipv6/ip6_output.c: ip6_nd_hdr() - net/ipv6/ndisc.c: ndisc_send_ns(), ndisc_send_rs(), ndisc_send_redirect(), ndisc_get_neigh(), __ndisc_send() Signed-off-by: YOSHIFUJI Hideaki commit dfd982baff01c18e3e1717c97fdac79c28f105ce Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:42:09 2008 +0900 [IPV6] ADDRCONF: Uninline ipv6_isatap_eui64(). Signed-off-by: YOSHIFUJI Hideaki commit 3eb84f49290461e2b83d6e8ee1f3f0e504340c8b Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:42:08 2008 +0900 [IPV6] ADDRCONF: Uninline ipv6_addr_hash(). The function is only used in net/ipv6/addrconf.c. Signed-off-by: YOSHIFUJI Hideaki commit fed85383ac34d82e96f227ce49ce68117cec23a0 Author: YOSHIFUJI Hideaki Date: Fri Apr 11 20:17:55 2008 +0900 [IPV6]: Use XOR and OR rather than mutiple ands for ipv6 address comparisons. ipv6_addr_equal(), ipv6_addr_v4mapped(), ipv6_addr_is_ll_all_{nodes,routers}(), ipv6_masked_addr_cmp() Signed-off-by: YOSHIFUJI Hideaki commit 98075d245a5bc4aeebc2e9f16fa8b089a5c200ac Author: Zoltan Menyhart Date: Fri Apr 11 15:21:35 2008 -0700 [IA64] Fix NUMA configuration issue There is a NUMA memory configuration issue in 2.6.24: A 2-node machine of ours has got the following memory layout: Node 0: 0 - 2 Gbytes Node 0: 4 - 8 Gbytes Node 1: 8 - 16 Gbytes Node 0: 16 - 18 Gbytes "efi_memmap_init()" merges the three last ranges into one. "register_active_ranges()" is called as follows: efi_memmap_walk(register_active_ranges, NULL); i.e. once for the 4 - 18 Gbytes range. It picks up the node number from the start address, and registers all the memory for the node #0. "register_active_ranges()" should be called as follows to make sure there is no merged address range at its entry: efi_memmap_walk(filter_memory, register_active_ranges); "filter_memory()" is similar to "filter_rsvd_memory()", but the reserved memory ranges are not filtered out. Signed-off-by: Zoltan Menyhart Signed-off-by: Tony Luck commit 423eef6fbb989f316d268d0d96812165fbaed26c Author: Grant Grundler Date: Sat Apr 5 10:14:22 2008 -0600 [SCSI] initio: fix big endian problems for auto request sense Most of the cpu_to_le32() usage was wrong in one way or another. Compiler warning on BE builds was just the tip of the iceberg. This patch attempts to make this driver work on BE though I don't have the HW to test it. Signed-off-by: Grant Grundler Signed-off-by: James Bottomley commit caad295fed8b652c67159911d11c65d476351d2f Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:42:07 2008 +0900 [IPV6]: Use ipv6_addr_equal() instead of !ipv6_addr_cmp(). Signed-off-by: YOSHIFUJI Hideaki commit ff4e1fb0be7386e97580d50f09a804b33b58377a Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:41:28 2008 +0900 [IPV6] FIB_RULE: Sparse: fib6_rules_cleanup() is of void. | net/ipv6/fib6_rules.c:319:2: warning: returning void-valued expression Signed-off-by: YOSHIFUJI Hideaki commit a9f83bf3858672164ed531cbc60ee9082d21d53f Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:41:28 2008 +0900 [IPV6]: Sparse: Reuse previous delaration where appropriate. | net/ipv6/ipv6_sockglue.c:162:16: warning: symbol 'net' shadows an earlier one | net/ipv6/ipv6_sockglue.c:111:13: originally declared here | net/ipv6/ipv6_sockglue.c:175:16: warning: symbol 'net' shadows an earlier one | net/ipv6/ipv6_sockglue.c:111:13: originally declared here | net/ipv6/ip6mr.c:1241:10: warning: symbol 'ret' shadows an earlier one | net/ipv6/ip6mr.c:1163:6: originally declared here Signed-off-by: YOSHIFUJI Hideaki commit 02e10b90cd478bda81b4644102b0009bcd1d14ab Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:41:27 2008 +0900 [IPV6] SIT: Sparse: Use NULL pointer instead of 0. | net/ipv6/sit.c:382:42: warning: Using plain integer as NULL pointer Signed-off-by: YOSHIFUJI Hideaki commit aba6096b21e151bc55da74605fe77b92cfcccb12 Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:41:26 2008 +0900 [IPV6]: Kill several warnings without CONFIG_IPV6_MROUTE. Pointed out by Andrew Morton . Signed-off-by: YOSHIFUJI Hideaki commit b43a9e60873ebe16502061961ca3f3b7bc6f69d2 Author: Dmitry Baryshkov Date: Thu Apr 10 13:36:53 2008 +0100 [ARM] 4962/1: Introduce standard gpio interface for Scoop2. This deprecates old set/reset_scoop_gpio interfacein favour of support for generic gpio interface. It requires gpiolib, so it depends on the previous patch (gpiolib for SA-1100). Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 45528e38173e7d8c03821850e8fd1ddbf16f2b3d Author: Dmitry Baryshkov Date: Thu Apr 10 13:31:47 2008 +0100 [ARM] 4961/1: gpiolib support for SA-1100 architecture This adds gpiolib support for the SA-1100 arch: - Move all GPIO API functions from generic.c into gpio.c - Convert all gpio functions into gpiolib callbacks. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit c353faa4b2abd8d5142640b880532c97a0807460 Author: Dmitry Baryshkov Date: Wed Apr 9 23:05:09 2008 +0100 [ARM] 4957/1: Drop special macro SCOOP_REG in favour if ioread16/iowrite16. Make scoop driver use generic purpose io routines: ioread16 and iowrite16 instead of direct writing to memory. Signed-off-by: Dmitry Baryshkov Acked-by: Richard Purdie Signed-off-by: Russell King commit 2f8c51493323550529ed295ba6ddcdd3d0f704d5 Author: Dmitry Baryshkov Date: Wed Apr 9 22:43:37 2008 +0100 [ARM] 4956/1: Scoop: sparse cleanup Cleanup most errors errors reported by sparse: declare IO space as __iomem, use %p for address printing make functions static Use __devinit instead of __init for scoop_init Make scoop_remove __devexit and use __devexit_p for referencing it. Signed-off-by: Dmitry Baryshkov Acked-by: Richard Purdie Signed-off-by: Russell King commit 875492511a4afce7880c9dd0ca71462c299b40e6 Author: Byron Bradley Date: Wed Apr 9 21:50:16 2008 +0100 [ARM] 4955/1: Orion: Support the Buffalo Linkstation Pro/Live Platform The Buffalo Linkstation Pro/Live is the same hardware as the Kurobox Pro but without the NAND flash. This patch adds a second MACHINE_START macro to the Kurobox setup file to minimise code duplication. Signed-off-by: Byron Bradley Acked-by: Nicolas Pitre Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit b488a5ed12c0d8417884d8c33fc0a1701a16c951 Author: Nicolas Pitre Date: Wed Apr 9 21:08:35 2008 +0100 [ARM] 4954/1: Orion: fix some function section mismatch Without this, lspci won't work. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 6dccd74b38fae5a531e0df8cc6f4fbf1e468e100 Author: Bill Gatliff Date: Tue Apr 8 03:04:01 2008 +0100 [ARM] 4939/1: [CSB637] Update defconfig to use gpio-led Updates the CSB637 platform's D1/PB2 LED to use gpio-led by default. Signed-off-by: Bill Gatliff Signed-off-by: Russell King commit ca1544790244b209e98351d365729061eaca213d Author: Bill Gatliff Date: Tue Apr 8 02:57:03 2008 +0100 [ARM] 4938/1: [CSB637] Convert heartbeat LED to gpio-leds Converts the D1/PB2 LED to use the gpio-leds API and heartbeat trigger. Signed-off-by: Bill Gatliff Signed-off-by: Russell King commit 952c855fc7a88610940d2438072884d64dc9cefb Author: Bill Gatliff Date: Mon Apr 7 22:05:38 2008 +0100 [ARM] 4937/1: [CSB637] Convert to new-style UART initialization Converts the CSB637 to the new-style UART initialization API. Signed-off-by: Bill Gatliff Acked-by: Andrew Victor Signed-off-by: Russell King commit c8fc19165694a9d4bd0f80c9f167e4b41d0db1a0 Author: Bill Gatliff Date: Mon Apr 7 22:03:17 2008 +0100 [ARM] 4936/1: [CSB337] Converts to new-style UART initialization Converts the CSB337 target to the new UART initialization API. Signed-off-by: Bill Gatliff Acked-by: Andrew Victor Signed-off-by: Russell King commit 1af89cb6532dff0ad26f33fe6bd548c307a92f2b Author: Andrew Victor Date: Wed Apr 2 22:38:11 2008 +0100 [ARM] 4915/1: AT91: Update defconfigs (Part 2) Update the default configuration for the following AT91-based boards: Embest ATEB9200 Cogent CSB337 Cogent CSB637 Sperry-Sun KAFA Picotux200 Signed-off-by: Andrew Victor Signed-off-by: Russell King commit adfbe06a3dcf791c1ec2fea6dfb2c59f0ad27c88 Author: Andrew Victor Date: Wed Apr 2 22:36:58 2008 +0100 [ARM] 4914/1: AT91: Update defconfigs (Part 1) Update the default configuration for the following AT91-based boards: Atmel AT91RM9200 DK Atmel AT91RM9200 EK Atmel AT91SAM9260 EK Atmel AT91SAM9261 EK Atmel AT91SAM9263 EK Atmel AT91SAM9RL EK Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 32b1216d1e338d69cc5a11ca81fc247eb8ddfb2e Author: Andrew Victor Date: Wed Apr 2 22:31:31 2008 +0100 [ARM] 4913/1: [AT91] PMC_MDIV definitions The allowed values for the MDIV field (Master Clock Division) in the PMC controller differ between the AT91RM9200 and AT91SAM9/CAP9. To remove possible confusion, change the definitions to be more explicit. Also define the Processor Clock Division bits. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit c21098ea5608c98b5ada1b7ec82522c7c53869eb Author: Andrew Victor Date: Tue Apr 8 21:33:07 2008 +0100 [ARM] 4912/2: [AT91] Endrelia audio driver must use GPIO interface The SoC audio driver for the Endrelia ETI_B1 board should not access the PIO controller directly, but must rather use the AT91 GPIO interface. (This is updated version of patch with removed trailing whitespace) Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 9f448b5554b485012b8a80c1c889175b3cb84940 Author: James Smart Date: Mon Apr 7 10:16:10 2008 -0400 [SCSI] lpfc 8.2.6 : Update lpfc driver version to 8.2.6 Update lpfc driver version to 8.2.6 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 97eab63490452f0a5242fa94ddaa9b727d69cb25 Author: James Smart Date: Mon Apr 7 10:16:05 2008 -0400 [SCSI] lpfc 8.2.6 : Miscellaneous Fixes Miscellaneous Fixes - Allow WRITE_VPARAM command when the virtual port is in a stopped state - Fixed handling of our queue depth max that was unconditionally raising the depth on all vports, rather than just the vport affected. - Fix race in interrupt handler for mailbox processing that did not take out the host lock. - Removed unused functions: find_node, findnode_rpi, and fabric_abort_flogi - Correct misspelled word unsolicited in message 0146 - Correct HW-error 5 handling - it should not reset the adapter - Correct handling of IOCBs, which did not null out our pCmd field before invoking the midlayer io done function. - Changed our maximum supported target id to 4096 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 9b37960523afb1b519b406dec4c4f3155b82b2ba Author: James Smart Date: Mon Apr 7 10:16:00 2008 -0400 [SCSI] lpfc 8.2.6 : PCI Parity and EEH handling fixes PCI Parity and EEH handling Fixes: - Under a PCI Data Parity Error, remove a completion routine callback that was on a command that we had already failed and released. - Under PCI parity error, we were not reinstalling the interrupt handler in the slot_reset callback, so we never became functional again. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 58da1ffb2b1234e9c6c75013a649c659cc38ebd4 Author: James Smart Date: Mon Apr 7 10:15:56 2008 -0400 [SCSI] lpfc 8.2.6 : Multiple discovery fixes Multiple Discovery Fixes: - Fix race on discovery due to link events coinciding with vport_delete. - Use NLP_FABRIC state to filter out switch-based pseudo initiators that reuse the same WWNs. - Correct erroneous setting of DID=0 in lpfc_matchdid() - Correct extra reference count that was in the lookup path for the remoteid from an unsolicited ELS. - Correct double-free bug in els abort path. - Correct FDMI server discovery logic for switch that return a WWN of 0. - Fix bugs in ndlp mgmt when a node changes address - Correct bug that did not delete RSCNs for vports upon link transitions - Fix "0216 Link event during NS query" error which pops up when vports are swapped to different switch ports. - Add sanity checks on ndlp structures - Fix devloss log message to dump WWN correctly - Hold off mgmt commands that were interferring with discovery mailbox cmds - Remove unnecessary FC_ESTABLISH_LINK logic. - Correct some race conditions in the worker thread, resulting in devloss: - Clear the work_port_events field before handling the work port events - Clear the deferred ring event before handling a deferred ring event - Hold the hba lock when waking up the work thread - Send an acc for the rscn even when we aren't going to handle it - Fix locking behavior that was not properly protecting the ACTIVE flag, thus allowing mailbox command order to shift. Signed-off-by: James Smart Signed-off-by: James Bottomley commit c0b8c32b1c96afc9b32b717927330025cc1c501e Author: Stephen Hemminger Date: Thu Apr 10 04:00:28 2008 -0700 IPV4: use xor rather than multiple ands for route compare The comparison in ip_route_input is a hot path, by recoding the C "and" as bit operations, fewer conditional branches get generated so the code should be faster. Maybe someday Gcc will be smart enough to do this? Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 996b1dbadcbcafb899f022303e01d46ab87920eb Author: YOSHIFUJI Hideaki Date: Thu Apr 10 03:50:13 2008 -0700 [SCTP]: Use snmp_mib_{init,free}(). Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 24e8b7e48471514c9311c733b3f399bd20d014fe Author: YOSHIFUJI Hideaki Date: Thu Apr 10 03:48:43 2008 -0700 [DCCP]: Use snmp_mib_{init,free}(). Signed-off-by: YOSHIFUJI Hideaki Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 387a5487f5a1f8bfc3b2c5818e50dfd19eeb4f3f Author: Stephen Hemminger Date: Thu Apr 10 03:47:34 2008 -0700 ipv4: fib_trie leaf free optimization Avoid unneeded test in the case where object to be freed has to be a leaf. Don't need to use the generic tnode_free() function, instead just setup leaf to be freed. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ef3660ce0649fa10265455f539b72607cff53d02 Author: Stephen Hemminger Date: Thu Apr 10 03:46:12 2008 -0700 ipv4: fib_trie remove unused argument The trie pointer is passed down to flush_list and flush_leaf but never used. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2e1e9848accba7e5f6a731bf0d0fc2c84f3ee748 Author: Joe Perches Date: Thu Apr 10 03:33:03 2008 -0700 [ATM]: Use SEQ_START_TOKEN Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 4dfc2817025965a2fc78a18c50f540736a6b5c24 Author: Florian Westphal Date: Thu Apr 10 03:12:40 2008 -0700 [Syncookies]: Add support for TCP options via timestamps. Allow the use of SACK and window scaling when syncookies are used and the client supports tcp timestamps. Options are encoded into the timestamp sent in the syn-ack and restored from the timestamp echo when the ack is received. Based on earlier work by Glenn Griffin. This patch avoids increasing the size of structs by encoding TCP options into the least significant bits of the timestamp and by not using any 'timestamp offset'. The downside is that the timestamp sent in the packet after the synack will increase by several seconds. changes since v1: don't duplicate timestamp echo decoding function, put it into ipv4/syncookie.c and have ipv6/syncookies.c use it. Feedback from Glenn Griffin: fix line indented with spaces, kill redundant if () Reviewed-by: Hagen Paul Pfeifer Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 15be75cdb5db442d0e33d37b20832b88f3ccd383 Author: Stephen Hemminger Date: Thu Apr 10 02:56:38 2008 -0700 IPV4: fib_trie use vmalloc for large tnodes Use vmalloc rather than alloc_pages to avoid wasting memory. The problem is that tnode structure has a power of 2 sized array, plus a header. So the current code wastes almost half the memory allocated because it always needs the next bigger size to hold that small header. This is similar to an earlier patch by Eric, but instead of a list and lock, I used a workqueue to handle the fact that vfree can't be done in interrupt context. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5c06f510a25153ff79e8c2dca312b732a367c5bb Author: Rami Rosen Date: Thu Apr 10 02:31:20 2008 -0700 [IPV6]: Remove unused declarations in include/net/ip6_route.h. 1) Standlaone ip6_null_entry is no longer needed as it is replaced by the ip6_null_entry member of ipv6 (instance of struct netns_ipv6) in struct net (as a result of Network Namespaces patches). 2) These 3 methods from this same header are not defined anywhere: ip6_rt_addr_add(), ip6_rt_addr_del(), rt6_sndmsg() Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 2d7bf36746b6329d9d54c6c6efe2b55666dd1f53 Author: Cornelia Huck Date: Thu Apr 10 02:12:45 2008 -0700 iucv: Delay bus registration until core is ready. If we register the iucv bus after the infrastructure is ready, userspace can start relying on it when it receives the uevent for the bus. Signed-off-by: Cornelia Huck Signed-off-by: Heiko Carstens Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 9284d6c704b5cfc7f2eb44f81255b4762bcfe4c5 Author: Heiko Carstens Date: Thu Apr 10 02:12:03 2008 -0700 iucv: get rid of in_atomic() use. This BUG_ON is not needed, since all (debug) checks are also done in smp_call_function() which gets called by this function. Signed-off-by: Heiko Carstens Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 3db8ce35c37b62d27e7656fe5e7d2d2865002045 Author: Robert P. J. Day Date: Thu Apr 10 02:11:24 2008 -0700 af_iucv: Use non-deprecated __RW_LOCK_UNLOCKED macro. Signed-off-by: Robert P. J. Day Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 4738c1db1593687713869fa69e733eebc7b0d6d8 Author: Patrick McHardy Date: Thu Apr 10 02:02:28 2008 -0700 [SKFILTER]: Add SKF_ADF_NLATTR instruction SKF_ADF_NLATTR searches for a netlink attribute, which avoids manually parsing and walking attributes. It takes the offset at which to start searching in the 'A' register and the attribute type in the 'X' register and returns the offset in the 'A' register. When the attribute is not found it returns zero. A top-level attribute can be located using a filter like this (example for nfnetlink, using struct nfgenmsg): ... { /* A = offset of first attribute */ .code = BPF_LD | BPF_IMM, .k = sizeof(struct nlmsghdr) + sizeof(struct nfgenmsg) }, { /* X = CTA_PROTOINFO */ .code = BPF_LDX | BPF_IMM, .k = CTA_PROTOINFO, }, { /* A = netlink attribute offset */ .code = BPF_LD | BPF_B | BPF_ABS, .k = SKF_AD_OFF + SKF_AD_NLATTR }, { /* Exit if not found */ .code = BPF_JMP | BPF_JEQ | BPF_K, .k = 0, .jt = }, ... A nested attribute below the CTA_PROTOINFO attribute would then be parsed like this: ... { /* A += sizeof(struct nlattr) */ .code = BPF_ALU | BPF_ADD | BPF_K, .k = sizeof(struct nlattr), }, { /* X = CTA_PROTOINFO_TCP */ .code = BPF_LDX | BPF_IMM, .k = CTA_PROTOINFO_TCP, }, { /* A = netlink attribute offset */ .code = BPF_LD | BPF_B | BPF_ABS, .k = SKF_AD_OFF + SKF_AD_NLATTR }, ... The data of an attribute can be loaded into 'A' like this: ... { /* X = A (attribute offset) */ .code = BPF_MISC | BPF_TAX, }, { /* A = skb->data[X + k] */ .code = BPF_LD | BPF_B | BPF_IND, .k = sizeof(struct nlattr), }, ... Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3cccd6078413e9707f0ef3652b4e6e9cb84e9fa0 Author: Rami Rosen Date: Thu Apr 10 02:01:21 2008 -0700 [IPV6] Remove three method declarations in include/net/ndisc.h. This patch removes two unused method declarations in include/net/ndisc.h: ndisc_forwarding_on(void) and ndisc_forwarding_off(void); Also igmp6_cleanup(void) appears twice in this header, so one igmp6_cleanup(void) declaration is removed. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit eab2e0b2ec150aec8887d0cf178f7c989296266f Author: Gui Jianfeng Date: Thu Apr 10 02:00:23 2008 -0700 SCTP: Remove useless assignment from __sctp_rcv_lookup_endpoint Signed-off-by: Gui Jianfeng Signed-off-by: David S. Miller commit 935a7f6e4d2f2c69a2d94cbda377684fffbdcb27 Author: Li Zefan Date: Thu Apr 10 01:58:06 2008 -0700 SCTP: fix wrong debug counting of bind_bucket Should not count it if the allocation of the object is failed. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit e8c38751be84e2e930642be60331fbb6d3c4becb Author: Li Zefan Date: Thu Apr 10 01:57:24 2008 -0700 SCTP: fix wrong debug counting of datamsg Should not count it if the allocation of this object failed. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 2fa7527ba1d38175d1e42f7cb72bae5de3d55cc7 Author: Stephen Hemminger Date: Thu Apr 10 01:55:27 2008 -0700 IPV4: route rekey timer can be deferrable No urgency on the rehash interval timer, so mark it as deferrable. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 16c5f06f15ad4e5a5d6e90b78ffb1ac14319e445 Author: Josef Bacik Date: Wed Apr 9 09:33:41 2008 -0400 [GFS2] fix GFP_KERNEL misuses There are several places where GFP_KERNEL allocations happen under a glock, which will result in hangs if we're under memory pressure and go to re-enter the fs in order to flush stuff out. This patch changes the culprits to GFS_NOFS to keep this problem from happening. Thank you, Signed-off-by: Josef Bacik Signed-off-by: Steven Whitehouse commit 1294fc4a4868d7e83ff749597fbf4e9d5f4d1aa0 Author: Stephen Hemminger Date: Thu Apr 10 01:54:01 2008 -0700 IPV4: route use jhash3 Since route hash is a triple, use jhash_3words rather doing the mixing directly. This should be as fast and give better distribution. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5969f71d57928511b9cd8744aaf1ed9bc5e88ea2 Author: Stephen Hemminger Date: Thu Apr 10 01:52:09 2008 -0700 IPV4: route inline changes Don't mark functions that are large as inline, let compiler decide. Also, use inline rather than __inline__. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 43db6d65e0ef943a361cb91f8baa49132009227b Author: Stephen Hemminger Date: Thu Apr 10 01:43:09 2008 -0700 socket: sk_filter deinline The sk_filter function is too big to be inlined. This saves 2296 bytes of text on allyesconfig. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b715631fad3ed320b85d386a84a6fb0b3f86b0b9 Author: Stephen Hemminger Date: Thu Apr 10 01:33:47 2008 -0700 socket: sk_filter minor cleanups Some minor style cleanups: * Move __KERNEL__ definitions to one place in filter.h * Use const for sk_filter_len * Line wrapping * Put EXPORT_SYMBOL next to function definition Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 729b2bdbfa19dd9be98dbd49caf2773b3271cc24 Author: Zhao Yakui Date: Wed Mar 19 13:26:54 2008 +0800 ACPI : Disable the device's ability to wake the sleeping system in the boot phase In some machines some GPE is shared by several ACPI devices, for example: sleep button, keyboard, mouse. At the same time one of them is non-wake(runtime) device and the other are wake devices. In such case OSPM should call the _PSW object to disable the device's ability to wake the sleeping system in the boot phase. Otherwise there will be ACPI interrupt flood triggered by the GPE input. The _PSW object is depreciated in ACPI 3.0 and is replaced by _DSW. So it is necessary to call _DSW object first. Only when it is not present will the _PSW object used. http://bugzilla.kernel.org/show_bug.cgi?id=10224 Signed-off-by: Zhao Yakui Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit cce246ee5f3c7f4d3539ea41d13feb7a07859145 Author: Steve French Date: Wed Apr 9 20:55:31 2008 +0000 [CIFS] Fix acl length when very short ACL being modified by chmod Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit 35028d71116926008f5c19b8fcb00aacaabf5eab Author: Steve French Date: Wed Apr 9 20:32:42 2008 +0000 [CIFS] Fix looping on reconnect to Samba when unexpected tree connect fail on reconnect Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit c19b2930df0621500913c005c06978bd8933110b Author: Russ Anderson Date: Fri Feb 29 17:14:44 2008 -0600 [IA64] Itanium Spec updates Updates based on the "Intel® Itanium® Architecture Software Developer's Manual Specification Update October 2007". http://download.intel.com/design/itanium/specupdt/24869911.pdf Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit 273988fa4dffd1b1e6deb3de18b979a44e9d8732 Author: Christoph Lameter Date: Wed Apr 9 13:05:41 2008 -0700 [IA64] Untangle sync_icache_dcache() page size determination Untangle the chaos of page size determination in this function by simply using PAGE_SIZE << compound_order(). Signed-off-by: Christoph Lameter Signed-off-by: Tony Luck commit 5cf1f7cef1c67b5c81736f00e81a2890e07041b9 Author: S.Caglar Onur Date: Fri Mar 28 14:27:05 2008 -0700 [IA64] arch/ia64/kernel/: use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So use the time_after() & time_before() macros, defined at linux/jiffies.h, which deal with wrapping correctly [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: S.Caglar Onur Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 734bc367b4830a4c80502a3f9ded7428b1c652e3 Author: Johannes Weiner Date: Fri Mar 28 14:27:04 2008 -0700 [IA64] remove redundant display of free swap space in show_mem() show_mem() has no need to print the amount of free swap space manually because show_free_areas() does this already and is called by the former. The two outputs only differ in text formatting: printk("Free swap = %lukB\n", ...); printk("Free swap: %6ldkB\n", ...); Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit b34eb53cdcb4f49fd31d78d0e385240820ed9063 Author: FUJITA Tomonori Date: Fri Mar 28 14:27:03 2008 -0700 [IA64] make IOMMU respect the segment boundary limits IA64's IOMMU implementation allocates memory areas spanning LLD's segment boundary limit. It forces low level drivers to have a workaround to adjust scatter lists that the IOMMU builds. We are in the process of making all the IOMMUs respect the segment boundary limits to remove such work around in LLDs. This patch is for IA64's IOMMU. Signed-off-by: FUJITA Tomonori Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 34e1ceb1881ec895ad9b1b52d073f414f3aa87a9 Author: Masami Hiramatsu Date: Fri Mar 28 14:27:02 2008 -0700 [IA64] kprobes: kprobe-booster for ia64 Add kprobe-booster support on ia64. Kprobe-booster improves the performance of kprobes by eliminating single-step, where possible. Currently, kprobe-booster is implemented on x86 and x86-64. This is an ia64 port. On ia64, kprobe-booster executes a copied bundle directly, instead of single stepping. Bundles which have B or X unit and which may cause an exception (including break) are not executed directly. And also, to prevent hitting break exceptions on the copied bundle, only the hindmost kprobe is executed directly if several kprobes share a bundle and are placed in different slots. Note: set_brl_inst() is used for preparing an instruction buffer(it does not modify any active code), so it does not need any atomic operation. Signed-off-by: Masami Hiramatsu Cc: Anil S Keshavamurthy Cc: Ananth N Mavinakayanahalli Cc: bibo,mao Cc: Rusty Lynch Cc: Prasanna S Panchamukhi Cc: Jim Keniston Cc: Shaohua Li Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 96ded9dadde397a9e372a650534a9ffbba97194a Author: Pavel Emelyanov Date: Fri Mar 28 14:27:00 2008 -0700 [IA64] fix getpid and set_tid_address fast system calls for pid namespaces The sys_getpid() and sys_set_tid_address() behavior changed from return current->tgid to struct pid *pid; pid = current->pids[PIDTYPE_PID].pid; return pid->numbers[pid->level].nr; But the fast system calls on ia64 still operate the old way. Patch them appropriately to let ia64 work with pid namespaces. Besides, this is one more step in deprecating of pid and tgid on task_struct. The fsys_getppid() is to be patched as well, but its logic is much more complex now, so I will make it later. One thing I'm not 100% sure is the trick with the IA64_UPID_SHIFT. On order to access the pid->level's element of an array I have to perform the following calculations pid + sizeof(struct upid) * pid->level The problem is that ia64 can only multiply float point registers, while all the offsets I have in code are in rXX ones. Fortunately, the sizeof(struct upid) is 32 bytes on ia64 (and is very unlikely to ever change), so the calculations get simpler: pid + pid->level << 5 So, I introduce the IA64_UPID_SHIFT and use the shl instruction. I also looked at how gcc compiles the similar place and found that it makes it with shift as well. Is this OK to do so? Tested with ski emulator with 2.6.24 kernel, but fits 2.6.25-rc4 and 2.6.25-rc4-mm1 as well. Signed-off-by: Pavel Emelyanov Cc: David Mosberger-Tang Cc: Hidetoshi Seto Cc: Fenghua Yu Cc: Amy Griffis Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit d167cb85150bd473a27df71e3116a9cc0008f5dd Author: Robert P. J. Day Date: Sat Mar 29 10:05:30 2008 -0400 [IA64] Replace explicit jiffies tests with time_* macros. In arch/ia64/sn/kernel/xpc_{main,partition}.c Signed-off-by: Robert P. J. Day Signed-off-by: Tony Luck commit 6794c7526651160a75e90322cb750dcceb310d34 Author: Li Zefan Date: Tue Apr 1 12:29:34 2008 +0800 [IA64] use goto to jump out do/while_each_thread do_each_thread/while_each_thread is a double loop, so should use 'goto' rather than 'break' to break out the loop. Signed-off-by: Li Zefan Signed-off-by: Tony Luck commit e91450161186a926d16d8fdc8669aa1998bce148 Author: Alan D. Brunelle Date: Thu Apr 3 14:30:36 2008 -0400 [IA64] Fix unlock ordering in smp_callin One should normally unlock in the reverse order of the lock calls, and in this case there certainly is no reason not to. Signed-off-by: Alan D. Brunelle Signed-off-by: Tony Luck commit e4b05d4097eb6dab08bda86a72f6fdfdd9816395 Author: KOSAKI Motohiro Date: Wed Apr 9 12:26:10 2008 +0900 [IA64] pgd_offset() constfication. when compile 2.6.25-rc8-mm1, below warning happend. because walk_page_range pass argument as "const struct mm*", but pgd_offset() receive as "struct mm*". CC mm/pagewalk.o mm/pagewalk.c: In function 'walk_page_range': mm/pagewalk.c:111: warning: passing argument 1 of 'pgd_offset' discards qualifiers from pointer target type Signed-off-by: KOSAKI Motohiro Signed-off-by: Tony Luck commit 3975afffd32b84c0ad6797debe5abd179f44a698 Author: Hidetoshi Seto Date: Tue Apr 8 13:33:08 2008 +0900 [IA64] kdump: crash.c coding style fix Fix indenting of switch statement to follow Documentation/CodingStyle. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit b0247a55f4cdd7a270e938aa39f9edb5b005a88c Author: Hidetoshi Seto Date: Tue Apr 8 13:31:47 2008 +0900 [IA64] kdump: add kdump_on_fatal_mca While it is convenient that we can invoke kdump by asserting INIT via button on chassis etc., there are some situations that invoking kdump on fatal MCA is not welcomed rather than rebooting fast without dump. This patch adds a new flag 'kdump_on_fatal_mca' that is independent from 'kdump_on_init' currently available. Adding this flag enable us to turning on/off of kdump depend on the event, INIT and/or fatal MCA. Default for this flag is to take the dump. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 2c6e6db41f01b6b4eb98809350827c9678996698 Author: holt@sgi.com Date: Thu Apr 3 15:17:13 2008 -0500 [IA64] Minimize per_cpu reservations. This attached patch significantly shrinks boot memory allocation on ia64. It does this by not allocating per_cpu areas for cpus that can never exist. In the case where acpi does not have any numa node description of the cpus, I defaulted to assigning the first 32 round-robin on the known nodes.. For the !CONFIG_ACPI I used for_each_possible_cpu(). Signed-off-by: Robin Holt Signed-off-by: Tony Luck commit 41bd26d67c41e325c6b9e56aadfe9dad8af9a565 Author: holt@sgi.com Date: Thu Apr 3 15:17:12 2008 -0500 [IA64] Correct pernodesize calculation. A simple fix. The existing pernodesize reservation is not taking into account a second array of pg_data_t structures. This is normally not important because the PAGE_ALIGN macro reserves adequate space. I made the compute_pernodesize steps in the same order as the fill_pernode steps to make the correlation more clear. Signed-off-by: Robin Holt Signed-off-by: Tony Luck commit d9c58f30b08bfe1e689537af5bc855a76d0fae25 Author: Johannes Berg Date: Tue Apr 8 16:46:36 2008 -0400 mac80211: fix key debugfs default_key link The default_key symlink points to the key index rather than they key counter, fix it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cfcdf40e52bdaa7622a9d1de62e5451d3427a5c6 Author: Christian Lamparter Date: Tue Apr 8 15:40:53 2008 -0400 drivers/net/wireless/p54/net2280.h: silence checkpatch.pl Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit fb26971058845868f7c45b720636180d14c058e4 Author: Christian Lamparter Date: Tue Apr 8 15:38:00 2008 -0400 p54: move to separate directory Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 2c8dccc77420fb7433da5674818959d3499d35be Author: Johannes Berg Date: Tue Apr 8 15:14:40 2008 -0400 mac80211: rename files This patch renames all mac80211 files (except ieee80211_i.h) to get rid of the useless ieee80211_ prefix. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3b96766f0e643f52ae19e134664df6730c737e87 Author: Johannes Berg Date: Tue Apr 8 17:56:52 2008 +0200 mac80211: fix key vs. sta locking problems Up to now, key manipulation is supposed to run under RTNL to avoid concurrent manipulations and also allow the set_key() hardware callback to sleep. This is not feasible because STA structs are rcu-protected and thus a lot of operations there cannot take the RTNL. Also, key references are rcu-protected so we cannot do things atomically. This patch changes key locking completely: * key operations are now atomic * hardware crypto offload is enabled and disabled from a workqueue, due to that key freeing is also delayed * debugfs code is also run from a workqueue * keys reference STAs (and vice versa!) so during STA unlink the STAs key reference is removed but not the keys STA reference, to avoid races key todo work is run before STA destruction. * fewer STA operations now need the RTNL which was required due to key operations This fixes the locking problems lockdep pointed out and also makes things more light-weight because the rtnl isn't required as much. Note that the key todo lock/key mutex are global locks, this is not required, of course, they could be per-hardware instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7d1559f1737d5ca27b267b0392015f42b3bbe2fa Author: Johannes Berg Date: Tue Apr 8 13:08:20 2008 +0200 mac80211: fix sta-info pinning When a STA is supposed to be unlinked but is pinned, it still needs to be unlinked from all structures. Only at the end of the unlink process should we check for pin status and invalidate the callers reference if it is pinned. Move the pin status check down. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4d6141c30a2567a85d869d55f579438b3365d719 Author: Jiri Slaby Date: Mon Apr 7 21:53:49 2008 +0200 mac80211: fix defined but not used These two symbols are used only in ifdeffed function. Move them to that section too. net/mac80211/sta_info.c:387: warning: `__sta_info_pin' defined but not used net/mac80211/sta_info.c:397: warning: `__sta_info_unpin' defined but not used Signed-off-by: Jiri Slaby Cc: Michael Wu Cc: Johannes Berg Cc: Jiri Benc Signed-off-by: John W. Linville commit e764948b1abd8316f8a1364757d6629f5cda199d Author: Pavel Machek Date: Mon Apr 7 21:08:55 2008 +0200 adm8211: remove commented-out code Remove some commented-out code from adm8211. Signed-off-by: Pavel Machek Signed-off-by: John W. Linville commit 513a1025fd91008316a8e9b4803d1bfcbb2bf256 Author: Ron Rindjunsky Date: Mon Apr 7 10:16:56 2008 -0700 mac80211: BA session debug prints changes This patch contains next issues: 1 - prevents "stop BA session" multiple warnings 2 - adds debug print to stop Rx BA session flow 3 - adds EOL in one debug print Signed-off-by: Ron Rindjunsky Signed-off-by: Reinette Chatre Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 8cf6a31e8d30cae1fbec8c782842f00472a4495c Author: Michael Buesch Date: Sat Apr 5 15:19:36 2008 +0200 b43: use b43_is_mode() call We must use the b43_is_mode() call to check the current interface operation mode. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 5042c5070daaa6a3c033e4510439e3ac02a1df60 Author: Michael Buesch Date: Sat Apr 5 15:05:00 2008 +0200 b43: Fix PHY TX control words in SHM This fixes the initialization of the PHY TX control words in shared memory. These control words are used for management frames like beacons. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit c97a4ccc1fad35d3d183900af29c171b6d56b7f9 Author: Michael Buesch Date: Sat Apr 5 15:02:09 2008 +0200 b43: Fix beacon BH update This fixes beacon updating in the bottomhalf. In case the device is busy, we will defer to later in the IRQ handler. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 84363e6e07f17f8cc580065260907ee3f0520485 Author: Mohamed Abbas Date: Fri Apr 4 16:59:58 2008 -0700 mac80211: notify mac from low level driver (iwlwifi) Add new API to MAC80211 to allow low level driver to notify MAC with driver status. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 380a942b9177dcae1429fdd0f3639f92d9ab139d Author: Johannes Berg Date: Fri Apr 4 23:40:35 2008 +0200 mac80211: fix ieee80211_ioctl_giwrate The ieee80211_ioctl_giwrate() ioctl handler doesn't rcu_read_lock() its access to the sta table, fix it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bebb8a5e2cd30adcc5e9a14c3366a231da728aee Author: Johannes Berg Date: Fri Apr 4 23:33:37 2008 +0200 mac80211: make debugfs files root-only Unfortunately, debugfs can be made to access invalid memory by open()ing a file and then waiting until the corresponding debugfs file has been removed (and, probably, the underlying object.) That could be exploited by any user if the user is able to open debugfs files and can cause networking devices, STA entries or similar to disappear which is quite easy to do. Hence, all debugfs files should be root-only. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a82d992261f79506a0d55b9a179a211f96caf878 Author: Michael Buesch Date: Fri Apr 4 21:40:06 2008 +0200 b43: Beaconing fixes These are some beaconing related fixes. Basically it prevents the card from triggering the beacon IRQ over and over again. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 182e2e66ca56f750845f5314708434c286edd6e4 Author: Johannes Berg Date: Fri Apr 4 10:41:56 2008 +0200 iwlwifi: honour regulatory restrictions in scan code When doing firmware-assisted scanning, iwlwifi drivers do not honour the regulatory control code that might disable channels that are enabled in the EEPROM, for example when the user is visiting another country and adjusted the regulatory domain accordingly. This patch fixes that. Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 41a7be4858b886f83522e62d409263fcdb82653b Author: Reinette Chatre Date: Thu Apr 3 16:08:49 2008 -0700 mac80211: notify upper layers after lower When drivers receive change notification they may do work that will enable the changes to take effect. For example, if new association the device needs to be programmed with this information. Give the driver chance to make the changes before notifying the upper layer - thus preventing race condition where upper layer attempts to utilize state that may not be configured yet. Signed-off-by: Reinette Chatre Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 03d29c684917860f90f897565b297c4aba713e0b Author: Mohamed Abbas Date: Thu Apr 3 16:05:24 2008 -0700 iwlwifi: fix rfkill memory error Do not free reference to device twice. After rfkill registration succeeds we only need to call rfkill_unregister() and not rfkill_free(). Also add some debugging. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fe00b5a5b7e29180e427e58b3d0a185d1dd3f105 Author: Reinette Chatre Date: Thu Apr 3 16:05:23 2008 -0700 iwlwifi: ensure led registration complete as part of initialization After the workqueue is notified the LED code may be accessed. Ensure that LED registration completes completely as part of initialization before anything waiting on this is notified. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit dc92e49729142047bce8f14762accb322962b585 Author: Tomas Winkler Date: Thu Apr 3 16:05:22 2008 -0700 iwlwifi: use ieee80211_frequency_to_channel This patch replaces ieee80211chan2mhz from radiotap with ieee80211_frequency_to_channel provided by mac80211 Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fee1247a30e5b3d48fe985b4a935eb6818f3b464 Author: Tomas Winkler Date: Thu Apr 3 16:05:21 2008 -0700 iwlwifi: move driver status inliners into iwl-core.h This patch moves inline functions into iwl-core.h Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 12a81f60b98096079d392f8abc284cbd76aa719b Author: Tomas Winkler Date: Thu Apr 3 16:05:20 2008 -0700 iwlwifi: hw names cleanup This patch make some cleanup in HW names Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 133adf08266740cd886d544aa9fe80b9873cf699 Author: Ivo van Doorn Date: Fri Apr 4 00:01:43 2008 +0200 rt2x00: Use lib->config_filter() during scheduled packet filter config Now rt2x00lib handles the initial configure_filter() command, we can directly call lib->config_filter() in scheduled context since the called function will no longer check if anything has changed (which is now handled in rt2x00lib as well). This fixes a endless loop with USB drivers where the config_filter command was scheduled time and time again without sending any command to the device. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 253898c4170c7f426d1bc32860fee04f27de3ade Author: John W. Linville Date: Thu Apr 3 15:32:54 2008 -0400 cfg80211: default to regulatory max power for channel If the driver does not specify a maximum power output, default to the regulatory max. Signed-off-by: John W. Linville commit d59f720d88089f2feabe4335839521b26572dc75 Author: Michael Buesch Date: Thu Apr 3 18:56:19 2008 +0200 b43: Fix TBTT and PU timings This fixes some timings for pre-TBTT and synthetic PU. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 7b584163979a9fe2ebfdd57a9d64cbe27166ab70 Author: Michael Buesch Date: Thu Apr 3 18:01:12 2008 +0200 b43: Add more N-PHY stuff This adds some minor stuff for N-PHY support. Nothing special. Adds Analog switching and some TODOs for RSSI processing. Just a patch I had floating around for quite some time now. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9cfb0009dab6d6b4c5a15c5d74ab60d7a7a7371b Author: Johannes Berg Date: Thu Apr 3 15:17:31 2008 +0200 mac80211: clean up IEEE80211_FC use Really doesn't need to be defined four times. Also, while at it, remove a useless macro (IEEE80211_ALIGN32_PAD) and a function prototype for a function we don't actually have (ieee80211_set_compression.) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 49ec6fa22028054f292c9c290415b88281f7b783 Author: Johannes Berg Date: Thu Apr 3 14:31:05 2008 +0200 mac80211: fix possible sta-debugfs work lockup Because we queue the sta-debugfs-adding work on our mac80211 workqueue (which needs to be flushed under RTNL) and that work needs the RTNL, it can currently deadlock, thanks to Reinette Chatre for pointing out the lockdep warning about this. This patch fixes it by moving this work to the common kernel workqueue (using schedule_work) and canceling it as appropriate. It also fixes a related problem: When a STA is pinned by the debugfs adding work and sta_info_flush() runs concurrently it is not guaranteed that all STAs are removed from the driver before the corresponding interface is removed which may lead to bugs. Signed-off-by: Johannes Berg Cc: Reinette Chatre Signed-off-by: John W. Linville commit d8c17e159758c2a4f8c3319fe8a6cf313f7a6733 Author: Michael Buesch Date: Wed Apr 2 19:58:20 2008 +0200 b43: Use SSB block-I/O to do PIO This changes the b43-PIO code to use the new SSB block-I/O. This reduces the overhead by removing lots of function calls, pointer dereferencing, if-conditionals any byteswapping for each packet data word. This also fixes a harmless sparse endianness warning. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 36316126e90b058ad7bd5b9e3d6079814e0a17e2 Author: Reinette Chatre Date: Wed Apr 2 10:50:35 2008 -0700 iwl4965: use IWLWIFI_LEDS config variable Fix error reported by Miles Lane Signed-off-by: Reinette Chatre CC: Miles Lane Signed-off-by: John W. Linville commit d625a29ba649a4df6027520ffc378f23c0e6883e Author: Michael Buesch Date: Wed Apr 2 19:46:56 2008 +0200 ssb: Add support for block-I/O This adds support for block based I/O to SSB. This is needed in order to efficiently support PIO data transfers to the card. The block-I/O support is only compiled, if it's selected by the weird driver that needs it. So there's no overhead for sane devices. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 93af2614513103216038afa708718295e7016dbb Author: John W. Linville Date: Wed Apr 2 11:35:32 2008 -0400 drivers/net/wireless/iwlwifi/iwl-3945.h: correct CONFIG_IWL4965_LEDS typo Thakns to Winfried Tilanus for identifying the problem! Signed-off-by: John W. Linville commit d72bb40fe38608fcf7870b4d768e4416502b23b5 Author: Michael Buesch Date: Wed Apr 2 17:03:26 2008 +0200 ssb: Fix build for non-PCIhost This fixes a build error when PCMCIA-host support is built, but PCI-host support is disabled. Hell, who on earth would use such a weird configuration. :D drivers/built-in.o: In function `ssb_attr_sprom_store': (.text+0x1c4b79): undefined reference to `ssb_devices_freeze' drivers/built-in.o: In function `ssb_attr_sprom_store': (.text+0x1c4bb3): undefined reference to `ssb_devices_thaw' make[1]: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Michael Buesch Acked-by: Randy Dunlap Signed-off-by: John W. Linville commit fb14a7e0860ef8b19d0dd61be96e23eacb4da129 Author: Holger Schurig Date: Wed Apr 2 18:04:35 2008 +0200 libertas: remove lbs_get_fwversion() It was used only at one place anyway. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 73ab1f25d4a3a22a1547d44199c2171c04e59cb8 Author: Holger Schurig Date: Wed Apr 2 16:52:19 2008 +0200 libertas: move lbs_update_channel out of assoc.c ... as it has nothing to do with pure association Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 245bf20f9c159f8d35befbc038997096b759459c Author: Holger Schurig Date: Wed Apr 2 16:27:42 2008 +0200 libertas: move association code from scan.c into assoc.c Besides code moving, I did the following changes: * made some functions static * removed some unneeded #include's * made patch checkpatch.pl clean Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 697900ac14528e985b66f471ecb81082fc00baa9 Author: Holger Schurig Date: Wed Apr 2 16:27:10 2008 +0200 libertas: move association code from join.c into scan.c Besides code moving, I did the following changes: * made some functions static * removed some unneeded #include's * made patch checkpatch.pl clean Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 53f36d70f072403d9aef68b332b72eb8c559b4ae Author: John W. Linville Date: Wed Apr 2 12:10:04 2008 -0400 iwlwifi/Kconfg: make IWLWIFI_LEDS invisible Select IWLWIFI_LEDS automatically when either IWL3945_LEDS or IWL4965_LEDS is selected. This avoids potential misconfigurations which lead to build failures for iwl-led.c. Cc: Miles Lane Cc: reinette.chatre@intel.com Signed-off-by: John w. Linville Signed-off-by: John W. Linville commit a0b484fee72fc18eb9145011a5edec922fafbc15 Author: Johannes Berg Date: Tue Apr 1 17:51:47 2008 +0200 iwlwifi: fix some warnings This fixes all kinds of warnings in iwlwifi. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 16788599a9601cbba6ad7b58b3b52227ea59c013 Author: John W. Linville Date: Tue Apr 1 20:59:32 2008 -0400 drivers/net/wireless/iwlwifi/iwl-debugfs.c: fix another '%llu' warning drivers/net/wireless/iwlwifi/iwl-debugfs.c: In function ‘iwl_dbgfs_stations_read’: drivers/net/wireless/iwlwifi/iwl-debugfs.c:247: warning: format ‘%llu’ expects type ‘long long unsigned int’, but argument 4 has type ‘u64’ Cc: Reinette Chatre Cc: Andrew Morton Signed-off-by: John W. Linville commit fff7710937f755099209357e5b5740d42a2c9f97 Author: Chr Date: Tue Apr 1 21:45:18 2008 +0200 mac80211: add station aid into ieee80211_tx_control This patch is necessary for the upcoming Accesspoint patch for p54. Signed-off-by: Christian Lamparter Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 2aee82de5238625a7664f88d6ebff9de467bb685 Author: Denys Vlasenko Date: Tue Apr 1 02:56:32 2008 +0200 wavelan_cs: stop inlining largish static functions Hi John, Can you please take a look at this patch? drivers/net/wireless/wavelan_cs.c has unusually large number of static inline functions - 27. I looked through them and 20 of them do not seem to warrant inlining. Some are really big; others call mdelay(1) or busy-wait for a bit to be set in a hardware register - it's pointless to optimize such functions for speed. This patch removes "inline" from these static function (regardless of number of callsites - gcc nowadays auto-inlines statics with one callsite). Size difference for 32bit x86: text data bss dec hex filename 17020 372 8 17400 43f8 linux-2.6-ALLYES/drivers/net/wireless/wavelan_cs.o 14032 356 8 14396 383c linux-2.6.inline-ALLYES/drivers/net/wireless/wavelan_cs.o Signed-off-by: Denys Vlasenko -- vda Signed-off-by: John W. Linville commit 7b463ced635231dd1d4ca6d8b1d93f9353b9dc3a Author: Luis R. Rodriguez Date: Tue Apr 1 15:17:36 2008 -0400 prism54: set carrier flags correctly > prism54 should set the carrier flags correctly when it thinks the > link can be used. Agreed, so sure, this is OK but I rather we turn the carrier on or off *before* sending an event, like this. Signed-off-by: Roy Marples Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8fe2b65a18e49bfde56a59ed4ab3fc7aa0c2f325 Author: Michael Buesch Date: Sun Mar 30 00:10:50 2008 +0100 ssb: Turn suspend/resume upside down Turn the SSB bus suspend mechanism upside down. Instead of deciding by an internal reference count when to suspend/resume, let the parent bus call us in their suspend/resume routine. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 5100d5ac81b9330dc57e35adbe50923ba6107b8f Author: Michael Buesch Date: Sat Mar 29 21:01:16 2008 +0100 b43: Add PIO support for PCMCIA devices This adds PIO support back (D'oh!) for PCMCIA devices. This is a complete rewrite of the old PIO code. It does actually work and we get reasonable performance out of it on a modern machine. On a PowerBook G4 I get a few MBit for TX and a few more for RX. So it doesn't work as well as DMA (of course), but it's a _lot_ faster than the old PIO code (only got a few kBit with that). The limiting factor is the host CPU speed. So it will generate 100% CPU usage when the network interface is heavily loaded. A voluntary preemption point in the RX path makes sure Desktop Latency isn't hurt. PIO is needed for 16bit PCMCIA devices, as we really don't want to poke with the braindead DMA mechanisms on PCMCIA sockets. Additionally, not all PCMCIA sockets do actually support DMA in 16bit mode (mine doesn't). Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 3109ece1114293b8201d9c140d02d7ce9a9fa387 Author: Tomas Winkler Date: Fri Mar 28 16:33:35 2008 -0700 iwlwifi: Eliminate association from beacon This patch removes association from beacon using bss_info_change handler for association Signed-off-by: Tomas Winkler Signed-off-by: Gregory Greenman Signed-off-by: John W. Linville commit 21c0cbe760ca6b5d4c6927c3ec1352a843a8c11c Author: Tomas Winkler Date: Fri Mar 28 16:33:34 2008 -0700 mac80211: add association capabilty and timing info into bss_conf This patch adds assocation capability, timestamp (tsf) and beacon interval to bss_conf. This is required for successful assocation of iwlwifi drivers Signed-off-by: Tomas Winkler Signed-off-by: Gregory Greenman Signed-off-by: John W. Linville commit 98952d5decf8195b2cbb96d47572278335a8a8d8 Author: Tomas Winkler Date: Fri Mar 28 16:33:33 2008 -0700 iwlwifi: eliminate conf_ht This patch eliminates the use of conf_ht in iwlwifi driver, replacing it with bss_info_changed. Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 38668c059f5202f5fd9612391f9aa1b38a97241b Author: Tomas Winkler Date: Fri Mar 28 16:33:32 2008 -0700 mac80211: eliminate conf_ht This patch eliminates the use of conf_ht, replacing it with bss_info_changed. Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 9788ba7500c3a6268ceb63296a0f37f34d450beb Author: Michael Buesch Date: Fri Mar 28 10:34:55 2008 +0100 ssb-pcmcia: IRQ and DMA related fixes Here come some IRQ and DMA related fixes for the ssb PCMCIA-host code. Not much to say, actually. I think the patch explains itself. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 247367016305637fb981db020679520e354c80c4 Author: John W. Linville Date: Tue Apr 8 14:15:46 2008 -0400 Revert "mac80211: use a struct for bss->mesh_config" This reverts commit 6c4711b4697d93424e4b1f76a9929ba844d714a5. That patch breaks mesh config comparison between beacons/probe reponses, so every beacon from a mesh network would be added as a new bss. Since the comparison has to be performed for every received beacon I believe it is best to save the mesh config in a format easy to compare, rather than do a bunch of unaligned accesses to compare field by field. Signed-off-by: John W. Linville commit 8eefca4888c986d993b2571eb31f0397a5d0a178 Merge: 549e028... de357cc... Author: David S. Miller Date: Tue Apr 8 02:33:36 2008 -0700 Merge branch 'net-2.6.26-isatap-20080403' of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-dev commit b35c07d00751c3d554dd6e582b661ac2e8ffc162 Author: Andrew Vasquez Date: Thu Apr 3 13:13:32 2008 -0700 [SCSI] qla2xxx: Update version number to 8.02.01-k1. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 221726d41a6c351fd8ea7d4b11ab13085f7a8647 Author: Seokmann Ju Date: Thu Apr 3 13:13:31 2008 -0700 [SCSI] qla2xxx: Correct vport configuration-change handling. Upon having configuration changes on vports only, the driver handles SCR regardless physical port state and, in turn, it results mailbox error as below: Mar 20 11:24:20 dl585 kernel: qla2x00_mailbox_command(9): **** FAILED. mbx0=4005, mbx1=1, mbx2=8100, cmd=70 **** With the changes, driver checks physical port loop_state and make sure the port is ready to take commands. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit bd2a1846b2313e32d0270151a31a6b8335384a20 Author: Seokmann Ju Date: Thu Apr 3 13:13:30 2008 -0700 [SCSI] qla2xxx: Use proper HA during asynchrounous event handling. Changes are added to the driver so that it can behave properly upon having asynchronous events, for example, addition of target devices to the VPs. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 463717edc9d675ead14b02f060425ff7860d1dc1 Author: Seokmann Ju Date: Thu Apr 3 13:13:29 2008 -0700 [SCSI] qla2xxx: Check DFLG_NO_CABLE only on physical port. As there is no actual cable connection on vports, made change so that the driver checks DFLG_NO_CABLE against ha->device_flags only for physical port. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit d4486fd6deb3354aa39cfedfcfd114cfe9ff9238 Author: Seokmann Ju Date: Thu Apr 3 13:13:28 2008 -0700 [SCSI] qla2xxx: Consistently access the physical HA port. There were several places where referencing ha structure of virtual ports for resources. Among those refereces, certain fields are get up-to-dated only on ha structure of physical port. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 73f0f0f24ad898db8316d1c8bf877fbe7b60b015 Author: Andrew Vasquez Date: Thu Apr 3 13:13:27 2008 -0700 [SCSI] qla2xxx: Remove unused member (dma_handle) from srb_t structure. The member is not needed as there's no non-scatter-gather list I/Os submitted by the upper-layers. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 4d4df1932b6b116aecc81039066fec27f2050762 Author: Harihara Kadayam Date: Thu Apr 3 13:13:26 2008 -0700 [SCSI] qla2xxx: Add ISP84XX support. Signed-off-by: Ravi Anand Additional cleanups and Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit b93480e319654b8921364b49528532dff4822a45 Author: Ravi Anand Date: Thu Apr 3 13:13:25 2008 -0700 [SCSI] qla2xxx: Assign mailbox command timeout values in a consistent manner. Signed-off-by: Ravi Anand Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 523ec773b8ffb1c607bc3a54c9526558e3b1eab1 Author: Andrew Vasquez Date: Thu Apr 3 13:13:24 2008 -0700 [SCSI] qla2xxx: Add midlayer target/device reset support. Now that infrastructure is present within the midlayer and there is a clear distinction between what is expected from a device and target reset, convert the current device-reset codes to a target-reset, and add codes to perform a proper device-reset (LUN reset). In the process of adding reset support, collapse and consolidate large sections of mailbox-command (TMF issuance) codes, generalize the two 'wait-for-commands-to-complete' functions, and add a generic-reset routine for use by midlayer reset functions. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 3fe7cfb910ea138ae623d1320c71e2a7a0bdc527 Author: Andrew Vasquez Date: Thu Apr 3 13:13:23 2008 -0700 [SCSI] qla2xxx: Check alternate 'reason' code during GPSC status handling. Some switches return 0x09 (Command not supported) as the reason code for GPSC failure. Check for this code, and disable additional GPSC queries if found. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7d232c745ef2ce141cc9d9538421affa32846fdb Author: Andrew Vasquez Date: Thu Apr 3 13:13:22 2008 -0700 [SCSI] qla2xxx: Add Flash Descriptor Table layout support. The Flash Descriptor Table (FDT) present on many recent HBAs encodes flash accessing characteristics of the flash-part used on the HBA. Use this information during flash manipulation (writes) rather than using specific hard-coded values based on queried manufacturer and device IDs. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c87a0d8c8de7e191cd59779560d8df2e935c7dc7 Author: Andrew Vasquez Date: Thu Apr 3 13:13:21 2008 -0700 [SCSI] qla2xxx: Use PCI-SIG nomenclature for PCIe bandwidth units. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 587f4cae4a8ce1315c3def2229c2a912637269b6 Author: Andrew Vasquez Date: Thu Apr 3 13:13:20 2008 -0700 [SCSI] qla2xxx: Cruft cleanup of functions and structures. Strip unused (DEBUG-ONLY) enabled functions, inlines, useless wrappers, and unused DPC flags from the code. Another step in the migration towards a cleaner (less-crusty) driver. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit cb8dacbf1110d8bd39413f3116ff1720f757854e Author: Andrew Vasquez Date: Thu Apr 3 13:13:19 2008 -0700 [SCSI] qla2xxx: Add hardware trace-logging support. Recent ISPs have a region within FLASH which acts as a repository for the logging of serious hardware and software failures. Currently, the region is large enough to support up to 255 entries. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 0971de7f56f809f40edae6fd372745e429e970e9 Author: Andrew Vasquez Date: Thu Apr 3 13:13:18 2008 -0700 [SCSI] qla2xxx: Add FC-transport Asynchronous Event Notification support. Supported events include LIP, LIP reset, RSCN, link up, and link down. To support AEN (and additional forthcoming features), we also introduce a simple deferred-work construct to manage events which require a non-atomic sleeping-capable context. This work-list is processed as part of the driver's standard DPC routine. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c6952483b070ec8a4f2450d1116be908fe59edcc Author: Andrew Vasquez Date: Thu Apr 3 13:13:17 2008 -0700 [SCSI] qla2xxx: Simplify interrupt handler locking. There's no need to use the heavier (albiet safer) *_irq[save|restore]() locking primitives within the driver's interrupt handlers, interrupts are guaranteed to be non-reentrant. Use lightweight spin_lock() and spin_unlock() primitives while acquiring the hardware_lock. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 5ab5a4dd5444db0715b5748bab916725138d3a32 Author: Andrew Vasquez Date: Thu Apr 3 13:13:16 2008 -0700 [SCSI] qla2xxx: Use an rport's scsi_target_id member consistently throughout driver. Rather than using a duplicate/cached value stored in the driver's internal fcport structure. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 0ddda2d1529f2d01d3b043782d2efcf0499fc3db Author: Andrew Vasquez Date: Thu Apr 3 13:13:15 2008 -0700 [SCSI] qla2xxx: Remove unused and obsolete #define's. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 2ae2b3709542a4b5b691985ecbdf3b79303d9e56 Author: Andrew Vasquez Date: Thu Apr 3 13:13:14 2008 -0700 [SCSI] qla2xxx: Add support for host supported speeds FC transport attribute. Use generic FC transport #defines for speed values. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 01e58d8eac93f3b73246b8d0bdee071d9fb85661 Author: Andrew Vasquez Date: Thu Apr 3 13:13:13 2008 -0700 [SCSI] qla2xxx: Update copyright banner. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 203c29102b8e76f088440099af01677cfb1cfdf9 Author: Andrew Vasquez Date: Thu Apr 3 13:13:12 2008 -0700 [SCSI] qla2xxx: Update firmware filenames for new ISP parts. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit db3cc200a6ecf9681d598bfe1c3df9dac1afa40a Author: James Bottomley Date: Thu Apr 3 12:28:20 2008 -0500 [SCSI] ips: remove spurious cpu_to_leX on outX statements These are completely wrong because both outX and writeX do an automatic reverse of their arguments if necessary, so having an extra cpu_to_leX gives us the wrong ordering on BE platforms again. Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit 79bc14813cd7e1b75d2e4cbbc17043261cf4bcdc Author: James Bottomley Date: Thu Apr 3 09:04:31 2008 -0500 [SCSI] libsas: fix missing inlines in header file Two functions in include/scsi/sas_ata.h don't have static inlines leading to problems if they're built in: On Thu, 2008-04-03 at 14:06 +0200, Toralf Förster wrote: > drivers/scsi/mvsas.o: In function `sas_ata_init_host_and_port': > mvsas.c:(.text+0x0): multiple definition of `sas_ata_init_host_and_port' > drivers/scsi/libsas/built-in.o:(.text+0x37f4): first defined here > drivers/scsi/mvsas.o: In function `sas_ata_task_abort': > mvsas.c:(.text+0x7): multiple definition of `sas_ata_task_abort' > drivers/scsi/libsas/built-in.o:(.text+0x37fb): first defined here > make[2]: *** [drivers/scsi/built-in.o] Error 1 > make[1]: *** [drivers/scsi] Error 2 > make: *** [drivers] Error 2 Add the correct static inline modifiers. Tested-by: Toralf Förster Signed-off-by: James Bottomley commit 2f3edc6936e3f6be3f1df1e89c141ae028fa605e Author: James Bottomley Date: Wed Apr 2 10:05:48 2008 -0500 [SCSI] transport_class: BUG if we can't release the attribute container Every current transport class calls transport_container_release but ignores the return value. This is catastrophic if it returns an error because the containers are part of a global list and the next action of almost every transport class is to free the memory used by the container. Fix this by making transport_container_release a void, but making it BUG if attribute_container_release returns an error ... this catches the root cause of a system panic much earlier. If we don't do this, we get an eventual BUG when the attribute container list notices the corruption caused by the freed memory it's still referencing. Also made attribute_container_release __must_check as a reminder. Cc: Greg KH Signed-off-by: James Bottomley commit fa8e36c39b00a219d2c37250e493c3421e0e67e9 Author: James Bottomley Date: Wed Apr 2 18:11:52 2008 -0500 [SCSI] fix barrier failure issue Currently, if the barrier command fails, the error return isn't seen by the block layer and it proceeds on regardless. The problem is that SCSI always returns no error for REQ_TYPE_BLOCK_PC ... it expects the submitter to pick the errors out of req->errors, which the block barrier functions don't do. Since it appears that the way SG_IO and scsi_execute_request() work they discard the block error return and always use req->errors, the best fix for this is to have the SCSI layer return an error to block if one actually occurred (this also allows us to filter out spurious errors, like deferred sense). This patch is a bug fix that will need backporting to stable, but it's also quite a big change and in need of testing, so we'll incubate in the main kernel tree and backport at the -rc2 or so stage if no problems turn up. Acked-by: Jens Axboe Cc: Marcelo Tosatti Signed-off-by: James Bottomley commit bfab1637b5d0c9683016917fa8e082ba6ce8d5a6 Author: Martin Peschke Date: Mon Mar 31 11:15:31 2008 +0200 [SCSI] zfcp: Add docbook comments to debug trace. Add missing docbook-comments for functions forming zfcp's internal trace API. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 92c7a83fc1fe7b9c3b26831cf84aedd3962d13ee Author: Martin Peschke Date: Mon Mar 31 11:15:30 2008 +0200 [SCSI] zfcp: Cleanup line breaks in debug trace. Remove line breaks that do not conform to coding style. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 6bc473dd324237acbaa7a4c5e73d00dd5fc389ec Author: Martin Peschke Date: Mon Mar 31 11:15:29 2008 +0200 [SCSI] zfcp: Shorten excessive names in debug trace. Saving on line breaks, improving readability, by shortening excessive function names and identifiers, by simplifying some functions call chains, and by simplifying nesting of some data structure. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 2b604c9b909ce1c98e51208eee2f70ee3e604079 Author: Christof Schmitt Date: Mon Mar 31 11:15:28 2008 +0200 [SCSI] zfcp: Move DBF definitions to private header file Unclutter the global zfcp_def.h header. Move everything required to call into the debug feature to a new header file. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit a9c857757ea09b63040bba7ab149557ac2bfb274 Author: Martin Peschke Date: Mon Mar 31 11:15:27 2008 +0200 [SCSI] zfcp: Simplify zfcp_dbf_tag and related functions in debug trace. Simplify usage of zfcp_dbf_tag() and calling functions. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit df29f4ac4d3e8fcc8d8c85b7aeb8cc0df2a3f68a Author: Martin Peschke Date: Mon Mar 31 11:15:26 2008 +0200 [SCSI] zfcp: Simplify usage of hex dump output function for debug trace. Simplify usage of output function for hex dumps. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit c7b7fc8c30df49a4ca5743d5f062666adcc1dc15 Author: Martin Peschke Date: Mon Mar 31 11:15:25 2008 +0200 [SCSI] zfcp: Remove obsolete output function from debug trace. Remove obsolete output function. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b634fff743be5e6010c5cbe36ea1e68ff56a6aee Author: Martin Peschke Date: Mon Mar 31 11:15:24 2008 +0200 [SCSI] zfcp: Cleanup debug trace view functions. Improve readability of code by using more convenient output function. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 8fc5af168753239d7bf77ccca831196bcdffbfbe Author: Martin Peschke Date: Mon Mar 31 11:15:23 2008 +0200 [SCSI] zfcp: simplify zfcp_dbf_timestamp() Change zfcp_dbf_timestamp() so that it just calculates timespec from timestamp. First step to be able to rip this code out of zfcp. Besides, this change makes it easier to rip out old-style debug view functions. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 81e56ded878aeb8730f18c1d0a70d5face788be3 Author: Adrian Bunk Date: Fri Mar 28 14:48:34 2008 -0700 [SCSI] aic94xx: cleanups - static functions in .c files shouldn't be marked inline - make needlessly global code static - remove the unused aic94xx_seq.c:asd_unpause_lseq() - #if 0 other unused code [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit d70d4667e9eead06aa38be947274fda22dcf923b Author: Harvey Harrison Date: Mon Mar 31 22:05:30 2008 -0700 [SCSI] ch: fix sparse shadowed variable warnings Replace the global err array with ch_err. drivers/scsi/ch.c:271:6: warning: symbol 'err' shadows an earlier one drivers/scsi/ch.c:116:3: originally declared here Replace the temporary cmd buffer with ch_err to avoid shadowing the cmd function parameter. drivers/scsi/ch.c:724:11: warning: symbol 'cmd' shadows an earlier one drivers/scsi/ch.c:596:20: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: James Bottomley commit 8c5e03d3cf70161413aaf7152dafa96daca5bb2f Author: Adrian Bunk Date: Mon Mar 31 01:53:55 2008 +0300 [SCSI] make scsi_end_bidi_request() static This patch makes the needlessly global scsi_end_bidi_request() static. Signed-off-by: Adrian Bunk Acked-by: Boaz Harrosh Signed-off-by: James Bottomley commit f6b196a2f3058c6f70bb36ab61ff8aa996fca301 Author: James Bottomley Date: Sun Mar 30 12:36:26 2008 -0500 [SCSI] hptiop: fix header.context usage header.context is a 64 bit field, but it's deliberately split into context and context_hi32. Thus cpu_to_le64 assignments are wrong on this. Replace them with the correct settings of both the low and high words. Cc: HighPoint Linux Team Signed-off-by: James Bottomley commit a579dab1c19104fe82e864513cb17c6803dd7840 Author: James Bottomley Date: Mon Mar 31 22:06:50 2008 -0500 [SCSI] wd33c93: fix up cut and paste error The three drivers: a2091, gvp11 and mvme147 have erroneous references to a3000_host. Fix these to be references to the proper host variable. Cc: Thomas Bogendoerfer Signed-off-by: James Bottomley commit 8dea0d02f8bb7103ec0818bd2e856f30f2d1bcf1 Author: FUJITA Tomonori Date: Sun Mar 30 00:59:58 2008 +0900 [SCSI] scsi_debug: remove unnecessary function declarations This patch removes function declarations with moving some functions. This cleans up them a bit to silence checkpatch.pl. There is no functional change. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 5f2578e579ab74b4e3cfd1431bfa976e906594f6 Author: FUJITA Tomonori Date: Sun Mar 30 00:59:57 2008 +0900 [SCSI] scsi_debug: support large non-fake virtual disk Currently, the maximum amount of RAM that scsi_debug can allocate is 4GB. This patch increases it to 2TB; scsi_debug can allocates 2TB memory and export it as if it were 2TB scsi disk. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 1978910062c38394570c48b3065f37060be31b91 Author: FUJITA Tomonori Date: Sun Mar 30 00:59:56 2008 +0900 [SCSI] scsi_debug: remove the duplicated code in resp_read and resp_write resp_read and resp_write performs READ_* and WRITE_* commands respectively. This sweeps up the similar code in them. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 28898873b0049d4271c0ff3eb57eb329bbc4d9df Author: FUJITA Tomonori Date: Sun Mar 30 00:59:55 2008 +0900 [SCSI] scsi_debug: sweep up sdebug_capacity calculation sdebug_capacity is calculated at five different places. This add a helper function to calculate sdebug_capacity to sweep up the duplicatated code. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit f58b0efbf49ec54c82b8904c64a6498f829e7544 Author: FUJITA Tomonori Date: Sun Mar 30 00:59:54 2008 +0900 [SCSI] scsi_debug: remove unnecessary sdebug_store_size sdebug_store_size doesn't need to be static global. It's used at startup only. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 540d9b40faa8fcf094cb1fbf9224406bb13e3307 Author: Denis Cheng Date: Thu Mar 20 03:10:20 2008 +0800 [SCSI] hosts.c: removed one unneeded shost->active_mode assignment In the following if/else statement, shost->active_mode will always be set, so this assignment is unneeded. Signed-off-by: Denis Cheng Signed-off-by: James Bottomley commit 36b8dd1bf787512e33efa7ce88eff437404ab22d Author: Marcin Slusarz Date: Fri Mar 28 14:48:35 2008 -0700 [SCSI] aacraid, ips: leX_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Acked-by: "Salyzyn, Mark" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 507e49693a074e878f20718fb97a5da01ccd9cbd Author: Martin Peschke Date: Thu Mar 27 14:22:05 2008 +0100 [SCSI] zfcp: Remove obsolete erp_dbf trace This patch removes the now obsolete erp_dbf trace. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 6f4f365e9c5d721c4d03ee8009dd6fab47feb045 Author: Martin Peschke Date: Thu Mar 27 14:22:04 2008 +0100 [SCSI] zfcp: Add trace records for recovery actions. This patch writes trace records for various phases of a recovery action: action being created, action being processed, action continueing asynchronously, action gone, action timed out, action dismissed etc. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 9467a9b3efdd9041202f71cc270bda827a7ec777 Author: Martin Peschke Date: Thu Mar 27 14:22:03 2008 +0100 [SCSI] zfcp: Trace all triggers of error recovery activity This patch allows any recovery event to be traced back to an exact cause, e.g. a particular request identified by an id (address). Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 698ec01635819c5ae60090bb4efcbeffc41642fb Author: Martin Peschke Date: Thu Mar 27 14:22:02 2008 +0100 [SCSI] zfcp: Add traces for state changes. This patch writes a trace record which provides information about state changes for adapters, ports and units, e.g. target failure, targets becoming online, targets being temporarily blocked due to pending recovery, targets which have been recovered successfully etc. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 348447e85749120ad600a5c8e23b6bb7058b931d Author: Martin Peschke Date: Thu Mar 27 14:22:01 2008 +0100 [SCSI] zfcp: Add trace records for recovery thread and its queues This patch writes trace records which provide information about the operation of the zfcp error recovery thread and the queues it works on. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit d79a83dbffe2e49e73f2903c350937faf2e0c2f1 Author: Martin Peschke Date: Thu Mar 27 14:22:00 2008 +0100 [SCSI] zfcp: Register new recovery trace. This patch registers the new recovery trace with the s390 debug feature. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 10223c60daf226ee2248b772892abc83cd875aa7 Author: Martin Peschke Date: Thu Mar 27 14:21:59 2008 +0100 [SCSI] zfcp: Introduce printf helper functions for debug trace. Introducing helper functions that allow for code simpfifications. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b75db73159ccffaf60a67896fdfed3856b1f65e3 Author: Martin Peschke Date: Thu Mar 27 14:21:58 2008 +0100 [SCSI] zfcp: Add qtcb dump to hba debug trace This patch adds per request hardware debugging data to the trace record which is written per request. It's a replacement for some sad kernel message based debugging code. Considering the amount of trace data, printk() is not suitable for this stuff. Writing binary traces is more efficient. In addition we got all information in one place. The QTCB trace data is only dumped for requests other than SCSI requests. Otherwise we would flood the trace ring buffer. We are mostly interested in non-SCSI, recovery related requests here anyway. This patch also works around a known hardware bug. It truncates QTCB traces so that we do not save unused areas of the hardware trace. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 07c70d26b556b342e7ad285963974808efba3104 Author: Martin Peschke Date: Thu Mar 27 14:21:57 2008 +0100 [SCSI] zfcp: Remove qtcb dump to kernel log Is not appropriate to printk() tons of hardware trace data. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 0f65e951ee0c4a7506c6c0489b59a6fb1d2f0e75 Author: Martin Peschke Date: Thu Mar 27 14:21:56 2008 +0100 [SCSI] zfcp: Clean up _zfcp_san_dbf_event_common_els Clean up _zfcp_san_dbf_event_common_els using zfcp_dbf_hexdump() helper. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit c15450e33d198334291d50b5a95337c6b90cdab0 Author: Martin Peschke Date: Thu Mar 27 14:21:55 2008 +0100 [SCSI] zfcp: Introduce a helper function that dumps hex data to a zfcp trace. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit d5cdc9898b5589acc77db91a1e9c0feb9f32abef Author: FUJITA Tomonori Date: Tue Mar 25 17:04:46 2008 +0900 [SCSI] scsi_debug: fix lba and data length calculation bugs For example, `modprobe scsi_debug virtual_gb=1100` gives: scsi7 : scsi_debug, version 1.81 [20070104], dev_size_mb=8, opts=0x0 scsi 7:0:0:0: Direct-Access Linux scsi_debug 0004 PQ: 0 ANSI: 5 sd 7:0:0:0: [sdc] 2306867200 512-byte hardware sectors (1181116 MB) sd 7:0:0:0: [sdc] Write Protect is off sd 7:0:0:0: [sdc] Mode Sense: 73 00 10 08 sd 7:0:0:0: [sdc] Write cache: enabled, read cache: enabled, supports DPO and FUA sd 7:0:0:0: [sdc] 2306867200 512-byte hardware sectors (1181116 MB) sd 7:0:0:0: [sdc] Write Protect is off sd 7:0:0:0: [sdc] Mode Sense: 73 00 10 08 sd 7:0:0:0: [sdc] Write cache: enabled, read cache: enabled, supports DPO and FUA sdc: unknown partition table sd 7:0:0:0: [sdc] Attached SCSI disk sd 7:0:0:0: Attached scsi generic sg6 type 0 end_request: I/O error, dev sdc, sector 2306867072 Buffer I/O error on device sdc, logical block 288358384 end_request: I/O error, dev sdc, sector 2306867072 Buffer I/O error on device sdc, logical block 288358384 end_request: I/O error, dev sdc, sector 2306867192 (snip) Note that this converts all the calculations (including the correct calculations) for unification. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit b8e3d3aeabe3be471e448ff5e51b6e57b5819913 Author: James Bottomley Date: Sun Mar 30 11:38:07 2008 -0500 [SCSI] mpt fusion: fix up msi_enable in mpt_suspend There's a problem with the combination of the upstream power management fixes and the enabling of MSI by default in that the suspend path still uses the global variable. Convert it to check ioc->msi_enable. Cc: "Moore, Eric" Cc: "Prakash, Sathya" Signed-off-by: James Bottomley commit 53df8ba801b835ebbd116b4585adfe7ce4efd2b3 Author: FUJITA Tomonori Date: Tue Mar 25 09:26:53 2008 +0900 [SCSI] ps3rom: use scsi_build_sense_buffer Signed-off-by: FUJITA Tomonori Acked-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 11002fbcb472cf1176d97eac214df98f7c17f69c Author: FUJITA Tomonori Date: Tue Mar 25 09:26:52 2008 +0900 [SCSI] stex: use scsi_build_sense_buffer Signed-off-by: FUJITA Tomonori Acked-by: Ed Lin Signed-off-by: James Bottomley commit 526917641aa50eb852591cc3953a92374bedc836 Author: FUJITA Tomonori Date: Tue Mar 25 09:26:51 2008 +0900 [SCSI] libata: use scsi_build_sense_buffer Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: James Bottomley commit a34c4e98367965402134f2e66c3cdc4416f109e4 Author: FUJITA Tomonori Date: Tue Mar 25 09:26:50 2008 +0900 [SCSI] scsi_debug: use scsi_build_sense_buffer Signed-off-by: FUJITA Tomonori Cc: Douglas Gilbert Signed-off-by: James Bottomley commit 3bc6a26192d2548397a3e721d786cf8345ee54e1 Author: FUJITA Tomonori Date: Tue Mar 25 09:26:49 2008 +0900 [SCSI] add scsi_build_sense_buffer helper function This adds scsi_build_sense_buffer, a simple helper function to build sense data in a buffer. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit be3cb3d84bb8dffecb7c5570355866075caa7e95 Author: Thomas Bogendoerfer Date: Fri Mar 21 22:25:43 2008 +0100 [SCSI] WD33C93: let platform stub override no_sync/fast/dma_mode SGI machines with WD33C93 allow usage of burst mode DMA, which increases performance noticable. To make this selectable by the sgiwd93 stub, setting the values for no_sync, fast and dma_mode has been moved to the individual platform stubs. Signed-off-by: Thomas Bogendoerfer Acked-by: Ralf Baechle Signed-off-by: James Bottomley commit 7748369f49d428e558c519ed344d3005d38347b7 Author: Michael Reed Date: Thu Mar 20 17:32:05 2008 -0500 [SCSI] mptsas: do not use ioc->handle to locate hba portinfo structure While performing hardware raid reset testing via the raid's client, I noticed that sometimes, following the reset, that there would be more raid targets in the lsscsi output than there actually were raid targets. I tracked this down to the following issue. Fusion cannot always find the mptsas_portinfo structure for the hba because it uses the handle stored in ioc->handle to locate it. The problem is that the firmware can change the handle associated with the hba when h/w raid is reset (via the raid client). When this happens, the driver will allocate another mptsas_portinfo structure and link it into the chain of said structures. This ultimately causes confusion within the driver resulting in targets not being removed when they should be. Eric Moore pointed out that the hba's portinfo structure is always the first structure on the sas_topology list. This patch modifies mptsas.c to access the hba's portinfo structure by taking the first structure on said list. Signed-off-by: Michael Reed Acked-by: "Moore, Eric" Signed-off-by: James Bottomley commit 9d56291366cd6ab156be722e42cf487bef20f5fd Author: David C Somayajulu Date: Wed Mar 19 11:23:03 2008 -0700 [SCSI] qla4xxx: fix scsi command completion, lun reset and target reset code This patch contains the following: 1. when hba completion status is good, check for iscsi transport errors (underflow/overflow) prior to checking the scsi status 2. New firmware requires that one marker iocb be issued for each task management command. The patch issues marker iocb immediately following a LUN or Target reset. Signed-off-by: David C Somayajulu Signed-off-by: James Bottomley commit af7a5647c03c18f5ea58033710ccb23d71727e0c Author: bo yang Date: Mon Mar 17 04:13:07 2008 -0400 [SCSI] megaraid_sas: Add the new controller(1078DE) support to the driver Add the new Controller (ID: 007C) support to driver. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit d532dbe2cb71586ab520dbef732d1af54a689313 Author: bo yang Date: Mon Mar 17 03:36:43 2008 -0400 [SCSI] megaraid_sas: Fix the frame count calculation When Driver sent wrong frame count to firmware. As this particular command is sent to drive, FW is seeing continuous chip resets and so the command will timeout. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit b70a41e077b3405d4b41d34db31b39c05bf142b5 Author: bo yang Date: Tue Mar 18 03:13:06 2008 -0400 [SCSI] megaraid_sas: rollback the sense info implementation Sense buffer ptr data type in the ioctl path is reverted back to u32 * as in previous versions of driver. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit ccde6b8d6217834def292030a1864d517f55ded5 Author: Denis Cheng Date: Tue Mar 4 15:24:23 2008 -0800 [SCSI] 3w-9xxx, 3w-xxxx: memset not needed in probe The memory return from scsi_host_alloc is alloced by kzalloc, which is already zero initilized, so memset not needed. Signed-off-by: Denis Cheng Cc: Adam Radford Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 0b6c4b14cfb2fd89064d29bdead62f9ed8631399 Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Jan 28 14:09:54 2008 +0100 [SCSI] aic7xxx: Test opcode, not definition in aicasm:type_check() This fixes a bug that we treat all sequencer operations as ands and never do the additional invalid bit checks non-and operations require because the if () to determine this has an operand which is always true at the end of the or statement. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Hannes Reinecke Signed-off-by: James Bottomley commit 639db475c8bb77f915f79f567ee98ac673d6edf3 Author: FUJITA Tomonori Date: Thu Mar 20 11:09:19 2008 +0900 [SCSI] scsi_debug: remove unnecessary function declarations This patch removes lots of function declarations with moving scsi_debug_queuecommand. This cleans up scsi_debug_queuecommand a bit to silence checkpatch.pl Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 8b40228f3f5b1fa926c116ec444476d32bc470f6 Author: FUJITA Tomonori Date: Thu Mar 20 11:09:18 2008 +0900 [SCSI] scsi_debug: use list_for_each_entry_safe This replaces list_for_each_safe and list_entry with list_for_each_entry_safe. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit a75869d1ff73de74249373c2a1d80fbbc3b6c8fc Author: FUJITA Tomonori Date: Thu Mar 20 11:09:17 2008 +0900 [SCSI] scsi_debug: remove unnecessary condition test in devInfoReg open_devip is always non NULL. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 5cb2fc06107fe343a9488b32ddf3d9b4596b7090 Author: FUJITA Tomonori Date: Thu Mar 20 11:09:16 2008 +0900 [SCSI] scsi_debug: create new scsi_debug devices at a single place Two functions, sdebug_add_adapter and devInfoReg, creates new scsi_debug devices. To simplify the code, this patch adds a new helper function to create new scsi_debug devices (sdebug_device_create) and converts both functions to use it. I plan to add more to scsi_debug devices (e.g. using a thread for a scsi_debug device for scalability testings). This patch enable me to add such to just the new helper function instead of touching two functions, sdebug_add_adapter and devInfoReg. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit f3df41cff40992499d3c693251622299e4ce18c3 Author: FUJITA Tomonori Date: Thu Mar 20 11:09:15 2008 +0900 [SCSI] scsi_debug: remove temporary hack around sscanf for negative values sscanf can handle negative values. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 1c353f7d616a4ef04b5e73fe7a2184baa039f06f Author: James Bottomley Date: Thu Mar 13 11:19:36 2008 -0500 [SCSI] export command allocation and freeing functions independently of the host This is needed by things like USB storage that want to set up static commands for later use at start of day. Signed-off-by: James Bottomley commit e507e30b803fb56d768ed9a597e7609b74d2db21 Author: James Bottomley Date: Thu Mar 13 11:16:33 2008 -0500 [SCSI] consolidate command allocation in a single place Since the way we allocate commands with a separate sense buffer is getting complicated, we should isolate setup and teardown to a single routine so that if it gets even more complex, there's only one place in the code that needs to be altered. Signed-off-by: James Bottomley commit 035f5e06515a66827015202685e457a5534441b7 Author: FUJITA Tomonori Date: Sun Mar 9 13:44:37 2008 +0900 [SCSI] 3w-9xxx: use sg buffer copy helper functions Signed-off-by: FUJITA Tomonori Cc: Adam Radford Signed-off-by: James Bottomley commit e943752ecf0ce41cdf949d565140d91c7711dfd9 Author: FUJITA Tomonori Date: Sun Mar 9 13:44:36 2008 +0900 [SCSI] 3w-xxxx: use sg buffer copy helper functions This rewrites tw_transfer_internal with scsi_sg_copy_from/to_buffer. Signed-off-by: FUJITA Tomonori Cc: Adam Radford Signed-off-by: James Bottomley commit 31fe47d4374eb29d914333aa26bcb7ca9f1545f3 Author: FUJITA Tomonori Date: Sun Mar 9 13:44:35 2008 +0900 [SCSI] stex: use sg buffer copy helper functions This replaces stex_internal_copy with scsi_sg_copy_to/from_buffer. Signed-off-by: FUJITA Tomonori Acked-by: Ed Lin Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit d4345028d4c20407c313061b1bd49ba1aee81f94 Author: FUJITA Tomonori Date: Sun Mar 9 13:44:34 2008 +0900 [SCSI] aacraid: use sg buffer copy helper functions This replaces aac_internal_transfer with scsi_sg_copy_to/from_buffer. Signed-off-by: FUJITA Tomonori Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit 6690bae7e0279451ee92580bf1c5d39a76e3687e Author: FUJITA Tomonori Date: Sun Mar 9 13:44:33 2008 +0900 [SCSI] ips: use sg buffer copy helper funcitons This rewrites ips_scmd_buf_write/read with scsi_sg_copy_from/to_buffer respectively. Signed-off-by: FUJITA Tomonori Acked-by: Salyzyn, Mark Signed-off-by: James Bottomley commit 1a7a2e1a77f29179f997ca5e873c50ae2fb7fcc1 Author: FUJITA Tomonori Date: Sun Mar 9 13:44:32 2008 +0900 [SCSI] simscsi: use sg buffer copy helper funcitons This replaces simscsi_fillresult with scsi_sg_copy_from_buffer. Signed-off-by: FUJITA Tomonori Cc: Tony Luck Signed-off-by: James Bottomley commit 944cf8b4cba42fcb284a29e4817831471adb4fad Author: FUJITA Tomonori Date: Sun Mar 9 13:44:31 2008 +0900 [SCSI] ps3rom: use sg buffer copy helper funcitons Note that if scsi_bufflen(cmd) is not zero, the command always has an sg list. So this patch doesn't do the error checking in fill_from_dev_buffer and fetch_to_dev_buffer did. Signed-off-by: FUJITA Tomonori Looks-OK-to: Geert Uytterhoeven Signed-off-by: James Bottomley commit 21a6182924d531b41cb8c24e0344213f4c90c335 Author: FUJITA Tomonori Date: Sun Mar 9 13:44:30 2008 +0900 [SCSI] scsi_debug: use sg buffer copy helper functions Signed-off-by: FUJITA Tomonori Cc: Douglas Gilbert Signed-off-by: James Bottomley commit 9ac16b616ab117dab3fce9790368d3b58ca441ef Author: FUJITA Tomonori Date: Sun Mar 9 13:44:29 2008 +0900 [SCSI] scsi: add wrapper functions for sg buffer copy helper functions LLDs need to copies data between the SG table in struct scsi_cmnd and liner buffer. So they use the helper functions like sg_copy_from_buffer(scsi_sglist(sc), scsi_sg_count(sc), buf, buflen) sg_copy_to_buffer(scsi_sglist(sc), scsi_sg_count(sc), buf, buflen) This patch just adds wrapper functions: scsi_sg_copy_from_buffer(sc, buf, buflen) scsi_sg_copy_to_buffer(sc, buf, buflen) Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit b1adaf65ba0398c9a1adc8f3a274533165a4df61 Author: FUJITA Tomonori Date: Tue Mar 18 00:15:03 2008 +0900 [SCSI] block: add sg buffer copy helper functions This patch adds new three helper functions to copy data between an SG list and a linear buffer. - sg_copy_from_buffer copies data from linear buffer to an SG list - sg_copy_to_buffer copies data from an SG list to a linear buffer When the APIs copy data from a linear buffer to an SG list, flush_kernel_dcache_page is called. It's not necessary for everyone but it's a no-op on most architectures and in general the API is not used in performance critical path. Signed-off-by: FUJITA Tomonori Acked-by: Jens Axboe Signed-off-by: James Bottomley commit 78b4b05db57b04b3ed17dc71259bf1402c04abfa Author: Matthew Wilcox Date: Thu Mar 13 06:55:08 2008 -0600 [SCSI] BusLogic: make FlashPoint support x86-32 only We've verified that there are 64 bit and endianness problems in the flashpoint driver. Reverse the logic of CONFIG_OMIT_FLASHPOINT (make it CONFIG_SCSI_FLASHPOINT) and make it depend on X86_32 so it can't appear for any other architectures. Long term, if someone chooses, they could make FlashPoint 64 bit compliant (it looks like its a question of fixing up the sizes in some of the packed descriptors) Signed-off-by: James Bottomley commit 5c815d1501a9ce84578cb3ec64c9d31ef91e3de2 Author: Christof Schmitt Date: Mon Mar 10 16:18:54 2008 +0100 [SCSI] zfcp: Fix handling for boxed port after physical close When a FSF physical close returns the status boxed, this means that another system already closed the port. For our system this is the same status as in the good path, we have to send the normal close. So, set the status for the boxed response to the same as for the good status. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit 2505873afe510d8db05665684c056ac8f0b24563 Author: FUJITA Tomonori Date: Sun Mar 9 22:50:40 2008 +0900 [SCSI] aic79xx: fix IOMMU mapping failure handling Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 647b24256241e144fe8369244da1730b577211e9 Author: FUJITA Tomonori Date: Sun Mar 9 22:50:41 2008 +0900 [SCSI] aic7xxx: fix IOMMU mapping failure handling Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit ed5f606fef22e515331aab4c1f927775cf4af70e Author: Matthias Kaehlcke Date: Sun Mar 9 12:16:27 2008 +0100 [SCSI] mpt fusion: convert inactive_list_mutex to a mutex the semaphore inactive_list_mutex is used as a mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Acked-by: "Moore, Eric" Signed-off-by: James Bottomley commit 23a274c8a5adafc74a66f16988776fc7dd6f6e51 Author: Prakash, Sathya Date: Fri Mar 7 15:53:21 2008 +0530 [SCSI] mpt fusion: Enable MSI by default for SAS controllers This patch modifies the driver to enable MSI by default for all SAS chips. Signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit 74b2e047ecda7a82c3327a0d0bb45ee2ccf301ca Author: Christof Schmitt Date: Mon Mar 3 12:19:28 2008 +0100 [SCSI] zfcp: convert zfcp to use target reset and device reset handler [based on proposal from Mike Christie , this patch adds some simplifications to the handler functions] With the new target reset handler callback in the SCSI midlayer, the device reset handler in zfcp can be split in two parts. Now, zfcp does not have to track anymore whether the device supports LUN resets, so remove this flag and let the SCSI midlayer decide what to do. The device reset handler simply issues a LUN reset and the target reset handler a target reset. Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit ce5450392fa3ab54f0a84aa3b7589f8d6f2a58af Author: Mike Christie Date: Fri Feb 29 18:25:20 2008 -0600 [SCSI] qla4xxx: Add target reset functionality This patch adds target reset functionalty. Signed-off-by: Mike Christie Acked-by: David Somayajulu Signed-off-by: James Bottomley commit 30bd7df8ced23eefec87a5cda96dc99b002ed9da Author: Mike Christie Date: Fri Feb 29 18:25:19 2008 -0600 [SCSI] scsi_error: add target reset handler The problem is that serveral drivers are sending a target reset from the device reset handler, and if we have multiple devices a target reset gets sent for each device when only one would be sufficient. And if we do a target reset it affects all the commands on the target so the device reset handler code only cleaning up one devices's commands makes programming the driver a little more difficult than it should be. This patch adds a target reset handler, which drivers can use to send a target reset. If successful it cleans up the commands for a devices accessed through that starget. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit f7441a791aeaeac2e1f1f71b485d1372016f9285 Author: Geert Uytterhoeven Date: Mon Feb 25 14:24:31 2008 +0100 [SCSI] ps3rom: Simplify fill_from_dev_buffer() As we no longer need to calculate the data length of the whole scatterlist, we can abort the loop earlier and coalesce req_len and act_len into one variable, making fill_from_dev_buffer() more similar to fetch_to_dev_buffer(). Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit d1e4c9c57c2ed4722795443db22a5d813cd4f0e5 Author: FUJITA Tomonori Date: Sun Mar 2 18:30:18 2008 +0900 [SCSI] scsi_debug: use shost_priv macro Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 96ad0dfe8388428acc10c1bd96573f893fc79439 Author: FUJITA Tomonori Date: Sun Mar 2 18:30:17 2008 +0900 [SCSI] scsi_debug: remove unnecessary checking Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 9e603ca06a538ba6eae29f9785aa47bc53920a15 Author: FUJITA Tomonori Date: Sun Mar 2 18:30:16 2008 +0900 [SCSI] scsi_debug: remove scsi_debug.h scsi_debug.h just incldues some function declarations. This patch removes it with moving the scsi_host_template. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 9ff26eefd4f19051ce13bbba6847871626680e91 Author: FUJITA Tomonori Date: Sun Mar 2 18:30:15 2008 +0900 [SCSI] scsi_debug: stop including drivers/scsi/scsi.h This converts scsi_debug to include header files in include/scsi/ instead of drivers/scsi/scsi.h. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 9924a781f3e746ba5aa54cf96ca462b8d0915221 Author: Andi Kleen Date: Mon Feb 25 00:35:21 2008 +0100 [SCSI] Remove random noop unchecked_isa_dma users Lots of drivers set it to 0. Remove that. Patch should be a nop. Signed-off-by: Andi Kleen Signed-off-by: James Bottomley commit b271f1c881ff301ba1fbb52698d4f2b91858f421 Author: FUJITA Tomonori Date: Sun Feb 24 15:25:23 2008 -0800 [SCSI] aacraid: READ_CAPACITY_16 shouldn't trust allocation length in cdb When aacraid spoofs READ_CAPACITY_16, it assumes that the data length in the sg list is equal to allocation length in cdb. But sg can put any value in scb so the driver needs to check both the data length in the sg list and allocation length in cdb. If allocation length is larger than the response length that the driver expects, it clears the data buffer in the sg list to zero but it doesn't need to do. Just setting resid is fine. Signed-off-by: FUJITA Tomonori Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit b174be02f3634460ac215d249617dee5ae446ae1 Author: Kai Makisara Date: Sun Feb 24 22:29:12 2008 +0200 [SCSI] st: show options currently set in sysfs Show the current binary tape driver and mode options is sysfs. A file (options) is created in each directory in /sys/class/scsi_tape. The files contain masks showing the options. The mask bit definitions are the same as used when setting the options using the MTSETDRVBUFFER function in the MTIOCTOP ioctl (defined in include/linux/mtio.h). For example: > cat /sys/class/scsi_tape/nst0/options 0x00000d07 [jejb: updated doc with correction from Randy Dunlap] Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit 40f6b36c6243462fb95d0343237331c423494b03 Author: Kai Makisara Date: Sun Feb 24 22:23:24 2008 +0200 [SCSI] st: add option to use SILI in variable block reads Add new option MT_ST_SILI to enable setting the SILI bit in reads in variable block mode. If SILI is set, reading a block shorter than the byte count does not result in CHECK CONDITION. The length of the block is determined using the residual count from the HBA. Avoiding the REQUEST SENSE command for every block speeds up some real applications considerably. Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit d35055a0f2637f29f95001a67b464fe833b09ebc Author: Boaz Harrosh Date: Wed Feb 27 15:31:20 2008 -0800 [SCSI] gdth: remove command accessors These are no longer necessary. Signed-off-by: Boaz Harrosh Tested-by: Joerg Dorchain: Tested-by: Stefan Priebe Tested-by: Jon Chelton Signed-off-by: James Bottomley commit 68066c3ed14b529331bc2ff12470e9ca1cae5c3f Author: Darrick J. Wong Date: Tue Feb 19 10:50:49 2008 -0800 [SCSI] aic94xx: Use sas_request_addr() to provide SAS WWN if the adapter lacks one If the aic94xx chip doesn't have a SAS address in the chip's flash memory, make libsas get one for us. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 45e6cdf41437c72ed79cee64dc69e7f740511e50 Author: Darrick J. Wong Date: Tue Feb 19 10:49:40 2008 -0800 [SCSI] libsas: Provide a transport-level facility to request SAS addrs Provide a facility to use the request_firmware() interface to get a SAS address from userspace. This can be used by SAS LLDDs that cannot obtain the address from the host adapter. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 7e23ea488488400127a2da19c0d89f1723117504 Author: FUJITA Tomonori Date: Tue Feb 19 18:41:30 2008 +0900 [SCSI] ips: sg chaining support to the path to non I/O commands I overlooked ips_scmd_buf_write and ips_scmd_buf_read when I converted ips to use the data buffer accessors. ips is unlikely to use sg chaining (especially in this path) since a) this path is used only for non I/O commands (with little data transfer), b) ips's sg_tablesize is set to just 17. Thanks to Tim Pepper for testing this patch. Signed-off-by: FUJITA Tomonori Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit cff2680643f9288a1cd4e27c241e1da51f476d66 Author: Jeff Garzik Date: Fri Feb 15 22:20:09 2008 -0500 [SCSI] gdth: convert to PCI hotplug API - remove PCI device sort, which greatly simplifies PCI probe, permitting direct, per-HBA function calls rather than an indirect route to the same end result. - remove need for pcistr[] Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 4c9c8d782c8dddc5e97d33210e8a993cec6bc168 Author: Jeff Garzik Date: Fri Feb 15 21:35:26 2008 -0500 [SCSI] gdth: PCI probe cleanups, prep for PCI hotplug API conversion - Reduce uses of gdth_pci_str::pdev, preferring a local variable (or function arg) 'pdev' instead. - Reduce uses of gdth_pcistr array, preferring local variable (or function arg) 'pcistr' instead. - Eliminate lone use of gdth_pci_str::irq, using equivalent pdev->irq instead - Eliminate assign-only gdth_pci_str::io_mm Note: If the indentation seems weird, that's because a line was converted from spaces to tabs, when it was modified. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 7132799b0e49c48cf119dbe02d20810860d20991 Author: Valentine Barshak Date: Thu Apr 3 23:09:43 2008 +0400 [POWERPC] kexec: MPIC ack interrupts at mpic_teardown_this_cpu() We really need to ack interrupts at mpic_teardown, since not all platforms reset mpic at kernel start-up. For example, kexec'ed kernel hangs on P.A. Semi if mpic_eoi() isn't called. Signed-off-by: Valentine Barshak Signed-off-by: Olof Johansson commit f724bf77813d73318bf97dab9626156a0a87c7fc Author: Olof Johansson Date: Fri Apr 4 13:06:33 2008 -0500 [POWERPC] pasemi: Minor iommu cleanup Clean up the pwrficient iommu code a bit. It was using u32 *-based offsets for registers, which can be a bit confusing when comparing to the manual. Generated binaries from the code is unchanged from before. Signed-off-by: Olof Johansson commit 6e62040c5533a385b90fcb2e33235ad7d351d3e0 Author: Nate Case Date: Fri Mar 21 17:02:42 2008 -0500 pasemi_mac: Netpoll support Add netpoll support to allow use of netconsole. Signed-off-by: Nate Case Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit 1724ac2ef1caf5b4f764d4b86a85d552a7d7c8fb Author: Olof Johansson Date: Tue Mar 25 09:58:40 2008 -0500 pasemi_mac: Jumbo frame bugfixes Fix a couple of corner cases around interface up/down when jumbo frames are configured. Resources weren't always freed and reallocated properly. Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit a8f75ea70c58546205fb7673be41455b9da5d9a7 Author: Stephen Rothwell Date: Thu Mar 27 16:36:08 2008 +1100 [POWERPC] Remove CONFIG_PCI_LEGACY from some configs This will remove some build warnings and doesn't stop us building any drivers that we were building previously with these configs. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ae86f0088de389baa448a42d040ab58d5c759bef Author: Stephen Rothwell Date: Thu Mar 27 16:08:57 2008 +1100 [POWERPC] htab_remove_mapping is only used by MEMORY_HOTPLUG This eliminates a warning in builds that don't define CONFIG_MEMORY_HOTPLUG. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit c6d4d5a8a83e4a564bcf233fdd565183c33df5d1 Author: Nathan Lynch Date: Fri Mar 14 06:52:10 2008 +1100 [POWERPC] Convert pci and eeh code to of_device_is_available A couple of places are duplicating the function of of_device_is_available; convert them to use it. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 834d97d452208279edf11c57eca150360d2dd1d6 Author: Josh Boyer Date: Thu Mar 27 00:33:14 2008 +1100 [POWERPC] Add of_device_is_available function IEEE 1275 defined a standard "status" property to indicate the operational status of a device. The property has four possible values: okay, disabled, fail, fail-xxx. The absence of this property means the operational status of the device is unknown or okay. This adds a function called of_device_is_available that checks the state of the status property of a device. If the property is absent or set to either "okay" or "ok", it returns 1. Otherwise it returns 0. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit 6ccf61f94fbac3e8715f2f938b27cdb3836c1f8c Author: Timur Tabi Date: Wed Mar 26 08:35:32 2008 +1100 [POWERPC] Enable CONFIG_FORCE_MAX_ZONEORDER for all PowerPC, and make selectable This enables the FORCE_MAX_ZONEORDER Kconfig option for all PowerPC systems. Previously, it was enabled only for 64-bit systems. We also make the option selectable from the menu, so that the user can specify different values. This is useful for 32-bit systems that need to allocate more than 4MB of physically contiguous memory. Signed-off-by: Timur Tabi Signed-off-by: Paul Mackerras commit c5d5d94aa54ba1f7691b79336b18804d4b0adf48 Author: Robert P. J. Day Date: Sun Mar 16 04:27:07 2008 +1100 [POWERPC] Use __SPIN_LOCK_UNLOCKED macro in mpc52xx_set_psc_clkdiv __SPIN_LOCK_UNLOCKED is newer and is not deprecated. Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mackerras commit 221ac329e93fe2a676346af2e98e311251648f69 Author: Ionut Nicu Date: Thu Mar 6 03:12:54 2008 +1100 [POWERPC] Fix kernel panic in arch_arm_kprobe The code in arch_arm_kprobe was trying to set a breakpoint which resulted in a page fault because the kernel text pages were write protected. Disable the write protect when CONFIG_KPROBES is defined. Signed-off-by: Ionut Nicu Signed-off-by: Paul Mackerras commit 0119536cd314ef95553604208c25bc35581f7f0a Author: Steven Rostedt Date: Sat Mar 1 03:04:57 2008 +1100 [POWERPC] Add hand-coded assembly strcmp We have an assembly version of strncmp for the bootwrapper, but not for the kernel, so we end up using the C version in the kernel. This takes the strncmp code from the bootup and copies it to the kernel proper, adding two instructions so it copes correctly with len==0. Signed-off-by: Steven Rostedt Signed-off-by: Paul Mackerras commit 4df4441e418c809f263939b9f371b67aca28a280 Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Jan 28 21:06:55 2008 +1100 [POWERPC] Replace logical-AND by bit-AND in pci_process_ISA_OF_ranges() Replace logical "&&" by bit "&" for ISA_SPACE_MASK. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Paul Mackerras commit 16a45bc82e61891daec1ffcd057679bdf962aeb8 Author: Stelian Pop Date: Sat Apr 5 22:25:47 2008 +0200 atmel_usba_udc: Add support for AT91CAP9 UDPHS This patch is part of the series adding support for the USB High Speed Device Port on the AT91CAP9 system on chip. The AT91CAP9 uses the same UDPHS IP as the AVR32 and the AT91SAM9RL. The only differences between the AVR32 and the AT91 version of the device are in the enable/disable and suspend/wakeup sequences: the AT91 version needs to toggle the USB bias and pulldown explicitly. Signed-off-by: Stelian Pop Acked-by: Andrew Victor Acked-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 5275653fa12b30cea6e309cc03e518bfd00073a5 Author: Stelian Pop Date: Thu Apr 3 14:51:41 2008 +0200 atmel_usba_udc: Add missing kfree() in usba_udc_remove() Signed-off-by: Stelian Pop Signed-off-by: Haavard Skinnemoen commit 8d855317fcf7fd9bd900d1e5ef1bea1b14bbe6af Author: Stelian Pop Date: Wed Mar 5 00:00:00 2008 +0100 atmel_usba_udc: move endpoint declarations into platform data. The atmel_usba_udc driver is being used by several platforms and arches (avr32 and at91 ATM), and each platform may have different endpoint settings. The patch below moves the endpoint declarations into the platform data and make the necessary adjustments for AVR32 (improved by Haavard Skinnemoen ). Signed-off-by: Stelian Pop Acked-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 8d12c32c19a2719f6a96a23e94d95699c47e55d0 Author: Stelian Pop Date: Wed Mar 5 22:20:36 2008 +0100 atmel_usba_udc: Kill GPIO_PIN_NONE GPIO_PIN_NONE should no longer be used. Replace it with a simple test against negative values. This is a transitional patch, waiting for gpio_is_valid() to be merged at which point the tests should be revisited. Signed-off-by: Stelian Pop Acked-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 7a242471af4d15c2637025f0acd352c0a92a4cc4 Author: Stelian Pop Date: Wed Mar 5 22:59:15 2008 +0100 atmel_usba_udc: Fix endpoint names. The endpoints of the atmel_usba_udc driver do not have directional (in/out) or usage (ctrl/bulk/iso) restrictions, as their names incorrectly implied. Signed-off-by: Stelian Pop Acked-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 5d4c2707cf605fbf205b6d0a3c63d07204295f22 Author: Haavard Skinnemoen Date: Tue Mar 4 15:48:37 2008 +0100 atmel_usba: Kill copy_to_fifo() and copy_from_fifo() These functions do exactly the same as memcpy_toio() and memcpy_fromio() respectively. Signed-off-by: Haavard Skinnemoen Acked-by: David Brownell commit a07e387ae3a830106d0463ec254657f297b97ea0 Author: Josh Boyer Date: Sat Apr 5 18:02:31 2008 -0500 [POWERPC] 4xx: Add Canyonlands and Yosemite to multi-board defconfig Include the newly added Canyonlands and Yosemite ports in the mutli-board 440 defconfig. Signed-off-by: Josh Boyer commit d0c8df6e4525ebd38a7643ba3dbfe3989dddf781 Author: Valentine Barshak Date: Sat Apr 5 05:24:37 2008 +1100 [POWERPC] 4xx: Use machine_device_initcall() for warp_nand With a multiplatform kernel, once built we always have warp_setup_nand_flash() called and NDFC probed, no matter what machine we actually run on. This potentially can cause problems (such as kernel crash), since NDFC is probed at a warp-predefined address. Using machine_device_initcall() NAND devices are registered if we run on a warp only. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 9d7030be336ca64f9cd46707358e07c0dbd5e133 Author: Stefan Roese Date: Fri Apr 4 01:38:11 2008 +1100 [POWERPC] 4xx: Change dts files to support jumbo frames This patch changes the "max-frame-size" property to 9000 for all gbit enabled 4xx boards. All those ports generally support jumbo frames, so let's give the user a chance to enable it. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit a6190a84ab1163f750fcd1511bd96f7803724cd3 Author: Stefan Roese Date: Fri Apr 4 00:35:06 2008 +1100 [POWERPC] 4xx: Some EMAC related changes in Canyonlands & Glacier dts files This patch fixes some problems in the Canyonlands 460EX and Glacier 460GT dts files: - Add "mdio-device = <&EMAC0>" to all all EMAC's except for EMAC0 itself (the 460EX/GT only can access the PHY via the EMAC0 instance) - Add TAH support to Canyonlands dts Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 549e028d012fab01e5726943d4afecd0c33d64e6 Author: YOSHIFUJI Hideaki Date: Sat Apr 5 22:17:39 2008 +0900 [IPV6] MROUTE: Use skb_tail_pointer(skb) instead of skb->tail. This bug resulted in compilation error on 64bit machines. Pointed out by Rami Rosen . Signed-off-by: YOSHIFUJI Hideaki commit 12802d058a003048104fe405a8d283b94ac50801 Author: YOSHIFUJI Hideaki Date: Thu Apr 3 09:22:56 2008 +0900 [IPV6]: Comment MRT6_xxx sockopts in include/linux/in6.h. Signed-off-by: YOSHIFUJI Hideaki commit 14fb64e1f449ef6666f1c3a3fa4e13aec669b98d Author: YOSHIFUJI Hideaki Date: Thu Apr 3 09:22:54 2008 +0900 [IPV6] MROUTE: Support PIM-SM (SSM). Based on ancient patch by Mickael Hoerdt , which is available at . Signed-off-by: YOSHIFUJI Hideaki commit 7bc570c8b4f75ddb3fd5dbeb38127cdc4acbcc9c Author: YOSHIFUJI Hideaki Date: Thu Apr 3 09:22:53 2008 +0900 [IPV6] MROUTE: Support multicast forwarding. Based on ancient patch by Mickael Hoerdt , which is available at . Signed-off-by: YOSHIFUJI Hideaki commit 932e2d23c8529c39fe74549dcbe4b2c8b2d66ba4 Author: Steve French Date: Fri Apr 4 21:59:35 2008 +0000 [CIFS] minor update to change log Signed-off-by: Steve French commit 76d057ce5a48034c97f604a0a25a87093e072c71 Author: Oliver Neukum Date: Fri Apr 4 15:31:47 2008 -0400 Input: usbtouchscreen - don't use DMA on stack DMA on the stack is not allowed. The buffer must be kmalloced. Signed-off-by: Oliver Neukum Signed-off-by: Dmitry Torokhov commit f0fab8e04dfe79376b410b48c817f5fe921b345b Merge: 5550fba... 6eae9b0... Author: Dmitry Torokhov Date: Fri Apr 4 15:31:23 2008 -0400 Merge branch 'xbox' commit a6c75b86ce9f01db4ea9912877b526c2dc4d2f0a Author: Fenghua Yu Date: Fri Mar 14 13:57:08 2008 -0700 [IA64] Kernel parameter for max number of concurrent global TLB purges The patch defines kernel parameter "nptcg=". The parameter overrides max number of concurrent global TLB purges which is reported from either PAL_VM_SUMMARY or SAL PALO. Signed-off-by: Fenghua Yu Signed-off-by: Tony Luck commit 2046b94e7c4fce92eb8165c2c36c6478f4927178 Author: Fenghua Yu Date: Fri Apr 4 11:05:59 2008 -0700 [IA64] Multiple outstanding ptc.g instruction support According to SDM2.2, Itanium supports multiple outstanding ptc.g instructions. But current kernel function ia64_global_tlb_purge() uses a spinlock to serialize ptc.g instructions issued by multiple processors. This serialization might have scalability issue on a big SMP machine where many processors could purge TLB in parallel. The patch fixes this problem by issuing multiple ptc.g instructions in ia64_global_tlb_purge(). It also adds support for the "PALO" table to get a platform view of the max number of outstanding ptc.g instructions (which may be different from the processor view found from PAL_VM_SUMMARY). PALO specification can be found at: http://www.dig64.org/home/DIG64_PALO_R1_0.pdf spinaphore implementation by Matthew Wilcox. Signed-off-by: Fenghua Yu Signed-off-by: Tony Luck commit bee036b503214dd65f62af6599d2bebdf156467c Author: Lennert Buytenhek Date: Tue Apr 1 16:21:49 2008 +0100 [ARM] 4886/1: Orion: grab ts209 ethernet MAC address from flash The bootloader on ts209 Orion boards doesn't configure the right ethernet MAC address into the GigE unit on boot. The only way to get the MAC address is by parsing it from the 'NAS Config' flash partition, which is an ext2 partition that contains a file which holds the MAC address in plain text (format "xx:xx:xx:xx:xx:xx\n") -- this patch does that. Tested-by: Martin Michlmayr Cc: Byron Bradley Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 5b7659d190fff2d69faec07314a51ba708f1f1ce Author: Andrew Victor Date: Wed Apr 2 22:20:45 2008 +0100 [ARM] 4911/1: [AT91] LEDs on SAM9260-EK and SAM9261-EK boards Add support for the GPIO-driven LEDs (using NEW_LEDS) on the Atmel SAM9260-EK and SAM9261-EK boards. Signed-off-by: Sedji Gaouaou Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 5e9df924dd51beaf007ffba42b5deb47e1c6249b Author: Andrew Victor Date: Wed Apr 2 22:18:35 2008 +0100 [ARM] 4910/1: [AT91] AT73C213 audio on SAM9260-EK and SAM9261-EK boards Add support for AT73C213 audio DAC on the Atmel SAM9260-EK and SAM9261-EK boards. Signed-off-by: Sedji Gaouaou Signed-off-by: Andrew Victor Signed-off-by: Russell King commit e5f40bfaf309ec4cc27b717d48fb0824313e5ef8 Author: Andrew Victor Date: Wed Apr 2 21:58:00 2008 +0100 [ARM] 4909/1: [AT91] Timer/Counter Block platform_devices Register platform_devices for the Timer/Counter Block peripherals found on the AT91RM9200, SAM9 & CAP9 processors. Original patch from David Brownell. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 4fd9212cb9bad88ec7c8bf5313f53331905f957a Author: Andrew Victor Date: Wed Apr 2 21:55:19 2008 +0100 [ARM] 4908/1: [AT91] RTT platform_device fix The RTT-as-RTC driver will search for the user-specified RTT peripheral via ID number (0 .. 1). Therefore if the processor only contains a single RTT peripheral, we need to set its platform_device.id to "0" instead of "-1". Also add the missing platform_device resource for the CAP9 processor. Bug reported by Sedji Gaouaou. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 565ac44593d17bdfc9f595614b56bb335a9b8d6f Author: Andrew Victor Date: Wed Apr 2 21:52:19 2008 +0100 [ARM] 4907/1: [AT91] SAM9/CAP9 reset reason The Reset controller on the SAM9/CAP9 processors will store the reason for the last system reset. On startup, display this information (wakeup signal, RTT alarm, watchdog reset, user reset, etc) Based on patch from David Brownell. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit f5d0f4574fe1584891b5167fb0ba42974af13e49 Author: Andrew Victor Date: Wed Apr 2 21:50:16 2008 +0100 [ARM] 4906/1: [AT91] SAM9/CAP9 basic power-management Basic power-management (suspend-to-ram) support for Atmel SAM9 and CAP9 processors. Based on comments & patches from Anti Sullin and David Brownell. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit a3da12229f4f9bee2ed66ac34a54a4e8b74bcbcb Author: Andrew Victor Date: Wed Apr 2 21:47:29 2008 +0100 [ARM] 4905/1: [AT91] Atmel SAM9 boards updated to new-style UART initialization Convert the Atmel SAM9260-EK, SAM9261-EK, SAM9263-EK and SAM9RL-EK boards to use the new-style UART initialization. Signed-off-by: Sedji Gaouaou Signed-off-by: Andrew Victor Signed-off-by: Russell King commit d7a2415f7a48ce4fc16cc769f96d0df818648837 Author: Andrew Victor Date: Wed Apr 2 21:44:44 2008 +0100 [ARM] 4904/1: [AT91] Pass ECC controller to NAND driver On AT91 processors that include an ECC controller, pass its base address to the NAND driver via platform_device resources. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 3ef2fb426775fc2ae19b70c318dbdf4a0aeeced7 Author: Andrew Victor Date: Wed Apr 2 21:36:06 2008 +0100 [ARM] 4903/1: [AT91] SAM9/CAP9 system shutdown Enable system shutdown/power-off on AT91SAM9 and AT91CAP9 based boards. This does not require power-management to be enabled, and the pm_power_off method can be overridden in board-specific files if necessary. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit b78eabde89f9b19d463a77abe420508c0ef29249 Author: Andrew Victor Date: Wed Apr 2 21:38:40 2008 +0100 [ARM] 4902/1: [AT91] SAM9/CAP9 memory controller header The AT91CAP9 processor includes the same Static Memory Controller (SMC) peripheral as the SAM9 processors, but replaces the SDRAM Controller with a DDR/SDR Controller (DDRSDRC). This patch splits the existing include/asm-arm/arch-at91/at91sam926x_mc.h into at91sam9_sdramc.h and at91sam9_smc.h. It also adds an at91cap9_ddrsdr.h for the DDRSDRC controller. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 80a9492a33dd7d852465625022d56ff76d62174d Author: YOSHIFUJI Hideaki Date: Thu Apr 3 09:22:52 2008 +0900 [IPV4] MROUTE: Adjust include files for user-space. needs . Avoid including in user-space, which conflicts with standard . Add basic struct and constant in . Signed-off-by: YOSHIFUJI Hideaki commit 2e8046271f68198dd37451017c1a4a2432e4ec68 Author: YOSHIFUJI Hideaki Date: Thu Apr 3 09:22:09 2008 +0900 [IPV4] MROUTE: Move PIM definitions to . Signed-off-by: YOSHIFUJI Hideaki commit f6a07b293f11d97bfbcd9b6a3ab4ad9c418a36ff Author: YOSHIFUJI Hideaki Date: Tue Mar 25 00:25:11 2008 +0900 [IPV6] ADDRCONF: Fix array size for sysctls. We have been using __NET_IPV6_MAX for adjusting the size of array for sysctl table, but it does not work any longer because of the deprecation of NET_IPV6_xxx constants. Let's use DEVCONF_MAX instead. Signed-off-by: YOSHIFUJI Hideaki commit a5b2db67139e991d9e9e19260989d0e66a03a2b2 Author: Denys Vlasenko Date: Thu Apr 3 14:59:55 2008 -0700 [ATM] drivers/atm/ambassador.c: stop inlining largish static functions drivers/atm/ambassador.c has unusually large number of static inline functions - 22. I looked through them and half of them seem to be too big to warrant inlining. This patch removes "inline" from these static functions (regardless of number of callsites - gcc nowadays auto-inlines statics with one callsite). Size difference for 32bit x86: text data bss dec hex filename 10209 8488 4 18701 490d linux-2.6-ALLYES/drivers/atm/ambassador.o 9462 8488 4 17954 4622 linux-2.6.inline-ALLYES/drivers/atm/ambassador.o Signed-off-by: Denys Vlasenko Signed-off-by: David S. Miller commit 3bb5da3837cc1aa17736b05139c9a22c3794851a Merge: 7feb49c... 9597362... Author: David S. Miller Date: Thu Apr 3 14:33:42 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 commit 7feb49c82a74bc7c091b8ab2a3f96baa33d08ece Author: Denis V. Lunev Date: Thu Apr 3 14:32:00 2008 -0700 [NETNS]: Use TCP control socket from a correct namespace. Signed-off-by: Denis V.Lunev Signed-off-by: David S. Miller commit 046ee902357adc046d041441956ec7eeb30c77c4 Author: Denis V. Lunev Date: Thu Apr 3 14:31:33 2008 -0700 [NETNS]: Create tcp control socket in the each namespace. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 1ed8516f09e510e4595bc900ad9266c15aacfdd2 Author: Denis V. Lunev Date: Thu Apr 3 14:31:03 2008 -0700 [IPV6]: Simplify IPv6 control sockets creation. Do this by replacing sock_create_kern with inet_ctl_sock_create. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 5616bdd6dfeb4e36be499dbac245e4d3be90a138 Author: Denis V. Lunev Date: Thu Apr 3 14:30:12 2008 -0700 [INET]: uc_ttl assignment in inet_ctl_sock_create is redundant. uc_ttl is initialized in inet(6)_create and never changed except setsockopt ioctl. Remove this assignment. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit c1e9894d486dc249331f4f04859c26147a778154 Author: Denis V. Lunev Date: Thu Apr 3 14:29:00 2008 -0700 [ICMP]: Simplify ICMP control socket creation. Replace sock_create_kern with inet_ctl_sock_create. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 5677242f432102dea9e6eceec1dc089e2f709ca4 Author: Denis V. Lunev Date: Thu Apr 3 14:28:30 2008 -0700 [NETNS]: Inet control socket should not hold a namespace. This is a generic requirement, so make inet_ctl_sock_create namespace aware and create a inet_ctl_sock_destroy wrapper around sk_release_kernel. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit eee4fe4ded6e9c196168aee8f9787771f4df9c90 Author: Denis V. Lunev Date: Thu Apr 3 14:27:58 2008 -0700 [INET]: Let inet_ctl_sock_create return sock rather than socket. All upper protocol layers are already use sock internally. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8258175c811440e93baa15ab1962a5905686dda3 Author: Denis V. Lunev Date: Thu Apr 3 14:27:26 2008 -0700 [SCTP]: Replace socket with sock for SCTP control socket. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4ffe0225e0628a5812168570b50d828f541c6b06 Author: Denis V. Lunev Date: Thu Apr 3 14:26:36 2008 -0700 [SCTP]: Use inet_ctl_sock_create for control socket creation. sk->sk_proc->(un)hash is noop right now, so the unification is correct. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 3d58b5fa8e4c461ab09afdacd3d1754fccca06ad Author: Denis V. Lunev Date: Thu Apr 3 14:22:32 2008 -0700 [INET]: Rename inet_csk_ctl_sock_create to inet_ctl_sock_create. This call is nothing common with INET connection sockets code. It simply creates an unhashes kernel sockets for protocol messages. Move the new call into af_inet.c after the rename. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4f049b4f33d07bd11335c3a074ebef14213a3e37 Author: Denis V. Lunev Date: Thu Apr 3 14:21:33 2008 -0700 [DCCP]: dccp_v(4|6)_ctl_socket is leaked. This seems a purism as module can't be unloaded, but though if cleanup method is present it should be correct and clean all staff created. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7630f026810a63464e47391ab1e03674c33eb1b8 Author: Denis V. Lunev Date: Thu Apr 3 14:20:52 2008 -0700 [DCCP]: Replace socket with sock for reset sending. Replace dccp_v(4|6)_ctl_socket with sock to unify a code with TCP/ICMP. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 14c0c8e8e0fb85e7a57e88606c009377746b39d9 Author: Denis V. Lunev Date: Thu Apr 3 14:19:38 2008 -0700 [TCP]: Replace socket with sock for reset sending. Replace tcp_socket with tcp_sock. This is more effective (less derefferences on fast paths). Additionally, the approach is unified to one used in ICMP. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 6eae9b0acdb6f03ed87ef882760e0ef8f440dc1a Author: Oliver Neukum Date: Thu Apr 3 16:19:33 2008 -0400 Input: xpad - don't use GFP_ATOMIC GFP_ATOMIC should not be used when GFP_KERNEL can be used. Signed-off-by: Oliver Neukum Signed-off-by: Dmitry Torokhov commit 99de0912be6f384fc31c8e8e7ba0850d0d670385 Author: Brian Magnuson Date: Thu Apr 3 16:19:23 2008 -0400 Input: xpad - add support for wireless xbox360 controllers Signed-off-by: Brian Magnuson Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit bf8cb3141884138c2e4a2ecb56300ece6e8020a2 Author: Anssi Hannula Date: Thu Apr 3 16:19:10 2008 -0400 Input: xpad - drop obsolete driver versioning The driver version numbers and changelog have not been updated in a long while to reflect actual changes. Remove the version number and add a notice that later changes can be tracked in SCM. Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit cfbe20106fa00e89c1fb2c74dbff0ba80e0e539d Author: Anssi Hannula Date: Thu Apr 3 16:18:57 2008 -0400 Input: xpad - enable force feedback on xbox 360 controllers only Commit 4994cd8dadcf9d484ab3ec19f3c7c7a4e5353c1c introduced a regression which causes xpad to report force feedback cababilities for non-360 controllers too, even while there is no actual support for those. Fix that by adding a check for XTYPE_XBOX360 to xpad_init_ff(). Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit fc55e95214f1e8384e48cff88279d16507fa5358 Author: Anssi Hannula Date: Thu Apr 3 16:18:44 2008 -0400 Input: xpad - do not report nonexistent buttons for xbox360 The buttons BTN_C and BTN_Z are only used in the original xbox controller, not in xbox360 controller. Therefore only add them to keybit when the controller is a non-360 one. Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit 8a7ae2a890852b133342a6d72f84b0dac1bc8e8e Author: Anssi Hannula Date: Thu Apr 3 16:18:35 2008 -0400 Input: xpad - add more xbox 360 controller ids Add Mad Catz and 0x0e6f xbox360 controllers which are already found in xpad_device[] table in xpad.c into the vendor id list. Also add Logitech into the vendor list for Logitech Chillstream gamepads. Also add the RedOctane Guitar Hero X-plorer. Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit 97f09cb53da583cefc1ce2930de8f64b52cfc54b Author: Anssi Hannula Date: Thu Apr 3 16:18:23 2008 -0400 Input: xpad - fix inverted Y and RY axes The commit ae91d10aab2762f81733e9194cb56eff99c8d808 inverted Y and RY axes on xbox360 so that up is positive and down is negative. This is wrong, as axes on game controllers have up as negative per convention. Also, even xpad itself reports HAT0X with up as negative. Fix that by inverting them again. Also, according to http://bugzilla.kernel.org/show_bug.cgi?id=10337 the original xbox controllers also have the Y and RY axes inverted. Fix that by inverting them as well. Cc: Brian Magnuson Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit a0979923d7c34c9c60d0ee8a533f9502dcfbd42b Author: Anssi Hannula Date: Thu Apr 3 16:18:10 2008 -0400 Input: xpad - fix dpad handling of unknown devices For devices not specifically listed in xpad.c, xpad->dpad_mapping is initially set to MAP_DPAD_UNKNOWN. In xpad_probe() it gets changed to either MAP_DPAD_TO_BUTTONS or MAP_DPAD_TO_AXES, depending on the module parameter dpad_to_buttons. However, MAP_DPAD_UNKNOWN is defined as -1, while the field is u8. This results in actual value of 255, causing the MAP_DPAD_UNKNOWN check in xpad_probe() to fail. Fix that by defining MAP_DPAD_UNKNOWN as 2 instead. Also, setting module parameter dpad_to_buttons to 1 should obviously map dpad to buttons, while the default behaviour (0) should be to map dpad to axes. However, dpad_to_buttons is directly assigned to xpad->dpad_mapping, and as MAP_DPAD_TO_BUTTONS is 0, the actual behaviour is reversed. Fix that by negating dpad_to_buttons in assignment. Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit 8a0f83eacc1bb8899094b17483de95ddf2d8fcc6 Author: Anssi Hannula Date: Thu Apr 3 16:17:52 2008 -0400 Input: xpad - match xbox 360 devices with interface info Match Xbox 360 controllers using the interface info, i.e. interface class 255 (Vendor specific), subclass 93 and protocol 1, instead of specifying the device ids individually. As the class is vendor-specific, we have to still match against vendor id as well, though. Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit a4aa834a9165150252c5cd953faab4de29d51b87 Author: Denis V. Lunev Date: Thu Apr 3 13:04:33 2008 -0700 [NETNS]: Declare init_net even without CONFIG_NET defined. This does not look good, but there is no other choice. The compilation without CONFIG_NET is broken and can not be fixed with ease. After that there is no need for the following commits: 1567ca7eec7664b8be3b07755ac59dc1b1ec76cb 3edf8fa5ccf10688a9280b5cbca8ed3947c42866 2d38f9a4f8d2ebdc799f03eecf82345825495711 Revert them. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 31a6b11fed6ceec07ec4bdfefae56b8252d450cf Author: Xiantao Zhang Date: Thu Apr 3 11:39:43 2008 -0700 [IA64] Implement smp_call_function_mask for ia64 This interface provides more flexible functionality for smp infrastructure ... e.g. KVM frequently needs to operate on a subset of cpus. Signed-off-by: Xiantao Zhang Signed-off-by: Tony Luck commit 96651896b8d9ad4244a1c3ed9691faa3e382f503 Author: Xiantao Zhang Date: Thu Apr 3 11:02:58 2008 -0700 [IA64] Add API for allocating Dynamic TR resource. Dynamic TR resource should be managed in the uniform way. Add two interfaces for kernel: ia64_itr_entry: Allocate a (pair of) TR for caller. ia64_ptr_entry: Purge a (pair of ) TR by caller. Signed-off-by: Xiantao Zhang Signed-off-by: Anthony Xu Signed-off-by: Tony Luck commit e1ec1b8ccdf0df6000faa8c2d985ca5f94157e5a Merge: c0f3932... 802fb17... Author: David S. Miller Date: Wed Apr 2 22:35:23 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/s2io.c commit 93173ce272e54f81460986ff5040d16ab79488a9 Author: Stefan Roese Date: Fri Mar 28 01:43:31 2008 +1100 [POWERPC] 4xx: Create common ppc4xx_reset_system() in ppc4xx_soc.c This patch creates a common system reset routine for all 40x and 44x systems. Previously only a 44x routine existed. But since this system reset via the debug control register is common for 40x and 44x let's share this code for all those platforms in ppc4xx_soc.c. This patch also enables CONFIG_4xx_SOC for all 40x and 44x platforms. Tested on Kilauea (405EX) and Canyonlands (440EX). Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit d2477b5cc8ca95b8c15133ffbbebf0bd9783f560 Author: Grant Likely Date: Wed Mar 19 04:07:43 2008 +1100 [POWERPC] bootwrapper: Add a firmware-independent simpleboot target. This target produces a flat binary rather than an ELF file, fixes the entry point at the beginning of the image, and takes a complete device tree with no fixups needed. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 19a74263f49dce2b96e2213f7f4c029cedbbf0ce Author: Stephen Neuendorffer Date: Thu Apr 3 03:52:13 2008 +1100 [POWERPC] of_serial: Fix possible null dereference. The of_serial driver queries the current-speed property and attempts to use it to register the custom_divisor property of the uart_port. However, if current-speed is not set, then this code will dereference a bad pointer. The fix is to only set custom_divisor when a current-speed property appears in the device tree. Signed-off-by: Stephen Neuendorffer Signed-off-by: John Linn Signed-off-by: Josh Boyer commit 5f91925c89c39e77c170de9366ffa5144a8dd8ec Author: Stefan Roese Date: Wed Apr 2 00:45:00 2008 +1100 [POWERPC] 4xx: Fix PESDRn_UTLSET1 register setup on 460EX/GT The patch fixes a bug, where the PESDRn_UTLSET1 register was setup wrongly resulting in a non working PCIe port 1. With this fix both PCIe ports work fine again. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit b64c4c937daaa04a0a5c188718fb77e8041b5686 Author: Stefan Roese Date: Fri Mar 28 02:34:50 2008 +1100 [POWERPC] 4xx: Only reset PCIe PHY on 405EX systems when no link is detected Since the arch/powerpc PCI subsystem now does a complete re-assignment of the resources, we can move from the unconditional PCIe PHY reset to the conditional version. Now the PHY is only reset, if no link is established yet. An additional PHY reset (one is already done in U-Boot) leads to problems with some Atheros PCIe boards and some HP FPGA PCIe designs. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit e04018e8e49c8c78cebd627ea9b5d02b807662ad Author: Grant Likely Date: Tue Mar 25 09:52:46 2008 +1100 [POWERPC] add target for building .dtb files Call dtc from the Makefile instead of the wrapper script so that the dt blobs can be generated with a simple make invocation. Using this patch allows board ports to trigger automatic building of .dtb files by adding them to the image-y target list. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit de357cc01334a468e4d5b7ba66a17b0d3ca9d63e Author: YOSHIFUJI Hideaki Date: Sat Mar 15 23:59:18 2008 -0400 [IPV6] NDISC: Don't rely on node-type hint from L2 unless required. Signed-off-by: YOSHIFUJI Hideaki commit 52eeeb8481d705e61e2e9aae974e7799a93783e9 Author: YOSHIFUJI Hideaki Date: Sat Mar 15 22:54:23 2008 -0400 [IPV6]: Unify ip6_onlink() and ipip6_onlink(). Both are identical, let's create ipv6_chk_prefix() and use it in both places. commit 6294e000736401d4415ad41f408e56e14aaaf7b4 Author: YOSHIFUJI Hideaki Date: Sat Mar 15 23:56:52 2008 -0400 [IPV6] NDISC: Ignore route information with /0 prefix from interior router. Signed-off-by: YOSHIFUJI Hideaki commit 300aaeeaab5f447fcf40e911afe96df3de28f0db Author: YOSHIFUJI Hideaki Date: Mon Mar 24 18:28:39 2008 +0900 [IPV6] SIT: Add SIOCGETPRL ioctl to get/dump PRL. Signed-off-by: YOSHIFUJI Hideaki commit 0009ae1f50fb10178b5f54216ce567f3cb1d7267 Author: YOSHIFUJI Hideaki Date: Sat Mar 22 17:50:59 2008 +0900 [IPV6] SIT: Disallow 0.0.0.0 in PRL and Flush PRL if given for DEL. Signed-off-by: YOSHIFUJI Hideaki commit 3fcfa12904e83cc291cf2b7b05ff2530068920a4 Author: YOSHIFUJI Hideaki Date: Sat Mar 22 17:42:57 2008 +0900 [IPV6] SIT: Fix locking issues in PRL management. To protect PRL list, use ipip6_lock. Signed-off-by: YOSHIFUJI Hideaki commit fadf6bf06069138f8e97c9a963be38348ba2708b Author: Templin, Fred L Date: Tue Mar 11 18:35:59 2008 -0400 [IPV6] SIT: Add PRL management for ISATAP. This patch updates the Linux the Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) implementation. It places the ISATAP potential router list (PRL) in the kernel and adds three new private ioctls for PRL management. [Add several changes of structure name, constant names etc. - yoshfuji] Signed-off-by: Fred L. Templin Signed-off-by: YOSHIFUJI Hideaki commit 5550fbaeb3cc88fe2982e9b5351073173d733f30 Author: Dmitry Baryshkov Date: Wed Apr 2 11:22:51 2008 -0400 Input: tosakbd - fix suspend Signed-off-by: Dmitry Baryshkov Signed-off-by: Dmitry Torokhov commit 45d09e1e097ea5fc0bcb98a6226d90b412e6923a Merge: f23c1d7... 4db8a5f... Author: Dmitry Torokhov Date: Wed Apr 2 10:02:43 2008 -0400 Merge branch 'wm97xx' commit f23c1d7579211c801494c7a8d6fca12905f7949f Author: Tobias Mueller Date: Wed Apr 2 10:02:06 2008 -0400 Input: appletouch - add product IDs for the 4th generation MacBooks Signed-off-by: Tobias Mueller Acked-by: Johannes Berg Signed-off-by: Dmitry Torokhov commit c0f39322c335412339dec16ebfd2a05ceba5ebcf Author: Denis V. Lunev Date: Wed Apr 2 00:10:28 2008 -0700 [NETNS]: Do not include net/net_namespace.h from seq_file.h Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 856f6ff7a3132c8e412b23a7b9157b68ac9a2baf Author: Denis V. Lunev Date: Wed Apr 2 00:10:04 2008 -0700 [NETNS]: Remove ifdef CONFIG_NET braces in fs/proc/proc_net.c. They are redundant as this file is linked in iff CONFIG_NET is turned on. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 225c0a0107735597100dc4133cd88c5ed10d9e63 Author: Denis V. Lunev Date: Wed Apr 2 00:09:29 2008 -0700 [NETNS]: Merge ifdef CONFIG_NET in include/net/net_namespace.h. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f0bdb7ba5af5a7028479e9067ee74e9d66eea6df Author: YOSHIFUJI Hideaki Date: Tue Apr 1 23:57:36 2008 -0700 [IPV6] RAW: Remove ancient comment. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 4db8a5f21e5149e09949516eef98b78b68880075 Author: Mark Brown Date: Wed Apr 2 00:51:46 2008 -0400 Input: WM97xx - add support for streaming mode on Mainstone Signed-off-by: Liam Girdwood Signed-off-by: Graeme Gregory Signed-off-by: Mike Arthur Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit dca98e91fb83a43fc430893f349fd8248fa0ba38 Author: Mark Brown Date: Wed Apr 2 00:51:30 2008 -0400 Input: WM97xx - add chip driver for WM97123 touchscreen Signed-off-by: Liam Girdwood Signed-off-by: Graeme Gregory Signed-off-by: Mike Arthur Signed-off-by: Mark Brown Signed-off-by: Lars Munch Signed-off-by: Dmitry Torokhov commit de22b9ef1020ffdb9e1ed6f4686e2e62eaeb0958 Author: Mark Brown Date: Wed Apr 2 00:51:26 2008 -0400 Input: WM97xx - add chip driver for WM9712 touchscreen Signed-off-by: Liam Girdwood Signed-off-by: Graeme Gregory Signed-off-by: Mike Arthur Signed-off-by: Mark Brown Signed-off-by: Lars Munch Signed-off-by: Dmitry Torokhov commit 9448cefc6689aa51f1cd1cfe8b701dc94789c7ee Author: Mark Brown Date: Wed Apr 2 00:51:21 2008 -0400 Input: WM97xx - add chip driver for WM9705 touchscreen Signed-off-by: Liam Girdwood Signed-off-by: Graeme Gregory Signed-off-by: Mike Arthur Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit febf1dff119ef27ee22a54d40f284d2454f00d8d Author: Mark Brown Date: Wed Apr 2 00:51:09 2008 -0400 Input: add support for WM97xx familty touchscreens Add support for the touchscreen controllers provided by Wolfson Microelectronics WM97xx series chips in both polled and streaming modes. These drivers have been maintained out of tree since 2003. During that time the driver the primary maintainer was Liam Girdwood and a number of people have made contributions including Dmitry Baryshkov, Stanley Cai, Rodolfo Giometti, Russell King, Marc Kleine-Budde, Ian Molton, Vincent Sanders, Andrew Zabolotny, Graeme Gregory, Mike Arthur and myself. Apologies to anyone I have omitted. Signed-off-by: Liam Girdwood Signed-off-by: Graeme Gregory Signed-off-by: Mike Arthur Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit 7c6d0ee14cb7a4cfad4864dc196256da5749bc0c Author: David Brownell Date: Wed Apr 2 00:43:01 2008 -0400 Input: ads7846 - simplify support of external vREF (and ads7843) This updates the ads7846 driver to handle external vREF (required on boards using ads7843 chips) without module parameters, and also removes a needless variable with its associated bogus gcc warning. Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit e6cdd15629a5a99d805fa3cbf0f5174bcfc685bb Author: Helge Deller Date: Wed Apr 2 00:42:42 2008 -0400 Input: locomokbd - add 'off' button support for Sharp Collie/Poodle Enables the Sharp Zaurus Collie and Poodle devices to be turned off by pressing the "Cancel" button for a few seconds (as designed by Sharp). Additional small cleanups: - removal of unused #defines and variables - add missing __devinit/__devexit/__devinitconst annotations - reorganized copyright notice Signed-off-by: Helge Deller Signed-off-by: Dmitry Torokhov commit 3797fec17193e05dee9666b990d6c84e16b188b3 Author: Dmitry Torokhov Date: Wed Apr 2 00:41:00 2008 -0400 Input: remove private member from input_dev structure Everyone should be using input_{get|set}_drvdata() by now. Alias them to dev_{get|set}_drvdata() and remove ->private. Signed-off-by: Dmitry Torokhov commit 06501d29ada4457349f4f4427bbf0bbb7c59b8f6 Author: John W. Linville Date: Tue Apr 1 17:38:47 2008 -0400 wireless: fix various printk warnings on ia64 (and others) drivers/net/wireless/ath5k/base.c: In function `ath5k_check_ibss_tsf': drivers/net/wireless/ath5k/base.c:1740: warning: long long unsigned int format, u64 arg (arg 5) drivers/net/wireless/ath5k/base.c:1740: warning: long long unsigned int format, u64 arg (arg 6) drivers/net/wireless/ath5k/base.c:1740: warning: long long int format, u64 arg (arg 7) drivers/net/wireless/ath5k/base.c:1740: warning: long long unsigned int format, u64 arg (arg 8) drivers/net/wireless/ath5k/base.c:1757: warning: long long unsigned int format, u64 arg (arg 5) drivers/net/wireless/ath5k/base.c:1757: warning: long long unsigned int format, u64 arg (arg 6) drivers/net/wireless/iwlwifi/iwl4965-base.c: In function `iwl4965_tx_status_reply_tx': drivers/net/wireless/iwlwifi/iwl4965-base.c:3105: warning: long long unsigned int format, u64 arg (arg 6) drivers/net/wireless/iwlwifi/iwl-4965.c: In function `iwl4965_rx_reply_rx': drivers/net/wireless/iwlwifi/iwl-4965.c:3978: warning: long long unsigned int format, u64 arg (arg 7) Cc: Andrew Morton Signed-off-by: John W. Linville commit 6c4711b4697d93424e4b1f76a9929ba844d714a5 Author: Luis Carlos Cobo Date: Mon Mar 31 17:39:18 2008 -0700 mac80211: use a struct for bss->mesh_config This allows cleaner code when accesing bss->mesh_config components. Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 05e5e88373d91c75e9262a3f984be511960e510d Author: Luis Carlos Cobo Date: Mon Mar 31 16:00:13 2008 -0700 mac80211: check for mesh_config length on incoming management frames Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 966a54282257ce1c43a5410dab2f2778a6f4dcf9 Author: Luis Carlos Cobo Date: Mon Mar 31 15:33:39 2008 -0700 mac80211: use recent multicast table for all mesh multicast frames ...not only broadcast. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit cb585bccfedab0c228344ffa258950c417dea6b5 Author: Luis Carlos Cobo Date: Mon Mar 31 15:21:23 2008 -0700 mac80211: fix spinlock recursion on sta expiration Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 73bb3e4a7a9f1b8d5f89c3991bd0c904ab0b8e27 Author: Luis Carlos Cobo Date: Mon Mar 31 15:10:22 2008 -0700 mac80211: fix deadlocks in debugfs_netdev.c The bug shows up with CONFIG_PREEMPT enabled. Pointed out by Andrew Morton. Cc: Andrew Morton Cc: Johannes Berg Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 7e879b551f1ada78d66fa5c6914aa1744b9c97d2 Author: Johannes Berg Date: Mon Mar 31 19:23:04 2008 +0200 mac80211: fix sparse complaint in ieee80211_sta_def_wmm_params A variable 'i' is being shadowed by another one, but the second one can just be removed. Signed-off-by: Johannes Berg Cc: Vladimir Koutny Signed-off-by: John W. Linville commit dc6676b7f2c2072ec05254aaca32e99f87a8a417 Author: Johannes Berg Date: Mon Mar 31 19:23:03 2008 +0200 mac80211: sta_info_flush() fixes When the IBSS code tries to flush the STA list, it does so in an atomic context. Flushing isn't safe there, however, and requires the RTNL, so we need to defer it to a workqueue. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4f6fab472c4c7c21d577f85fabec7628d4a05637 Author: Johannes Berg Date: Mon Mar 31 19:23:02 2008 +0200 mac80211: clean up sta_info_destroy() users wrt. RCU/locking Calling sta_info_destroy() doesn't require RCU-synchronisation before-hand because it does that internally. However, it does require rtnl-locking so insert that where necessary. Also clean up the code doing it internally to be a bit clearer and not synchronize twice if keys are configured. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 93e5deb1ae39b56f4743955e76c72251256f23c1 Author: Johannes Berg Date: Tue Apr 1 15:21:00 2008 +0200 mac80211: automatically free sta struct when insertion fails When STA structure insertion fails, it has been allocated but isn't really alive yet, it isn't reachable by any other code and also can't yet have much configured. This patch changes the code so that when the insertion fails, the resulting STA pointer is no longer valid because it is freed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 97bff8ecf4e4e26749a67dcfbb7565d8a0f4acb4 Author: Johannes Berg Date: Mon Mar 31 19:23:00 2008 +0200 mac80211: fix sta_info_destroy(NULL) sta_info_destroy(NULL) should be valid, but currently isn't because the argument is dereferenced before the NULL check. There are no users that currently pass in NULL, i.e. all check before calling the function, but I want to change that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9dd6aed05b8859265cd79f1e47e4f844bbe1548b Author: Johannes Berg Date: Mon Mar 31 19:22:59 2008 +0200 mac80211 ibss: flush only stations belonging to current interface When joining a new IBSS, all old stations are flushed, but currently all stations belonging to all virtual interfaces are flushed, which is wrong. This patch fixes it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a2e1d52a32eab53f8ab03c4023310f65aaa054a7 Author: Ivo van Doorn Date: Mon Mar 31 15:53:44 2008 +0200 rt2x00: Remove MAC80211_LEDS dependency Implement triggers inside rt2x00 itself based on input from mac80211. This replaces the method of using the mac80211 trigger events which do not work for USB drivers due to the scheduling requirement. After this patch RT2500USB_LEDS and RT73USB_LEDS no longer need to be tagged as broken since they now support LED handling again without having to check for in_atomic(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e0b005fa1479045fe879944036268af3ebcd1835 Author: Ivo van Doorn Date: Mon Mar 31 15:24:53 2008 +0200 rt2x00: TO_DS filter depends on intf_ap_count The TO_DS filter does not only depend on the FIF_PROMISC_IN_BSS flag provided by mac80211, but also on the intf_ap_count count. This makes sense, since when Master mode is active, we should all frames that are send to the active AP (the device itself). This means that when an interface is added we should force the packet filter to be updated during the next mac80211 call of configure_filter() to make sure the intf_ap_count field is checked. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit bc5213f468b4d0520a06e27ea2cc9724bc5b896c Author: Ivo van Doorn Date: Sat Mar 29 15:59:01 2008 +0100 rt2x00: Invert scheduled packet_filter check Invert the check for scheduling the packet_filter configuration. When DRIVER_REQUIRE_SCHEDULED is not set we should immediately configure the the filter. This fixes the 'infinite calls to rt2x00mc_configure_filter' bug reported by Bas Hulsken. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e5472978ef16051337913f57b2f22982f3e9e4c2 Author: Tomas Winkler Date: Fri Mar 28 16:21:12 2008 -0700 iwlwifi: Fix synchronous host command This patch replaces static variable from send_cmd_sync with flag in priv->status. It was used for reentrance protection but clearly made it impossible to stuck more cards into the same machine In addition it force check of return values of synchronous commands commands that doesn't requires return value async commands have to be used Signed-off-by: Tomas Winkler Signed-off-by: Yi Zhu Signed-off-by: John W. Linville commit a571ea4eb34adbf33bbaf4bdc6db6037b1a93e0f Author: Tomas Winkler Date: Fri Mar 28 16:21:11 2008 -0700 iwlwifi: LED initialize before registering This patch initialize all fields in led before registering it This fixes oops on initialization Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c4f552321fa2cfe1d6b1846138d2aa8254308f96 Author: Ron Rindjunsky Date: Fri Mar 28 16:21:10 2008 -0700 iwlwifi: unregister to upper stack before releasing resources This patch fixes an early release of driver's resources before upper stack was notified that low-level driver shuts down. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 897e1cf29e05e3373bf380a417d085cd3389a3c0 Author: Reinette Chatre Date: Fri Mar 28 16:21:09 2008 -0700 iwlwifi: move rate registration to module load Having rate registration during module load enables the use of error checking as well as reliable registration/unregistration pairing. Previously this was not possible as rate registration was done during _probe where _probe could be run for more than one device on the system. Signed-off-by: Reinette Chatre Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 0359facc7b7a37fd1223ac60649c80cd8daeaf73 Author: Mohamed Abbas Date: Fri Mar 28 16:21:08 2008 -0700 iwlwifi: fix race condition during driver unload This patch fixed the OOPS when load the driver while rf-kill is on then unload the driver right after load. a race condition caused the interupt handler to schedule the tasklet which will run right after the driver pci_remove causing invalid poiter OOPS. Signed-off-by: Mohamed Abbas Signed-off-by: Joonwoo Park Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ad97edd2f524940d524c26ae273a4eb23067a7c0 Author: Mohamed Abbas Date: Fri Mar 28 16:21:06 2008 -0700 iwlwifi: hook iwlwifi with Linux rfkill This patch hook IWL with Linux rfkill. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c8381fdcab98b74f670d879097bab35d97d88400 Author: Mohamed Abbas Date: Fri Mar 28 16:21:05 2008 -0700 iwlwifi: add notification infrastructure to iwlcore This patch add notification function to be called by low level iwl driver to notify iwlcore with current state. This function will call iwlcore subsystem with the new state. This will help make the code more consistent and easy to extend. For example the rf-kill need to know when the driver in init, start, stop or remove state. Instead doing the same call in 3945 and 4965, we just do it from this function. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0675abdbfbcb8e0253a970c0dfe8d23b112888f3 Author: Andrew Morton Date: Thu Mar 27 23:25:27 2008 -0700 net/mac80211/debugfs_netdev.c: use of bool triggers a gcc bug This bool causes my gcc-4.1.0 alpha cross compiler to go into an infinite loop. Switching it to u8 works around that. Cc: Johannes Berg Cc: Luis Carlos Cobo Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 3480a58a90cd505578b9979d878a5ad9c347d424 Author: John W. Linville Date: Thu Mar 27 19:54:13 2008 -0400 rt2x00: fixup some non-functional merge errors These small changes restore the rt2x00 sources to the way Ivo intended. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 04850a47aa7d03cbf651a91262fdaa9f18373dfc Author: Holger Schurig Date: Wed Mar 26 17:56:26 2008 +0100 libertas: don't depend on IEEE80211 Runtime-wise we only need escape_ssid from the deprecated IEEE80211 subsystem. However, it's easy to provide our own copy. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit f539f2efe9fdf9e7db2022a757190858576d34fd Author: Holger Schurig Date: Wed Mar 26 13:22:11 2008 +0100 libertas: convert sleep/wake config direct commands Confirm sleep event: they come very regularly, eventually several times per second. Therefore we want to send the config command as fast as possible. The old code pre-set the command in priv->lbs_ps_confirm_sleep. However, the byte sequence to be sent to the hardware is the same for all interfaces. So this patch make this an extern structure, initialized at module load time. Config wake event: normal conversion to a direct command. However, I don't know how to trigger a "HOST AWAKE" event from the firmware, so this part is untested. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 7460f5a69055357bf97f1890db547aba0c4bf2fa Author: Holger Schurig Date: Wed Mar 26 10:03:48 2008 +0100 libertas: convert CMD_802_11_EEPROM_ACCESS to a direct command Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 2af9f039a17c0acd9e5b21d10058688687bad86d Author: Holger Schurig Date: Wed Mar 26 09:58:32 2008 +0100 libertas: convert CMD_802_11_MAC_ADDRESS to a direct command * directly call lbs_cmd_with_response() * only overwrite priv->current_addr once the firmware call succeeded Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 717ddc0ebdd00c233fcb1ae9a243e69f301cde24 Author: Al Viro Date: Sun Mar 16 22:43:06 2008 +0000 endianness annotations: drivers/net/wireless/rtl8180_dev.c Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 1e5ef43e8c206128560eb6c32a19a7951033a3c3 Author: Johannes Weiner Date: Sat Mar 29 08:21:10 2008 +1100 [POWERPC] ppc: Remove redundant display of free swap space in show_mem() show_mem() has no need to print the amount of free swap space manually because show_free_areas() does this already and is called by the former. The two outputs only differ in text formatting: printk("Free swap = %lukB\n", ...); printk("Free swap: %6ldkB\n", ...); Signed-off-by: Johannes Weiner Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 745681a524cfc9c972dd89dc7df46f825217c22b Author: Johannes Weiner Date: Sat Mar 29 08:21:09 2008 +1100 [POWERPC] Remove redundant display of free swap space in show_mem() show_mem() has no need to print the amount of free swap space manually because show_free_areas() does this already and is called by the former. The two outputs only differ in text formatting: printk("Free swap = %lukB\n", ...); printk("Free swap: %6ldkB\n", ...); Signed-off-by: Johannes Weiner Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit ea6728c11f3afa15a9c7c50a6c9ae061fe5a9d00 Author: Julia Lawall Date: Sat Mar 29 08:21:08 2008 +1100 [POWERPC] Use FIELD_SIZEOF in drivers/block/viodasd.c Robert P.J. Day proposed to use the macro FIELD_SIZEOF in replace of code that matches its definition. The modification was made using the following semantic patch (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ type t; identifier f; @@ - (sizeof(((t*)0)->f)) + FIELD_SIZEOF(t, f) @depends on haskernel@ type t; identifier f; @@ - sizeof(((t*)0)->f) + FIELD_SIZEOF(t, f) // Signed-off-by: Julia Lawall Cc: Jens Axboe Cc: Benjamin Herrenschmidt Acked-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 1d18a602e9116dc89da6750dcbda44bb1eb82b8e Author: Harvey Harrison Date: Sat Mar 29 08:21:07 2008 +1100 [POWERPC] ppc: Replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit e48b1b452ff630288c930fd8e0c2d808bc15f7ad Author: Harvey Harrison Date: Sat Mar 29 08:21:07 2008 +1100 [POWERPC] Replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit a78bfbfcfaca64e6198f164c43a60afc8a50e2c6 Author: Robert Brose Date: Sat Mar 29 07:20:23 2008 +1100 [POWERPC] Add kernel parameter to set l3cr for MPC745x Old-world powermacs don't set L2CR or L3CR on processor upgrade cards. This simple patch allows the setting of L3CR via a kernel parameter (like the existing kernel parameter to set L2CR). Signed-off-by: Robert Brose Signed-off-by: Paul Mackerras commit b163a256dac8ceb01d40bebe25c315768cf1877b Author: Geert Uytterhoeven Date: Sat Mar 29 03:53:38 2008 +1100 [POWERPC] PS3: Split device setup for static vs. dynamic devices Split the device setup code in ps3_register_repository_device() in two routines: 1. ps3_setup_static_device(), to handle the setup of static devices in the PS3 repository, which can be __init, 2. ps3_setup_dynamic_device(), to handle the setup of storage devices that may appear later in the PS3 repository. This fixes a few section mismatch warnings. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit fa90f70a8ed338d1afb43da21163752c6558a7d5 Author: Geert Uytterhoeven Date: Sat Mar 29 03:10:50 2008 +1100 [POWERPC] arch_add_memory() cannot be __devinit WARNING: vmlinux.o(.text+0xb41b0): Section mismatch in reference from the function .add_memory() to the function .devinit.text:.arch_add_memory() The function .add_memory() references the function __devinit .arch_add_memory(). This is often because .add_memory lacks a __devinit annotation or the annotation of .arch_add_memory is wrong. arch_add_memory() is also not __devinit on other architectures Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit 18f032cb51a6de7d9c875e1112650ecf975fee12 Author: Geert Uytterhoeven Date: Sat Mar 29 03:07:45 2008 +1100 [POWERPC] move_device_tree() should be __init WARNING: vmlinux.o(.text+0x1e4c0): Section mismatch in reference from the function .move_device_tree() to the function .init.text:.lmb_alloc_base() The function .move_device_tree() references the function __init .lmb_alloc_base(). This is often because .move_device_tree lacks a __init annotation or the annotation of .lmb_alloc_base is wrong. move_device_tree() is called from early_init_devtree() only, which is __init Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit 52db9b44262754bad1b0456d27a862a46cc7f893 Author: Badari Pulavarty Date: Fri Mar 28 11:37:21 2008 +1100 [POWERPC] Add error return from htab_remove_mapping() If the platform doesn't support hpte_removebolted(), gracefully return failure rather than success. Signed-off-by: Badari Pulavarty Signed-off-by: Paul Mackerras commit 3faac21546f5b213cda490d45fe5927d713e44f1 Author: Masakazu Mokuno Date: Thu Mar 27 11:39:31 2008 +1100 [POWERPC] PS3: Gelic network driver Wake-on-LAN support Add Wake-on-LAN support to the PS3 Gelic network driver. Other OS WOL support was introduced in PS3 system firmware 2.20. Signed-off-by: Masakazu Mokuno Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 1c43d265f462bc714da67aa8113b3846bb9943e3 Author: Geoff Levand Date: Thu Mar 27 11:39:04 2008 +1100 [POWERPC] PS3: Sys-manager Wake-on-LAN support Add Wake-on-LAN support to the PS3 system-manager. Other OS WOL support was introduced in PS3 system firmware 2.20. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ca052f7924141f34998ab440bb4d908dc021a46b Author: Geert Uytterhoeven Date: Thu Mar 27 11:38:31 2008 +1100 [POWERPC] PS3: Save power in busy loops on halt PS3 save power on halt: - Replace infinite busy loops by smarter loops calling lv1_pause() to save power. - Add ps3_halt() and ps3_sys_manager_halt(). - Add __noreturn annotations. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 5761eaa3a5ae3c7ea796add73b86176b7c963cca Author: Geoff Levand Date: Fri Mar 28 07:41:45 2008 +1100 [POWERPC] PS3: Bootwrapper improvements Improve the debugging support of the PS3 bootwraper code: o Increase the size of the PS3 bootwrapper overlay from 256 to 512 bytes to allow for more debugging code in the overlay. o Use the dot symbol to set the size of __system_reset_overlay. The assembler will then emit an error if the overlay code is too big. o Remove some unused instructions. o Update the text describing the PS3 bootwrapper overlay. o Add a check for null pointer writes. o Change hcall return value from s64. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 23afcb4e0061c591776a3350db89512d085397c2 Author: Takashi Yamamoto Date: Thu Mar 27 11:37:38 2008 +1100 [POWERPC] PS3: Add ps3_get_speid routine Add a new routine ps3_get_speid() which returns the logical SPE ID. This ID is needed for profiling support. Signed-off-by: Takashi Yamamoto Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ad18c3db337c6307c7bfbe1f89ad6d92714ffc11 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Mar 27 11:37:18 2008 +1100 [POWERPC] PS3: Fix unlikely typo in ps3_get_irq Fix a typo bug 'unlikely(x) == y' and add an unlikely() call to an unlikely code path in the PS3 interrupt routine ps3_get_irq(). Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit e6b18912d3df8ccc5cc19823544fcce19af25072 Merge: 99d8be0... ee0a3f5... Author: Paul Mackerras Date: Tue Apr 1 20:34:26 2008 +1100 Merge branch 'powerpc-next' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc commit dfb12eb70fc926562488515a9596c88b8eadc545 Author: Pavel Emelyanov Date: Mon Mar 31 19:43:43 2008 -0700 [IPV6][NETNS]: Display per-net info in sockstat6 file. Do with the sockstat6 file what we've already done for the sockstat. Same good side effect - ipv6 reassembling stats are now shown per-net. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit fd4e7b50455330403ed5b1060055f9d411ecdc57 Author: Pavel Emelyanov Date: Mon Mar 31 19:43:18 2008 -0700 [IPV4][NETNS]: Display per-net info in sockstat file. Besides, now we can see per-net fragments statistics in the same file, since this stats is already per-net. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit d0538ca3554a3985c09921903cf8f5e38fa56123 Author: Pavel Emelyanov Date: Mon Mar 31 19:42:37 2008 -0700 [SOCK][NETNS]: Register sockstat(6) files in each net. Currently they live in init_net only, but now almost all the info they can provide is available per-net. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 70ee115942be6ce52ff10e5e813fb4da82cdb25a Author: Pavel Emelyanov Date: Mon Mar 31 19:42:16 2008 -0700 [SOCK][NETNS]: Add the percpu prot_inuse counter in the struct net. Such an accounting would cost us two more dereferences to get the percpu variable from the struct net, so I make sock_prot_inuse_get and _add calls work differently depending on CONFIG_NET_NS - without it old optimized routines are used. The per-cpu counter for init_net is prepared in core_initcall, so that even af_inet, that starts as fs_initcall, will already have the init_net prepared. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit c29a0bc4dfc4d833eb702b1929cec96a3eeb9f7a Author: Pavel Emelyanov Date: Mon Mar 31 19:41:46 2008 -0700 [SOCK][NETNS]: Add a struct net argument to sock_prot_inuse_add and _get. This counter is about to become per-proto-and-per-net, so we'll need two arguments to determine which cell in this "table" to work with. All the places, but proc already pass proper net to it - proc will be tuned a bit later. Some indentation with spaces in proc files is done to keep the file coding style consistent. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8efa6e93cb2666dceafc4844057fdcb9aa324fb7 Author: Pavel Emelyanov Date: Mon Mar 31 19:41:14 2008 -0700 [NETNS]: Introduce a netns_core structure. There's already some stuff on the struct net, that should better be folded into netns_core structure. I'm making the per-proto inuse counter be per-net also, which is also a candidate for this, so introduce this structure and populate it a bit. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 2c130fd5294499cd94578f8c792e190959372763 Author: Robert Schwebel Date: Fri Mar 28 11:02:13 2008 +0100 [ARM] 4877/1: i.MXC family: Clean up current platform code From: Juergen Beisert This patch cleans up the in-kernel platform code from doxygen comments. We don't know how this could have leak in, but anyway. Changes since last release: - none Signed-off-by: Juergen Beisert Signed-off-by: Ross Wille Signed-off-by: Russell King commit f304fc422d9f159badb0edfa5921611a2fa371c7 Author: Robert Schwebel Date: Fri Mar 28 10:59:08 2008 +0100 [ARM] 4876/1: i.MXC family: Clean up From: Juergen Beisert Clean up current header files from doxygen style comments. There are probably more such comments left, but we start with these. Things happend since last review: - needless blank lines removed (note by Russell King) - re-format comments (note by Ross Wille) Signed-off-by: Juergen Beisert Signed-off-by: Ross Wille Signed-off-by: Russell King commit 773adff8e983cba1f5844c3be3be224ca6645f26 Author: Julia Lawall Date: Mon Mar 24 19:08:48 2008 +0100 [GFS2] test for IS_ERR rather than 0 The function gfs2_inode_lookup always returns either a valid pointer or a value made with ERR_PTR, so its result should be tested with IS_ERR, not with a test for 0. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @a@ expression E, E1; statement S,S1; position p; @@ E = gfs2_inode_lookup(...) ... when != E = E1 if@p (E) S else S1 @n@ position a.p; expression E,E1; statement S,S1; @@ E = NULL ... when != E = E1 if@p (E) S else S1 @depends on !n@ expression E; statement S,S1; position a.p; @@ * if@p (E) S else S1 // Signed-off-by: Julia Lawall Signed-off-by: Steven Whitehouse commit 58e9fee13e579df44922172dbe3c9e3ba3edf7a3 Author: Benjamin Marzinski Date: Fri Mar 14 13:52:52 2008 -0500 [GFS2] Invalidate cache at correct point GFS2 wasn't invalidating its cache before it called into the lock manager with a request that could potentially drop a lock. This was leaving a window where the lock could be actually be held by another node, but the file's page cache would still appear valid, causing coherency problems. This patch moves the cache invalidation to before the lock manager call when dropping a lock. It also adds the option to the lock_dlm lock manager to not use conversion mode deadlock avoidance, which, on a conversion from shared to exclusive, could internally drop the lock, and then reacquire in. GFS2 now asks lock_dlm to not do this. Instead, GFS2 manually drops the lock and reacquires it. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit f5a8cd020173c455705fc0095b7d299da6f8f87b Author: akpm@linux-foundation.org Date: Wed Mar 12 14:01:29 2008 -0700 [GFS2] fs/gfs2/recovery.c: suppress warnings fs/gfs2/recovery.c: In function 'get_log_header': fs/gfs2/recovery.c:152: warning: 'lh.lh_sequence' may be used uninitialized in this function fs/gfs2/recovery.c:152: warning: 'lh.lh_flags' may be used uninitialized in this function fs/gfs2/recovery.c:152: warning: 'lh.lh_tail' may be used uninitialized in this function fs/gfs2/recovery.c:152: warning: 'lh.lh_blkno' may be used uninitialized in this function fs/gfs2/recovery.c:152: warning: 'lh.lh_hash' may be used uninitialized in this function Cc: David Teigland Cc: Bob Peterson Signed-off-by: Andrew Morton Signed-off-by: Steven Whitehouse commit 1f466a47e8a3a3e3b527b3285c7b9c8a837fb7ec Author: Bob Peterson Date: Mon Mar 10 18:17:47 2008 -0500 [GFS2] Faster gfs2_bitfit algorithm This version of the gfs2_bitfit algorithm includes the latest suggestions from Steve Whitehouse. It is typically eight to ten times faster than the version we're using today. If there is a lot of metadata mixed in (lots of small files) the algorithm is often 15 times faster, and given the right conditions, I've seen peaks of 20 times faster. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit d82661d96993ac4efc1d54259ea85ffcd9b8bec6 Author: Steven Whitehouse Date: Mon Mar 10 15:34:50 2008 +0000 [GFS2] Streamline quota lock/check for no-quota case This patch streamlines the quota checking in the "no quota" case by making the check inline in the calling function, thus reducing the number of function calls. Eventually we might be able to remove the checks from the gfs2_quota_lock() and gfs2_quota_check() functions, but currently we can't as there are a very few places in the code which need to call these functions directly still. Signed-off-by: Steven Whitehouse Cc: Abhijith Das commit 860b25d4a913a00331d333f8e207a088c7a1b84a Author: Steven Whitehouse Date: Mon Mar 10 10:13:31 2008 +0000 [GFS2] Remove drop of module ref where not needed In an earlier patch "[GFS2] fix file_system_type leak on gfs2meta mount" we removed the code to grab a ref to the module which was not needed (since we know that the module cannot be unloaded at that time) so this patch removes the code to drop that reference. Signed-off-by: Steven Whitehouse commit 20b95bf2c4c5c28e093aa42699e67829b6cd7fd0 Author: Abhijith Das Date: Thu Mar 6 17:43:52 2008 -0600 [GFS2] gfs2_adjust_quota has broken unstuffing code This patch combines the 2 patches in bug 434736 to correct the lock ordering in the unstuffing of the quota inode in gfs2_adjust_quota and adjusting the number of revokes in gfs2_write_jdata_pagevec Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 182fe5abd8ebbb3a00c1be91f44e4783e139918c Author: Cyrill Gorcunov Date: Mon Mar 3 21:54:21 2008 +0300 [GFS2] possible null pointer dereference fixup gfs2_alloc_get may fail so we have to check it to prevent NULL pointer dereference. Signed-off-by: Cyrill Gorcunov Signed-off-by: Steven Whitehouse commit 105284970ba7d0d0ff4b97e57728eac7adf6a42a Author: Steven Whitehouse Date: Wed Feb 27 17:56:27 2008 +0000 [GFS2] Need to ensure that sector_t is 64bits for GFS2 We need to ensure that sector_t is 64bits for GFS2, so that we need to depend on LBD as well as LSF. Signed-off-by: Steven Whitehouse commit 43a33c53cc9131a537522ab9736c6e4c03ddf57a Author: Denis Cheng Date: Tue Feb 26 15:25:04 2008 +0800 [GFS2] re-support special inode a previous commit removed call to init_special_inode from inode lookuping, this cause problems as: # mknod /mnt/gfs2/dev/null c 1 3 # cat /mnt/gfs2/dev/null cat: /mnt/gfs2/dev/null: Invalid argument without special inode, GFS2 cannot support char device file, block device file, fifo pipe, and socket file, lose many important features as a common file system. this one line patch re add special inode support. Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit d83225d45d2b76175279abb2a3d7ee325a09aba8 Author: Denis Cheng Date: Tue Feb 26 15:25:03 2008 +0800 [GFS2] remove gfs2_dev_iops struct inode_operations gfs2_dev_iops is always the same as gfs2_file_iops, since Jan 2006, when GFS2 merged into mainstream kernel. So one of them could be removed. Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit 7dc2cf1c8ffbd471722f1aa479bc68d4df1c9edc Author: Christoph Hellwig Date: Mon Feb 25 18:58:36 2008 +0100 [GFS2] fix file_system_type leak on gfs2meta mount get_gfs2_sb does a get_fs_type without doing a put_filesystem and thus leaking a file_system_type reference everytime it's called. Just use gfs2_fs_type directly instead of doing the lookup and thus fix the problem. Signed-off-by: Christoph Hellwig Signed-off-by: Steven Whitehouse commit 9b8c81d1de49943ec69d157234b8981008c30d31 Author: Steven Whitehouse Date: Fri Feb 22 16:09:31 2008 +0000 [GFS2] Allow bmap to allocate extents We've supported mapping of extents when no block allocation is required for some time. This patch extends that to mapping of extents when an allocation has been requested. In that case we try to allocate as many blocks as are requested, but we might return fewer in case there is something preventing us from returning the complete amount (e.g. an already allocated block is in the way). Currently the only code path which can actually request multiple data blocks in a single bmap call is the page_mkwrite path and even then it only happens if there are multiple blocks per page. What this patch does do however, is merge the allocation requests for metadata (growing the metadata tree in either height or depth) with the allocation of the data blocks in the case that both are needed. This results in lower overheads even in the single block allocation case. The one thing which we can't handle here at the moment is unstuffing. I would like to be able to do that, but the problem which arises is that in order to unstuff one has to get a locked page from the page cache which results in locking problems in the (usual) case that the caller is holding the page lock on the page it wishes to map. So that case will have to be addressed in future patches. Signed-off-by: Steven Whitehouse commit 7afd88d9166a752b52517648bcbe923e05d393fc Author: Steven Whitehouse Date: Fri Feb 22 16:07:18 2008 +0000 [GFS2] Fix a page lock / glock deadlock We've previously been using a "try lock" in readpage on the basis that it would prevent deadlocks due to the inverted lock ordering (our normal lock ordering is glock first and then page lock). Unfortunately tests have shown that this isn't enough. If the glock has a demote request queued such that run_queue() in the glock code tries to do a demote when its called under readpage then it will try and write out all the dirty pages which requires locking them. This then deadlocks with the page locked by readpage. The solution is to always require two calls into readpage. The first unlocks the page, gets the glock and returns AOP_TRUNCATED_PAGE, the second does the actual readpage and unlocks the glock & page as required. Signed-off-by: Steven Whitehouse commit 60b779cfc1fa52034a996ee12a23b62d32e86000 Author: Adrian Bunk Date: Sun Feb 17 10:20:34 2008 +0200 [GFS2] proper extern for gfs2/locking/dlm/mount.c:gdlm_ops This patch adds a proper extern declaration for gdlm_ops in fs/gfs2/locking/dlm/lock_dlm.h Signed-off-by: Adrian Bunk Signed-off-by: Steven Whitehouse commit 8af4c72f7df2442230fca3ff49a97f978cfb4a04 Author: Adrian Bunk Date: Sun Feb 17 10:17:12 2008 +0200 [GFS2] gfs2/ops_file.c should #include "ops_inode.h" Every file should include the headers containing the prototypes for its global functions (in this case for gfs2_set_inode_flags()). Signed-off-by: Adrian Bunk Signed-off-by: Steven Whitehouse commit bb16b342b2e2c83fa47dbb042400db91b748ded7 Author: Marcin Slusarz Date: Wed Feb 13 00:06:10 2008 +0100 [GFS2] be*_add_cpu conversion replace all: big_endian_variable = cpu_to_beX(beX_to_cpu(big_endian_variable) + expression_in_cpu_byteorder); with: beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Signed-off-by: Steven Whitehouse commit 840ca0ec70903ce8e0fba1596460876c796e4f60 Author: Steven Whitehouse Date: Tue Feb 12 15:28:21 2008 +0000 [GFS2] Fix bug where we called drop_bh incorrectly As a result of an earlier patch, drop_bh was being called in cases when it shouldn't have been. Since we never have a gh in the drop case and we always have a gh in the promote case, we can use that extra information to tell which case has been seen. Signed-off-by: Steven Whitehouse Cc: Bob Peterson commit e23159d2a7b2df5bce5f0ee8d57d3292243abf66 Author: Steven Whitehouse Date: Tue Feb 12 14:48:39 2008 +0000 [GFS2] Get inode buffer only once per block map call In the case that we needed to grow the height of the metadata tree we were looking up the inode buffer and then brelse()ing it despite the fact that it is needed later in the block map process. This patch ensures that we look up the inode's buffer once and only once during the block map process. Signed-off-by: Steven Whitehouse commit 77658aad226866fb94097236d14d41a88aaab2ec Author: Steven Whitehouse Date: Tue Feb 12 14:17:27 2008 +0000 [GFS2] Eliminate (almost) duplicate field from gfs2_inode The blocks counter is almost a duplicate of the i_blocks field in the VFS inode. The only difference is that i_blocks can be only 32bits long for 32bit arch without large single file support. Since GFS2 doesn't handle the non-large single file case (for 32 bit anyway) this adds a new config dependency on 64BIT || LSF. This has always been the case, however we've never explicitly said so before. Even if we do add support for the non-LSF case, we will still not require this field to be duplicated since we will not be able to access oversized files anyway. So the net result of all this is that we shave 8 bytes from a gfs2_inode and get our config deps correct. Signed-off-by: Steven Whitehouse commit 30cbf189cd2a1ba13ff3c8c8ee2103dbdb18578a Author: Steven Whitehouse Date: Fri Feb 8 13:18:11 2008 +0000 [GFS2] Add a function to interate over an extent This adds a function (currently the only use is during mapping of already allocated blocks, but watch this space) which iterates over a number of pointers in a block and returns the extent length. If the initial pointer is 0 (i.e. unallocated) it will return the number of unallocated blocks in the extent. If the initial pointer is allocated, then it returns the number of contiguously allocated blocks in the extent. Signed-off-by: Steven Whitehouse commit c85a665f064863cc8a2fe88e5f1eb4def5446e90 Author: Steven Whitehouse Date: Tue Feb 12 12:14:59 2008 +0000 [GFS2] The case of the missing asterisk A dereference was forgotten. This adds it back correctly. Signed-off-by: Steven Whitehouse commit b45e41d7d56dfef1ae9e02e6c59990066ba82e5c Author: Steven Whitehouse Date: Wed Feb 6 10:11:15 2008 +0000 [GFS2] Add extent allocation to block allocator Rather than having to allocate a single block at a time, this patch allows the block allocator to allocate an extent. Since there is no difference (so far as the block allocator is concerned) between data blocks and indirect blocks, it is posible to allocate a single extent and for the caller to unrevoke just the blocks required for indirect blocks. Currently the only bit of GFS2 to make use of this feature is the build height function. The intention is that gfs2_block_map will be changed to make use of this feature in future patches. Signed-off-by: Steven Whitehouse commit 1639431a3f57b43da1e15e9268a1d691ac01ba26 Author: Steven Whitehouse Date: Fri Feb 1 14:52:30 2008 +0000 [GFS2] Merge gfs2_alloc_meta and gfs2_alloc_data Thanks to the preceeding patches, the only difference between these two functions is their name. We can thus merge them and call the new function gfs2_alloc_block to reflect the fact that it can allocate either kind of block. Signed-off-by: Steven Whitehouse commit 5731be53e3d82aedd06e02574f833a57b07a08d2 Author: Steven Whitehouse Date: Fri Feb 1 13:16:55 2008 +0000 [GFS2] Update gfs2_trans_add_unrevoke to accept extents By adding an extra argument to gfs2_trans_add_unrevoke we can now specify an extent length of blocks to unrevoke. This means that we only need to make one pass through the list for each extent rather than each block. Currently the only extent length which is used is 1, but that will change in the future. Also gfs2_trans_add_unrevoke is removed from gfs2_alloc_meta since its the only difference between this and gfs2_alloc_data which is left. This will allow a future patch to merge these two functions into one (i.e. one call to allocate both data and metadata in a single extent in the future). Signed-off-by: Steven Whitehouse commit ac576cc5bed0dd7759e2b196468c7df93d6aeeee Author: Steven Whitehouse Date: Fri Feb 1 10:34:15 2008 +0000 [GFS2] Merge the rd_last_alloc_meta and rd_last_alloc_data fields We don't need to keep track of when we last allocated data and metadata separately since the only thing thats important when searching for a free block is whether its free or not, which is independent from what type of block it is. Signed-off-by: Steven Whitehouse commit ce276b06e8b81845926387e93f77bf81e14b5cc2 Author: Steven Whitehouse Date: Wed Feb 6 09:25:45 2008 +0000 [GFS2] Reduce inode size by merging fields There were three fields being used to keep track of the location of the most recently allocated block for each inode. These have been merged into a single field in order to better keep the data and metadata for an inode close on disk, and also to reduce the space required for storage. Signed-off-by: Steven Whitehouse commit 9feb7c889f2a3b088a7f6583e609bd39997c0f47 Author: Bob Peterson Date: Tue Feb 5 17:11:40 2008 -0600 [GFS2] Remove unused counters This is kind of trivial in the greater scheme of things, but this removes three counters that AFAICT are never used. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 9a0045088d888c9c539c8c626a366cb52c0fbdab Author: Steven Whitehouse Date: Fri Feb 1 09:23:44 2008 +0000 [GFS2] Shrink & rename di_depth This patch forms a pair with the previous patch which shrunk di_height. Like that patch di_depth is renamed i_depth and moved into struct gfs2_inode directly. Also the field goes from 16 bits to 8 bits since it is also limited to a max value which is rather small (17 in this case). In addition we also now validate the field against this maximum value when its read in. Signed-off-by: Steven Whitehouse commit cf45b752c9f23939e40d823b0600bf876e97b0e0 Author: Bob Peterson Date: Thu Jan 31 10:31:39 2008 -0600 [GFS2] Remove rgrp and glock version numbers This patch further reduces GFS2's memory requirements by eliminating the 64-bit version number fields in lieu of a couple bits. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit da755fdb414470d6dce3df12ad188de9131cf96c Author: Steven Whitehouse Date: Wed Jan 30 15:34:04 2008 +0000 [GFS2] Remove lm.[ch] and distribute content The functions in lm.c were just wrappers which were mostly only used in one other file. By moving the functions to the files where they are being used, they can be marked static and also this will usually result in them being inlined since they are often only used from one point in the code. A couple of really trivial functions have been inlined by hand into the function which called them as it makes the code clearer to do that. We also gain from one fewer function call in the glock lock and unlock paths. Signed-off-by: Steven Whitehouse commit ab0d756681c9502a2ab9e2e4ab3685bc0567f4ee Author: Bob Peterson Date: Tue Jan 29 13:56:15 2008 -0600 [GFS2] Eliminate gl_req_bh This patch further reduces the memory needs of GFS2 by eliminating the gl_req_bh variable from struct gfs2_glock. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 110acf38377b5b341b11644bfe98389eccec627d Author: Steven Whitehouse Date: Tue Jan 29 13:30:20 2008 +0000 [GFS2] Add consts to various bits of rgrp.c There are a couple of routines which scan bitmaps where we can mark the bitmaps const, plus a couple of call sites that can be updated too. Signed-off-by: Steven Whitehouse commit dbac6710a6dfcec7fbe7d9571c183d86a4237623 Author: Steven Whitehouse Date: Tue Jan 29 09:12:55 2008 +0000 [GFS2] Introduce array of buffers to struct metapath The reason for doing this is to allow all the block mapping code to share the same array. As a result we can remove two arguments from lookup_metapath since they are now returned via the array. We also add a function to drop all refs to buffer heads when we are done with the metapath. The build_height function shares the struct metapath, but currently still frees its own buffers, and this will change in a future patch. Signed-off-by: Steven Whitehouse commit 11707ea05e85290d10c482b87e195c198f5eb3cf Author: Steven Whitehouse Date: Mon Jan 28 15:10:29 2008 +0000 [GFS2] Move part of gfs2_block_map into a separate function This is required to enable future changes to the block mapping code. Signed-off-by: Steven Whitehouse commit 29d38cd16358dcaef4a6c50866ecee28025b481a Author: Bob Peterson Date: Mon Jan 28 22:31:39 2008 -0600 [GFS2] Get rid of gl_waiters2 This patch reduces memory by replacing the int variable gl_waiters2 by a single bit in the gl_flags. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 42d52e3818751633656fb90df1bd5cb5362fa8cc Author: Bob Peterson Date: Mon Jan 28 18:38:07 2008 -0600 [GFS2] Combine rg_flags and rd_flags This patch reduces the memory required by GFS2 by combining the rd_flags and rg_flags (in core only). Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 6bdd9be628fa5f4dd14eb89ebddc12840d684277 Author: Bob Peterson Date: Mon Jan 28 17:20:26 2008 -0600 [GFS2] Allocate gfs2_rgrpd from slab memory This patch moves the gfs2_rgrpd structure to its own slab memory. This makes it easier to control and monitor, and yields less memory fragmentation. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 3ad62e87cd38817361e165cf4ad496ab76e19e81 Author: Bob Peterson Date: Mon Jan 28 16:35:13 2008 -0600 [GFS2] Plug an unlikely leak Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 048786f1e6042022a8fb2035157a8c8c3a82a4f2 Author: Adrian Bunk Date: Tue Jan 29 00:11:34 2008 +0200 [GFS2] make gfs2_glock_hold() static gfs2_glock_hold() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Steven Whitehouse commit ef8c441cb7fece75dbbdb1f59d3f82b6a4be7474 Author: Bob Peterson Date: Mon Jan 28 14:54:16 2008 -0600 [GFS2] Only wake the reclaim daemon if we need to This patch only wakes up the glock reclaim daemon if there is actually something to be reclaimed. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 7eabb77e65c559d9c284da232b9ba5354898028a Author: Bob Peterson Date: Mon Jan 28 11:24:35 2008 -0600 [GFS2] Misc fixups This patch contains two small fixups that didn't fit elsewhere. They are: (1) get rid of temp variable in find_metapath. (2) Remove vestigial "ret" variable from gfs2_writepage_common. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit d0109bfa84d6603becac8c2e87b3716f557f2039 Author: Bob Peterson Date: Mon Jan 28 11:20:10 2008 -0600 [GFS2] Only do lo_incore_commit once This patch is performance related. When we're doing a log flush, I noticed we were calling buf_lo_incore_commit twice: once for data bufs and once for metadata bufs. Since this is the same function and does the same thing in both cases, there should be no reason to call it twice. Since we only need to call it once, we can also make it faster by removing it from the generic "lops" code and making it a stand-along static function. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit ca390601a8bbb4ab8301a9469d23cdb1cf77e7cb Author: Bob Peterson Date: Mon Jan 28 11:15:57 2008 -0600 [GFS2] Fix debug inode printing I noticed that the latest change to i_height got rid of the value from the inode dump. This patch adds it back. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit fe6c991c52a0dd07d4a19d392fd65048226cb1bc Author: Bob Peterson Date: Mon Jan 28 11:13:02 2008 -0600 [GFS2] Get rid of unneeded parameter in gfs2_rlist_alloc This patch removed the unnecessary parameter from function gfs2_rlist_alloc. The parameter was always passed in as 0. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit ecc30c79157103e8bd7492043ee992b763443832 Author: Steven Whitehouse Date: Mon Jan 28 10:37:35 2008 +0000 [GFS2] Streamline indirect pointer tree height calculation This patch improves the calculation of the tree height in order to reduce the number of operations which are carried out on each call to gfs2_block_map. In the common case, we now make a single comparison, rather than calculating the required tree height from scratch each time. Also in the case that the tree does need some extra height, we start from the current height rather from zero when we work out what the new height ought to be. In addition the di_height field is moved into the inode proper and reduced in size to a u8 since the value must be between 0 and GFS2_MAX_META_HEIGHT (10). Signed-off-by: Steven Whitehouse commit 941e6d7d09aaf455c0d7ad383f7f5ae67e4ccf16 Author: Steven Whitehouse Date: Mon Jan 28 08:47:38 2008 +0000 [GFS2] Speed up gfs2_write_alloc_required, deprecate gfs2_extent_map This patch removes the call to gfs2_extent_map from gfs2_write_alloc_required, instead we call gfs2_block_map directly. This results in fewer overall calls to gfs2_block_map in the multi-block case. Also, gfs2_extent_map is marked as deprecated so that people know that its going away as soon as all the callers have been converted. Signed-off-by: Steven Whitehouse commit 04c366f06341259c88886a0d359e3597ba4c23f6 Author: Uwe Kleine-König Date: Wed Feb 6 15:22:56 2008 +0100 ns9xxx: add clock api Signed-off-by: Uwe Kleine-König commit ed6f5987235c628e1041311d7c1efdf659e2dad7 Author: Uwe Kleine-König Date: Tue Dec 11 16:52:50 2007 +0100 ns9xxx: add support for irq priorisation prio2irq(0) is the highest prioritized interrupt. For now there is no binary change intended. If you intend to change the priorisation, you have to assert: ∀ x ∈ {0, 1, ⋯ 31}: (irq2prio ∘ prio2irq)(x) = x Signed-off-by: Uwe Kleine-König commit 3edf8fa5ccf10688a9280b5cbca8ed3947c42866 Author: David S. Miller Date: Mon Mar 31 00:28:14 2008 -0700 [NET]: Fix allnoconfig build on powerpc and avr32 As reported by Haavard Skinnemoen and Stephen Rothwell: > allnoconfig fails with > > include/linux/netdevice.h:843: error: implicit declaration of function 'dev_net' > > which seems to be because the definition of dev_net is inside #ifdef > CONFIG_NET, while next_net_device, which calls it, is not. Signed-off-by: David S. Miller commit 5e69b945f20aec17bf057acbb61b6682461e7149 Author: Uwe Kleine-König Date: Fri Feb 29 13:27:53 2008 +0100 ns9xxx: make use of the chip's irq priorisation The irq controller automatically masks the current and all lower prioritised tasks until the current irq is acked. Signed-off-by: Uwe Kleine-König commit a287453e37a11a128ee0761e1db2e79d7faacdb3 Author: Uwe Kleine-König Date: Wed Feb 6 15:10:41 2008 +0100 ns9xxx: let putc autodetect where to write Now putc writes to the first enabled internal UART. If there is none the external UART on the a9m9750dev board is used (if enabled). Otherwise there is no output. Signed-off-by: Uwe Kleine-König commit 724ce5ee15ff4c4f3035110b683b990a3b33c832 Author: Uwe Kleine-König Date: Fri Feb 15 08:41:06 2008 +0100 ns9xxx: prepare for adding support for Digi ns921x processors The hardware team changed some things that were taken as being common to all ns9xxx processors up to now. This patch addresses: - irqs: s/IRQ_/IRQ_NS9360_/ - system module registers: some registers are still general, their definition lives now in include/asm-arm/arch-ns9xxx/regs-sys-common.h. The ns9360 specific ones are in .../regs-sys-ns9360.h As a result ns9360_systemclock cannot be static inline any more as its definition needs regs-sys-ns9360.h. This becomes a real problem when adding support for ns9215 as this will need regs-sys-ns9215.h and including both files will not work. For the same reason ns9360_reset() is now non-inline and gpio functions live in their own file. - register mapping: s/ns9xxx_map_io/ns9360_map_io/ - timer registers: move time.c to time-ns9360.c; s/ns9xxx_timer/ns9360_timer/ Signed-off-by: Uwe Kleine-König commit 3a581349b961f225893103a0fbbd065a831c5184 Author: Uwe Kleine-König Date: Tue Jan 8 11:42:44 2008 +0100 ns9xxx: update defconfig - add all available mach types for ns9xxx even if the corresponding variables don't exist yet. - minimize such that only relevant variables are defined. For others the default value is used. Signed-off-by: Uwe Kleine-König commit a9fc01f919521886436f6cdcc2c0c302d4afae15 Author: Uwe Kleine-König Date: Tue Oct 16 16:56:05 2007 +0200 ns9xxx: add module_is_..., processor_is_... and board_is_... for many machs Most of the machines are not yet supported, but I have to start somewhere. Signed-off-by: Uwe Kleine-König commit 13f429bd1b48ab67037a746ed274d7f58bb325d5 Author: Uwe Kleine-König Date: Tue Oct 16 15:32:59 2007 +0200 ns9xxx: introduce a config variable for the cc9p9360 module Moreover now it's the module that selects the processor, and not the machine anymore. Signed-off-by: Uwe Kleine-König commit ab65b87093a38ad8565780494c74bd7afd79ad9a Author: Uwe Kleine-König Date: Tue Oct 16 08:03:00 2007 +0200 ns9xxx: Use get_irqnr_preamble to initialize base register This patch optimizes the irq handling a bit. Now the base register is only computed once if more than one irq is pending. Signed-off-by: Uwe Kleine-König commit c1a9e91e426a78728c0e815b0355a7c0374d1088 Author: Uwe Kleine-König Date: Tue Feb 5 16:08:50 2008 +0100 ns9xxx: use default text offset Signed-off-by: Uwe Kleine-König commit 210b94e864de9d50ed08603a1ff0834603f309e0 Author: Uwe Kleine-König Date: Thu Jan 31 14:20:21 2008 +0100 ns9xxx: move registration of serial8250 to a dedicated file Now the needed structs are allocated dynamically from __init code reducing memory usage if the kernel runs on a board different from a9m9750dev. Signed-off-by: Uwe Kleine-König commit 17eed249539a7b756ca65a5cb0940abc48ef553b Merge: 4ad96d3... 318a94d... Author: David S. Miller Date: Fri Mar 28 19:48:26 2008 -0700 Merge branch 'upstream-net26' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 318a94d68979cbe9cc98a3050b4b7be2f08513c8 Author: Jeff Kirsher Date: Fri Mar 28 09:15:16 2008 -0700 e1000e: reorganize PHY and flow control interface This reorganization moves the PHY status into a separate struct. Flow Control setup is moved into this struct as well and frame size away from here into the adapter struct where its inly use is. The post-link-up code is now a separate function and moved out of the watchdog function itself. This allows us to track the es2lan restart issue a bit easier. Signed-off-by: Jeff Kirsher Signed-off-by: Bruce Allan Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit e2de3eb69c40c01739ce9b154c65e51d94d72966 Author: Jeff Kirsher Date: Fri Mar 28 09:15:11 2008 -0700 e1000e: rename mc_addr_list_update Rename this function to be consistent with function naming (verb first) Signed-off-by: Jeff Kirsher Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit ad68076e07fa01bd0c98278a959d0fd2bb26f1ac Author: Bruce Allan Date: Fri Mar 28 09:15:03 2008 -0700 e1000e: reformat comment blocks, cosmetic changes only Adjusting the comment blocks here to be code-style compliant. no code changes. Changed some copyright dates to 2008. Indentation fixes. Signed-off-by: Bruce Allan Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 652f093fdf14c7ca1e13c052da429ae385e4dc21 Author: Denis V. Lunev Date: Thu Mar 27 14:39:17 2008 +0300 Compilation fix for ixgbe_main.c. Under CONFIG_DCA the compilation is broken since the commit bd0362dde080cef377d99fa5beb5c25308c29c73 (ixgbe: Add optional DCA infrastructure). IXGBE_SUCCESS is not defined anywhere, replace it with 0. Signed-off-by: Denis V. Lunev Signed-off-by: Jeff Garzik commit 80950f8b71176ae8b6f2a78de039b8bc2da7f480 Author: Mariusz Kozlowski Date: Fri Mar 28 14:41:29 2008 -0700 net: yellowfin parenthesis fix The code is under unused #ifdef NO_TXSTATS branch but its better to have it fixed. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a5af6ad3a0d4f5c6d0a3535d46fc1b26eeff0816 Author: Daniel Walker Date: Fri Mar 28 14:41:28 2008 -0700 netdev: ehea: port_lock semaphore to mutex Convert the port_lock to a mutex. There is also some additional cleanup. The line length inside the ehea_rereg_mrs was getting long so I made some adjustments to shorten them. [akpm@linux-foundation.org: dec99ification] Signed-off-by: Daniel Walker Cc: Christoph Raisch Cc: Jan-Bernd Themann Cc: Thomas Klein Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit da59cde4825bd42f305efb8e6335f1b58ab8d88c Author: Daniel Walker Date: Fri Mar 28 14:41:28 2008 -0700 netdev: ehea: bcmc_regs semaphore to mutex Convert the ehea_bcmc_regs.lock to a mutex. Signed-off-by: Daniel Walker Cc: Christoph Raisch Cc: Jan-Bernd Themann Cc: Thomas Klein Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit dbbcbb2d95dc4faa3b96d39f78032c85e8745c0c Author: Daniel Walker Date: Fri Mar 28 14:41:27 2008 -0700 netdev: ehea: locking order correction Nested locks always need to be taken in the same order. This change factors out the ehea_fw_handles.lock to make the locking order consistent. Signed-off-by: Daniel Walker Cc: Christoph Raisch Cc: Jan-Bernd Themann Cc: Thomas Klein Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 9f71a568f5f1d6c9fb3ca89b6b973475e6475192 Author: Daniel Walker Date: Fri Mar 28 14:41:26 2008 -0700 netdev: ehea: ehea_fw_handles semaphore to mutex Converted the ehea_fw_handles.lock to a mutex. Signed-off-by: Daniel Walker Cc: Christoph Raisch Cc: Jan-Bernd Themann Cc: Thomas Klein Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 06f89edf89f254346c95d0c569cecd606459d83e Author: Daniel Walker Date: Fri Mar 28 14:41:26 2008 -0700 netdev: ehea: semaphore to mutex Converted the dlpar_mem_lock. With a bit of cleanup, I converted to DEFINE_MUTEX() instead of a runtime init. I also made the lock static. Signed-off-by: Daniel Walker Cc: Christoph Raisch Acked-by: Jan-Bernd Themann Cc: Thomas Klein Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b7aa69097acb86c118edaa5e339b714617062dfe Author: S.Caglar Onur Date: Fri Mar 28 14:41:25 2008 -0700 drivers/net/tokenring/3c359.c: use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So use the time_after() macro, defined in linux/jiffies.h, which deals with wrapping correctly. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: S.Caglar Onur Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 9307b570a745da4f2d83195f5337927e98221bb2 Author: S.Caglar Onur Date: Fri Mar 28 14:41:24 2008 -0700 drivers/net/arcnet/arcnet.c: use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So use the time_after() macro, defined in linux/jiffies.h, which deals with wrapping correctly. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: S.Caglar Onur Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit ac4bed1375c06af7c76b4615ae661791b62e93ef Author: Ondrej Zary Date: Fri Mar 28 14:41:23 2008 -0700 3c509: convert to isa_driver and pnp_driver Convert 3c509 driver to isa_driver and pnp_driver. The result is that autoloading using udev and hibernation works with ISA PnP cards. It also adds hibernation support for non-PnP ISA cards. xcvr module parameter was removed as its value was not used. Tested using 3 ISA cards in various combinations of PnP and non-PnP modes. EISA and MCA only compile-tested. Signed-off-by: Ondrej Zary Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4ad96d39a2d74c1b2e400b602da2594f5098fc26 Author: Denis V. Lunev Date: Fri Mar 28 18:25:53 2008 -0700 [UDP]: Remove owner from udp_seq_afinfo. Move it to udp_seq_afinfo->seq_fops as should be. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 3ba9441bdf07370670a684e6d95dfc523476677f Author: Denis V. Lunev Date: Fri Mar 28 18:25:32 2008 -0700 [UDP]: Place file operations directly into udp_seq_afinfo. No need to have separate never-used variable. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a2be75c182cd16bc104919e33451ffda8b6f65b4 Author: Denis V. Lunev Date: Fri Mar 28 18:25:06 2008 -0700 [UDP]: Cleanup /proc/udp[6] creation/removal. Replace seq_open with seq_open_net and remove udp_seq_release completely. seq_release_net will do this job just fine. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit dda61925f84d89e2f2a4597d6298a05a2bc05c20 Author: Denis V. Lunev Date: Fri Mar 28 18:24:26 2008 -0700 [UDP]: Move seq_ops from udp_iter_state to udp_seq_afinfo. No need to create seq_operations for each instance of 'netstat'. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 997feb5e7a24ce155c1d3bea9d0b5c6530bb6197 Author: Denis V. Lunev Date: Fri Mar 28 18:24:01 2008 -0700 [UDP]: No need to check afinfo != NULL in udp_proc_(un)register. udp_proc_register/udp_proc_unregister are called with a static pointer only. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6f191efe48af62dd5f8917dd21d187f896cd6c81 Author: Denis V. Lunev Date: Fri Mar 28 18:23:33 2008 -0700 [UDP]: Replace struct net on udp_iter_state with seq_net_private. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a0f55e0e833009c6a4eeb2626b807e3c21b128c8 Author: David S. Miller Date: Fri Mar 28 18:22:32 2008 -0700 [NET]: Fix dev_alloc_skb() typo. Noticed by Joe Perches. Signed-off-by: David S. Miller commit 095d911201b0741e7f326d269a005dba55985acf Author: Pavel Emelyanov Date: Fri Mar 28 16:39:58 2008 -0700 [LIB]: Drop the pcounter itself. The knock-out. The pcounter abstraction is not used any longer in the kernel. Not sure whether this should go via netdev tree, but as far as I remember it was added via this one, and besides Eric thinks that Andrew shouldn't mind this. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit bdcde3d71a67e97f25e851f3ca97c9bb5ef03e7f Author: Pavel Emelyanov Date: Fri Mar 28 16:39:33 2008 -0700 [SOCK]: Drop inuse pcounter from struct proto (v2). An uppercut - do not use the pcounter on struct proto. Signed-off-by: Pavel Emelyanov Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 60e7663d462af3994f292cb3691ea4f7371a9220 Author: Pavel Emelyanov Date: Fri Mar 28 16:39:10 2008 -0700 [SOCK]: Drop per-proto inuse init and fre functions (v2). Constructive part of the set is finished here. We have to remove the pcounter, so start with its init and free functions. Signed-off-by: Pavel Emelyanov Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 1338d466d9c3f8a65cc6d83c629cd906f2a989f8 Author: Pavel Emelyanov Date: Fri Mar 28 16:38:43 2008 -0700 [SOCK]: Introduce a percpu inuse counters array (v2). And redirect sock_prot_inuse_add and _get to use one. As far as the dereferences are concerned. Before the patch we made 1 dereference to proto->inuse.add call, the call itself and then called the __get_cpu_var() on a static variable. After the patch we make a direct call, then one dereference to proto->inuse_idx and then the same __get_cpu_var() on a still static variable. So this patch doesn't seem to produce performance penalty on SMP. This is not per-net yet, but I will deliberately make NET_NS=y case separated from NET_NS=n one, since it'll cost us one-or-two more dereferences to get the struct net and the inuse counter. Signed-off-by: Pavel Emelyanov Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 13ff3d6fa4e6d8b6ee7c64245a0078e6a0e6f977 Author: Pavel Emelyanov Date: Fri Mar 28 16:38:17 2008 -0700 [SOCK]: Enumerate struct proto-s to facilitate percpu inuse accounting (v2). The inuse counters are going to become a per-cpu array. Introduce an index for this array on the struct proto. To handle the case of proto register-unregister-register loop the bitmap is used. All its bits manipulations are protected with proto_list_lock and a sanity check for the bitmap being exhausted is also added. Signed-off-by: Pavel Emelyanov Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit bc578a54f0fd489d0722303f9a52508495ccaf9a Author: Joe Perches Date: Fri Mar 28 16:35:27 2008 -0700 [NET]: Rename inet_frag.h identifiers COMPLETE, FIRST_IN, LAST_IN to INET_FRAG_* On Fri, 2008-03-28 at 03:24 -0700, Andrew Morton wrote: > they should all be renamed. Done for include/net and net Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit be2ce06b4962658d807410e58f7c6b739dc6a0c3 Author: Rami Rosen Date: Fri Mar 28 16:26:45 2008 -0700 [IPV6]: Remove unused method declaration in include/net/addrconf.h. This patches removes unused declaration of addrconf_forwarding_on() method in include/net/addrconf.h. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 1483b8744e1a189b2018e2a1bd82f343d6bb52d2 Author: Denys Vlasenko Date: Fri Mar 28 15:57:39 2008 -0700 [NET]: Add inline intent commentary to dev_alloc_skb(). Signed-off-by: Denys Vlasenko Signed-off-by: David S. Miller commit 1567ca7eec7664b8be3b07755ac59dc1b1ec76cb Author: David S. Miller Date: Fri Mar 28 15:53:11 2008 -0700 [NET]: Protect device namespace inlines with CONFIG_NET Include sites should not be bothered by whether CONFIG_NET is set or not when trying to include benign files like linux/etherdevice.h et al. From a report by Stephen Rothwell. Signed-off-by: David S. Miller commit 3ad0920d7b11a88379ec4db186be3eee667c4278 Author: Steve Birtles Date: Sat Feb 9 04:49:55 2008 +0100 [ARM] 4825/1: adds support for YL9200 board 1. Configuration file for YL9200 2. Board file fro YL9200 Adds support for the UCdragon YL9200 board available widly in China Signed-off-by: steve birtles Signed-off-by: Russell King commit 0736ffc04eec239cce9fd3c6ae5dce54e14c25c7 Author: YOSHIFUJI Hideaki Date: Fri Mar 28 13:37:58 2008 +0900 [IPV6] NEIGH: Optimize is_router check. Our interest is not the whole entry of proxy neighbor but the NTF_ROUTER flag. Let's test it explicitly. Signed-off-by: YOSHIFUJI Hideaki commit be01d655d9b07c1350b19bf3d80eae0059254b4b Author: YOSHIFUJI Hideaki Date: Fri Mar 28 12:46:53 2008 +0900 [NET] NEIGHBOUR: Extract hash/lookup functions for pneigh entries. Extract hash function for pneigh entries from pneigh_lookup(), __pneigh_lookup() and pneigh_delete() as pneigh_hash(). Extract core of pneigh_lookup() and __pneigh_lookup() as __pneigh_lookup_1(). Signed-off-by: YOSHIFUJI Hideaki commit 0a204500f913974b4ca9b6f509a43e1544239c6d Author: YOSHIFUJI Hideaki Date: Mon Mar 24 18:39:10 2008 +0900 [NET] NEIGHBOUR: Make each EXPORT_SYMBOL{,_GPL}() immediately follow its function/variable. Signed-off-by: YOSHIFUJI Hideaki commit ada397e93d6002021f5bf4ba060aa4ecd5dea3e5 Author: Gerhard Stenzel Date: Fri Mar 28 14:18:30 2008 +1100 [POWERPC] spufs: fix incorrect file descriptors in SPU coredump note names At present, ppu-gdb can't trace spu infomation with coredump generated by the kernel. While the core dumps notes have correct contents, they have the wrong names, as the file descriptors used to generate the note names are off-by-one. An application that opens a SPE context as fd 3, the current core dump code will generate notes like: SPU/4/mem SPU/4/regs etc. This confuses GDB, which knows it is looking for SPE context 3 (from parsing the spu_context_run system call arguments), and cannot find any notes that match context 3. This change corrects the file descriptor counting, to only increment the fd until after we've written the note name. Signed-off-by: Gerhard Stenzel Signed-off-by: Jeremy Kerr commit 36d29edb6dded938bf07f741a0bb0f2a7116e617 Author: Jeremy Kerr Date: Thu Mar 27 14:59:58 2008 +1100 [POWERPC] spufs: save MFC command channel before purging MFC queue During the context save process, we currently save the MFC command channel after purging the MFC queues. This causes a systemsim warning, as the command channel may be in an unknown state after the purge. This change does the save before purging the MFC queues. Signed-off-by: Jeremy Kerr commit 4eb5aef583aab29dc125b6c2feb0b31f2e350c45 Author: Jeremy Kerr Date: Tue Mar 25 13:32:03 2008 +1100 [POWERPC] spufs: reacquire LS pointer in spu_process_callback During spu_process callback, we release then acquire the SPU, but keep a pointer to the local store memory. Since the context may have been scheduled out during the callback, the ls pointer may become invalid. This change reacquires the pointer to the context local store after spu_acquire()-ing, so that it isn't invalidated by a context switch. Signed-off-by: Jeremy Kerr commit af8b44e01b4e5a94cb665f6b958f5a5bc4025b0e Author: Jeremy Kerr Date: Tue Mar 25 13:15:11 2008 +1100 [POWERPC] spufs: add newline to signal{1,2}_type files All of the single-value files in spufs are terminated by a newline, except for signal1_type and signal2_type. This change adds a trailing newline to these two files. Signed-off-by: Jeremy Kerr commit 8e8e43843ba3ced0c657cbc0fdb10644ec60f772 Merge: ed85f2c... 50fd440... Author: David S. Miller Date: Thu Mar 27 18:48:56 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/usb/rndis_host.c drivers/net/wireless/b43/dma.c net/ipv6/ndisc.c commit ed85f2c3b2b72bd20f617ac749f5c22be8d0f66e Merge: bc09dff... e5225b3... Author: David S. Miller Date: Thu Mar 27 18:01:13 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.26 commit bc09dff198e67a98a82c42000006b39f6d502031 Author: Ilpo Järvinen Date: Thu Mar 27 17:54:29 2008 -0700 [SCTP]: Remove sctp_add_cmd_sf wrapper bloat With a was number of callsites sctp_add_cmd_sf wrapper bloats kernel by some amount. Due to unlikely tracking allyesconfig, with the initial result were around ~7kB (thus caught my attention) while a non-debug config produced only ~2.3kB effect. I (ij) proposed first a patch to uninline it but Vlad responded with a patch that removed the only sctp_add_cmd call which is wrapped by sctp_add_cmd_sf (I wasn't sure if I could do that). I did minor cleanup to Vlad's patch. Signed-off-by: Ilpo Järvinen Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 419ae74ecc9494e58928a5c6652f4c072f3ca744 Author: Ilpo Järvinen Date: Thu Mar 27 17:54:01 2008 -0700 [NET]: uninline skb_trim, de-bloats Allyesconfig (v2.6.24-mm1): -10976 209 funcs, 123 +, 11099 -, diff: -10976 --- skb_trim Without number of debug related CONFIGs (v2.6.25-rc2-mm1): -7360 192 funcs, 131 +, 7491 -, diff: -7360 --- skb_trim skb_trim | +42 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 8d3308687f7f1eaa1bb5d202d14752d5f90068eb Author: Ilpo Järvinen Date: Thu Mar 27 17:53:31 2008 -0700 [NET]: uninline dst_release Codiff stats (allyesconfig, v2.6.24-mm1): -16420 187 funcs, 103 +, 16523 -, diff: -16420 --- dst_release Without number of debug related CONFIGs (v2.6.25-rc2-mm1): -7257 186 funcs, 70 +, 7327 -, diff: -7257 --- dst_release dst_release | +40 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c2aa270ad73d385bd6cdebf5d741bdf18a3e17ad Author: Ilpo Järvinen Date: Thu Mar 27 17:52:40 2008 -0700 [NET]: uninline skb_push, de-bloats a lot Allyesconfig (v2.6.24-mm1): -21593 356 funcs, 2418 +, 24011 -, diff: -21593 --- skb_push Without many debug related CONFIGs (v2.6.25-rc2-mm1): -13890 341 funcs, 189 +, 14079 -, diff: -13890 --- skb_push skb_push | +46 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f58518e678e5eef430c8d5cdcc7cd28d285f1980 Author: Ilpo Järvinen Date: Thu Mar 27 17:51:31 2008 -0700 [NET]: uninline dev_alloc_skb, de-bloats a lot Allyesconfig (v2.6.24-mm1): -23668 392 funcs, 104 +, 23772 -, diff: -23668 --- dev_alloc_skb Without many debug CONFIGs (v2.6.25-rc2-mm1): -12178 382 funcs, 157 +, 12335 -, diff: -12178 --- dev_alloc_skb dev_alloc_skb | +37 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 6be8ac2fdc5e69dec53913a42312a92dbfbd4907 Author: Ilpo Järvinen Date: Thu Mar 27 17:47:24 2008 -0700 [NET]: uninline skb_pull, de-bloats a lot Allyesconfig (v2.6.24-mm1): -28162 354 funcs, 3005 +, 31167 -, diff: -28162 --- skb_pull Without number of debug related CONFIGs (v2.6.25-rc2-mm1): -9697 338 funcs, 221 +, 9918 -, diff: -9697 --- skb_pull skb_pull | +44 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 0dde3e16485dca16eb682dd59da1a598bf62e284 Author: Ilpo Järvinen Date: Thu Mar 27 17:43:41 2008 -0700 [NET]: uninline skb_put, de-bloats a lot Allyesconfig (v2.6.24-mm1): ~500 files changed ... 869 funcs, 198 +, 111003 -, diff: -110805 --- skb_put skb_put | +104 Without number of debug related CONFIGs (v2.6.25-rc2-mm1): -60744 855 funcs, 861 +, 61605 -, diff: -60744 --- skb_put skb_put | +57 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4f95165d4bf6369d57052d60cc0266c569c6b077 Author: Rami Rosen Date: Thu Mar 27 17:39:19 2008 -0700 [IPV6]: Remove three unused method declarations in include/net/ipv6.h This patch removes three unused method declarations in include/net/ipv6.h: inet_getfrag_t(), ipv6_build_nfrag_opts() and ipv6_build_frag_opts(). Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 09382bac667821017144de6b733a26f29a1c185b Author: Denis V. Lunev Date: Thu Mar 27 16:53:37 2008 -0700 [PKT_SCHED]: Pass real namespace in net scheduler classifiers. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 2d38f9a4f8d2ebdc799f03eecf82345825495711 Author: Denis V. Lunev Date: Thu Mar 27 14:26:30 2008 -0700 [NETNS]: Do no include NET related headers if CONFIG_NET is not set. This fix broken compilation for 'allnoconfig'. This was introduced by Introduced by commit 1218854afa6f659be90b748cf1bc7badee954a35 ("[NET] NETNS: Omit seq_net_private->net without CONFIG_NET_NS.") Signed-off-by: Denis V. Lunev Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 0e5f8be1388093edc324a78ebf241170b258eba3 Author: Denis V. Lunev Date: Thu Mar 27 14:25:53 2008 -0700 [NETNS]: Compile NET /proc support only if CONFIG_NET is set. This fix broken compilation for 'allnoconfig'. This was introduced by Introduced by commit 1218854afa6f659be90b748cf1bc7badee954a35 ("[NET] NETNS: Omit seq_net_private->net without CONFIG_NET_NS.") Signed-off-by: Denis V. Lunev Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit e5225b397308f9eea86327293b73dc88068e0179 Author: Holger Schurig Date: Wed Mar 26 10:04:44 2008 +0100 libertas: reduce debug output This patch tries to make dmesg logs between different runs easier to compare by * removing the jiffies (use CONFIG_PRINTK_TIME if you need timing) * remove the line numbers, they change with each applied patch It also changes the deprecated __FUNCTION__ to __func__ to make checkpatch.pl happy. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 056cdd599d004e36de64c925b8a13f6676451360 Author: Johannes Berg Date: Wed Mar 26 23:21:47 2008 +0100 mac80211: reorder fields to make some structures smaller This patch reorders some fields in various structures to have less padding within the structures, making them smaller. It doesn't yet make any type adjustments, but often size_t is used for example for IE lengths which is total overkill since size_t will be 8 bytes long on 64-bit yet the length can at most fill a u8. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8dd62822ddbf6a9314e9b92a3816c04490c91293 Author: John W. Linville Date: Wed Mar 26 15:21:33 2008 -0400 prism54: correct thinko in "prism54: Convert stats_sem in a mutex" mutex_trylock has different return code semantics than down_trylock... Signed-off-by: John W. Linville commit cee24a3e580f1062c8bb8b1692b95014d882bc7d Author: Ron Rindjunsky Date: Wed Mar 26 20:36:03 2008 +0200 mac80211: A-MPDU MLME use dynamic allocation This patch alters the A-MPDU MLME in sta_info to use dynamic allocation, thus drastically improving memory usage - from a constant ~2 Kbyte in the previous (static) allocation to a lower limit of ~200 Byte and an upper limit of ~2 Kbyte. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 6c507cd0400cb51dd2ee251c1b8756b9375a1128 Author: Johannes Berg Date: Wed Mar 26 14:14:55 2008 +0100 cfg80211: don't export ieee80211_get_channel This patch makes ieee80211_get_channel a static inline defined in cfg80211's header file which simply calls __ieee80211_get_channel to avoid symbol clashes with the ieee80211 code. The problem was pointed out by David Miller, thanks! Signed-off-by: Johannes Berg Cc: David Miller Signed-off-by: John W. Linville commit 7d5796118353cd45e9e301fdf3ff99fdec5390e9 Author: Holger Schurig Date: Wed Mar 26 13:26:55 2008 +0100 libertas: the compact flash driver is no longer experimental Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 62436138c83f221943c1f5d9cff41305d3d26ac4 Author: Holger Schurig Date: Wed Mar 26 09:57:45 2008 +0100 libertas: remove CMD_802_11_PWR_CFG This has nowhere been used. Note: in the firmware manual this was documented as CMD_802_11_PA_CFG. If we ever need it, we can/should re-implement it as a direct command. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit c2b310a73b62f074b0019b940417cafbdbafde41 Author: Holger Schurig Date: Wed Mar 26 09:57:14 2008 +0100 libertas: kill useless #define LBS_MONITOR_OFF 0 Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 69dc5d9da5c499c23db7b80217023403da103816 Author: Tomas Winkler Date: Tue Mar 25 16:33:41 2008 -0700 iwlwifi: iwl_priv - clean up in types of members This patch fix types of is_open and iw_mode members of iwl_priv sturct Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0472f887e0689fff2dce82c01d40698432965b5a Author: Emmanuel Grumbach Date: Tue Mar 25 16:33:40 2008 -0700 iwlwifi: allow a default callback for ASYNC host commands This patch provides a default callback for ASYNC host commands instead of calling to BUG_ON. Most of the callbacks are now just empty functions Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 24709182754625829e499b5d628affa881d1dba0 Author: Ron Rindjunsky Date: Tue Mar 25 16:33:39 2008 -0700 mac80211: fix wrong Rx A-MPDU control via debugfs This patch eliminate the use of buf_size as a trigger in favor of a new flag to control Rx A-MPDU sessions through debugfs Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 775ea378fa04f39164f170f308ec467ee4ab6d34 Author: Tomas Winkler Date: Tue Mar 25 16:33:38 2008 -0700 iwlwifi: improve NIC i/o debug prints information This patch gives the function's caller name in case NIC access reference count was not used by it. Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 3395f6e9cf48469d7ee05703cad1502002741c16 Author: Tomas Winkler Date: Tue Mar 25 16:33:37 2008 -0700 iwlwifi: rename iwl-4965-io.h to iwl-io.h This patch renames iwl-4965-io.h back to iw-io.h it also remove 4965 from all functions it supplies Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ab53d8af6772b22d4d68b1bcd74f7a5dba693983 Author: Mohamed Abbas Date: Tue Mar 25 16:33:36 2008 -0700 iwlwifi: Add led support This patch add LEDS support to 3965 and 4965 drivers. It is based on led trigger and class. For our drivers we needed to avoid two things. 1- We receive led trigger on/off on each Rx\Tx frame. In our driver we can not call led command like that. In this driver once driver receive a start of traffic it call the led command to start blinking then we count all bytes of Tx and Rx frame, after two second we count the blink rate of last two second then id blink rate changed we call the led commands 2- Since we can call led command very often, we make sure we call the led command after we receive the statistics notification so we don't need to wake up the ucode id it is in sleep state. This patch was tested with 4965 and 3945. Signed-off-by: Mohamed Abbas Signed-off-by: Ian Schram Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit e0e0a67e44ce13e34f553b6ab6377560fa9813f1 Author: John W. Linville Date: Tue Mar 25 15:58:40 2008 -0400 iwlwifi: do not register bands with no supported channels Otherwise, b/g-only devices fail in wiphy_register. Signed-off-by: John W. Linville commit be892471c42f70e47541e42b8dba7ff91cebd026 Author: John W. Linville Date: Tue Mar 25 11:43:15 2008 -0400 mac80211: silently accept deletion of non-existant key Otherwise, 'iwconfig wlan0 key off' with no key set results in: Error for wireless request "Set Encode" (8B2A) : SET failed on device wlan0 ; No such file or directory. Signed-off-by: John W. Linville commit 9dd0b194bf6804b1998f0fe261b2606ec7b58d72 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:41 2008 -0400 Orion: orion -> orion5x rename Do a global s/orion/orion5x/ of the Orion 5x-specific bits (i.e. not the plat-orion bits.) Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Saeed Bishara Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 159ffb3a04f6bc619643af680df406faafd0199d Author: Lennert Buytenhek Date: Thu Mar 27 14:51:41 2008 -0400 Orion: general cleanup Various Orion cleanups: - Unify GPL license banner format across all files. - Unify naming of .h double inclusion guard preprocessor macros. - Unify spelling of "PCIe" (variants seen: PCIE, PCIe, PCI-EX.) - Various typo fixes. - Remove __init attributes from prototypes declared in headers. - Remove trailing comments from #endif statements. - Mark a couple of locally-used-only structs static. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit d50c60a87a95a42f1bc984150d3eebc77a0b0c14 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:41 2008 -0400 Orion: enable access to local config space This patch enables access to the local PCIe/PCI configuration space, and is necessary for such things as PCI Advanced Error Recovery to work. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit a99842704a031ac23d4f7344e412a44bb3beb3b3 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:41 2008 -0400 Orion: add __init attribute to all boot time-only functions Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 1419468ab548f990b172740d77b5c1032a790114 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:41 2008 -0400 Orion: only map peripheral register space once Save some TLB entries by making ioremap() return pointers into the boot-time Orion peripheral iotable mapping whenever someone tries to ioremap any part of the Orion peripheral register space. Signed-off-by: Lennert Buytenhek Reviewed-by: Nicolas Pitre Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit b590bc5cd0ced1019f02ca7c9b8594482304987f Author: Lennert Buytenhek Date: Thu Mar 27 14:51:41 2008 -0400 Orion: move I/O macros out of orion.h Move the Orion register accessor macros out of orion.h, to prevent them from ending up in the decompressor image (Orion uncompress.h includes orion.h.) Move them into io.h, which seems a better place for this kind of stuff. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit da14d88e90d476b315e5e9c3e3ffa940cb670c6d Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 Orion: describe physical address map Include a table describing our physical address map in orion.h. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 98f79d1ea0459b907f95846bad5e967a06b7a0d5 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 Orion: revamp cpu mbus window handling Instead of forcing all device bus window setup through one function with some enum as the first argument, create separate window setup functions for each of the four possible targets, and do the demux internally. This allows getting rid of the window identifier enum and the big switch statement in orion_setup_cpu_win(). Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 5d4294c524fc53746b5ec138d2e90f9d34d754b0 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 plat-orion: make orion_nand available for all Orion families Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 8791ed3295950b06a0edd8aea1d0717f66f3e5cf Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 plat-orion: make i2c-mv64xxx available for all Orion families Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 83aac8a338520573104127b5180f46c11e9f02e7 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 plat-orion: make mv643xx_eth available for all Orion families Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 705a752162768fed3e2c26fba5bffdd3a3bd04f2 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 plat-orion: make ehci-orion available for all Orion families Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 2bac1de2031aa4cad88a437d4410ec289da4f7dc Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 plat-orion: share time handling code Split off Orion time handling code into plat-orion/. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit abc0197d7a74e51a1581ce9971d7c2c0f2adadaf Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 plat-orion: share PCIe handling code Split off Orion PCIe handling code into plat-orion/. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 01eb569823792ab83b2810fcb31fa38560b08951 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 plat-orion: share IRQ handling code Split off Orion IRQ handling code into plat-orion/, and add support for multiple sets of (32) interrupts. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 69b02f6a9639af89c099d06d5f2c4c66a1b03ebf Author: Lennert Buytenhek Date: Thu Mar 27 14:51:39 2008 -0400 plat-orion: introduce Create arch/arm/plat-orion/, for peripherals shared between various Marvell Orion SoCs. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 15a32632d94011911497052a96cdbf3b905b325d Author: Lennert Buytenhek Date: Thu Mar 27 14:51:39 2008 -0400 sata_mv: mbus decode window support Make it possible to pass mbus_dram_target_info to the sata_mv driver via the platform data, make the sata_mv driver program the window registers based on this data if it is passed in, and make the Orion platform setup code use this method instead of programming the SATA mbus window registers by hand. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 92aecfa95523384923b52c8ddaf948fc02a53e82 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:39 2008 -0400 ehci-orion: mbus decode window support Make it possible to pass mbus_dram_target_info to the ehci-orion driver via the platform data, make the ehci-orion driver program the window registers based on this data if it is passed in, and make the Orion platform setup code use this method instead of programming the EHCI mbus window registers by hand. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 1f2223b12b62a97d66e39199db50ed3fae9222c0 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:39 2008 -0400 Orion: make PCIe/PCI support use mbus DRAM info Make the Orion PCIe/PCI code initialise MBUS decode windows based on mbus_dram_target_info instead of reading the info from the Orion DDR unit decode registers directly, and move the window code with the other PCI code, where it can be called as part of the generic PCIe/PCI init process. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 83b6d822e4237052371e771b1f994823615a5341 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:39 2008 -0400 Orion: initialise mbus DRAM target info on boot Initialise orion_mbus_dram_info on boot, and prepare for passing this info into peripheral drivers. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit abc848c182960118fbb7cdae397b5608c5bcef1b Author: Lennert Buytenhek Date: Thu Mar 27 14:51:39 2008 -0400 introduce mbus DRAM target info abstraction Introduce struct mbus_dram_target_info, which will be used for passing information about the mbus target ID of the DDR unit, and mbus target attribute, base address and size for each of the DRAM chip selects from the platform code to peripheral drivers. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 5983a3dff0036d7ef6a2139473564f4f3e7b2a11 Author: Benjamin Thery Date: Wed Mar 26 16:53:30 2008 -0700 [NETNS][IPV6] flowlabels - make proc per namespace Make /proc/net/ip6_flowlabel show only flow labels belonging to the current network namespace. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 60e8fbc4c53d3ef0cbffa393a9e7b77e2a1bae58 Author: Benjamin Thery Date: Wed Mar 26 16:53:08 2008 -0700 [NETNS][IPV6] flowlabels - make flowlabels per namespace This patch introduces a new member, fl_net, in struct ip6_flowlabel. This allows to create labels with the same value in different namespaces. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 6ab57e7e7fa316552d0f94eaebf1def1d49f18da Author: Daniel Lezcano Date: Wed Mar 26 16:52:32 2008 -0700 [NETNS][IPV6] anycast - handle several network namespace Make use of the network namespace information to have this protocol to handle several network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit a233352506be35aafd49c0ba8c88ca96ebde1c3d Author: Pavel Emelyanov Date: Wed Mar 26 16:49:40 2008 -0700 [IPV6]: Fix potential net leak and oops in ipv6 routing code. The commits f3db4851 ([NETNS][IPV6] ip6_fib - fib6_clean_all handle several network namespaces) and 69ddb805 ([NETNS][IPV6] route6 - Make proc entry /proc/net/rt6_stats per namespace) made some proc files per net. Both of them introduced potential OOPS - get_proc_net can return NULL, but this check is lost - and a struct net leak - in case single_open() fails the previously got net is not put. Kill all these bugs with one patch. Signed-off-by: Pavel Emelyanov Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 9b674e82b73a61844967b32e1b4ecaf8eb9d1805 Author: Allan Stephens Date: Wed Mar 26 16:48:21 2008 -0700 [TIPC]: Cosmetic cleanup of TIPC polling logic This patch eliminates an unnecessary poll-related routine by merging it into TIPC's main polling routine, and updates the comments associated with this code. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 67727184f28c38d06013c6659560bb046c1d9f9c Author: Pavel Emelyanov Date: Wed Mar 26 16:27:22 2008 -0700 [VLAN]: Reduce memory consumed by vlan_groups Currently each vlan_groupd contains 8 pointers on arrays with 512 pointers on struct net_device each :) Such a construction "in many cases ... wastes memory". My proposal is to allow for some of these arrays pointers be NULL, meaning that there are no devices in it. When a new device is added to the vlan_group, the appropriate array is allocated. The check in vlan_group_get_device's is safe, since the pointer vg->vlan_devices_arrays[x] can only switch from NULL to not-NULL. The vlan_group_prealloc_vid() is guarded with rtnl lock and is also safe. I've checked (I hope that) all the places, that use these arrays and found, that the register_vlan_dev is the only place, that can put a vlan device on an empty vlan_group. Rough calculations shows, that after the patch a setup with a single vlan dev (or up to 512 vlans with sequential vids) will occupy approximately 8 times less memory. The question I have is - does this patch makes sense, or a totally new structures are required to store the vlan_devs? Signed-off-by: Pavel Emelyanov Signed-off-by: Patrick McHardy commit c34002c102880bfac5b449b41e5313dcda186db8 Author: Dan Williams Date: Wed Mar 26 19:12:38 2008 -0700 iop: unconditionally initialize the ATU on platforms known to be 'hosts' Platforms like iq80321 and iq80331 which may be host-bus-adapters require 'iop3xx_init_atu=y' to be specified on the kernel command line. Signed-off-by: Dan Williams commit 97c46048ce73c27fd2734299f07a8c06c8156a2e Author: Russell King Date: Wed Mar 26 18:46:42 2008 -0700 iop: Program outbound windows using the correct definitions The outbound translate registers should be programmed with the bus addresses that are defined in the header files, rather than the physical address. Currently it doesn't matter because they're identical, but the headers currently allow them to be different, and not using the right macros here means that people are in for a surprise if they change them. Cc: Lennert Buytenhek Acked-by: Dan Williams Signed-off-by: Russell King commit 27eedbf557f511efbe5651fa2fbfa0e4e8315ab7 Author: Russell King Date: Wed Mar 26 18:44:58 2008 -0700 iop: when scanning PCI bus, translate the PCI addresses according to the outbound window settings ... otherwise we end up trying to access peripherals using wrong PCI addresses. Cc: Lennert Buytenhek Acked-by: Dan Williams Signed-off-by: Russell King commit c3a1c9c75b986e5a2c5d878ef0700a1ca6bb895a Author: Russell King Date: Wed Mar 26 18:42:10 2008 -0700 iop: Make IOP ATU window debug readable Make the inbound and outbound memory windows debugging meaningful to those who don't know what the register names for the ATU mean. IOW, use plain english rather than register jargon. Cc: Lennert Buytenhek Acked-by: Dan Williams Signed-off-by: Russell King commit ee0a3f564e5b45792ae26fd3a2f8daf98c30ff45 Author: Alexandr Smirnov Date: Thu Mar 6 18:14:51 2008 +0300 [POWERPC] 85xx: Emerson KSI8560 device tree Add device tree file for Emerson KSI8560 board. Signed-off-by: Alexandr Smirnov Signed-off-by: Kumar Gala commit 65848f7a0d9cf8787d5d72fca2863108766d73ad Author: Alexandr Smirnov Date: Tue Mar 4 19:36:52 2008 +0300 [POWERPC] 85xx: Emerson KSI8560 default config Add default config for Emerson KSI8560 board. Signed-off-by: Alexandr Smirnov Signed-off-by: Kumar Gala commit ff880112afbc05b478cb5b4fa58ad160004193f4 Author: Alexandr Smirnov Date: Tue Mar 4 19:34:26 2008 +0300 [POWERPC] 85xx: Emerson KSI8560 bootwrapper Add boot wrapper for Emerson KSI8560 board. Signed-off-by: Alexandr Smirnov Signed-off-by: Kumar Gala commit 22b619eee525371a65d1386e5d6439b26d9b024c Author: Alexandr Smirnov Date: Thu Mar 6 18:17:16 2008 +0300 [POWERPC] 85xx: Emerson KSI8560 base support The KSI8560 is a single compact, mid-, or full-size Advanced Mezzanine Card (AdvancedMC™) based on the Freescale™ Semiconductor MPC8560 PowerQUICC III™ microprocessor. This product will serve in data and signaling applications such as signaling gateways (SGW) and softswitch signaling interface cards. The board has altera maxii CPLD, that is used to obtain and manage board configuration. Also there are two SCC UART serial consoles and FCC ethernet, that is routed to the front panel, while other ethernet controlers (TSEC's) are routed to the backplane. Signed-off-by: Alexandr Smirnov Signed-off-by: Kumar Gala commit 99d8be052e248e09abf51d4a656717259bf9b930 Author: Stefan Roese Date: Wed Mar 26 22:42:55 2008 +1100 [POWERPC] 4xx: Add L2 cache node to AMCC Taishan dts file This patch adds the L2 cache node to the Taishan 440GX dts file. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 2a7069190e7a7f19bd37e8c08e2bf02c8d6330f7 Author: Stefan Roese Date: Wed Mar 26 22:39:50 2008 +1100 [POWERPC] 4xx: Add PPC4xx L2-cache support (440GX) This patch adds support for the 256k L2 cache found on some IBM/AMCC 4xx PPC's. It introduces a common 4xx SoC file (sysdev/ppc4xx_soc.c) which currently "only" adds the L2 cache init code. Other common 4xx stuff can be added later here. The L2 cache handling code is a copy of Eugene's code in arch/ppc with small modifications. Tested on AMCC Taishan 440GX. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 145692a734cffa9c3c6f4523d015516406ce21eb Author: Stefan Roese Date: Thu Mar 20 21:33:39 2008 +1100 [POWERPC] 4xx: Add "amcc, haleakala" to the toplevel compatible property Currently Haleakala uses the Kilauea platform code. This patch adds "haleakala" to the compatible property, in case later kernel versions will introduce a Haleakala platform code. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit c06cf7dad6626f2ea3c2ebaabc0f7f7d71792481 Author: Stefan Roese Date: Thu Mar 20 17:34:24 2008 +1100 [POWERPC] 4xx: Add AMCC Glacier 460GT eval board dts The patch adds the Glacier dts. The Glacier is nearly identical to the Canyonlands (460EX). Here the differences: - 4 ethernet ports instead of 2 - no SATA port - no USB port Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit ac646734490b83afad3e058edeb6600d3666553b Author: Stephen Neuendorffer Date: Tue Mar 18 04:36:32 2008 +1100 [POWERPC] Xilinx: hwicap: Use fixed device major. Major 259 has been assigned by lanana. Use it. Also, publish /dev/icap[0-k] as the device entries, and register platform devices named 'icap' to be consistent. Signed-off-by: Stephen Neuendorffer Acked-by: Grant Likely Signed-off-by: Josh Boyer commit 4c58f8fe2e84ba76a4bef01cbd987b5ce62771c3 Author: Stephen Neuendorffer Date: Tue Mar 18 04:36:31 2008 +1100 [POWERPC] Xilinx: hwicap: Verify sync before reading idcode. It appears that in some cases, the sync word might not be recognized by the hardware correctly. If this happens, then attempting to read from the port results in an unrecoverable error because of the design of the FPGA core. This patch updates the code to check the status of the device before reading the IDCODE, in order to avoid entering this unrecoverable state. This patch also adds additional NOOP commands into the sychronization sequence, which appears to be necessary to avoid the condition on some hardware. Signed-off-by: Stephen Neuendorffer Acked-by: Grant Likely Signed-off-by: Josh Boyer commit 6b06fdbaf9eb9f208a83540265a6a82bf1049a41 Author: Stephen Neuendorffer Date: Tue Mar 18 04:36:30 2008 +1100 [POWERPC] Xilinx: hwicap: Refactor status handling code. Both the buffer-based and fifo-based icap cores have a status register. Previously, this was only used internally to check whether transactions have completed. However, the status can be useful to the main driver as well. This patch exposes these status functions to the main driver along with some masks for the differnet bits. Signed-off-by: Stephen Neuendorffer Acked-by: Grant Likely Signed-off-by: Josh Boyer commit 783142635156b05f2e425852deb8ab71e9e1882a Author: Stefan Roese Date: Fri Mar 14 03:00:03 2008 +1100 [POWERPC] 4xx: Add TAH support to taishan dts This patch adds TAH (TCP/IP Acceleration Hardware) support to the taishan 440GX dts. It depends on the NEWEMAC/tah patch that adds the compatible "ibm,tah" property to the matching table. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 6e42b21bb91a562cd843a156586fe7b5954f58b3 Author: Valentine Barshak Date: Fri Mar 7 01:34:52 2008 +1100 [POWERPC] 4xx: Use dcri_clrset() for PCIe indirect dcr read/modify/write access Use dcri_clrset() for PCIe SDR0 read/modify/write access. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 266d028acb615e1766c3fb9530c9e86de8476a33 Author: Valentine Barshak Date: Thu Mar 6 05:38:04 2008 +1100 [POWERPC] 4xx: Add dcri_clrset() for locked read/modify/write functionality This adds dcri_clrset() macro which does read/modify/write on indirect dcr registers while holding indirect dcr lock. Signed-off-by: Valentine Barshak Acked-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit d0a48c9f4c4582a966ce6426c1bf8ef1e37e63ee Author: Josh Boyer Date: Thu Mar 6 21:15:52 2008 -0600 [POWERPC] 4xx: Add bootwrapper for AMCC Yosemite board Add the cuboot wrapper for the AMCC 440EP Yosemite board Signed-off-by: Josh Boyer commit ed70854a4f45d089bd8ef2e8476dbed6287b2ff7 Author: Josh Boyer Date: Thu Mar 6 21:15:42 2008 -0600 [POWERPC] 4xx: Add platform support for the AMCC Yosemite board The AMCC 440EP Yosemite board is very similar to the original AMCC Bamboo board. This adds a YOSEMITE option to Kconfig, and reuses the existing bamboo board support in the kernel. Signed-off-by: Josh Boyer commit fd0ed740a128efef84f33a70d24834dea684cba3 Author: Josh Boyer Date: Thu Mar 6 21:15:07 2008 -0600 [POWERPC] 4xx: Add AMCC 440EP Yosemite DTS This adds a DTS file for the AMCC 440EP Yosemite board. Signed-off-by: Josh Boyer commit 1d60f0fcda0bacadc4ceb3afdae39ce3ba1f31db Author: Stefan Roese Date: Sun Feb 24 08:08:17 2008 +1100 [POWERPC] 4xx: Add Canyonlands defconfig file Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 66b7e504c0e66c568b1759882884b8e1cfb307bd Author: Stefan Roese Date: Sun Feb 24 08:08:27 2008 +1100 [POWERPC] 4xx: Add 460EX PCIe support to 4xx pci driver All this code is needed to properly initialize the 460EX PCIe host bridge(s). We re-initialize all ports again, even though this has been done in the bootloader (U-Boot) before. This way we make sure, that we always run the latest init code in Linux and don't depend on code versions from U-Boot. Unfortunately all IBM/AMCC chips currently supported in this PCIe driver need a different reset-/init-sequence. Tested on AMCC Canyonlands eval board. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 8bc4a51d28b760b40b21217c7d613777cfeeb3b0 Author: Stefan Roese Date: Sat Mar 1 03:25:29 2008 +1100 [POWERPC] 4xx: Add Canyonlands DTS This dts source file for the AMCC 460EX Canyonlands evalutaion board Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 66e4b3341d722d464fea627f7c0b7273d4f2912b Author: Stefan Roese Date: Sun Feb 24 08:07:52 2008 +1100 [POWERPC] 4xx: Add AMCC Canyonlands 460EX eval board support to platforms/44x Canyonlands is the AMCC 460EX eval board, featuring nearly all of the 460EX interfaces: - 1 * PCI (max 66MHz), 2 * PCIe (one 4-lane, one 1-lane) - 2 * GBit Ethernet with TCP/IP acceleration - USB 2.0 Host/Device OTG and Host interface - SATA port Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 464076a4b328946528998513c4ef799fd60de588 Author: Stefan Roese Date: Sun Feb 24 08:07:41 2008 +1100 [POWERPC] 4xx: Add AMCC 460EX/460GT support to cputable.c & cpu_setup_44x.S This patch adds basic support for the AMCC 460EX/460GT PPC's to arch/powerpc. Currently those PPC's are still based on a 440 core and *not* a 460 core. Here some basic features of those SoC's: 460EX: - Up to 1.2GHz, 32kB L1 I-cache and D-cache, 256kB L2-cache, FPU - 1 * PCI (max 66MHz), 2 * PCIe (one 4-lane, one 1-lane) - 2 * GBit Ethernet with TCP/IP acceleration - USB 2.0 Host/Device OTG and Host interface - SATA controller - Optional security feature 460GT (only changes to 460EX): - 4 * GBit Ethernet with TCP/IP acceleration - RapidIO - No SATA - No USB Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit ecc6cd73b7ccfa10c1f07d017fc7f62fe78eaab5 Author: David Gibson Date: Tue Feb 26 11:43:20 2008 +1100 [POWERPC] Start removing linux,network-index in favour of aliases This patch alters the bootwrapper for a number of machines (roubhly all 4xx based cuboot or treeboot platforms) to use aliases instead of the linux,network-index hack to work out which MAC address to attach to which ethernet device node. The now obsolete linux,network-index properties are removed from the corresponding device trees. This won't break backwards compatiblity, because in cases where this fixup code is relevant, the device tree is part of the kernel image. The references to linux,network-index are removed from booting-without-of.txt. Not only is it now deprecated, but as a hack applicable only when the device tree blob and fixup code were in the same image, this property never belonged in booting-without-of.txt which describes the interface between the kernel and firmware or bootloaders which produce a device tree. By the time the device tree reaches the kernel, all the MAC addresses must be fully filled in. Signed-off-by: David Gibson Signed-off-by: Josh Boyer commit 789e41e6f496022ac1639aaae38ea1943606a9d0 Author: Pavel Emelyanov Date: Wed Mar 26 02:19:25 2008 -0700 [NETNS][ICMP]: Build fix for NET_NS=n case (dev->nd_net is omitted). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b34a95ee6e05579faff2672d7d30356576407653 Author: Pavel Emelyanov Date: Wed Mar 26 02:00:21 2008 -0700 [NETNS][ICMP]: Use per-net sysctls in ipv4/icmp.c. This mostly re-uses the net, used in icmp netnsization patches from Denis. After this ICMP sysctls are completely virtualized. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 68528f09980a60c8df046d16336333cac4fc0c32 Author: Pavel Emelyanov Date: Wed Mar 26 01:56:24 2008 -0700 [NETNS][ICMP]: Make ctl tables for ICMP sysctls per-net. Add some flesh to ipv4_sysctl_init_net and ipv4_sysctl_exit_net, i.e. copy the table, alter .data pointers and register it per-net. Other ipv4_table's sysctls are now global, but this is going to change once sysctl permissions patches migrate from -mm tree to mainline in 2.6.26 merge window :) Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit a24022e1887978decaa28fb11d1ddff63e31497f Author: Pavel Emelyanov Date: Wed Mar 26 01:55:37 2008 -0700 [NETNS][ICMP]: Move ICMP sysctls on struct net. Initialization is moved to icmp_sk_init, all the places, that refer to them use init_net for now. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 1577519d6b3777d2d3ba05871dd7ee40112c58ce Author: Pavel Emelyanov Date: Wed Mar 26 01:54:18 2008 -0700 [NETNS][ICMP]: Register pernet subsys to make ICMP sysctls per-net. This includes adding pernet_operations, empty init and exit hooks and a bit of changes in sysctl_ipv4_init just not to have this part in next patches. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f5aa23fd49063745f85644dd7a9330acd706add6 Author: Denis V. Lunev Date: Wed Mar 26 00:48:17 2008 -0700 [NETNS]: Compilation warnings under CONFIG_NET_NS. Recent commits from YOSHIFUJI Hideaki have been introduced a several compilation warnings 'assignment discards qualifiers from pointer target type' due to extra const modifier in the inline call parameters of {dev|sock|twsk}_net_set. Drop it. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 9c2f5746b9cd536f0007709196d85a7e7d0070fa Author: Denis V. Lunev Date: Wed Mar 26 00:47:14 2008 -0700 [NETNS]: Compilation fix for include/linux/netdevice.h. Commit commit c346dca10840a874240c78efe3f39acf4312a1f2 ([NET] NETNS: Omit net_device->nd_net without CONFIG_NET_NS) breaks compilation with CONFIG_NET_NS set. Fix the typo. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 14eabf70c82cade5dbc71d2e913d533193a91785 Merge: f49e1aa... 2f44891... Author: David S. Miller Date: Tue Mar 25 23:11:25 2008 -0700 Merge branch 'upstream-net26' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 2f4489112896770d66dc2960f71174d69ee23004 Author: Andy Fleming Date: Mon Mar 24 10:53:28 2008 -0500 gianfar: Fix Rx/Tx HW interrupt coalescing counter reset procedure. - Fix Rx/Tx HW interrupt coalescing counter reset logic. Disabling is required before resetting the counter. - Update the Default both Rx and Tx coalescing timer threshold. Formerly 4 is set which is equal to 1.5 frame at the line rate of 1GbE interface, and it doesn't match to the coalescing frame count which is set to 16. Threashold 21 is matched to frame count 16. Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit 99da5003a5b085c12d996da1010e276e9b88672f Author: Andy Fleming Date: Mon Mar 24 10:53:27 2008 -0500 gianfar: Only process completed frames If the LAST bit is not set in the RxBD, it's possible we're processing an incomplete frame, which is bad. While we're at it, add a constant for the error bitmask, so the whole if-clause fits on one line, and is more legible. Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit faa89577621b4296a8869e75b90a546c951df968 Author: Dai Haruki Date: Mon Mar 24 10:53:26 2008 -0500 gianfar: Fix frame size calculation when hardware VLAN acceleration is on In gfar_change_mtu(), the frame size needs to be increased to account for the extra 4 bytes VLAN adds to the ethernet header. However, it was being increased by the length of the whole header (18 bytes), which is wrong. Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit a3cb96a13cf74b3e5bb4ecca0c39df1022539059 Author: Dai Haruki Date: Mon Mar 24 10:53:29 2008 -0500 gianfar: Fix the data buffer stashing amount - Buffer stashing parameter change to 96 from 64 in order to cover the Layer 4 header. Signed-off-by: Dai Haruki Signed-off-by: Jeff Garzik commit 1119d577ccfeb727e3f26f07e612d6f2a9c349e7 Author: Pavel Emelyanov Date: Mon Feb 18 13:55:10 2008 +0300 Use single_open instead of manual manipulations. The code opening proc entry for each device makes the same thing, as the single_open does, so remove the unneeded code. Signed-off-by: Pavel Emelyanov Signed-off-by: Jeff Garzik commit 57bb7e222804c68066e3e995dffbedda5b1ec1ea Author: Anton Vorontsov Date: Tue Mar 4 19:41:32 2008 +0300 phy/broadcom: add support for BCM5481 PHY This patch adds support for BCM5481 PHY. Unfortunately it's hard to get specifications for this PHY, so its special register 0x18 isn't annotated properly (but we know it's used to set up the delays). I've kept the magic numbers, so we'll not forget to fix it at the first opportunity, and will name that register and its bits correctly. p.s. also fixed the line with broken indention, introduced by commit 03157ac31eb4a8883382a212b161d2e6c5059fbf PHYLIB: Add BCM5482 PHY support Signed-off-by: Anton Vorontsov Signed-off-by: Jeff Garzik commit b39b5a2bc339d8ea04fde2e343bcb4c8f38df692 Author: Marcin Slusarz Date: Tue Mar 4 15:19:20 2008 -0800 qla3xxx: convert byte order of constant instead of variable Convert byte order of constant instead of variable which can be done at compile time (vs run time) Signed-off-by: Marcin Slusarz Acked-by: Ron Mercer Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 7a6d84c1b26fd8a1deb28a4bbed672959f7f26ae Author: Julia Lawall Date: Tue Mar 4 15:19:19 2008 -0800 drivers/net/mv643xx_eth.c: Use FIELD_SIZEOF Robert P.J. Day proposed to use the macro FIELD_SIZEOF in replace of code that matches its definition. The modification was made using the following semantic patch (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ type t; identifier f; @@ - (sizeof(((t*)0)->f)) + FIELD_SIZEOF(t, f) @depends on haskernel@ type t; identifier f; @@ - sizeof(((t*)0)->f) + FIELD_SIZEOF(t, f) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit ef11291bcd5f963c72e7ba5952be3e3c97463d2c Author: Florian Fainelli Date: Wed Mar 19 17:14:51 2008 +0100 Add support the Korina (IDT RC32434) Ethernet MAC This patch adds support for the IDT rc32434 Ethernet MAC we can find in the IDT boards and the Mikrotik RB500. Driver references some code from the linux-mips RB500 support. Signed-off-by: Florian Fainelli Signed-off-by: Felix Fietkau Signed-off-by: Philip Rischel Signed-off-by: Jeff Garzik commit bfebbb88eca12a01fff1fbee2b8e1a4e932b799b Author: Daniel Drake Date: Tue Mar 18 11:07:18 2008 +0000 forcedeth: Use round_jiffies for stats timer This timer doesn't need to run at precise times, so round it to a whole second to decrease wakeups. Signed-off-by: Daniel Drake Signed-off-by: Jeff Garzik commit 3459feb8fc0e2a6d3fe5c6eb8c05cdab2c04871c Author: Al Viro Date: Sun Mar 16 22:23:14 2008 +0000 s2io annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 3b86301f1217553a80a0ff59a601b0fa3f257b8d Author: Al Viro Date: Sun Mar 16 22:43:06 2008 +0000 endianness annotations: rndis Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit fa3a6cb4a6feacd712ca58fd1c6e99b33fde5d5d Author: Al Viro Date: Sun Mar 16 22:22:54 2008 +0000 annotate cxgb3 (ab)uses of skb->priority/skb->csum Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 2f220e305b23ab277aa0f91e2a65978f5cc1a785 Author: Al Viro Date: Sun Mar 16 22:22:24 2008 +0000 skfp annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit eca1ad82bda0293339e1f8439dc9c8dba25ff088 Author: Al Viro Date: Sun Mar 16 22:21:54 2008 +0000 misc drivers/net annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 05bd831fcdf4ce08ae5b832cfe03a303245fb135 Author: Al Viro Date: Wed Mar 19 09:44:39 2008 +0000 ni52: more unbreaking missed read*/write* plus a bunch of wrong-sized ones... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 176f65f3efb55723518d018c8020867f44d05147 Author: Al Viro Date: Wed Mar 19 09:44:29 2008 +0000 ni52: switch to ioremap() isa_bus_to_virt() is the wrong thing to do here; it happens to work on i386, but only by accident. What we want is normal ioremap/readb/etc. set - it's all in iomem. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 76af5699a359c3683f1c94444826d78be8d42513 Author: Al Viro Date: Wed Mar 19 09:44:19 2008 +0000 ni52: clean up check586() take iscp-based testing into helper, kill the loop, stop wanking with reassignments of priv->iscp Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 7f8cfd560875fd643024c02ea25d4f3b8f1fd31c Author: Al Viro Date: Wed Mar 19 09:44:09 2008 +0000 ni52: clean up initialization of priv * initialize spinlock once * check586() used to be done before we'd allocated ->priv; these days it's there from the very beginning, so we don't have to play with private copy. Consequently, we don't need to mess with reinitializing ->base, etc. afterwards. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit e06ee2bb03f936c57265e447bc05e8324db61207 Author: Al Viro Date: Wed Mar 19 09:43:59 2008 +0000 ni52: make ->base char __iomem * ... and store the virt address where we map the ->mem_addr, while we are at it. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit de5971462fe27885290d8c95d9446a8b6d012448 Author: Al Viro Date: Wed Mar 19 09:43:49 2008 +0000 ni52: kill the second argument of check586(), get rid of bogus pointer Passing ISA bus address explicitly cast to char * only to cast it back to unsigned long is dumb; so's passing it at all when it's always dev->mem_start... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 725aa4a9abc5d391ce36387e01c5b3c90a9f5516 Author: Al Viro Date: Wed Mar 19 09:43:39 2008 +0000 ni52: unbreak scp_struct unsigned short != u8, it's u16... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 2d76c267e90aafef72df1318b49cb8f43a59ac94 Author: Al Viro Date: Wed Mar 19 09:43:29 2008 +0000 ni52 trivial iomem annotations Driver is still broken, though; partially from Alan's checkpatch-induced fun, partially from layers of ancient mess ;-) By the end of the series... hell, might be even worth trying to stick such card into old alpha or ppc with an ISA slot and see if it work - would be for the first time ever in case of alpha and for the first time since at least 2.5.3 in case of ppc... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 9c61a9dcb26dc1db9912c11568b98f89b635adfd Author: Jesse Brandeburg Date: Fri Mar 21 11:07:03 2008 -0700 ixgb: remove irq_sem ixgb can remove irq_sem by auditing all the call sites to make sure that each of them makes sure the adapter is in the correct state before re-enabling interrupts. after doing this to all of our other drivers it is becoming easier. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 9150b76a6439b60e678ccb6376ee3686a2f76767 Author: Jesse Brandeburg Date: Fri Mar 21 11:06:58 2008 -0700 e1000: remove irq_sem irq_sem was just a hack to prevent interrupts from being enabled unexpectedly in deep call paths. Simply finding those call paths and fixing them by hand results in a driver that behaves as we expect and doesn't need the atomic at all. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 74ef9c39db952355ed379f28b8907bae8ff1abe9 Author: Jesse Brandeburg Date: Fri Mar 21 11:06:52 2008 -0700 e1000e: remove irq_sem irq_sem can safely be removed by auditing all irq.*able sites to make sure that interrupts don't get enabled unexpectedly when the interface is down. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 67d204a532c6fa76041440069e1b00d5b0b8d42c Author: Auke Kok Date: Fri Mar 21 11:06:47 2008 -0700 e1000e: remove no longer used e1000e_read_nvm_spi This function is no longer used now that 82573 uses the eerd read method as well. Thanks to Adrian Bunk for pointing this out. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit a9340b86f0c9d788e24a5117d5650c6776a363af Author: Auke Kok Date: Fri Mar 21 11:06:42 2008 -0700 ixgb: move externs out of .c files Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 446490ca44dcc8a1a9f3c082809bdab208626891 Author: Joe Perches Date: Fri Mar 21 11:06:37 2008 -0700 ixgb: convert boolean_t to bool > send me a patch for e1000 and for ixgb and I'll happily apply those :) boolean_t to bool TRUE to true FALSE to false Signed-off-by: Joe Perches Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit bab2bce7dcea9aaf9374b6c24001d6afcced4ca5 Author: Jesse Brandeburg Date: Fri Mar 21 11:06:32 2008 -0700 ixgb: add explicit state checking In order to remove the irq_sem code we need to implement strict adapter state checking to prevent accidental double up or downs or resets. This code is largely copied from e1000/e1000e. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit c3033b01d763aff572080db09ddcebed115b9cf5 Author: Joe Perches Date: Fri Mar 21 11:06:25 2008 -0700 e1000: Convert boolean_t to bool On Thu, 2008-03-06 at 10:07 -0800, Kok, Auke wrote: > send me a patch for e1000 and for ixgb and I'll happily apply those :) boolean_t to bool TRUE to true FALSE to false comment typo ahread to ahead Signed-off-by: Joe Perches Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit f49e1aa133c2c9b74b5dfddca8863609bbda9086 Author: Patrick McHardy Date: Tue Mar 25 20:27:05 2008 -0700 [NETFILTER]: nf_conntrack_sip: update copyright Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c7f485abd618e0d249bdd1abdc586bd10fee1954 Author: Patrick McHardy Date: Tue Mar 25 20:26:43 2008 -0700 [NETFILTER]: nf_conntrack_sip: RTP routing optimization Optimize call routing between NATed endpoints: when an external registrar sends a media description that contains an existing RTP expectation from a different SNATed connection, the gatekeeper is trying to route the call directly between the two endpoints. We assume both endpoints can reach each other directly and "un-NAT" the addresses, which makes the media stream go between the two endpoints directly. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0d0ab0378d67517a4f4ae3497706c13d9dd24af1 Author: Patrick McHardy Date: Tue Mar 25 20:26:24 2008 -0700 [NETFILTER]: nf_conntrack_sip: support multiple media channels Add support for multiple media channels and use it to create expectations for video streams when present. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4ab9e64e5e3c0516577818804aaf13a630d67bc9 Author: Patrick McHardy Date: Tue Mar 25 20:26:08 2008 -0700 [NETFILTER]: nf_nat_sip: split up SDP mangling The SDP connection addresses may be contained in the payload multiple times (in the session description and/or once per media description), currently only the session description is properly updated. Split up SDP mangling so the function setting up expectations only updates the media port, update connection addresses from media descriptions while parsing them and at the end update the session description when the final addresses are known. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a9c1d35917c0c95c8f95a8e497fb91e301419693 Author: Patrick McHardy Date: Tue Mar 25 20:25:49 2008 -0700 [NETFILTER]: nf_conntrack_sip: create RTCP expectations Create expectations for the RTCP connections in addition to RTP connections. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d901a9369e6e7d07a7eb4ddb315c6fcbaf8b24d3 Author: Patrick McHardy Date: Tue Mar 25 20:25:32 2008 -0700 [NETFILTER]: nf_conntrack_sip: allow media expectations with wildcard source address Media streams can come from anywhere, add a module parameter which controls whether wildcard expectations or expectations between the two signalling endpoints are created. Since the same media description sent on multiple connections may results in multiple identical expections when using a wildcard source, we need to check whether a similar expectation already exists for a different connection before attempting to register it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0f32a40fc91a9ebbbf66e826ac2a829ab37d9cf8 Author: Patrick McHardy Date: Tue Mar 25 20:25:13 2008 -0700 [NETFILTER]: nf_conntrack_sip: create signalling expectations Create expectations for incoming signalling connections when seeing a REGISTER request. This is needed when the registrar uses a different source port number for signalling messages and for receiving incoming calls from other endpoints than the registrar. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c978cd3a937141deaf7995b849824af6dacdeae7 Author: Patrick McHardy Date: Tue Mar 25 20:24:57 2008 -0700 [NETFILTER]: nf_nat_sip: translate all Contact headers The SIP message may contain multiple Contact: addresses referring to the NATed endpoint, translate all of them. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 720ac7085ce815ea4caec24396575fed7bd711aa Author: Patrick McHardy Date: Tue Mar 25 20:24:41 2008 -0700 [NETFILTER]: nf_nat_sip: translate all Via headers Update maddr=, received= and rport= Via-header parameters refering to the signalling connection. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2bbb21168a90c788e12fe722eb66f27e611e7df7 Author: Patrick McHardy Date: Tue Mar 25 20:24:24 2008 -0700 [NETFILTER]: nf_conntrack_sip: introduce URI and header parameter parsing helpers Introduce URI and header parameter parsing helpers. These are needed by the conntrack helper to parse expiration values in Contact: header parameters and by the NAT helper to properly update the Via-header rport=, received= and maddr= parameters. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9467ee380ae881443bc259fbbac9992baf523e2d Author: Patrick McHardy Date: Tue Mar 25 20:24:04 2008 -0700 [NETFILTER]: nf_conntrack_sip: flush expectations on call termination Flush the RTP expectations we've created when a call is hung up or terminated otherwise. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 595a8ecb5fa41295a7010678b60cb2f7ab15fe42 Author: Patrick McHardy Date: Tue Mar 25 20:22:53 2008 -0700 [NETFILTER]: nf_conntrack_sip: process ACK and PRACK methods Both may contains SDP offers/answers. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 33cb1e9a93312f0cdd34e0be2bc88e893ff96a33 Author: Patrick McHardy Date: Tue Mar 25 20:22:37 2008 -0700 [NETFILTER]: nf_conntrack_sip: perform NAT after parsing Perform NAT last after parsing the packet. This makes no difference currently, but is needed when dealing with registrations to make sure we seen the unNATed addresses. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 30f33e6dee80c6ded917f978e4f377d1069d519d Author: Patrick McHardy Date: Tue Mar 25 20:22:20 2008 -0700 [NETFILTER]: nf_conntrack_sip: support method specific request/response handling Add support for per-method request/response handlers and perform SDP parsing for INVITE/UPDATE requests and for all informational and successful responses. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7d3dd043b69b10f5abe9c785ab82cc6627898fcd Author: Patrick McHardy Date: Tue Mar 25 20:19:46 2008 -0700 [NETFILTER]: nf_conntrack_sip: move SDP parsing to seperate function Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 624f8b7bba98c27a1464f5f858c4a861d5d3e8d7 Author: Patrick McHardy Date: Tue Mar 25 20:19:30 2008 -0700 [NETFILTER]: nf_nat_sip: get rid of text based header translation Use the URI parsing helper to get the numerical addresses and get rid of the text based header translation. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 05e3ced297fe755093140e7487e292fb7603316e Author: Patrick McHardy Date: Tue Mar 25 20:19:13 2008 -0700 [NETFILTER]: nf_conntrack_sip: introduce SIP-URI parsing helper Introduce a helper function to parse a SIP-URI in a header value, optionally iterating through all headers of this kind. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ea45f12a2766dae54e5426a23e8f4bafdbe2782e Author: Patrick McHardy Date: Tue Mar 25 20:18:57 2008 -0700 [NETFILTER]: nf_conntrack_sip: parse SIP headers properly Introduce new function for SIP header parsing that properly deals with continuation lines and whitespace in headers and use it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ac3677406d4e36e86b1eb5a453997a3b3e0c089a Author: Patrick McHardy Date: Tue Mar 25 20:18:40 2008 -0700 [NETFILTER]: nf_conntrack_sip: kill request URI "header" definitions The request URI is not a header and needs to be treated differently than real SIP headers. Add a seperate function for parsing it and get rid of the POS_REQ_URI/POS_REG_REQ_URI definitions. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3e9b4600b4e71beaa9d943251bfe9c25f6a97b8c Author: Patrick McHardy Date: Tue Mar 25 20:17:55 2008 -0700 [NETFILTER]: nf_conntrack_sip: add seperate SDP header parsing function SDP and SIP headers are quite different, SIP can have continuation lines, leading and trailing whitespace after the colon and is mostly case-insensitive while SDP headers always begin on a new line and are followed by an equal sign and the value, without any whitespace. Introduce new SDP header parsing function and convert all users that used the SIP header parsing function. This will allow to properly deal with the special SIP cases in the SIP header parsing function later. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 779382eb324ad0c39f8c4d10a47a813b490ab82c Author: Patrick McHardy Date: Tue Mar 25 20:17:36 2008 -0700 [NETFILTER]: nf_conntrack_sip: use strlen/strcmp Replace sizeof/memcmp by strlen/strcmp. Use case-insensitive comparison for SIP methods and the SIP/2.0 string, as specified in RFC 3261. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 212440a7d04a12ee13787afecc6c86c7fc4e6184 Author: Patrick McHardy Date: Tue Mar 25 20:17:13 2008 -0700 [NETFILTER]: nf_conntrack_sip: remove redundant function arguments The conntrack reference and ctinfo can be derived from the packet. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2a6cfb22ae002330d445f734668d9158db9e90de Author: Patrick McHardy Date: Tue Mar 25 20:16:54 2008 -0700 [NETFILTER]: nf_conntrack_sip: adjust dptr and datalen after packet mangling After mangling the packet, the pointer to the data and the length of the data portion may change and need to be adjusted. Use double data pointers and a pointer to the length everywhere and add a helper function to the NAT helper for performing the adjustments. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b1ec488b1fb3c7a8819857e3506787516ca1ed4d Author: Patrick McHardy Date: Tue Mar 25 20:10:11 2008 -0700 [NETFILTER]: nf_conntrack_sip: fix some off-by-ones "limit" marks the first character outside the bounds. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3d244121d88cd9b0baa12c25ff25561e7b4f71cd Author: Patrick McHardy Date: Tue Mar 25 20:09:51 2008 -0700 [NETFILTER]: nf_nat_sip: fix NAT setup order We need to set up the destination NAT mapping before the source NAT mapping, so the NAT core gets to see the final tuple and can decide whether the source port needs to be remapped. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b8beedd25d3913d45b8330a08ab88fdf90eb54b8 Author: Patrick McHardy Date: Tue Mar 25 20:09:33 2008 -0700 [NETFILTER]: Add nf_inet_addr_cmp() Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6002f266b3e7f0acc2d5158cddbed41730b02e82 Author: Patrick McHardy Date: Tue Mar 25 20:09:15 2008 -0700 [NETFILTER]: nf_conntrack: introduce expectation classes and policies Introduce expectation classes and policies. An expectation class is used to distinguish different types of expectations by the same helper (for example audio/video/t.120). The expectation policy is used to hold the maximum number of expectations and the initial timeout for each class. The individual classes are isolated from each other, which means that for example an audio expectation will only evict other audio expectations. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 359b9ab614aba71c2c3bc047efbd6d12dd4a2b9e Author: Patrick McHardy Date: Tue Mar 25 20:08:37 2008 -0700 [NETFILTER]: nf_conntrack_expect: support inactive expectations This is useful for the SIP helper and signalling expectations. We don't want to create a full-blown expectation with a wildcard as source based on a single UDP packet, but need to know the final port anyways. With inactive expectations we can register the expectation and reserve the tuple, but wait for confirmation from the registrar before activating it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4bb119eab7b724109d8eeb0f8d86ed1e4953d338 Author: Patrick McHardy Date: Tue Mar 25 20:08:17 2008 -0700 [NETFILTER]: nf_conntrack_expect: show NF_CT_EXPECT_PERMANENT flag in /proc Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1d9d752259ab2e16b99f84b7e7bd4a30c884c289 Author: Patrick McHardy Date: Tue Mar 25 20:07:58 2008 -0700 [NETFILTER]: nf_conntrack_expect: constify nf_ct_expect_init arguments Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ef27559b70bd5312dfcbeab3b9ab0296206413c4 Author: Patrick McHardy Date: Tue Mar 25 20:07:38 2008 -0700 [NETFILTER]: nf_conntrack: fix NF_CT_TUPLE_DUMP for IPv4 NF_CT_TUPLE_DUMP prints IPv4 addresses as IPv6, fix this and use printk (guarded by #ifdef DEBUG) directly instead of pr_debug since the tuple is usually printed at the end of line and we don't want to include a log-level. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 30c69fed7d94c5c330a47fcc4833627644c19a5b Author: Patrick McHardy Date: Tue Mar 25 20:06:59 2008 -0700 [NETFILTER]: ipt_CLUSTERIP: fix non-existant macro-name With nf_conntrack DUMP_TUPLE got renamed to NF_CT_DUMP_TUPLE, fix CLUSTERIP to use the proper macro name. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dfe98e9214ced45cd1a6ecd19f2627819a630f77 Merge: f89e6e3... 878628f... Author: David S. Miller Date: Tue Mar 25 19:43:59 2008 -0700 Merge branch 'net-2.6.26-netns-20080326' of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-dev commit f89e6e3834035c6e8203042f3527931aa7f52496 Merge: 7cbca67... 3a643d2... Author: David S. Miller Date: Tue Mar 25 17:20:03 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.26 commit 54f53f2b94feb72622bec7a8563fc487d9f97720 Merge: f61fb8a... a4083c9... Author: Paul Mackerras Date: Wed Mar 26 08:44:18 2008 +1100 Merge branch 'linux-2.6' commit f61fb8a52cdf8b9b6a6badde84aefe58cb35d315 Author: Nathan Lynch Date: Mon Mar 24 09:51:45 2008 +1100 [POWERPC] scanlog_init cleanup and minor fixes scanlog_init() could use some love. * properly return -ENODEV if this system doesn't support scan-log-dump * don't printk if scan-log-dump not present; only older systems have it * convert from create_proc_entry() to preferred proc_create() * allocate zeroed data buffer * fix potential memory leak of ent->data on failed create_proc_entry() * simplify control flow Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 9356d90effa39c83c8fdba2a14cecec79959d4d0 Author: Robert P. J. Day Date: Sun Mar 23 06:05:43 2008 +1100 [POWERPC] Move a.out.h to header-y since it doesn't check __KERNEL__ Since a.out.h doesn't check the value of __KERNEL__, there's no point in unifdef'ing it. Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mackerras commit 7415d5e0bec6ecd79d2698ae9655b10be47d8aa8 Author: Manish Ahuja Date: Sat Mar 22 11:40:53 2008 +1100 [POWERPC] pseries: phyp dump: Inform kdump when phyp-dump is loaded This adds /sys/kernel/phyp_dump_active so that kdump init scripts may look for it and take appropriate action if this file is found. This file is only created when phyp_dump has been registered. Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit 654f596da4a83a8d2734fba26c2a1257533e6d75 Author: Manish Ahuja Date: Sat Mar 22 11:38:59 2008 +1100 [POWERPC] pseries: phyp dump: Disable phyp-dump through boot-var This adds a kernel command line option "phyp_dump", which takes a 0/1 value for disabling/ enabling phyp_dump at boot time. Kdump can use this on cmdline (phyp_dump=0) to disable phyp-dump during boot when enabling itself. This will ensure only one dumping mechanism is active at any given time. Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit 242f271c056f49b64b94c06b38fe9e8d3bf703bc Author: Manish Ahuja Date: Sat Mar 22 10:50:50 2008 +1100 [POWERPC] pseries: phyp dump: Add Kconfig file option Add hypervisor-assisted dump to kernel config. Signed-off-by: Linas Vepstas Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit fd35cff8d285c6ae30c66a70321ebbcd2a4615ec Author: Manish Ahuja Date: Sat Mar 22 10:47:04 2008 +1100 [POWERPC] pseries: phyp dump: Tracking memory range freed This tracks the size freed. For now it does a simple rudimentary calculation of the ranges freed. The idea is to keep it simple at the external shell script level and send in large chunks for now. Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit a9c508dae10a821dc95653178eec018abc90482e Author: Manish Ahuja Date: Sat Mar 22 10:45:22 2008 +1100 [POWERPC] pseries: phyp dump: Invalidate and print dump areas This adds routines to a. invalidate dump b. calculate region that is reserved and needs to be freed. This is exported through sysfs interface. Unregister has been removed for now as it wasn't being used. Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit 599c1aa54f06da4fd277982be0731e96f0791caa Author: Manish Ahuja Date: Sat Mar 22 10:44:05 2008 +1100 [POWERPC] pseries: phyp dump: Debugging print routines Provide some basic debugging support. Signed-off-by: Manish Ahuja Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 2c4f41139cc4ffc3ad12d7fdb8dd71dc36824a6e Author: Manish Ahuja Date: Sat Mar 22 10:43:15 2008 +1100 [POWERPC] pseries: phyp dump: Register dump area Set up the actual dump header, register it with the hypervisor. Signed-off-by: Manish Ahuja Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit d5a29c7a36958ddec1ae7ab685ce09a002356548 Author: Manish Ahuja Date: Sat Mar 22 10:39:17 2008 +1100 [POWERPC] pseries: phyp dump: Use sysfs to release reserved mem Check to see if there actually is data from a previously crashed kernel waiting. If so, allow user-space tools to grab the data (by reading /proc/kcore). When user-space finishes dumping a section, it must release that memory by writing to sysfs. For example, echo "0x40000000 0x10000000" > /sys/kernel/release_region will release 256MB starting at the 1GB. The released memory becomes free for general use. Signed-off-by: Linas Vepstas Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit 6ac26c8a7eb149dbd669cc6cd9b77ffc9cd0d2fb Author: Manish Ahuja Date: Sat Mar 22 10:37:08 2008 +1100 [POWERPC] pseries: phyp dump: Reserve and release memory Initial patch for reserving memory in early boot, and freeing it later. If the previous boot had ended with a crash, the reserved memory would contain a copy of the crashed kernel data. Signed-off-by: Manish Ahuja Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit d28a79326a4028dbb1755b8efe6daa915d8bfeea Author: Manish Ahuja Date: Sat Mar 22 10:33:10 2008 +1100 [POWERPC] pseries: phyp dump: Documentation Basic documentation for hypervisor-assisted dump. Signed-off-by: Linas Vepstas Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit 163dab39b5432761437ae59164ab351a8680ca4f Author: Roland McGrath Date: Thu Mar 20 08:07:51 2008 +1100 [POWERPC] powerpc32: Remove asm-offsets ptrace cruft These items in asm-offsets.c are not used anywhere. This removes them. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit 59861bc6ee475542c66f4b24b9f5b5148f1d4f0e Author: S.Çağlar Onur Date: Mon Mar 17 20:36:26 2008 +1100 [POWERPC] arch/powerpc/platforms/iseries/pci.c: Use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. This implements usage of the time_after() macro, defined at linux/jiffies.h, which deals with wrapping correctly. Signed-off-by: S.Çağlar Onur Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 96366a8d3f17ee964802378d4a1f51fda86f070e Author: Tony Breeds Date: Mon Mar 17 16:23:29 2008 +1100 [POWERPC] Update wait_state_cycles in the VPA The hypervisor can look at the value in the wait_state_cycles field of the VPA for an estimate of how busy dedicated processors are. Currently, as the kernel never touches this field, we appear to be 100% busy. This records the duration the kernel is in powersave and passes that to the HV to provide a reasonable indication of utilisation. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 71e91a0abb839f8d2372236d8fe0513c295ec717 Author: Roland McGrath Date: Mon Mar 17 16:01:20 2008 +1100 [POWERPC] Don't touch PT_DTRACE in exec The PT_DTRACE flag is meaningless and obsolete. Don't touch it. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit bceabd15050d8d0e3742af350f072a110510a2aa Author: Stephen Rothwell Date: Thu Mar 13 16:20:31 2008 +1100 [POWERPC] Really export empty_zero_page It was being protected by CONFIG_PPC32, but we want to export it on 64-bit also. This moves it out of the ifdef. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 4944774d7fc170ed9a3b15065da6986f2e9429db Author: Nathan Lynch Date: Thu Mar 13 10:43:05 2008 +1100 [POWERPC] maple: Enable ipr driver in defconfig Some machines supported by the maple platform have an Obsidian controller which can't be used without enabling CONFIG_IPR and the options on which it depends. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 1cd8f348beedf335ef0f1dc8073c05dfe9227d81 Author: Nathan Lynch Date: Thu Mar 13 10:43:04 2008 +1100 [POWERPC] maple: Kill fixup_maple_ide This function has been a no-op for about 18 months; it's there in the history should anyone need to resurrect it. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 53378c2845d93b09056bc7b4233a366798ae2450 Author: Nathan Lynch Date: Thu Mar 13 10:43:03 2008 +1100 [POWERPC] maple: Use platform name in define_machine() Prevailing practice for define_machine() in powerpc is to use the platform name when the platform has only one define_machine() statement, but maple uses "maple_md". This caused me some head-scratching when writing some new code that uses machine_is(maple). Use "maple" instead of "maple_md". There should not be any behavioral change -- fixup_maple_ide() calls machine_is(maple) but the body of the function is ifdef'd out. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 0276c1368f111b1fd75e6fe0bf4cd78a6903798f Author: Marian Balakowicz Date: Sat Nov 10 04:11:43 2007 +1100 [POWERPC] Add 'model: ...' line to common show_cpuinfo() Print out 'model' property of '/' node as a machine name in generic show_cpuinfo() routine. Signed-off-by: Marian Balakowicz Acked-by: David Gibson Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 3a643d244f09fa1fdd25d48a56a073c1a69583ee Author: Ivo van Doorn Date: Tue Mar 25 14:13:18 2008 +0100 rt2x00: Fix in_atomic() usage rt73usb and rt2500usb used in_atomic to determine if a configuration step should be rescheduled or not. Since in_atomic() is not a valid method to determine if sleeping is allowed we should fix the way this is handled by adding a new flag to rt2x00. In addition mark LED class support for the drivers broken since that also uses the broken in_atomic() method but so far no solution exists to have LED triggers work only in scheduled context. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 866a05038481d77cac6fc0186250b4c44e691b42 Author: Ivo van Doorn Date: Tue Mar 25 14:12:45 2008 +0100 rt2x00: Fix rate detection for invalid signals It has been observed on rt2500pci hardware that some frames received with signal 0x0C do not have the OFDM flag set. Signals can have 2 meanings: 1) The PLCP value 2) The bitrate * 10 For rt2500pci (1) is for frames received with a OFDM rate, and (2) is for frames received with a CCK rate. But 0x0C is a invalid bitrate value but is a valid PLCP value for 54Mbs (obvious OFDM rate). This means that it is possible that the hardware does not set the OFDM bit correctly under all circumstances. This results in rt2x00 failing to detect the rate and mac80211 triggering a WARN_ON() and dropping the frame. To bypass this, print a warning when such a frame is received, and reset the rate to the lowest supported rate for the current band. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 49d20fac21d5207f3930401d0198ac46ad990bff Author: Masakazu Mokuno Date: Tue Mar 25 16:21:08 2008 +0900 PS3: gelic: Add support for separate cipher selection From version 2.20 of the PS3 system software, the hypervisor allows the guest OSes to specify separate cipher for group and pairwise. Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit c01f9c6f1d5ceffda59a983c95338be45223d155 Author: Michael Buesch Date: Sun Mar 23 01:33:58 2008 +0100 b43: Don't compile N-PHY code when N-PHY is disabled There's no need to compile the N-PHY support code, when the N-PHY support is disabled in Kconfig. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 1ea8739648cfff4027c3db0f4cee5de87bfd3886 Author: Assaf Krauss Date: Tue Mar 18 14:57:50 2008 -0700 iwlwifi: Completing the parameter packaging This patch completes the changes regarding the packaging of user parameters. Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 83f7d57c37e83ab11009d58565e1010597b88db6 Author: Al Viro Date: Sun Mar 16 22:26:44 2008 +0000 ipw2200 annotations and fixes a) a bunch of printks in error-handling assums that ->status is big-endian. b) bitfields trouble c) missing annotations NB: a bunch of structs is declared packed for no good reason, AFAICS. Signed-off-by: Al Viro Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 19d30e02998ef1eb9f82a7d3ce9b4a97dba5aa13 Author: Ivo van Doorn Date: Sat Mar 15 21:38:07 2008 +0100 rt2x00: Add dev_flags to rx descriptor The rxdone_entry_desc structure contains 3 fields which are always 1 or 0. We can safe 8 bytes by replacing them with a single dev_flags fields which contain the flags for those settings. Additionally we can remove the OFDM flag since it is no longer used since the introduction of the SIGNAL_PLCP flag. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e2839d8f509451acf6b1f22787f25ce98383d94c Author: Vladimir Koutny Date: Tue Mar 18 21:14:07 2008 +0100 mac80211: configure default wmm params correctly Default WMM params have to be set according to beacon/probe response information prior to authentication (or IBSS start/join); beacon queue is configured only in IBSS. This does not affect the use of 'real' WMM params as reported by AP. Signed-off-by: Vladimir Koutny Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 675ef586f04e3a4566c9f437790a340711be5bd2 Author: Mohamed Abbas Date: Thu Mar 20 08:14:29 2008 -0700 mac80211: prevent tuning during scanning Postpone calling ieee80211_hw_config if hardware scanning is active. This is similar to solution for software scanning where channel setting is delayed until scan complete. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 85249e5fab13edb89258fa6d551cd4a3a4f0d569 Author: Ron Rindjunsky Date: Tue Mar 18 15:00:32 2008 -0700 mac80211: tear down of block ack sessions This patch adds a clean tear down for all block ack sessions if interface goes down or if a deauthentication is done. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 7b9d44cd6b393cb1032ce201307ae87e5677bfa7 Author: Ron Rindjunsky Date: Tue Mar 18 15:00:31 2008 -0700 mac80211: fixing debug prints for AddBA request This patch also fixes the Rx timer's comments Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 2e354ed7bec8a6fc9ecc71e908555af708583c30 Author: Ron Rindjunsky Date: Tue Mar 18 15:00:30 2008 -0700 mac80211: fixing delba debug print This patch fixes a wrong debug print when receiving delba Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit fab7d4a2b1d8ce47b69a133f6f9a203b0f12636e Author: Johannes Berg Date: Sun Mar 16 18:42:44 2008 +0100 mac80211: filter scan results on unusable channels When you have an AP on channel 13, it will currently often enough be listed in scan results even when the regulatory domain restricts to channels 1-11. This is due to channel overlap. To avoid getting very strange failures, don't show such APs in the scan results. The failure mode will now go from "I can see the AP but not associate" to "I can't see the AP although I know it's there" which is easier to debug. This problem was first really noticed by Jes Sorensen. Signed-off-by: Johannes Berg Cc: Jes Sorensen Signed-off-by: John W. Linville commit e048c6e4fdac9be0dbcb7e0c5d518737c867ef09 Author: Johannes Berg Date: Sun Mar 16 18:35:56 2008 +0100 mac80211: use ieee80211_get_channel Use the new ieee80211_get_channel() function instead of open-coding it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 906c730a2db950b7bce4ef17d65399acd791c360 Author: Johannes Berg Date: Sun Mar 16 18:34:33 2008 +0100 wireless: add wiphy channel freq to channel struct lookup helper Add ieee80211_get_channel() which gets you a channel struct for a specific wiphy if that channel is present in that wiphy. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 857485c0c46ceee5c658c1761bba4d9a5ddf433f Author: Tomas Winkler Date: Fri Mar 21 13:53:44 2008 -0700 iwlwifi: move host command sending functions to core module 1. Host command sending functions moved from iwl4965-base.c to iwl-hcmd.c in iwlcore module 2. enqueue_hcmd function currently stays in iwl4965-base.c. It is invoked through the new 'utils' field in priv's ops. Signed-off-by: Tomas Winkler Signed-off-by: Assaf Krauss Signed-off-by: John W. Linville commit 8622e7058a8764223ae2305d980a38d07f034717 Author: Assaf Krauss Date: Fri Mar 21 13:53:43 2008 -0700 iwlwifi: rename iwl4965_get_channel_info to iwl_get_channel_info iwl4965_get_channel_info was moved to iwlcore module 4965 needs to be stripped off Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 410e088d53e40c8133f6f666992859cd0dd21ff5 Author: Tomas Winkler Date: Fri Mar 21 13:53:42 2008 -0700 iwlwifi: iwl3945 remove 4965 commands This patch removes 4965 host commands from iwl-3945-commands.h Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ab885f8c45373dfaaa3ad251f38b4240c40b2eae Author: Emmanuel Grumbach Date: Thu Mar 20 15:06:43 2008 +0200 iwlwifi-2.6: enables RX TKIP decryption in HW This patch enables RX TKIP decryption in HW. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 2bc750899f2b1da010625d064ad46dc3a8e9a372 Author: Emmanuel Grumbach Date: Wed Mar 19 16:41:45 2008 -0700 iwlwifi-2.6: enables HW TKIP encryption This patch add support for TKIP encryption (TX) in HW. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 9ae4fda332df616ef47d5bb710c39681641d4303 Author: Emmanuel Grumbach Date: Thu Mar 20 15:06:42 2008 +0200 mac80211: allows driver to request a Phase 1 RX key This patch makes mac80211 able to send a phase1 key for TKIP decryption. This is needed for drivers that don't do the rekeying by themselves (i.e. iwlwifi). Upon IV16 wrap around, the packet is decrypted in SW, if decryption is ok, mac80211 calls to update_tkip_key with a new phase 1 RX key. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 5d2cdcd4e85c5187db30a6b29f79fbbe59f39f78 Author: Emmanuel Grumbach Date: Thu Mar 20 15:06:41 2008 +0200 mac80211: get a TKIP phase key from skb This patch makes mac80211 able to compute a TKIP key from an skb. The requested key can be a phase 1 or a phase 2 key. This is useful for drivers who need to provide tkip key to their HW to enable HW encryption. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 17e476b8db13790c03e2c46d93abc71468fca47e Author: Emmanuel Grumbach Date: Wed Mar 19 16:41:42 2008 -0700 iwlwifi-2.6: RX status translation to old scheme This patch adds translation for the RX status of an incoming packet. The incoming status has to be translated to the old scheme in order to know if the decryption has been done, MIC failure has occured, TTAK is valid etc... This translation is mandatory for all RX packets when using 5300 and for all HT packets using 4965. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit deb09c435e3f947f8b2c9d5df6a9c0a5b472b125 Author: Emmanuel Grumbach Date: Wed Mar 19 16:41:41 2008 -0700 iwlwifi-2.6: Cleans up set_key flow This patch cleans up the set_key flow. Rxon with hw encryption bit set is not sent upon each call to set_key. Separation is made between global key (WEP) and dynamic key (TKIP + CCMP and WEP in some cases). Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit bf85ea4fbecab278c63f02fd102b33cc6cb21eb9 Author: Assaf Krauss Date: Fri Mar 14 10:38:49 2008 -0700 iwlwifi: Probe Flow - Extracting hw and priv init 1. Extracting hw and priv initialization from probe function. 2. Moving some initialization functions to core module. Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 1d0a082d38decb62ceb3e26a4bb1a3ca78843a23 Author: Assaf Krauss Date: Fri Mar 14 10:38:48 2008 -0700 iwlwifi: Probe Flow - Performing allocation in a separate function Performing allocation in a separate function (previously handled in 'probe') Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 00acbc91354f7c548ce12a9ebb7fd25c4c3861ae Author: Assaf Krauss Date: Fri Mar 14 10:38:47 2008 -0700 iwlwifi: Packing all 4965 parameters This patch defines a package struct for iwlwifi parameters, and uses a single instance of this struct to group all iwl4965 module parameters together. Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 316c30d9dddc1bd5b586a6cf9808018746372cc9 Author: Assaf Krauss Date: Fri Mar 14 10:38:46 2008 -0700 iwlwifi: Re-ordering probe flow (4965) This patch re-orders the iwl4965_pci_probe function. Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 99f7d39bb020a06c98cd42641b6193b761f763ca Author: Reinette Chatre Date: Fri Mar 14 10:38:45 2008 -0700 iwlwifi: remove macros containing offsets from eeprom struct A user needing to access these fields can use offsetof() for access. The comments still contain the offset to assist with debugging. Signed-off-by: Reinette Chatre CC: Michael Buesch Signed-off-by: Assaf Krauss Signed-off-by: John W. Linville commit ff829ae01644c10722132a45981615be962c4a5c Author: Holger Schurig Date: Wed Mar 19 17:08:32 2008 +0100 libertas: store rssi as an u32 Don't store an (hardware base) u8 value in bss_descriptor, but just an unsigned int (RSSI is really unsigned). Compilers generate more efficent code for ints than for bytes. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit e98a88dd33b7188ce84533e128101dd9630ae592 Author: Holger Schurig Date: Wed Mar 19 14:25:58 2008 +0100 libertas: remove lots of unused stuff This removes many unused function parameters as well as some not-implemented functions, e.g. CMD_802_11_GET_STATS. The silly lbs_set_cmd_ctrl_node() function is now also gone. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit d4ff0ef635b222d5f66dad65e9364d702e5f94e0 Author: Holger Schurig Date: Wed Mar 19 14:25:18 2008 +0100 libertas: misc power saving adjusts * firmware for the CF card supports power saving * the driver currenly only accept "iwconfig ethX power on|off", so I fixed what the range wext ioctl reports. * initialize value/flags in lbs_get_power() * get rid of unused parameter psmode in lbs_ps_confirm_sleep() * some minor debug output tweaks Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit c49c3b77c8c611f562ca4e201d88d3e69465f928 Author: Holger Schurig Date: Mon Mar 17 12:45:58 2008 +0100 libertas: convert GET_LOG to a direct command Now uses __lbs_cmd() to get the "log" (it's actually more a snapshot of various counters, not a sequential log). Besides the "mechanical" convertion the patch add the following logical changes: * Removes the priv->logmsg variable, it was only used in one place anyway, also don't blindly get the counters when associating. Getting the counters then the user asks via WEXT for them is good enought. * don't set wstats.discard.fragment with log.rxfrag, because the latter is a counter for successfully received packets, not for fragmented packets. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit c97329e21fc487ebf251c920d46537ff5fb4d8a7 Author: Holger Schurig Date: Tue Mar 18 11:20:21 2008 +0100 libertas: fix scheduling while atomic bug in CMD_MAC_CONTROL The old code incorrectly used lbs_cmd_with_response() and now uses lbs_cmd_async(). While there I noticed that there is no real useful return values for asynchronous command functions, so I made the function "void". Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 8db4a2b986befabd2ad25c269e40444f06a6bda3 Author: Holger Schurig Date: Wed Mar 19 10:11:00 2008 +0100 libertas: make a handy lbs_cmd_async() command This uses a static lbs_cmd_async_callback function, which is a noop. Just setting the callback argument to __lbs_cmd_async() to NULL won't work, because then the cmdnode wouldn't be released. This also makes __lbs_cmd_async() a static method, which is now only used by lbs_cmd() and lbs_cmd_async(). Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 712b6cf57a53da608a682b5f782c5785bda76001 Author: Tomas Winkler Date: Wed Mar 12 16:58:52 2008 -0700 iwlwifi: Add debugfs to iwl core This patch adds debugfs support to iwl core currently only iwl4965 is supported Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 19758bef09abe9d2a14575ffb6f686947e97fcb1 Author: Tomas Winkler Date: Wed Mar 12 16:58:51 2008 -0700 iwlwifi: Add TX/RX statistcs to driver This patch supports collecting of TX and RX statistics in the driver. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c79dd5b5bc5a65822cdc9d571032c469ad7577d5 Author: Tomas Winkler Date: Wed Mar 12 16:58:50 2008 -0700 iwlwifi: rename struct iwl4965_priv to struct iwl_priv This patch renames iwl4965_priv to iwl_priv. iwl_priv will be shared by more hw. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0a6857e70d577237bb1cd1c991e68e7d3b6f7c90 Author: Tomas Winkler Date: Wed Mar 12 16:58:49 2008 -0700 iwlwifi: rename iwl-4965-debug.h back to iwl-debug.h This patch removes iwl-4965-debug.h to iwl-debug.h It will be used by more NICs Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8236e183fc53be2b5d81a4f547f9c5b645e10fe0 Author: Max Stepanov Date: Wed Mar 12 16:58:48 2008 -0700 iwlwifi: Bug fix, CCMP with HW encryption with AGG This patch fixes a bug in security. Enables CCMP HW encryption with aggregations. Signed-off-by: Max Stepanov Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 56ca84c61b667e23cdc6e5179df57b9baa0eddc3 Author: Holger Schurig Date: Wed Mar 12 17:06:09 2008 +0100 libertas: remove some unused commands Neither CMD_802_11_PAIRWISE_TSC nor CMD_802_11_GROUP_TSC is used or documented. It might have something to do with TKIP sequence counters, but that's just an educated guess. Remove all occurences of them. CMD_CODE_DNLD is also neither used nor documented. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit d9e9778c2ac5bac02fc118e9a2954e4c70f88eb6 Author: Holger Schurig Date: Wed Mar 12 16:06:43 2008 +0100 libertas: rename packetfilter to mac_control The CMD_MAC_CONTROL can be used for other things than just filtering packets, e.g. to enable and disable WMM. This uses the same term mac_control for the define, the function and the shadow value in struct lbs_private. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 835d3ac5e8cbe1fec2c02c7fc662586b30b1f5a8 Author: Holger Schurig Date: Wed Mar 12 16:05:40 2008 +0100 libertas: convert CMD_MAC_CONTROL to a direct command convert CMD_MAC_CONTROL to a direct command Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 878628fbf2589eb24357e42027d5f54b1dafd3c8 Author: YOSHIFUJI Hideaki Date: Wed Mar 26 03:57:35 2008 +0900 [NET] NETNS: Omit namespace comparision without CONFIG_NET_NS. Introduce an inline net_eq() to compare two namespaces. Without CONFIG_NET_NS, since no namespace other than &init_net exists, it is always 1. We do not need to convert 1) inline vs inline and 2) inline vs &init_net comparisons. Signed-off-by: YOSHIFUJI Hideaki commit 57da52c1e62c6c13875e97de6c69d3156f8416da Author: YOSHIFUJI Hideaki Date: Wed Mar 26 03:49:59 2008 +0900 [NET] NETNS: Omit neigh_parms->net and pneigh_entry->net without CONFIG_NET_NS. Introduce neigh_parms/pneigh_entry inlines: neigh_parms_net(), pneigh_net(). Without CONFIG_NET_NS, no namespace other than &init_net exists. Let's explicitly define them to help compiler optimizations. Signed-off-by: YOSHIFUJI Hideaki commit 1218854afa6f659be90b748cf1bc7badee954a35 Author: YOSHIFUJI Hideaki Date: Wed Mar 26 02:36:06 2008 +0900 [NET] NETNS: Omit seq_net_private->net without CONFIG_NET_NS. Without CONFIG_NET_NS, no namespace other than &init_net exists, no need to store net in seq_net_private. Signed-off-by: YOSHIFUJI Hideaki commit 3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9 Author: YOSHIFUJI Hideaki Date: Wed Mar 26 02:26:21 2008 +0900 [NET] NETNS: Omit sock->sk_net without CONFIG_NET_NS. Introduce per-sock inlines: sock_net(), sock_net_set() and per-inet_timewait_sock inlines: twsk_net(), twsk_net_set(). Without CONFIG_NET_NS, no namespace other than &init_net exists. Let's explicitly define them to help compiler optimizations. Signed-off-by: YOSHIFUJI Hideaki commit c346dca10840a874240c78efe3f39acf4312a1f2 Author: YOSHIFUJI Hideaki Date: Tue Mar 25 21:47:49 2008 +0900 [NET] NETNS: Omit net_device->nd_net without CONFIG_NET_NS. Introduce per-net_device inlines: dev_net(), dev_net_set(). Without CONFIG_NET_NS, no namespace other than &init_net exists. Let's explicitly define them to help compiler optimizations. Signed-off-by: YOSHIFUJI Hideaki commit 7cbca67c073263c179f605bdbbdc565ab29d801d Author: YOSHIFUJI Hideaki Date: Tue Mar 25 09:37:42 2008 +0900 [IPV6]: Support Source Address Selection API (RFC5014). Signed-off-by: YOSHIFUJI Hideaki commit 1d5d236d309ab90fa6aedf712f586b3595721373 Author: YOSHIFUJI Hideaki Date: Mon Mar 10 10:56:55 2008 -0400 [IPV6]: Use bitfields for hop_limit and mcast_hops. Save some bits for future extensions. Signed-off-by: YOSHIFUJI Hideaki commit 6b75d0908185bf853b188afa6f269426f6554c5b Author: YOSHIFUJI Hideaki Date: Mon Mar 10 06:00:30 2008 -0400 [IPV6]: Optimize hop-limit determination. Last part of hop-limit determination is always: hoplimit = dst_metric(dst, RTAX_HOPLIMIT); if (hoplimit < 0) hoplimit = ipv6_get_hoplimit(dst->dev). Let's consolidate it as ip6_dst_hoplimit(dst). Signed-off-by: YOSHIFUJI Hideaki commit 4725474584d6aa2f07b3d47442dfbc4f6544f65e Author: YOSHIFUJI Hideaki Date: Mon Mar 10 04:41:33 2008 -0400 [IPV6]: Convert cork.hop_limit and cork.tclass into u8 instead of int. Values of those fields are always between 0 and 255 (inclusive), so use u8 and save some memory on 32bit systems. Signed-off-by: YOSHIFUJI Hideaki commit c8cdaf998df221b01134a051aba38c570105061b Author: YOSHIFUJI Hideaki Date: Mon Mar 10 04:30:37 2008 -0400 [IPV4,IPV6]: Share cork.rt between IPv4 and IPv6. Signed-off-by: YOSHIFUJI Hideaki commit a9b05723ffa2e427b0257b81ea74363fcd7c304f Author: YOSHIFUJI Hideaki Date: Sun Mar 2 10:48:21 2008 +0900 [IPV6] ADDRCONF: Clean-up ipv6_dev_get_saddr(). old: | text data bss dec hex filename | 28599 1416 96 30111 759f net/ipv6/addrconf.o new: | text data bss dec hex filename | 28007 1416 96 29519 734f net/ipv6/addrconf.o Signed-off-by: YOSHIFUJI Hideaki commit 9bb182a7007515239091b237fe7169b1328a61d3 Author: YOSHIFUJI Hideaki Date: Fri Feb 22 14:48:22 2008 +0900 [XFRM] MIP6: Fix address keys for routing search. Each MIPv6 XFRM state (DSTOPT/RH2) holds either destination or source address to be mangled in the IPv6 header (that is "CoA"). On Inter-MN communication after both nodes binds each other, they use route optimized traffic two MIPv6 states applied, and both source and destination address in the IPv6 header are replaced by the states respectively. The packet format is correct, however, next-hop routing search are not. This patch fixes it by remembering address pairs for later states. Based on patch from Masahide NAKAMURA . Signed-off-by: Masahide NAKAMURA Signed-off-by: YOSHIFUJI Hideaki commit df8ea19b5d2e7512095bb1e0737513b8da196d64 Author: YOSHIFUJI Hideaki Date: Tue Feb 19 22:54:00 2008 +0900 [XFRM] IPV6: Optimize __xfrm_tunnel_alloc_spi(). | % size old/net/ipv6/xfrm6_tunnel.o new/net/ipv6/xfrm6_tunnel.o | text data bss dec hex filename | 1606 40 2080 3726 e8e old/net/ipv6/xfrm6_tunnel.o | 1574 40 2080 3694 e6e new/net/ipv6/xfrm6_tunnel.o Signed-off-by: YOSHIFUJI Hideaki commit a002c6fd714b1710aaf64e26db3f3f18bf8e8384 Author: YOSHIFUJI Hideaki Date: Tue Feb 19 17:24:33 2008 +0900 [XFRM] IPV6: Optimize xfrm6_input_addr(). | % size old/net/ipv6/xfrm6_input.o new/net/ipv6/xfrm6_input.o | text data bss dec hex filename | 1026 0 0 1026 402 old/net/ipv6/xfrm6_input.o | 947 0 0 947 3b3 new/net/ipv6/xfrm6_input.o Signed-off-by: YOSHIFUJI Hideaki commit 3b6cdf94cd6dd0b64cc8646cf067a1ae0203276d Author: YOSHIFUJI Hideaki Date: Tue Feb 19 10:15:27 2008 +0900 [XFRM] IPV6: Use distribution counting sort for xfrm_state/xfrm_tmpl chain. Signed-off-by: YOSHIFUJI Hideaki commit ce52ddf58cbc2c40f5f08d37d2217945e4d5adf3 Author: Alexey Starikovskiy Date: Mon Mar 24 23:22:36 2008 +0300 ACPI: EC: Don't delete boot EC Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 6d9e11206371be370b153264934378a29b6afe9b Author: Alexey Starikovskiy Date: Mon Mar 24 23:22:29 2008 +0300 ACPI: EC: Use default setup handler Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit fa95ba04e6ba11d71e1b87becd054b38faf546c8 Author: Alexey Starikovskiy Date: Fri Mar 21 19:36:02 2008 +0300 ACPI: EC: Detect irq storm Problem seems to be that hw fails to clear GPE after we service it and write 1 into corresponding bit. Thus, as soon as we get interrupts enabled again, we receive a new one. Google gives too many results for "acer interrupt storm" for this being one-broken-machine case. Reference: http://bugzilla.kernel.org/show_bug.cgi?id=9998 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 223883b7aafa02410ed2e571d6032c876d0b23b8 Author: Alexey Starikovskiy Date: Fri Mar 21 17:07:21 2008 +0300 ACPI: EC: Switch off GPE mode during suspend/resume Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit b77d81b2678950077088956da4638c26853389fc Author: Alexey Starikovskiy Date: Fri Mar 21 17:07:15 2008 +0300 ACPI: EC: Replace broken controller workarounds with poll mode. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit dc0e8490fe884a9378b8ee04a5b5f905f06f4633 Author: Alexey Starikovskiy Date: Fri Mar 21 17:07:09 2008 +0300 ACPI: EC: Improve debug output Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 845625cdcb17119d5f6c5c8dbe586f2f36e8008a Author: Alexey Starikovskiy Date: Fri Mar 21 17:07:03 2008 +0300 ACPI: EC: Add poll timer If we can not use interrupt mode of EC for some reason, start polling EC for events periodically. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit e6e82a3087e6dad619149246082c910623ea9c36 Author: Alexey Starikovskiy Date: Fri Mar 21 17:06:57 2008 +0300 ACPI: EC: Restore udelay in poll mode This fixes keyboard event handling on some systems. Note that this delay was thought unnecessary, and removed from linux-2.6.20 with 50c1e1138cb94f6aca0f8555777edbcefe0324e2 'ACPI: ec: Drop udelay() from poll mode. Loop by reading status field instead.' Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 92f1fecb45ef97acae94463302f79228a4b454d9 Author: Denis V. Lunev Date: Mon Mar 24 15:34:06 2008 -0700 [NETNS]: Enable TCP/UDP/ICMP inside namespace. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 2342fd7e146f05edeb13feb03490c13a1bdab2e0 Author: Denis V. Lunev Date: Mon Mar 24 15:33:42 2008 -0700 [NETNS]: Allow to create sockets in non-initial namespace. Allow to create sockets in the namespace if the protocol ok with this. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f145049a06f470d0489f47cb83ff3ccb2a0de622 Author: Denis V. Lunev Date: Mon Mar 24 15:33:00 2008 -0700 [NETNS]: Drop packets in the non-initial namespace on the per/protocol basis. IP layer now can handle multiple namespaces normally. So, process such packets normally and drop them only if the transport layer is not aware about namespaces. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 0be43f82c4f4c4a999b53cf794513f7f1a4ed7f3 Author: Denis V. Lunev Date: Mon Mar 24 15:32:09 2008 -0700 [NETNS]: Process netfilter hooks in initial namespace only. There were no packets in the namespace other than initial previously. This will be changed in the neareast future. Netfilters are not namespace aware and should be processed in the initial namespace only for now. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 05cf89d40c85e622dac20e44713168767be5c520 Author: Denis V. Lunev Date: Mon Mar 24 15:31:35 2008 -0700 [NETNS]: Process INET socket layer in the correct namespace. Replace all the reast of the init_net with a proper net on the socket layer. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit cb84663e4d239f23f0d872bc6463c272e74daad8 Author: Denis V. Lunev Date: Mon Mar 24 15:31:00 2008 -0700 [NETNS]: Process IP layer in the context of the correct namespace. Replace all the rest of the init_net with a proper net on the IP layer. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7a6adb92fe301c10ca4dbd0d9f2422f5880595e7 Author: Denis V. Lunev Date: Mon Mar 24 15:30:27 2008 -0700 [NETNS]: Add namespace parameter to ip_cmsg_send. Pass the init_net there for now. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f2c4802b3fdfb0d9596d932ca2af0ef6f8d60491 Author: Denis V. Lunev Date: Mon Mar 24 15:29:55 2008 -0700 [NETNS]: Add namespace parameter to ip_options_get(...). Pass the init_net there for now. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 0e6bd4a1c6c3881c9ed82985ecb9824d4450c4ba Author: Denis V. Lunev Date: Mon Mar 24 15:29:23 2008 -0700 [NETNS]: Add namespace parameter to ip_options_compile. ip_options_compile uses inet_addr_type which requires a namespace. The packet argument is optional, so parameter is the only way to obtain it. Pass the init_net there for now. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit ffc31d3d7719555cd784ecaf82e9c237f3a747ab Author: Denis V. Lunev Date: Mon Mar 24 15:28:43 2008 -0700 [NETNS]: /proc/net/arp namespacing. Seqfile operation showing /proc/net/arp are already namespace aware. All we need is to register this file for each namespace. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 49e8a279a1b79e14b51aa6d4102b3a3de39e7a5e Author: Denis V. Lunev Date: Mon Mar 24 15:28:12 2008 -0700 [NETNS]: Process ARP in the context of the correct namespace. Get namespace from a device and pass it to the routing engine. Enable ARP packet processing and device notifiers after that. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 2feb27dbe00cbb4f7d31f90acf6bd0d751dd0a50 Author: Pavel Emelyanov Date: Mon Mar 24 14:57:45 2008 -0700 [NETNS]: Minor information leak via /proc/net/ptype file. This file displays the registered packet types, but some of them (packet sockets creates such) can be bound to a net device and showing them in a wrong namespace is not correct. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 84c375af0ff61e0bd15fac0aed0438640494483e Author: Pavel Emelyanov Date: Mon Mar 24 14:56:57 2008 -0700 [NETNS][UDP-Lite]: Register /proc/net/udplite(6) in a namespace. UDP-Lite sockets are displayed in another files, rather than UDP ones, so make the present in namespaces as well. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit ff2bac6a63e3694e7a97152b7e934fe244e2a858 Author: Pavel Emelyanov Date: Mon Mar 24 14:56:34 2008 -0700 [UDP-Lite]: Clean up proc creation a bit. Just introduce a helper to remove ifdefs from inside the udplite4_register function. This will help to make the next patch nicer. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 757764f61d07ab8ff84699b6d608eac7bc94cecc Author: Pavel Emelyanov Date: Mon Mar 24 14:56:02 2008 -0700 [NETNS][TCP]: Register /proc/net/tcp in a namespace. After the commit f40c8174d3c21bf178283f3ef3aa8c7bf238fdec ([NETNS][IPV4] tcp - make proc handle the network namespaces) it is now possible to make this file present in newly created namespaces. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 15439febb0bd530f85e40ad6fa8e9f75106639ef Author: Pavel Emelyanov Date: Mon Mar 24 14:53:49 2008 -0700 [NETNS][UDP]: Register /proc/net/udp in a namespace. After the commit a91275eff43a527e1a25d6d034cbcd19ee323e64 ([NETNS][IPV6] udp - make proc handle the network namespace) it is now possible to make this file present in newly created namespaces. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 06802a819a0a2d31c952c0624cea6cd00e4e50da Merge: 9bd512f... 8f3ea33... Author: David S. Miller Date: Sun Mar 23 22:54:03 2008 -0700 Merge branch 'master' of ../net-2.6/ Conflicts: net/ipv6/ndisc.c commit 9bd512f619cc116b7830134d7c9f6e404a38c7bf Author: Robert P. J. Day Date: Sun Mar 23 22:47:53 2008 -0700 [CASSINI]: Use shorter list_splice_init() macro for brevity. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit 80445cfb28a6b093540582b68d9ae928bf34cfe7 Author: Florian Westphal Date: Sun Mar 23 22:47:08 2008 -0700 [SCTP]: Remove redundant wrapper functions. sctp_datamsg_free and sctp_datamsg_track are just aliases for sctp_datamsg_put and sctp_chunk_hold, respectively. Saves 32 Bytes on x86. Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 2444844cefd2ce0ac73858cf980de07e33a5dd20 Author: Florian Westphal Date: Sun Mar 23 22:46:34 2008 -0700 [SCTP]: Replace char msg[] with static const char[]. 133886 2004 220 136110 213ae sctp.new/sctp.o 134018 2004 220 136242 21432 sctp.old/sctp.o Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 3d3b2d25a4debaff05a9e6f5c55a0d31e4334234 Author: Stephen Hemminger Date: Sun Mar 23 22:43:56 2008 -0700 fib_trie: print information on all routing tables Make /proc/net/fib_trie and /proc/net/fib_triestat display all routing tables, not just local and main. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2a706ec1881709b8a90d8ccdd1fde40b3cc79364 Author: Jiri Olsa Date: Sun Mar 23 22:42:34 2008 -0700 [AF_PACKET]: Remove unused variable. Signed-off-by: Jiri Olsa Signed-off-by: David S. Miller commit 2051f11fb86b0056fec440fe7e9fa8370d60a5c6 Author: Florian Westphal Date: Sun Mar 23 22:21:28 2008 -0700 [TCP]: Shrink syncookie_secret by 8 byte. the first u32 copied from syncookie_secret is overwritten by the minute-counter four lines below. After adjusting the destination address, the size of syncookie_secret can be reduced accordingly. AFAICS, the only other user of syncookie_secret[] is the ipv6 syncookie support. Because ipv6 syncookies only grab 44 bytes from syncookie_secret[], this shouldn't affect them in any way. With fixes from Glenn Griffin. Signed-off-by: Florian Westphal Acked-by: Glenn Griffin Signed-off-by: David S. Miller commit 310afe86af8ddd96a06b75aa61ef1af233f80e89 Author: Joe Perches Date: Sun Mar 23 22:06:51 2008 -0700 [NET]: include/linux/udp.h - remove duplicate include Remove duplicate #include Combine #ifdef __KERNEL__ blocks Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit cc32e05416b4023a5466a2f66e3c02236a771c5b Author: Joe Perches Date: Sun Mar 23 22:05:44 2008 -0700 [NET]: include/linux/igmp.h - remove duplicate include Removed duplicate #include Combined #ifdef __KERNEL__ blocks Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 414f69d8a6ff0b30e7ea5ce10534b19f851e172e Author: Joe Perches Date: Sun Mar 23 22:04:31 2008 -0700 [NET]: include/linux/atalk.h - remove duplicate include Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 7d164be8aa4392fe55474f4608547f2097e07c41 Author: Joe Perches Date: Sun Mar 23 22:03:56 2008 -0700 [NET]: include/net/route.h - remove duplicate include Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 061964fb988ca51087948975da66ff523b3a5852 Author: Rami Rosen Date: Sun Mar 23 21:58:44 2008 -0700 [IPV6]: Remove unused code in ndisc_send_redirect(). This patches removes unused code in ndisc_send_redirect() method in net/ipv6/ndisc.c. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit d5706ef30bc25fe100bc3c3e46e46582a3eaf6b2 Author: David S. Miller Date: Sat Mar 22 18:33:28 2008 -0700 [8390]: Fix build error. module_init() function reference is wrong. Signed-off-by: David S. Miller commit 76fef2b6bffa13ad7ccd54c0493b053295721b9a Merge: 817bc4d... ef85004... Author: David S. Miller Date: Sat Mar 22 18:22:42 2008 -0700 Merge branch 'upstream-net26' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 Conflicts: drivers/s390/net/qeth_main.c commit 817bc4db7794d6dc6594265ddea88d2b839cf2f8 Author: Stephen Hemminger Date: Sat Mar 22 17:43:59 2008 -0700 [IPV4] route: use read_mostly The route table parameters are set based on system memory and sysctl values that almost never change. Also the genid only changes every 10 minutes. RTprint is defined by never used. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ce259990785595420ace616faece09255bad1163 Author: Denis V. Lunev Date: Sat Mar 22 17:42:37 2008 -0700 [IPV4]: sk parameter is unused in ipv4_dst_blackhole. Just remove it. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 0098b7273e968fb9989a6e1e4e4c024cd081fe0d Author: Rusty Russell Date: Sat Mar 22 17:18:47 2008 -0700 [NET]: NPROTO is redundant; it's equal to AF_MAX/PF_MAX. DaveM pointed out NPROTO exposed to userspace, so keep it around, just make sure it stays in sync. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit fc8717baa8f52dd8d1b90df9008300ef3ec794ed Author: Pavel Emelyanov Date: Sat Mar 22 16:56:51 2008 -0700 [RAW]: Add raw_hashinfo member on struct proto. Sorry for the patch sequence confusion :| but I found that the similar thing can be done for raw sockets easily too late. Expand the proto.h union with the raw_hashinfo member and use it in raw_prot and rawv6_prot. This allows to drop the protocol specific versions of hash and unhash callbacks. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 6ba5a3c52da00015e739469e3b00cd6d0d4c5c67 Author: Pavel Emelyanov Date: Sat Mar 22 16:51:21 2008 -0700 [UDP]: Make full use of proto.h.udp_hash innovation. After this we have only udp_lib_get_port to get the port and two stubs for ipv4 and ipv6. No difference in udp and udplite except for initialized h.udp_hash member. I tried to find a graceful way to drop the only difference between udp_v4_get_port and udp_v6_get_port (i.e. the rcv_saddr comparison routine), but adding one more callback on the struct proto didn't appear such :( Maybe later. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 39d8cda76cfb1178455f9d196b39e773878e6c05 Author: Pavel Emelyanov Date: Sat Mar 22 16:50:58 2008 -0700 [SOCK]: Add udp_hash member to struct proto. Inspired by the commit ab1e0a13 ([SOCK] proto: Add hashinfo member to struct proto) from Arnaldo, I made similar thing for UDP/-Lite IPv4 and -v6 protocols. The result is not that exciting, but it removes some levels of indirection in udpxxx_get_port and saves some space in code and text. The first step is to union existing hashinfo and new udp_hash on the struct proto and give a name to this union, since future initialization of tcpxxx_prot, dccp_vx_protinfo and udpxxx_protinfo will cause gcc warning about inability to initialize anonymous member this way. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 22aba383ce52f8ca8740f9a74dc66b1b68138813 Author: Denis V. Lunev Date: Sat Mar 22 16:36:20 2008 -0700 [IPV4]: Always pass ip_options pointer into ip_options_compile. This makes code a bit more uniform and straigthforward. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit ef722495c8867aacc1db0675a6737e5cf1e72e07 Author: Denis V. Lunev Date: Sat Mar 22 16:35:29 2008 -0700 [IPV4]: Remove unused ip_options->is_data. ip_options->is_data is assigned only and never checked. The structure is not a part of kernel interface to the userspace. So, it is safe to remove this field. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 10fe7d85e2e4042f703a10bed4123f2105eadad2 Author: Denis V. Lunev Date: Sat Mar 22 16:35:00 2008 -0700 [IPV4]: Remove unnecessary check for opt->is_data in ip_options_compile. There is the only way to reach ip_options compile with opt != NULL: ip_options_get_finish opt->is_data = 1; ip_options_compile(opt, NULL) So, checking for is_data inside opt != NULL branch is not needed. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit ec3c0982a2dd1e671bad8e9d26c28dcba0039d87 Author: Patrick McManus Date: Fri Mar 21 16:33:01 2008 -0700 [TCP]: TCP_DEFER_ACCEPT updates - process as established Change TCP_DEFER_ACCEPT implementation so that it transitions a connection to ESTABLISHED after handshake is complete instead of leaving it in SYN-RECV until some data arrvies. Place connection in accept queue when first data packet arrives from slow path. Benefits: - established connection is now reset if it never makes it to the accept queue - diagnostic state of established matches with the packet traces showing completed handshake - TCP_DEFER_ACCEPT timeouts are expressed in seconds and can now be enforced with reasonable accuracy instead of rounding up to next exponential back-off of syn-ack retry. Signed-off-by: Patrick McManus Signed-off-by: David S. Miller commit e4c78840284f3f51b1896cf3936d60a6033c4d2c Author: Patrick McManus Date: Fri Mar 21 16:29:22 2008 -0700 [TCP]: TCP_DEFER_ACCEPT updates - dont retxmt synack a socket in LISTEN that had completed its 3 way handshake, but not notified userspace because of SO_DEFER_ACCEPT, would retransmit the already acked syn-ack during the time it was waiting for the first data byte from the peer. Signed-off-by: Patrick McManus Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 539fae89bebd16ebeafd57a87169bc56eb530d76 Author: Patrick McManus Date: Fri Mar 21 16:27:38 2008 -0700 [TCP]: TCP_DEFER_ACCEPT updates - defer timeout conflicts with max_thresh timeout associated with SO_DEFER_ACCEPT wasn't being honored if it was less than the timeout allowed by the maximum syn-recv queue size algorithm. Fix by using the SO_DEFER_ACCEPT value if the ack has arrived. Signed-off-by: Patrick McManus Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 4cd9029d25f6612302f82634620f107c65f790b1 Author: Stephen Hemminger Date: Fri Mar 21 15:54:53 2008 -0700 socket: SOCK_DEBUG type checking Use the inline trick (same as pr_debug) to get checking of debug statements even if no code is generated. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 28518fc1701a757a3df8aa2d2ac2e5d1efd1c3e5 Author: Pavel Emelyanov Date: Fri Mar 21 15:52:00 2008 -0700 [NET]: NULL pointer dereference and other nasty things in /proc/net/(tcp|udp)[6] Commits f40c81 ([NETNS][IPV4] tcp - make proc handle the network namespaces) and a91275 ([NETNS][IPV6] udp - make proc handle the network namespace) both introduced bad checks on sockets and tw buckets to belong to proper net namespace. I.e. when checking for socket to belong to given net and family the do { sk = sk_next(sk); } while (sk && sk->sk_net != net && sk->sk_family != family); constructions were used. This is wrong, since as soon as the sk->sk_net fits the net the socket is immediately returned, even if it belongs to other family. As the result four /proc/net/(udp|tcp)[6] entries show wrong info. The udp6 entry even oopses when dereferencing inet6_sk(sk) pointer: static void udp6_sock_seq_show(struct seq_file *seq, struct sock *sp, int bucket) { ... struct ipv6_pinfo *np = inet6_sk(sp); ... dest = &np->daddr; /* will be NULL for AF_INET sockets */ ... seq_printf(... dest->s6_addr32[0], dest->s6_addr32[1], dest->s6_addr32[2], dest->s6_addr32[3], ... Fix it by converting && to ||. Signed-off-by: Pavel Emelyanov Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit b1153f29ee07dc1a788964409255a4b4fae50b98 Author: Stephen Hemminger Date: Fri Mar 21 15:46:12 2008 -0700 netlink: make socket filters work on netlink Make socket filters work for netlink unicast and notifications. This is useful for applications like Zebra that get overrun with messages that are then ignored. Note: netlink messages are in host byte order, but packet filter state machine operations are done as network byte order. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6f8b13bcb3369a5df2e63acc422bed6098f5b8c4 Author: Daniel Lezcano Date: Fri Mar 21 04:14:45 2008 -0700 [NETNS][IPV6] tcp6 - make proc per namespace Make the proc for tcp6 to be per namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 0c96d8c50bffb7f02690dd8a8cf1adb8e07e100f Author: Daniel Lezcano Date: Fri Mar 21 04:14:17 2008 -0700 [NETNS][IPV6] udp6 - make proc per namespace The proc init/exit functions take a new network namespace parameter in order to register/unregister /proc/net/udp6 for a namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit f40c8174d3c21bf178283f3ef3aa8c7bf238fdec Author: Daniel Lezcano Date: Fri Mar 21 04:13:54 2008 -0700 [NETNS][IPV4] tcp - make proc handle the network namespaces This patch, like udp proc, makes the proc functions to take care of which namespace the socket belongs. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 8d9f1744cab50acb0c6c9553be533621e01f178b Author: Daniel Lezcano Date: Fri Mar 21 04:12:54 2008 -0700 [NETNS][IPV6] tcp - assign the netns for timewait sockets Copy the network namespace from the socket to the timewait socket. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit a91275eff43a527e1a25d6d034cbcd19ee323e64 Author: Daniel Lezcano Date: Fri Mar 21 04:11:58 2008 -0700 [NETNS][IPV6] udp - make proc handle the network namespace This patch makes the common udp proc functions to take care of which socket they should show taking into account the namespace it belongs. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit ea82edf704f6bf3c3a51d0dbee816c5bbc6d3974 Author: Daniel Lezcano Date: Fri Mar 21 04:10:53 2008 -0700 [NETNS][IPV6] mcast - fix compilation warning when procfs is not compiled in When CONFIG_PROC_FS=no, the out_sock_create label is not used because the code using it is disabled and that leads to a warning at compile time. This patch fix that by making a specific function to initialize proc for igmp6, and remove the annoying CONFIG_PROC_FS sections in init/exit function. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 82cc1a7a56872056af0ead6c7d695aa223f36695 Author: Peter P Waskiewicz Jr Date: Fri Mar 21 03:43:19 2008 -0700 [NET]: Add per-connection option to set max TSO frame size Update: My mailer ate one of Jarek's feedback mails... Fixed the parameter in netif_set_gso_max_size() to be u32, not u16. Fixed the whitespace issue due to a patch import botch. Changed the types from u32 to unsigned int to be more consistent with other variables in the area. Also brought the patch up to the latest net-2.6.26 tree. Update: Made gso_max_size container 32 bits, not 16. Moved the location of gso_max_size within netdev to be less hotpath. Made more consistent names between the sock and netdev layers, and added a define for the max GSO size. Update: Respun for net-2.6.26 tree. Update: changed max_gso_frame_size and sk_gso_max_size from signed to unsigned - thanks Stephen! This patch adds the ability for device drivers to control the size of the TSO frames being sent to them, per TCP connection. By setting the netdevice's gso_max_size value, the socket layer will set the GSO frame size based on that value. This will propogate into the TCP layer, and send TSO's of that size to the hardware. This can be desirable to help tune the bursty nature of TSO on a per-adapter basis, where one may have 1 GbE and 10 GbE devices coexisting in a system, one running multiqueue and the other not, etc. This can also be desirable for devices that cannot support full 64 KB TSO's, but still want to benefit from some level of segmentation offloading. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit a25606c845856e5ca5ed54d23cab077e3a49bf10 Merge: 938b93a... 94833df... Author: David S. Miller Date: Fri Mar 21 03:42:24 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 commit 0490a54a00c14212f22c5948c8c13a4553d745bd Author: Chuck Lever Date: Fri Mar 14 14:26:08 2008 -0400 lockd: introduce new function to encode private argument in SM_MON requests Clean up: refactor the encoding of the opaque 16-byte private argument in xdr_encode_mon(). This will be updated later to support IPv6 addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 2ca7754d4c96d68e1475690422a202ba5f0443d8 Author: Chuck Lever Date: Fri Mar 14 14:26:01 2008 -0400 lockd: Fix up incorrect RPC buffer size calculations. Switch to using the new mon_id encoder function. Now that we've refactored the encoding of SM_MON requests, we've discovered that the pre-computed buffer length maximums are incorrect! Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ea72a7f170e686baf00ceee57b6197bef686889c Author: Chuck Lever Date: Fri Mar 14 14:25:53 2008 -0400 lockd: document use of mon_id argument in SM_MON requests Clean up: document the argument type that xdr_encode_common() is marshalling by introducing a new function. The new function will replace xdr_encode_common() in just a sec. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 850c95fd07b63704d06909c9a081c51272d32db1 Author: Chuck Lever Date: Fri Mar 14 14:25:46 2008 -0400 lockd: refactor SM_MON my_id argument encoder Clean up: introduce a new XDR encoder specifically for the my_id argument of SM_MON requests. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 496951743100b2d2ccd8b268257e79425e489851 Author: Chuck Lever Date: Fri Mar 14 14:25:39 2008 -0400 lockd: refactor SM_MON mon_name argument encoder Clean up: introduce a new XDR encoder specifically for the mon_name argument of SM_MON requests. This will be updated later to support IPv6 addresses in addition to IPv4 addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 099bd05f27ff24a3041d54e7ed42d2eb681484b9 Author: Chuck Lever Date: Fri Mar 14 14:25:32 2008 -0400 lockd: Ensure NSM strings aren't longer than protocol allows Introduce a special helper function to check the length of NSM strings before they are placed on the wire. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f34ec991ae0f015f5cdc51ad46c3a317ffae2466 Author: Chuck Lever Date: Fri Mar 14 14:18:45 2008 -0400 lockd: bring a few function declarations up to date Clean-up: replace __inline__ and use up-to-date function declaration conventions. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit eb18860e1385bfc7f08fcb7ba362e4a5156c8324 Author: Chuck Lever Date: Fri Mar 14 14:18:37 2008 -0400 NLM: NLM protocol version numbers are u32 Clean up: RPC protocol version numbers are u32. Make sure we use an appropriate type for NLM version numbers when calling nlm_lookup_host(). Eliminates a harmless mixed sign comparison in nlm_host_lookup(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 90d5b18061656993410dfd57ddb88aa5a3f34563 Author: Chuck Lever Date: Fri Mar 14 14:18:30 2008 -0400 NLM: LOCKD fails to load if CONFIG_SYSCTL is not set Bruce Fields says: "By the way, we've got another config-related nit here: http://bugzilla.linux-nfs.org/show_bug.cgi?id=156 You can build lockd without CONFIG_SYSCTL set, but then the module will fail to load." For now, disable the sysctl registration calls in lockd if CONFIG_SYSCTL is not enabled. This allows the kernel to build properly if PROC_FS or SYSCTL is not enabled, but an NFS client is desired. In the long run, we would like to be able to build the kernel with an NFS client but without lockd. This makes sense, for example, if you want an NFSv4-only NFS client, as NFSv4 doesn't use NLM at all. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 1e40316bc44851c5920490df01482ed862e4dbc4 Author: Chuck Lever Date: Fri Mar 14 14:15:18 2008 -0400 SUNRPC: Add a default setting for CONFIG_SUNRPC_BIND34 Most distros will want support for rpcbind protocols 3 and 4 to default off until they have integrated user-space support for the new rpcbind daemon which supports IPv6 RPC services. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 327a299d8abd0f4580098cbd6c58b0f017417005 Author: Chuck Lever Date: Fri Mar 14 14:15:11 2008 -0400 SUNRPC: Update help Kconfig text Clean up: refresh the help text for Kconfig items related to the sunrpc module. Remove obsolete URLs, and make the language consistent among the options. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ecfc555a8327ff09b07066d73a98c04115007eec Author: Chuck Lever Date: Fri Mar 14 14:14:56 2008 -0400 NFS: Always enable NFS direct I/O Since O_DIRECT is a standard feature that is enabled in most distros, eliminate the CONFIG_NFS_DIRECTIO build option, and change the fs/nfs/Makefile to always build in the NFS direct I/O engine. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 82d101d58a2312297ee79f96d44c1d8c7fe1032d Author: Chuck Lever Date: Fri Mar 14 14:10:37 2008 -0400 NFS: Show most mount options via nfs_show_options() Display all mount options in /proc/mount which may be needed to reconstruct a previous mount. Signed-off-by: Chuck Lever Cc: Miklos Szeredi Signed-off-by: Trond Myklebust commit 3f8400d1f1f9d5fb175bdbf6236e564dde454f28 Author: Chuck Lever Date: Fri Mar 14 14:10:30 2008 -0400 NFS: Save the values of the "mount*=" mount options Save the value of the mountproto= mountport= mountvers= and mountaddr= options so that these values can be displayed later via nfs_show_options(). This preserves the intent of the original mount options, should the file system need to be remounted based on what's displayed in /proc/mounts. Signed-off-by: Chuck Lever Cc: Miklos Szeredi Signed-off-by: Trond Myklebust commit f22d6d79fe227245363a8849ea8c85fe6c6598c3 Author: Chuck Lever Date: Fri Mar 14 14:10:22 2008 -0400 NFS: Save the value of the "port=" mount option During a remount based on the mount options displayed in /proc/mounts, we want to preserve the original behavior of the mount request. Let's save the original setting of the "port=" mount option in the mount's nfs_server structure. This allows us to simplify the default behavior of port setting for NFSv4 mounts: by default, NFSv2/3 mounts first try an RPC bind to determine the NFS server's port, unless the user specified the "port=" mount option; Users can force the client to skip the RPC bind by explicitly specifying "port=". NFSv4, by contrast, assumes the NFS server port is 2049 and skips the RPC bind, unless the user specifies "port=". Users can force an RPC bind for NFSv4 by explicitly specifying "port=0". I added a couple of extra comments to clarify this behavior. Signed-off-by: Chuck Lever Cc: Miklos Szeredi Signed-off-by: Trond Myklebust commit 78fa701f341564e60461de91cd08ff5f7fb09b31 Author: Chuck Lever Date: Fri Mar 14 14:10:15 2008 -0400 NFS: Fix up data types of fields in nfs_parsed_mount_options Clean up: make data types of fields in nfs_parsed_mount_options more consistent with other uses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 2d76743227028a26f884284aade03d1e43f4f249 Author: Chuck Lever Date: Fri Mar 14 14:10:08 2008 -0400 NFS: numeric mount parameters are unsigned Clean up: use %u instead of %d when displaying NFS mount options. Nit: Fix reporting of "namlen=" option in nfs_show_mount_stats. The mount option is called "namlen" without the "e". Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7bda2cdf484a00e52b0ed925e99d4bf4696b2c7a Author: Jeff Layton Date: Fri Feb 22 14:50:01 2008 -0500 NFS: clean up short packet handling for NFSv4 readdir Currently, the NFS readdir decoders have a workaround for buggy servers that send an empty readdir response with the EOF bit unset. If the server sends a malformed response in some cases, this workaround kicks in and just returns an empty response rather than returning a proper error to the caller. This patch does 3 things: 1) have malformed responses with no entries return error (-EIO) 2) preserve existing workaround for servers that send empty responses with the EOF marker unset. 3) Add some comments to clarify the logic in decode_readdir(). Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit 643f81115baca3630e544f6874567648b605efae Author: Jeff Layton Date: Fri Feb 22 14:50:00 2008 -0500 NFS: clean up short packet handling for NFSv3 readdir Currently, the NFS readdir decoders have a workaround for buggy servers that send an empty readdir response with the EOF bit unset. If the server sends a malformed response in some cases, this workaround kicks in and just returns an empty response rather than returning a proper error to the caller. This patch does 3 things: 1) have malformed responses with no entries return error (-EIO) 2) preserve existing workaround for servers that send empty responses with the EOF marker unset. 3) Add some comments to clarify the logic in nfs3_xdr_readdirres(). Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit caa02bd540618e4b447a1f776363ba27c4c79090 Author: Jeff Layton Date: Fri Feb 22 14:49:59 2008 -0500 NFS: clean up short packet handling for NFSv2 readdir Currently, the NFS readdir decoders have a workaround for buggy servers that send an empty readdir response with the EOF bit unset. If the server sends a malformed response in some cases, this workaround kicks in and just returns an empty response rather than returning a proper error to the caller. This patch does 3 things: 1) have malformed responses with no entries return error (-EIO) 2) preserve existing workaround for servers that send empty responses with the EOF marker unset. 3) Add some comments to clarify the logic in nfs_xdr_readdirres(). Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit 4af68bffac444a23f027e18ff244101e63b79227 Author: Fred Isaman Date: Wed Mar 19 11:54:04 2008 -0400 nfs: remove duplicate initializations of nfs_read_data field Signed-off-by: Fred Isaman Signed-off-by: Trond Myklebust commit 6d884e8fc8114dc8877218f06a9a9a1d801901e4 Author: Fred Date: Wed Mar 19 11:24:38 2008 -0400 nfs: nfs_redirty_request Both flush functions have the same error handling routine. Pull it out as a function. Signed-off-by: Fred Isaman Signed-off-by: Trond Myklebust commit c7c350e92aab1bba68f26a6027b734adcf9824ba Merge: 2f42b5d... f8512ad... Author: Trond Myklebust Date: Wed Mar 19 17:59:44 2008 -0400 Merge branch 'hotfixes' into devel commit 938b93adb2642885e688390396472d22a7548748 Author: Robert P. J. Day Date: Tue Mar 18 00:59:23 2008 -0700 [NET]: Add debugging names to __RW_LOCK_UNLOCKED macros. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit 577f99c1d08cf9cbdafd4e858dd13ff04d855090 Merge: 26c0f03... 2f63392... Author: David S. Miller Date: Tue Mar 18 00:37:55 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/rt2x00/rt2x00dev.c net/8021q/vlan_dev.c commit ef8500457b29eed13d03ff19af36d810308e57b7 Author: Auke Kok Date: Mon Mar 3 15:04:07 2008 -0800 ixgbe: Increment version Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit bd0362dde080cef377d99fa5beb5c25308c29c73 Author: Jeb Cramer Date: Mon Mar 3 15:04:02 2008 -0800 ixgbe: Add optional DCA infrastructure 82598 cards and up support DCA, which enables the chipset to warm up the caches for upcoming payload data. This code makes the driver plug into the CONFIG_DCA infrastructure that was merged earlier. Signed-off-by: Jeb Cramer Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit f494e8faa77bd4147324f7666441e0b780e7db94 Author: Ayyappan Veeraiyan Date: Mon Mar 3 15:03:57 2008 -0800 ixgbe: Introduce adaptive interrupt moderation 82598 can produce a formidable interrupt rate, and is largely unusable without some form of moderation. The default behaviour before this patch is to limit irq's to a reasonable number. However, just like our other drivers we can reduce latency for small packet-type traffic considerably by allowing the irq rate to go up dynamically. This patch introduces a simple irq moderation algorithm based on traffic analysis. The driver will use more CPU to service small packets quicker but will perform the same on bulk traffic as the old code. Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 30eba97a3f076cf4e100b598ee9a1b1439b0cfaa Author: Ayyappan Veeraiyan Date: Mon Mar 3 15:03:52 2008 -0800 ixgbe: Introduce Multiqueue TX Now that the irq vector code is in place, we can add the conditional multiqueue TX code in the driver. This requires the optional CONFIG_NETDEVICES_MULTIQUEUE=y and will not be enabled without it. Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Auke Kok Acked-by: Waskiewicz Jr, Peter P Signed-off-by: Jeff Garzik commit 021230d40ae0e6508d6c717b6e0d6d81cd77ac25 Author: Ayyappan Veeraiyan Date: Mon Mar 3 15:03:45 2008 -0800 ixgbe: Introduce MSI-X queue vector code This code abstracts the per-queue MSI-X interrupt vector into a queue vector layer. This abstraction is needed since there can be many more queues than available MSI-X vectors in a machine. The MSI-X irq vectors are remapped to a shared queue vector which can point to several (both RX and TX) hardware queues. The NAPI algorithm then cleans the appropriate ring/queues on interrupt or poll. The remapping is a delicate and complex calculation to make sure that we're not unbalancing the irq load, and spreads the irqs as much as possible, and may combine RX and TX flows onto the same queue vector. This effectively enables receive flow hashing across vectors and helps irq load balance across CPUs. Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Auke Kok Acked-by: Jesse Brandeburg Acked-by: Waskiewicz Jr, Peter P Signed-off-by: Jeff Garzik commit 53e7c46b0680ccc3ac67a2b8cd7f050569836e44 Author: Jon Schindler Date: Thu Feb 28 01:31:18 2008 -0600 /drivers/net/atarilance.c replaced init_module&cleanup_module with module_init&module_exit Replaced init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Jeff Garzik commit 5250f33229c1e41b1fac27bb564697046e525b93 Author: Jon Schindler Date: Thu Feb 28 01:31:12 2008 -0600 /drivers/net/at1700.c replaced init_module&cleanup_module with module_init&module_exit Replaced init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Jeff Garzik commit 0ebd1c1d7dec3aae2c336fb1fd930961735ff249 Author: Jon Schindler Date: Thu Feb 28 01:31:08 2008 -0600 /drivers/net/arcnet/com20020.c replaced init_module&cleanup_module with module_init&module_exit Replaced init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Jeff Garzik commit b32dac08e4170e54c7edd25212ff48f921bda6e8 Author: Jon Schindler Date: Thu Feb 28 01:30:50 2008 -0600 /drivers/net/appletalk/cops.c replaced init_module&cleanup_module with module_init&module_exit Replaced init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Jeff Garzik commit 08dc732bf4aa844b2c3994f2ac0d53a7cfe6d656 Author: Jon Schindler Date: Thu Feb 28 01:30:14 2008 -0600 /drivers/net/8390.c replaced init_module&cleanup_module with module_init&module_exit Replaced init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Jeff Garzik commit 56872167e7339c3afba2fbeb8aa2ce75b93fd991 Author: Magnus Damm Date: Fri Feb 22 19:55:33 2008 +0900 smc91x: make superh use default config V2 Removes superh board specific configuration from the header file. These boards will instead be configured using platform data. Signed-off-by: Magnus Damm Acked-by: Nicolas Pitre Signed-off-by: Jeff Garzik commit 8a214c125a06e974b6fba7c38fb06297ab449d3a Author: Magnus Damm Date: Fri Feb 22 19:55:24 2008 +0900 smc91x: add insw/outsw to default config V2 This patch makes sure SMC_insw()/SMC_outsw() are defined for the default configuration. Without this change BUG()s will be triggered when using 16-bit only platform data and the default configuration. Signed-off-by: Magnus Damm Acked-by: Nicolas Pitre Signed-off-by: Jeff Garzik commit 3e94794355724f77dc6cbb5ad956f7c72d8313a4 Author: Magnus Damm Date: Fri Feb 22 19:55:15 2008 +0900 smc91x: introduce platform data flags V2 This patch introduces struct smc91x_platdata and modifies the driver so bus width is checked during run time using SMC_nBIT() instead of SMC_CAN_USE_nBIT. V2 keeps static configuration lean using SMC_DYNAMIC_BUS_CONFIG. Signed-off-by: Magnus Damm Acked-by: Nicolas Pitre Signed-off-by: Jeff Garzik commit cfdfa86536d2fbc8102780ec15faea185e957d3d Author: Magnus Damm Date: Fri Feb 22 19:55:05 2008 +0900 smc91x: pass along private data V2 Pass a private data pointer to macros and functions. This makes it easy to later on make run time decisions. This patch does not change any logic. These changes should be optimized away during compilation. V2 changes the macro argument name from "priv" to "lp". Signed-off-by: Magnus Damm Acked-by: Nicolas Pitre Signed-off-by: Jeff Garzik commit cf374a855363ea2ad06a1c08fc513024295334cc Author: Sreenivasa Honnur Date: Wed Feb 20 17:10:28 2008 -0500 S2io: Version update for multiqueue and vlan patches - Updated version number. Signed-off-by: Surjit Reang Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit cdb5bf02f4fc0507518ea6b93c21b2707336ffef Author: Sreenivasa Honnur Date: Wed Feb 20 17:09:15 2008 -0500 S2io: Support for vlan_rx_kill_vid entry point - Resubmit #3 - Added s2io_vlan_rx_kill_vid entry point function for unregistering vlan. - Fix to aggregate vlan packets. IP offset is incremented by 4 bytes if the packet contains vlan header. Signed-off-by: Surjit Reang Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 6cfc482b4b1c512d81712eba41fa324b24e5e7b2 Author: Sreenivasa Honnur Date: Wed Feb 20 17:07:51 2008 -0500 S2io: Multiqueue network device support - FIFO selection based on L4 ports - Resubmit #2 - Transmit fifo selection based on TCP/UDP ports. - Added tx_steering_type loadable parameter for transmit fifo selection. 0x0 NO_STEERING: Default FIFO is selected. 0x1 TX_PRIORITY_STEERING: FIFO is selected based on skb->priority. 0x2 TX_DEFAULT_STEERING: FIFO is selected based on L4 Ports. Signed-off-by: Surjit Reang Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 3a3d5756ac552ee2d2cca6ba0912f0ff328e8357 Author: Sreenivasa Honnur Date: Wed Feb 20 16:44:07 2008 -0500 S2io: Multiqueue network device support implementation - Resubmit #3 Multiqueue netwrok device support implementation. - Added a loadable parameter "multiq" to enable/disable multiqueue support, by default it is disabled. - skb->queue_mapping is not used for queue/fifo selection. FIFO selection is based on skb->priority. - Added per FIFO flags FIFO_QUEUE_START and FIFO_QUEUE_STOP. Check this flag for starting and stopping netif queue and update the flags accordingly. - In tx_intr_handler added a check to ensure that we have free TXDs before wak- ing up the queue. - Added helper functions for queue manipulation(start/stop/wakeup) to invoke appropriate netif_ functions. - Calling netif_start/stop for link up/down case respectively. - As per Andi kleen's review comments, using skb->priority field for FIFO selection. Signed-off-by: Surjit Reang Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 19a3da6c6e1e74ecac129a079139aaebb63fe6c8 Author: Frank Blaschka Date: Fri Feb 15 09:19:43 2008 +0100 qeth: remove old qeth files Remove all obsolete qeth files. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 4a71df50047f0db65ea09b1be155852e81a45eba Author: Frank Blaschka Date: Fri Feb 15 09:19:42 2008 +0100 qeth: new qeth device driver List of major changes and improvements: no manipulation of the global ARP constructor clean code split into core, layer 2 and layer 3 functionality better exploitation of the ethtool interface better representation of the various hardware capabilities fix packet socket support (tcpdump), no fake_ll required osasnmpd notification via udev events coding style and beautification Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 04885948b101c44cbec9dacfb49b28290a899012 Author: Peter Tiedemann Date: Fri Feb 8 00:03:50 2008 +0100 ctc: removal of the old ctc driver ctc driver is replaced by a new ctcm driver. The ctcm driver supports the channel-to-channel connections of the old ctc driver plus an additional MPC protocol to provide SNA connectivity. This patch removes the functions of the old ctc driver. Signed-off-by: Peter Tiedemann Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 293d984f0e3604c04dcdbf00117ddc1e5d4b1909 Author: Peter Tiedemann Date: Fri Feb 8 00:03:49 2008 +0100 ctcm: infrastructure for replaced ctc driver ctcm driver supports the channel-to-channel connections of the old ctc driver plus an additional MPC protocol to provide SNA connectivity. This new ctcm driver replaces the existing ctc driver. Signed-off-by: Peter Tiedemann Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit f423f73506ba8e837b5fdcd8c8be50078deb123d Author: Ursula Braun Date: Fri Feb 8 00:03:48 2008 +0100 drivers/s390/net: Kconfig brush up adapt drivers/s390/net/Kconfig to current IBM wording and further cosmetics Signed-off-by: Peter Tiedemann Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 6446a860f8b72b6a7b6722b3e30c4b00d6f99967 Author: Jay Cliburn Date: Sat Feb 2 19:50:12 2008 -0600 atl1: reduce forward declarations Rearrange functions to allow removal of some forward declarations. Make certain global functions static along the way. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit 0dde4ef99dcbf221bce6c0a5c3c3e4cdfea0b370 Author: Jay Cliburn Date: Sat Feb 2 19:50:11 2008 -0600 atl1: make functions static Make needlessly global functions static. In a couple of cases this requires removing forward declarations and reordering functions. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit 235ffa136c09c56db0c6c5fc5b5832749a72f557 Author: Jay Cliburn Date: Sat Feb 2 19:50:10 2008 -0600 atl1: print debug info if rrd error Add some debug printks if we encounter a potentially bad receive return descriptor. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit 460578bfe4dffbdc6eec9fcbd0fe0bb4f9f82188 Author: Jay Cliburn Date: Sat Feb 2 19:50:09 2008 -0600 atl1: use netif_msg Use netif_msg_* for console messages emitted by the driver. Add a parameter to allow control of messaging at driver startup, and also add the ability to control it with ethtool. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit 5ca3bc3041b1cbbb3361a99bd666e907850a1a7a Author: Jay Cliburn Date: Sat Feb 2 19:50:08 2008 -0600 atl1: use csum_start Use skb->csum_start for tx checksum offload preparation. Also swap the variables css and cso so they hold the intended values of csum start and offset, respectively. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit 401c0aabec4b97320f962a0161a846d230a6f7aa Author: Jay Cliburn Date: Sat Feb 2 19:50:07 2008 -0600 atl1: simplify tx packet descriptor The transmit packet descriptor consists of four 32-bit words, with word 3 upper bits overloaded depending upon the condition of its bits 3 and 4. The driver currently duplicates all word 2 and some word 3 register bit definitions unnecessarily and also uses a set of nested structures in its definition of the TPD without good cause. This patch adds a lengthy comment describing the TPD, eliminates duplicate TPD bit definitions, and simplifies the TPD structure itself. It also expands the TSO check to correctly handle custom checksum versus TSO processing using the revised TPD definitions. Finally, shorten some variable names in the transmit processing path to reduce line lengths, rename some variables to better describe their purpose (e.g., nseg versus m), and add a comment or two to better describe what the code is doing. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit c67c9a2f11d97a545c0e8f56b2ca3e5e36566a94 Author: Jay Cliburn Date: Sat Feb 2 19:50:06 2008 -0600 atl1: add ethtool register dump Add the ethtool register dump option to the atl1 driver. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit 9d90fb1ac9d97da86e24d9ea947bf2a2f333829a Author: Jay Cliburn Date: Sat Feb 2 19:50:05 2008 -0600 atl1: fix broken TSO The L1 tx packet descriptor expects TCP Header Length to be expressed as a number of 32-bit dwords. The atl1 driver uses tcp_hdrlen() to populate the field, but tcp_hdrlen() returns the header length in bytes, not in dwords. Add a shift to convert tcp_hdrlen() to dwords when we write it to the tpd. Also, some of our bit assignments are made to the wrong tpd words. Change those to the correct words. Finally, since all this fixes TSO, enable TSO by default. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit 305282ba19f81e571bd6d2dcc10ebb02e59a06ef Author: Jay Cliburn Date: Sat Feb 2 19:50:04 2008 -0600 atl1: move common functions to atlx files The future atl2 driver and the existing atl1 driver can share certain functions and definitions. Move these shareable functions and definitions out of atl1-specific files and into atlx.c and atlx.h. Some transitory hackery will be present until atl2 is merged. Reduce the number of source files by moving ethtool, hw, and param functions from separate files into atl1_main.c, then rename it to just atl1.c. Move all atl1-specific definitions from atl1_hw.h to atl1.h. Finally, clean up to make checkpatch.pl happy. Signed-off-by: Chris Snook Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 2e5071bce5ce4037ce852a916e8106811e68677b Author: Jay Cliburn Date: Sat Feb 2 19:50:03 2008 -0600 atl1: relocate atl1 driver to /drivers/net/atlx In preparation for a future Atheros L2 NIC driver (called atl2), relocate the atl1 driver into a new /drivers/net/atlx directory that will ultimately be shared with the future atl2 driver. Signed-off-by: Chris Snook Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit fa6557aff47f25e5b6b92c930a9b60a12acd0b58 Author: Adrian Bunk Date: Tue Jan 29 00:14:12 2008 +0200 remove the obsolete xircom_tulip_cb driver The xircom_tulip_cb driver has been replaced the xircom_cb driver, and since it depended on BROKEN_ON_SMP it e.g. was no longer present in many distribution kernels. This patch therefore removes it. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 548c36e983f346621b5cb9ab031e4383e9996576 Author: Stephen Hemminger Date: Wed Jan 30 22:04:05 2008 -0800 sk98lin: remove obsolete driver All the hardware supported by this driver is now supported by the skge driver. The last remaining issue was support for ancient dual port SysKonnect fiber boards, and the skge driver now does these correctly (p.s. sk98lin was always broken on these old dual port boards anyway). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 2f42b5d043ee271d1e5d30ecd77186b6c4d4e534 Author: Fred Isaman Date: Thu Mar 13 15:26:30 2008 +0200 NFS: fix encode_fsinfo_maxsz The previous value was not taking into account space for bitmap array size. Signed-off-by: Fred Isaman Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 98a8e3239427051f5d44f2025b398bdcc3918f37 Author: Trond Myklebust Date: Wed Mar 12 12:25:28 2008 -0400 SUNRPC: Add a helper rpcauth_lookup_generic_cred() The NFSv4 protocol allows clients to negotiate security protocols on the fly in the case where an administrator on the server changes the export settings and/or in the case where we may have a filesystem migration event. Instead of having the NFS client code cache credentials that are tied to a particular AUTH method it is therefore preferable to have a generic credential that can be converted into whatever AUTH is in use by the RPC client when the read/write/sillyrename/... is put on the wire. We do this by means of the new "generic" credential, which basically just caches the minimal information that is needed to look up an RPCSEC_GSS, AUTH_SYS, or AUTH_NULL credential. Signed-off-by: Trond Myklebust commit 5c691044ecbca04dd558fca4c754121689fe1b34 Author: Trond Myklebust Date: Wed Mar 12 16:21:07 2008 -0400 SUNRPC: Add an rpc_credop callback for binding a credential to an rpc_task We need the ability to treat 'generic' creds specially, since they want to bind instances of the auth cred instead of binding themselves. Signed-off-by: Trond Myklebust commit 9a559efd4199c9812d339e23cc1b6055366b224f Author: Trond Myklebust Date: Wed Mar 12 12:24:49 2008 -0400 SUNRPC: Add a generic RPC credential Add an rpc credential that is not tied to any particular auth mechanism, but that can be cached by NFS, and later used to look up a cred for whichever auth mechanism that turns out to be valid when the RPC call is being made. Signed-off-by: Trond Myklebust commit 4ccda2cdd8d156b6f49440653d5d6997e0facf97 Author: Trond Myklebust Date: Wed Mar 12 16:20:55 2008 -0400 SUNRPC: Clean up rpcauth_bindcred() Signed-off-by: Trond Myklebust commit af093835774931de898a9baf7b4041fa0d100f77 Author: Trond Myklebust Date: Wed Mar 12 12:12:16 2008 -0400 SUNRPC: Fix RPCAUTH_LOOKUP_ROOTCREDS The current RPCAUTH_LOOKUP_ROOTCREDS flag only works for AUTH_SYS authentication, and then only as a special case in the code. This patch removes the auth_sys special casing, and replaces it with generic code. Signed-off-by: Trond Myklebust commit 25337fdc85951dfeac944f16cb565904c619077a Author: Trond Myklebust Date: Wed Mar 12 14:40:14 2008 -0400 SUNRPC: Fix a bug in rpcauth_lookup_credcache() The hash bucket is for some reason always being set to zero. Signed-off-by: Trond Myklebust commit 26c0f03f6b77c513cb7bc37b73a06819bdbb791b Author: Reinette Chatre Date: Tue Mar 11 16:17:15 2008 -0700 iwlwifi: fix bug to show hidden APs during scan Indirect scanning ('iwlist scan') should report information about hidden APs. When an AP is hidden it does not respond to active scanning, we thus have to use passive scanning to locate these APs. This fixes http://bughost.org/bugzilla/show_bug.cgi?id=1499 Signed-off-by: Reinette Chatre Tested-by: Bill Moss Signed-off-by: John W. Linville commit 35cdeaf4103b9a5c8a86899a5ed12a86c6a12a37 Author: Tomas Winkler Date: Tue Mar 11 16:17:20 2008 -0700 iwlwifi: change rate number to a constant This patch moves a number to an understandable define Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 0310ae721d1b7aaf10dd8b712a3a83c355786970 Author: Tomas Winkler Date: Tue Mar 11 16:17:19 2008 -0700 iwlwifi: Fix endianity in debug print This patch fix debug print out endianity issue for bitmap Since u64 and le64 variables are casted to unsigned long long, after patch 'wireless: correct warnings from using '%llx' for type 'u64' also bitmaps need to be converted to native endianity Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6bc913bd965e03b5273a5366eecce5c28c9b01da Author: Assaf Krauss Date: Tue Mar 11 16:17:18 2008 -0700 iwlwifi: Use eeprom form iwlcore This patch puts in use eeprom from iwlcore module Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit eb7ae89cb0b03e6e6e39737b1c8bcc1912281a00 Author: Reinette Chatre Date: Tue Mar 11 16:17:17 2008 -0700 iwlwifi: update copyright year Also fix a copy and paste error in header of iwl-core.c. This file is not dual licensed. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a4062b8fd231d2625236ad46bff07906c9bc7160 Author: Tomas Winkler Date: Tue Mar 11 16:17:16 2008 -0700 iwlwifi: Use sta_bcast_id variable instead of BROADCAST_ID constant This patch removes iwlYYY_BROADCAST_ID from run time usage. hw_setting.sta_bcast_id is used instead. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e7ec2e3230633a858af1b0b359f6c4670dbeb997 Author: Michael Buesch Date: Mon Mar 10 17:26:32 2008 +0100 ssb: Add SPROM/invariants support for PCMCIA devices This adds support for reading/writing the SPROM invariants for PCMCIA based devices. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 068edceb7e73c05f77e204442ea8f86e238575da Author: Joe Perches Date: Sun Mar 9 16:55:10 2008 -0700 include/net/ieee80211.h - remove duplicate include Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 8ed09854073ae0a19556d4d93cf79cf368c23673 Author: Ivo van Doorn Date: Mon Mar 10 00:30:44 2008 +0100 rt2x00: Only strip preamble bit in rt2400pci Only rt2400pci can have the preamble bit set in the PLCP value, for all other drivers it should not be cleared since that will conflict with the plcp values for OFDM rates. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f0e62e46c3cace185eed10ebf53ef060ba6d7bb1 Author: Ivo van Doorn Date: Sun Mar 9 22:49:21 2008 +0100 rt2x00: Release rt2x00 2.1.4 Version bump to 2.1.4 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 89993890aeb8fe58b2d49b2661965524802ab73c Author: Ivo van Doorn Date: Sun Mar 9 22:49:04 2008 +0100 rt2x00: Fix rt2400pci signal After sampling hundreds of RX frame descriptors, the results were conclusive: - The Ralink documentation regarding the SIGNAL and RSSI are wrong. It turns out that of the 5 BBR registers, we should not use BBR0 and BBR1 for SIGNAL and RSSI respectively, but actually BBR1 and BBR2. BBR0 does show values, but the exact meaning remains unclear, but they cannot be translated into a SIGNAL or RSSI field. BBR3, BBR4 and BBR5 are always 0, so their meaning is unknown. As it turns out, the reported SIGNAL is the PLCP value, this in contradiction to what was expected looking at rt2500pci which only reported the PLCP values for OFDM rates and bitrate values for CCK rates. This means we should let the driver raise the flag about the contents of the SIGNAL field so rt2x00lib can always do the right thing based on what the driver reports. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dac37d720860bbbc535adc90249184308501c1f0 Author: Ivo van Doorn Date: Sun Mar 9 22:48:46 2008 +0100 rt2x00: Fix RX DMA ring initialization Due to a terrible typo the RX DMA base address was initialized to the beacon base address. Obviously bad things happen with bugs like that.... Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit aa776721b472e343a8db7f3c0673b1fa24e6c7f7 Author: Ivo van Doorn Date: Sun Mar 9 22:48:08 2008 +0100 rt2x00: Fix basic rate initialization The basic rate which is configured in the register should not match all supported rates, but only the _basic_ rates. Fix this by adding a new flag to the rt2x00_rate structure and whenever the mode is changed, loop over all available rates for that band to get the basic rate mask. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fd3c91c5e57eef8db71cf52e2473832c330bf5db Author: Ivo van Doorn Date: Sun Mar 9 22:47:43 2008 +0100 rt2x00: Always enable TSF ticking Whatever mode we are in, according to the legacy drivers we should always enable TSF ticking/counting. We should also always enable the TBCN/TBTT field, this field is only disabled during beacon regeneration. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 72fa559bf44aab30ac5fc8317472ef3441f4aa64 Author: Ivo van Doorn Date: Sun Mar 9 22:47:08 2008 +0100 rt2x00: Make rt2x00leds_register return void rt2x00dev isn't interested in the rt2x00leds_register() value anyway. So lets make it return void to even prevent people from assuming there is anybody interested in the returnvalue. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3ee08aea72f44a6d176af7a97f3ad0c67bc65a44 Author: David Brownell Date: Thu Mar 13 09:44:48 2008 -0800 tclib: Fix compile warnings Does that have something analagous to this "remove warnings" patch? Seems setup_clkevents() no longer needs a t0_clk parameter either... Signed-off-by: Haavard Skinnemoen commit 728103794316f7ff8d98bc2ce044aff7a260ee21 Author: Ivo van Doorn Date: Sun Mar 9 22:46:18 2008 +0100 rt2x00: Rename config_preamble() to config_erp() Rename config_preamble() to config_erp() and cleanup argument list by putting it all into a single structure. This will make the function more meaningful and easier to expand later. This second option is mostly intended to make the patch "mac80211: proper short-slot handling" from Johannes Berg easier to apply for rt2x00. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e4030a2f40a9575bccc71c3e156ca78c7d6fded6 Author: Ivo van Doorn Date: Sun Mar 9 22:45:47 2008 +0100 rt2x00: Check IEEE80211_TXCTL_SEND_AFTER_DTIM flag When mac sets the IEEE80211_TXCTL_SEND_AFTER_DTIM flag, we should check if the ATIM queue is available in the driver and put the frame in that queue for proper behavior (send frame after beacon interval). Unfortunately not all drivers have this ATIM queue, and will lack this feature for now. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a4fe07d913096f4573512c9369f8ca824fbc2d8f Author: Ivo van Doorn Date: Sun Mar 9 22:45:21 2008 +0100 rt2x00: Start bugging when rt2x00lib doesn't filter SW diversity rt2x00lib should filter SW diversity out before sending any configuration changes to the driver. When rt2x00lib fails to do this, it is important that such events are reported because it _must_ be fixed. So upgrading the error level to a BUG_ON() which will make sure this bug gets noticed whenever it happens. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a7f3a06cbb63a16ad7a1720506591d8d12a03029 Author: Ivo van Doorn Date: Sun Mar 9 22:44:54 2008 +0100 rt2x00: Move firmware checksumming to driver rt2x00lib depended on 2 crc algorithms because rt61/rt73 use a different algorithm then rt2800. This means that even when only 1 algorithm was needed, the dependency was still present for both. By moving the checksum generation to the driver we can clean up 2 annoying flags (which indicated which checksum was required) and move the dependency to where it belongs: the driver. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5f46c4d0537a870f9d9c1fd998aa9d6dac682595 Author: Ivo van Doorn Date: Sun Mar 9 22:44:30 2008 +0100 rt2x00: Upgrade queue->lock to use irqsave The queue->lock could be grabbed from interrupt context, which could lead to lockdep panic like this: kernel: ====================================================== kernel: [ INFO: soft-safe -> soft-unsafe lock order detected ] kernel: 2.6.25-0.95.rc4.fc9 #1 kernel: ------------------------------------------------------ kernel: rt2500pci/1251 [HC0[0]:SC0[1]:HE1:SE0] is trying to acquire: kernel: (&queue->lock){--..}, at: [] rt2x00queue_get_entry+0x5a/0x81 [rt2x00lib] kernel: kernel: and this task is already holding: kernel: (_xmit_IEEE80211){-...}, at: [] __qdisc_run+0x84/0x1a9 kernel: which would create a new lock dependency: kernel: (_xmit_IEEE80211){-...} -> (&queue->lock){--..} kernel: kernel: but this new dependency connects a soft-irq-safe lock: kernel: (_xmit_ETHER){-+..} kernel: ... which became soft-irq-safe at: kernel: [] 0xffffffffffffffff kernel: kernel: to a soft-irq-unsafe lock: kernel: (&queue->lock){--..} kernel: ... which became soft-irq-unsafe at: kernel: ... [] __lock_acquire+0x62d/0xd63 kernel: [] lock_acquire+0x5e/0x78 kernel: [] _spin_lock+0x26/0x53 kernel: [] rt2x00queue_reset+0x16/0x40 [rt2x00lib] kernel: [] rt2x00queue_alloc_entries+0x12/0xab [rt2x00lib] kernel: [] rt2x00queue_initialize+0x24/0xf2 [rt2x00lib] kernel: [] rt2x00lib_start+0x3b/0xd4 [rt2x00lib] kernel: [] rt2x00mac_start+0x18/0x1a [rt2x00lib] kernel: [] ieee80211_open+0x1f3/0x46d [mac80211] kernel: [] dev_open+0x4d/0x8b kernel: [] dev_change_flags+0xaf/0x172 kernel: [] do_setlink+0x276/0x338 kernel: [] rtnl_setlink+0x114/0x116 kernel: [] rtnetlink_rcv_msg+0x1d8/0x1f9 kernel: [] netlink_rcv_skb+0x3e/0xac kernel: [] rtnetlink_rcv+0x29/0x33 kernel: [] netlink_unicast+0x1fe/0x26b kernel: [] netlink_sendmsg+0x2ca/0x2dd kernel: [] sock_sendmsg+0xfd/0x120 kernel: [] sys_sendmsg+0x1d2/0x23c kernel: [] tracesys+0xdc/0xe1 kernel: [] 0xffffffffffffffff This can be fixed by using the irqsave/irqrestore versions during the queue->lock handling. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 61191fb272dfa413763416ee828aae28bfd9746e Author: Luis Correia Date: Sun Mar 9 22:43:58 2008 +0100 rt2x00: Fix trivial log message Fix trivial log message. Signed-off-by: Luis Correia Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fd07e06380a1fe2b2c505d00563a63cfb63d7ceb Author: Adam Baker Date: Sun Mar 9 22:43:27 2008 +0100 rt2x00:correct rx packet length for USB devices When fixing up the packet alignment, if we had to add 2 bytes to the front of the skb we need to remember to take them off the end afterwards. This fixes reception of encrypted packets which were otherwise failing with an invalid ICV. Signed-off-by: Adam Baker Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8af244ccb14a4367568db11c5e78b45a4c2cf77e Author: Ivo van Doorn Date: Sun Mar 9 22:42:59 2008 +0100 rt2x00: Only disable beaconing just before beacon update We should not write 0 to the beacon sync register during config_intf() since that will clear out the beacon interval and forces the beacon to be send out at the lowest interval. (reported by Mattias Nissler). The side effect of the same bug was that while working with multiple virtual AP interfaces a change for any of those interfaces would disable beaconing untill an beacon update was provided. This is resolved by only updating the TSF_SYNC value during config_intf(). In update_beacon() we disable beaconing temporarily to prevent fake beacons to be transmitted. Finally kick_tx_queue() will enable beaconing again. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3976ae6c2b09608cd6a13663737a6b219245b651 Author: Ivo van Doorn Date: Sun Mar 9 22:41:53 2008 +0100 rt2x00: Use skbdesc fields for descriptor initialization In rt2x00lib_write_tx_desc() the skb->data and skb->len fields were incorrectly used. For USB drivers both of those values contain invalid data (skb->data points to the device descriptor, skb->len contains the frame _and_ descriptor length). Instead of using the skbuffer fields we should use the skbdesc fields which are correctly initialized and contain all the data that we need. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2ae23854dc0af617d9a0e3ab51a0cc51485ebbf2 Author: Mattias Nissler Date: Sun Mar 9 22:41:22 2008 +0100 rt2x00: Don't use unitialized rxdesc->size rxdesc->size is unitialized before the desriptor has been read. Move the truncation of the sk buffer to the moment all variables have been initialized. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2d1be5b0d17134ddba65c752557b1f47c8009db2 Author: Ivo van Doorn Date: Sun Mar 9 22:40:06 2008 +0100 rt2x00: Don't use uninitialized desc_len skbdesc->desc_len is uninitialized at the start of the function. So it is a _bad_ idea to use it... Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 95db4d4d5f00cc9b2aa703a05a70902776d8c2f2 Author: Mattias Nissler Date: Sun Mar 9 22:39:32 2008 +0100 rt2x00: Use the correct size when copying the control info in txdone The sizeof() operator was incorrectly applied to the pointer, not the struct. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 92f5ac6320d74fbb7230626cb88141f3ec9a694c Author: Mattias Nissler Date: Sun Mar 9 22:38:54 2008 +0100 rt2x00: Initialize TX control field in data entries In the TX path, the driver didn't copy the TX control data structure. Thus, it was invalid in the TX done handler, causing serious trouble and misbehaviour. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f855c10b6e7b0c448c35b88266f788dd3738375e Author: Ivo van Doorn Date: Sun Mar 9 22:38:18 2008 +0100 rt2x00: Align RX descriptor to 4 bytes Some architectures give problems when reading RX frame descriptor words when the descriptor is not aligned on a 4 byte boundrary. Due to optimalizations for the ieee80211 payload 4 byte alignment, it is no longer guarenteed that the descriptor is placed on the 4 byte boundrary (In fact, for rt73usb it is absolutely never aligned to 4 bytes, for rt2500usb it depends on the length of the payload). This will copy the descriptor to a 4 byte aligned location before it is read for the first time. This will also move the payload data alignment in rt2x00usb (instead of inside the driver) where it has always belonged. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 40e024de932cca8b54fbcd0e5faf8f364cc84ec0 Author: Harvey Harrison Date: Sat Mar 8 02:40:38 2008 -0800 b43: pull out helpers for writing noise table Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 461b3f2aa3c45eb2e85751b6a3b75a8dd1abd04a Author: Jussi Kivilinna Date: Sat Mar 8 01:23:25 2008 +0200 rndis_wlan: cleanup, rename structure members Rename members of ndis_80211_* structures to match the style of the rest of the code. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 1e41e1d2771456274ae2c748ed2cc74524a5863f Author: Jussi Kivilinna Date: Sat Mar 8 01:23:17 2008 +0200 rndis_wlan: cleanup, rename and reorder enums and structures Rename enums and structures to ndis_80211_* for greater readability. Also change order so that enumerations are presented first. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit e9010e2fdfe68360da374e31f7008a6d9935c783 Author: Joe Perches Date: Fri Mar 7 14:21:16 2008 -0800 drivers/net/wireless/ath5k - convert == (true|false) to simple logical tests (test == true) is not nice. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 52933d815bff78605a490582a2212a8131482e00 Author: Holger Schurig Date: Wed Mar 5 07:05:32 2008 +0100 libertas: implement SSID scanning for SIOCSIWSCAN After my bit scan re-writing the SIOCSIWSCAN wext ioctl no longer supported scanning for a specific SSID. However, wpa_supplicant is a possible user of this ioctl, so here is code that add's this. While passing, removed even more of the debugfs-based scanning. You can (and should) the SIOCSIWSCAN to ask for scans, so there is no need for proprietary interfaces for scanning. And, besides, the scan result couldn't be used further, e.g. not for associating. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit d9357136ac4729f589543afb6b1d17d443ae4f71 Author: Adrian Bunk Date: Tue Mar 4 15:26:15 2008 -0800 the scheduled rc80211-simple.c removal Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 7524d7d6de5d5d3f081de8cf5479819fad339661 Author: Adrian Bunk Date: Tue Mar 4 15:26:14 2008 -0800 the scheduled ieee80211 softmac removal Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 2079fcdc06ea01c084044c348dbcd7b3e335ad49 Author: Adrian Bunk Date: Tue Mar 4 15:26:12 2008 -0800 the scheduled bcm43xx removal Signed-off-by: Adrian Bunk Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit affe0a02189eeec43757993b1ccb65f24e39afa5 Author: Adrian Bunk Date: Tue Mar 4 15:26:06 2008 -0800 make b43_mac_{enable,suspend}() static b43_mac_{enable,suspend}() can now become static. Signed-off-by: Adrian Bunk Acked-by: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit bed04a4413376265746053be2a9cfbfc80c98ec9 Merge: e37c772... c463be3... Author: Paul Mackerras Date: Thu Mar 13 15:26:33 2008 +1100 Merge branch 'linux-2.6' commit 4cd8dc83581906948ff4cfa65007e64496b5a7c8 Author: Shaohua Li Date: Thu Feb 28 16:09:42 2008 +0800 [IA64] remove duplicate code for register access We have duplicate code to access registers (access_uarea and regset way). They just have different layout, so remove duplicate code. Signed-off-by: Shaohua Li Signed-off-by: Tony Luck commit 6cb53d7a6f40858181facde0f52587731d2e621f Author: Shaohua Li Date: Thu Feb 28 16:09:38 2008 +0800 [IA64] use CORE_DUMP_USE_REGSET After we have regset support, we can use CORE_DUMP_USE_REGSET. Signed-off-by: Shaohua Li Signed-off-by: Tony Luck commit 75529219373e53042fc46c86d991125e616f42dd Author: Shaohua Li Date: Thu Feb 28 16:09:33 2008 +0800 [IA64] regset: 32-bit support This is the 32-bit regset implementation under IA64. Basically register read/write, which is derived from current ptrace register read/write. This version added TLS support. Signed-off-by: Shaohua Li Signed-off-by: Tony Luck commit c70f8f68676866d778564de337bec6b8734c3850 Author: Shaohua Li Date: Thu Feb 28 16:47:50 2008 +0800 [IA64] regset: 64-bit support This is the 64-bit regset implementation under IA64. Basically register read/write, which is derived from current ptrace register read/write. Signed-off-by: Shaohua Li Signed-off-by: Tony Luck commit ba73d4c84a7344f1b5635c2b4e96796e8c13a126 Merge: b8ad0cb... deedf50... Author: David S. Miller Date: Tue Mar 11 19:17:18 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6.26 commit 4fe01c68eba53c3f324807faff71535218c41e9c Author: Hidetoshi Seto Date: Tue Jan 29 14:39:33 2008 +0900 [IA64] cleanup and improve fsys_gettimeofday This patch does: - Remove outdated comments (which someday I marked with "?"). - Reassemble instructions to fit them in fewer bundles. - If McKinley Errata 9 workaround is not needed, the workaround bundles will be patched out with NOPs. However it also not needed to have a totally NOP bundle (nop * 3) before branch. As a result, this makes the code path 3 (or 2) bundles shorter (and remove 1 unnecessary stop bit). It seems to be 1% faster. (10sec loop test, with nojitter @ Madison 1.5GHz x 4) Before: CPU 0: 0.14 (usecs) (0 errors / 69598875 iterations) CPU 1: 0.14 (usecs) (0 errors / 69630721 iterations) CPU 2: 0.14 (usecs) (0 errors / 69607850 iterations) CPU 3: 0.14 (usecs) (0 errors / 69619832 iterations) After: CPU 0: 0.14 (usecs) (0 errors / 70257728 iterations) CPU 1: 0.14 (usecs) (0 errors / 70309498 iterations) CPU 2: 0.14 (usecs) (0 errors / 70280639 iterations) CPU 3: 0.14 (usecs) (0 errors / 70260682 iterations) Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 9446389ef612096704fdf18fa79bab423d4110f0 Merge: cdd0972... 84c6f60... Author: Trond Myklebust Date: Sat Mar 8 11:49:24 2008 -0500 Merge commit 'origin' into devel commit deedf504302ff747985db081352e045ff7087a11 Author: Reinette Chatre Date: Fri Mar 7 13:47:20 2008 -0800 iwlwifi: fix potential lock inversion deadlock This is a change to a previous patch ("iwlwifi: 3945 split tx_complete to command and packet function") to ensure we do not have hardirq safe locks (priv->lock in this case) depend on hardirq unsafe locks. We only call iwl3945_tx_queue_reclaim while in a tasklet so we have to use the irqsafe version of the function. Signed-off-by: Reinette Chatre Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit f868f4e196177ee96f77304ab707a0ad5ddd6fe4 Author: John W. Linville Date: Fri Mar 7 16:38:43 2008 -0500 wireless: correct warnings from using '%llx' for type 'u64' drivers/net/wireless/ath5k/debug.c: In function 'read_file_tsf': drivers/net/wireless/ath5k/debug.c:203: warning: format '%016llx' expects type 'long long unsigned int', but argument 4 has type 'u64' drivers/net/wireless/ath5k/debug.c:203: warning: format '%016llx' expects type 'long long unsigned int', but argument 4 has type 'u64' drivers/net/wireless/ath5k/debug.c: In function 'read_file_beacon': drivers/net/wireless/ath5k/debug.c:274: warning: format '%016llx' expects type 'long long unsigned int', but argument 4 has type 'u64' drivers/net/wireless/ath5k/debug.c:274: warning: format '%016llx' expects type 'long long unsigned int', but argument 4 has type 'u64' drivers/net/wireless/iwlwifi/iwl-4965.c: In function 'iwl4965_tx_status_reply_compressed_ba': drivers/net/wireless/iwlwifi/iwl-4965.c:3907: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'u64' drivers/net/wireless/iwlwifi/iwl-4965.c: In function 'iwl4965_rx_reply_compressed_ba': drivers/net/wireless/iwlwifi/iwl-4965.c:4039: warning: format '%llx' expects type 'long long unsigned int', but argument 6 has type '__le64' drivers/net/wireless/iwlwifi/iwl-4965.c:4046: warning: format '%llx' expects type 'long long unsigned int', but argument 5 has type 'u64' drivers/net/wireless/iwlwifi/iwl4965-base.c: In function 'iwl4965_tx_status_reply_tx': drivers/net/wireless/iwlwifi/iwl4965-base.c:3661: warning: format '%llx' expects type 'long long unsigned int', but argument 6 has type 'u64' Signed-off-by: John W. Linville commit 6ba81c2c989291c5893014f84805ce9d196778b0 Author: Bruno Randolf Date: Wed Mar 5 18:36:26 2008 +0900 ath5k: work around wrong beacon rx timestamp in IBSS mode atheros hardware has a problem with the rx timestamp of some IBSS beacons when they caused a TSF update (they have the same BSSID). the rx timestamp is wrong especially if the beacon frames get bigger than 78 byte (at least on AR5213 and AR5414 hardware). in that case ath5k_extend_tsf() will assume a rs_tstamp overflow and give us a timestamp too far in the past which will cause mac80211 to merge IBSS on every beacon (which is not necessary since the BSSID already matches). but in this case we know that the HW must have synced to the beacons TSF and the rx timestamp must be later than that so we can adjust mactime accordingly. also rename the function to ath5k_check_ibss_tsf() and change comments, since "hw merge" is better described as a TSF update. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit e14296cabac60806606b4ebc1a83ee4697876346 Author: Bruno Randolf Date: Wed Mar 5 18:36:05 2008 +0900 ath5k: add notes about rx timestamp add comments about the fact that we don't know when exactly the atheros hardware takes the RX timestamp. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit b47f407bef0d5349dacf65cd3560a976609d4b45 Author: Bruno Randolf Date: Wed Mar 5 18:35:45 2008 +0900 ath5k: move rx and tx status structures out of hardware descriptor move ath5k_tx_status and ath5k_rx_status structures out of the hardware descriptor since they are not accessed by the hardware at all. they just contain converted information from the hardware descriptor. since they are only used in the rx and tx tasklets there is also no use to keep them for each descriptor. drivers/net/wireless/ath5k/ath5k.h: Changes-licensed-under: ISC drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD drivers/net/wireless/ath5k/debug.c: Changes-licensed-under: GPL drivers/net/wireless/ath5k/debug.h: Changes-licensed-under: GPL drivers/net/wireless/ath5k/hw.c: Changes-licensed-under: ISC Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 19fd6e5510f6991148e2210753b58f0eab95e0f6 Author: Bruno Randolf Date: Wed Mar 5 18:35:23 2008 +0900 ath5k: struct ath5k_desc cleanups * make struct ath5k_desc clearer by directly including unions of structures, which correspond to the hardware descriptors of different HW versions (5210 and 5212). before they were casted at onto ath5k_desc at different points (e.g. ds_hw[2]). * rename some structures and variable names to make their use clearer, e.g. struct ath5k_hw_4w_tx_desc to ath5k_hw_4w_tx_ctl. * substitute "old" with "5210" and "new" with "5212" (eg. rename ath5k_hw_proc_new_rx_status() to ath5k_hw_proc_5212_rx_status()) because old and new are relative and we might have a newer structure at some point. * unify structs ath5k_hw_old_rx_status and ath5k_hw_new_rx_status into one ath5k_hw_rx_status, because they only differ in the flags and masks. drivers/net/wireless/ath5k/ath5k.h: Changes-licensed-under: ISC drivers/net/wireless/ath5k/debug.c: Changes-licensed-under: GPL drivers/net/wireless/ath5k/hw.c: Changes-licensed-under: ISC drivers/net/wireless/ath5k/hw.h: Changes-licensed-under: ISC Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit b095d03a7d724db7379b73f64b6035f7be2e0a7c Author: Ron Rindjunsky Date: Thu Mar 6 17:36:56 2008 -0800 iwlwifi: grab NIC access when disabling aggregations This patch grabs NIC access inside iwl4965_tx_queue_agg_disable, instead of the caller doing it. The caller must still hold priv->lock when calling the function. Signed-off-by: Max Stepanov Signed-off-by: Emmanuel Grumbach Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 91c066f27b6dacb6589fb5190af373fb9f993397 Author: Tomas Winkler Date: Thu Mar 6 17:36:55 2008 -0800 iwlwifi: 3945 split tx_complete to command and packet function This patch 1. removes cmd completion from iwl3945_tx_queue_reclaim and creates iwl3945_cmd_queue_reclaim. 1. removes 11n relevant elements from this function 2. removes call to ieee80211_tx_status_irqsafe and uses ieee80211_tx_status only Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 28447f3cfdf72f6ea97b50cc1eefe35602107dff Author: Tomas Winkler Date: Thu Mar 6 17:36:54 2008 -0800 iwlwifi: Fix 3945 rate scaling This patch fix 3945 rate scaling after cfg80211 rate/band changes Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c54b679ddcd91604fd0d144cd793a0ddbd0ae03d Author: Tomas Winkler Date: Thu Mar 6 17:36:53 2008 -0800 iwlwifi: queue functions cleanup This patch moves 1. iwl_queue_inc_wrap and int iwl_queue_dec_wrap into iwl-helpers.h these two functions are identical to common for both iwl3956 and iwl4965 2. renames x2_queue_used to iwl3945_x2_queue_used 3. exports iwl3945_queue_space out of iwl3964-base.c Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 34cf6ff6dd42cbc61fd652f893dcf71eed6052a5 Author: Assaf Krauss Date: Thu Mar 6 10:40:20 2008 -0800 iwlwifi: Moving EEPROM handling in iwlcore module This patch move EEPROM code into iwl core module Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit df48c3235c90095a2f7dbcaba444add363ffb0ef Author: Tomas Winkler Date: Thu Mar 6 10:40:19 2008 -0800 iwlwifi: add iwl-core module This patch adds iwl-core module to iwlwifi driver. This module will contain common code and infrastracture for iwlwifi driver Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f4d6082d53c588036a1c37891cb7d65088be13f5 Author: Tomas Winkler Date: Wed Mar 5 11:31:00 2008 -0800 iwlwifi: fix locking unbalance in 4965 rate scale This patch fixes locking unbalance after adding rcu locking for sta Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6c5ef8a7059e4f7adc37b337face8b0a8cbd4f48 Author: Ron Rindjunsky Date: Wed Mar 5 17:38:59 2008 +0200 mac80211: document IEEE80211_TXCTL_OFDM_HT This patch clarifies the use of IEEE80211_TXCTL_OFDM_HT flag. Can by united with patch "mac80211: adding mac80211_tx_control flags and HT flags" Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit b716bb918f8f7967e361770eb1545d2b4bcffc26 Author: Emmanuel Grumbach Date: Tue Mar 4 18:09:32 2008 -0800 iwlwifi: Cancel scanning upon association This patch cancels an ongoing HW scan upon association. Not doing this resulted in instability in association. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 4bf775cdc08b8741f78fbf85e3d2e6bebe783d32 Author: Tomas Winkler Date: Tue Mar 4 18:09:31 2008 -0800 iwlwifi: Take the fw file name from the iwl_cfg. This patch adds fw_name to iwl_cfg. This allows run time selection of needed fw/ucode file Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 82b9a1213132aa53ddbcc459ed77a335d031cd2e Author: Tomas Winkler Date: Tue Mar 4 18:09:30 2008 -0800 iwlwifi: add struct iwl_cfg This patch introduces struct iwl_cfg. struct iwl_cfg defines static configuration for each device type and sku. It is passed as driver_data to the bus probe function. This patch also introduce new common header file iwl-core.h which will represent core functionality of iwlwifi driver 3945ABG uses separate iwl-3945-dev.h header file for now Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 750fe6396614e267aeec0e2ff636740e2688d4d9 Author: Tomas Winkler Date: Tue Mar 4 18:09:29 2008 -0800 iwlwifi: Move HBUS address to iwl-csr.h HBUS is accessed through CSR registers moved to iwl-csr.h Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6f83eaa170c05324fb33668eace007ea24c277d2 Author: Tomas Winkler Date: Tue Mar 4 18:09:28 2008 -0800 iwlwifi: extract iwl-csr.h This patch extract CSR Register definition into separate header files as most of the definition are commons to both 3945 and 4965. Definitions specific for 3945 and 4965 are properly prefixed Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4c424e4cc7bc9d3c4c22b408904c36b44afddc3e Author: Ron Rindjunsky Date: Tue Mar 4 18:09:27 2008 -0800 iwlwifi: use mac80211_tx_control_flags This patch makes use of the new mac80211_tx_control_flags and tx_rate to pass Tx data, regular and 11n, from the HW tx response into the rate scaling. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 11f4b1cec98ad95abda80dc20bdc3cecac145d77 Author: Ron Rindjunsky Date: Tue Mar 4 18:09:26 2008 -0800 mac80211: adding mac80211_tx_control_flags and HT flags This patch makes enum from the defines previously dwelled inside ieee80211_tx_control for better readability. The patch also addes HT flags, for 802.11n drivers: - IEEE80211_TXCTL_OFDM_HT: request low-level driver to use HT OFDM rates - IEEE80211_TXCTL_GREEN_FIELD: use green field protection - IEEE80211_TXCTL_DUP_DATA: duplicate data on both 20 Mhz channels - IEEE80211_TXCTL_40_MHZ_WIDTH: send this frame in 40Mhz width - IEEE80211_TXCTL_SHORT_GI: send this frame with short guard interval Tx command can be a combination of any of these flags, along with bitrate represented by ieee80211_rate. this will allow legacy drivers to switch easily to any 11n rate representation. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler CC: Johannes Berg Signed-off-by: John W. Linville commit 134eb5d327270c5d3816f8d812e68aa27a335ca8 Author: Guy Cohen Date: Tue Mar 4 18:09:25 2008 -0800 iwlwifi: 802.11n spec removes AUTO offset for FAT channel This patch adapts to 802.11 patch and remove AUTO offset for FAT channel Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 87d96114a73dfa323c12c77a2ea9f96f0020c690 Author: Michael Buesch Date: Fri Mar 7 19:52:24 2008 +0100 b43: Fix failed frames status report typo This fixes a typo in the status report. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 57df40d278df552ad5fb4926fa05d06065c8150c Author: Michael Buesch Date: Fri Mar 7 15:50:02 2008 +0100 b43: Add TX statistics debugging counters This adds a few debugging counters, that are useful for debugging the "card does not transmit" or "connection is unstable" kind of problems. It's also useful for tuning an RC algorithm. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit b27faf8ebf256429df8851477e02609448c0781f Author: Michael Buesch Date: Thu Mar 6 16:32:46 2008 +0100 b43: Rename the DMA ring pointers Rename the DMA ring pointers to have more descriptive and standard names. Also remove the 6th unused TX ring. We can add it back later, if we need it. The unused TX-status rx-ring is also removed, as that's only used by legacy devices not supported by this driver anyway. This is no functional change, except less memory allocation for the removed rings. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e6f5b934fba8c44c87c551e066aa7ca6fde2939e Author: Michael Buesch Date: Wed Mar 5 21:18:49 2008 +0100 b43: Add QOS support This adds QOS support to the b43 driver. QOS can be disabled on driver level with a module parameter for debugging purposes. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e5f98f2df903af627a9b9ac55b9352fd54fc431a Author: Johannes Berg Date: Wed Mar 5 20:39:31 2008 +0100 mac80211: don't call conf_tx under RCU lock Reinette pointed out that with the sta_info RCU-ification the behaviour here changed and the conf_tx callback is now invoked under RCU read lock. That is not necessary so this patch restores the original behaviour Signed-off-by: Johannes Berg Tested-by: Reinette Chatre Signed-off-by: John W. Linville commit bb0c9dc27e8fa360e108e6e96860da620a7c5d04 Author: Nick Kossifidis Date: Fri Mar 7 11:52:51 2008 -0500 ath5k: Add 2413 to srev_names so that it shows up during module load Add 2413 to srev_names so that it shows up during module load. This is based on the new patch 7 which did not introduce a helper on ath5k_hw_reset(). Changes-licensed-under: 3-clause-BSD Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c87cdfd270e8fb24ba1b707c83da499b87ef1ade Author: Nick Kossifidis Date: Fri Mar 7 11:48:21 2008 -0500 ath5k: Make some changes to follow register dumps. Make some changes which mimic what we see in register dumps. This patch does not add a helper to ath5k_hw_reset(). It does seem clear we need a re-shuffle around ath5k_hw_reset() though as code in there is lengthy and already hitting 80-char limit. This can be dealt with later though. Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 56c9054f16ecb62bd83e9c55032522604d2f626c Author: Nick Kossifidis Date: Thu Feb 28 16:20:52 2008 -0500 ath5k: Fixes for PCI-E cards * Fix nic_wakeup for PCI-E chips (don't set AR5K_RESET_CTL_PCI bit) * Fix dma size setting for PCI-E chips (thanx to Bob Copeland). Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 74693a7f3096a52ecbf477d31dc4c595bf27a8d3 Author: Nick Kossifidis Date: Thu Feb 28 14:51:40 2008 -0500 ath5k: Remove RF5413 from rf gain optimization functions * Since RF2413 it seems that RF_BUFFER settings are different (notice that the last part -"bank 7" or whatever- is smaller than in 5111/5112). So until we know what's going on we assume there is no gain optimization stuff in post-5112 chips. Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 903b474efabab6a4ce697063c367afd8e2ad83f3 Author: Nick Kossifidis Date: Thu Feb 28 14:50:50 2008 -0500 ath5k: more RF2413 stuff * Add AR5K_RF2413 to radio check during hw_reset so it doesn't complain * Write ah_phy_spending value we set during attach instead of checking each time for radio revision * Skip txpower setup for RF2413 because it can't transmit with it (weird thing is that RF5413 has no problem with it). Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0af2256319959aaca95959a493ed2282edaaae3e Author: Nick Kossifidis Date: Thu Feb 28 14:49:05 2008 -0500 ath5k: Identify RF2413 and deal with PHY_SPENDING * Attach RF2413. * Propertly handle different AR5K_PHY_SPENDING settings for each RF chip by adding a field in ath5k_hw. This way we won't have to check inside hw_reset (see next patch). Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f714dd6d452af8fda700d67dc67163c6ad9d4569 Author: Nick Kossifidis Date: Thu Feb 28 14:43:51 2008 -0500 ath5k: Add RF2413 initial settings * Add initial settings for RF2413 Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8daeef9717598f638e6fa8ea12770173d2dea771 Author: Nick Kossifidis Date: Thu Feb 28 14:40:00 2008 -0500 ath5k: Add RF2413 srev values * Add RF2413 srev values and a new entry on ath5k_radio enum for it since it differs from RF5413 (it's not like 5112-2112). Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b8ad0cbc58f703972e9e37c4e2a8081dd7e6a551 Author: Daniel Lezcano Date: Fri Mar 7 11:16:55 2008 -0800 [NETNS][IPV6] mcast - handle several network namespace This patch make use of the network namespace information at the right places to handle the multicast for several network namespaces. It makes the socket control to be per namespace too. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit e504799276e53045a9b597f24c1b456552482f63 Author: Daniel Lezcano Date: Fri Mar 7 11:16:26 2008 -0800 [NETNS][IPV6] tcp6 - handle several network namespace We have the right network namespace at the right place now. So make use of this information to make tcp6 per network namespace Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 93ec926b075d14bb7edcbc054e92199e9ad4ad1d Author: Daniel Lezcano Date: Fri Mar 7 11:16:02 2008 -0800 [NETNS][IPV6] tcp6 - make socket control per namespace Instead of having a tcp6_socket global to all the namespace, there is tcp6 socket control per namespace. That is consistent with which namespace sent a RST and allows to pass the socket to the underlying function to retrieve the network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 1762f7e88eb34f653b4a915be99a102e347dd45e Author: Daniel Lezcano Date: Fri Mar 7 11:15:34 2008 -0800 [NETNS][IPV6] ndisc - make socket control per namespace Make ndisc socket control per namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit a18bc6959d9793c8352d2177b456d93868953874 Author: Daniel Lezcano Date: Fri Mar 7 11:14:49 2008 -0800 [NETNS][IPV6] ndisc - make ndisc handle multiple network namespaces Make ndisc handle multiple network namespaces: Remove references to init_net, add network namespace parameters and add pernet_operations for ndisc Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 8a3edd800dcdf949953777c73abf54de261574e8 Author: Daniel Lezcano Date: Fri Mar 7 11:14:16 2008 -0800 [NETNS][IPV6] fix some missing namespace This patch adds some missing namespace Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit db8dac20d5199307dcfcf4e01dac4bda5edf9e89 Author: David S. Miller Date: Thu Mar 6 16:22:02 2008 -0800 [UDP]: Revert udplite and code split. This reverts commit db1ed684f6c430c4cdad67d058688b8a1b5e607c ("[IPV6] UDP: Rename IPv6 UDP files."), commit 8be8af8fa4405652e6c0797db5465a4be8afb998 ("[IPV4] UDP: Move IPv4-specific bits to other file.") and commit e898d4db2749c6052072e9bc4448e396cbdeb06a ("[UDP]: Allow users to configure UDP-Lite."). First, udplite is of such small cost, and it is a core protocol just like TCP and normal UDP are. We spent enormous amounts of effort to make udplite share as much code with core UDP as possible. All of that work is less valuable if we're just going to slap a config option on udplite support. It is also causing build failures, as reported on linux-next, showing that the changeset was not tested very well. In fact, this is the second build failure resulting from the udplite change. Finally, the config options provided was a bool, instead of a modular option. Meaning the udplite code does not even get build tested by allmodconfig builds, and furthermore the user is not presented with a reasonable modular build option which is particularly needed by distribution vendors. Signed-off-by: David S. Miller commit ba0fa4599484b98dbb21d279fbfdb40e9c07d30d Author: Allan Stephens Date: Thu Mar 6 15:08:40 2008 -0800 [TIPC]: Update version to 1.6.3 This patch updates TIPC's version number to 1.6.3. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit c0cb7ef08667374f0cbe8c94c819f74a6c935135 Author: Allan Stephens Date: Thu Mar 6 15:08:10 2008 -0800 [TIPC]: Enhancements to message header writing This patch makes two enhancements to the routine used to set bit fields within a TIPC message header: 1) It now ignores any bits of the new field value that are not covered by the mask being used. (Previously, if the new value exceeded the size of the mask the extra bits could corrupt other fields in the message header word being updated.) 2) The code has been optimized to minimize the number of run-time endianness conversion operations by leveraging the fact that the mask (and, in some cases, the value as well) is constant and the necessary conversion can be performed by the compiler. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 37695420a233aa8aef40c68cb338ad09e0241ec3 Author: Allan Stephens Date: Thu Mar 6 15:07:42 2008 -0800 [TIPC]: Use correct bitmask when setting version This patch ensures that the 3-bit version field of the TIPC message header is masked correctly when written into a message. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 06d82c9191261942ce7873ce4a8735fd2a15e662 Author: Allan Stephens Date: Thu Mar 6 15:06:55 2008 -0800 [TIPC]: Minor cleanup of message header code This patch eliminates some unused or duplicate message header symbols, and fixes up the comments and/or location of a few other symbols. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 0e0609bbd2ab39a5964a70b409a5567ebbaf3700 Author: Allan Stephens Date: Thu Mar 6 15:06:06 2008 -0800 [TIPC]: Eliminate "sparse" symbol warnings This patch eliminates warnings about undeclared symbols. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit e247a8f5d018740220c66bd5df1928d21d277d63 Author: Allan Stephens Date: Thu Mar 6 15:05:38 2008 -0800 [TIPC]: Add argument validation for shutdown() This patch validates that the "how" argument to shutdown() is SHUT_RDWR, since this is the only form that TIPC supports. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 8c8696553aa3895c2ad4289537e4af45a8877b62 Author: Allan Stephens Date: Thu Mar 6 15:05:07 2008 -0800 [TIPC]: Removal of message header option code This patch removes code associated with optional, user-specified fields of the TIPC message header. Such fields were never utilized by TIPC, and have now been removed from the protocol specification. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 72e77a8a7921d952bdef2468d9315616eca6b464 Author: Luis Carlos Cobo Date: Mon Mar 3 12:32:15 2008 -0800 zd1211rw: support for mesh interface and beaconing The previously unused CR_CAM_MODE register is set to MODE_AP_WDS. This makes the driver ack mesh (WDS) frames. It does not affect Infra functionality of the driver. Previously missing beaconing support has been added. This might also help implement a currently missing ah-hoc mode. Support for interrupts from the device have been added, but we are not handling most of them. Mesh interfaces are considered associated as long as the interface is up. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit f137e05468f2a648aba11377dc824d788683dff4 Author: David Woodhouse Date: Mon Mar 3 12:18:59 2008 +0100 libertas: clean up scan.c, remove zeromac and bcastmac Should be purely cosmetic apart from the removal of the two pointless MAC addresses. Signed-off-by: David Woodhouse Acked-by: Dan Williams Signed-off-by: John W. Linville commit fa62f99cf80af9c65bfc0f731d780e03e3ce6ede Author: David Woodhouse Date: Mon Mar 3 12:18:03 2008 +0100 libertas: convert 802_11_SCAN to a direct command Signed-off-by: David Woodhouse Acked-by: Dan Williams Signed-off-by: John W. Linville commit c5562e98332511c3e4d7f807ae4dd85f6db2a7e6 Author: David Woodhouse Date: Mon Mar 3 12:16:42 2008 +0100 libertas: add LED control TLV to types.h Signed-off-by: David Woodhouse Acked-by: Dan Williams Signed-off-by: John W. Linville commit 9e1228d00a8e959dd3f4d0bd7949fda1ce11b314 Author: David Woodhouse Date: Mon Mar 3 12:15:39 2008 +0100 libertas: convert KEY_MATERIAL to a direct command The struct enc_key probably wants to die too, but that can come later. Signed-off-by: David Woodhouse Acked-by: Dan Williams Signed-off-by: John W. Linville commit 17744ff6ae7eafe33dac9772f2ef9ab5fb738db8 Author: Tomas Winkler Date: Sun Mar 2 01:52:00 2008 +0200 iwlwifi: Fix 52 rate report in rx status This patch fixes reporting rate in RX packets in 52 band. The rate was updated from CCK rate index instead of OFDM rate 6M Most of the patch is collateral clean up Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 8211ef78d9023a8772e5acf6b7934598156b2fc8 Author: Tomas Winkler Date: Sun Mar 2 01:36:04 2008 +0200 iwlwifi: refactor init geos function This patch refactors init geos function. It also fixes few minor bugs. IWL_MAX_RATE -> IWL_RATE_COUNT (IWL_MAX_RATE included also MCS setting) There are 9 and 13 rates for 4965 in 2.4 and 5.2 respectively (rate 60) Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 2acae16ee79386c73db10fa8e95c9cd42fbad272 Author: Tomas Winkler Date: Sun Mar 2 01:25:59 2008 +0200 iwlwifi: removing unused priv->config This patch removes unused variable in iwlYYYY_priv Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit aab547ce0d1493d400b6468c521a0137cd8c1edf Author: Michael Buesch Date: Fri Feb 29 11:36:12 2008 +0100 ssb: Add Gigabit Ethernet driver This adds the Gigabit Ethernet driver for the SSB Gigabit Ethernet core. This driver actually is a frontend to the Tigon3 driver. So the real work is done by tg3. This device is used in the Linksys WRT350N. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 69d3b6f491545d326135a1def4e290cd577c9a36 Author: Johannes Berg Date: Wed Mar 5 10:58:40 2008 +0100 mac80211: fix hardware scan completion The mac80211 MLME requires restarting timers after a scan completes but this wasn't done when hardware scan offload was added, so add it now. Signed-off-by: Johannes Berg Tested-by: Bill Moss Cc: Reinette Chatre Signed-off-by: John W. Linville commit 2a8ca29a88e3858685c463ffd19e11c20d14c73a Author: Luis Carlos Cobo Date: Fri Feb 29 17:51:25 2008 -0800 mac80211: fix mesh_path and sta_info get_by_idx functions Skip properly entries whose dev does not match. Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit a00de5d08b4bcd1e95d02667029406224bd0619b Author: Luis Carlos Cobo Date: Fri Feb 29 17:07:54 2008 -0800 mac80211: path IE fields macros, fix alignment problems and clean up Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit b4e08ea141e6d663dec31b31d6289baeaaa2a3a2 Author: Luis Carlos Cobo Date: Fri Feb 29 15:46:08 2008 -0800 mac80211: add PLINK_ prefix and kernel doc to enum plink_state Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit cfa22c716f65b4d286a68aeacee4a7361a4035e6 Author: Luis Carlos Cobo Date: Fri Feb 29 15:04:13 2008 -0800 mac80211: always force mesh_path deletions Postponing the deletion is not really useful anymore. Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 89a1ad6990d884796c5280d13aa58d216dffa08d Author: Luis Carlos Cobo Date: Fri Feb 29 14:49:37 2008 -0800 mac80211: delete mesh_path timer on mesh_path removal This avoids dereferencing a no longer existing struct mesh_path. Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit aa2b5928433ce6ba98cf31ab048c7882aeae56a3 Author: Luis Carlos Cobo Date: Fri Feb 29 14:30:32 2008 -0800 mac80211: clean up use of endianness conversion functions Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4f5d4c4da89c7aa0fa194a7fd3e52233067932ea Author: Luis Carlos Cobo Date: Fri Feb 29 12:32:46 2008 -0800 mac80211: breakdown mesh network attributes in different extra fields for wext Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3b091cd4941912081730ffa17948da6d148c822d Author: Luis Carlos Cobo Date: Fri Feb 29 12:20:39 2008 -0800 mac80211: move comment to better location Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 1d1b535969ca5572d87a6fcac49e1e1a31241b99 Author: Luis Carlos Cobo Date: Fri Feb 29 12:15:28 2008 -0800 mac80211: fix incorrect parenthesis Pointed out by Johannes Berg. Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 37659ff8e1d8d1f9c86bdb974d41479ccd001213 Author: Luis Carlos Cobo Date: Fri Feb 29 12:13:38 2008 -0800 mac80211: fix mesh endianness sparse warnings and unmark it as broken This patch fixes all the mesh related endianness warnings reported by sparse. As they were the reason why Johannes marked mesh as BROKEN, that flag has been removed. Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 96c46546e28282a743b97f26e94c7565350898b7 Author: Johannes Berg Date: Sat Mar 1 19:32:18 2008 +0100 mac80211: always insert key into list Today I hit one of my new WARN_ONs in the mac80211 code because a key wasn't being freed correctly. After wondering for a while I finally tracked it to the fact that STA keys aren't added to the per-sdata key list correctly, they are supposed to always be on that list, not just for default keys. This patch fixes that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 38968d096b9f497e7ec4590b6b80eb8679e3646a Author: Johannes Berg Date: Mon Feb 25 16:27:50 2008 +0100 b43: verify sta_notify mac80211 callback This helps verify that nothing bad is going on in mac80211, it is unfortunately not possible to implement this generically in mac80211 easily because there we can't assume that we only have a single vif which b43 currently can assume. Signed-off-by: Johannes Berg Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 03e4497ebeaa8011eb0ab0a54496ed6413b9d1a4 Author: Johannes Berg Date: Wed Feb 27 09:56:40 2008 +0100 mac80211: fix sta_info mesh timer bug I noticed a bug I introduced when mesh is enabled: sta_info_destroy() will end up calling cancel_timer() on a timer that has never been initialized because the timer is only initialized in mesh_plink_alloc(), not in sta_info_alloc(). This patch moves the initialization of all mesh related fields into sta_info_alloc(), adds a bit of sanity checking to the cfg80211 handlers and sta_info_insert() and makes mesh_plink_alloc() a static helper function that is only used from the mesh plink code. Signed-off-by: Johannes Berg Cc: Luis Carlos Cobo Signed-off-by: John W. Linville commit dbbea6713d6096cd1c411cb453a6b71292c78b33 Author: Johannes Berg Date: Tue Feb 26 14:34:06 2008 +0100 mac80211: add documentation book Quite a while ago I started this book. The required kernel-doc patches have since gone into the tree so it is now possible to build the book in mainline. The actual documentation is still rather incomplete and not all things are linked into the book, but this enables us to edit the documentation collaboratively, hopefully driver authors can add documentation based on their experience with mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7c8076bd8be3fd2a9a94f9687cf39e3505f0e4ec Author: Johannes Berg Date: Tue Feb 26 10:53:57 2008 +0100 mac80211: don't clear next_hop in path reclaim Luis pointed out that this path is going to be freed right away anyway so there's no point in assigning next_hop. Signed-off-by: Johannes Berg Cc: Luis Carlos Cobo Signed-off-by: John W. Linville commit 44213b5e13c907bf4aa2e73941944f90184c8772 Author: Johannes Berg Date: Mon Feb 25 16:27:49 2008 +0100 mac80211: remove STA entries when taking down interface When we take down an interface, we need to remove the STA info items that belong to it because otherwise we might invoke a sta_notify() callback in the driver when we later delete the STA entries, but in that case the driver will already have removed its knowledge of the interface they belonged to leading to confusion. Also, we could invoke the set_tim() callback after the driver removed its knowledge of the interface, which can lead to a crash if it requests a beacon with a then-invalid vif pointer! A side effect of this patch is that, because it was easier, it disallows changing the WDS peer while an interface is up. Should that actually be necessary, it can be added back, but the WDS peer STA entry may not be added while the interface is UP so for now I've simplified the WDS peer's STA entry lifetime management. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 693b1bbcc47b3fd436068f294147357f90cd1296 Author: Johannes Berg Date: Mon Feb 25 16:27:48 2008 +0100 mac80211: clean up sta_info and document locking This patch cleans up the sta_info struct and documents how each set of variables is locked. Notably, flags locking is completely missing. It also adds kernel-doc for some (but not all yet) members of the struct. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 73651ee6396c499ccb59ebc84c9274db01ed026d Author: Johannes Berg Date: Mon Feb 25 16:27:47 2008 +0100 mac80211: split sta_info_add sta_info_add() has two functions: allocating a station info structure and inserting it into the hash table/list. Splitting these two functions allows allocating with GFP_KERNEL in many places instead of GFP_ATOMIC which is now required by the RCU protection. Additionally, in many places RCU protection is now no longer needed at all because between sta_info_alloc() and sta_info_insert() the caller owns the structure. This fixes a few race conditions with setting initial flags and similar, but not all (see comments in ieee80211_sta.c and cfg.c). More documentation on the existing races will be in a follow-up patch. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d0709a65181beb787ef3f58cfe45536a2bb254c8 Author: Johannes Berg Date: Mon Feb 25 16:27:46 2008 +0100 mac80211: RCU-ify STA info structure access This makes access to the STA hash table/list use RCU to protect against freeing of items. However, it's not a true RCU, the copy step is missing: whenever somebody changes a STA item it is simply updated. This is an existing race condition that is now somewhat understandable. This patch also fixes the race key freeing vs. STA destruction by making sure that sta_info_destroy() is always called under RTNL and frees the key. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5cf121c3cdb955583bf0c5d28c992b7968a4aa1a Author: Johannes Berg Date: Mon Feb 25 16:27:43 2008 +0100 mac80211: split ieee80211_txrx_data Split it into ieee80211_tx_data and ieee80211_rx_data to clarify usage/flag usage and remove the stupid union thing. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7495883bdd07e6a233f8a7f3d85c085c1618a203 Author: Johannes Berg Date: Mon Feb 25 22:17:30 2008 +0100 mac80211: reorder a few fields in sta_info Three __le16s followed by an enum (int) leave a two-byte hole of padding which we can use for two of the other fields. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 42096b634f87bb65e08d1fa61462d5b30d9779ca Author: Johannes Berg Date: Mon Feb 25 21:36:27 2008 +0100 mac80211: fix kernel-doc comment for mesh_plink_deactivate Accidentally copied in a __mesh_plink_deactivate, noticed by Luis Carlos Cobo. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d6d1a5a7096172a1592115331a420630adf47f8c Author: Johannes Berg Date: Mon Feb 25 16:24:38 2008 +0100 mac80211: clean up mesh RX path a bit more Moves another ifdef into the sta_info header file in favour of compiling more code even w/o CONFIG_MAC80211_MESH. Signed-off-by: Johannes Berg Cc: Luis Carlos Cobo Signed-off-by: John W. Linville commit c1edd987a4ae08908d8ec08c550240ea065e0649 Author: Johannes Berg Date: Mon Feb 25 16:15:06 2008 +0100 mac80211: export mesh_plink_broken This needs to be exported because rate control algorithms can be modular. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5c142e8db4b2a10dad103d49f309381cb9fc6a87 Author: Johannes Berg Date: Mon Feb 25 10:13:31 2008 +0100 mac80211: clarify mesh Kconfig This clarifies that the mesh networking code is currently based on Draft 1.08 of the 802.11 Mesh Networking amendment. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ff59dc76e6e996092e4e11f4a6a370702428ead5 Author: Johannes Berg Date: Mon Feb 25 10:11:50 2008 +0100 mac80211: add missing "break" statement in mesh code This inserts a missing break statement which, if hit, would cause the code to fall-through and unlock a spinlock twice. Noticed via sparse's "lock count wrong in basic block" warning and careful code inspection. Signed-off-by: Johannes Berg Cc: Luis Carlos Cobo Signed-off-by: John W. Linville commit 2f5ce793c0817d8d38f1c7ad23945607d57e47d6 Author: Johannes Berg Date: Sat Feb 23 15:17:21 2008 +0100 mac80211: enable mesh in Kconfig Currently marked BROKEN because of endianness problems. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit dc0b0f7d1e34b797b98e4d16122b3ea6f775154c Author: Johannes Berg Date: Sat Feb 23 15:17:20 2008 +0100 mac80211: mesh hwmp locking fixes This fixes missing unlocks noticed by sparse. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 902acc7896d7649fb30e4b22bd4e643c7f34b02c Author: Johannes Berg Date: Sat Feb 23 15:17:19 2008 +0100 mac80211: clean up mesh code Various cleanups, reducing the #ifdef mess and other things. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f7a921443740d7dafc65b17aa32531730d358f50 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:18 2008 +0100 mac80211: complete the mesh (interface handling) code This completes the mesh interface handling code and a few other bits about the mac80211 module. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c5dd9c2bd0b2422dbcd57fe8158d1d7d36c07dd9 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:17 2008 +0100 mac80211: mesh path and mesh peer configuration This adds code to allow adding mesh interfaces and configuring mesh peers etc. Also, it adds code for station dumping. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9f42f607058a80bfb7b4f687bb84016ae129cfd1 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:16 2008 +0100 mac80211: mesh statistics and config through debugfs This patch contains the debugfs code for mesh statistics and configuration parameters. Please note that generic support for r/w debugfs attributes has been added. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 050ac52cbe1f3de2fb0d06f02c7919ae1f691c9e Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:15 2008 +0100 mac80211: code for on-demand Hybrid Wireless Mesh Protocol This file implements the on-demand Hybrid Wireless Mesh Protocol, at this moment using hop-count as the metric. When no mesh path exists for a given destination or the mesh path is not active, frames addressed to that destination will be queued and a Path Request frame will be sent. Queued frames will be sent when the path is resolved (usually after reception of a Path Response) or discarded if discovery times out. Path Requests will also be sent to refresh paths that are being used and are close to expiring. Path Errors are sent when a path discovery process triggered by the attempt to forward a frame originated in a different mesh point times out. Path Errors are also sent when a peer link is determined to be unreachable because of high error rates. Multiple destination support in Path Requests and Path Errors and precursors have not been implemented yet. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit eb2b9311fd00a868e9bf85ab66e86b7dee1643e1 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:14 2008 +0100 mac80211: mesh path table implementation The mesh path table associates destinations with the next hop to reach them. The table is a hash of linked lists protected by rcu mechanisms. Every mesh path contains a lock to protect the mesh path state. Each outgoing mesh frame requires a look up into this table. Therefore, the table it has been designed so it is not necessary to hold any lock to find the appropriate next hop. If the path is determined to be active within a rcu context we can safely dereference mpath->next_hop->addr, since it holds a reference to the sta next_hop. After a mesh path has been set active for the first time it next_hop must always point to a valid sta. If this is not possible the mpath must be deleted or replaced in a RCU safe fashion. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c3896d2ca4dd97be290f000cb1079ed759d28574 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:13 2008 +0100 mac80211: mesh peer link implementation This file implements mesh discovery and peer link establishment support using the mesh peer link table provided in mesh_plinktbl.c. Secure peer links have not been implemented yet. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f709fc696d72d31273a77b82aa32cb6d19857011 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:12 2008 +0100 mac80211: mesh changes to the MLME This includes support for mesh network scanning. The ugly code in ieee80211_sta_scan_result() is my approach to work around wext. This has been tested with wireless tools version 29 and works as expected (the new interface mode is just not shown). Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ee3858551ae6d044578f598f8001db5f1a9fd52e Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:11 2008 +0100 mac80211: mesh data structures and first mesh changes Includes integration in struct sta_info of mesh peer link elements, previously on their own mesh peer link table. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 33b64eb2b1b1759cbdafbe5c59df652f1e7c746e Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:10 2008 +0100 mac80211: support for mesh interfaces in mac80211 data path This changes the TX/RX paths in mac80211 to support mesh interfaces. This code will be cleaned up later again before being enabled. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2e3c8736820bf72a8ad10721c7e31d36d4fa7790 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:09 2008 +0100 mac80211: support functions for mesh The two important features coded in mesh.c are: Recently Multicast Cache: in on-demand HWMP, multicast traffic is retransmitted by every receiving node. Even though a mesh TTL counter avoids infinite loops, it is also necessary to avoid traffic explosion by keeping a cache of multicast mesh frame that have been received recently. With this feature, maximum number of retransmissions of a multicast frame for the case of N nodes within the range of each other would be N. Without it, the maximum number of retransmissions would be in the order of N^(MESH_TTL - 1). Code to support mesh tables. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ccf80ddfe4923ae75cd3536723880277d285e779 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:08 2008 +0100 mac80211: mesh function and data structures definitions Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6032f934c818e5c3435c9f17274fe1983f53c6b4 Author: Johannes Berg Date: Sat Feb 23 15:17:07 2008 +0100 mac80211: add mesh interface type This adds the mesh interface type. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2ec600d672e74488f8d1acf67a0a2baed222564c Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:06 2008 +0100 nl80211/cfg80211: support for mesh, sta dumping Added support for mesh id and mesh path operation as well as station structure dumping. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cc0672a1066829be7e1b0128a13e36a2d0a15479 Author: Johannes Berg Date: Sat Feb 23 15:17:05 2008 +0100 WEXT: add mesh interface type This introduces a new WEXT type IW_MODE_MESH for mesh networks, used for scan results. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 37c5798968d0ce4d479f114f1d5785551b57bfa5 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:04 2008 +0100 wireless: various definitions for mesh networking Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f59d43899e279c77924a7ada4bec8c70e5aeca06 Author: David S. Miller Date: Wed Mar 5 20:58:10 2008 -0800 [IPV6]: Fix powerpc allmodconfig build warnings. Introduced by changeset 95e41e93e18d8e1e272ce23d96bae4f17ce11d42 ("[IPV6]: Make ndisc_flow_init() common for later use.") Reported by Stephen Rothwell. In file included from net/ipv6/netfilter/ip6_tables.c:21: include/linux/icmpv6.h:192: warning: 'struct in6_addr' declared inside parameter list include/linux/icmpv6.h:192: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: David S. Miller commit 0dc47877a3de00ceadea0005189656ae8dc52669 Author: Harvey Harrison Date: Wed Mar 5 20:47:47 2008 -0800 net: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 6387c4bed539539b05fa773cf2ff26529dc3074c Author: Matthias Kaehlcke Date: Wed Mar 5 18:53:01 2008 -0800 COSA/SRP: convert channel_data.rsem to mutex COSA/SRP driver: The semaphore channel_data.rsem is used as a mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit ee6b967301b4aa5d4a4b61e2f682f086266db9fb Author: Eric Dumazet Date: Wed Mar 5 18:30:47 2008 -0800 [IPV4]: Add 'rtable' field in struct sk_buff to alias 'dst' and avoid casts (Anonymous) unions can help us to avoid ugly casts. A common cast it the (struct rtable *)skb->dst one. Defining an union like : union { struct dst_entry *dst; struct rtable *rtable; }; permits to use skb->rtable in place. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e37c772e36a7943b2e0bd8f48312e78474c0df15 Author: Olof Johansson Date: Wed Feb 20 20:57:59 2008 -0600 pasemi_mac: basic ethtool support First cut at ethtool support, to be completed over time. Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit 251567848f2f446f4356f969329a8188faf1fe90 Author: Olof Johansson Date: Wed Feb 20 20:57:58 2008 -0600 pasemi_mac: Enable GSO by default Ethtool support will handle the runtime toggling, but we do quite a bit better with it on by default so just leave it on for now. Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit 8d636d8bc5ffcdbf49c72aafcda9ddab7ccb2f41 Author: Olof Johansson Date: Wed Mar 5 16:34:16 2008 -0600 pasemi_mac: jumbo frame support First cut at jumbo frame support. To support large MTU, one or several separate channels must be allocated to calculate the TCP/UDP checksum separately, since the mac lacks enough buffers to hold a whole packet while it's being calculated. Furthermore, it seems that a single function channel is not quite enough to feed one of the 10Gig links, so allocate two channels for XAUI interfaces. Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit 15732a1cb5f9078d460a254449eb59391e531ffc Author: Harvey Harrison Date: Wed Mar 5 14:38:22 2008 -0600 jfs: replace __inline with inline Signed-off-by: Harvey Harrison Signed-off-by: Dave Kleikamp commit a05c44f6d5fb6cd29da04f96bf5ffaa05f545ac5 Author: Daniel Lezcano Date: Wed Mar 5 12:37:29 2008 -0800 [IPV6]: Remove commented lines. Remove commented lines from netns patchset. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 255333c1db3ec63921de29b134418a4e56e5921e Merge: 9a43b70... 0d66afe... Author: David S. Miller Date: Wed Mar 5 12:26:41 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/mac80211/rc80211_pid_algo.c commit 9a43b709a230705ca40a6f854a334a02334a3c1c Author: Benjamin Thery Date: Wed Mar 5 10:49:18 2008 -0800 [NETNS][IPV6] icmp6 - make icmpv6_socket per namespace This patch make the changes necessary to support network namespaces in ICMPv6. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit da6bb5c0c5c22e8289aa555afadfb69487fafbc3 Author: Daniel Lezcano Date: Wed Mar 5 10:48:56 2008 -0800 [NETNS][IPV6] ip6_input - enable ipv6_rcv to handle several network namespace The different subsystem of ipv6 are ready for namespaces, so let's activate it for ipv6_rcv. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit c20121ae87955cfc8b51f89072294fc6077f39ad Author: Daniel Lezcano Date: Wed Mar 5 10:48:35 2008 -0800 [NETNS][IPV6] route6 - pass always a valid socket to ip6_dst_lookup The ip6_dst_lookup receive a socket as parameter. In some part of the code it is called with a NULL socket parameter. We want to rely on the socket to retrieve the network namespace, so we always pass a valid socket in all cases. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 4591db4f37618f37a9f1f25d291c3c7a43a15a21 Author: Daniel Lezcano Date: Wed Mar 5 10:48:10 2008 -0800 [NETNS][IPV6] route6 - add netns parameter to ip6_route_output Add an netns parameter to ip6_route_output. That will allow to access to the right routing table for outgoing traffic. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 6fda73500581be531fd9bc232173332ec64f6435 Author: Benjamin Thery Date: Wed Mar 5 10:47:47 2008 -0800 [NETNS][IPV6] addrconf - make addrconf per namespace All the infrastructure to propagate the network namespace information is ready. Make use of it. There is a special case here between the initial network namespace and the other namespaces: * When ipv6 is initialized at boot time (aka in the init_net), it registers to the notifier callback. So addrconf_notify will be called as many time as there are network devices setup on the system and the function will add ipv6 addresses to the network devices. But the first device which needs to have its ipv6 address setup is the loopback, unfortunatly this is not the case. So the loopback address is setup manually in the ipv6 init function. * With the network namespace, this ordering problem does not appears because notifier is already setup and active, so as soon as we register the loopback the ipv6 address is setup and it will be the first device. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit af2849377e7b70afa1274e475be50286cd0ef6eb Author: Daniel Lezcano Date: Wed Mar 5 10:46:57 2008 -0800 [NETNS][IPV6] addrconf - Pass the proper network namespace parameters to addrconf This patch propagates the network namespace pointer to the address configuration routines which need it, which means adding a new parameter to these functions, and make them use it instead of using the initial network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 300bf591deca8d108799e70e9300dc31765643e3 Author: Daniel Lezcano Date: Wed Mar 5 10:46:31 2008 -0800 [NETNS][IPV6] proc - protect snmp6 from non-init_net calls This patchset avoids creation of the /proc entry for snmp6 when the call is made from a network namespace different from the init_net. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 075de9395760d6d181078f863e676e81c06e1af2 Author: Benjamin Thery Date: Wed Mar 5 10:45:59 2008 -0800 [NETNS][IPV6] af_inet6 - allow socket creation per namespace Allow creation of IPv6 raw and datagram sockets in network namespaces other than init_net. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 94911fe31710e355e9fcac8b1a7eb36c4953f36b Author: Benjamin Thery Date: Wed Mar 5 10:45:36 2008 -0800 [NETNS][IPV6] Move sysctl initialization later on in the IPv6 init sequence This patch moves initialization of IPv6 sysctl stuff at the end of IPv6 initialization. This will be helpful for network namespaces where some sysctl entries depend on per-namespace variables, that need to be allocated and initialized before they are referenced by sysctl. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit dda56df08a28404004bca313d2a1ba1597acd755 Author: Olof Johansson Date: Wed Mar 5 12:25:59 2008 -0600 [POWERPC] pasemi: Add function engine management functions to dma_lib Used to allocate functions for crypto/checksum offload. Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit f37203b5ccaf6d58cb5ca6b1840e40f3b587109c Author: Olof Johansson Date: Wed Mar 5 12:25:45 2008 -0600 [POWERPC] pasemi: Add flag management functions to dma_lib Add functions to manage the channel syncronization flags to dma_lib Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit afea3278f73c14271ee60ca7593ad74b7a946486 Author: Olof Johansson Date: Wed Mar 5 12:11:48 2008 -0600 pasemi_mac: Move RX/TX section enablement to dma_lib Also stop both rx and tx sections before changing the configuration of the dma device during init. Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit 6b3d626321c1d4ce9138a86b047dfafc6a403016 Author: Sangtae Ha Date: Tue Mar 4 14:17:41 2008 -0800 [TCP]: TCP cubic v2.2 We have updated CUBIC to fix some issues with slow increase in large BDP networks. We also improved its convergence speed. The fix is in fact very simple -- the window increase limit of smax during the window probing phase (i.e., convex growth phase) is removed. We found that this does not affect TCP friendliness, but only improves its scalability. We have run some tests in our lab and also over the Internet path from NCSU to Japan. These results can be seen from the following page: http://netsrv.csc.ncsu.edu/wiki/index.php/Intra_protocol_fairness_testing_with_linux-2.6.23.9 http://netsrv.csc.ncsu.edu/wiki/index.php/RTT_fairness_testing_with_linux-2.6.23.9 http://netsrv.csc.ncsu.edu/wiki/index.php/TCP_friendliness_testing_with_linux-2.6.23.9 Signed-off-by: Sangtae Ha Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7019b78e1483fa724dcba56e8465376b8fd03ea8 Author: Daniel Lezcano Date: Tue Mar 4 13:50:14 2008 -0800 [NETNS][IPV6] route6 - Make ip6_dst_gc simpler This patches improves the readibility of the ip6_dst_gc() routine. It simplifies long lines which grow a lot due to the introduction of network namespaces support. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 6891a346c387bd0a64afa50f4522f5fe8ba879d8 Author: Benjamin Thery Date: Tue Mar 4 13:49:47 2008 -0800 [NETNS][IPV6] route6 - make garbage collection work with multiple network namespaces This patch makes the necessary changes to make IPv6 dst_entry garbage collection work with multiple network namespaces. In ip6_dst_gc(), static local variables are now declared per-namespace. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit f2fc6a54585a1be6669613a31fbaba2ecbadcd36 Author: Benjamin Thery Date: Tue Mar 4 13:49:23 2008 -0800 [NETNS][IPV6] route6 - move ip6_dst_ops inside the network namespace The ip6_dst_ops is moved inside the network namespace structure. All references to this structure are now relative to the initial network namespace. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 9a7ec3a94d8da475fe81810aa55136a81556d445 Author: Daniel Lezcano Date: Tue Mar 4 13:48:53 2008 -0800 [NETNS][IPV6] route6 - dynamically allocate ip6_dst_ops ip6_dst_ops is dynamically allocated in init and exit functions. That provides the ability to do multiple instanciations of this structure. This will be needed for network namespaces, indeed dst_ops stores data that are required to be per namespace: entries and gc_thresh. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 8ed677896752fff056f6cf3d7ce462adc6c464f0 Author: Daniel Lezcano Date: Tue Mar 4 13:48:30 2008 -0800 [NETNS][IPV6] rt6_info - move rt6_info structure inside the namespace The rt6_info structures are moved inside the network namespace structure. All references to these structures are now relative to the initial network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit bdb3289f739e94bcae8b51972ae844ec66c2f4df Author: Daniel Lezcano Date: Tue Mar 4 13:48:10 2008 -0800 [NETNS][IPV6] rt6_info - make rt6_info accessed as a pointer This patch make mindless changes and prepares the code to use dynamic allocation for rt6_info structure. The code accesses the rt6_info structure as a pointer instead of a global static variable. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 5578689a4e3c04f2d43ea39736fd3fa396d80c6e Author: Daniel Lezcano Date: Tue Mar 4 13:47:47 2008 -0800 [NETNS][IPV6] route6 - make route6 per namespace This patch makes the routing engine use the network namespaces to access routing informations: Add a network namespace parameter to ipv6_route_ioctl and propagate the network namespace value to all the routing code that have not yet been changed. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 7b4da53229bb61469bdab321384b9a13406e3485 Author: Daniel Lezcano Date: Tue Mar 4 13:47:14 2008 -0800 [NETNS][IPV6] route6 - Pass the network namespace parameter to rt6_purge_dflt_routers Add a network namespace parameter to rt6_purge_dflt_routers. This is needed to call fib6_get_table with the appropriate network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit efa2cea0d97a91dbbc067463de702738f7e50748 Author: Daniel Lezcano Date: Tue Mar 4 13:46:48 2008 -0800 [NETNS][IPV6] route6 - Pass network namespace to rt6_add_route_info and rt6_get_route_info Add a network namespace parameter to rt6_add_route_info() and rt6_get_route_info to enable them to handle multiple network namespaces. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 69ddb80562a460d6d9edafe33a5bee06ca18b1a1 Author: Daniel Lezcano Date: Tue Mar 4 13:46:23 2008 -0800 [NETNS][IPV6] route6 - Make proc entry /proc/net/rt6_stats per namespace Make the proc entry /proc/net/rt6_stats work in all network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 606a2b4862d4be31fa55cad89871fe52a422d511 Author: Daniel Lezcano Date: Tue Mar 4 13:45:59 2008 -0800 [NETNS][IPV6] route6 - Pass the network namespace parameter to rt6_lookup Add a network namespace parameter to rt6_lookup(). Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit cdb1876192dbe680b3ac955717fdf7f863c1762d Author: Daniel Lezcano Date: Tue Mar 4 13:45:33 2008 -0800 [NETNS][IPV6] route6 - create route6 proc files for the namespace Make /proc/net/ipv6_route and /proc/net/rt6_stats to be per namespace. These proc files are now created when the network namespace is initialized. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 4d243f92e48a7913938f48fa9ebea5239168bb11 Author: David Brownell Date: Fri Feb 22 17:28:37 2008 -0800 atmel_tc clocksource/clockevent code Clocksource and clockevent device based on the Atmel TC blocks. The clockevent device handles both periodic and oneshot modes, so this enables NO_HZ and high res timers on some platforms that previously couldn't use those mechanisms. This works on both AVR32 and AT91 chips, given relevant patches for tclib support (always) and clockevents (or else this will only look like a higher precision clocksource). It's an updated and modularized version of an AT91-only patch that has circulated for some time now. Changes relative to the original patch: * Update to use new tclib API * Replace open-coded do-while loop using goto with a real do-while loop * Minor irq handler optimization: Load register base address from dev_id instead of a global variable. * Aggressively turn off clocks when the clockevent isn't being used * Include the clockevent code on AT91RM9200 as well. The rating is lower than the System Timer, so the clock will usually stay off. * Don't assume that the number of clocks is always equal to the number of irqs. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 2a341f5cf57dce9d89b41484a69e88adc6422f6c Author: David Brownell Date: Fri Feb 22 17:23:23 2008 -0800 atmel_tc library Create based on and the at91sam9263 and at32ap7000 datasheets. Most AT91 and AT32 SOCs have one or two of these TC blocks, which include three 16-bit timers that can be interconnected in various ways. These TC blocks can be used for external interfacing (such as PWM and measurement), or used as somewhat quirky sixteen-bit timers. Changes relative to the original version: * Drop unneeded inclusion of * Support an arbitrary number of TC blocks * Return a struct with information about a TC block from atmel_tc_alloc() instead of using a combination of return values and "out" parameters. * ioremap() the I/O registers on allocation * Look up clocks and irqs for all channels * Add "name" parameter to atmel_tc_alloc() and use this when requesting the iomem resource. * Check if the platform provided the necessary resources at probe() time instead of when the TCB is allocated. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 83321d6b9872b94604e481a79dc2c8acbe4ece31 Author: Timo Teras Date: Mon Mar 3 23:40:12 2008 -0800 [AF_KEY]: Dump SA/SP entries non-atomically Stop dumping of entries when af_key socket receive queue is getting full and continue it later when there is more room again. This fixes dumping of large databases. Currently the entries not fitting into the receive queue are just dropped (including the end-of-dump message) which can confuse applications. Signed-off-by: Timo Teras Signed-off-by: David S. Miller commit 26bad2c05eef400d9af16979bd96e301902ebd13 Author: Matthias Kaehlcke Date: Mon Mar 3 23:35:53 2008 -0800 [TIPC]: Convert tsock->sem in a mutex The semaphore tsock->sem is used as mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Signed-off-by: David S. Miller commit c572872f89e46e38cdb35a43b81122bfb7ff43fc Author: Benjamin Thery Date: Mon Mar 3 23:34:17 2008 -0800 [NETNS][IPV6] rt6_stats - make the stats per network namespace The rt6_stats is now per namespace with this patch. It is allocated when a network namespace is created and freed when the network namespace exits and references are relative to the network namespace. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 6cc118bd506ae8c6436f507b838a0e1f6185fec2 Author: Daniel Lezcano Date: Mon Mar 3 23:33:43 2008 -0800 [NETNS][IPV6] rt6_stats - dynamically allocate the routes statistics This patch allocates the rt6_stats struct dynamically when the fib6 is initialized. That provides the ability to create several instances of this structure for the network namespaces. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit dcabb819a6eced95ef531b001e663d0d592c8d9f Author: Daniel Lezcano Date: Mon Mar 3 23:33:08 2008 -0800 [NETNS][IPV6] fib6_rules - handle several network namespaces The fib6_rules_ops is moved to the network namespace structure. All references are changed to have it relatively to it. Each time a network namespace is created a new fib6_rules_ops is allocated, initialized and stored into the network namespace structure. The common part of the fib rules is namespace aware, so it is quite easy to retrieve the network namespace from the rules and use it in the different callbacks. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit eb5564b8532eec6b49379095df2b979aab85661f Author: Daniel Lezcano Date: Mon Mar 3 23:32:30 2008 -0800 [NETNS][IPV6] fib6 rule - dynamic allocation of the rules struct ops The fib6_rules_ops structure is dynamically allocated, so that allows to make several instances of it per network namespace. The global static fib6_rules_ops structure is renamed to fib6_rules_ops_template in order to quickly memcopy it for the structure initialization. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit ec7d43c291df9f6e978733f892f7255be89feedb Author: Benjamin Thery Date: Mon Mar 3 23:31:57 2008 -0800 [NETNS][IPV6] ip6_fib - clean node use namespace The fib6_clean_node function should have the network namespace it is working on. The fib6_cleaner_t structure is extended with the network namespace field to be passed to the fib6_clean_node function. The different functions calling the fib6_clean_node function are extended with the netns parameter when needed to propagate the netns pointer. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 63152fc0de4dfe83da543bf133cef73d885a50fc Author: Daniel Lezcano Date: Mon Mar 3 23:31:11 2008 -0800 [NETNS][IPV6] ip6_fib - gc timer per namespace Move the timer initialization at the network namespace creation and store the network namespace in the timer argument. That enables multiple timers (one per network namespace) to do garbage collecting. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 450d19f8ab35fad4ef2b129cb383a5b8d1326611 Author: Daniel Lezcano Date: Mon Mar 3 23:29:33 2008 -0800 [NETNS][IPV6] ip6_fib - dynamically allocate gc-timer The ip6_fib_timer gc timer is dynamically allocated and initialized in the ip6 fib init function. There are no more references to a static global variable. That will allow to make multiple instance of the garbage collecting timer and make them per namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 5b7c931dff03621ae7ac524c4fa280d4e5f187a4 Author: Daniel Lezcano Date: Mon Mar 3 23:28:58 2008 -0800 [NETNS][IPV6] ip6_fib - add net to gc timer parameter The fib tables are now relative to the network namespace. When the garbage collector timer expires, we must have a network namespace parameter in order to retrieve the tables. For now this is the init_net, but we should be able to have a timer per namespace and use the timer callback parameter to pass the network namespace from the expired timer. The timer callback, fib6_run_gc, is actually used to be called synchronously by some functions and asynchronously when the timer expires. When the timer expires, the delay specified for fib6_run_gc parameter is always zero. So, I changed fib6_run_gc to not be a timer callback but a function called by the timer callback and I added a timer callback where its work is just to retrieve from the data arg of the timer the network namespace and call fib6_run_gc with zero expiring time and the network namespace parameters. That makes the code cleaner for the fib6_run_gc callers. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit f3db48517f59133610f558f29de8834d7b007691 Author: Daniel Lezcano Date: Mon Mar 3 23:27:06 2008 -0800 [NETNS][IPV6] ip6_fib - fib6_clean_all handle several network namespaces The function fib6_clean_all takes the network namespace as parameter. That allows to flush the routes related to a specific network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 58f09b78b730cf0d936597272bf35b3d615e967c Author: Daniel Lezcano Date: Mon Mar 3 23:25:27 2008 -0800 [NETNS][IPV6] ip6_fib - make it per network namespace The fib table for ipv6 are moved to the network namespace structure. All references to them are made relatively to the network namespace. All external calls to the ip6_fib functions taking the network namespace parameter are made using the init_net variable, so the ip6_fib engine is ready for the namespaces but the callers not yet. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit e0b85590bc1b50c9bbef4dd4738d9995fb1d1f64 Author: Daniel Lezcano Date: Mon Mar 3 23:24:31 2008 -0800 [NETNS][IPV6] ip6_fib - dynamically allocate the fib tables This patch changes the fib6 tables to be dynamically allocated. That provides the ability to make several instances of them when a new network namespace is created. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 419271780712091ff2738aee513fa4b5b051fbdc Author: YOSHIFUJI Hideaki Date: Thu Dec 6 17:40:56 2007 -0800 [IPV6] MCAST: Use standard path for sending MLD/MLDv2 messages. This is changing the paths for sending MLD/MLDv2 messages from dev_queue_xmit() to standard dst_output(). Signed-off-by: YOSHIFUJI Hideaki commit 3b00944c5c73c49ef52bf17b66557c43c1d945fe Author: YOSHIFUJI Hideaki Date: Thu Dec 6 16:11:48 2007 -0800 [IPV6]: Make ndisc_dst_alloc() common for later use. For later use, this patch is renaming ndisc_dst_alloc() (and related function/structures) to icmp6_dst_alloc() (and so on). This patch also removing unused function- pointer argument for it. Signed-off-by: YOSHIFUJI Hideaki commit 95e41e93e18d8e1e272ce23d96bae4f17ce11d42 Author: YOSHIFUJI Hideaki Date: Thu Dec 6 15:43:30 2007 -0800 [IPV6]: Make ndisc_flow_init() common for later use. For later use, this patch is renaming ndisc_flow_init() to icmpv6_flow_init() and putting it in common place. Signed-off-by: YOSHIFUJI Hideaki commit 5e5f3f0f801321078c897a5de0b4b4304f234da0 Author: YOSHIFUJI Hideaki Date: Mon Mar 3 21:44:34 2008 +0900 [IPV6] ADDRCONF: Convert ipv6_get_saddr() to ipv6_dev_get_saddr(). Since most users of ipv6_get_saddr() pass non-NULL as dst argument, use ipv6_dev_get_saddr() directly. Signed-off-by: YOSHIFUJI Hideaki commit 8082c37cdc31fb0ed178d9d706bf7568ada0edd9 Author: YOSHIFUJI Hideaki Date: Tue Mar 4 14:55:03 2008 +0900 [NET] NEIGHBOUR: Remove unpopular neigh_is_connected(). neigh_is_connected() is not popular at all, and the only user drivers/net/cxgb3/l2t.c:t3_l2t_update() also have raw (expanded) expression. Let's expand it and remove the inline function. Signed-off-by: YOSHIFUJI Hideaki commit 0e7b8dcd16eb91b9cd8ecc07c4094512f20d7e3c Author: YOSHIFUJI Hideaki Date: Thu Feb 28 17:03:12 2008 +0900 [IPV6]: Use htonl() instead of __constant_htonl() where appricable. Signed-off-by: YOSHIFUJI Hideaki commit 5ee091050986796856cc6207d86b38b4ef6bd8f4 Author: YOSHIFUJI Hideaki Date: Thu Feb 28 00:24:28 2008 +0900 [IPV6] SYSCTL: complete initialization for sysctl table in subsystem code. Move initialization bits for subsystem sysctl tables to appropriate functions. - route - icmp Signed-off-by: YOSHIFUJI Hideaki commit 662397fd7aaa10afdbdc55a0bfdb7e9701454c27 Author: YOSHIFUJI Hideaki Date: Wed Feb 27 23:14:03 2008 +0900 [IPV6]: Move packet_type{} related bits to af_inet6.c. Signed-off-by: YOSHIFUJI Hideaki commit db1ed684f6c430c4cdad67d058688b8a1b5e607c Author: YOSHIFUJI Hideaki Date: Thu Feb 21 16:13:26 2008 +0900 [IPV6] UDP: Rename IPv6 UDP files. Rename net/ipv6/udp.c to net/ipv6/udp_ipv6.c Rename net/ipv6/udplite.c to net/ipv6/udplite_ipv6.c. Signed-off-by: YOSHIFUJI Hideaki commit 8be8af8fa4405652e6c0797db5465a4be8afb998 Author: YOSHIFUJI Hideaki Date: Tue Mar 4 14:50:52 2008 +0900 [IPV4] UDP: Move IPv4-specific bits to other file. Move IPv4-specific UDP bits from net/ipv4/udp.c into (new) net/ipv4/udp_ipv4.c. Rename net/ipv4/udplite.c to net/ipv4/udplite_ipv4.c. Signed-off-by: YOSHIFUJI Hideaki commit cf80efc27d68d4e0717aa0b8647c4e161397ced7 Author: YOSHIFUJI Hideaki Date: Tue Feb 12 17:35:16 2008 +0900 [IPV4]: Fix size description of CONFIG_INET. CONFIG_INET now enlarges about 400KB, not 140KB. Signed-off-by: YOSHIFUJI Hideaki commit e898d4db2749c6052072e9bc4448e396cbdeb06a Author: YOSHIFUJI Hideaki Date: Sat Mar 1 01:06:47 2008 +0900 [UDP]: Allow users to configure UDP-Lite. Let's give users an option for disabling UDP-Lite (~4K). old: | text data bss dec hex filename | 286498 12432 6072 305002 4a76a net/ipv4/built-in.o | 193830 8192 3204 205226 321aa net/ipv6/ipv6.o new (without UDP-Lite): | text data bss dec hex filename | 284086 12136 5432 301654 49a56 net/ipv4/built-in.o | 191835 7832 3076 202743 317f7 net/ipv6/ipv6.o Signed-off-by: YOSHIFUJI Hideaki commit c6aefafb7ec620911d46174eed514f9df639e5a4 Author: Glenn Griffin Date: Thu Feb 7 21:49:26 2008 -0800 [TCP]: Add IPv6 support to TCP SYN cookies Updated to incorporate Eric's suggestion of using a per cpu buffer rather than allocating on the stack. Just a two line change, but will resend in it's entirety. Signed-off-by: Glenn Griffin Signed-off-by: YOSHIFUJI Hideaki commit 11baab7ac34723ad481e0f97fca733272ef364d4 Author: Eric Dumazet Date: Thu Feb 7 10:40:19 2008 +0100 [TCP]: lower stack usage in cookie_hash() function 400 bytes allocated on stack might be a litle bit too much. Using a per_cpu var is more friendly. Signed-off-by: Eric Dumazet Signed-off-by: YOSHIFUJI Hideaki commit 988b705077d8f922408913f4f521ae073256d4a1 Author: Pavel Emelyanov Date: Mon Mar 3 12:20:57 2008 -0800 [ARP]: Introduce the arp_hdr_len helper. There are some place, that calculate the ARP header length. These calculations are correct, but a) some operate with "magic" constants, b) enlarge the code length (sometimes at the cost of coding style), c) are not informative from the first glance. The proposal is to introduce a helper, that includes all the good sides of these calculations. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8ed7edce82ca0d8d3adba8c08cd42337af6c758c Author: Alexey Dobriyan Date: Mon Mar 3 12:02:54 2008 -0800 ipv6: fix inet6_init/icmpv6_cleanup sections mismatch Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 7cd04fa7e35100877592f6be4efdccac0fed62b2 Author: Denis V. Lunev Date: Mon Mar 3 11:59:32 2008 -0800 [TCP]: Merge exit paths in tcp_v4_conn_request. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f0fd56ed40ec5fb889bfc7efccd1c5759e6e9937 Author: Denis V. Lunev Date: Mon Mar 3 11:55:54 2008 -0800 [SCTP]: seq_printf format warning. (fixed) sctp_association->hbinterval is unsigned long. Replace %8d with %8lu. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit da7ef338a2982a3a0c7e2b1cdfd55ba35b34471e Author: Denis V. Lunev Date: Mon Mar 3 11:50:10 2008 -0800 [IPV4]: skb->dst can't be NULL in ip_options_echo. ip_options_echo is called on the packet input path after the initial routing. The dst entry on the packet is cleared only in the several very specific places and immidiately assigned back (may be new). Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 809307768cb177621b8f45f87fa840993ca4cb60 Author: Craig Kelley Date: Fri Feb 29 10:24:44 2008 -0700 hwmon: (smsc47b397) add a new chip id (0x8c) Added a new ID (0x8c) for the smsc47b397 hardware monitor driver. This ID is used by HP in, at least, their dc7700 line. Signed-off-by: Craig Kelley Signed-off-by: Mark M. Hoffman commit 1d1c8d13c4f7690d382bca5de2f9dc88f22a4aab Author: Denis V. Lunev Date: Fri Feb 29 14:15:19 2008 -0800 [ICMP]: Section conflict between icmp_sk_init/icmp_sk_exit. Functions from __exit section should not be called from ones in __init section. Fix this conflict. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 4a80f2788952055a627f2093a0174537d70aec1b Merge: 03a64c9... e486182... Author: David S. Miller Date: Fri Feb 29 13:41:25 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6.26 commit e4861829072c61883114c64a3af61f305a789ff0 Author: Johannes Berg Date: Wed Feb 27 13:39:00 2008 +0100 mac80211: fix key replacing, hw accel Even though I thought about it a lot and had also tested it, some of my recent changes in the key code broke replacing keys, making the kernel oops because a key is removed from a list while not on it. This patch fixes that using the list as an indication whether or not the key is on it (an empty list means it's not on any list.) Also, this patch fixes hw accel enabling, the check for not doing hw accel when the interface is down was lost and is restored by this. Additionally, move adding the key to the list into the function __ieee80211_key_replace() for more consistency. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit db4d1169d0b893bfb7923b6526748fe2c5a7373f Author: Johannes Berg Date: Mon Feb 25 16:27:45 2008 +0100 mac80211: split ieee80211_key_alloc/free In order to RCU-ify sta_info, we need to be able to allocate a key without linking it to an sdata/sta structure (because allocation cannot be done in an rcu critical section). This patch splits up ieee80211_key_alloc() and updates all users appropriately. While at it, this patch fixes a number of race conditions such as finally making key replacement atomic, unfortunately at the expense of more complex code. Note that this patch documents /existing/ bugs with sta info and key interaction, there is currently a race condition when a sta info is freed without holding the RTNL. This will finally be fixed by a followup patch. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6f48422a29714ed92f6136d9e7d3ff39c75607d7 Author: Johannes Berg Date: Mon Feb 25 16:27:44 2008 +0100 mac80211: remove STA infos last_ack stuff These things aren't used and the only possible use is within rate control algorithms, however those can, if they need it, keep track of it in their private data. last_ack_ms isn't even updated so completely useless. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e6a5ddf20886206caf1c4a2431f6ff01198ab0f7 Author: Johannes Berg Date: Mon Feb 25 16:27:42 2008 +0100 mac80211: safely free beacon in ieee80211_if_reinit If ieee80211_if_reinit() is called from ieee80211_unregister_hw() then it is possible that the driver will still request a beacon (it is allowed to until ieee80211_unregister_hw() has returned.) This means we need to use an RCU-protected write to the beacon information even in this function. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2485f7105f20f85c2dbebc67be6b2cb97175fa7e Author: Johannes Berg Date: Mon Feb 25 16:27:41 2008 +0100 mac80211: clarify use of TX status/RX callbacks This patch clarifies the use of the irqsafe vs. non-irq-safe functions and their respective locking requirements. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 38c07b430b50172b803fe4c7f76cba580ba9931f Author: Pavel Roskin Date: Tue Feb 26 17:59:14 2008 -0500 ath5k: fix all endian issues reported by sparse Changes-licensed-under: ISC Signed-off-by: Pavel Roskin Acked-by: Luis R. Rodriguez Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit e6084239d39a10bac1186611fe7c523cea92c9ec Author: Ivo van Doorn Date: Mon Feb 25 23:22:13 2008 +0100 rt2x00: Release rt2x00 2.1.3 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1497074ad79009f8fb465d795f9e0d2a428b7fa2 Author: Ivo van Doorn Date: Mon Feb 25 23:20:33 2008 +0100 rt2x00: Check for 5GHz band in link tuner Fix a typo in the link tuner where accidently the 2GHz band was checked instead of the 5GHz band. This forced the link tuner to work in an invalid range for the currently active band. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 58e307398317ab55470547a7d72859c89edd187d Author: Florian Fainelli Date: Mon Feb 25 17:51:53 2008 +0100 p54: print unknown eeprom fields This patch allows p54common to print the uknown EEPROM fields, which can help when debugging/testing devices. Signed-off-by: Florian Fainelli Signed-off-by: John W. Linville commit 9a89c839f79395426b84cf6da9d56773402b4c0e Author: Johannes Berg Date: Mon Feb 25 11:12:18 2008 +0100 adm8211: fix cfg80211 band API conversion Insert a missing band assignment. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8f300ae5b819f7655197925cdb1954edfd906a87 Author: Michael Buesch Date: Sun Feb 24 14:42:29 2008 +0100 b43legacy: Fix nondebug build Fix a typo. Signed-off-by: Michael Buesch Acked-by: Stefano Brivio Signed-off-by: John W. Linville commit 28de57d1a9eb7e67badb731297197fcbef0cc19e Author: Aurelien Jarno Date: Fri Feb 22 16:14:58 2008 +0100 ssb: Add CHIPCO IRQ access functions This patch adds functions to setup and read the CHIPCO IRQ. Signed-off-by: Aurelien Jarno Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit fba4a1e63723b5ef16c21a90f06520ae37c5da98 Author: Johannes Berg Date: Thu Feb 21 11:08:33 2008 +0100 mac80211: fix IBSS code This patch fixes two errors introduced by commit 19d35612f3cd7f60dd9174c0100584e21f5a1025 Author: Bruno Randolf Date: Mon Feb 18 11:21:36 2008 +0900 mac80211: enable IBSS merging The first error is an endianness problem that sparse found and the second is a build failure when CONFIG_MAC80211_IBSS_DEBUG is not set. Signed-off-by: Johannes Berg Cc: Bruno Randolf Signed-off-by: John W. Linville commit f3af89d1aaaf2d2ef3bc6afe5eadb7127c51fe12 Author: Johannes Berg Date: Thu Feb 21 11:22:12 2008 +0100 mac80211: fix debugfs_sta print_mac() warning When print_mac() was marked as __pure to avoid emitting a function call in pr_debug() scenarios, a warning in this code surfaced since it relies on the fact that the buffer is modified and doesn't use the return value. This patch makes it use the return value instead. Signed-off-by: Johannes Berg Reported-by: Harvey Harrison Signed-off-by: John W. Linville commit 665e8aafb4e0826caec9db25617b186ea3f3ec91 Author: Johannes Berg Date: Thu Feb 21 01:10:07 2008 +0100 mac80211: Disallow concurrent IBSS/STA mode interfaces Disallow having more than one IBSS interface up at any time because of beacon distribution issues, and for now also disallow having more than one IBSS/STA interface up at the same time because we use the master interface's BSS struct which would be completely corrupted when we have more than one up. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 43ba7e958f2ca05e4e9171a15402288419289d71 Author: Johannes Berg Date: Thu Feb 21 14:09:30 2008 +0100 mac80211: atomically check whether STA exists already When a STA structure is added, it is often checked whether it already exists before adding it. This, however, isn't done atomically so there is a race condition that could lead to two STA structures being added with the same MAC address. This patch changes sta_info_add() to return an ERR_PTR in case of failure and adds the failure mode -EEXIST when the STA already exists. Signed-off-by: Johannes Berg Cc: Luis Carlos Cobo Signed-off-by: John W. Linville commit d46e144b65bf053b25d134ec9f52a38e63e04bb4 Author: Johannes Berg Date: Wed Feb 20 23:59:33 2008 +0100 mac80211: rework TX filtered frame code This reworks the code for TX filtered frames, splitting it out to a new function to handle those cases, making the clear instruction a flag and renaming a few things to be easier to understand and less Atheros hardware specific. Finally, it also makes the comments explain more. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d97cf01576e1867d26b5c8de360380f815a1b7df Author: Pavel Roskin Date: Thu Feb 21 11:33:58 2008 -0500 mac80211: fix incorrect use of CONFIG_MAC80211_IBSS_DEBUG Configuration variables are only available to the preprocessor Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit c2976ab005695c1b73f9dbdb4d0f85ed5e0319eb Author: Johannes Berg Date: Wed Feb 20 12:08:12 2008 +0100 p54: fix sparse warnings This fixes a few sparse warnings in p54. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e63e3fa7bd4d0dc8cbab5ab7aff84cd37d45295e Author: Johannes Berg Date: Wed Feb 20 12:06:47 2008 +0100 adm8211: fix sparse warnings Both of these seem to be actual errors, the first is just wrong and the second is my mistake introduced by the cfg80211 API update. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ffc7689ddae5cbe12bde437ae0f2b386d568b5cd Author: Michael Buesch Date: Wed Feb 20 19:08:10 2008 +0100 ssb: Add support for 8bit register access This adds support for 8bit wide register reads/writes. This is needed in order to support the gigabit ethernet core. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 004c872e78d433f84f0a5cd4db7a6c780c0946e1 Author: Johannes Berg Date: Wed Feb 20 11:21:35 2008 +0100 mac80211: consolidate TIM handling code This consolidates all TIM handling code to avoid re-introducing errors with the bitmap/set_tim order and to reduce code. While reading the code I noticed a possible problem so I also added a comment about that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 836341a70471ba77657b0b420dd7eea3c30a038b Author: Johannes Berg Date: Wed Feb 20 02:07:21 2008 +0100 mac80211: remove sta TIM flag, fix expiry TIM handling The TIM flag that is kept in each station's info is completely useless, there's no code (aside from the debugfs display code) checking it, hence it can be removed. While doing that, I noticed that the TIM handling is broken when buffered frames expire, so fix that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d2259243a19894eee06c16e278adfea81dc42bd9 Author: Johannes Berg Date: Wed Feb 20 01:36:16 2008 +0100 mac80211: invoke set_tim() callback after setting own TIM info Drivers should be allowed to simply get a complete new beacon when set_tim() is invoked (and set_tim() is required for drivers that just want a beacon template!), so we need to update our own TIM bitmap before calling set_tim() so that getting the beacon will now get an already updated beacon. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 013b73faff107e56cbe75fe4b881f5d80a8cf022 Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Feb 19 15:41:50 2008 +0100 wireless: Convert to list_for_each_entry_rcu() Convert list_for_each_rcu() to list_for_each_entry_rcu() Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: John W. Linville commit b46b4ee034645dc87a34b29a7989a2540a8ee8ea Author: Tomas Winkler Date: Wed Feb 13 20:58:34 2008 +0200 wireless: update US regulatory domain This patch adds channels to US regulatory domain Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 2533d5f800d3693e9d000abfecd030ff02e305e4 Author: Ivo van Doorn Date: Sun Feb 17 17:36:49 2008 +0100 rt2x00: Release rt2x00 2.1.2 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ce359f90d3c65bf0a575683a28d25672facd3df0 Author: Ivo van Doorn Date: Sun Feb 17 17:36:33 2008 +0100 rt2x00: Fix MAC address defines in rt61pci The MAC address offset defines were incorrect because the byte offset was used instead of word index. This bug had no affect on normal operations since these defines weren't used. (EEPROM_MAC_ADDR_0 was used to read 6 bytes from). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 47ac26833663da51e7ac801db4badc2880c682c3 Author: Gertjan van Wingerde Date: Sun Feb 17 17:35:55 2008 +0100 rt2x00: Fix hw mode registration with mac80211. The supported_bands field of struct hw_mode_spec now represents a bitfield, so bitfield operators need to be tested with when setting the band data. The current code generates the following warning: [176624.986244] WARNING: at /usr/local/src/incoming/compat-wireless-2.6/net/wireless/core.c:269 wiphy_register() [176624.986249] Pid: 12548, comm: modprobe Tainted: P 2.6.24.2#4 [176624.986251] [176624.986251] Call Trace: [176624.986277] [] :cfg80211:wiphy_register+0x17f/0x1a0 [176624.986282] [] :rt61pci:rt61pci_eepromregister_write+0x0/0x80 [176624.986302] [] :mac80211:ieee80211_register_hw+0x2c/0x2b0 [176624.986310] [] :rt2x00lib:rt2x00lib_probe_dev+0x350/0x3f0 [176624.986318] [] :rt2x00pci:rt2x00pci_probe+0x149/0x200 [176624.986325] [] pci_device_probe+0xf8/0x170 [176624.986331] [] driver_probe_device+0x9c/0x1c0 [176624.986335] [] __driver_attach+0x0/0xb0 [176624.986337] [] __driver_attach+0xa5/0xb0 [176624.986341] [] bus_for_each_dev+0x4d/0x80 [176624.986347] [] bus_add_driver+0xac/0x210 [176624.986351] [] __pci_register_driver+0x73/0xc0 [176624.986357] [] sys_init_module+0x18e/0x1a20 [176624.986374] [] system_call+0x7e/0x83 Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 47b10cd1375855dbc6675a176c71a512ac4b7317 Author: Ivo van Doorn Date: Sun Feb 17 17:35:28 2008 +0100 rt2x00: Remove async vendor request calls from rt2x00usb The async vendor requests are a ugly hack which is not working correctly. The proper fix for the scheduling while atomic issue is finding out why we can't use led classes for USB drivers and fix that. Just replace all async calls with the regular ones and print an error for the disallowed LED configuration attempts. That will help in determining which led class is causing the problem. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 31562e802a72caf0757f351fff563d558d48d087 Author: Ivo van Doorn Date: Sun Feb 17 17:35:05 2008 +0100 rt2x00: Cleanup mode registration Don't wildly pass any number for num_rates to rt2x00lib, instead pass which type of rates are supported (CCK, OFDM). Same for num_modes but then for the 2GHZ and 5GHZ band. This makes the interface look much nicer and makes extending it later easier. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit de99ff82cdc2e5b596d01000eed9e0d05566f2d7 Author: Ivo van Doorn Date: Sun Feb 17 17:34:26 2008 +0100 rt2x00: Rename dscape -> mac80211 The dscape stack was renamed to mac80211 a long time ago, we are long overdue with fixing all comments to reflect this. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ef8f66cd1d6f360340a73ee7ed0492ff0f5f42ea Author: Ivo van Doorn Date: Sun Feb 17 17:33:57 2008 +0100 rt2x00: Remove reset_tsf() Specifications indicate the TSF registers are read-only, so there is no point in writing 0 to those registers. As far as I know there isn't another way to reset the TSF registers. So removing these callbacks will notify mac80211 about the lack of support. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 30b3a23c2594e122e7086f97b5252a87eaf8a817 Author: Ivo van Doorn Date: Sun Feb 17 17:33:24 2008 +0100 rt2x00: Fix Descriptor DMA initialization As Adam Baker reported the DMA address for the descriptor base was incorrectly initialized in the PCI drivers. Instead of the DMA base for the descriptor, the DMA base for the data was passed resulting in a broken TX/RX state for PCI drivers. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e542239f639fa4e7b13a949d39d44ff1eccf7e3a Author: Ivo van Doorn Date: Sun Feb 17 17:33:13 2008 +0100 rt2x00: Filter ACK_CTS based on FIF_CONTROL The ACK_CTS frame is a control frame, this means dropping the frame depends on the FIF_CONTROL flag for filtering. This also fixes an obvious typo in register definition. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit baf26a7eae3b05d25dd967b92eb2e09406ed9cf4 Author: Ivo van Doorn Date: Sun Feb 17 17:32:08 2008 +0100 rt2x00: Don't report driver generated frames to tx_status() This adds a new flag for the skb_frame_desc structure which is used to tag rts/cts frames that are generated by the driver. Through the tag we can recognize frames we have generated ourselves, so we don't report their tx status to mac80211. This patch is based on the original patch by Mattias Nissler . Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ac1aa7e4f3c73ecb09fddf59c1924530155d9359 Author: Ivo van Doorn Date: Sun Feb 17 17:31:48 2008 +0100 rt2x00: Send frames out with configured TX power mac80211 sends the txpower to use during config(), we already store it in the rt2x00_dev structure. When writing the descriptor correctly initialize the txpower field with this value to make sure all frames are send out with the correct tx power. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d3f5feaa5196049906f34c299fba8e3eda9c8646 Author: Ivo van Doorn Date: Sun Feb 10 22:52:56 2008 +0100 rt2x00: Release rt2x00 2.1.1 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 330e3f95b30d9616edd6df7646473179c159c00d Author: Ivo van Doorn Date: Sun Feb 10 22:52:36 2008 +0100 rt2x00: Kill guardian urb during disable_radio When the radio is being disabled we should also kill the guardian urb which could still be pending in the device. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c1aa3dc7acc6b97a6251f9d000494569d57fddca Author: Ivo van Doorn Date: Sun Feb 10 22:52:10 2008 +0100 rt2x00: Cleanup Makefile Simplify the way rt2x00 assigns new objects to the rt2x00lib module. This saves a few if statements and overall does this looks much nicer. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8f539276ee97bd174f644fb6c18bb9965b596032 Author: Ivo van Doorn Date: Sun Feb 10 22:51:41 2008 +0100 rt2x00: Fix queue->qid initialization As Adam Baker reported the queue->qid was not initialized correctly. The QID_AC_BE was assigned to the RX ring. This will move the queue initialization into a seperate function and makes sure that all queues are initialized directly with the correct qids. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 647d0ca905f7d975e0bf41f571de6f443c814913 Author: Ivo van Doorn Date: Sun Feb 10 22:51:21 2008 +0100 rt2x00: Fix skbdesc->data_len initialization skbdesc->data_len was not initialized correctly in rt2x00pci, rt2x00usb, rt2500usb and rt73usb. The value was set to queue->data_size which means that the incorrect frame size was pased to the upper layers. Correctly base the value on either the skb->len, or the rx frame size passed to the driver by the device. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 417f412f2dfae016e29bb128bece60bf75d94d48 Author: Ivo van Doorn Date: Sun Feb 10 22:50:58 2008 +0100 rt2x00: Fix typo in debug statement The second eeprom recovery message is about the RSSI offset for ieee802.11 A. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 68598d294b6bc1ecc418359994234cb43f4635ad Author: Ivo van Doorn Date: Sun Feb 10 22:50:28 2008 +0100 rt2x00: Add queue statistics to debugfs Rename "frame" folder to "queue" folder, add extra file to this folder which contains statistics about all hardware queues. This will help debugging and spotting problems in the queue indexing system. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e44df9296a8ab9d9160e230d68a1b01015c94e93 Author: Ivo van Doorn Date: Sun Feb 10 22:50:04 2008 +0100 rt2x00: Fix scheduling while atomic errors in usb drivers Call rt2x00_config_intf() outside of the spinlock context since the call will sleep for USB drivers. By using the ieee80211_if_conf values as arguments we make keep access tp rt2x00_intf thread safe even without the lock. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 21795094e2b71b4b11bfb468321046c1336cef69 Author: Ivo van Doorn Date: Sun Feb 10 22:49:13 2008 +0100 rt2x00: make csr_cache and csr_addr an union The csr_cache and csr_addr pointers are both the same size and they are never used both by the same driver. This makes them a nice candidate for an union. We could merge into 1 pointer, but that would either upset sparse, or require a lot of __force casts. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f590f48e87d1e61c03f01fa15be00e852c05426d Author: Ivo van Doorn Date: Sun Feb 10 22:48:47 2008 +0100 rt2x00: Select CONFIG_NEW_LEDS Select CONFIG_NEW_LEDS before selecting the other LED config options. This fixes a link error when NEW_LEDS was disabled. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 231be4e92cc0398781e6acda0e3f8ea54a7fa10f Author: Adam Baker Date: Sun Feb 10 22:48:19 2008 +0100 rt2x00: correct address calc for queue private data When calculating the offset to add to the queue entry base to get the individual entry's private data area the base address must be treated as a char * not a struct queue_entry so we can do byte oriented pointer arithmetic with it. Signed-off-by: Adam Baker Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 16938a24ae19562f078fd43a28500526ff78cd87 Author: Ivo van Doorn Date: Sun Feb 10 22:47:46 2008 +0100 rt2x00: Remove MGMT ring initialization Remove the last remnants of the MGMT ring initialization from rt61pci.ko Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 25fd893db26e90a1e9cf8ba151395766c70a69b3 Author: Ivo van Doorn Date: Sun Feb 10 22:47:17 2008 +0100 rt2x00: Make rt2x00 less verbose Remove the debug messages regarding initialization from EEPROM. The values are vendor specific, and are not really needed for debug purposes. If they ever become usefull we still have access to them through debugfs which also prints the exact same values... Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9c9dd2c9a42e8eb38b67f6c743c3d214664b8e2b Author: Ivo van Doorn Date: Sun Feb 10 22:46:52 2008 +0100 rt2x00: Fix invalid DMA free Be more strict when using the queue_entry_priv_pci_rx and queue_entry_priv_pci_tx structures. Only use a particular type that matches the queue type. When freeing the DMA the priv_tx->data and priv_tx->dma was used. This is incorrect since the start of the DMA was in fact the priv_tx->desc pointer. Instead of recalculating the dma_addr_t for the DMA start this patch will swap the data and descriptor part of the allocated memory. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0d84d78db5bad848e385cbb1e4ae2ea1f5f27641 Author: Randy Dunlap Date: Sun Feb 10 10:52:52 2008 -0800 wireless: rt2x00: fix driver menu indenting Michael Büker reports that the RT2x00 drivers are not indented as they should be, so use proper dependencies to make them be indented as expected. Signed-off-by: Randy Dunlap Ack-by: Ivo van Doorn Signed-off-by: John W. Linville commit f948db5de53ec49ede377df30eed0642cc213055 Author: Matthias Kaehlcke Date: Fri Feb 15 20:57:07 2008 +0100 prism54: Convert wpa_sem in a mutex The semaphore wpa_sem is used as mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f8139218b32e9a68fc6779fa0ce45c5078c23c8a Author: Matthias Kaehlcke Date: Fri Feb 15 20:56:59 2008 +0100 prism54: Convert stats_sem in a mutex The semaphore stats_sem is used as mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6f865c0ab9318cd4c357654e460cb4c9aaf23a92 Author: Matthias Kaehlcke Date: Fri Feb 15 20:56:48 2008 +0100 prism54: Convert acl->sem in a mutex The semaphore acl->sem is used as mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5c05863d0346c025a712b57622efe7828b29758e Author: Marcin Slusarz Date: Wed Feb 13 00:06:12 2008 +0100 ipw2200: le*_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Cc: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 19ae3a6a96859c0e64d9dd5d35515a6f23a9cad8 Author: Daniel Drake Date: Tue Feb 12 13:49:42 2008 +0000 ipw2100/ipw2200: note firmware loading caveat in Kconfig help text Most wireless drivers load their firmware at interface open time, which generally occurs after the filesystem is available. However, the ipw drivers load their firmware at probe time because firmware is required to read the device MAC address. When built-in, probe happens before the filesystem is available, hence device init will only complete successfully if the user has made special arrangements (including firmware plus a loader in the initramfs). Note all this in the kconfig help text for both drivers. Signed-off-by: Daniel Drake Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5200e8cdf26e32d15f7a125fd75310150f9b2812 Author: Christian Lamparter Date: Tue Feb 12 14:02:06 2008 +0100 p54: use IEEE 802.11e defaults for initialization This trival one-liner changes the QoS initialization values to match IEEE 802.11e defaults. Signed-off-by: Christian Lamparter Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 2c1a1b124f793aaf9f6bcb8f6b5d05c29c2db690 Author: Michael Buesch Date: Sun Feb 10 16:03:55 2008 +0100 zd1211rw: Fix beacon filter flags thinko We must not clear the FIF_BCN_PRBRESP_PROMISC bit in the new_flags. The zd-driver does support sending beacons and probe responses to the host. What the flag does is say "Send me all beacons and probe responses". And we actually do that. We always do that, so we ignore the case when the bit is disabled. But that is fine. But we must not clear the flag, as that tells mac80211 that we do not support passing beacons and probe responses to the stack. And that's not true. Signed-off-by: Michael Buesch Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e51c683717e3ac21713444e9a517aa8e0ad0ee48 Author: Javier Cardona Date: Fri Feb 8 18:41:17 2008 -0800 zd1211rw: Fixed incorrect constant name. Trial and error reveals that CR_ZD1211B_TX_PWR_CTL* do not affect the transmission power. Instead these registers seem to control the contention windows limits for different QoS access categories. Signed-off-by: Javier Cardona Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 9f6adf23d87ad394ed03c038409550ca37029154 Author: Tomas Winkler Date: Tue Feb 19 14:05:33 2008 -0800 iwlwifi: remove twice defined CSR register This patch removes twice defined CSR register. It was confusing Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4a9a66e9a87a8346129d557c7ec2303173318012 Author: Johannes Berg Date: Tue Feb 19 11:31:14 2008 +0100 mac80211: convert sta_info.pspoll to a flag This doesn't really need to be a full int variable since it's just a flag to indicate a PS-poll is in progress. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d007b7f42e2a3a2b95ef43e8cc1a3dfe66b19736 Author: Johannes Berg Date: Mon Feb 18 18:53:55 2008 +0100 b43(legacy): include full timestamp in beacon frames Having the full RX timestamp in beacons is necessary for IBSS merge to work properly so extend the 16-bit timestamp to the full 64 bits for beacon frames (as well as when monitor mode is active.) Signed-off-by: Johannes Berg Signed-off-by: Michael Buesch Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit aa68cbfb20b417d68dc45c9ef5f3e51546b438b0 Author: Johannes Berg Date: Mon Feb 18 14:20:30 2008 +0100 rtl818x: fix RTS/CTS-less transmit This fixes packet transmission of packets without RTS/CTS. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9d9bf77d16ba527f6f63846ca18cf20ae6e8d697 Author: Bruno Randolf Date: Mon Feb 18 11:21:36 2008 +0900 mac80211: enable IBSS merging enable IBSS cell merging. if an IBSS beacon with the same channel, same ESSID and a TSF higher than the local TSF (mactime) is received, we have to join its BSSID. while this might not be immediately apparent from reading the 802.11 standard it is compliant and necessary to make IBSS mode functional in many cases. most drivers have a similar behaviour. * move the relevant code section (previously only containing debug code) down to the end of the function, so we can reuse the bss structure. * we have to compare the mactime (TSF at the time of packet receive) rather than the current TSF. since mactime is defined as the time the first data symbol arrived we add the time until byte 24 where the timestamp resides, since this is how the beacon timestamp is defined. as some some drivers are not able to give a reliable mactime we fall back to use the current TSF, which will be enough to catch most (but not all) cases where an IBSS merge is necessary. * in IBSS mode we want to allow beacons to override probe response info so we can correctly do merges. * we don't only configure beacons based on scan results, so change that message. * to enable this we have to let all beacons thru in IBSS mode, even if they have a different BSSID. Signed-off-by: Bruno Randolf Acked-by: Johannes Berg Signed-off-by: John W. Linville commit a607268a0d5532d6ae3777ddd0339ff7d8b037a0 Author: Bruno Randolf Date: Mon Feb 18 11:21:15 2008 +0900 mac80211: move function ieee80211_sta_join_ibss() this moves ieee80211_sta_join_ibss() up for the next patch (ibss merge). Signed-off-by: Bruno Randolf Acked-by: Johannes Berg Signed-off-by: John W. Linville commit c132bec33c2eb5e46d8e4b80cfa5a9656d8e57e7 Author: Bruno Randolf Date: Mon Feb 18 11:20:51 2008 +0900 mac80211: better definition of mactime define mactime as the time when the first data symbol arrived at the HW. the old definition was questionable because 802.11 defines timestamp only for beacon and probe response frames, and there it means the timestamp field. a stricter definition of mactime is necessary for correct merging of IBSS. note that it is up to the driver to convert whatever its hardware returns to this definition. unfortunately we don't know for example when atheros hardware takes its rx timestamp exactly :( Signed-off-by: Bruno Randolf Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3230455d13860b26f638b9d58a8c5f20bf32fda2 Author: Reinette Chatre Date: Fri Feb 15 14:34:37 2008 -0800 iwlwifi: fix name of function in comment (_rx_card_state_notif) iwl_rx_card_state_notif is named iwl3945_rx_card_state_notif and iwl4965_rx_card_state_notif in the two iwlwifi drivers. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6cd74e3b99ec5aeed5346b1b3777903fa5e47db7 Author: Jiri Slaby Date: Fri Feb 15 21:58:53 2008 +0100 WDEV: ath5k, typecheck on nonDEBUG At least type check the ATH5K_TRACE paramter on !ATH5K_DEBUG configs. Signed-off-by: Jiri Slaby Cc: Nick Kossifidis Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6e33e30d7ae11d527ad1d65ec09a65467d6db1b2 Author: S.Çağlar Onur Date: Thu Feb 14 17:36:49 2008 +0200 drivers/net/wireless/atmel.c: Use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So following patch implements usage of the time_after() macro, defined at linux/jiffies.h, which deals with wrapping correctly Cc: linux-wireless@vger.kernel.org Signed-off-by: S.Çağlar Onur Signed-off-by: John W. Linville commit ab46623ec1f4ea022b861333ce959f0b8f9eb70e Author: S.Çağlar Onur Date: Thu Feb 14 17:36:47 2008 +0200 net/mac80211/: Use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So following patch implements usage of the time_after() macro, defined at linux/jiffies.h, which deals with wrapping correctly Cc: linux-wireless@vger.kernel.org Signed-off-by: S.Çağlar Onur Signed-off-by: John W. Linville commit ac2bf3242e1a329543be50b5c9df4f0119ee188c Author: Johannes Berg Date: Thu Feb 14 00:30:35 2008 +0100 mac80211: fix ecw2cw brain-damage This brain-damaged code just bothers me, fix it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3e82a822c7c8ea5477062ec8885d7b90696fe73f Author: Tomas Winkler Date: Wed Feb 13 11:32:31 2008 -0800 iwlwifi: Add tx_ant_num hw setting variable Added tx_ant_num variable into hw_setting This will be used for scanning TX antenna toggling On the way removed ac_queue_num unused Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 5c1b09581ba91d156ec907f5cbad07d33bf9e2ed Author: Tomas Winkler Date: Wed Feb 13 11:32:30 2008 -0800 iwlwifi: change iwl->priv iwl_priv * type in iwl-YYY-io.h This patch makes all variables of type struct iwl_priv to be named priv This is needed for smooth change of debug printing mechanism Signed-off-by: Tomas Winkler Signed-off-by: Ester Kummer Signed-off-by: John W. Linville commit eaaf7894959d413d1e01443a622c507e1b4f61db Author: Emmanuel Grumbach Date: Wed Feb 13 11:32:29 2008 -0800 iwlwifi-2.6: Adds and fixes defines about security This patch adds some missing defines defines for HW security. It also fixes the add_station host cmd layout. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 35f0d354bf0b0c125ac814419202f8c551081fda Author: Michael Buesch Date: Wed Feb 13 14:31:08 2008 +0100 b43: Add HostFlags HI support This adds support for the high 16 bits of the hostflags. No functional change. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit d0f5afbe6de6b8c06f94a8a0b370252e3863afe7 Author: Michael Buesch Date: Tue Feb 12 20:12:45 2008 +0100 mac80211: Extend filter flag documentation about unsupported flags This extends the filter flags documentation to make it clear what clearing a flag really means. Signed-off-by: Michael Buesch Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3330d7be7008fa8e213648750fc13613eecc54bb Author: Johannes Berg Date: Sun Feb 10 16:49:38 2008 +0100 mac80211: give burst time in txop rather than 0.1msec units This changes mac80211 to pass the burst time to conf_tx in txop units rather than 0.1msec units. 0.1msec units are only required by atheros hardware (according to current driver support), all other drivers do other calculations or require the txop value. Therefore, it results in fewer calculations and more precision if we just pass the txop value through to the driver. Signed-off-by: Johannes Berg Acked-by: Michael Buesch Signed-off-by: John W. Linville commit bb1eeff12d4cd6c706ef9fae340a9c93bb41ad05 Author: Michael Buesch Date: Sat Feb 9 12:08:58 2008 +0100 b43: Fix bandswitch This fixes bandswitching for the new mac80211 band API. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit b9e0b449aef50aabc295e4487a7a030a0d358367 Author: Reinette Chatre Date: Fri Feb 8 16:39:11 2008 -0800 iwlwifi: Update iwlwifi version stamp to 1.2.26 We update the version stamp at this time to distinguish the in-kernel driver from the out of tree driver. The out of tree driver currently has version number 1.2.25, but the latest driver code can only be found in this in-kernel driver. Having a later version number will reduce confusion between the two versions as we transition from out of tree to in-kernel. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 96d510566e4908f77f03ff1436c78ae7162a17d0 Author: Johannes Berg Date: Fri Feb 8 09:48:13 2008 +0100 mac80211: defer master netdev allocation to ieee80211_register_hw When we want to go multiqueue, we will need to know the number of queues the hardware has for registering the master netdev. This number is only available in ieee80211_register_hw() rather than ieee80211_alloc_hw(), so defer allocation of the master device to ieee80211_register_hw(). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4688be308f35f1e0099140a179d95c5e63b2319d Author: Stefano Brivio Date: Fri Feb 8 06:31:39 2008 +0100 b43legacy: fix B43legacy_WARN_ON macro Fix the B43legacy_WARN_ON macro so that it will evaluate expressions. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit a297170dae2595f31b02e4553a3b217e115a15cf Author: Stefano Brivio Date: Fri Feb 8 06:31:25 2008 +0100 b43legacy: fix upload of beacon packets to the hardware This fixes uploading of the beacon data and writing of the TIM and DTIM offsets. The patch by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit eed0fd2102206bf6108460274c40ee6b8e863369 Author: Stefano Brivio Date: Fri Feb 8 06:31:10 2008 +0100 b43legacy: add definitions for MAC control register This adds some definitions for the MAC control register and uses them. This is basically no functional change. The patch by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 292ae1745b8fe25b8182655d4bd5628e7947ea6b Author: Ron Rindjunsky Date: Wed Feb 6 11:20:39 2008 -0800 iwlwifi: remove IWL{4965,3945}_QOS This patch removes the IWL4965_QOS and IWL3945_QOS defines from Kconfig file along with all uses of it. These defines were relevant for the period QoS code was tested to be stable in driver's flows. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a9af2013ca791b40e38a33f94724b87826f17460 Author: Ron Rindjunsky Date: Wed Jan 30 12:58:45 2008 +0200 mac80211: adjustable number of bits for qdisc pool This fix allows to control the number of bits that qdiscs book keeping can be done for with respect to the qdisc pool Signed-off-by: Ron Rindjunsky Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3d30d949cf3f9763393f3457721bca3ac2426e42 Author: Michael Wu Date: Thu Jan 31 19:48:27 2008 +0100 mac80211: Add cooked monitor mode support This adds "cooked" monitor mode to mac80211. A monitor interface in "cooked" mode will see all frames that mac80211 has not used internally. Signed-off-by: Michael Wu Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8944b79fe9b1fe249c599e7e51f1bfad539aab6d Author: Johannes Berg Date: Thu Jan 31 19:48:26 2008 +0100 mac80211: move some code into ieee80211_invoke_rx_handlers There is some duplicated code that sits in front of each function call to ieee80211_invoke_rx_handlers() that can very well be part of that function if it gets slightly different arguments. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 589052904a60f00dd2cbc1d3488ee3f520a7de21 Author: Johannes Berg Date: Thu Jan 31 19:48:25 2008 +0100 mac80211: remove "dynamic" RX/TX handlers It doesn't really make sense to have extra pointers to the RX/TX handler arrays instead of just using the arrays directly, that also allows us to make them static. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2c9745e5684ad75d02020bcaa31ab6d4b498e1e1 Author: Johannes Berg Date: Thu Jan 31 19:48:24 2008 +0100 mac80211: clean up some things in the RX path Uninline ieee80211_invoke_rx_handlers to save .text space, make the code more readable in some places and remove the "optimisation" that is hit only very few times and unclear to start with. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8cc9a73914b07b5908d8a59320f4557fc9639f2e Author: Michael Wu Date: Thu Jan 31 19:48:23 2008 +0100 mac80211: Use monitor configuration flags Take advantage of the monitor configuration flags now provided by cfg80211. Signed-off-by: Michael Wu Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 66f7ac50ed7cc5c19a62bc97e8f6e7891004a03a Author: Michael Wu Date: Thu Jan 31 19:48:22 2008 +0100 nl80211: Add monitor interface configuration flags This allows precise control over what a monitor interface shows. Signed-off-by: Michael Wu Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e4c26add8893e40e6e809b8c1ebc81e37762af2b Author: Johannes Berg Date: Thu Jan 31 19:48:21 2008 +0100 mac80211: split RX_DROP Some instances of RX_DROP mean that the frame was useless, others mean that the frame should be visible in userspace on "cooked" monitor interfaces. This patch splits up RX_DROP and changes each instance appropriately. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9ae54c8463691b64ca6e6d8680787a6527810984 Author: Johannes Berg Date: Thu Jan 31 19:48:20 2008 +0100 mac80211: split ieee80211_txrx_result The _DROP result will need to be split in the RX path but not in the TX path, so for preparation split up the type into two types, one for RX and one for TX. Also make sure (via sparse) that they cannot be confused. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 78330fddec4e326af5e6aede0fc97824c690ba1d Author: Tomas Winkler Date: Wed Feb 6 02:37:18 2008 +0200 iwlwifi: Fix HT compilation breakage caused by cfg80211 API for channels/bitrates patch This patch fixes compilation breakage caused by 'cfg80211 API for channels/bitrates' patch. however it doesn't fix the driver's functional problems caused by that patch. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit b86af631b8482b908979b61d06ae7d14e5966885 Author: Ivo van Doorn Date: Sun Feb 3 15:56:02 2008 +0100 rt2x00: Release rt2x00 2.1.0 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8f5fa7f04484e933b3ac8dfe77995d3f1cedde5f Author: Ivo van Doorn Date: Sun Feb 3 15:54:34 2008 +0100 rt2x00: Fix rate initialization Fix typo in rate initialization. This fixes the WARN_ON() in net/wireless/util.cpp:83 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3b640f21af4b6b36b546fecbd3fe5109981360da Author: Ivo van Doorn Date: Sun Feb 3 15:54:11 2008 +0100 rt2x00: Enable LED class support for rt2500usb/rt73usb Add kerneldoc for vendor request functions in rt2x00usb. Add asynchroneous vendor request function in rt2x00usb. With the availability of the asynchroneuous vendor request we can now enable LED class support for rt2500usb and rt73usb. Since LED handling is not important, it doesn't really matter if a register call fails (This solution is better then no LED class support at all). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a9450b70a755abf093600035ef5361c53343fe9a Author: Ivo van Doorn Date: Sun Feb 3 15:53:40 2008 +0100 rt2x00: Make use of MAC80211_LED_TRIGGERS Make use of the led triggers provided by mac80211 to control the led status. This can be enabled through a per-driver configuration option which will automatically enable the generic handler in rt2x00lib. This has been enabled for rt2500usb and rt73usb for the moment since the led class will call set_brightness in irq context which will not work correctly with the usb drivers who need to sleep. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f2a3c7f5c8e3c1356dbbce1e9ac2e7f4d5365ba9 Author: Ivo van Doorn Date: Sun Feb 3 15:52:45 2008 +0100 rt2x00: Use ieee80211_channel_to_frequency() No need to perform the calculation ourselves when wireless provides a helper function for it. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f5507ce90be4e00a84b5bb4c7b4324455aa6ee21 Author: Ivo van Doorn Date: Sun Feb 3 15:51:13 2008 +0100 rt2x00: Remove HWMODE_{A,B,G} rt2500usb initialized the SIFS and EIFS without using the values coming from rt2x000lib. After this is fixed HWMODE_{A,B,G} is now unused and can be removed in favour of the ieee80211_band enumeration which could still be usefull later. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 70e2fed4ec14df84ed72554d573794714b15a078 Author: Ivo van Doorn Date: Sun Feb 3 15:50:40 2008 +0100 rt2x00: Rate structure overhaul Recent changes to the rate structure registration broke rt2x00, the hw_value was reduced from 32bits to 16bits while rt2x00 used the full 32bits. However the way rt2x00 used the value was inflexible and needed to be changed anyway. This patch creates a array containing information for each rate, the hw_value passed to mac80211 is the index value for that array including a field to indicate if short preamble should be enabled. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e71c9fac316221a4594f3bd58c2d30ada0cabaf6 Author: Luis R. Rodriguez Date: Sun Feb 3 21:53:51 2008 -0500 ath5k/phy.c: fix negative array index Author: Adrian Bunk This patch fixes a negative array index spotted by the Coverity checker. Changes-licensed-under: ISC Acked-by: Nick Kossifidis Signed-off-by: Adrian Bunk Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6844e63a9458d15b4437aa467c99128d994b0f6c Author: Luis R. Rodriguez Date: Sun Feb 3 21:53:20 2008 -0500 ath5k: Use software encryption for now Hardware encryption doesn't work yet so lets use software encryption for now. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b446197cc14ef060baeed5acbcddf148c04d03f8 Author: Luis R. Rodriguez Date: Mon Feb 4 10:03:54 2008 -0500 ath5k: Port debug.c over to the new band API and enable as build option This patch finishes the port and enables debug as an build option. This was tested on: Atheros AR5213A chip found (MAC: 0x59, PHY: 0x43) RF5112A multiband radio found (0x36) Note: For 2 GHz band on the above card I noticed we get negative channel numbers. Will look into this unless someone beats me to it. Example out put when loading using: sudo modprobe ath5k debug=0x00000400 Band 2 GHz: channels 26, rates 12 channels: 1 2412 00c0 0000 2 2417 00c0 0000 3 2422 00c0 0000 4 2427 00c0 0000 5 2432 00c0 0000 6 2437 00c0 0000 7 2442 00c0 0000 8 2447 00c0 0000 9 2452 00c0 0000 10 2457 00c0 0000 11 2462 00c0 0000 12 2467 00c0 0000 13 2472 00c0 0000 14 2484 00c0 0000 -498 2512 00c0 0000 -494 2532 00c0 0000 -490 2552 00c0 0000 -486 2572 00c0 0000 -482 2592 00c0 0000 -478 2612 00c0 0000 -474 2632 00c0 0000 -470 2652 00c0 0000 -466 2672 00c0 0000 -462 2692 00c0 0000 -458 2712 00c0 0000 -454 2732 00c0 0000 Band 5 GHz: channels 194, rates 8 channels: 27 5135 0140 0000 28 5140 0140 0000 [... etc ] 219 6095 0140 0000 220 6100 0140 0000 rates: 60 000b 0000 0000 90 000f 0000 0000 120 000a 0000 0000 180 000e 0000 0000 240 0009 0000 0000 360 000d 0000 0000 480 0008 0000 0000 540 000c 0000 0000 Changes to base.c, base.h Changes-licensed-under: 3-Clause-BSD Changes to debug.c, debug.h Changes-licensed-under: GPL Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e9ddc0f25ce524d257e6cf779e495f567ed7678f Author: Luis R. Rodriguez Date: Mon Feb 4 09:56:32 2008 -0500 ath5k: Use our own Kconfig file, we'll be expanding this shortly Apologoes, this is a re-post of patch-04, forgot to git-add our Kconfig... New series (only 2 patches needed fixing, which I am reposting) can be found here: http://kernel.org/pub/linux/kernel/people/mcgrof/patches/ath5k/2008-02-04.v2/ Use our own Kconfig file, we'll be expanding this shortly. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a3f4b914a03a11f3ccc98243b20a647bb8f31691 Author: Luis R. Rodriguez Date: Sun Feb 3 21:52:10 2008 -0500 ath5k: ath5k_copy_channels() was not setting the channel band ath5k_copy_channels() wasn't setting the channel's band so all driver channels had a 2GHz band set. Lets set this. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 400ec45a02b2a9ef75c26c490ba80801d19b7e7b Author: Luis R. Rodriguez Date: Sun Feb 3 21:51:49 2008 -0500 ath5k: Cleanup after API changes Cleanup after API changes patch (checkpatch.pl stuff) and on ath5k_hw_channel() make use of the existing ath5k_channel_ok() instead of re-implementing the checks again. This was necessary to make the code cleaner and fit the 80-chars wide limit so sending it within the same patch. Finally make a note that we *may* eventually move cap_range stuff to struct wiphy (band frequency range capabilities). This information can later be exported to userspace, for example, and giving it access to mac80211 and drivers in general can come in handy. Changes to initvals.c, phy.c Changes-licensed-under: ISC Changes to ath5k.h, base.c Changes-licensed-under: 3-Clause-BSD Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d8ee398d183df36083e41e9162b0cf014f38f482 Author: Luis R. Rodriguez Date: Sun Feb 3 21:51:04 2008 -0500 ath5k: Port to new bitrate/channel API Author: Nick Kossifidis Tested on 5211, 5213+5112, 5213A+2112A and it wors fine. Also i figured out a way to process rate vallue found on status descriptors, it's still buggy but we are getting closer (i think it improved stability a little). Changes to hw.c, initvals.c, phy.c Changes-licensed-under: ISC Changes to ath5k.h, base.c, base.h Changes-licensed-under: 3-Clause-BSD Acked-by: Jiri Slaby Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 406f2388cc1f6e6c176305bd325cef230ce1afdd Author: Ivo van Doorn Date: Sat Feb 2 23:53:10 2008 +0100 wireless: Fix WARN_ON() with ieee802.11b When the driver registers a IEEE80211_BAND_2GHZ band, it can either be 802.11b or 802.11g. But when 802.11b rates are registered "want" will be 3 (since 4 rates are being registered, and each of those 4 rates will decrease "want"). Since this is a correct situation, there is no need to trigger a WARN_ON() for this. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2c28b36275b53cfe380566c1810b3f500f7f4b5b Author: Mohamed Abbas Date: Thu Jan 31 21:46:41 2008 -0800 iwlwifi: set rate_idx correctly from plcp rate_idx is derived from plcp information Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7b72304d864ed281547341a49495a6eb3770681b Author: Mohamed Abbas Date: Thu Jan 31 21:46:40 2008 -0800 iwlwifi: initialize ieee80211_channel->hw_value hw_value is being used uninitialized. fix it. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit aac09fbf827b467995b00a1ea0213843a9e605b8 Author: Johannes Berg Date: Wed Jan 30 17:36:10 2008 +0100 wireless: fix ERP rate flags In the rate API patch I accidentally reverted the test for ERP rates, this fixes it. All rates except 1, 2, 5.5 and 11 MBit are ERP rates, not those. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b7c50de92e1b54fa4a9a2ee436b16ead3ee31767 Author: Stefano Brivio Date: Tue Jan 29 20:29:16 2008 +0100 rc80211-pid: fix rate adjustment Merge rate_control_pid_shift_adjust() to rate_control_pid_adjust_rate() in order to make the learning algorithm aware of constraints on rates. Also add some comments and rename variables. This fixes a bug which prevented 802.11b/g non-AP STAs from working with 802.11b only AP STAs. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 238814fd9a9624e3076c47ef0c003101927c7818 Author: Johannes Berg Date: Mon Jan 28 17:19:37 2008 +0100 mac80211: remove port control enable switch, clean up sta flags This patch removes the 802.1X port acess control enable flag since it is not required. Instead, set the authorized flag for each station that we normally communicate with (WDS peers, IBSS peers and APs we're associated to) and require hostapd to set the authorized flag for all stations when port control is not enabled. Also, since I was working in that area, this documents station flags and removes the unused "permanent" one. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 69d464d5938ca0f4fb3447b3e32872e0ca79efc1 Author: Johannes Berg Date: Mon Jan 28 17:08:56 2008 +0100 mac80211: fix scan band off-by-one error When checking for the next band to advance to, there was an off-by-one error that could lead to an access to an invalid array index. Additionally, the later check for scan_band >= IEEE80211_NUM_BANDS is not required since that will never be true. This also improves the comments related to that code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ee688b000d35f413f33561ec9c7d3355be561e2f Author: Johannes Berg Date: Thu Jan 24 19:38:39 2008 +0100 nl80211: export hardware bitrate/channel capabilities This makes nl80211 export the hardware bitrate/channel capabilities as registered in a wiphy. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8318d78a44d49ac1edf2bdec7299de3617c4232e Author: Johannes Berg Date: Thu Jan 24 19:38:38 2008 +0100 cfg80211 API for channels/bitrates, mac80211 and driver conversion This patch creates new cfg80211 wiphy API for channel and bitrate registration and converts mac80211 and drivers to the new API. The old mac80211 API is completely ripped out. All drivers (except ath5k) are updated to the new API, in many cases I expect that optimisations can be done. Along with the regulatory code I've also ripped out the IEEE80211_HW_DEFAULT_REG_DOMAIN_CONFIGURED flag, I believe it to be unnecessary if the hardware simply gives us whatever channels it wants to support and we then enable/disable them as required, which is pretty much required for travelling. Additionally, the patch adds proper "basic" rate handling for STA mode interface, AP mode interface will have to have new API added to allow userspace to set the basic rate set, currently it'll be empty... However, the basic rate handling will need to be moved to the BSS conf stuff. I do expect there to be bugs in this, especially wrt. transmit power handling where I'm basically clueless about how it should work. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 10b6b80145cc93887dd8aab99bfffa375e9add31 Author: Ivo van Doorn Date: Sun Feb 3 15:55:21 2008 +0100 rt2x00: Fix queue index handling When Q_INDEX is increased, the queue->length should be increased, only when Q_INDEX_DONE is increased should queue_length be descreased. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5957da4c6e67a5447e75c2ad65252fdd5e22f9d0 Author: Ivo van Doorn Date: Sun Feb 3 15:54:57 2008 +0100 rt2x00: Move beacon and atim queue defines into rt2x00 As Johannes Berg indicated the BEACON and AFTER_BEACON queue indeces in mac80211 should be removed because they are too hardware specific. This patch adds the queue index defines into rt2x00queue.h and removes the dependency of the defines inside mac80211.h. Also move rt2x00pci_beacon_update() into rt2400pci and rt2500pci individually since it is no longer a generic function since rt61 and rt2800 no longer use that. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 091ed315ef77a4949a6ce22e43af15a504ada348 Author: Ivo van Doorn Date: Sun Feb 3 15:52:21 2008 +0100 rt2x00: Initialize QID from queue->qid The QID_MGMT is assigned to the beacon and atim queue during initialization. This means we don't need a seperate check in write_tx_desc().. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 871ff6ed64e17a785cb4d48f56beedff038cc42a Author: Ivo van Doorn Date: Sun Feb 3 15:51:47 2008 +0100 rt2x00: Remove TX_MGMT queue usage rt73usb doesn't have a 5th queue, correctly initialize hw->queues rt61pci had a 5th queue but was removed recently, correctly initialize hw->queues and remove the last remnants. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6bb40dd13b458beb55f5c60dba1cb28e814bd640 Author: Ivo van Doorn Date: Sun Feb 3 15:49:59 2008 +0100 rt2x00: Add per-interface structure Rework the interface handling. Delete the interface structure and replace it with a per-interface structure. This changes the way rt2x00 handles the active interface drastically. Copy ieee80211_bss_conf to the this rt2x00_intf structure during the bss_info_changed() callback function. This will allow us to reference it later, and removes the requirement for the device flag SHORT_PREAMBLE flag which is interface specific. Drivers receive the option to give the maximum number of virtual interfaces the device can handle. Virtual interface support: rt2400pci: 1 sta or 1 ap, * monitor interfaces rt2500pci: 1 sta or 1 ap, * monitor interfaces rt2500usb: 1 sta or 1 ap, * monitor interfaces rt61pci: 1 sta or 4 ap, * monitor interfaces rt73usb: 1 sta or 4 ap, * monitor interfaces At the moment none of the drivers support AP and STA interfaces simultaneously, this is a hardware limitation so future support will be very unlikely. Each interface structure receives its dedicated beacon entry, with this we can easily work with beaconing while multiple master mode interfaces are currently active. The configuration handlers for the MAC, BSSID and type are often called together since they all belong to the interface configuration. Merge the 3 configuration calls and cleanup the API between rt2x00lib and the drivers. While we are cleaning up the interface configuration anyway, we might as well clean up the configuration handler as well. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9404ef34e4747228717d6e22ce3827ed366ccf41 Author: Ivo van Doorn Date: Sun Feb 3 15:48:38 2008 +0100 rt2x00: Driver requiring firmware should select crc algo The driver should select what CRC algorithm is required when performing a checksum on the firmware. rt61pci & rt73usb require crc-itu-t rt2800pci & rt2800usb require crc-ccitt Legacy 2800pci/usb driver uses crc-itu-t + bit order reversion, but that is just inefficient especially since the end result is the same as a different algorithm which is also available as library. ;) Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit adfdbb79c06154cd3cc7b5983106ace324aa3b02 Author: Ivo van Doorn Date: Sun Feb 3 15:48:03 2008 +0100 rt2x00: Enable master and adhoc mode again This will enable the creation of master mode and adhoc interfaces again. This does not mean the issues surrounding beaconing have been resolved, but this will make testing easier and perhaps we can discover which cards are actually working and which ones not. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3b3618ad5117331b6fa7cafc41fc18935709e569 Author: Ivo van Doorn Date: Sun Feb 3 15:47:30 2008 +0100 rt2x00: Fix tx parameter initialization Check if the aifs, cw_min and cw_max are above 0 when determining if the default should be used. Tor aifs a negative number is used to determine if the default should be used or not. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d7bafff3f94efd850f8744d683e63812ff8d55c5 Author: Adam Baker Date: Sun Feb 3 15:46:24 2008 +0100 rt2x00: don't write past the end when writing short descriptors on rt61 The space allocated in the skb for a descriptor is only 24 bytes when setting up beacons in rt61 so make sure we don't write to the descriptor words beyond that and corrupt the beacon packet. Signed-off-by: Adam Baker Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 181d6902b6bad978d157e69479c95cc0ff213a76 Author: Ivo van Doorn Date: Tue Feb 5 16:42:23 2008 -0500 rt2x00: Queue handling overhaul This introduces a big queue handling overhaul, this also renames "ring" to "queues". Move queue handling into rt2x00queue.c and the matching header, use Kerneldoc to improve rt2x00 library documentation. Access to the queues is now protected under a spinlock, this to prevent race conditions which could corrupt the indexing system of the queue. Each queue entry allocates x bytes for driver/device specific data, this cleans up the queue structure significantly and improves code readability. rt2500usb no longer needs 2 entries in the beacon queue to correctly send out the guardian byte. This is now handled in the entry specific structure. rt61 and rt73 now use the correct descriptor size for beacon frames, since this data is written into the registers not the entire TXD descriptor was used but instead of a subset of it named TXINFO. Finally this also fixes numerous other bugs related to incorrect beacon handling or beacon related code. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 811aa9cad1bd927999888ab56ed9592519d2fef6 Author: Ivo van Doorn Date: Sun Feb 3 15:42:53 2008 +0100 rt2x00: Update copyright notice Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 194c7ca664065e7671c094c4a7cf32c171426ff4 Author: Roel Kluin <12o3l@tiscali.nl> Date: Sat Feb 2 20:48:48 2008 +0100 wireless/iwlwifi/iwl-4965.c: add parentheses '!' has a higher priority than '&': bitanding has no effect. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: John W. Linville commit 38f3714d66b5679aee2a4fe23b1235c3829fcce4 Author: Johannes Berg Date: Tue Jan 29 17:07:43 2008 +0100 mac80211: dissolve pre-rx handlers These handlers do not really return a status and the compiler can do a much better job when they're simply static functions that it can inline if appropriate. Also makes the code shorter. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 145de9b693943f052c2c15efbc31b2851fedb6e0 Author: Tomas Winkler Date: Sun Jan 27 15:06:23 2008 +0200 iwlwifi: enable 802.11n in Kconfig This patch removes 'IWL4965_HT: depends on n' from iwlwifi's Kconfig 1. 11n is functional so no need to make it invisible in the configuration 2. Latest Johannes patch 'cfg80211 API for channels/bitrates, mac80211 and driver conversion' broke compilation because this config option was invisible - patch fixing it will be provided later Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 0c11b4de5d81771ba0fdc8a5d13d59ed01d41252 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:26 2008 +0200 iwlwifi: A-MPDU Tx activation by load measures This patch gives a heuristic for activation of the A-MPDU Tx. As the rate scaling is rate aware, it now also measures estimated load, and sends A-MPDU activation after a threshold has been met. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 995564382f9d177214b6ec64db6b9109d4cd41dd Author: Ron Rindjunsky Date: Mon Jan 28 14:07:25 2008 +0200 iwlwifi: A-MPDU Tx conform block Ack rate scaling to mac80211 This patch uses the changes in ieee80211_tx_status to pass Block Ack data to rate scaling module, and uses this data in rate scaling calculations Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit fe01b477bbd23e69c3bdc6bce5be510ddad8297d Author: Ron Rindjunsky Date: Mon Jan 28 14:07:24 2008 +0200 iwlwifi: A-MPDU Tx conform flows to mac80211 This patch alters the current iwlwifi behavior to fit the flows introduced by the mac80211, mainly queues handling and start/stop call backs flows Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 8114fcf185c58b23dc9fcaf4944b59b4c1407b39 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:23 2008 +0200 iwlwifi: A-MPDU Tx conform API to mac80211 This patch alters the current API in order to fit the new API mac80211 gives for A-MPDU Tx Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit d92684e66091c0f0101819619b315b4bb8b5bcc5 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:22 2008 +0200 mac80211: A-MPDU Tx add delBA from recipient support This patch adds the ability to handle delBA from recipient to initiator during an A-MPDU session Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 483fdcecc564ae6b011148a758517cf561f65678 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:21 2008 +0200 mac80211: A-MPDU Tx change tx_status to support Block Ack data This patch adds fields to ieee80211_tx_status in order to allow block ack information exchange between low-level driver,mac80211 and rate scaling module. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit eb2ba62ee547b5ae7ca0339c75cd697f96060ca2 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:20 2008 +0200 mac80211: A-MPDU add debugfs support This patch adds A-MPDU status report per STA to the debugfs. The option to de/activate A-MPDU through debugfs is also present. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit fe3bf0f59e97193f8619707f5d9458ce71a4f8d8 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:19 2008 +0200 mac80211: A-MPDU Tx MLME data initialization This patch initialize A-MPDU MLME data for Tx sessions. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 9e7234923789897858e1a475c579b5e2e6ad5b74 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:18 2008 +0200 mac80211: A-MPDU Tx adding qdisc support This patch allows qdisc support in A-MPDU Tx. a method to handle QoS <-> TID switches is present in this patch. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit eadc8d9e9047266a8914eb2ed4d36e797ce540d1 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:17 2008 +0200 mac80211: A-MPDU Tx adding basic functionality This patch adds the following abilities to mac80211: - start A-MPDU Tx session - stop A-MPDU Tx session - call backs to start/stop A-MPDU Tx session - sending addBA request - processing addBA response Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 80656c20315558a9bc5c5b7f7c6949fa72277afd Author: Ron Rindjunsky Date: Mon Jan 28 14:07:16 2008 +0200 mac80211: A-MPDU Tx add MLME structures This patch adds the needed structures to describe the Tx aggregation MLME per STA new: - struct tid_ampdu_tx: TID aggregation information (Tx) changed: - struct sta_ampdu_mlme: Tx aggregation information per TID and dialog token creator were added - struct sta_info: tid_to_tx_q added for tid<->tx queue mapping Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 0df3ef45a3d7b59cc53ce4e3611033c6e3b51a1b Author: Ron Rindjunsky Date: Mon Jan 28 14:07:15 2008 +0200 mac80211: A-MPDU Tx add session's and low level driver's API This patch adds the API for 3 stages in A-MPDU Tx session flow: - request mac80211 to start/stop A-MPDU Tx session for specific TID. such a request should be issued by a load aware element, either mac80211 itself or external element. - requests by mac80211 to low-level driver to start/stop Tx aggregation. notice that low level driver responds now with Starting Sequence Number. - async feedback by low-level to mac80211 to inform that HW is ready for next A-MPDU Tx state. Changes in API to Rx A-MPDU were also made, reflected in iwlwifi changes as well. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 8816edcea9009b66570bef10acde5a552a9b3b3c Author: Holger Schurig Date: Mon Jan 28 17:28:05 2008 +0100 libertas: rename/document scan_channel Rename last_scanned_channel to scan_channel, just so that a grep for struct bss_descriptor's last_scanned element doesn't show up so many positives. Also documented the variable and moved it to other scan related entries in lbs_private. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 23ff50361f23355334bffe33de84f0b52aa34b9d Author: Holger Schurig Date: Mon Jan 28 17:27:03 2008 +0100 libertas: make lbs_unset_basic_rate_flags() static ... by moving it into the file where it's sole user resides Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit e226868ec3f3f98544ed2e6e7af7b6b8a629f492 Author: Holger Schurig Date: Mon Jan 28 17:26:28 2008 +0100 libertas: make lbs_sync_channel() static ... by moving it into the file where it's sole user resides Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 52507c20870dbd58921b42b801f0a92fc057221b Author: Holger Schurig Date: Mon Jan 28 17:25:53 2008 +0100 libertas: make association debug output nicer This also fixes a bug where should_deauth_infrastructure() always returned 0. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 1afc09ab7c62d0e59596ce76e8e256b0cf695654 Author: Holger Schurig Date: Tue Jan 29 09:14:40 2008 +0100 libertas: trim overly long debug statement Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 7d185b8bb17eac9e9d673eb483ded0fbf0b28b97 Author: Johannes Berg Date: Mon Jan 28 17:11:43 2008 +0100 mac80211: allow sending multicast frames through virtual ports When reworking the port access control code, I forgot multicast frames and those are now always rejected because the destination station is not known. This changes the code to allow through multicast frames and also avoid the sta hash lookup (which is bound to fail) for them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b22052569657925d6de33b19b2c7b7562900defb Author: Tomas Winkler Date: Sun Jan 27 16:18:22 2008 +0200 mac80211: set assoc flag to bss_conf Only BSS_CHANGED_ASSOC was set in the 'changed' bitmask. Assignment to bss_conf.assoc was absent. This patch assign value to bss_conf.assoc according the association state. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 03a64c93b68e1eff299b9bbbb0d13105171cddc4 Author: Ilpo Järvinen Date: Fri Feb 29 11:46:17 2008 -0800 [LLC]: Kill static inline llc_addrany After the patch: $ git-grep llc_addrany | wc -l 0 Signed-off-by: Ilpo Järvinen Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a90bcbd651b453d8259243115696c11b864b30fe Author: Ilpo Järvinen Date: Fri Feb 29 11:45:34 2008 -0800 [SCTP]: Kill unused static inline sctp_sysctl_jiffies_ms After the patch: $ git-grep sctp_sysctl_jiffies_ms | wc -l 0 Signed-off-by: Ilpo Järvinen Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 95a363582b69bec53bc73ff2100dfc344bd23098 Author: Pavel Emelyanov Date: Fri Feb 29 11:44:14 2008 -0800 [NET]: Use existing device list walker for /proc/dev_mcast. The seq_file_operations' dev_mc_seq_xxx callbacks do the same thing as the dev_seq_xxx ones do, but skip the SEQ_START_TOKEN. So use the existing exported dev_seq_xxx calls and handle the SEQ_START_TOKEN in the dev_mc_seq_show(). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit fd80eb942ad9761f241c9b287b3b9a342b20690d Author: Denis V. Lunev Date: Fri Feb 29 11:43:03 2008 -0800 [INET]: Remove struct dst_entry *dst from request_sock_ops.rtx_syn_ack. It looks like dst parameter is used in this API due to historical reasons. Actually, it is really used in the direct call to tcp_v4_send_synack only. So, create a wrapper for tcp_v4_send_synack and remove dst from rtx_syn_ack. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 58fbbed4fbc0094fc808a568fe99a915f85402ee Author: Neil Horman Date: Fri Feb 29 11:40:56 2008 -0800 [SCTP]: extend exported data in /proc/net/sctp/assoc RFC 3873 specifies several MIB objects that can't be obtained by the current data set exported by /proc/sys/net/sctp/assoc. This patch adds the missing pieces of data that allow us to compute all the objects in the sctpAssocTable object. Signed-off-by: Neil Horman Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 665bba10872fe995773b10c491519f148110576d Author: Pavel Emelyanov Date: Fri Feb 29 11:39:17 2008 -0800 [NETFILTER/RXRPC]: Don't use seq_release_private where inappropriate. Some netfilter code and rxrpc one use seq_open() to open a proc file, but seq_release_private to release one. This is harmless, but ambiguous. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit c20932d2c9ba24838a102ac501bf7371b0fe0794 Author: Pavel Emelyanov Date: Fri Feb 29 11:38:24 2008 -0800 [ATALK/DECNET]: Use seq_open_private in appletalk and decnet. These two also perform manual seq_open_private, so patch them both at once. But unlike ATM code, these already use the seq_release_private, so I splitted this patch from the previous one. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 9a8c09e73bf6c8b1720b1172cdcabb14fc823cf8 Author: Pavel Emelyanov Date: Fri Feb 29 11:37:02 2008 -0800 [ATM]: Use seq_open/release_privade instead of manual manipulations. lec_seq_open/lec_seq_release and __vcc_seq_open/vcc_seq_release do seq_open/release_private's job. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 45af1754bc09926b5e062bda24f789d7b320939f Author: David S. Miller Date: Fri Feb 29 11:33:19 2008 -0800 [NET]: sk_release_kernel needs to be exported to modules Fixes: ERROR: "sk_release_kernel" [net/ipv6/ipv6.ko] undefined! Signed-off-by: David S. Miller commit 98c6d1b261e74750e6c56ede26dc295201c4a8b2 Author: Denis V. Lunev Date: Fri Feb 29 11:21:22 2008 -0800 [NETNS]: Make icmpv6_sk per namespace. All preparations are done. Now just add a hook to perform an initialization on namespace startup and replace icmpv6_sk macro with proper inline call. Actual namespace the packet belongs too will be passed later along with the one for the routing. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 4a6ad7a141cbee2cf074e6cf8dc527b231b69ece Author: Denis V. Lunev Date: Fri Feb 29 11:19:58 2008 -0800 [NETNS]: Make icmp_sk per namespace. All preparations are done. Now just add a hook to perform an initialization on namespace startup and replace icmp_sk macro with proper inline call. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 5c8cafd65e1448b1d55cad3fb1e42ad42607e5be Author: Denis V. Lunev Date: Fri Feb 29 11:19:22 2008 -0800 [NETNS]: icmp(v6)_sk should not pin a namespace. So, change icmp(v6)_sk creation/disposal to the scheme used in the netlink for rtnl, i.e. create a socket in the context of the init_net and assign the namespace without getting a referrence later. Also use sk_release_kernel instead of sock_release to properly destroy such sockets. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit edf0208702007ec1f6a36756fdd005f771a4cf17 Author: Denis V. Lunev Date: Fri Feb 29 11:18:32 2008 -0800 [NET]: Make netlink_kernel_release publically available as sk_release_kernel. This staff will be needed for non-netlink kernel sockets, which should also not pin a namespace like tcp_socket and icmp_socket. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 9dfbec1fb2bedff6b118504055cd9f0485edba45 Author: Denis V. Lunev Date: Fri Feb 29 11:17:56 2008 -0800 [NETLINK]: No need for a separate __netlink_release call. Merge it to netlink_kernel_release. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 79c911595390c8fdc8d8a487ac1951d854b1cd09 Author: Denis V. Lunev Date: Fri Feb 29 11:17:11 2008 -0800 [ICMP]: Allocate data for __icmp(v6)_sk dynamically. Own __icmp(v6)_sk should be present in each namespace. So, it should be allocated dynamically. Though, alloc_percpu does not fit the case as it implies additional dereferrence for no bonus. Allocate data for pointers just like __percpu_alloc_mask does and place pointers to struct sock into this array. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 405666db84b984b68fc75794069f424c02e5796c Author: Denis V. Lunev Date: Fri Feb 29 11:16:46 2008 -0800 [ICMP]: Pass proper ICMP socket into icmp(v6)_xmit_(un)lock. We have to get socket lock inside icmp(v6)_xmit_lock/unlock. The socket is get from global variable now. When this code became namespaces, one should pass a namespace and get socket from it. Though, above is useless. Socket is available in the caller, just pass it inside. This saves a bit of code now and saves more later. add/remove: 0/0 grow/shrink: 1/3 up/down: 1/-169 (-168) function old new delta icmp_rcv 718 719 +1 icmpv6_rcv 2343 2303 -40 icmp_send 1566 1518 -48 icmp_reply 549 468 -81 Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit b7e729c4b4778aac4dbbec9dc070acde93071f4d Author: Denis V. Lunev Date: Fri Feb 29 11:16:08 2008 -0800 [ICMP]: Store sock rather than socket for ICMP flow control. Basically, there is no difference, what to store: socket or sock. Though, sock looks better as there will be 1 less dereferrence on the fast path. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 1e3cf6834e7db1eac94314338c9e30c2103ac409 Author: Denis V. Lunev Date: Fri Feb 29 11:15:42 2008 -0800 [ICMP]: Optimize icmp_socket usage. Use this macro only once in a function to save a bit of space. add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-98 (-98) function old new delta icmp_reply 562 561 -1 icmp_push_reply 305 258 -47 icmp_init 273 223 -50 Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit a5710d6582868a96cf0fe02eac11d34cfbc783c9 Author: Denis V. Lunev Date: Fri Feb 29 11:14:50 2008 -0800 [ICMP]: Add return code to icmp_init. icmp_init could fail and this is normal for namespace other than initial. So, the panic should be triggered only on init_net initialization path. Additionally create rollback path for icmp_init as a separate function. It will also be used later during namespace destruction. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 9b0f976f27f00a81cf47643d90854659626795b4 Author: Denis V. Lunev Date: Fri Feb 29 11:13:15 2008 -0800 [INET]: Remove struct net_proto_family* from _init calls. struct net_proto_family* is not used in icmp[v6]_init, ndisc_init, igmp_init and tcp_v4_init. Remove it. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit cdd0972945dbcb8ea24db365d9b0e100af2a27bb Merge: 5e4424a... cbc2005... Author: Trond Myklebust Date: Thu Feb 28 23:48:05 2008 -0800 Merge branch 'cleanups' into next commit 5e4424af9a1f062c6451681dff24a26e27741cc6 Author: Trond Myklebust Date: Mon Feb 25 21:53:49 2008 -0800 SUNRPC: Remove now-redundant RCU-safe rpc_task free path Now that we've tightened up the locking rules for RPC queue wakeups, we can remove the RCU-safe kfree calls... Signed-off-by: Trond Myklebust commit ff2d7db848f8db7cade39e55f78f86d77e0de01a Author: Trond Myklebust Date: Mon Feb 25 21:40:51 2008 -0800 SUNRPC: Ensure that we read all available tcp data Don't stop until we run out of data, or we hit an error. Signed-off-by: Trond Myklebust commit f5fb7b06e4e4ab18326f067f4317b2016ce18af2 Author: Trond Myklebust Date: Mon Feb 25 21:40:50 2008 -0800 SUNRPC: Eliminate the now-redundant rpc_start_wakeup() Signed-off-by: Trond Myklebust commit eb276c0e10187702928aeaa133e1d3dbaf3eafc7 Author: Trond Myklebust Date: Fri Feb 22 17:27:59 2008 -0500 SUNRPC: Switch tasks to using the rpc_waitqueue's timer function Signed-off-by: Trond Myklebust commit 36df9aae3158ce8fc4ede241169dc94ac910d884 Author: Trond Myklebust Date: Wed Jul 18 16:18:52 2007 -0400 SUNRPC: Add a timer function to wait queues. This is designed to replace the timeout timer in the individual rpc_tasks. By putting the timer function in the wait queue, we will eventually be able to reduce the total number of timers in use by the RPC subsystem. Signed-off-by: Trond Myklebust commit f6a1cc89309f0ae847a9b6fe418d1c4215e5bc55 Author: Trond Myklebust Date: Fri Feb 22 17:06:55 2008 -0500 SUNRPC: Add a (empty for the moment) destructor for rpc_wait_queues Signed-off-by: Trond Myklebust commit 4c563f7669c10a12354b72b518c2287ffc6ebfb3 Author: Timo Teras Date: Thu Feb 28 21:31:08 2008 -0800 [XFRM]: Speed up xfrm_policy and xfrm_state walking Change xfrm_policy and xfrm_state walking algorithm from O(n^2) to O(n). This is achieved adding the entries to one more list which is used solely for walking the entries. This also fixes some races where the dump can have duplicate or missing entries when the SPD/SADB is modified during an ongoing dump. Dumping SADB with 20000 entries using "time ip xfrm state" the sys time dropped from 1.012s to 0.080s. Signed-off-by: Timo Teras Signed-off-by: David S. Miller commit 1e04d530705280770e003ac8db516722cca54758 Author: Adrian Bunk Date: Thu Feb 28 21:27:35 2008 -0800 [IPV6]: Unexport ip6_find_1stfragopt This patch removes the no longer used EXPORT_SYMBOL_GPL(ip6_find_1stfragopt). Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 5fbd7e24da874a1c7b06ae6b10bbf2d71c1b6a11 Author: Matheos Worku Date: Thu Feb 28 21:25:43 2008 -0800 [NIU]: Add Support for Sun ATCA Blade Server. Ports 0 and 1 of the NIU device are connected to extended fabric through SERDES. Ports 2 and 3 are connected using RGMII Fiber mode. [ Coding style cleanups... -DaveM ] Signed-off-by: Matheos Worku Signed-off-by: David S. Miller commit 99cd07a537bf4c7c954f31611e30064407104410 Author: Juha-Matti Tapio Date: Thu Feb 28 20:55:46 2008 -0800 [IPV6]: Fix source address selection for ORCHID addresses Skip the prefix length matching in source address selection for orchid -> non-orchid addresses. Overlay Routable Cryptographic Hash IDentifiers (RFC 4843, 2001:10::/28) are currenty not globally reachable. Without this check a host with an ORCHID address can end up preferring those over regular addresses when talking to other regular hosts in the 2001::/16 range thus breaking non-orchid connections. Signed-off-by: Juha-Matti Tapio Signed-off-by: David S. Miller commit 5fe47b8a65f8b4104e41dc46092dfcf942ce0758 Author: Juha-Matti Tapio Date: Thu Feb 28 20:55:02 2008 -0800 [IPV6]: Add ORCHID prefix to address label table Add a new label for Overlay Routable Cryptographic Hash Identifiers (RFC 4843) prefix 2001:10::/28 to help proper source address selection. ORCHID addresses are used by for example Host Identity Protocol. They are global and routable, but they currently need support from both endpoints and therefore mixing regular and ORCHID addresses for source and destination is a bad idea in general case. Signed-off-by: Juha-Matti Tapio Signed-off-by: David S. Miller commit c4544c724322984923b3331a4319ae60a62b7803 Author: Denis V. Lunev Date: Thu Feb 28 20:52:54 2008 -0800 [NETNS]: Process inet_select_addr inside a namespace. The context is available from a network device passed in. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 3776c8891a2d3c5892fa50ab9e2a3b68f5674be6 Author: Denis V. Lunev Date: Thu Feb 28 20:52:25 2008 -0800 [NETNS]: Enable IPv4 address manipulations inside namespace. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 1937504dd156573a1883f10a5a167f3f78c6cb4a Author: Denis V. Lunev Date: Thu Feb 28 20:52:04 2008 -0800 [NETNS]: Enable all routing manipulation via netlink inside namespace. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit e5b13cb10de209f924fdf9478214bcf7e4008d6d Author: Denis V. Lunev Date: Thu Feb 28 20:51:43 2008 -0800 [NETNS]: Process devinet ioctl in the correct namespace. Add namespace parameter to devinet_ioctl and locate device inside it for state changes. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 73b3871165e45ea6d57775c6bfb1a1760ad6e36b Author: Denis V. Lunev Date: Thu Feb 28 20:51:18 2008 -0800 [NETNS]: Register /proc/net/rt_cache for each namespace. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a75e936f2f1ba8428f70b204f3ddd3a7ff17d281 Author: Denis V. Lunev Date: Thu Feb 28 20:50:55 2008 -0800 [NETNS]: Process /proc/net/rt_cache inside a namespace. Show routing cache for a particular namespace only. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 642d6318119af60ac019524bd4edcfbd19d9d211 Author: Denis V. Lunev Date: Thu Feb 28 20:50:33 2008 -0800 [IPV4]: rt_cache_get_next should take rt_genid into account. In the other case /proc/net/rt_cache will look inconsistent in respect to genid. Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit 317805b8f875ca1bd43d594c0a210e24fab7d177 Author: Denis V. Lunev Date: Thu Feb 28 20:50:06 2008 -0800 [NETNS]: Process ip_rt_redirect in the correct namespace. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 9de8f76d200342f1e9495861c2c9ce87a6bc26d0 Author: Denis V. Lunev Date: Thu Feb 28 20:49:44 2008 -0800 [NETNS]: DST cleanup routines should be called inside namespace. Device inside the namespace can be started and downed. So, active routing cache should be cleaned up on device stop. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit be162d6288053305c32588c0596eb5e8dd90c564 Author: Denis V. Lunev Date: Thu Feb 28 20:49:13 2008 -0800 [NETNS]: Enable inetdev_event notifier. After all these preparations it is time to enable main IPv4 device initialization routine inside namespace. It is safe do this now. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 2430aa85de8343662e8496dac9f9e4dade680023 Author: Denis V. Lunev Date: Thu Feb 28 20:48:49 2008 -0800 [NETNS]: Disable multicaststing configuration inside non-initial namespace. Do not calls hooks from device notifiers and disallow configuration from ioctl/netlink layer. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 0c65babd6ce758dd06330b3d9d677b7624f9e3fa Author: Denis V. Lunev Date: Thu Feb 28 20:48:25 2008 -0800 [NETNS]: Default arp parameters lookup. Default ARP parameters should be findable regardless of the context. Required to make inetdev_event working. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 4ab438fcd7373da9e559576e418e890b7cfd94f4 Author: Denis V. Lunev Date: Thu Feb 28 20:48:01 2008 -0800 [NETNS]: Register neighbour table parameters in the correct namespace. neigh_sysctl_register should register sysctl entries inside correct namespace to avoid naming conflict. Typical example is a loopback. Entries for it present in all namespaces. Required to make inetdev_event working. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6133fb1aa137b35a8fa91ec17977ebf6a41456ec Author: Denis V. Lunev Date: Thu Feb 28 20:46:17 2008 -0800 [NETNS]: Disable inetaddr notifiers in namespaces other than initial. ip_fib_init is kept enabled. It is already namespace-aware. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6fc68624e524014fcd95faf726f855eb348f2e87 Author: Denis V. Lunev Date: Thu Feb 28 20:45:41 2008 -0800 [NETFILTER]: Consolidate masq_inet_event and masq_device_event. They do exactly the same job. Signed-off-by: Denis V. Lunev Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 5811769c788edbf379c8b3fc65f62394d52df748 Author: Denis V. Lunev Date: Thu Feb 28 20:45:00 2008 -0800 [IPV4]: Remove check for ifa->ifa_dev != NULL. This is a callback registered to inet address notifier chain. The check is useless as: - ifa->ifa_dev is always != NULL - similar checks are abscent in all other notifiers. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a337499f660ff70a12cea6607b9a64d7420e32dc Author: Denis V. Lunev Date: Thu Feb 28 20:44:27 2008 -0800 [IPV4]: Remove ifa != NULL check. This is a callback registered to inet address notifier chain. The check is useless as: - ifa is always != NULL - similar checks are abscent in all other notifiers. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7d01b475ab17018756c8df27c2ee3c220fab05f8 Author: Graf Yang Date: Fri Feb 29 11:31:08 2008 +0800 Blackfin Serial Driver: Enable IR function when user application (irattach /dev/ttyBFx -s) call TIOCSETD ioctl with line discipline N_IRDA Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 0c11700dbfaf0aa5336bd667373ee09db245f3ea Author: Mike Frysinger Date: Fri Apr 25 08:29:11 2008 +0800 [Blackfin] arch: add include/boot .gitignore files Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Bryan Wu commit e6c91b64dd6e4c3adf39483c85a936eef9465e19 Author: Michael Hennerich Date: Fri Apr 25 04:58:29 2008 +0800 [Blackfin] arch: Functional power management support: Add support for cpu frequency scaling Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit fe44193c55e26b9b835722b5ee2519972f59c540 Author: Michael Hennerich Date: Fri Apr 25 04:52:11 2008 +0800 [Blackfin] arch: Functional power management support: Remove broken cpu frequency scaling drivers Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 8e39df215c4b1d3e6f9e62f92d35ab1aa11104eb Author: Michael Hennerich Date: Fri Apr 25 04:41:49 2008 +0800 [Blackfin] arch: Equalize include files: Add PLL_DIV Masks Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 2fb6cb41ecb315b1d84849663bb2793cdc41a96d Author: Sonic Zhang Date: Fri Apr 25 04:39:28 2008 +0800 [Blackfin] arch: Add a warning about the value of CLKIN. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 1e78042c77dcc255abd456398981549269c63238 Author: Michael Hennerich Date: Fri Apr 25 04:31:23 2008 +0800 [Blackfin] arch: take DDR DEVWD into consideration as well for BF548 Pointed-out-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5d750b9e4f6ca7d366b4954517ff8be9ee07e1bf Author: Bernd Schmidt Date: Fri Apr 25 05:02:33 2008 +0800 [Blackfin] arch: Remove the circular buffering mechanism for exceptions Remove the circular buffering mechanism for exceptions. Instead, point RETX at a safe location from which to fetch three NOPs. This safe location is now in the fixed code area, and also used for certain anomaly workarounds, to ensure that user space can find a valid ICPLB when things are built with CONFIG_MPU. Also, save I/DCPLB_FAULT_ADDRESS when lowering to level 5, since the hardware reg is valid only at exception level. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 00d205a1ce1a24a1a9d9ebfbddbae56021cba826 Author: Bernd Schmidt Date: Fri Apr 25 03:26:48 2008 +0800 [Blackfin] arch: lose unnecessary dependency on CONFIG_BFIN_ICACHE for MPU Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 565c0d3ff438d18aa8c3201979fb1f5d1872ab11 Author: Graf Yang Date: Fri Apr 25 03:10:04 2008 +0800 [Blackfin] arch: fix bug - before assign new channel to the map register, need clear the bits first. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=2445 Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 5be36d22b28f01e5074f78b29aa6128da0a53641 Author: Graf Yang Date: Fri Apr 25 03:09:15 2008 +0800 [Blackfin] arch: add Blackfin on-chip SIR IrDA driver support - add platform device resources in board files - add new bfin_sir.h to each machines Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 37b6972ad8fb08d438fd600888aff212b1b193b0 Author: Mike Frysinger Date: Fri Apr 25 02:19:17 2008 +0800 [Blackfin] arch: BF54x memsizes are in mbits, not mbytes Pointed-out-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7f1c906808a36630990d83d872935c079b76595b Author: Robin Getz Date: Fri Apr 25 03:36:31 2008 +0800 [Blackfin] arch: try to remove condition that causes double fault, by checking current before it gets dereferenced Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 4d555630704d3f6c0257dde3e622f9295f221c8b Author: Sonic Zhang Date: Fri Apr 25 03:28:10 2008 +0800 [Blackfin] arch: Update anomaly list. Signed-off-by: Sonic Zhang Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 18628e4375264edb53e6d9aaaf91f1a480019304 Author: Robert P. J. Day Date: Thu Apr 24 09:02:00 2008 +0800 [Blackfin] arch: Clean up the definition and correct the commentary for current_thread_info(). Signed-off-by: Robert P. J. Day Acked-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2d191233882a031304f41cfc6abfb70536780645 Author: Mike Frysinger Date: Thu Apr 24 08:58:44 2008 +0800 [Blackfin] arch: define our own BUG() so we can dump the blackfin hardware trace buffer Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8e9d5c7daff8b74bf3be62cfe0ba48b5af1fa12f Author: Michael Hennerich Date: Thu Apr 24 08:46:19 2008 +0800 [Blackfin] arch: Add platform support for MTD DATAFLASH Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 5f004c2009ef95212349f7c7d87e8ff829d15c31 Author: Mike Frysinger Date: Fri Apr 25 02:11:24 2008 +0800 [Blackfin] arch: reorganize some of the board-customization options so that similar things are together and only available as needed Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit affee2b2613ada262eecea354b6c60696ca5d482 Author: Michael Hennerich Date: Thu Apr 24 08:10:10 2008 +0800 [Blackfin] arch: Allow concurrent use of GPIO and GPIO IRQ The irq setup code no longer calls gpio request and free. This patch also changes the default gpio_free behavior on Blackfin. A freed GPIO keeps it's last state, and is not defaulted back to an input. This is also what all other architectures do. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit a086ee2268abcfcbf80a114f4602e5b26aa80bf0 Author: Mike Frysinger Date: Fri Apr 25 02:04:05 2008 +0800 [Blackfin] arch: detect the memory available in the system on the fly by default detect the memory available in the system on the fly by default rather than forcing people to set this manually in the kconfig Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a81501af19830ff43688781edad7e9c0cbd668af Author: Michael Hennerich Date: Thu Apr 24 07:32:41 2008 +0800 [Blackfin] arch: Prevent potential Core Hang situation If the new value written to the PLL_CTL or VR_CTL register is the same as the previous value, the PLL wake-up will occur immediately (PLL is already locked), but the core and system clock will be bypassed for the PLL_LOCKCNT duration. For this interval, code will execute at the CLKIN rate instead of at the expected CCLK rate. Software should guard against this condition by comparing the current value to the new value before writing the new value. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 4bea8b20fded93871c872bb4a0d7c23345318184 Author: Mike Frysinger Date: Thu Apr 24 07:23:36 2008 +0800 [Blackfin] arch: add implicit icplb for the bootrom so we can use the utility functions in the kernel Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit ac76d889b5e1f829f71a1527a00dc8048c2c2660 Author: Grace Pan Date: Thu Apr 24 06:33:56 2008 +0800 [Blackfin] arch: Adjust the u-boot and kernel image partition size in mtd device. Signed-off-by: Grace Pan Signed-off-by: Bryan Wu commit bc6e0fa1596ff0c2cc0de0d000270050b6ba43bf Author: Mike Frysinger Date: Thu Apr 24 06:21:25 2008 +0800 [Blackfin] arch: use the same style for missing L1 sections Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 9f8e895d6cc2f871bca6df2ad6791671de2adeae Author: Mike Frysinger Date: Thu Apr 24 06:20:11 2008 +0800 [Blackfin] arch: now that we can panic() early, dont need the delayed L1 overflow check Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b85b82d980526d683dc3b39f2ac1f447fa84a105 Author: Sonic Zhang Date: Thu Apr 24 06:13:37 2008 +0800 [Blackfin] arch: fix bug - Section data_l1_cacheline_aligned should be defined in link script of kernel http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3978 Section data_l1_cacheline_aligned should be defined in link script of kernel, when L1 data sram bank A is not available. In bf536 with all data cache is enabled, there is no L1 data sram. Current link script won't define section data_l1.cacheline_aligned in this case. But, if user select put cacheline_aligned data into l1 sram in kernel menuconfig, these data will be dropped and access to these data will trigger data CPLB exception. Do panic in l1 relocation code as well. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 253bcf4f9b6dde1cfa169bc29655cf177d6a903b Author: Robin Getz Date: Thu Apr 24 05:57:13 2008 +0800 [Blackfin] arch: Add a little bit more runtime info for MPU Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 16428a4fa99d273fe27aaee7a847a9cfd5466fda Author: Mike Frysinger Date: Thu Apr 24 05:56:07 2008 +0800 [Blackfin] arch: make the mask explicit rather than writing a negative number in hex Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 4e354b54991fd7d589c8e5753eea58a1afcae30a Author: Mike Frysinger Date: Thu Apr 24 05:44:32 2008 +0800 [Blackfin] arch: cplb-mpu code clean up - allow bootrom to be readable from supervisor mode - delete unused local variable "addr" - punt unused local defines of cplbinfo.c Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7795566495ff90c541a4654d3c903ab277abadfd Author: Bernd Schmidt Date: Thu Apr 24 05:31:18 2008 +0800 [Blackfin] arch: Give the DMA base registers a more descriptive name The DMA base registers are available in a global named "base_addr" for every Blackfin variant. Give this a more descriptive name, and remove duplicate tables from some drivers. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit ac86a9785384843e8359c45a042cc4f87953d4c8 Author: Bernd Schmidt Date: Thu Apr 24 05:23:31 2008 +0800 [Blackfin] arch: Consistently export base_addr for all Blackfin variants. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 37fa24212e68e11aee54d4c0d0becb8fc63555c6 Author: Bernd Schmidt Date: Thu Apr 24 05:19:02 2008 +0800 [Blackfin] arch: Allow AD1836A board to be connected, either to SPORT2 or SPORT3. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 764cb81cdc0620711d2cef5d06e9ef03c9d84184 Author: Mike Frysinger Date: Thu Apr 24 05:07:29 2008 +0800 [Blackfin] arch: actually implement get_cycles function Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8cab0288c6376b9c00155b0802cbe84118d1ba89 Author: Mike Frysinger Date: Thu Apr 24 05:13:10 2008 +0800 [Blackfin] arch: add boot messages to quickly distinguish between MPU/NOMPU settings Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 3132b58679261ee0edfda3a846539bb1b0750705 Author: Mike Frysinger Date: Thu Apr 24 05:12:09 2008 +0800 [Blackfin] arch: theres no need to declare ram{end,start,base} in the head.S files theres no need to declare ram{end,start,base} in the head.S files when declaring them with the other memory related variables in setup.c is so much simpler/nicer Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8b6eb473c5f8f9906d8c514a8f352dac275b0f3e Author: Mike Frysinger Date: Thu Apr 24 05:09:06 2008 +0800 [Blackfin] arch: remove duplicated prototypes for internal cplb structures from the global blackfin header remove duplicated prototypes for internal cplb structures from the global blackfin header as nothing else should be accessing these Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 681793711abca2b45f210a553962e2c4884b5587 Author: Mike Frysinger Date: Thu Apr 24 05:04:24 2008 +0800 [Blackfin] arch: declare list of peripherals as const since we dont modify the incoming array Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5d1617b247aa63698618215a9f39ecf905d55779 Author: Mike Frysinger Date: Thu Apr 24 05:03:26 2008 +0800 [Blackfin] arch: merge ip0x-specific board changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f950f605b9cd0e4bb53b902d2b2edbbb3e6079fc Author: Peter Korsgaard Date: Thu Apr 24 03:34:13 2008 +0800 [Blackfin] arch: USB header files are now located under linux/usb/. Signed-off-by: Peter Korsgaard Signed-off-by: Bryan Wu commit 6ed839423073251b513664fdadb180634aed704b Author: Graf Yang Date: Thu Apr 24 04:43:14 2008 +0800 [Blackfin] arch: Resolve the clash issue of UART defines between blackfin headers and include/linux/serial_reg. Signed-off-by: Graf Yang Cc: Robin Getz Signed-off-by: Bryan Wu commit db68254f0639a357309f02cf8707490265fa7a31 Author: Michael Hennerich Date: Thu Apr 24 03:18:59 2008 +0800 [Blackfin] arch: Apply Bluetechnix vendor patch Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit d5adb029efad3c51db376d620319abe65d1efc21 Author: Bernd Schmidt Date: Thu Apr 24 03:06:15 2008 +0800 [Blackfin] arch: This allows XIP to work with FD-PIC. Previously, init failed to do anything meaningful; it turns out that the reason is that FD-PIC has a readonly data section which can be located in the XIP filesystem, and various address checks in the kernel reject such addresses for syscall arguments. Hence, init's execve ("/bin/sh", ...) failed with error code EFAULT. There's room for improvement here: in case people want to have filesystems on flash rather than in main memory, _access_ok should be modified to allow this. This bug fix is also dedicated to Michael Hennerich. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 1ebc723cf04b55e7aeeec2e758293575d29a9c2b Author: Bernd Schmidt Date: Thu Apr 24 02:58:26 2008 +0800 [Blackfin] arch: support the reserved memory region in the MPU code Pointed-out-by: Mike Frysinger Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit d56daae9bec92ae4b0c115db787a0fcc4c17b381 Author: Bernd Schmidt Date: Thu Apr 24 02:56:36 2008 +0800 [Blackfin] arch: fix bug - a crash on bootup with CONFIG_MPU on the BF548 The function flush_switched_dcplbs was clearing the CPLB entries covering the process permission bitmasks. This means that the sequence flush_switched_dcplbs (); set_mask_dcplbs(mm->context.page_rwx_mask); has a problem: if kernel code (such as an interrupt) causes a CPLB miss before set_mask_dcplbs completes, the CPLB handler function causes a double fault, with an instantaneous reboot. This bug fix is dedicated to Michael Hennerich, the only person in the world capable of providing working JTAG hardware. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 697a9d65aa799940da1c9145944c6b9bd0f442c5 Author: Bernd Schmidt Date: Thu Apr 24 02:51:36 2008 +0800 [Blackfin] arch: a rather old performance improvement for the signal handling code This is a rather old performance improvement for the signal handling code, which was originally only committed on the 2007R1 branch as a workaround for what we suspected to be a hardware bug. There's no point in constructing a sigreturn stub on the stack and flushing caches; we can just make signal handlers return to a known location in the fixed code area. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 5af29f595813cce3c125d01d2500be483732ef4f Author: Mike Frysinger Date: Thu Apr 24 02:37:27 2008 +0800 [Blackfin] arch: finish removing remnants of old BF537_PORT_H option of Blackfin EMAC driver Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Jeff Garzik commit 7b8aa36e568178ea801fcb42a5c55de0361a6892 Author: Mike Frysinger Date: Wed Apr 23 10:19:59 2008 +0800 [Blackfin] arch: LARGE_ALLOCS was dropped along the way ... bring Blackfin in line Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2973951c96723433d80f43a450ba932e8b267d89 Author: Mike Frysinger Date: Wed Apr 23 10:14:14 2008 +0800 [Blackfin] arch: we no longer use BFIN_{SINGLE,DUAL}_CORE in our source Signed-off-by: Bryan Wu commit 1bee1a660ab42b33cbd39275de3dfdec3c62cee6 Author: Bryan Wu Date: Thu Apr 24 05:02:04 2008 +0800 [Blackfin] arch: boards and machines defconfig updates Signed-off-by: Bryan Wu commit b85d858b40a28107ee50ca9e89f57c0e35c251c6 Author: Harvey Harrison Date: Wed Apr 23 09:39:01 2008 +0800 [Blackfin] arch: __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Bryan Wu commit 6b13483ba2c9c90fc34c79b44be418b56b6a756c Author: Meihui Fan Date: Wed Apr 23 09:07:25 2008 +0800 [Blackfin] arch: remove unused/incorrect definition Signed-off-by: Meihui Fan Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c5b50df8f071f0f28cbac3909929149acab6c170 Author: Meihui Fan Date: Wed Apr 23 08:55:26 2008 +0800 [Blackfin] arch: fix bug - make sure we check the right L1 length Signed-off-by: Meihui Fan Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 6eceb0d4da10df9301e27bcec7a9b927e5047251 Author: Meihui Fan Date: Wed Apr 23 08:53:15 2008 +0800 [Blackfin] arch: add support for the rest of the gptimers on the BF54x Signed-off-by: Meihui Fan Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a8a46a269e05190d18e4e36f51477d59bd0b29f6 Author: Meihui Fan Date: Wed Apr 23 08:50:53 2008 +0800 [Blackfin] arch: fix obvious bfin_write typos Signed-off-by: Meihui Fan Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 37167e6411f15fc8d8da8acabfd7cdd17668ffad Author: Sonic Zhang Date: Fri Apr 25 03:06:10 2008 +0800 [Blackfin] arch: Fix bug - Properly calculate DDR clock. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 25bb23bfd061075955ca68b6a336c542d56263b3 Author: Mike Frysinger Date: Wed Apr 23 08:27:06 2008 +0800 [Blackfin] arch: fix some obvious typos -- some of which prevent SDH building for the BF542 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0e184c6b4feba9640c85811a7929d18f4491ddb0 Author: Mike Frysinger Date: Wed Apr 23 08:23:51 2008 +0800 [Blackfin] arch: relocate MAX_SWITCH_{D,I}_CPLBS from the header to the file where it actually gets used. relocate MAX_SWITCH_{D,I}_CPLBS from the header to the file where it actually gets used. this way when we change CONFIG_MEM_SIZE in our kconfig, we only rebuild one or two files rather than a whole bunch that implicitly include cplb.h. this will also remove the ability to clear the swapcount on the fly, but i really dont think that functionality is important. ultimate goal is for CONFIG_MEM_SIZE to go away and calculate this value on the fly based on what u-boot programmed for us. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 53eabf046b2837647f186f0cba085ce7a43bd7ce Author: Mike Frysinger Date: Wed Apr 23 08:09:45 2008 +0800 [Blackfin] arch: replace implied numbers with real values replace implied numbers with real values so that strace is able to calculate things automatically ... the numbers are frozen in our ABI, so having them based off other __NR_xxx values really doesnt matter -- no functional changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 618835a0e33a822d18b391a5e9dd821c8fb34b06 Author: Mike Frysinger Date: Wed Apr 23 08:07:05 2008 +0800 [Blackfin] arch: MEM_ADD_WIDTH only gets used when reprogramming clocks, so dont bother exposing it in the menu normally Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 6a42a91019cb8744435e903f0693bd0e424061f8 Author: Mike Frysinger Date: Wed Apr 23 08:01:31 2008 +0800 [Blackfin] arch: update reboot code to match latest info (really just copy from u-boot) Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 9fcdc78c5ebaba0970d006dd72376a815aee1efa Author: Bryan Wu Date: Wed Apr 23 07:41:52 2008 +0800 [Blackfin] arch: Add dma_map_page and dma_unmap_page stub for MMC SPI compiling Signed-off-by: Bryan Wu commit b4bb68f7d049e923a812903133e7e3747dfe0fce Author: Bernd Schmidt Date: Wed Apr 23 07:26:23 2008 +0800 [Blackfin] arch: fix bug - Make the MPU code aware of the async banks and the uncached DMA area. Bug: CONFIG_MPU doesn't seem to handle access to ASYNC/IO Memory well http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3912 Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 2a0c4fdb6602ea066380aaf71ff7bb2f61ffeee8 Author: Bernd Schmidt Date: Wed Apr 23 07:17:34 2008 +0800 [Blackfin] arch: fix bug - when using trace buffer with CONFIG_MPU enabled. There were a couple of problems with the way the trace buffer state is saved/restored in assembly. The DEBUG_HWTRACE_SAVE/RESTORE macros save a value to the stack, which is not immediately obvious; the CPLB exception code needed changes to load the correct value of the stack pointer. The other problem is that the SAVE/RESTORE macros weren't pushing and popping the value downwards on the stack, but rather moving it _upwards_, which is of course completely broken. We also need to make sure there's a matching DEBUG_HWTRACE_RESTORE in the error case of the CPLB handler. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit dbfe44f02b6855efb5a596e942ec2fd96d592f60 Author: Bernd Schmidt Date: Wed Apr 23 07:11:55 2008 +0800 [Blackfin] arch: fix up - CONFIG_BLKFIN_WT was renamed CONFIG_BFIN_WT while the MPU code was out-of-tree. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit b594272c5e2837b6856b93520303c5981c852327 Author: Bryan Wu Date: Thu Mar 27 07:25:21 2008 +0800 [Blackfin] arch: remove TWI I2C register accessing helper macros, because we moved to use i2c new-style interface Signed-off-by: Bryan Wu commit 904656cda10ce985e6bc8b16488b58236eaec8e2 Author: Robin Getz Date: Wed Mar 26 09:17:43 2008 +0800 [Blackfin] arch: fix bug - grab locks when not atomic grab locks when not atomic - this fixes the issues sometimes seen when using magic sysrq. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 9a62ca40fd793742f92565104c6b44319af8c282 Author: Robin Getz Date: Wed Mar 26 09:15:58 2008 +0800 [Blackfin] arch: fix bug - when we crash, current is not valid Sometimes when we crash, current is not valid, (has been written over), so the existing code causes a invalid read during exception context - which is a unrecoverable double fault. This fixes this. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 81d9c7f27dd679df6d03df53eba4fd12caafdb47 Author: Bryan Wu Date: Wed Mar 26 10:02:13 2008 +0800 [Blackfin] arch: add i2c board info struct and move to new-style i2c interface Signed-off-by: Bryan Wu commit d171c23327e2d596ac27d3df4322fc6430b45aa2 Author: Mike Frysinger Date: Wed Mar 26 08:35:46 2008 +0800 [Blackfin] arch: fix up gpio code style -- no functional changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f85c4abdbc24ede9978073375bee12980cf852b2 Author: Mike Frysinger Date: Wed Mar 26 08:34:23 2008 +0800 [Blackfin] arch: dump the stack before printing out an error otherwise the stack dump is useless as it shows us tracing through printk Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 793dc27b51b2ffff95b72408e2ef44e0995c185b Author: Mike Frysinger Date: Wed Mar 26 08:09:12 2008 +0800 [Blackfin] arch: conditionally enable flash resources since it requests the async memory bank Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2e8d7965e69a4879f9331d35b13ce234a3df4a04 Author: Yi Li Date: Wed Mar 26 07:08:12 2008 +0800 [Blackfin] arch: add code to initialize globals declared in linux/bootmem.h: max_pfn, max_low_pfn, min_low_pfn. Signed-off-by: Yi Li Signed-off-by: Bryan Wu commit 9df7a8f62268a05e3bc8be2b2f8f95c522fd9ccc Author: Bernd Schmidt Date: Wed Mar 26 06:39:15 2008 +0800 [Blackfin] arch: remove NOTES from linker script Since r3658 | vapier | 2007-09-12 16:26:11 +0200 (Wed, 12 Sep 2007) | 1 line add more common defines for output sections we've had a new line, NOTES, in our linker script, which causes upstream binutils to complain about "missing phdr". Currently the only other arch that uses NOTES is i386, and the patch which added it also added PHDRS { text PT_LOAD FLAGS(5); /* R_E */ data PT_LOAD FLAGS(7); /* RWE */ note PT_NOTE FLAGS(0); /* ___ */ } and a few other modifications to use ":text" and ":data" to the linker script. It seems that we don't need NOTES at all, so just remove it. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 56ce835b608343b22e1e46e5bb913b87c162486e Author: Mike Frysinger Date: Wed Mar 26 06:00:18 2008 +0800 [Blackfin] arch: add twi resources to CM_BF537 board as reported by Servaes Joordens Signed-off-by: Bryan Wu commit f692940101bbcef3717f40df9fd3c52f497c8589 Author: Mike Frysinger Date: Fri Mar 7 02:43:48 2008 +0800 [Blackfin] arch: declare CHECKFLAGS to make sparse output more readable Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0ddeeca25ce33686262459e2387f57bd09574e47 Author: Mike Frysinger Date: Fri Mar 7 02:37:41 2008 +0800 [Blackfin] arch: add missing __user marking to ss_sp member of signalstack and a few userspace system functions Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 1307a65130963b061fbaca308b228a0f693a4495 Author: Mike Frysinger Date: Fri Feb 29 12:26:41 2008 +0800 [Blackfin] arch: turn generic time on by default Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b4e2d18f73e16846acb91993da1769e9fd23462f Author: Mike Frysinger Date: Fri Feb 29 12:14:25 2008 +0800 [Blackfin] arch: add board bluetechnix kernel defconfigs to kernel Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8b5f79f9d7ee4f4edb0212886771c977476eb811 Author: Vitja Makarov Date: Fri Feb 29 12:24:23 2008 +0800 [Blackfin] arch: initial generic time and clock sources This patch enables Hight-Res Timers and tickless kernel Signed-off-by: Vitja Makarov Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 6a2d322e4b81edc2ab35573f1c52f93d1d16eebb Author: Benjamin Herrenschmidt Date: Fri Feb 22 14:26:43 2008 +1100 [POWERPC] Fix thinko in cpu_thread_mask_to_cores() The function cpu_thread_mask_to_cores() which returns a cpumask of one and only one thread enabled for a given core has a bug as it's shifting things in the wrong direction. Note: The implementation is still sub-optimal in the sense that for a given core, the thread set in the result may not be any of the threads set in the input, which can lead to more IPIs then strictly necessary, but it isn't incorrect per-se. I'll improve that later. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 50530378161fa8d7837243119ed9140ee65e55d4 Author: Anton Vorontsov Date: Fri Feb 22 06:45:08 2008 +1100 [POWERPC] 8xx: Timebase frequency should not depend on bus-frequency m8xx_setup.c says: /* Force all 8xx processors to use divide by 16 processor clock. */ And at the same time it is using bus-frequency for calculating timebase. It is okay for most setups because bus-frequency is equal to clock-frequency. The problem emerges when cpu frequency is > 66MHz, quoting u-boot/cpu/mpc8xx/speed.c: if (gd->cpu_clk <= 66000000) { sccr_reg |= SCCR_EBDF00; /* bus division factor = 1 */ gd->bus_clk = gd->cpu_clk; } else { sccr_reg |= SCCR_EBDF01; /* bus division factor = 2 */ gd->bus_clk = gd->cpu_clk / 2; } So in case of cpu clock > 66MHz, bus_clk = cpu_clk / 2. An then, from Linux, we calculate timebase frequency as tb_freq = bus_clk / 16, that is cpu_clk / 2 / 16, which is wrong. This fixes the system time drifting problem on the EP885C board running at 133MHz. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit d9d1063d47cbfe45f8b369475a35c3cdd64fb69c Author: Johannes Berg Date: Thu Feb 21 20:39:01 2008 +1100 [POWERPC] mpic: Make sparse happy I was running sparse on something else and noticed sparse warnings and especially the bogus code that is fixed by the first hunk of this patch, so I fixed them all while at it. Signed-off-by: Johannes Berg Cc: Benjamin Herrenschmidt Cc: Milton Miller Signed-off-by: Paul Mackerras commit 4217c7b529af3abea090d875f0ef133ed2d44285 Author: Julia Lawall Date: Mon Feb 11 07:07:59 2008 +1100 [POWERPC] Use FIELD_SIZEOF in arch/ppc Robert P.J. Day proposed to use the macro FIELD_SIZEOF in replace of code that matches its definition. The modification was made using the following semantic patch (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ type t; identifier f; @@ - (sizeof(((t*)0)->f)) + FIELD_SIZEOF(t, f) @depends on haskernel@ type t; identifier f; @@ - sizeof(((t*)0)->f) + FIELD_SIZEOF(t, f) // Signed-off-by: Julia Lawall Signed-off-by: Paul Mackerras commit 445857e0fc16ba3f74e778dd5a8707459c84f933 Author: Dale Farnsworth Date: Fri Feb 1 08:11:41 2008 +1100 [POWERPC] Remove dead code at KernelAltiVec This code isn't referenced anywhere, so remove it. Signed-off-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit f8c8803bda4db47cbbdadb9b27b024e903e1d645 Author: Badari Pulavarty Date: Tue Jan 29 09:19:24 2008 +1100 [POWERPC] Add code for removing HPTEs for parts of the linear mapping For memory remove, we need to clean up htab mappings for the section of the memory we are removing. This implements support for removing htab bolted mappings for pSeries logical partitions. Other sub-archs may need to implement similar functionality for hotplug memory remove to work on them. Signed-off-by: Badari Pulavarty Signed-off-by: Paul Mackerras commit f8303dd3db57bd7ab2062985ad7a9e898a8ac423 Merge: bfa274e... 74b20da... Author: Paul Mackerras Date: Tue Feb 26 21:08:45 2008 +1100 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/lmb-2.6 commit 5d00837b90340af9106dcd93af75fd664c8eb87f Author: Trond Myklebust Date: Fri Feb 22 16:34:17 2008 -0500 SUNRPC: Run rpc timeout functions as callbacks instead of in softirqs An audit of the current RPC timeout functions shows that they don't really ever need to run in the softirq context. As long as the softirq is able to signal that the wakeup is due to a timeout (which it can do by setting task->tk_status to -ETIMEDOUT) then the callback functions can just run as standard task->tk_callback functions (in the rpciod/process context). The only possible border-line case would be xprt_timer() for the case of UDP, when the callback is used to reduce the size of the transport congestion window. In testing, however, the effect of moving that update to a callback would appear to be minor. Signed-off-by: Trond Myklebust commit fda1393938035559b417dd5b26b9cc293a7aee00 Author: Trond Myklebust Date: Fri Feb 22 16:34:12 2008 -0500 SUNRPC: Convert users of rpc_wake_up_task to use rpc_wake_up_queued_task Signed-off-by: Trond Myklebust commit 96ef13b283934fbf60b732e6c4ce23e8babd0042 Author: Trond Myklebust Date: Fri Feb 22 15:46:41 2008 -0500 SUNRPC: Add a new helper rpc_wake_up_queued_task() In all cases where we currently use rpc_wake_up_task(), we almost always know on which waitqueue the rpc_task is actually sleeping. This will allows us to simplify the queue locking in a future patch. Signed-off-by: Trond Myklebust commit fde95c7554aa77f9a242f32b0b5f8f15395abf52 Author: Trond Myklebust Date: Fri Feb 22 15:09:26 2008 -0500 SUNRPC: Clean up rpc_run_timer() All RPC timeout callback functions are expected to wake the task up. We can enforce this by moving the wakeup back into rpc_run_timer. Signed-off-by: Trond Myklebust commit 101070ca2fe67186f5f5517b66cb4757b17f4e29 Author: Trond Myklebust Date: Tue Feb 19 20:04:23 2008 -0500 NFS: Ensure that the asynchronous RPC calls complete on nfsiod. We want to ensure that rpc_call_ops that involve mntput() are run on nfsiod rather than on rpciod, so that they don't deadlock when the resulting umount calls rpc_shutdown_client(). Hence we specify that read, write and commit calls must complete on nfsiod. Ditto for NFSv4 open, lock, locku and close asynchronous calls. Signed-off-by: Trond Myklebust commit 5746006f1d17d9d5a3015051ea54de4341cb31f9 Author: Trond Myklebust Date: Tue Feb 19 20:04:22 2008 -0500 NFS: Add an nfsiod workqueue NFS post-rpciod cleanups often involve tasks that cannot be safely performed within the rpciod context (due to deadlock concerns). We therefore add a dedicated NFS workqueue that can perform tasks like cleaning up state after an interrupted NFSv4 open() call, or calling put_nfs_open_context() after an asynchronous read or write call. Signed-off-by: Trond Myklebust commit 32bfb5c0f495dd88ef6bac4b76885d0820563739 Author: Trond Myklebust Date: Tue Feb 19 20:04:21 2008 -0500 SUNRPC: Allow the rpc_release() callback to be run on another workqueue A lot of the work done by the rpc_release() callback is inappropriate for rpciod as it will often involve things like starting a new rpc call in order to clean up state after an interrupted NFSv4 open() call, or calls to mntput(), etc. This patch allows the caller of rpc_run_task() to specify that the rpc_release callback should run on a different workqueue than the default rpciod_workqueue. Signed-off-by: Trond Myklebust commit 383ba71938519959be8e0b598ec658f0c211ff45 Author: Trond Myklebust Date: Tue Feb 19 20:04:20 2008 -0500 NFS: Fix a deadlock with lazy umount We can't allow rpc callback functions like task->tk_ops->rpc_call_prepare() and task->tk_ops->rpc_call_done() to call mntput() in any way, since that will cause a deadlock when the call to rpc_shutdown_client() attempts to wait on 'task' to complete. We can avoid the above deadlock by moving calls to mntput to task->tk_ops->rpc_release() callback, since at that time the task will be marked as completed, and so rpc_shutdown_client won't attempt to wait on it. Signed-off-by: Trond Myklebust commit 4b5621f6b127bce9218998c187bd25bf7f9fc371 Author: Trond Myklebust Date: Mon Feb 25 15:56:29 2008 -0800 NFS: Fix an f_mode/f_flags confusion in fs/nfs/write.c O_SYNC is stored in filp->f_flags. Thanks to Al Viro for pointing out the bug. Signed-off-by: Trond Myklebust commit dd919660aacdf4adfcd279556aa03e595f7f0fc2 Author: David Woodhouse Date: Mon Feb 25 15:25:25 2008 +0000 [JFFS2] Use ALLOC_DELETION priority for truncation to zero length This is going to obsolete all previous nodes, so treat it as deletion. Signed-off-by: David Woodhouse commit b28ba9fa0154f78f3d36f5ae9a42f7bb01663cca Author: David Woodhouse Date: Mon Feb 25 15:20:50 2008 +0000 [JFFS2] Set i_blocks when truncating files Addresses OLPC trac #6480 Signed-off-by: David Woodhouse commit 1071695f17daf050638e0bc550db647f8237c3bb Author: David Brownell Date: Fri Feb 22 21:54:24 2008 -0800 ACPI: crosslink ACPI and "real" device nodes Add cross-links between ACPI device and "real" devices in sysfs, exposing otherwise-hidden interrelationships between the various device nodes for ACPI stuff. As a representative example, one hardware device is exposed as two logical devices (PNP and ACPI): .../pnp0/00:06/ .../LNXSYSTM:00/device:00/PNP0A03:00/device:15/PNP0B00:00/ The PNP device gets a "firmware_node" link pointing to the ACPI device, and is what a Linux device driver binds to. The ACPI device has instead a "physical_node" link pointing back to the PNP device. Other firmware frameworks, like OpenFirmware, could do the same thing to couple their firmware tables to the rest of the system. (Based on a patch from Zhang Rui. This version is modified to not depend on the patch makig ACPI initialize driver model wakeup flags.) Signed-off-by: David Brownell Cc: Zhang Rui Signed-off-by: Len Brown commit b64f34cdfe5bef9dfed1304c513220b0f2862eca Author: Hidetoshi Seto Date: Tue Jan 29 14:27:30 2008 +0900 [IA64] VIRT_CPU_ACCOUNTING (accurate cpu time accounting) This patch implements VIRT_CPU_ACCOUNTING for ia64, which enable us to use more accurate cpu time accounting. The VIRT_CPU_ACCOUNTING is an item of kernel config, which s390 and powerpc arch have. By turning this config on, these archs change the mechanism of cpu time accounting from tick-sampling based one to state-transition based one. The state-transition based accounting is done by checking time (cycle counter in processor) at every state-transition point, such as entrance/exit of kernel, interrupt, softirq etc. The difference between point to point is the actual time consumed during in the state. There is no doubt about that this value is more accurate than that of tick-sampling based accounting. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 74b20dad1c4cc0fd13ceca62fbab808919e1a7ea Author: Kumar Gala Date: Tue Feb 19 21:28:18 2008 -0800 [LMB]: Fix lmb_add_region if region should be added at the head We introduced a bug in fixing lmb_add_region to handle an initial region being non-zero. Before that fix it was impossible to insert a region at the head of the list since the first region always started at zero. Now that its possible for the first region to be non-zero we need to check to see if the new region should be added at the head and if so actually add it. Signed-off-by: Kumar Gala Signed-off-by: David S. Miller commit 66a10506d632051e1153e2555f4b2c820d427f64 Author: Kyungmin Park Date: Wed Feb 13 15:55:38 2008 +0900 [MTD] [OneNAND] Fix unlock all in Double Density Package (DDP) Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit cbc20059259edee4ea24c923e6627c394830c972 Author: Trond Myklebust Date: Thu Feb 14 11:11:30 2008 -0500 SUNRPC: Declare as const the rpc_message arguments to rpc_call_sync/async Signed-off-by: Trond Myklebust commit 2785259631697ebb0749a3782cca206e2e542939 Author: Nick Piggin Date: Mon Feb 4 23:48:37 2008 -0800 nfs: use GFP_NOFS preloads for radix-tree insertion NFS should use GFP_NOFS mode radix tree preloads rather than GFP_ATOMIC allocations at radix-tree insertion-time. This is important to reduce the atomic memory requirement. Signed-off-by: Nick Piggin Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Trond Myklebust commit e5f270954364a4add74e8445b1db925ac534fcfb Author: Becky Bruce Date: Wed Feb 13 16:58:39 2008 -0800 [LMB]: Make lmb support large physical addressing Convert the lmb code to use u64 instead of unsigned long for physical addresses and sizes. This is needed to support large amounts of RAM on 32-bit systems that support 36-bit physical addressing. Signed-off-by: Becky Bruce Signed-off-by: David S. Miller commit 27e6672bb9912d3e3a41cf88e6142d3ae5e534b3 Author: Kumar Gala Date: Wed Feb 13 16:58:11 2008 -0800 [LMB]: Fix initial lmb add region with a non-zero base If we add to an empty lmb region with a non-zero base we will not coalesce the number of regions down to one. This causes problems on ppc32 for the memory region as its assumed to only have one region. We can fix this be easily specially casing the initial add to just replace the dummy region. Signed-off-by: Kumar Gala Signed-off-by: David S. Miller commit eea89e13a9c61d3928223d2f9bf2295e22e0efb6 Author: David S. Miller Date: Wed Feb 13 16:57:09 2008 -0800 [LMB]: Fix bug in __lmb_alloc_base(). We need to check lmb_add_region() for errors, it can run out of regions etc. Also, the size needs to be padded to the given alignment or else the lmb.reserved regions don't get expanded and instead we get tons of holes and eventually run out of regions prematurely. Signed-off-by: David S. Miller commit d9b2b2a277219d4812311d995054ce4f95067725 Author: David S. Miller Date: Wed Feb 13 16:56:49 2008 -0800 [LIB]: Make PowerPC LMB code generic so sparc64 can use it too. Signed-off-by: David S. Miller commit 891456227881da9c565c455010380a40d385a478 Author: Marcin Slusarz Date: Wed Feb 13 15:34:20 2008 -0600 jfs: le*_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Signed-off-by: Dave Kleikamp Cc: jfs-discussion@lists.sourceforge.net