commit 0ba6c33bcddc64a54b5f1c25a696c4767dc76292 Merge: 21af029... 85040bc... Author: Linus Torvalds Date: Tue Jan 29 22:54:01 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.25 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.25: (1470 commits) [IPV6] ADDRLABEL: Fix double free on label deletion. [PPP]: Sparse warning fixes. [IPV4] fib_trie: remove unneeded NULL check [IPV4] fib_trie: More whitespace cleanup. [NET_SCHED]: Use nla_policy for attribute validation in ematches [NET_SCHED]: Use nla_policy for attribute validation in actions [NET_SCHED]: Use nla_policy for attribute validation in classifiers [NET_SCHED]: Use nla_policy for attribute validation in packet schedulers [NET_SCHED]: sch_api: introduce constant for rate table size [NET_SCHED]: Use typeful attribute parsing helpers [NET_SCHED]: Use typeful attribute construction helpers [NET_SCHED]: Use NLA_PUT_STRING for string dumping [NET_SCHED]: Use nla_nest_start/nla_nest_end [NET_SCHED]: Propagate nla_parse return value [NET_SCHED]: act_api: use PTR_ERR in tcf_action_init/tcf_action_get [NET_SCHED]: act_api: use nlmsg_parse [NET_SCHED]: act_api: fix netlink API conversion bug [NET_SCHED]: sch_netem: use nla_parse_nested_compat [NET_SCHED]: sch_atm: fix format string warning [NETNS]: Add namespace for ICMP replying code. ... commit 21af0297c7e56024a5ccc4d8ad2a590f9ec371ba Merge: 5ea293a... a9d2517... Author: Linus Torvalds Date: Tue Jan 29 22:48:03 2008 +1100 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (68 commits) [MIPS] remove Documentation/mips/GT64120.README [MIPS] Malta: remaining bits of the board support code cleanup [MIPS] Malta: make the helper function static [MIPS] Malta: fix braces at single statement blocks [MIPS] Malta, Atlas: move an extern function declaration to the header file [MIPS] Malta: Use C89 style for comments [MIPS] Malta: else should follow close brace in malta_int.c [MIPS] Malta: remove a superfluous comment [MIPS] Malta: include instead of [MIPS] Malta, Atlas, Sead: remove an extern from .c files [MIPS] Malta: fix oversized lines in malta_int.c [MIPS] Malta: remove a dead function declaration [MIPS] Malta: use tabs not spaces [MIPS] Malta: set up the screen info in a separate function [MIPS] Malta: check the PCI clock frequency in a separate function [MIPS] Malta: use the KERN_ facility level in printk() [MIPS] Malta: use Linux kernel style for structure initialization [MIPS]: constify function pointer tables [MIPS] compat: handle argument endianess of sys32_(f)truncate64 with merge_64 [MIPS] Cobalt 64-bits kernels can be safely unmarked experimental ... commit 5ea293a9048d3a58cb0c840fa719d85ad14cba47 Merge: 03bc26c... d3883ec... Author: Linus Torvalds Date: Tue Jan 29 22:46:14 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (79 commits) Remove references to "make dep" kconfig: document use of HAVE_* Introduce new section reference annotations tags: __ref, __refdata, __refconst kbuild: warn about ld added unique sections kbuild: add verbose option to Section mismatch reporting in modpost kconfig: tristate choices with mixed tristate and boolean values asm-generic/vmlix.lds.h: simplify __mem{init,exit}* dependencies remove __attribute_used__ kbuild: support ARCH=x86 in buildtar kconfig: remove "enable" kbuild: simplified warning report in modpost kbuild: introduce a few helpers in modpost kbuild: use simpler section mismatch warnings in modpost kbuild: link vmlinux.o before kallsyms passes kbuild: introduce new option to enhance section mismatch analysis Use separate sections for __dev/__cpu/__mem code/data compiler.h: introduce __section() all archs: consolidate init and exit sections in vmlinux.lds.h kbuild: check section names consistently in modpost kbuild: introduce blacklisting in modpost ... commit 03bc26cfefd6db756e6bc7fcda11dc17ada7be16 Merge: 8cd226c... 6494a93... Author: Linus Torvalds Date: Tue Jan 29 22:45:39 2008 +1100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: Module: check to see if we have a built in module with the same name module: add module taint on ndiswrapper module: fix the module name length in param_sysfs_builtin module: make module_address_lookup safe module: better OOPS and lockdep coverage for loading modules module: Fix gratuitous sprintf in module.c module: wait for dependent modules doing init. module: Don't report discarded init pages as kernel text. commit 8cd226ca3f64f28c8123ebfaa6afe8dc8c18b174 Merge: 6b11d81... 4019191... Author: Linus Torvalds Date: Tue Jan 29 22:43:38 2008 +1100 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: (50 commits) jbd2: sparse pointer use of zero as null jbd2: Use round-jiffies() function for the "5 second" ext4/jbd2 wakeup jbd2: Mark jbd2 slabs as SLAB_TEMPORARY jbd2: add lockdep support ext4: Use the ext4_ext_actual_len() helper function ext4: fix uniniatilized extent splitting error ext4: Check for return value from sb_set_blocksize ext4: Add stripe= option to /proc/mounts ext4: Enable the multiblock allocator by default ext4: Add multi block allocator for ext4 ext4: Add new functions for searching extent tree ext4: Add ext4_find_next_bit() ext4: fix up EXT4FS_DEBUG builds ext4: Fix ext4_show_options to show the correct mount options. ext4: Add EXT4_IOC_MIGRATE ioctl ext4: Add inode version support in ext4 vfs: Add 64 bit i_version support ext4: Add the journal checksum feature jbd2: jbd2 stats through procfs ext4: Take read lock during overwrite case. ... commit a9d2517c7a5c8028fbc5296d3af3c75597d3d180 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:57 2008 +0300 [MIPS] remove Documentation/mips/GT64120.README Based upon the 2.4 kernel, the information presented in the Documentation/mips/GT64120.README file is outdated. Worse, the document contents are plain misleading nowadays because the text mentions files and directories, which have been deleted, moved or restructured for 2.6. This patch removes the documentation, which is no more valid. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 750dc31c480e5062b526134f090a029afd7e17fd Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:56 2008 +0300 [MIPS] Malta: remaining bits of the board support code cleanup This patch factors out the code, which handles the Bonito system controller. The case of not supporting the DMA coherency is handled separately to make the logic obvious. Besides, a couple of empty lines added to beautify the code even further. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit ef7645cfe6f785de3bdc2ae6016924f46f614d61 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:55 2008 +0300 [MIPS] Malta: make the helper function static One helper function can become static. This patch adds the needed keyword. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit cd80d548594aae0ee915e01050279399cb14943b Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:54 2008 +0300 [MIPS] Malta: fix braces at single statement blocks This patch fixes a couple of warnings reported by checkpatch.pl. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit bbdda5e1fe9c1a5b34a2b552910f5f4c0dc24485 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:53 2008 +0300 [MIPS] Malta, Atlas: move an extern function declaration to the header file This was compile-tested using default configs for the boards affected by this change. This patch does not introduce any functional changes. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit ae9cef0b7949c0d528962127f2bccf7c753949df Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:52 2008 +0300 [MIPS] Malta: Use C89 style for comments Remove comments in C99 style and make checkpatch.pl happy. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 52b3fc04ba3289ffa42fac84bfa35ef2613fc917 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:51 2008 +0300 [MIPS] Malta: else should follow close brace in malta_int.c This patch fixes two errors reported by checkpatch.pl. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit a6352cddc743300b0b64b5fd8dfb688524e884e9 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:50 2008 +0300 [MIPS] Malta: remove a superfluous comment Using the "We die here" comment right before calling the die() function is an extremely vivid example of overcommenting. Remove the redundant comment and save one line. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 54bf038e2216212b1728861b1a15fc0cc1ad1d2e Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:49 2008 +0300 [MIPS] Malta: include instead of The checkpatch.pl script reported a few warnings about header files. This patch fixes these warnings. Compile-tested using the default Malta config. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 1997267072d6bfadb37d336779e6122c2d44343d Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:48 2008 +0300 [MIPS] Malta, Atlas, Sead: remove an extern from .c files This patch moves the "extern" declaration for the function mips_reboot_setup() from the board setup .c files to the header file include/asm-mips/mips-boards/generic.h. This fixes a warning produced by the checkpatch.pl script. No functional changes introduced. This was compile-tested by building the kernel for all three boards affected by this change. All builds finished successfully. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit f80714966795ecfe6261509d0270d9761b07b462 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:47 2008 +0300 [MIPS] Malta: fix oversized lines in malta_int.c This patch fixes all "line over 80 characters" warnings found in arch/mips/mips-boards/malta/malta_int.c by the checkpatch.pl script. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 82a1791772b3873cbc10152b36cf6cf994a79ff5 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:46 2008 +0300 [MIPS] Malta: remove a dead function declaration Neither is the mips_rtc_get_time() routine defined anywhere in the MIPS architecture-specific code, nor does anyone call it any more. This patch removes the extern declaration of this fossil. This patch does not introduce any functional changes. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit af825586c04d5ab9871d3980db9a0aa23197789e Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:45 2008 +0300 [MIPS] Malta: use tabs not spaces This patch fixes all "use tabs not spaces" warnings reported by the checkpatch.pl script on the board-specific files. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit a382963edc55815b9ec56259c87b1405083acadf Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:44 2008 +0300 [MIPS] Malta: set up the screen info in a separate function This patch adds a separate short and sweet function to initialize the screen_info global variable. This improves readability of the Malta board setup code. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit f3a4ce9587cd1e810f31c87ecb89033d5fd269ce Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:43 2008 +0300 [MIPS] Malta: check the PCI clock frequency in a separate function This patch adds a separate short and sweet function to check the PCI clock frequency. This is to improve readability of the Malta setup code. Along the way, a couple of coding style violations are fixed. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 8216d348e374b369338f015ca34492de1e381214 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:42 2008 +0300 [MIPS] Malta: use the KERN_ facility level in printk() This patch adds the KERN_ macros to printk() calls. Where applicable, spaces are replaced by tabs. These changes noticeably reduce the number of errors and warnings reported by the checkpatch.pl script for the malta_int.c file. Before the patch: total: 47 errors, 20 warnings, 354 lines checked After the patch: total: 34 errors, 7 warnings, 355 lines checked No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 4ca765135414e85c80f0a68bb35189472bb9ad1e Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:41 2008 +0300 [MIPS] Malta: use Linux kernel style for structure initialization This patch reformats the structure initialization code thus making the latter look idiomatic. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 12323cacca2014dcf517d1988fcdb8e44a1f497b Author: Jan Engelhardt Date: Tue Jan 22 20:42:33 2008 +0100 [MIPS]: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Ralf Baechle commit d4e9cffa161da806cb4bc9df4a4e49d287156bfa Author: Ralf Baechle Date: Tue Jan 29 10:15:02 2008 +0000 [MIPS] compat: handle argument endianess of sys32_(f)truncate64 with merge_64 Signed-off-by: Ralf Baechle commit 0e8774b621513e3cc07fa5a7b05adc295c95eeee Author: Florian Fainelli Date: Tue Jan 15 19:42:57 2008 +0100 [MIPS] Cobalt 64-bits kernels can be safely unmarked experimental 64-bits Cobalt kernels run fine. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 302922e5f6901eb6f29c58539631f71b3d9746b8 Author: Ralf Baechle Date: Tue Jan 29 10:15:02 2008 +0000 [MIPS] Qemu: Remove platform. The Qemu platform was originally implemented to have an easily supportable platform until Qemu reaches a state where it emulates a real world system. Since the latest release Qemu is capable of emulating the MIPSsim and Malta platforms, so this goal has been reached. The Qemu plaform is also rather underfeatured so less useful than a Malta emulation. Signed-off-by: Ralf Baechle commit 9900485893c004245cbaeef050fe6ba5453a5925 Author: Vitaly Wool Date: Sat Jan 12 16:03:40 2008 +0300 [MIPS] pnx8xxx: clocksource cleanups Signed-off-by: Vitaly Wool Signed-off-by: Ralf Baechle commit 8a39c520b28f1ffa528baaae6ecfaa3feb5377a5 Author: Daniel Walker Date: Thu Jan 10 20:53:21 2008 -0800 [MIPS] Lasat: Convert pvc_sem semaphore to mutex I also changed the name to pvc_mutex, and moved the define to the file it's used in which allows it to be static. Signed-off-by: Daniel Walker Signed-off-by: Ralf Baechle commit f6ed10ab972b00cd57567a2ac9e393226840e458 Author: Florian Fainelli Date: Mon Jan 7 19:00:46 2008 +0100 [MIPS] MTX-1: Add GPIO system button This patch adds support for the GPIO connected system button on the MTX-1 boards. Default configuration is updated accordingly. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 2d47c58efadd33b8399f3f440b7e9cf93692f262 Author: Ralf Baechle Date: Tue Jan 29 10:15:01 2008 +0000 [MIPS] Delete CONFIG_MSP_FPGA Originally noticed by Jiri Olsa . Signed-off-by: Ralf Baechle commit 9c746edb35c9800e2ad9f64b5d96d0732c42b74b Author: Yoichi Yuasa Date: Wed Dec 12 22:39:54 2007 +0900 [MIPS] move the eXcite local config to excitedirectory Moved the eXcite local config to excite directory. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 167da469e521ec608f632137a63c827f175e2679 Author: Yoichi Yuasa Date: Wed Dec 12 22:23:13 2007 +0900 [MIPS] add cpu_wait() to machine_halt() Added cpu_wait() to machine_halt(). For the power reduction in halt. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 71466dd477c7a67d188d1d8310c7016a88531a04 Author: Yoichi Yuasa Date: Wed Dec 12 22:20:19 2007 +0900 [MIPS] remove unneeded button check for reset Removed unneeded button check for reset. Because, the Cobalt has power switch. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 991f8b6ac5a7284612679f4a095578b460555e8f Author: Yoichi Yuasa Date: Wed Dec 12 22:11:09 2007 +0900 [MIPS] move vr41xx_calculate_clock_frequency() to plat_time_init() Moved vr41xx_calculate_clock_frequency() to plat_time_init(). This function relates to the timer function. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit c9662341f8a09cffd7234a89cc066c342fe343bf Author: Yoichi Yuasa Date: Sun Dec 9 21:19:36 2007 +0900 [MIPS] time: remove unused mips_timer_state() Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit fa71c96002d1b02cd1ba1a4477d4b8ad95b587f9 Author: Ralf Baechle Date: Tue Jan 29 10:15:00 2008 +0000 [MIPS] Altas, Malta: Switch boot file format to raw. A raw binary boots about twice as fast as SREC. The possibility to generate SREC binaries remains by simply using the vmlinux.srec target but seems only useful for the probably hypothetical case where one of these systems is booted over a serial interface. Signed-off-by: Ralf Baechle commit ae0c69acd61918cecd8e2949d9575271bc2fdfff Author: Ralf Baechle Date: Tue Jan 29 10:15:00 2008 +0000 [MIPS] fixmap: delete unused __set_fixmap, set_fixmap and set_fixmap_nocache Signed-off-by: Ralf Baechle commit 39a51109dd14001185b0cd122ca46cce1d0795bf Author: Ralf Baechle Date: Tue Jan 29 10:14:59 2008 +0000 [MIPS] Extend performance counter event field. The latest draft version of the MIPS Architecture Specification extends the 6 bit event field by adding a directly adjacent 4-bit EventExt field for a total of 10 bits. Signed-off-by: Ralf Baechle commit 231a35d37293ab88d325a9cb94e5474c156282c0 Author: Thomas Bogendoerfer Date: Fri Jan 4 23:31:07 2008 +0100 [MIPS] RM: Collected changes - EISA support for non PCI RMs (RM200 and RM400-xxx). The major part is the splitting of the EISA and onboard ISA of the RM200, which makes the EISA bus on the RM200 look like on other RMs. - 64bit kernel support - system type detection is now common for big and little endian - moved sniprom code to arch/mips/fw - added call_o32 function to arch/mips/fw/lib, which uses a private stack for calling prom functions - fix problem with ISA interrupts, which makes using PIT clockevent possible Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 237cfee1db66147aef4457f02b56a41e6f84bfd3 Author: Manuel Lauss Date: Thu Dec 6 09:07:55 2007 +0100 [MIPS] Alchemy: Au1210/Au1250 CPU support This patch adds IDs for new Au1200 variants: Au1210 and Au1250. They are essentially identical to the Au1200 except for the Au1210 which has a different SoC-ID in the PRId register [bits 31:24]. The Au1250 is a "Au1200 V0.2". Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit c5ec1983e45d25446a023e98207e30ab1bf2311a Author: Ralf Baechle Date: Tue Jan 29 10:14:59 2008 +0000 [MIPS] Eleminate local symbols from the symbol table. These symbols appear in oprofile output, stacktraces and similar but only make the output harder to read. Many identical symbol names such as "both_aligned" were also being used in multiple source files making it impossible to see which file actually was meant. So let's get rid of them. Signed-off-by: Ralf Baechle commit f21d8508080f05a8b05c99fce57cd76ac43666fa Author: Ralf Baechle Date: Tue Jan 29 10:14:59 2008 +0000 [MIPS] Fulong: don't reinitialize pci_probe_only to it's default value. Signed-off-by: Ralf Baechle commit 07c019bcccbfb7ca148494444442a3c48880729a Author: Ralf Baechle Date: Tue Jan 29 10:14:59 2008 +0000 [MIPS] BCM1480: Use constants instead of magic numbers in PCI code. Signed-off-by: Ralf Baechle commit e2defae5a9b4f8d1acb058be212ef89c8763dc5b Author: Thomas Bogendoerfer Date: Sun Dec 2 13:00:32 2007 +0100 [MIPS] IP28 support Add support for SGI IP28 machines (Indigo 2 with R10k CPUs) This work is mainly based on Peter Fuersts work. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 81149be11327cbad006f82318f46e0b68a7b14ad Author: Ralf Baechle Date: Tue Jan 29 10:14:58 2008 +0000 [MIPS] Remove CONFIG_SIBYTE_PT{1120,1125,SWARM} According to Broadcom the PT systems are production test systems which never reached customers so no need to keep the fragmentary support we currently have. Signed-off-by: Ralf Baechle commit c7c6b39050aed4af913c17970ebfb592bae757fc Author: Thomas Bogendoerfer Date: Tue Nov 27 19:31:33 2007 +0100 [MIPS] Use correct dma flushing in dma_cache_sync() Not cache coherent R10k systems (like IP28) need to do real cache invalidates in dma_cache_sync(). Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 930bff882296c02ca81db108672ef4ca06c37db5 Author: Thomas Bogendoerfer Date: Sun Nov 25 11:47:56 2007 +0100 [MIPS] IP28: added cache barrier to assembly routines IP28 needs special treatment to avoid speculative accesses. gcc takes care for .c code, but for assembly code we need to do it manually. This is taken from Peter Fuersts IP28 patches. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 2064ba23e58daa929eec6f5e7a2abc24574a95b9 Author: Atsushi Nemoto Date: Sat Nov 24 01:20:27 2007 +0900 [MIPS] TXx9 watchdog support for rbhma3100,rbhma4200,rbhma4500 This patch adds support for txx9wdt driver to rbhma3100, rbhma4200 and rbhma4500 platform. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 68efdb81c6c3b5c1df7169a4b460907198b19103 Author: Thomas Bogendoerfer Date: Sun Nov 25 11:27:06 2007 +0100 [MIPS] IP22/IP28: fix extracting board/chip rev Taken from Peter Fuersts IP28 patches Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit e9c33572a92aa2ee565da5136745ea304ac23d9a Author: Thomas Bogendoerfer Date: Mon Nov 26 23:40:01 2007 +0100 [MIPS] Use real cache invalidate R10k non coherent machines need a real dma cache invalidate to get rid of speculative stores in cache. For other machines this promises a slight speedup. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 87353d8ac39c52784da605ecbe965ecdfad609ad Author: Ralf Baechle Date: Mon Nov 19 12:23:51 2007 +0000 [MIPS] SMP: Call platform methods via ops structure. Signed-off-by: Ralf Baechle commit 19388fb092d89e179575bd0b44f51b57e175edf5 Author: Ralf Baechle Date: Tue Jan 29 10:14:57 2008 +0000 [MIPS] Cleanup pcspeaker platform device registration. Move registration into the actual platform code instead of making a desparate attempt at sharing the hand full of likes of code in pcspeaker.c. Signed-off-by: Ralf Baechle commit 0ab7aefc4d43a6dee26c891b41ef9c7a67d2379b Author: Ralf Baechle Date: Fri Mar 2 20:42:04 2007 +0000 [MIPS] MT: Scheduler support for SMT Signed-off-by: Ralf Baechle commit 92b1e6a64a8d9d5ed3ec8797eed8b36e2164a410 Author: Franck Bui-Huu Date: Thu Oct 18 09:11:17 2007 +0200 [MIPS] tlbex.c: cleanup debug code Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit cbdbe07f9d60b80c903bddf6533db839789925c7 Author: Franck Bui-Huu Date: Thu Oct 18 09:11:16 2007 +0200 [MIPS] tlbex.c: use __cacheline_aligned instead of __tlb_handler_align Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit f49b94d8c111e86e4e04a5a0eb83988d9d935d56 Author: Franck Bui-Huu Date: Thu Oct 18 09:11:15 2007 +0200 [MIPS] tlbex.c: cleanup include files Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit a9af6041e9e7ed0278d03333c3a22a8509f33615 Author: Franck Bui-Huu Date: Thu Oct 18 09:11:14 2007 +0200 [MIPS] tlbex.c: Cleanup __init usages. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 3f4ac2dc0504962b6cb9367adbc13272393b80b3 Author: Robert P. J. Day Date: Tue Nov 6 01:55:12 2007 -0500 [MIPS] Delete now-unreferenced i2c-yosemite.h header file. Given that the corresponding source file i2c-yosemite.c file was removed in commit daa4a68f901c4d6491baa1a01f5c869a553c3f6c, and that no one else includes this file, it seems safe to delete it. Signed-off-by: Robert P. J. Day Signed-off-by: Ralf Baechle commit adfb8998669a77c7942f220adf1c1fe8ced9deb6 Author: Lucas Woods Date: Tue Nov 6 07:13:47 2007 +1100 [MIPS] Remove duplicate includes. Signed-off-by: Lucas Woods Signed-off-by: Ralf Baechle commit fa09187c34e0d8c8337268a757cff942192131b1 Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri Nov 2 19:59:05 2007 +0100 [MIPS] ARC: Use strchr instead of strstr. Use strchr instead of strstr when searching for a single character Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Ralf Baechle commit 33202349eff1f90a593924a61291e5466306ab8e Author: Ralf Baechle Date: Tue Jan 29 10:14:56 2008 +0000 [MIPS] Remove useless S-cache flushes. Signed-off-by: Ralf Baechle commit 526af35e5db81758da8488d381610ed9d1fba8f7 Author: Ralf Baechle Date: Tue Jan 29 10:14:55 2008 +0000 [MIPS] Use pte_present instead of open coded test for _PAGE_PRESENT. Signed-off-by: Ralf Baechle commit 48ef2626aeecac3b160d1aee38ac46d6c3540122 Author: Andrew Sharp Date: Wed Oct 31 14:11:24 2007 -0700 [MIPS] Put cast inside macro instead of all the callers Since all the callers of the PHYS_TO_XKPHYS macro call with a constant, put the cast to LL inside the macro where it really should be rather than in all the callers. This makes macros like PHYS_TO_XKSEG_UNCACHED work without gcc whining. Signed-off-by: Andrew Sharp Signed-off-by: Ralf Baechle commit 2206583dd5e370c3c3a30f7e67272e44abab9093 Author: Yoichi Yuasa Date: Thu Nov 1 21:35:39 2007 +0900 [MIPS] clean up au1xxx_irqmap.c include files Clean up au1xxx_irqmap.c include files. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 7f3f4900619743f4e3af21e9228748c3d692a2c2 Author: Yoichi Yuasa Date: Fri Oct 26 22:42:31 2007 +0900 [MIPS] remove unused mips_machtype Removed unused mips_machtype. These are only set but not used. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 417345d8f5bacc291138c99a292a8ca69947530e Author: Christoph Hellwig Date: Mon Oct 29 14:23:43 2007 +0000 [MIPS] CFE: Make code remotely resemble Linux code. Signed-off-by: Ralf Baechle commit 8b6c2324bf2b023e26d53052bbcddcbf2f2c97ee Author: Atsushi Nemoto Date: Wed Oct 24 23:16:56 2007 +0900 [MIPS] cleanup tx39/tx49 setup code Remove some unnecessary codes, includes and files. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 619b6e18fce20e4b2d0082cde989f37e1be7b3e1 Author: Maciej W. Rozycki Date: Tue Oct 23 12:43:25 2007 +0100 [MIPS] R4000/R4400 daddiu erratum workaround This complements the generic R4000/R4400 errata workaround code and adds bits for the daddiu problem. In most places it just modifies handwritten assembly code so that the assembler is allowed to use a temporary register as daddiu may now be treated as a macro that expands to a sequence of li and daddu. It is the AT register or, where AT is unavailable or used explicitly for another purpose, an explicitly-named register is selected, using the .set at= feature added recently to gas. This feature is only used if CONFIG_CPU_DADDI_WORKAROUNDS has been set, so if the workaround remains disabled, the required version of binutils stays unchanged. Similarly, daddiu instructions put in branch delay slots in noreorder fragments are now taken out of them and the assembler is allowed to reorder them itself as possible (which it does making the whole idea of scheduling them into delay slots manually questionable). Also in the very few places where such a simple conversion was not possible, a handcoded longer sequence is implemented. Other than that there are changes to code responsible for building the TLB fault and page clear/copy handlers to avoid daddiu as appropriate. These are only effective if the erratum is verified to be present at the run time. Finally there is a trivial update to __delay(), because it uses daddiu in a branch delay slot. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 20d60d9973c3b441902b0a3f4f6f7e7ade08f77d Author: Maciej W. Rozycki Date: Tue Oct 23 12:43:11 2007 +0100 [MIPS] R4000/R4400 errata workarounds This is the gereric part of R4000/R4400 errata workarounds. They include compiler and assembler support as well as some source code modifications to address the problems with some combinations of multiply/divide+shift instructions as well as the daddi and daddiu instructions. Changes included are as follows: 1. New Kconfig options to select workarounds by platforms as necessary. 2. Arch top-level Makefile to pass necessary options to the compiler; also incompatible configurations are detected (-mno-sym32 unsupported as horribly intrusive for little gain). 3. Bug detection updated and shuffled -- the multiply/divide+shift problem is lethal enough that if not worked around it makes the kernel crash in time_init() because of a division by zero; the daddiu erratum might also trigger early potentially, though I have not observed it. On the other hand the daddi detection code requires the exception subsystem to have been initialised (and is there mainly for information). 4. r4k_daddiu_bug() added so that the existence of the erratum can be queried by code at the run time as necessary; useful for generated code like TLB fault and copy/clear page handlers. 5. __udelay() updated as it uses multiplication in inline assembly. Note that -mdaddi requires modified toolchain (which has been maintained by myself and available from my site for ~4years now -- versions covered are GCC 2.95.4 - 4.1.2 and binutils from 2.13 onwards). The -mfix-r4000 and -mfix-r4400 have been standard for a while though. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 2b22c034d04d3632a339d14d5803c8f94e412608 Author: Alejandro Martinez Ruiz Date: Mon Oct 22 21:36:44 2007 +0200 [MIPS] Converting most array size calculations to use ARRAY_SIZE(). Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Ralf Baechle commit 161548bf3529d53398adb3451cdc781cc324fc1d Author: Ralf Baechle Date: Tue Jan 29 10:14:54 2008 +0000 [MIPS] tlbex: Cleanup handling of R2 hazards in TLB handlers. Signed-off-by: Ralf Baechle commit 6920df4025b426cb3c9756944a965fe9ccb30925 Author: Ralf Baechle Date: Tue Jan 29 10:14:54 2008 +0000 [MIPS] Delete unused CONFIG_64BIT_CONTEXT The merge of the code to use this was never completed so delete it for the time being. Signed-off-by: Ralf Baechle commit e414004e94b5aebf57ca11be009fed5e39f5b6a8 Author: Ralf Baechle Date: Tue Jan 29 10:14:54 2008 +0000 [MIPS] Delete unused CONFIG_DMA_IP32. The functionality of the former dma-ip32.c has been folded into dma-default.c. Signed-off-by: Ralf Baechle commit 6494a93d55fad586238cc1940e846c6d03e1aaf6 Author: Greg Kroah-Hartman Date: Sun Jan 27 15:38:40 2008 -0800 Module: check to see if we have a built in module with the same name When trying to load a module with the same name as a built-in one, a scary kobject backtrace comes up. Prevent that from checking for this condition and warning the user as to what exactly is going on. Cc: Rusty Russell Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman Signed-off-by: Rusty Russell commit 0aa5bd52d0c49ca56d24584c646e6544ccbb3dc9 Author: Jon Masters Date: Mon Jan 21 20:43:41 2008 +0000 module: add module taint on ndiswrapper The struct module taints member is supposed to store per-module taint data. The kernel knows about certain specific external modules that will taint the kernel, such as ndiswrapper. Use of ndiswrapper possibly should set the per-module taint in addition to the global kernel taint flag, unless we're arguing not because wrapper module itself is not what actually causes the kernel to be tainted as such? Signed-off-by: Jon Masters Signed-off-by: Rusty Russell commit 8686c99875f3849047660a5b6d02438443f22ce7 Author: Denis Cheng Date: Mon Jan 21 17:08:25 2008 +0800 module: fix the module name length in param_sysfs_builtin the original code use KOBJ_NAME_LEN for built-in module name length, that's defined to 20 in linux/kobject.h, but this is not enough appearntly, many module names are longer than this; #define KOBJ_NAME_LEN 20 another macro is MODULE_NAME_LEN defined in linux/module.h, I think this is enough for module names: #define MODULE_NAME_LEN (64 - sizeof(unsigned long)) Signed-off-by: Denis Cheng Signed-off-by: Rusty Russell commit 6dd06c9fbe025f542bce4cdb91790c0f91962722 Author: Rusty Russell Date: Tue Jan 29 17:13:22 2008 -0500 module: make module_address_lookup safe module_address_lookup releases preemption then returns a pointer into the module space. The only user (kallsyms) copies the result, so just do that under the preempt disable. Signed-off-by: Rusty Russell commit bb9d3d56e792d2619cc0903df4ac01d86ac1261d Author: Rusty Russell Date: Tue Jan 29 17:13:21 2008 -0500 module: better OOPS and lockdep coverage for loading modules If we put the module in the linked list *before* calling into to, we get the module name and functions in the OOPS (is_module_address can find the module). It also helps lockdep in a similar way. Acked-and-tested-by: Joern Engel Tested-by: Erez Zadok Signed-off-by: Rusty Russell commit efa5345e39d01deef349c120f55ac6b6eabe7457 Author: Rusty Russell Date: Tue Jan 29 17:13:20 2008 -0500 module: Fix gratuitous sprintf in module.c Andrew sent an older version of this patch: we shouldn't use sprintf to copy a string. Signed-off-by: Rusty Russell commit c9a3ba55bb5da03fc7d707709a7fe078fe1aa0a0 Author: Rusty Russell Date: Tue Jan 29 17:13:18 2008 -0500 module: wait for dependent modules doing init. There have been reports of modules failing to load because the modules they depend on are still loading. This changes the modules to wait for a reasonable length of time in that case. We time out eventually, because there can be module loops or broken modules. Signed-off-by: Rusty Russell commit a2da4052f1df6bc77749f84496fe731ab8b458f7 Author: Rusty Russell Date: Tue Jan 29 17:13:17 2008 -0500 module: Don't report discarded init pages as kernel text. Current code could cause a bug in symbol_put_addr() if an arch used kmalloc module text: we might think the symbol belongs to the core kernel. The downside is that this might make backtraces through (discarded) init functions harder to read on some archs, but we already have that issue for modules and noone has complained. Signed-off-by: Rusty Russell commit 4019191be7316ed4a39e1c1c2b623baa7dc6c843 Author: Mingming Cao Date: Mon Jan 28 23:58:27 2008 -0500 jbd2: sparse pointer use of zero as null Get rid of sparse related warnings from places that use integer as NULL pointer. (Ported from upstream ext3/jbd changes.) Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit db857da3369cd4eb6a28be1cce89d33162caa4a0 Author: Mingming Cao Date: Mon Jan 28 23:58:27 2008 -0500 jbd2: Use round-jiffies() function for the "5 second" ext4/jbd2 wakeup While "every 5 seconds" doesn't sound as a problem, there can be many of these (and these timers do add up over all the kernel). The "5 second" wakeup isn't really timing sensitive; in addition even with rounding it'll still happen every 5 seconds (with the exception of the very first time, which is likely to be rounded up to somewhere closer to 6 seconds) (Ported from similar JBD patch made by Arjan van de Ven to fs/jbd/transaction.c) Cc: Arjan van de Ven Cc: Andrew Morton Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 77160957e29e9413f7420e85fca37a47d4ffac7f Author: Mingming Cao Date: Mon Jan 28 23:58:27 2008 -0500 jbd2: Mark jbd2 slabs as SLAB_TEMPORARY This patch marks slab allocations by jbd2 as short-lived in support of Mel Gorman's "Group short-lived and reclaimable kernel allocations" patch. (Ported from similar changes made to fs/jbd/journal.c and fs/jbd/revoke.c in Mel's patch.) Cc: Mel Gorman Cc: Andrew Morton Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 7b7510662f4d05ddcc45d435769860e73e6aa20e Author: Mingming Cao Date: Mon Jan 28 23:58:27 2008 -0500 jbd2: add lockdep support Ported from similar patch for the jbd layer. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit b939e3766ec19eb556cb784c2faace253c6e1560 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Use the ext4_ext_actual_len() helper function ext4 uses the high bit of the extent length to encode whether the extent is intialized or not. The helper function ext4_ext_get_actual_len should be used to get the actual length of the extent. This addresses the kernel bug documented here: http://bugzilla.kernel.org/show_bug.cgi?id=9732 kernel BUG at fs/ext4/extents.c:1056! .... Call Trace: [] :ext4dev:ext4_ext_get_blocks+0x5ba/0x8c1 [] lock_release_holdtime+0x27/0x49 [] _spin_unlock+0x17/0x20 [] :jbd2:start_this_handle+0x4e0/0x4fe [] :ext4dev:ext4_fallocate+0x175/0x39a [] lock_release_holdtime+0x27/0x49 [] __lock_acquire+0x4e7/0xc4d [] lock_release_holdtime+0x27/0x49 [] sys_fallocate+0xe4/0x10d [] tracesys+0xd5/0xda Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit dbf9d7da33f79302fb1e4d7c6b2f6598e8608e72 Author: Dmitry Monakhov Date: Mon Jan 28 23:58:27 2008 -0500 ext4: fix uniniatilized extent splitting error Fix bug reported by Dmitry Monakhov caused by lost error code Testcase: blksize = 0x1000; fd = open(argv[1], O_RDWR|O_CREAT, 0700); unsigned long long sz = 0x10000000UL; /* allocating big blocks chunk */ syscall(__NR_fallocate, fd, 0, 0UL, sz) /* grab all other available filesystem space */ tfd = open("tmp", O_RDWR|O_CREAT|O_DIRECT, 0700); while( write(tfd, buf, 4096) > 0); /* loop untill ENOSPC */ fsync(fd); /* just in case */ while (pos < sz) { /* each seek+ write operation result in splits uninitialized extent in three extents. Splitting may result in new extent allocation which probably will fail because of ENOSPC*/ lseek(fd, blksize*2 -1, SEEK_CUR); if ((ret = write(fd, 'a', 1)) != 1) exit(1); pos += blksize * 2; } Signed-off-by: Dmitry Monakhov Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit ce40733ce93de402ed629762f0e912d9af187cef Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Check for return value from sb_set_blocksize sb_set_blocksize validates whether the specfied block size can be used by the file system. Make sure we fail mounting the file system if the blocksize specfied cannot be used. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao commit cb45bbe44b09f35bb12d67ffa7ecff862608aeae Author: Miklos Szeredi Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Add stripe= option to /proc/mounts Add stripe= option to /proc/mounts for ext4 filesystems. Signed-off-by: Miklos Szeredi Signed-off-by: Mingming Cao commit 3dbd0ede4d5320bd4c3cb914fec0595135b6d9a1 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 ext4: Enable the multiblock allocator by default Enable the multiblock allocator by default. Fix ext4_show_options() so if it is not enabled, the nomballoc option included in /proc/mounts. Signed-off-by: Aneesh Kumar K.V Acked-by: Eric Sandeen Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit c9de560ded61faa5b754137b7753da252391c55a Author: Alex Tomas Date: Tue Jan 29 00:19:52 2008 -0500 ext4: Add multi block allocator for ext4 Signed-off-by: Alex Tomas Signed-off-by: Andreas Dilger Signed-off-by: Aneesh Kumar K.V Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 1988b51e476bd097d910c9245b53f2e38aedaf0d Author: Alex Tomas Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Add new functions for searching extent tree Add the functions ext4_ext_search_left() and ext4_ext_search_right(), which are used by mballoc during ext4_ext_get_blocks to decided whether to merge extent information. Signed-off-by: Alex Tomas Signed-off-by: Andreas Dilger Signed-off-by: Johann Lombardi Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit aa02ad67d9b308290fde390682cd039b29f7ab85 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Add ext4_find_next_bit() This function is used by the ext4 multi block allocator patches. Also add generic_find_next_le_bit Signed-off-by: Aneesh Kumar K.V Cc: Signed-off-by: Andrew Morton commit c549a95d40efd83fc054785dd1634e8b71fba890 Author: Eric Sandeen Date: Mon Jan 28 23:58:27 2008 -0500 ext4: fix up EXT4FS_DEBUG builds Builds with EXT4FS_DEBUG defined (to enable ext4_debug()) fail without these changes. Clean up some format warnings too. Signed-off-by: Eric Sandeen Signed-off-by: Mingming Cao commit aa22df2cc84011808ad7227437ac8f0e01030480 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Fix ext4_show_options to show the correct mount options. We need to look at the default value and make sure the mount options are not set via default value before showing them via ext4_show_options Signed-off-by: Aneesh Kumar K.V commit c14c6fd5c56a0d0495d8a7c0f2bc330be658663e Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 ext4: Add EXT4_IOC_MIGRATE ioctl The below patch add ioctl for migrating ext3 indirect block mapped inode to ext4 extent mapped inode. Signed-off-by: Aneesh Kumar K.V commit 25ec56b518257a56d2ff41a941d288e4b5ff9488 Author: Jean Noel Cordenner Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Add inode version support in ext4 This patch adds 64-bit inode version support to ext4. The lower 32 bits are stored in the osd1.linux1.l_i_version field while the high 32 bits are stored in the i_version_hi field newly created in the ext4_inode. This field is incremented in case the ext4_inode is large enough. A i_version mount option has been added to enable the feature. Signed-off-by: Mingming Cao Signed-off-by: Andreas Dilger Signed-off-by: Kalpak Shah Signed-off-by: Aneesh Kumar K.V Signed-off-by: Jean Noel Cordenner commit 7a224228ed79d587ece2304869000aad1b8e97dd Author: Jean Noel Cordenner Date: Mon Jan 28 23:58:27 2008 -0500 vfs: Add 64 bit i_version support The i_version field of the inode is changed to be a 64-bit counter that is set on every inode creation and that is incremented every time the inode data is modified (similarly to the "ctime" time-stamp). The aim is to fulfill a NFSv4 requirement for rfc3530. This first part concerns the vfs, it converts the 32-bit i_version in the generic inode to a 64-bit, a flag is added in the super block in order to check if the feature is enabled and the i_version is incremented in the vfs. Signed-off-by: Mingming Cao Signed-off-by: Jean Noel Cordenner Signed-off-by: Kalpak Shah commit 818d276ceb83aa9fdebb5e0a53188290312de987 Author: Girish Shilamkar Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Add the journal checksum feature The journal checksum feature adds two new flags i.e JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT and JBD2_FEATURE_COMPAT_CHECKSUM. JBD2_FEATURE_CHECKSUM flag indicates that the commit block contains the checksum for the blocks described by the descriptor blocks. Due to checksums, writing of the commit record no longer needs to be synchronous. Now commit record can be sent to disk without waiting for descriptor blocks to be written to disk. This behavior is controlled using JBD2_FEATURE_ASYNC_COMMIT flag. Older kernels/e2fsck should not be able to recover the journal with _ASYNC_COMMIT hence it is made incompat. The commit header has been extended to hold the checksum along with the type of the checksum. For recovery in pass scan checksums are verified to ensure the sanity and completeness(in case of _ASYNC_COMMIT) of every transaction. Signed-off-by: Andreas Dilger Signed-off-by: Girish Shilamkar Signed-off-by: Dave Kleikamp Signed-off-by: Mingming Cao commit 8e85fb3f305b24b79c6d9cb7a56d22b062335ad3 Author: Johann Lombardi Date: Mon Jan 28 23:58:27 2008 -0500 jbd2: jbd2 stats through procfs The patch below updates the jbd stats patch to 2.6.20/jbd2. The initial patch was posted by Alex Tomas in December 2005 (http://marc.info/?l=linux-ext4&m=113538565128617&w=2). It provides statistics via procfs such as transaction lifetime and size. Sometimes, investigating performance problems, i find useful to have stats from jbd about transaction's lifetime, size, etc. here is a patch for review and inclusion probably. for example, stats after creation of 3M files in htree directory: [root@bob ~]# cat /proc/fs/jbd/sda/history R/C tid wait run lock flush log hndls block inlog ctime write drop close R 261 8260 2720 0 0 750 9892 8170 8187 C 259 750 0 4885 1 R 262 20 2200 10 0 770 9836 8170 8187 R 263 30 2200 10 0 3070 9812 8170 8187 R 264 0 5000 10 0 1340 0 0 0 C 261 8240 3212 4957 0 R 265 8260 1470 0 0 4640 9854 8170 8187 R 266 0 5000 10 0 1460 0 0 0 C 262 8210 2989 4868 0 R 267 8230 1490 10 0 4440 9875 8171 8188 R 268 0 5000 10 0 1260 0 0 0 C 263 7710 2937 4908 0 R 269 7730 1470 10 0 3330 9841 8170 8187 R 270 0 5000 10 0 830 0 0 0 C 265 8140 3234 4898 0 C 267 720 0 4849 1 R 271 8630 2740 20 0 740 9819 8170 8187 C 269 800 0 4214 1 R 272 40 2170 10 0 830 9716 8170 8187 R 273 40 2280 0 0 3530 9799 8170 8187 R 274 0 5000 10 0 990 0 0 0 where, R - line for transaction's life from T_RUNNING to T_FINISHED C - line for transaction's checkpointing tid - transaction's id wait - for how long we were waiting for new transaction to start (the longest period journal_start() took in this transaction) run - real transaction's lifetime (from T_RUNNING to T_LOCKED lock - how long we were waiting for all handles to close (time the transaction was in T_LOCKED) flush - how long it took to flush all data (data=ordered) log - how long it took to write the transaction to the log hndls - how many handles got to the transaction block - how many blocks got to the transaction inlog - how many blocks are written to the log (block + descriptors) ctime - how long it took to checkpoint the transaction write - how many blocks have been written during checkpointing drop - how many blocks have been dropped during checkpointing close - how many running transactions have been closed to checkpoint this one all times are in msec. [root@bob ~]# cat /proc/fs/jbd/sda/info 280 transaction, each upto 8192 blocks average: 1633ms waiting for transaction 3616ms running transaction 5ms transaction was being locked 1ms flushing data (in ordered mode) 1799ms logging transaction 11781 handles per transaction 5629 blocks per transaction 5641 logged blocks per transaction Signed-off-by: Johann Lombardi Signed-off-by: Mariusz Kozlowski Signed-off-by: Mingming Cao Signed-off-by: Eric Sandeen commit 4df3d265bf8f3762e1d77f554ee279c39dedb020 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:29 2008 -0500 ext4: Take read lock during overwrite case. When we are overwriting a file and not actually allocating new file system blocks we need to take only the read lock on i_data_sem. Signed-off-by: Aneesh Kumar K.V commit 0e855ac8b103ef579052936b59fe7c599ac422a4 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 ext4: Convert truncate_mutex to read write semaphore. We are currently taking the truncate_mutex for every read. This would have performance impact on large CPU configuration. Convert the lock to read write semaphore and take read lock when we are trying to read the file. Signed-off-by: Aneesh Kumar K.V commit c278bfecebfb1ed67c326ef472660878baa745cd Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Make ext4_get_blocks_wrap take the truncate_mutex early. When doing a migrate from ext3 to ext4 inode we need to make sure the test for inode type and walking inode data happens inside lock. To make this happen move truncate_mutex early before checking the i_flags. This actually should enable us to remove the verify_chain(). Signed-off-by: Aneesh Kumar K.V commit 01f4adc04480a4e0395906d0268c056cf09c39c0 Author: Mariusz Kozlowski Date: Mon Jan 28 23:58:27 2008 -0500 ext4: remove unused code from ext4_find_entry() The unused code found in ext3_find_entry() is also present (and still unused) in the ext4_find_entry() code. This patch removes it. Signed-off-by: Mariusz Kozlowski Signed-off-by: "Theodore Ts'o" commit 221879c927df05280283a4de6124806c17cc44d4 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Check for the correct error return from ext4_ext_get_blocks returns negative values on error. We should check for <= 0 Signed-off-by: Aneesh Kumar K.V commit f5a7a6b0d9b6af7d46124ed3f6b3995225cb62d0 Author: Jan Kara Date: Mon Jan 28 23:58:27 2008 -0500 jbd2: Fix assertion failure in fs/jbd2/checkpoint.c Before we start committing a transaction, we call __journal_clean_checkpoint_list() to cleanup transaction's written-back buffers. If this call happens to remove all of them (and there were already some buffers), __journal_remove_checkpoint() will decide to free the transaction because it isn't (yet) a committing transaction and soon we fail some assertion - the transaction really isn't ready to be freed :). We change the check in __journal_remove_checkpoint() to free only a transaction in T_FINISHED state. The locking there is subtle though (as everywhere in JBD ;(). We use j_list_lock to protect the check and a subsequent call to __journal_drop_transaction() and do the same in the end of journal_commit_transaction() which is the only place where a transaction can get to T_FINISHED state. Probably I'm too paranoid here and such locking is not really necessary - checkpoint lists are processed only from log_do_checkpoint() where a transaction must be already committed to be processed or from __journal_clean_checkpoint_list() where kjournald itself calls it and thus transaction cannot change state either. Better be safe if something changes in future... Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton commit 36df53f4a3e445175fc1e9d7f433599482ec6d7f Author: Chris Snook Date: Mon Jan 28 23:58:27 2008 -0500 jbd2: Remove printk from J_ASSERT to preserve registers during BUG Signed-off-by: Chris Snook Cc: "Stephen C. Tweedie" Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit abcb2947c91130426539f209f7a473a67a1f6663 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: add block bitmap validation When a new block bitmap is read from disk in read_block_bitmap() there are a few bits that should ALWAYS be set. In particular, the blocks given corresponding to block bitmap, inode bitmap and inode tables. Validate the block bitmap against these blocks. Signed-off-by: Aneesh Kumar K.V commit 389d1b083c767a360ec84b27a95da06244becec8 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 Add buffer head related helper functions Add buffer head related helper function bh_uptodate_or_lock and bh_submit_read which can be used by file system Signed-off-by: Aneesh Kumar K.V commit bb4f397a1a7f2330cb173233599aa159f5780f58 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 ext4: Change the default behaviour on error ext4 file system was by default ignoring errors and continuing. This is not a good default as continuing on error could lead to file system corruption. Change the default to mark the file system readonly. Debian and ubuntu already does this as the default in their fstab. Signed-off-by: Aneesh Kumar K.V Acked-by: Eric Sandeen Signed-off-by: Mingming Cao commit e7c95593001cb96ef5dd121a4523286c574c7133 Author: Eric Sandeen Date: Mon Jan 28 23:58:27 2008 -0500 ext4: fix oops on corrupted ext4 mount When mounting an ext4 filesystem with corrupted s_first_data_block, things can go very wrong and oops. Because blocks_count in ext4_fill_super is a u64, and we must use do_div, the calculation of db_count is done differently than on ext4. If first_data_block is corrupted such that it is larger than ext4_blocks_count, for example, then the intermediate blocks_count value may go negative, but sign-extend to a very large value: blocks_count = (ext4_blocks_count(es) - le32_to_cpu(es->s_first_data_block) + EXT4_BLOCKS_PER_GROUP(sb) - 1); This is then assigned to s_groups_count which is an unsigned long: sbi->s_groups_count = blocks_count; This may result in a value of 0xFFFFFFFF which is then used to compute db_count: db_count = (sbi->s_groups_count + EXT4_DESC_PER_BLOCK(sb) - 1) / EXT4_DESC_PER_BLOCK(sb); and in this case db_count will wind up as 0 because the addition overflows 32 bits. This in turn causes the kmalloc for group_desc to be of 0 size: sbi->s_group_desc = kmalloc(db_count * sizeof (struct buffer_head *), GFP_KERNEL); and eventually in ext4_check_descriptors, dereferencing sbi->s_group_desc[desc_block] will result in a NULL pointer dereference. The simplest test seems to be to sanity check s_first_data_block, EXT4_BLOCKS_PER_GROUP, and ext4_blocks_count values to be sure their combination won't result in a bad intermediate value for blocks_count. We could just check for db_count == 0, but catching it at the root cause seems like it provides more info. Signed-off-by: Eric Sandeen Reviewed-by: Mingming Cao commit 07620f69eff6671fea6bd382c95709f757e33768 Author: Adrian Bunk Date: Mon Jan 28 23:58:27 2008 -0500 ext4/super.c: fix #ifdef's (CONFIG_EXT4_* -> CONFIG_EXT4DEV_*) Based on a report by Robert P. J. Day. Signed-off-by: Adrian Bunk commit cb47dce79145d04634156fd18437e1e78af712e4 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Return after ext4_error in case of failures This fix some instances where we were continuing after calling ext4_error. ext4_error call panic only if errors=panic mount option is set. So we need to make sure we return correctly after ext4_error call Reported by: Adrian Bunk Signed-off-by: Aneesh Kumar K.V commit 91b51a018d7711b20e9e0bb14c3d790de4e310d4 Author: Coly Li Date: Mon Jan 28 23:58:27 2008 -0500 ext4: sync up block group descriptor with e2fsprogs. This patch extends bg_itable_unused of ext4 group descriptor from 16bit into 32bit. In order to add bg_itable_unused_hi into struct ext4_group_desc, some extra fields which are already introduced into e2fsprogs are also added in for consistency. Signed-off-by: Coly Li Cc: Andreas Dilger Signed-off-by: Mingming Cao commit fe7fdc37b5404afb068f928ceba7c3e591b501ca Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 ext3: Fix the max file size for ext3 file system. The max file size for ext3 file system is now calculated with hardcoded 4K block size. The patch fixes it to be calculated with the right block size. Signed-off-by: Aneesh Kumar K.V commit 902be4c5efe0289594c3acf43da40fe7ff0a138b Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 ext2: Fix the max file size for ext2 file system. The max file size for ext2 file system is now calculated with hardcoded 4K block size. The patch fixes it to be calculated with the right block size. Signed-off-by: Aneesh Kumar K.V commit e2b4657453c0d5571bd3c7256585c486ed42d364 Author: Eric Sandeen Date: Mon Jan 28 23:58:27 2008 -0500 ext4: store maxbytes for bitmapped files and return EFBIG as appropriate Calculate & store the max offset for bitmapped files, and catch too-large seeks, truncates, and writes in ext4, shortening or rejecting as appropriate. Signed-off-by: Eric Sandeen commit 19295529db35381d46dbaf246f69b4e3b3393996 Author: Eric Sandeen Date: Mon Jan 28 23:58:27 2008 -0500 ext4: export iov_shorten from kernel for ext4's use Export iov_shorten() from kernel so that ext4 can truncate too-large writes to bitmapped files. Signed-off-by: Eric Sandeen commit cd2291a463c26f60b18e0d9b1901be236dd7f402 Author: Eric Sandeen Date: Mon Jan 28 23:58:27 2008 -0500 ext4: different maxbytes functions for bitmap & extent files use 2 different maxbytes functions for bitmapped & extent-based files. Signed-off-by: Eric Sandeen commit 8180a5627d126362c2f64e4fa886d6f608d9632a Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Support large files This patch converts ext4_inode i_blocks to represent total blocks occupied by the inode in file system block size. Earlier the variable used to represent this in 512 byte block size. This actually limited the total size of the file. The feature is enabled transparently when we write an inode whose i_blocks cannot be represnted as 512 byte units in a 48 bit variable. inode flag EXT4_HUGE_FILE_FL Signed-off-by: Aneesh Kumar K.V commit 0fc1b451471dfc3cabd6e99ef441df9804616e63 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 ext4: Add support for 48 bit inode i_blocks. Use the __le16 l_i_reserved1 field of the linux2 struct of ext4_inode to represet the higher 16 bits for i_blocks. With this change max_file size becomes (2**48 -1 )* 512 bytes. We add a RO_COMPAT feature to the super block to indicate that inode have i_blocks represented as a split 48 bits. Super block with this feature set cannot be mounted read write on a kernel with CONFIG_LSF disabled. Super block flag EXT4_FEATURE_RO_COMPAT_HUGE_FILE Signed-off-by: Aneesh Kumar K.V commit a48380f769dfed6163fb82a68b13bd562ea1e027 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Rename i_dir_acl to i_size_high Rename ext4_inode.i_dir_acl to i_size_high drop ext4_inode_info.i_dir_acl as it is not used Rename ext4_inode.i_size to ext4_inode.i_size_lo Add helper function for accessing the ext4_inode combined i_size. Signed-off-by: Aneesh Kumar K.V commit 7973c0c19ecba92f113488045005f8e7ce1cd7c8 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Rename i_file_acl to i_file_acl_lo Rename i_file_acl to i_file_acl_lo. This helps in finding bugs where we use i_file_acl instead of the combined i_file_acl_lo and i_file_acl_high Signed-off-by: Aneesh Kumar K.V commit 1d03ec984ca41ba184822d1101babb3fa3e26c77 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Fix sparse warnings. Fix sparse warnings related to static functions and local variables. Signed-off-by: Aneesh Kumar K.V commit 99e6f829a854daa6d56006cad51156e98863e73a Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Introduce ext4_update_*_feature Introduce ext4_update_*_feature and use them instead of opencoding. Signed-off-by: Aneesh Kumar K.V commit 2aa9fc4c405467f6afbbb2162ff8afaced47d99b Author: Avantika Mathur Date: Mon Jan 28 23:58:27 2008 -0500 ext4: fixes block group number being set to a negative value This patch fixes various places where the group number is set to a negative value. Signed-off-by: Avantika Mathur Signed-off-by: "Theodore Ts'o" commit fd2d42912f9f09e5250cb3b024ee0625704e9cb7 Author: Avantika Mathur Date: Mon Jan 28 23:58:27 2008 -0500 ext4: add ext4_group_t, and change all group variables to this type. In many places variables for block group are of type int, which limits the maximum number of block groups to 2^31. Each block group can have up to 2^15 blocks, with a 4K block size, and the max filesystem size is limited to 2^31 * (2^15 * 2^12) = 2^58 -- or 256 PB This patch introduces a new type ext4_group_t, of type unsigned long, to represent block group numbers in ext4. All occurrences of block group variables are converted to type ext4_group_t. Signed-off-by: Avantika Mathur commit bba907433b85ba2adae1bb3b6fd29b4e5f35c468 Author: Eric Sandeen Date: Mon Jan 28 23:58:27 2008 -0500 ext4 extents: remove unneeded casts There are many casts in extents.c which are not needed, as the variables are already the type of the cast, or are being promoted for no particular reason in printk's. Signed-off-by: Eric Sandeen Signed-off-by: Mingming Cao commit 725d26d3f09ccb5bac4b4293096b985a312a0d67 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Introduce ext4_lblk_t This patch adds a new data type ext4_lblk_t to represent the logical file blocks. This is the preparatory patch to support large files in ext4 The follow up patch with convert the ext4_inode i_blocks to represent the number of blocks in file system block size. This changes makes it possible to have a block number 2**32 -1 which will result in overflow if the block number is represented by signed long. This patch convert all the block number to type ext4_lblk_t which is typedef to __u32 Also remove dead code ext4_ext_walk_space Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: Eric Sandeen commit a72d7f834e1afa08421938d7eb06bd8e56b0e58c Author: Jan Kara Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Avoid rec_len overflow with 64KB block size With 64KB blocksize, a directory entry can have size 64KB which does not fit into 16 bits we have for entry lenght. So we store 0xffff instead and convert value when read from / written to disk. The patch also converts some places to use ext4_next_entry() when we are changing them anyway. Signed-off-by: Jan Kara Signed-off-by: Mingming Cao commit afc7cbca5bfd556c3e12d3acefbee5ab0cbd4670 Author: Takashi Sato Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Support large blocksize up to PAGESIZE This patch set supports large block size(>4k, <=64k) in ext4, just enlarging the block size limit. But it is NOT possible to have 64kB blocksize on ext4 without some changes to the directory handling code. The reason is that an empty 64kB directory block would have a rec_len == (__u16)2^16 == 0, and this would cause an error to be hit in the filesystem. The proposed solution is treat 64k rec_len with a an impossible value like rec_len = 0xffff to handle this. The Patch-set consists of the following 2 patches. [1/2] ext4: enlarge blocksize - Allow blocksize up to pagesize [2/2] ext4: fix rec_len overflow - prevent rec_len from overflow with 64KB blocksize Now on 64k page ppc64 box runs with this patch set we could create a 64k block size ext4dev, and able to handle empty directory block. Signed-off-by: Takashi Sato Signed-off-by: Mingming Cao commit 6b11d8179d1c6e560edc02c40a53b65fde83bf3f Author: Joel Becker Date: Mon Jan 28 18:52:04 2008 -0800 ocfs2: Fix userspace ABI breakage in sysfs The userspace ABI of ocfs2's internal cluster stack (o2cb) was broken by commit c60b71787982cefcf9fa09aa281fa8c4c685d557 "kset: convert ocfs2 to use kset_create". Specifically, the '/sys/o2cb' kset was moved to '/sys/fs/o2cb'. This breaks all ocfs2 tools and renders the filesystem unmountable. This fix moves '/sys/o2cb' back where it belongs. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 85040bcb4643cba578839e953f25e2d1965d83d0 Author: YOSHIFUJI Hideaki Date: Mon Jan 28 15:46:02 2008 -0800 [IPV6] ADDRLABEL: Fix double free on label deletion. If an entry is being deleted because it has only one reference, we immediately delete it and blindly register the rcu handler for it, This results in oops by double freeing that object. This patch fixes it by consolidating the code paths for the deletion; let its rcu handler delete the object if it has no more reference. Bug was found by Mitsuru Chinen Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 3c582b30bc2592081e9b23e253ca098fa7d57dc2 Author: Stephen Hemminger Date: Wed Jan 23 20:54:07 2008 -0800 [PPP]: Sparse warning fixes. Fix a bunch of warnings in PPP and related drivers. Mostly because sparse doesn't like it when the the function is only marked private in the forward declaration. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ac97f75faae2a18648145bc6bbcdd326bac6a1c2 Author: Stephen Hemminger Date: Wed Jan 23 20:38:24 2008 -0800 [IPV4] fib_trie: remove unneeded NULL check Since fib_route_seq_show now uses hlist_for_each_entry(), the leaf info can not be NULL. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f638a2f0579f74dc93d7da4299146e2822c06889 Author: Stephen Hemminger Date: Wed Jan 23 20:37:50 2008 -0800 [IPV4] fib_trie: More whitespace cleanup. Remove extra blank lines. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7a9c1bd409d3522806d492aa573c1cc5384ca620 Author: Patrick McHardy Date: Wed Jan 23 20:36:45 2008 -0800 [NET_SCHED]: Use nla_policy for attribute validation in ematches Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 53b2bf3f8a652c9c8e86831f94ae2c5767ea54d7 Author: Patrick McHardy Date: Wed Jan 23 20:36:30 2008 -0800 [NET_SCHED]: Use nla_policy for attribute validation in actions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6fa8c0144b770dac941cf2c15053b6e24f046c8a Author: Patrick McHardy Date: Wed Jan 23 20:36:12 2008 -0800 [NET_SCHED]: Use nla_policy for attribute validation in classifiers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 27a3421e4821734bc19496faa77b380605dc3b23 Author: Patrick McHardy Date: Wed Jan 23 20:35:39 2008 -0800 [NET_SCHED]: Use nla_policy for attribute validation in packet schedulers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5feb5e1aaa887f6427b8290bce48bfb6b7010fc6 Author: Patrick McHardy Date: Wed Jan 23 20:35:19 2008 -0800 [NET_SCHED]: sch_api: introduce constant for rate table size Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1587bac49f8491b5006a78f8d726111b71757941 Author: Patrick McHardy Date: Wed Jan 23 20:35:03 2008 -0800 [NET_SCHED]: Use typeful attribute parsing helpers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 24beeab539c6f42c4a93e2ff7c3b5f272e60da45 Author: Patrick McHardy Date: Wed Jan 23 20:34:48 2008 -0800 [NET_SCHED]: Use typeful attribute construction helpers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 57e1c487a4f5754cb77abeb00adb21faa88c484f Author: Patrick McHardy Date: Wed Jan 23 20:34:28 2008 -0800 [NET_SCHED]: Use NLA_PUT_STRING for string dumping Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4b3550ef530cfc153fa91f0b37cbda448bad11c6 Author: Patrick McHardy Date: Wed Jan 23 20:34:11 2008 -0800 [NET_SCHED]: Use nla_nest_start/nla_nest_end Use nla_nest_start/nla_nest_end for dumping nested attributes. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cee63723b358e594225e812d6e14a2a0abfd5c88 Author: Patrick McHardy Date: Wed Jan 23 20:33:32 2008 -0800 [NET_SCHED]: Propagate nla_parse return value nla_parse() returns more detailed errno codes, propagate them back on error. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ab27cfb85c5778400740ad0c401bde65616774eb Author: Patrick McHardy Date: Wed Jan 23 20:33:13 2008 -0800 [NET_SCHED]: act_api: use PTR_ERR in tcf_action_init/tcf_action_get Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c96c9471dd86ba24dc3826bf5688b99d3caf3ace Author: Patrick McHardy Date: Wed Jan 23 20:32:58 2008 -0800 [NET_SCHED]: act_api: use nlmsg_parse Convert open-coded nlmsg_parse to use the real function. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6d834e04e596d6803cf1074a07fd67e7b5662f1b Author: Patrick McHardy Date: Wed Jan 23 20:32:42 2008 -0800 [NET_SCHED]: act_api: fix netlink API conversion bug Fix two invalid attribute accesses, indices start at 1 with the new netlink API. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b03f4672007e533c8dbf0965f995182586216bf1 Author: Patrick McHardy Date: Wed Jan 23 20:32:21 2008 -0800 [NET_SCHED]: sch_netem: use nla_parse_nested_compat Replace open coded equivalent of nla_parse_nested_compat(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f5e5cb75539749960d7d35f8a7da29e2f4b96320 Author: Patrick McHardy Date: Wed Jan 23 20:32:06 2008 -0800 [NET_SCHED]: sch_atm: fix format string warning Fix format string warning introduces by the netlink API conversion: net/sched/sch_atm.c:250: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'int'. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dde1bc0e6f86183bc095d0774cd109f4edf66ea2 Author: Denis V. Lunev Date: Tue Jan 22 23:50:57 2008 -0800 [NETNS]: Add namespace for ICMP replying code. All needed API is done, the namespace is available when required from the device on the DST entry from the incoming packet. So, just replace init_net with proper namespace. Other protocols will follow. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit b5921910a1de4ba82add59154976c3dc7352c8c2 Author: Denis V. Lunev Date: Tue Jan 22 23:50:25 2008 -0800 [NETNS]: Routing cache virtualization. Basically, this piece looks relatively easy. Namespace is already available on the dst entry via device and the device is safe to dereferrence. Compare it with one of a searcher and skip entry if appropriate. The only exception is ip_rt_frag_needed. So, add namespace parameter to it. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit eee80592c3c1f7381c04913d9d3eb6e3c3c87628 Author: Denis V. Lunev Date: Tue Jan 22 23:49:35 2008 -0800 [NETNS]: Correct namespace for connect-time routing. ip_route_connect and ip_route_newports are a part of routing API presented to the socket layer. The namespace is available inside them through a socket. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7ba699c604ab811972eee2e041fd6b07659a2e6e Author: Patrick McHardy Date: Tue Jan 22 22:11:50 2008 -0800 [NET_SCHED]: Convert actions from rtnetlink to new netlink API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit add93b610a4e66d36d0cf0b2596c3d3bcfdaee39 Author: Patrick McHardy Date: Tue Jan 22 22:11:33 2008 -0800 [NET_SCHED]: Convert classifiers from rtnetlink to new netlink API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1e90474c377e92db7262a8968a45c1dd980ca9e5 Author: Patrick McHardy Date: Tue Jan 22 22:11:17 2008 -0800 [NET_SCHED]: Convert packet schedulers from rtnetlink to new netlink API Convert packet schedulers to use the netlink API. Unfortunately a gradual conversion is not possible without breaking compilation in the middle or adding lots of casts, so this patch converts them all in one step. The patch has been mostly generated automatically with some minor edits to at least allow seperate conversion of classifiers and actions. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 01480e1cf5e2118eba8a8968239f3242072f9563 Author: Patrick McHardy Date: Tue Jan 22 22:10:59 2008 -0800 [NETLINK]: Add nla_append() Used to append data to a message without a header or padding. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2eb9d75c723252c1fa8f0206e6a0df220e3c64c0 Author: Patrick McHardy Date: Tue Jan 22 22:10:42 2008 -0800 [NET_SCHED]: mark classifier ops __read_mostly Additionally remove unnecessary NULL initilizations of the next pointer. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 62e3ba1b558e5f393ef746880613fb8222e64d03 Author: Patrick McHardy Date: Tue Jan 22 22:10:23 2008 -0800 [NET_SCHED]: Move EXPORT_SYMBOL next to exported symbol Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f206351a50ea86250fabea96b9af8d8f8fc02603 Author: Denis V. Lunev Date: Tue Jan 22 22:07:34 2008 -0800 [NETNS]: Add namespace parameter to ip_route_output_key. Needed to propagate it down to the ip_route_output_flow. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f1b050bf7a88910f9f00c9c8989c1bf5a67dd140 Author: Denis V. Lunev Date: Tue Jan 22 22:07:10 2008 -0800 [NETNS]: Add namespace parameter to ip_route_output_flow. Needed to propagate it down to the __ip_route_output_key. Signed_off_by: Denis V. Lunev Signed-off-by: David S. Miller commit 611c183ebcb5af384df3a4ddb391034a1b6ac255 Author: Denis V. Lunev Date: Tue Jan 22 22:06:48 2008 -0800 [NETNS]: Add namespace parameter to __ip_route_output_key. This is only required to propagate it down to the ip_route_output_slow. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit b40afd0e5c568aba79a4ae2a963cd2af1f09490d Author: Denis V. Lunev Date: Tue Jan 22 22:06:19 2008 -0800 [NETNS]: Add namespace parameter to ip_route_output_slow. This function needs a net namespace to lookup devices, fib tables, etc. in, so pass it there. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 1ab352768fc73838b062776ca5d1add3876a019f Author: Denis V. Lunev Date: Tue Jan 22 22:04:30 2008 -0800 [NETNS]: Add namespace parameter to ip_dev_find. in_dev_find() need a namespace to pass it to fib_get_table(), so add an argument. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 010278ec4cdf404aefc0bbd5e7406674fec95286 Author: Denis V. Lunev Date: Tue Jan 22 22:04:04 2008 -0800 [NETNS]: Add netns parameter to fib_select_default. Currently fib_select_default calls fib_get_table() with the init_net. Prepare it to provide a correct namespace to lookup default route. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 64c2d5382954ccf6054424653f4c7f4f04c1ff21 Author: Denis V. Lunev Date: Tue Jan 22 22:03:33 2008 -0800 [IPV4]: Consolidate fib_select_default. The difference in the implementation of the fib_select_default when CONFIG_IP_MULTIPLE_TABLES is (not) defined looks negligible. Consolidate it and place into fib_frontend.c. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit e30d3a0ccddbd458b3fb14c9b0229b01d97bad5b Author: Denis V. Lunev Date: Tue Jan 22 22:03:03 2008 -0800 [IPV4]: Declarations cleanup in ip_fib.h. Two small issues fixed: - fib_select_multipath is exported from fib_semantics.c rather than from fib_frontend.c. So, move the declaration below appropriate comment. - struct rt_entry declaration is not used. Drop it. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit d5ce8a0e97073169b5fe0b7c52bd020cdb017dfa Author: Stephen Hemminger Date: Tue Jan 22 21:57:22 2008 -0800 [IPV4] fib_trie: avoid rescan on dump This converts dumping (and flushing) of large route tables form O(N^2) to O(N). If the route dump took multiple pages then the dump routine gets called again. The old code kept track of location by counter, the new code instead uses the last key. This is a really big win ( 0.3 sec vs 12 sec) for big route tables. One side effect is that if the table changes during the dump, then the last key will not be found, and we will return -EBUSY. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9195bef7fb0ba0a91d5ffa566bcf8e007e3c7172 Author: Stephen Hemminger Date: Tue Jan 22 21:56:34 2008 -0800 [IPV4] fib_trie: avoid extra search on delete Get rid of extra search that made route deletion O(n). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a88ee229253b31e3a844b30525ff77fbfe3111d3 Author: Stephen Hemminger Date: Tue Jan 22 21:56:11 2008 -0800 [IPV4] fib_trie: dump table in sorted order It is easier with TRIE to dump the data traversal rather than interating over every possible prefix. This saves some time and makes the dump come out in sorted order. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 82cfbb008572b1a953091ef78f767aa3ca213092 Author: Stephen Hemminger Date: Tue Jan 22 21:55:32 2008 -0800 [IPV4] fib_trie: iterator recode Remove the complex loop structure of nextleaf() and replace it with a simpler tree walker. This improves the performance and is much cleaner. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 64347f786d13349d6a6f812f3a83c269e26c0136 Author: Stephen Hemminger Date: Tue Jan 22 21:55:01 2008 -0800 [IPV4] fib_trie: dump message multiple part flag Match fib_hash, and set NLM_F_MULTI to handle multiple part messages. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1328042e268c936189f15eba5bd9a5a4605a8581 Author: Stephen Hemminger Date: Tue Jan 22 21:54:37 2008 -0800 [IPV4] fib_trie: use hash list The code to dump can use the existing hash chain rather than doing repeated lookup. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 936722922f6d2366378de606a40c14f96915474d Author: Stephen Hemminger Date: Tue Jan 22 21:54:05 2008 -0800 [IPV4] fib_trie: compute size when needed Compute the number of prefixes when needed, rather than doing bookeeping. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a07f5f508a4d9728c8e57d7f66294bf5b254ff7f Author: Stephen Hemminger Date: Tue Jan 22 21:53:36 2008 -0800 [IPV4] fib_trie: style cleanup Style cleanups: * make check_leaf return -1 or plen, rather than by reference * Get rid of #ifdef that is always set * split out embedded function calls in if statements. * checkpatch warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit bc3c8c1e02ae89668239742fd592f21e1998fa46 Author: Stephen Hemminger Date: Tue Jan 22 21:51:50 2008 -0800 [IPV4] fib_trie: put leaf nodes in a slab cache This improves locality for operations that touch all the leaves. Save space since these entries don't need to be hardware cache aligned. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a1f6f5a7689098f01d9b7b7181795ee78563ce37 Author: Jan Engelhardt Date: Tue Jan 22 18:30:06 2008 -0800 [AF_X25]: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 91cde6f7d295a9eafea51d821f6e609288736c79 Author: Ross Burton Date: Tue Jan 22 18:27:53 2008 -0800 [IrDA]: LMP discovery timer not started by default By default, LMP sets up a 3 seconds timer for discovery. We don't need it until discovery is set to 1. Signed-off-by: Ross Burton Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit c0e1899bdbd5e997d2256fcc23fc4e3d2bc5f811 Author: Bruno Randolf Date: Mon Jan 21 11:09:46 2008 +0900 ath5k: always extend rx timestamp with tsf always extend the rx timestamp with the local TSF, since this information is also needed for proper IBSS merging. this is done in the tasklet for now, maybe has to be moved to the interrupt handler like in madwifi. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 6d91e1d80822da1c3e790bfbe8df432360fd7f68 Author: Bruno Randolf Date: Sat Jan 19 18:18:41 2008 +0900 ath5k: configure backoff for IBSS beacon queue in "11.1.2.2 Beacon generation in an IBSS" the IEEE802.11 standard says, each STA should... "b) Calculate a random delay uniformly distributed in the range between zero and twice aCWmin × aSlotTime,". configure cwmin and cwmax of the beacon queue in IBSS mode according to this. unfortunately beacon backoff does not work reliably yet, so i suspect we have a problem somewhere else, since the same settings (and similar beacon timer configuration) work for madwifi. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 036cd1ec038f7e3a36740beaf2aa4a0d2e8ed2c1 Author: Bruno Randolf Date: Sat Jan 19 18:18:21 2008 +0900 ath5k: use SWBA to detect IBSS HW merges use SWBA (software beacon alert) interrupts to keep track of the next beacon time und check if a HW merge (automatic TSF update) has happened on every received beacon with the same BSSID. this is necessary because the atheros hardware will silently update the local TSF in IBSS mode, but not its beacon timers. if the TSF is ahead of the beacon timers no beacons are sent until the timers wrap around (typically after about 1 minute). this solution is not very nice, since we have to look into every beacon, but there is apparently no other way to detect HW merges. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD drivers/net/wireless/ath5k/base.h: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 9804b98d57f9b3b02a8906b0b45f461ce0c08428 Author: Bruno Randolf Date: Sat Jan 19 18:17:59 2008 +0900 ath5k: better beacon timer calculation update ath5k_beacon_update_timers() for better beacon timer calculation in a variety of situations. most important is the possibility to call it with the timestamp of a received beacon, when we detected that a HW merge has happened and we need to reconfigure the beacon timers based on that. we call this from the mac80211 callback reset_tsf now instead of beacon_update, and there will be more use of it in the next patch. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit e535c1ac7e431f85e9c8ead6dbc977a1e1906736 Author: Bruno Randolf Date: Fri Jan 18 21:51:40 2008 +0900 ath5k: beacon interval is in TU the beacon interval is passed by mac80211 in TU already, so we can directly use it without conversion. also update the comments about TU (1 TU is defined by 802.11 as 1024usec). 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/base.h: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 1008e0f7b9dd211f918e93090f615e8064aca900 Author: Bruno Randolf Date: Fri Jan 18 21:51:19 2008 +0900 ath5k: use 3 instead of 0x00000003 reviewed beacon timer initialization with register traces from madwifi: what we are doing is correct :). one minor fix: use 3 instead of 0x00000003 - it's more readable. drivers/net/wireless/ath5k/hw.c: Changes-licensed-under: ISC Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 1f7d87b0ecacefe4541c75901cbcf29efba42ca6 Author: Michael Buesch Date: Tue Jan 22 20:23:34 2008 +0100 b43: Fix MAC control and microcode init This zeros out all microcode related memory before loading the microcode. This also fixes initialization of the MAC control register. The _only_ place where we overwrite the contents of the MAC control register is at the beginning of b43_chip_init(). All other places must do read() -> mask/set -> write() to not overwrite existing bits. This also adds a longer delay for waiting for the microcode to initialize itself. It seems that the current timeout is sufficient on all available devices, but there's no real reason why we shouldn't wait for up to one second. Slow embedded devices might exist. Better safe than sorry. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 4248d2f81159f62b7c7b83398fede653d449fd56 Author: Masakazu Mokuno Date: Tue Jan 22 15:22:29 2008 +0900 WEXT: remove unused variable As event_type_pk_size[] is not used, Remove it. Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit 247ae4492065ed73bf5f287e38cd4c54ce192b27 Author: John W. Linville Date: Mon Jan 21 15:36:05 2008 -0500 ath5k: reset key cache after resume Otherwise it may be impossible to connected to an open network after a resume. This is a modified version of an original patch by Alex Eskin : https://bugzilla.redhat.com/show_bug.cgi?id=425950#c8 Signed-off-by: John W. Linville commit c65638a72c619e941bcb4006feded09fd358ad5f Author: John W. Linville Date: Mon Jan 21 15:36:04 2008 -0500 ath5k: use AR5K_KEYTABLE_SIZE when initializing key table ...instead of using AR5K_KEYCACHE_SIZE, which would seem to be a typo/thinko... Signed-off-by: John W. Linville commit 61cb5dd6d1c81fbb5629f60db4e2a7faa7124b7a Author: Michael Buesch Date: Mon Jan 21 19:55:09 2008 +0100 b43: Fix firmware caching We must also store the ID string (filename) for the cached firmware blobs and verify that we really have the right firmware cached before using it. If we don't have the right fw cached, we must free it and request the correct blobs. This fixes bandswitch on A/B/G multi-PHY devices. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 71ebb4aac87e4a1504a155084d658d0a92ac63fb Author: Ron Rindjunsky Date: Mon Jan 21 12:39:12 2008 +0200 mac80211: fix rx flow sparse errors, make functions static This patch adds static declarations to functions in the Rx flow in order to eliminate sparse errors Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a8b47ea3c583645977a916ab3e2d323c7504aa7b Author: Ron Rindjunsky Date: Mon Jan 21 12:39:11 2008 +0200 mac80211: fixing ieee80211_bar types This patch changes ieee80211_bar control and start_seq_num to match the proper bitwise attribute expected from ieee 802.11 frame Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 95b66bad55b846e02e5b5c8b32ac4a659c28149b Author: Michael Buesch Date: Fri Jan 18 01:09:25 2008 +0100 b43: Add more N-PHY init code This also adds lots of TODOs. Oh well. Lots of work. :) Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit c09c7237eadc65916305835ca1e3ee8a03f01159 Author: Stefano Brivio Date: Thu Jan 17 00:38:29 2008 +0100 rc80211-pid: fix last_sample initialization Fix last_sample initialization. kzalloc'ing the per-STA data wasn't enough, as jiffies can assume negative values as well. This fixes a bug which prevented correct PID operation for a while after booting. Thanks to Michael Buesch for reporting this. Reported-and-tested-by: Michael Buesch Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit f99b751fca5b16bea53c0d6724935e1949350052 Author: Johannes Berg Date: Wed Jan 16 21:47:40 2008 +0100 mac80211: fix RCU locking in __ieee80211_rx_handle_packet Commit c7a51bda ("mac80211: restructure __ieee80211_rx") extracted __ieee80211_rx_handle_packet out of __ieee80211_rx and hence changed the locking rules for __ieee80211_rx_handle_packet(), it is now invoked under RCU lock. There is, however, one instance left where it contains an rcu_read_unlock() in an error path, which is a bug. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bfe6a50156ab0c33729378fae7038bce3c6c5184 Author: Michael Buesch Date: Wed Jan 9 20:15:31 2008 +0100 b43legacy: Remove the PHY spinlock This fixes a sparse warning about weird locking. The spinlock is not needed, so simply remove it. This also adds some sanity checks to the PHY and radio locking to protect against recursive locking. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit a8bdf29c6cd117644d27677962fe832b33036c77 Author: Guy Cohen Date: Wed Jan 9 19:12:48 2008 +0200 mac80211: Assign correct TID for local bridged packets This patch assigns correct TID to frames transmitted between two stations in the same BSS in AP mode. The problem is that skb->protocol is not set to ETH_P_IP and it is wrong to use that field at this stage. The fix compares the LLC/Protocol headers explicitly to check if the encapsulated frame is IP frame Signed-off-by: Guy Cohen Signed-off-by: John W. Linville commit 69a73829dbb10e7c8554e66a80cb4fde57347fff Author: Eric Dumazet Date: Tue Jan 22 06:18:34 2008 -0800 [DST]: shrinks sizeof(struct rtable) by 64 bytes on x86_64 On x86_64, sizeof(struct rtable) is 0x148, which is rounded up to 0x180 bytes by SLAB allocator. We can reduce this to exactly 0x140 bytes, without alignment overhead, and store 12 struct rtable per PAGE instead of 10. rate_tokens is currently defined as an "unsigned long", while its content should not exceed 6*HZ. It can safely be converted to an unsigned int. Moving tclassid right after rate_tokens to fill the 4 bytes hole permits to save 8 bytes on 'struct dst_entry', which finally permits to save 8 bytes on 'struct rtable' Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 81566e8322c3f6c6f9a2277fe0e440fee8d917bd Author: Pavel Emelyanov Date: Tue Jan 22 06:12:39 2008 -0800 [NETNS][FRAGS]: Make the pernet subsystem for fragments. On namespace start we mainly prepare the ctl variables. When the namespace is stopped we have to kill all the fragments that point to this namespace. The inet_frags_exit_net() handles it. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3140c25c82106645a6b1fc469dab7006a1d09fd0 Author: Pavel Emelyanov Date: Tue Jan 22 06:11:48 2008 -0800 [NETNS][FRAGS]: Make the LRU list per namespace. The inet_frags.lru_list is used for evicting only, so we have to make it per-namespace, to evict only those fragments, who's namespace exceeded its high threshold, but not the whole hash. Besides, this helps to avoid long loops in evictor. The spinlock is not per-namespace because it protects the hash table as well, which is global. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3b4bc4a2bfe80d01ebd4f2b6dcc58986c970ed16 Author: Pavel Emelyanov Date: Tue Jan 22 06:11:04 2008 -0800 [NETNS][FRAGS]: Isolate the secret interval from namespaces. Since we have one hashtable to lookup the fragment, having different secret_interval-s for hash rebuild doesn't make sense, so move this one to inet_frags. The inet_frags_ctl becomes empty after this, so remove it. The appropriate ctl table is kept read-only in namespaces. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e31e0bdc7e7fb9a4b09d2f3266c035a18fdcee9d Author: Pavel Emelyanov Date: Tue Jan 22 06:10:13 2008 -0800 [NETNS][FRAGS]: Make thresholds work in namespaces. This is the same as with the timeout variable. Currently, after exceeding the high threshold _all_ the fragments are evicted, but it will be fixed in later patch. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b2fd5321dd160ef309dfb6cfc78ed8de4a830659 Author: Pavel Emelyanov Date: Tue Jan 22 06:09:37 2008 -0800 [NETNS][FRAGS]: Make the net.ipv4.ipfrag_timeout work in namespaces. Move it to the netns_frags, adjust the usage and make the appropriate ctl table writable. Now fragment, that live in different namespaces can live for different times. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e4a2d5c2bccd5bd29de5ae4f14ff4448fac9cfc8 Author: Pavel Emelyanov Date: Tue Jan 22 06:08:36 2008 -0800 [NETNS][FRAGS]: Duplicate sysctl tables for new namespaces. Each namespace has to have own tables to tune their different parameters, so duplicate the tables and register them. All the tables in sub-namespaces are temporarily made read-only. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 6ddc082223ef0f73717b4133fa7e648842bbfd02 Author: Pavel Emelyanov Date: Tue Jan 22 06:07:25 2008 -0800 [NETNS][FRAGS]: Make the mem counter per-namespace. This is also simple, but introduces more changes, since then mem counter is altered in more places. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e5a2bb842cd9681d00d4ca963e63e4d3647e66f8 Author: Pavel Emelyanov Date: Tue Jan 22 06:06:23 2008 -0800 [NETNS][FRAGS]: Make the nqueues counter per-namespace. This is simple - just move the variable from struct inet_frags to struct netns_frags and adjust the usage appropriately. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit ac18e7509e7df327e30d6e073a787d922eaf211d Author: Pavel Emelyanov Date: Tue Jan 22 06:02:14 2008 -0800 [NETNS][FRAGS]: Make the inet_frag_queue lookup work in namespaces. Since fragment management code is consolidated, we cannot have the pointer from inet_frag_queue to struct net, since we must know what king of fragment this is. So, I introduce the netns_frags structure. This one is currently empty, but will be eventually filled with per-namespace attributes. Each inet_frag_queue is tagged with this one. The conntrack_reasm is not "netns-izated", so it has one static netns_frags instance to keep working in init namespace. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8d8354d2fb9277f165715a6e1cb92bcc89259975 Author: Pavel Emelyanov Date: Tue Jan 22 05:58:31 2008 -0800 [NETNS][FRAGS]: Move ctl tables around. This is a preparation for sysctl netns-ization. Move the ctl tables to the files, where the tuning variables reside. Plus make the helpers to register the tables. This will simplify the later patches and will keep similar things closer to each other. ipv4, ipv6 and conntrack_reasm are patched differently, but the result is all the tables are in appropriate files. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9d5c824399dea881779d78a6c147288bf2dccb6b Author: Auke Kok Date: Thu Jan 24 02:22:38 2008 -0800 igb: PCI-Express 82575 Gigabit Ethernet driver We are pleased to announce a new Gigabit Ethernet product and its driver to the linux community. This product is the Intel(R) 82575 Gigabit Ethernet adapter family. Physical adapters will be available to the public soon. These adapters come in 2- and 4-port versions (copper PHY) currently. Other variants will be available later. The 82575 chipset supports significantly different features that warrant a new driver. The descriptor format is (just like the ixgbe driver) different. The device can use multiple MSI-X vectors and multiple queues for both send and receive. This allows us to optimize some of the driver code specifically as well compared to the e1000-supported devices. This version of the igb driver no lnger uses fake netdevices and incorporates napi_struct members for each ring to do the multi- queue polling. multi-queue is enabled by default and the driver supports NAPI mode only. All the namespace collisions should be gone in this version too. The register macro's have been condensed to improve readability. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit b491edd5817f1618f4e06d67638739591a714bdb Author: Al Viro Date: Sat Dec 22 19:44:51 2007 +0000 bnx2 annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit f305f789bb96ee6e35e71f58324b72abb7bd0b13 Author: Al Viro Date: Sat Dec 22 19:44:00 2007 +0000 annotate netxen Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 66341fffd4e5e546906ebcfeb6f5cce8df802c17 Author: Al Viro Date: Sat Dec 22 18:56:43 2007 +0000 annotate myri10ge Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 05e5c1165393a2d6044b01288f089d2e74a49d58 Author: Al Viro Date: Sat Dec 22 18:56:23 2007 +0000 annotate cxgb3 Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit ac390c60a833192e87fb09ed8d67f5d1a84306c8 Author: Al Viro Date: Sat Dec 22 18:56:33 2007 +0000 annotate chelsio Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 61cf46ad581ba43073d3bcb0be549eb60fbbf9f8 Author: YOSHIFUJI Hideaki Date: Tue Jan 22 17:32:53 2008 +0900 [IPV6] NDISC: Sparse: Use different variable name for local use. Fix the following sparse warnings: | net/ipv6/ndisc.c:1300:21: warning: symbol 'opt' shadows an earlier one | net/ipv6/ndisc.c:1078:7: originally declared here Signed-off-by: YOSHIFUJI Hideaki commit 5d5619b40c2474de01c64bdf6bb9f1211d3e967a Author: YOSHIFUJI Hideaki Date: Tue Jan 22 17:29:40 2008 +0900 [IPV6] ADDRCONF: Sparse: Make inet6_dump_addr() code paths more straight-forward. Fix the following sparse warning: | net/ipv6/addrconf.c:3384:2: warning: context imbalance in 'inet6_dump_addr' - different lock contexts for basic block Signed-off-by: YOSHIFUJI Hideaki commit 2334ecbdb27bd1745c0fc6d05cce09ed9585e4c1 Author: YOSHIFUJI Hideaki Date: Tue Jan 22 17:18:38 2008 +0900 [IPV6]: Sparse: Declare non-static ipv6_{route,icmp,frag}_sysctl_init() in header. Fix the following sparse warnings: | net/ipv6/route.c:2491:18: warning: symbol 'ipv6_route_sysctl_init' was not declared. Should it be static? | net/ipv6/icmp.c:922:18: warning: symbol 'ipv6_icmp_sysctl_init' was not declared. Should it be static? | net/ipv6/reassembly.c:628:6: warning: symbol 'ipv6_frag_sysctl_init' was not declared. Should it be static? Signed-off-by: YOSHIFUJI Hideaki commit 40fee36e11b49f92bc7c385bd45d7805c0127a34 Author: YOSHIFUJI Hideaki Date: Tue Jan 22 17:12:50 2008 +0900 [IPV6] ADDRLABEL: Sparse: Make several functions static. Fix following sparse warnings: | net/ipv6/addrlabel.c:172:25: warning: symbol 'ip6addrlbl_alloc' was not declared. Should it be static? | net/ipv6/addrlabel.c:219:5: warning: symbol '__ip6addrlbl_add' was not declared. Should it be static? | net/ipv6/addrlabel.c:260:5: warning: symbol 'ip6addrlbl_add' was not declared. Should it be static? | net/ipv6/addrlabel.c:285:5: warning: symbol '__ip6addrlbl_del' was not declared. Should it be static? | net/ipv6/addrlabel.c:311:5: warning: symbol 'ip6addrlbl_del' was not declared. Should it be static? Signed-off-by: YOSHIFUJI Hideaki commit 5e8b9df6e8786e4d5ee5ac951240cb2eaaac3014 Author: YOSHIFUJI Hideaki Date: Tue Jan 22 17:25:46 2008 +0900 [IPV6] UDPLITE: Sparse: Declare non-static symbols in header. Fix the following sparse warnings: | net/ipv6/udplite.c:45:14: warning: symbol 'udplitev6_prot' was not declared. Should it be static? | net/ipv6/udplite.c:80:12: warning: symbol 'udplitev6_init' was not declared. Should it be static? | net/ipv6/udplite.c:99:6: warning: symbol 'udplitev6_exit' was not declared. Should it be static? Signed-off-by: YOSHIFUJI Hideaki commit 77d0d350e96c9453be255d8eff8dc97555710b17 Author: YOSHIFUJI Hideaki Date: Tue Jan 22 17:09:55 2008 +0900 [IPV6] UDP,UDPLITE: Sparse: {__udp6_lib,udp,udplite}_err() are of void. Fix following sparse warnings: | net/ipv6/udp.c:262:2: warning: returning void-valued expression | net/ipv6/udplite.c:29:2: warning: returning void-valued expression Signed-off-by: YOSHIFUJI Hideaki commit fc80be87dca8968fa087aae81544ba3f86afdd50 Author: YOSHIFUJI Hideaki Date: Tue Jan 22 17:05:31 2008 +0900 [IPV4] UDP,UDPLITE: Sparse: {__udp4_lib,udp,udplite}_err() are of void. Fix following sparse warnings: | net/ipv4/udp.c:421:2: warning: returning void-valued expression | net/ipv4/udplite.c:38:2: warning: returning void-valued expression Signed-off-by: YOSHIFUJI Hideaki commit 583c28e5645c464b57b4f5d3d53113c06bb0ac5f Author: Michael Chan Date: Mon Jan 21 19:51:35 2008 -0800 [BNX2]: Fix driver phy_flags name space. Prefix "bp->phy_flags" names with BNX2_PHY_FLAG_* for consistency. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ecfdc8c5424079393a9b05e8a5aaf5c6873029f6 Author: Denis V. Lunev Date: Mon Jan 21 17:35:06 2008 -0800 [NETNS]: Pass correct namespace in ip_rt_get_source. ip_rt_get_source is the infamous place for which dst_ifdown kludges have been implemented. This means that rt->u.dst.dev can be safely dereferrenced obtain nd_net. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 84a885f44961c17a91cae9a9c03e4b3dae5d8d94 Author: Denis V. Lunev Date: Mon Jan 21 17:34:35 2008 -0800 [NETNS]: Pass correct namespace in ip_route_input_slow. The packet on the input path always has a referrence to an input network device it is passed from. Extract network namespace from it. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 86167a377f1c4fb40742302ae7682dd574abde86 Author: Denis V. Lunev Date: Mon Jan 21 17:34:00 2008 -0800 [NETNS]: Pass correct namespace in context fib_check_nh. Correct network namespace is already used in fib_check_nh. Re-work its usage for better readability and pass into fib_lookup & inetdev_by_index. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 5b707aaae4ca7b7204eb4a472721c84866d85f0f Author: Denis V. Lunev Date: Mon Jan 21 17:33:15 2008 -0800 [NETNS]: Pass correct namespace in fib_validate_source. Correct network namespace is available inside fib_validate_source. It can be obtained from the device passed in. The device is not NULL as in_device is obtained from it just above. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7fee0ca23711ce1a6b13d3ab78915809a72a59ec Author: Denis V. Lunev Date: Mon Jan 21 17:32:38 2008 -0800 [NETNS]: Add netns parameter to inetdev_by_index. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit da0e28cb68a7e22b47c6ae1a5b12cb538c13c69f Author: Denis V. Lunev Date: Mon Jan 21 17:31:55 2008 -0800 [NETNS]: Add netns parameter to fib_lookup. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit ba93ef746560df597b19bbcee04ce7ed70ebc700 Author: Stephen Hemminger Date: Mon Jan 21 17:28:59 2008 -0800 [IPV4]: ipmr sparse warnings Get rid of some of the sparse warnings. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dd329bfa96dd9dabfc3b5154317bf5fbe9440455 Author: Stephen Hemminger Date: Mon Jan 21 17:28:31 2008 -0800 [IPV4]: igmp sparse warnings Partial sparse warning fix. The other conditional locking is too much for sparse to handle. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1402c8519acba215f5a6101b9e5ada07ab371273 Author: Stephen Hemminger Date: Mon Jan 21 17:27:44 2008 -0800 [VLAN]: sparse warning fix Minor sparse warning fix. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f86e82fb547efe05457391df069cce7ab530b181 Author: David S. Miller Date: Mon Jan 21 17:15:40 2008 -0800 [BNX2]: Fix driver software flag namespace. Prefix "bnx2->flags" names with BNX2_* for consistency. Signed-off-by: David S. Miller commit feebb33183cee0fdf8e8a9c4f0da3231f0cfa2bb Author: Michael Chan Date: Mon Jan 21 17:07:29 2008 -0800 [BNX2] Update version to 1.7.2. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b2fadeae1334008c1bb4d87bc507141cb7aaf0e8 Author: Michael Chan Date: Mon Jan 21 17:07:06 2008 -0800 [BNX2]: Add link-down workaround on 5706 serdes. In some blade systems using the 5706 serdes, the hardware sometimes does not properly generate link down interrupts. We add a workaround in the driver's timer to force a link-down when some PHY registers report loss of SYNC. The parallel detect logic is cleaned up slightly to better integrate the workaround. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 1097f5e92107ca3950fabf5e1d724faa80c91e7f Author: Michael Chan Date: Mon Jan 21 17:06:41 2008 -0800 [BNX2]: Fix minor bug in bnx2_has_work(). It is more correct to get the status block from the bnx2_napi struct instead of the bnx2 struct. It happens that they are the same in this case because we are using the first MSIX vector. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 2dd201d7b735f252df1a915a3f2e6a71910a3d87 Author: Michael Chan Date: Mon Jan 21 17:06:09 2008 -0800 [BNX2]: Disable jumbo rx paging on 5709 Ax. The chip has problem running in this mode and needs to be disabled. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 819d772b0ceddebb5b4907d5aa5505c99aec985b Author: John W. Linville Date: Thu Jan 17 16:57:10 2008 -0500 b43/nphy.c: include headers to avoid build breakage on some platforms Signed-off-by: John W. Linville commit 73738001ac8fb1d006157e9ce89458a135c7571f Author: Andrew Morton Date: Wed Jan 16 02:58:24 2008 -0800 drivers/net/wireless/rt2x00/rt2x00usb.c: fix uninitialized var warning Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit d2594d07abdbf49f9bd3df7e02708716de0f59e9 Author: Andrew Morton Date: Wed Jan 16 02:56:33 2008 -0800 drivers/net/wireless/iwlwifi/iwl-3945.c: fix printk warning drivers/net/wireless/iwlwifi/iwl-3945.c: In function 'iwl3945_add_radiotap': drivers/net/wireless/iwlwifi/iwl-3945.c:269: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 222b01b7fef6e7ebea9e76ce08a783571569797b Author: Stefano Brivio Date: Sun Jan 13 18:35:52 2008 +0100 b43legacy: fix use-after-free rfkill bug Fix rfkill code which caused a use-after-free bug. Thanks to David Woodhouse for spotting this out. Cc: David Woodhouse Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 66dcb6bdc57a799a16e8d2942b9ab38b8546eb3b Author: Ron Rindjunsky Date: Sun Jan 13 18:25:43 2008 +0200 mac80211: A-MPDU Rx remove stop_rx_ba_session warning print This patch removes a warning print from ieee80211_sta_stop_rx_ba_session in case the tid is inactive when interface goes down. Signed-off-by: Ron Rindjunsky Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 5b3d71d90ec554a2b145db7fcb245e64bf28dda7 Author: Ron Rindjunsky Date: Sun Jan 13 18:21:58 2008 +0200 mac80211: A-MPDU Rx stop aggregation on proper dev This patch adds a check to insure that Rx A-MPDU will be stopped only for the proper device. Signed-off-by: Ron Rindjunsky Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 0f7054e32fab251af5cab116da0ef6624a1a0c8b Author: Ivo van Doorn Date: Sun Jan 13 14:16:47 2008 +0100 mac80211: Initialize vif pointer Before calling update_beacon() mac80211 must initialize the control.vif pointer so it can be used by the driver to determine which interface is trying to send the beacon. v2: ieee80211_beacon_get() should also initialize the vif pointer since it can be called by mac80211 internally before calling config_interface(). Signed-off-by: Ivo van Doorn Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 61d30020dc2c49d36d95f3efb8b5ed727e459087 Author: Holger Schurig Date: Wed Jan 16 15:59:52 2008 +0100 libertas: pepper main with debug statement libertas: re-pepper debug statementThe recent fluff of updates didn't put proper lbs_deb_enter/leave calls into the source code. Add them where appropriate. Also contains some whitespace changes. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit c9d1be36197bf638be68cec6685c68e462273b65 Author: Holger Schurig Date: Wed Jan 16 15:57:44 2008 +0100 libertas: don't blindly try mesh The CF card only has a very old firmware (5.0.16p0). This firmware doesn't know anything about mesh config. However, current code blindly calls mesh_config when the card is inserted. So check the firmware version before issuing this command. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit dac10a9f286c75cffa75c7ec8b05d566a6ece95e Author: Holger Schurig Date: Wed Jan 16 15:55:22 2008 +0100 libertas: always show firmware release Always shows the firmware release. Also converts the firmware release into something that is easily comparable. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 4365929d176b47a78d10aca0d1dee2afdfcbe4f2 Author: Holger Schurig Date: Wed Jan 16 15:52:58 2008 +0100 libertas: move cardspecific data to driver boot2_version is purely USB specific, so move it to struct if_usb_card. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit ae3e0fcf901e4b7df87aef7ab39093e142a8de8b Author: Holger Schurig Date: Wed Jan 16 15:48:44 2008 +0100 libertas cs/sdio: fix 'NOHZ: local_softirq_pending 08' message netif_rx should be called only from interrupt context. if_cs and if_sdio receive packets from other contexts, and thus should call netif_rx_ni. Signed-off-by: Marc Pignat Acked-by: Holger Schurig Signed-off-by: John W. Linville commit 8ac919be0520b22d106b1d5f3e8f9b5c142089eb Author: Michael Buesch Date: Wed Jan 16 02:14:23 2008 +0100 b43: Add lots of N-PHY lookup tables This adds lots of N-PHY related lookup tables. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 8a1b02452862dd30980ad0ef493eed687bc81474 Author: Reinette Chatre Date: Mon Jan 14 17:46:25 2008 -0800 iwlwifi: style fixes to usage of << and >> operators The << and >> operators need space on each side. Cc: Stefano Brivio Signed-off-by: Reinette Chatre Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit e7a2827cbbdb11717877c44cbbdf0fb1d14e890c Author: Reinette Chatre Date: Mon Jan 14 17:46:24 2008 -0800 iwlwifi: remove reference to non-existent documentation The external iwlwifi driver comes with a README file that is referenced by the Kconfig. This README is not present in the driver included in the kernel. Remove references to this documentation. Signed-off-by: Reinette Chatre Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 71972664a4a2e149a1e2ae75ed90cf70ce5af6c2 Author: Zhu Yi Date: Mon Jan 14 17:46:23 2008 -0800 iwlwifi: Update iwlwifi version stamp to 1.2.23 Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fa254a68076bf7ae21747fe2cdb15db306938d78 Author: Tomas Winkler Date: Sun Jan 27 20:41:38 2008 -0800 iwlwifi: 3954 renames iwl3945_rate_scale_priv to iwl3945_rs_sta This patch renames iwl3945_rate_scale_priv to iwl3945_rs_sta as it better represents the purpose of this variable. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c33104f0a782a7746e5d3b975288a4fb3b8293ed Author: Tomas Winkler Date: Mon Jan 14 17:46:21 2008 -0800 iwlwifi: 4965 unify rate scale variable names for station data 1, This patch renames iwl4965_rate_scale_priv to iwl4965_lq_sta. This type represents a station's link quality. 2. The names of the variables of this type were rs_priv, lq_data, lq, crl across the file. All are now unified under the name lq_sta. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 98c92211462bb78fe0e869b43e1662e549e35fed Author: Tomas Winkler Date: Mon Jan 14 17:46:20 2008 -0800 iwlwifi: move uCode helper functions to iwl-helpers.h This patch adds iwl_free_fw_desc ucode helper function. It also moves ucode helper functions to iwl-helpers.h. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e655b9f03f41c7a84fb74d6619abf844d7f2ab65 Author: Zhu Yi Date: Thu Jan 24 02:19:38 2008 -0800 iwlwifi: fix problem when rf_killswitch change during suspend/resume After we delay device initialization until interface up, there are more conditions for the hardware rf_kill switch states during suspend and resume. For example, before suspend we can have interface up or down, rf_kill enable or disable; before resume we can have rf_kill enable or disable. So there are totally 2^3 = 8 conditions to handle. This patch addressed this problem and makes sure every condition works correctly. This patch also merges the device suspend and resume handlers with the mac_start and mac_stop code since they are basically doing the same thing. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 5a66926aa9230810704fd5a127966215fd58881e Author: Zhu Yi Date: Mon Jan 14 17:46:18 2008 -0800 iwlwifi: delay firmware loading from pci_probe to network interface open This patch moves the firmware loading (read firmware from disk and load it into the device SRAM) from pci_probe time to the first network interface open time. There are two reasons for doing this: 1. To support kernel buildin iwlwifi drivers. Because kernel initializes network devices subsystem before hard disk and SATA subsystem, it is impossible to get the firmware image from hard disk in the PCI probe handler. Thus delaying the firmware loading into the network interface open time is the way to go. Note, we only read the firmware image from hard disk the first time the interface is open. After this is succeeded, we cache the firmware image into the host memory. This is a performance gain when user open and close the interface multiple times and is necessary for device suspend and resume. 2. For better power saving. When the iwlwifi modules are loaded (or buildin the kernel) but the wireless network interface is not being used, it is a good practice the wireless device consumes as less power as possible. Unloading the firmware from the wireless device and unregister the driver's interrupt handler in the network interface close handler provides users a way to achieve this. User space network configuration tools (i.e NetworkManager) can also contribute here when it detects a wired cable is connected and close the wireless interface automatically. This patch also includes the pci_save/restore_state() fixed by Ian Schram upon the first version. Signed-off-by: Zhu Yi Signed-off-by: Ian Schram Signed-off-by: John W. Linville commit 3058f02137359efb412975cf94a9fa7c25413387 Author: Ben Cahill Date: Mon Jan 14 17:46:17 2008 -0800 iwlwifi: document scan command Document scan command. Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 87e4f7dfe56dbaa5470e047d991c077f8e479d21 Author: Tomas Winkler Date: Mon Jan 14 17:46:16 2008 -0800 iwlwifi: remove iwl4965_tx_cmd This patch removes iwl4965_tx_cmd function and splits its content to iwl4965_hw_build_tx_cmd_rate, iwl4965_build_tx_cmd_basic, and iwl4965_tl_get_stats function. The latest one will be deprecated when traffic load will move to rate scale module. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6a218f6f3b1679c3f12c487131f0be5b2841bfbe Author: Tomas Winkler Date: Mon Jan 14 17:46:15 2008 -0800 iwlwifi: move iwl4965_get_dma_hi_address function to iwl-helpers.h This patch moves iwl4965_get_dma_hi_address function to iwl-headers.h as iwl_get_dma_hi_address. This function will be used in more chipsets than only 4965. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 440d42c30cb86eb1b6dbc0d84b9b52e2476fa5e3 Author: Tomas Winkler Date: Mon Jan 14 17:46:14 2008 -0800 iwl4965: Remove redundant code in iwl4965_tx_cmd This function removes redundant code in iwl4965_tx_cmd function, leftovers of previous design. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d15913140645d9c23e8b0a9a0bb307ca889688d3 Author: Michael Buesch Date: Mon Jan 14 00:05:57 2008 +0100 b43: Add NPHY channel switch code This adds code and table data for channel switching on NPHYs. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 53a6e2342d73d509318836e320f70cd286acd69c Author: Michael Buesch Date: Sun Jan 13 21:23:44 2008 +0100 b43: Add NPHY radio init code This adds some code to init the 2055 radio. This patch adds two files "tables_nphy.h" and "tables_nphy.c" Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit af4b7450788426a113057ce2d85c25b4f4e440d1 Author: Michael Buesch Date: Sun Jan 13 21:08:24 2008 +0100 ssb: Add boardflags_hi field to the sprom data structure Add boardflags-high. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 60168f12b9d3fa1a81c774ecaffe8620a862323d Author: Michael Buesch Date: Sun Jan 13 16:41:23 2008 +0100 b43: Add Broadcom 2055 radio register definitions Add the register definitions for the Broadcom 2055 N-radio. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 60da481b98082ff5ffd233b18683c3ffe3ab618c Author: Helge Deller Date: Sun Jan 13 15:16:34 2008 +0100 WAVELAN - compile-time check for struct sizes Convert optional struct size checks to non-optional compile-time checks. Furthermore BUILD_BUG_ON() which will be optimized away by the compiler. Signed-off-by: Helge Deller Signed-off-by: John W. Linville commit eb189d8bc9824bcb2187ffdab27d77ab469264c3 Author: Michael Buesch Date: Mon Jan 28 14:47:41 2008 -0800 b43: Add support for new firmware This patch adds support for new firmware. Old firmware is still supported until July 2008. To get new firmware, go to ftp://ftp.linksys.com/opensourcecode/wrt150nv11/1.51.3/ and download the tarball. We don't have a smaller tarball, yet. That will be fixed later. You can extract firmware out of the "wl_ap.o" file contained in this tarball using latest fwcutter. You must pass the option --unsupported to fwcutter. Fwcutter-010 with official support for a new firmware image will be released soon. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 243dcfcc1d4b33aa610f1bf3ec610dafdf4d7ff7 Author: Michael Buesch Date: Sun Jan 13 14:12:44 2008 +0100 b43: Fix radio ID register reading This fixes reading of the high 16 bits of the radio ID on new devices. 2055 radios want lo16 to be read first. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 89539ebe2f2eb3a0d77b92884b092f2eb2575bd9 Author: Ivo van Doorn Date: Thu Jan 10 22:40:13 2008 +0100 rt2x00: Fix queue_idx initialization For TX rings the queue_idx should start at IEEE80211_TX_QUEUE_DATA0 and for each followup ring this index needs to be increased. For the RX ring the queue_idx should be set to 0. We don't need to initialize the tx_params. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 40561b8426c27f187e2ae496ed603e7c4e3ab818 Author: Ivo van Doorn Date: Thu Jan 10 22:02:44 2008 +0100 rt2x00: Data and desc pointer initialization rt2500usb and rt73usb data and desc pointer initialization was incorrect because it was using uninitialized variables to determine the length. In addition rt2500usb used skb_pull and removed the ieee80211 from each received frame instead of using skb_trim to remove the device descriptor from the frame. Finally this also fixes the descriptor override when 4 byte aligning occured. We still need a completely valid descriptor when using the TX/RX dumping capabilities in debugfs. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dd0d43ea0bbd4c4554b13d4a5d282f9c4d1b5591 Author: Michael Buesch Date: Mon Jan 7 12:55:14 2008 +0100 b43: Add N-PHY related initvals firmware filenames. This adds the initval filenames for the N-PHY firmware. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 47f76ca3a34cd6571a2de39da2926123ca39a4c1 Author: Michael Buesch Date: Thu Dec 27 22:15:11 2007 +0100 b43: Fix tim search buffer overrun Use the length of the variable section of the beacon instead of the whole beacon length for bounds checking. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 280d0e16bcbf5893505a0d0897f3ca1ddc0764fa Author: Michael Buesch Date: Wed Dec 26 18:26:17 2007 +0100 b43: Put multicast frames on the mcast queue This queues frames flagged as "send after DTIM" by mac80211 on the special multicast queue. The firmware will take care to send the packet after the DTIM. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit d4df6f1a9edb80c99913548467397617ccee7855 Author: Michael Buesch Date: Wed Dec 26 18:04:14 2007 +0100 b43: Fix template upload locking. This fixes the template upload locking. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e66fee6aa04b27b6b6f812af0e4123eded5bf8ac Author: Michael Buesch Date: Wed Dec 26 17:47:10 2007 +0100 b43: Fix upload of beacon packets to the hardware This fixes uploading of the beacon data and writing of the TIM and DTIM offsets. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 471b3efdfccc257591331724145f8ccf8b3217e1 Author: Johannes Berg Date: Fri Dec 28 14:32:58 2007 +0100 mac80211: add unified BSS configuration This patch (based on Ron Rindjunsky's) creates a framework for a unified way to pass BSS configuration to drivers that require the information, e.g. for implementing power save mode. This patch introduces new ieee80211_bss_conf structure that is passed to the driver via the new bss_info_changed() callback when the BSS configuration changes. This new BSS configuration infrastructure adds the following new features: * drivers are notified of their association AID * drivers are notified of association status and replaces the erp_ie_changed() callback. The patch also does the relevant driver updates for the latter change. Signed-off-by: Ron Rindjunsky Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2bc454b0b30b3645d114689b64321cb49be99923 Author: Michael Wu Date: Tue Dec 25 19:33:16 2007 -0500 mac80211: Fix rate reporting regression Mattias Nissler's "clean up rate selection" patch incorrectly changes the behavior of txrate setting in sta_info. This patch backs out parts of the rate selection consolidation in order to fix this issue for now. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 9ab461732a3cd8e7a7cf13cc46ed4c1ac7907824 Author: Ron Rindjunsky Date: Tue Dec 25 17:00:38 2007 +0200 iwlwifi: A-MPDU Rx flow enabled This patch enables the A-MPDU Rx flow. it contains several adjustments to new mac80211 A-MPDU Rx flow. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 132127e5057be70112bb974b8a3aaa0f7b14847f Author: Luis R. Rodriguez Date: Fri Jan 4 02:21:05 2008 -0500 ath5k: Fix frame duration oops This patch fixes an oops which was introduced as a regression by commit fd640775bd16e1df50c867cc547af0, on the patch titled, "mac80211: dont use interface indices in drivers". ieee80211_generic_frame_duration() now relies on sdata->flags which itself gets set upon bringing the interface up. We check for the virtual interface now before setting the rate duration registers. After the mode changes are introduced onto mac80211 we should revisit these changes. This patch was tested on the following cards: 1) BG card: Atheros AR5213A chip found (MAC: 0x59, PHY: 0x43) RF2112A 2GHz radio found (0x46) 2) ABG card: Atheros AR5213A chip found (MAC: 0x59,PHY: 0x43) RF5112A multiband radio found (0x36) Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4fd6931ebe24640bec72b91ba612325843a5e3cc Author: Johannes Berg Date: Wed Dec 19 02:03:35 2007 +0100 mac80211: implement cfg80211 station handling This implements station handling from userspace via cfg80211 in mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5dfdaf58d61f06a458529430c24b1191ea4d1a27 Author: Johannes Berg Date: Wed Dec 19 02:03:33 2007 +0100 mac80211: add beacon configuration via cfg80211 This patch implements the cfg80211 hooks for configuring beaconing on an access point interface in mac80211. While doing so, it fixes a number of races that could badly crash the machine when the beacon is changed while being requested by the driver. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 51fb61e76d952e6bc2fbdd9f0d38425fbab1cf31 Author: Johannes Berg Date: Wed Dec 19 01:31:27 2007 +0100 mac80211: move interface type to vif structure Drivers that support mixed AP/STA operation may well need to know the type of a virtual interface when iterating over them. The easiest way to support that is to move the interface type variable into the vif structure. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 32bfd35d4b63bd63de4bb0d791ef049c3c868726 Author: Johannes Berg Date: Wed Dec 19 01:31:26 2007 +0100 mac80211: dont use interface indices in drivers This patch gets rid of the if_id stuff where possible in favour of a new per-virtual-interface structure "struct ieee80211_vif". This structure is located at the end of the per-interface structure and contains a variable length driver-use data area. This has two advantages: * removes the need to look up interfaces by if_id, this is better for working with network namespaces and performance * allows drivers to store and retrieve per-interface data without having to allocate own lists/hash tables Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f653211197f3841f383fa9757ef8ce182c6cf627 Author: Michael Wu Date: Sun Oct 14 14:43:16 2007 -0400 Add rtl8180 wireless driver This patch adds a mac80211 based wireless driver for the rtl8180 and rtl8185 PCI wireless cards. Also included are some rtl8187 changes required due to the relationship between that driver and this one. Michael Wu is primarily responsible for the initial driver and rtl8185 support. Andreas Merello provided the additional rtl8180 support. Thanks to Jukka Ruohonen for the donating a rtl8185 card! It was very helpful for the rtl8225z2 code. The Signed-off-by information below is collected from the individual patches submitted to wireless-2.6 before merging this driver upstream. Signed-off-by: Andrea Merello Signed-off-by: Johannes Berg Signed-off-by: Pavel Roskin Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit fa1c114fdaa605496045e56c42d0c8aa4c139e57 Author: Jiri Slaby Date: Sun Aug 12 17:33:16 2007 +0200 [PATCH] Net: add ath5k wireless driver add ath5k wireless driver Portions of this driver are covered by one or both of the ISC and 3-clause BSD licenses. Specific license information is cited at the top of each file. Acked-by and Signed-off-by information is collected from individual patches as collected in the wireless-2.6 tree prior to upstream submission. Acked-by: Matthew W. S. Bell Acked-by: Michael Taylor Acked-by: Pavel Roskin Signed-off-by: Andrew Morton Signed-off-by: Bradley M. Kuhn Signed-off-by: Bruno Randolf Signed-off-by: Dave Young Signed-off-by: Francesco Gringoli Signed-off-by: Jiri Slaby Signed-off-by: Johannes Berg Signed-off-by: Karen Sandler Signed-off-by: Krzysztof Halasa Signed-off-by: Luis R. Rodriguez Signed-off-by: Matt Norwood Signed-off-by: Nick Kossifidis Signed-off-by: Richard Fontana Signed-off-by: Stephen Hemminger Signed-off-by: Ulrich Meis Signed-off-by: John W. Linville commit 3543f8069d3cc932202e64095d1d3986a10d34ed Author: John W. Linville Date: Thu Jan 10 13:28:49 2008 -0500 b43: finish removal of pio support As suggested in "b43: Remove PIO support"... Signed-off-by: John W. Linville commit 17f65f814fc6144e61b5d19f8e0627cd781486c2 Author: Pavel Roskin Date: Wed Jan 9 22:16:58 2008 -0500 hostap_cs: don't match revisions in presense of the MAC chip name If the third PCMCIA ID string specifies the MAC chip, the fourth ID string doesn't need to be matched. Even if it's different, it will be compatible with the driver. This ensures that other different revisions of the card will be supported. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit f31800d8b79bc42e495070aa6e6425841b7bdcbf Author: Michael Buesch Date: Wed Jan 9 19:08:49 2008 +0100 b43: Remove the PHY spinlock This fixes a sparse warning about weird locking. The spinlock is not needed, so simply remove it. This also adds some sanity checks to the PHY and radio locking to protect against recursive locking. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 5250703e3144e50fbeceb4d1fc01ea2fd159fd4a Author: Michael Buesch Date: Wed Jan 9 18:39:09 2008 +0100 b43: Fix PHY register routing This fixes the PHY routing bit handling. This is needed for N-PHY. No functional change to A-PHY and G-PHY code. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 424047e6c684bef2872bd7af7d0e3961c6503981 Author: Michael Buesch Date: Wed Jan 9 16:13:56 2008 +0100 b43: Add N-PHY register definitions This patch adds all register definitions for the N-PHY. This adds two new files: nphy.h and nphy.c No functional changes to existing code. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9081728b5f08f8137973c70e172c47ccb0dd33c9 Author: Michael Buesch Date: Sat Dec 29 17:24:23 2007 +0100 zd1211rw: fix alignment for QOS and WDS frames This patch fixes RX packet alignment issues in the zd1211rw driver. This is based on a patch by Johannes Berg. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 01c20986cb2c2aa9c66603e9be14be5ebae99aca Author: Miguel Botón Date: Fri Jan 4 23:34:35 2008 +0100 iwlwifi: fix compilation warning in 'iwl-4965.c' This patch fixes a compilation warning in 'iwl-4965.c'. "warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long unsigned int’" Signed-off-by: Miguel Botón commit 93d2334f3773c0d4e8dfafdb394f73bb1bdf0cc9 Author: Ivo van Doorn Date: Sun Jan 6 23:42:21 2008 +0100 rt2x00: Release rt2x00 2.0.14 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7d1de80644dad9cd6db6e00984bd12d6cae63855 Author: Ivo van Doorn Date: Sun Jan 6 23:42:04 2008 +0100 rt2x00: Correctly initialize data and desc pointer rt2500usb and rt73usb store the descriptor in different places. This means we should move the initialization of the 2 pointers to the driver callback function fill_rxdone(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 837e7f247a8ed3f5577462655f8099a81b360422 Author: Ivo van Doorn Date: Sun Jan 6 23:41:45 2008 +0100 rt2x00: Move init_txring and init_rxring into rt2x00lib Prior to enabling the radio rt2x00lib should go through all rings and for each entry should call the callback function init_txentry() and init_rxentry(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7e56d38d5d0bda89228821902af297a46b5fdb80 Author: Ivo van Doorn Date: Sun Jan 6 23:41:28 2008 +0100 rt2x00: Determine MY_BSS from descriptor Use the MY_BSS descriptor field to determine if the received frame belongs to the same BSS as the interface. This can be used by rxdone to determine if the frame should be updated or not. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dd3193e1c25ffbc66b684edb52273ae10695909d Author: Ivo van Doorn Date: Sun Jan 6 23:41:10 2008 +0100 rt2x00: Cleanup write_tx_desc() arguments Send the skb structure with write_tx_desc() and use the skbdesc structure to read all information about the frame. This saves several arguments in the function definition and it is easier to send more information later as well. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3c4f2085e5d82639004406795653e1e4dd6720e0 Author: Ivo van Doorn Date: Sun Jan 6 23:40:49 2008 +0100 rt2x00: Move packet filter flags The packet filter flags don't belong in the interface structure because they are device based instead of interface based. So move the filter fields out of struct interface and into rt2x00_dev. Additionally we shouldn't change the filter based on the working mode, if such a thing is needed than mac80211 should have done that. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e37ea2135be080dd25f1a2644c9132c109fa77d1 Author: Ivo van Doorn Date: Sun Jan 6 23:40:07 2008 +0100 rt2x00: Move start() and stop() handlers into rt2x00lib.c suspend & resume was broken since it called rt2x00mac_start() and rt2x00mac_stop() which would fail to execute because the DEVICE_PRESENT flag was not set. Move the start and stop handlers into rt2x00lib.c which are called from rt2x00mac_start() and rt2x00mac_stop() after they have checked the DEVICE_PRESENT flag, while suspend and resume handlers can directly call those functions. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 042671040db95a896c5ca960b9b656692a787892 Author: Ivo van Doorn Date: Sun Jan 6 23:39:25 2008 +0100 rt2x00: Store queue idx and entry idx in data_ring and data_entry Store the queue idx inside structure data_ring Store the entry idx inside structure data_entry This saves us a few calls to ARRAY_INDEX() which is now unused. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3867705bb773818b39e0ca8d02ccb71fb4d2ffb8 Author: Ivo van Doorn Date: Sun Jan 6 23:38:58 2008 +0100 rt2x00: Only set the TBCN flag when the interface is configured to send beacons. These flags used to be fixed to one in rt2500pci_config_type, which caused the beacon timer interrupt to fire. This would lead to rt2x00lib_beacondone adding work which called rt2x00lib_beacondone_scheduled which called ieee80211_beacon_get which printed an error about not having any beacon data. With this patch, these interrupts are only generated when the interface is configured to send beacons. Signed-off-by: Matthijs Kooijman Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1230cb83f46731ca4eaa57c480788ed3c9d05935 Author: Ivo van Doorn Date: Sun Jan 6 23:38:34 2008 +0100 rt2x00: Always call ieee80211_stop_queue() when return NETDEV_TX_BUSY Apparently it was possible that ieee80211_stop_queue() was not full while NETDEV_TX_BUSY was being reported back. I think that is what causing the WARN_ON(). This moves all calls to ieee80211_stop_queue() in rt2x00mac.c where it is easier to determine if the queue should be halted. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3e34c6dcb36bbd5294cae2654c32e24b9787da3a Author: Ivo van Doorn Date: Sun Jan 6 23:38:10 2008 +0100 rt2x00: Fix chipset debugfs file Initialize blob->data before moving the data pointer Initialize blob->size based on blob->data size This fixes the empty chipset file in debugfs. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 96c755a3923748313851da42018c962f5609942f Author: Michael Buesch Date: Sun Jan 6 00:09:46 2008 +0100 b43: Fix any N-PHY related WARN_ON() in the attach stage. This fixes all WARN_ON()s in the attach stage. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit d5c71e464170e823b5ae5fe7b3555f3c31694148 Author: Michael Buesch Date: Fri Jan 4 17:06:29 2008 +0100 b43: Add NPHY kconfig option This adds a new Kconfig option for enabling probing of N-PHYs. This option will be removed again once the stuff works. For now it is to help in development. This way real users won't execute the broken N-PHY codepaths, but the developers can easily enable N-PHY stuff. To enable N-PHY probing simply remove the BROKEN dependency and enable the option in the kernel config. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit ca08a965a6c251f9c9002c1a7a0316e63d4c28ec Author: Michael Buesch Date: Thu Jan 3 19:03:09 2008 +0100 b43-ssb-bridge: Add PCI ID for BCM43XG This adds the PCI ID 0x4329 for the BCM43XG. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit fedb0eefe286a6409aa2c6c6f2353c595e68d33d Author: Miguel Botón Date: Tue Jan 1 01:17:54 2008 +0100 b44: power down PHY when interface down This is just this patch (http://lkml.org/lkml/2007/7/1/51) but adapted to the 'b44' ssb driver. Signed-off-by: Miguel Botón Signed-off-by: John W. Linville commit 961d57c883198831503c7be5c088a26101dfb16c Author: Miguel Botón Date: Tue Jan 1 01:16:46 2008 +0100 ssb: add 'ssb_pcihost_set_power_state' function This patch adds the 'ssb_pcihost_set_power_state' function. This function allows us to set the power state of a PCI device (for example b44 ethernet device). Signed-off-by: Miguel Botón Signed-off-by: John W. Linville commit aa6c7ae21d079f25420e436092e5461001ec29d7 Author: Michael Buesch Date: Wed Dec 26 16:26:36 2007 +0100 b43: Add definitions for MAC Control register This adds some definitions for the MAC Control register and uses them. This basically is no functional change. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 03b29773b613f10d2f97dbf0983f1c4c58507967 Author: Michael Buesch Date: Wed Dec 26 14:41:30 2007 +0100 b43: Remove PIO support Remove b43 PIO support. DMA works well on all supported devices. There's no reason to use PIO. Additionally, new devices don't support PIO in hardware anymore. b43 PIO support is dead and unused code. After applying this patch please do git rm drivers/net/wireless/b43/pio.h git rm drivers/net/wireless/b43/pio.c to remove the main PIO support code. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 993e1c780b323736a2cdc24564f35e80ce8d3337 Author: Michael Buesch Date: Sat Dec 22 22:01:36 2007 +0100 ssb: Fix PCMCIA lowlevel register access This fixes lowlevel register access for PCMCIA based devices. The patch also adds a temporary workaround for the device mac address. It simply adds generation of a random address. The real SPROM extraction will follow in another patch. The temporary workaround will be removed then, but for now it's OK. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit f3dd3fcc2c79b950801641075b33b86acc372d9b Author: Michael Buesch Date: Sat Dec 22 21:56:30 2007 +0100 b43: Fix chip access validation for new devices This fixes chip access validation for newer devices (4318 and up, I think) This patch fixes probing of a PCMCIA based 4318 device. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9db1f6d725921c413cc344beda5e7e7d011b02e7 Author: Michael Buesch Date: Sat Dec 22 21:54:20 2007 +0100 b43: Only select allowed TX and RX antennas This fixes antenna selection in b43. It adds a sanity check for the antenna numbers we get from mac80211. This patch depends on ssb: Fix extraction of values from SPROM Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e861b98d5e1be769ca6483b6df97149b956ea834 Author: Michael Buesch Date: Sat Dec 22 21:51:30 2007 +0100 ssb: Fix extraction of values from SPROM This fixes extraction of some values from the SPROM. It mainly fixes extraction of antenna related values, which is needed for another b43 fix sent later. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 66c6b139f77e8568f03611422967bfaa4c4a3bbd Author: Zhu Yi Date: Fri Jan 4 22:53:11 2008 -0800 iwlwifi: fix typo in 'drivers/net/wireless/iwlwifi/Kconfig' Based on a patch by Miguel. Signed-off-by: Zhu Yi Cc: Miguel Boton Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 27ae4d4328769021b95777e37873074c1da52f91 Author: Daniel Walker Date: Fri Dec 21 20:16:15 2007 -0800 prism54: remove questionable down_interruptible usage Reviewing the semaphore usage I noticed these down_interruptible calls. Most of these aren't returning anything, so a caller can't tell if the operation completed or not. prism54_wpa_bss_ie_get() returns zero, but it's treated as the function failing which doesn't seem correct. Signed-off-by: Daniel Walker Cc: Michael Wu Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 772353d84991ecd2eebc2e287c381cb1626f9209 Author: John W. Linville Date: Tue Jan 8 15:53:51 2008 -0500 Revert "rtl8187: fix tx power reading" This reverts commit e4128a54d790658ab265c915e5da9153ff74af97. On Sunday 02 December 2007 17:17:51 Michael Wu wrote: > CCK and OFDM power levels are stored in adjacent bytes, not nibbles. > This turns out to be true only for rtl8180. On rtl8187, power levels are indeed stored in nibbles, so this patch is wrong. Please revert this patch. Signed-off-by: John W. Linville commit 0e5ce1f33049a823f508f4a3f53ba186b12396b8 Author: Al Viro Date: Sat Dec 22 13:45:50 2007 -0500 misc wireless annotations Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 5b5e807fb8b56e31319fe8b27e1b072bb80862a8 Author: Al Viro Date: Thu Dec 27 01:54:06 2007 -0500 ipw2200: do not byteswap struct ipw_associate keep it little-endian, update places that use its members Signed-off-by: Al Viro Signed-off-by: John W. Linville commit e62e1ee02900bc315d7aeba55196a78f8f62f1c5 Author: Al Viro Date: Thu Dec 27 01:36:46 2007 -0500 ipw2200 trivial annotations Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 0569056e0d355f5b9a45c5b16a9b0b65718d077e Author: Al Viro Date: Sat Dec 22 14:29:07 2007 -0500 prism54 trivial annotations Signed-off-by: Al Viro Signed-off-by: John W. Linville commit cecefb8e97695eef420aab43938c26141ab25344 Author: Al Viro Date: Sat Dec 22 12:29:24 2007 -0500 bcm43xx annotations Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 8160c031491015299afacb95a1c1113ccbfefe54 Author: Al Viro Date: Fri Dec 21 22:02:23 2007 -0500 p54pci: endianness annotations and fixes ->ring_control_dma is dma_addr_t, needs conversion to little-endian before __raw_writel()... Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 184a3b2c517531faac80b0d74c423dd26038cfd2 Author: Al Viro Date: Fri Dec 21 03:40:35 2007 -0500 hostap: don't mess with mixed-endian even for internal skb queues Just leave hfa384x_info_frame as-is, don't convert in place. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 8a9faf3cd08b91aca1502dbe18e3b5063fda2e87 Author: Al Viro Date: Fri Dec 21 03:30:16 2007 -0500 hostap annotations Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 3eb9b41f2474c53fe469fbe383955d5aae9e76e4 Author: Al Viro Date: Fri Dec 21 00:00:35 2007 -0500 airo: last of endianness annotations sanitize handling of ConfigRid Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 329e2c0067d5a2da88aa844bf57b2aaba9fceb2f Author: Al Viro Date: Thu Dec 20 22:58:57 2007 -0500 airo: sanitize handling of StatusRid Signed-off-by: Al Viro Signed-off-by: John W. Linville commit a749716ecc85743f04f7117e3b373266b63edf7e Author: Al Viro Date: Thu Dec 20 17:49:41 2007 -0500 airo: sanitize APListRid handling Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 56d81bd3c76f3ac917a560c662a696aa5e29b980 Author: Al Viro Date: Thu Dec 20 17:18:35 2007 -0500 airo: sanitize handling of CapabilityRid Don't byteswap any fields, annotate. That has caught a bug, BTW - will be handled in the next patch. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit a23ace5f226aea6c8ba04794720502b1aad1dd92 Author: Al Viro Date: Wed Dec 19 22:24:16 2007 -0500 airo: sanitize handling of StatsRid Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 4293ea33c8a85c3b4401df5df82fc3e070ec0c8e Author: Al Viro Date: Wed Dec 19 19:21:51 2007 -0500 airo: sanitize handling of WepKeyRid don't byteswap, update users to match that, annotate. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 17e70491404c73012a7991a068ba62ec59bebdb2 Author: Al Viro Date: Wed Dec 19 18:56:37 2007 -0500 airo: sanitize BSSListRid handling Stop byteswap-in-place in readBSSListRid(), annotate the sucker. BTW, that had immediately found a bug - another codepath fetching the same struct from card did _not_ byteswap, but used ->dBm the same as everything else - host-endian. Fix in the next patch... Signed-off-by: Al Viro Signed-off-by: John W. Linville commit b8c06bc1f39a0311cb0f41099be03ee2b202aeae Author: Al Viro Date: Wed Dec 19 17:55:43 2007 -0500 bap_read()/bap_write() work with fixed-endian buffers Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 0dd2212fb6872d8f5dd90391a12fb3fcb877c7c1 Author: Al Viro Date: Mon Dec 17 16:11:57 2007 -0500 airo: sanitize handling of SSID_rid * store SSID_rid without conversions * sanitize proc_SSID_on_close() (and avoid access past the end of buffer, while we are at it) Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 593c2b9cf28355c6c409d71594bed797279d01f5 Author: Al Viro Date: Mon Dec 17 15:09:34 2007 -0500 airo: trivial endianness annotations Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 4958730e2b4e10d29aa80574a848308ed95f508f Author: Al Viro Date: Thu Dec 27 01:57:47 2007 -0500 ipw2200: ipw_tx_skb() endianness bug We'd just set tfd->u.data.chunk_len[i] to cpu_to_le16(remaining_bytes); passing it to pci_map_single() is a bad idea - it expects host-endian. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 472caf8c8a534367be8954dacf7c9e0317bb7e89 Author: Al Viro Date: Thu Dec 27 01:50:54 2007 -0500 ipw2200 fix: ->rt_chbitmask is le16 A couple of places forgot cpu_to_le16() in assignments to that field, even though right next to those in other branches of if-else we do it correctly. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 743b84d2fc87cc19ca1c1cd2a821225caba862b0 Author: Al Viro Date: Thu Dec 27 01:43:16 2007 -0500 ipw2200 fix: struct ieee80211_radiotap_header is little-endian some places in driver forget conversions Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 7698d6977a62bbc6ed3b9d0d0230f2213a3b2f9d Author: Al Viro Date: Sat Dec 29 04:55:50 2007 -0500 ray_cs fixes bugs galore: * 0xf380 instead of htons(ETH_P_AARP), etc. Works only on l-e. * back in 2.3.20 driver got readb() and friends instead of direct dereferencing of iomem. Somebody got too enthusiatic and replaced ntohs(p->mrx_overflow) with ntohs(read(&p->mrx_overflow) without noticing that (a) the sucker is 16bit and (b) that expression can't possibly be portable anyway (hell, on l-e it's always less than 256, on b-e it's always a multiple of 256). Proper fix is swab16(readw(&p->mrx_overflow) taking into account the conversion done by readw() itself. That crap happened in several places; the same fix applies. * untranslate() assumes little-endian almost everywhere, except for the code checking for IPX/AARP packets; there we forgot ntohs(), so that part only works on big-endian. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 1edd3a555304a266e76bbc6cbe04f446fdd7940b Author: Al Viro Date: Fri Dec 21 00:15:18 2007 -0500 ipw2100 annotations and fixes Signed-off-by: Al Viro Signed-off-by: John W. Linville commit dc73c623dd0a653bf80ec41870dcf8b601fc6e9b Author: Al Viro Date: Fri Dec 21 23:49:02 2007 -0500 p54common annotations and fixes * ->exp_id in bootrec_exp_if is __le16; missing conversion in its use * !(x & y) misspelled as !x & y Signed-off-by: Al Viro Signed-off-by: John W. Linville commit e0c0056c677709bd1e2c18b84a1d10e54f7c8fcc Author: Al Viro Date: Fri Dec 21 03:42:01 2007 -0500 hostap: fix endianness with txdesc->sw_support it's le32, not le16... Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 2ab1f519cbec0902cb86f1e29b10f2f00dd020c0 Author: Al Viro Date: Thu Dec 20 23:04:35 2007 -0500 airo: fix writerids() endianness in writerids() we do _not_ byteswap, so we want to access ->opmode as little-endian. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 15617858b3cf249a3577df8da970f779bbc8a737 Author: Al Viro Date: Thu Dec 20 17:21:36 2007 -0500 airo endianness bug: cap_rid.extSoftCap never had been byteswapped, used as host-endian... Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 0300b3321d9ed73a0c3f575f2df250c577852356 Author: Al Viro Date: Wed Dec 19 22:38:33 2007 -0500 airo: bug in airo_interrupt() handling on incoming 802.11 On big-endian we end up with swapped first two bytes in packet, due to earlier conversion to host-endian and forgotten conversion back. The code we calculated that host-endian for had been duplicated several time - it finds the 802.11 MAC header length by the first two bytes of packet; taken into a new helper (header_len(__le16 ctl)). Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 851b3e5e3de0feea7bfee634f99a940648de58c8 Author: Al Viro Date: Wed Dec 19 19:20:12 2007 -0500 airo: fix endianness bug in ->dBm handling airo_translate_scan() reads BSSListRid directly, does _not_ byteswap and uses ->dBm (__le16) as host-endian. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 977b143c13e685081625704ac356b741d71c6a73 Author: Al Viro Date: Wed Dec 19 16:45:29 2007 -0500 airo: fix transmit_802_11_packet() a) gaplen would better be stored little-endian b) for control packets (shorter than 24-byte header) we ended up with bap_write(ai, hdrlen == 30 ? (const u16*)&gap.gaplen : (const u16*)&gap, 38 - hdrlen, BAP1); passing to card the data past the end of gap (i.e. random stuff from stack) and did _not_ feed the gaplen at the right offset. c) sending the contents of uninitialized fields of struct is Not Nice(tm) either Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 8524f59d4735e1ff9c9dc3e09ebcc7bdb3b32b7b Author: Al Viro Date: Sat Dec 29 05:03:35 2007 -0500 ieee80211: beacon->capability is little-endian It's only a debugging printk, so it went unnoticed; still, the fix is trivial, so... Signed-off-by: Al Viro Signed-off-by: John W. Linville commit d9e94d5647ee6700773d81514a8ccb7dc6342fb4 Author: Al Viro Date: Sat Dec 29 05:01:07 2007 -0500 ieee80211: fix misannotations Signed-off-by: Al Viro Signed-off-by: John W. Linville commit c414e84b2200ca8a7e7ae565cad200e5c02e02ec Author: Al Viro Date: Sat Dec 29 04:58:39 2007 -0500 ieee80211softmac_auth_resp() fix The struct ieee8021_auth * passed to it comes straight from skb->data without any conversions; members of the struct are little-endian, so we'd better take that into account when doing switch by auth->algorithm, etc. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit b16f13d00c6f7e7317d3074f9bd07b5c9f313891 Author: Al Viro Date: Sat Dec 29 04:08:15 2007 -0500 several missing cpu_to_le16() in ieee80211softmac_capabilities() on some codepaths we forgot to convert to little-endian as we do on the rest of them and as the caller expects from us. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 8fffc15dc777ce3fe12ddc582d7c87a642591d3b Author: Al Viro Date: Thu Dec 27 01:25:40 2007 -0500 eliminate byteswapping in struct ieee80211_qos_parameters Make it match the on-the-wire endianness, eliminate byteswapping. The only driver that used this sucker (ipw2200) updated. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit c0ddd04d55e0a4d1506b6b8a4eb9e2b62f3aa41d Author: John W. Linville Date: Mon Jan 21 13:41:18 2008 -0500 wireless: cleanup some merge errors Signed-off-by: John W. Linville commit 1e637c74b0f84eaca02b914c0b8c6f67276e9697 Author: Jan Engelhardt Date: Mon Jan 21 03:18:08 2008 -0800 [IPV4]: Enable use of 240/4 address space. This short patch modifies the IPv4 networking to enable use of the 240.0.0.0/4 (aka "class-E") address space as propsed in the internet draft draft-fuller-240space-00.txt. Signed-off-by: Jan Engelhardt Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 96750162b5f7350ec7ba7cf747a6623858d65dd2 Author: Jarek Poplawski Date: Mon Jan 21 02:36:02 2008 -0800 [NET] gen_estimator: gen_replace_estimator() cosmetic changes White spaces etc. are changed in gen_replace_estimator() to make it similar to others in a file. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 72348a424f989d6b748d9b816d46839b01fcd4cd Author: Stephen Hemminger Date: Mon Jan 21 02:27:29 2008 -0800 [PKT_SCHED] net: add sparse annotation to ptype_seq_start/stop Get rid of some more sparse warnings. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit aa767bfea4828936fffb7800204294ba4c8ba283 Author: Stephen Hemminger Date: Mon Jan 21 02:26:41 2008 -0800 [PKT_SCHED] net classifier: style cleanup's Classifier code cleanup. Get rid of printk wrapper, and fix whitespace and other style stuff reported by checkpatch Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 786a90366f7571b5755d0e2773be9fe4cde80871 Author: Stephen Hemminger Date: Mon Jan 21 02:25:29 2008 -0800 [PKT_SCHED] sch_atm: style cleanup ATM scheduler clean house: * get rid of printk and qdisc_priv() wrapper * split some assignment in if() statements * whitespace and line breaks. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9d127fbdd26f9f16c41893b5f85b38321980e096 Author: Stephen Hemminger Date: Mon Jan 21 02:24:21 2008 -0800 [PKT_SCHED] dsmark: checkpatch warning cleanup Get rid of all style things checkpatch warns about, indentation and whitespace. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4c30719f4f550d9b3034d9c00da9cb7fb99e6c0b Author: Stephen Hemminger Date: Mon Jan 21 02:23:49 2008 -0800 [PKT_SCHED] dsmark: handle cloned and non-linear skb's Make dsmark work properly with non-linear and cloned skb's Before modifying the header, it needs to check that skb header is writeable. Note: this makes the assumption, that if it queues a good skb then a good skb will come out of the embedded qdisc. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5b0ac72bc5fdda9634fb07db4cb0237fa9b6df68 Author: David S. Miller Date: Mon Jan 21 02:21:45 2008 -0800 [PKT_SCHED] dsmark: Use hweight32() instead of convoluted loop. Based upon a patch by Stephen Hemminger and suggestions from Patrick McHardy. Signed-off-by: David S. Miller commit 81da99ed71254a08d9a0bce46c258c1e15ac3948 Author: Stephen Hemminger Date: Mon Jan 21 00:50:09 2008 -0800 [PKT_SCHED] dsmark: get rid of wrappers Remove extraneous macro wrappers for printk and qdisc_priv. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d20b3109e9d122460929c50b857fcde251706ece Author: Stephen Hemminger Date: Mon Jan 21 00:48:43 2008 -0800 [IPV6]: addrconf sparse warnings Get rid of a couple of sparse warnings in IPV6 addrconf code. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 13a0a096e58a1149a8cffbd7722b820044e3801e Author: Patrick McHardy Date: Mon Jan 21 00:47:43 2008 -0800 [NET_SCHED]: kill obsolete NET_CLS_POLICE option The code is already gone for about half a year, the config option has been kept around to select the replacement options for easier upgrades. This seems long enough, people upgrading from older kernels will have to reconfigure a lot anyway. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f12ca5f97b7f99288aff1dc32a91f21c3230fefe Author: Patrick McHardy Date: Mon Jan 21 00:47:08 2008 -0800 [MACVLAN]: Fix thinko in macvlan_transfer_operstate() When the lower device's carrier is off, the macvlan devices's carrier state should be checked to decide whether it needs to be turned off. Currently the lower device's state is checked a second time. This still works, but unnecessarily tries to turn off the carrier when its already off. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 91b4f954759653272504c55b715b757207ed1700 Author: Pavel Emelyanov Date: Mon Jan 21 00:28:03 2008 -0800 [VLAN]: Move protocol determination to seperate function I think, that we can make this code flow easier to understand by introducing the vlan_set_encap_proto() function (I hope the name is good) to setup the skb proto and merge the paths calling netif_rx() together. [Patrick: Modified to apply on top of my previous patches] Signed-off-by: Pavel Emelyanov Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 31ffdbcb5989c121f2f81a6b5b20c1c4bb21e5fd Author: Patrick McHardy Date: Mon Jan 21 00:27:18 2008 -0800 [VLAN]: Clean up vlan_skb_recv() - remove three instances of identical code - remove unnecessary NULL initialization - remove obvious and unnecessary comments Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ad712087f78469a783281d0d15657edfbff69594 Author: Patrick McHardy Date: Mon Jan 21 00:27:00 2008 -0800 [VLAN]: Update list address VLAN related mail should go to netdev. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2029cc2c84fb1169c80c6cf6fc375f11194ed8b5 Author: Patrick McHardy Date: Mon Jan 21 00:26:41 2008 -0800 [VLAN]: checkpatch cleanups Checkpatch cleanups, consisting mainly of overly long lines and missing spaces. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 57d3ae847d4403c5e4a35ae5f38665fff1a94c02 Author: Patrick McHardy Date: Mon Jan 21 00:26:25 2008 -0800 [VLAN]: Turn __constant_htons into htons where possible Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9dfebcc6479c55c001e4bb5fe7cc16b6799c43a7 Author: Patrick McHardy Date: Mon Jan 21 00:26:07 2008 -0800 [VLAN]: Turn VLAN_DEV_INFO into inline function Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit af30151709bcace1ca844d4bb8b7e2e392ff81eb Author: Patrick McHardy Date: Mon Jan 21 00:25:50 2008 -0800 [VLAN]: Simplify vlan unregistration Keep track of the number of VLAN devices in a vlan group. This allows to have the caller sense when the group is going to be destroyed and stop using it, which in turn allows to remove the wrapper around unregister_vlan_dev for the NETDEV_UNREGISTER notifier and avoid iterating over all possible VLAN ids whenever a device in unregistered. Also fix what looks like a use-after-free (but is actually safe since we're holding the RTNL), the real_dev reference should not be dropped while we still use it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit acc5efbcd2a023c8801f2bba39971cf93812ce7c Author: Patrick McHardy Date: Mon Jan 21 00:25:31 2008 -0800 [VLAN]: Clean up unregister_vlan_dev Save two levels of indentation by aborting on error conditions, remove unnecessary initialization to NULL and remove two obvious comments. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 69ab4b7d6db68396dbfa827daa8d6f30f9b546a8 Author: Patrick McHardy Date: Mon Jan 21 00:25:15 2008 -0800 [VLAN]: Clean up initialization code - move module init/exit functions to end of file, remove some now unnecessary forward declarations - remove some obvious comments - clean up proc init function and move a proc-related printk there Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 198a291ce3a9103f4738600e3cf5416b66e009d9 Author: Patrick McHardy Date: Mon Jan 21 00:24:59 2008 -0800 [VLAN]: Remove non-implemented ioctls The GET_VLAN_INGRESS_PRIORITY_CMD/GET_VLAN_EGRESS_PRIORITY_CMD ioctls are not implemented and won't be, new functionality will be added to the netlink interface. Remove the code and make the ioctl handler return -EOPNOTSUPP for unknown commands instead of -EINVAL. Also remove a comment about passing unknown commands to the underlying device, that doesn't make any sense since its a VLAN specific ioctl and if its not implemented here, its implemented nowhere. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 40f98e1af4c6082f7f98391540a2a1ade030480a Author: Patrick McHardy Date: Mon Jan 21 00:24:30 2008 -0800 [VLAN]: Clean up debugging and printks - use pr_* functions and common prefix for non-device related messages - remove VLAN_ printk levels - kill lots of useless debugging statements - remove a few unnecessary printks like for double VID registration (already returns -EEXIST) and kill of a number of unnecessary checks in vlan_proc_{add,rem}_dev() that are already performed by the caller Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a5250a36954c6658e28cc2e7e07e314e0c79e8bb Author: Patrick McHardy Date: Mon Jan 21 00:24:13 2008 -0800 [ETHER]: Bring back MAC_FMT The print_mac function is not very suitable for debugging printks in performance critical paths since without ifdefs it will always get called. MAC_FMT can be used with pr_debug without any overhead when debugging is disabled. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 62f99efce61024f1c645c2c574882b510c77c579 Author: Patrick McHardy Date: Mon Jan 21 00:22:30 2008 -0800 [VLAN]: Kill useless check vlan->real_dev is always equal to the device since thats what we used for the lookup. It doesn't even seem worth a WARN_ON or BUG_ON. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ef3eb3e59bd5723895b2349edec98998198ef5bb Author: Patrick McHardy Date: Mon Jan 21 00:22:11 2008 -0800 [VLAN]: Move device setup to vlan_dev.c Move device setup to vlan_dev.c and make all the VLAN device methods static. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7bd38d778e3f2250e96fc277040879d66c30ecb4 Author: Patrick McHardy Date: Mon Jan 21 00:19:31 2008 -0800 [VLAN]: Use dev->stats Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b7a4a83629c1ddde8c2e6a872618c66577cb20f0 Author: Patrick McHardy Date: Mon Jan 21 00:19:16 2008 -0800 [VLAN]: Kill useless VLAN_NAME define The only user already includes __FUNCTION__ (vlan_proto_init) in the output, which is enough to identify what the message is about. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 740c15d0dd281c0cbe1a9ab1abc4f332e0df29bc Author: Patrick McHardy Date: Mon Jan 21 00:18:53 2008 -0800 [VLAN]: Clean up vlan_hdr/vlan_ethhdr structs Fix 3 space indentation and some overly long lines by moving the comments to a kdoc structure description. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 476bcea67f9a1ca6f2c0028e75fb2129272c8398 Author: Patrick McHardy Date: Mon Jan 21 00:18:26 2008 -0800 [VLAN]: Remove unnecessary structure declarations - struct packet_type is not used - struct vlan_group is declared later in the file before the first use - struct net_device is not needed since netdevice.h is included - struct vlan_collection does not exist - struct vlan_dev_info is declared later in the file before the first use Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 891687649a5c44a1d53668b4f7728bf97c8db8d5 Author: Patrick McHardy Date: Mon Jan 21 00:14:05 2008 -0800 [NET_SCHED]: sch_ingress: remove useless printk The printk about ingress qdisc registration error can't be triggered under normal circumstances. Since register_qdisc only fails for two identical registrations, the only way to trigger it is by loading the sch_ingress modules multiple times under different names, in which case we already return -EEXIST to userspace. Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 13893567358a8426d03ac3c613befc55431f23ce Author: Patrick McHardy Date: Mon Jan 21 00:13:44 2008 -0800 [NET_SCHED]: sch_ingress: avoid a few #ifdefs Move the repeating "ifndef CONFIG_NET_CLS_ACT/ifdef CONFIG_NETFILTER" ifdefs into a single condition. Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 645a1e39e4e3e84a275c5e4a7c8049041146f9b5 Author: Patrick McHardy Date: Mon Jan 21 00:13:19 2008 -0800 [NET_SCHED]: sch_ingress: move dependencies to Kconfig Instead of complaining at scheduler initialization time, check the dependencies in Kconfig. Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit c6ee877f2e4c4d44c934528b4cec6c8d7f54d3ad Author: Patrick McHardy Date: Mon Jan 21 00:12:53 2008 -0800 [NET_SCHED]: sch_ingress: remove unnecessary ops - ->reset is optional - sch_api provides identical defaults for ->dequeue/->requeue - ->drop can't happen since ingress never has a parent qdisc Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit e037834758af82a24c4d390b93e1ce5e280a551a Author: Patrick McHardy Date: Mon Jan 21 00:12:32 2008 -0800 [NET_SCHED]: sch_ingress: return proper error code in ingress_graft() Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit c21d4d5dd27329c30c5129d5dbc4942456af361c Author: Patrick McHardy Date: Mon Jan 21 00:12:10 2008 -0800 [NET_SCHED]: sch_ingress: remove unused inner qdisc Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit cb53c048912976d1d81b8f3475463788f462eebd Author: Patrick McHardy Date: Mon Jan 21 00:11:48 2008 -0800 [NET_SCHED]: sch_ingress: remove qdisc_priv() wrapper Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit a47812211bb38c6754a5a6a952ab406e711cc6e0 Author: Patrick McHardy Date: Mon Jan 21 00:11:21 2008 -0800 [NET_SCHED]: sch_ingress: remove excessive debugging Remove excessive debugging statements and some "future use" stuff. Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 58f4df423ee3e7ee33022d84bbd69561b03344a9 Author: Patrick McHardy Date: Mon Jan 21 00:11:01 2008 -0800 [NET_SCHED]: sch_ingress: formatting fixes Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 6f9e98f7a96fdf4d621b8241d5a8a55c692de373 Author: Stephen Hemminger Date: Sun Jan 20 17:20:56 2008 -0800 [PKT_SCHED] SFQ: whitespace cleanup Add whitespace around operators, and add a few blank lines to improve readability. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d46f8dd87d9e7d5356891cbe97b8472e74db1413 Author: Stephen Hemminger Date: Sun Jan 20 17:19:43 2008 -0800 [PKT_SCHED] SFQ: use net_random SFQ doesn't need true random numbers, it is only using them to salt a hash. Therefore it is better to use net_random() and avoid any possible problems with depleting the entropy pool. Signed-off-by: Stephen Hemminger Acked-by: Paul E. McKenney Signed-off-by: David S. Miller commit d3e994830d35159320d0a98c36aa580410c29609 Author: Stephen Hemminger Date: Sun Jan 20 17:18:45 2008 -0800 [PKT_SCHED] SFQ: timer is deferrable The perturbation timer used for re-keying can be deferred, it doesn't need to be deterministic. Signed-off-by: Stephen Hemminger Acked-by: Paul E. McKenney Signed-off-by: David S. Miller commit 51314a17baabc710e5fb12975fe8983dedd5ac0d Author: Denis V. Lunev Date: Sun Jan 20 16:47:09 2008 -0800 [NETNS]: Process FIB rule action in the context of the namespace. Save namespace context on the fib rule at the rule creation time and call routing lookup in the correct namespace. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 9e3a548781fc1c0da617fc65769a515f074be740 Author: Denis V. Lunev Date: Sun Jan 20 16:46:41 2008 -0800 [NETNS]: FIB rules API cleanup. Remove struct net from fib_rules_register(unregister)/notify_change paths and diet code size a bit. add/remove: 0/0 grow/shrink: 10/12 up/down: 35/-100 (-65) function old new delta notify_rule_change 273 280 +7 trie_show_stats 471 475 +4 fn_trie_delete 473 477 +4 fib_rules_unregister 144 148 +4 fib4_rule_compare 119 123 +4 resize 2842 2845 +3 fn_trie_select_default 515 518 +3 inet_sk_rebuild_header 836 838 +2 fib_trie_seq_show 764 766 +2 __devinet_sysctl_register 276 278 +2 fn_trie_lookup 1124 1123 -1 ip_fib_check_default 133 131 -2 devinet_conf_sysctl 223 221 -2 snmp_fold_field 126 123 -3 fn_trie_insert 2091 2086 -5 inet_create 876 870 -6 fib4_rules_init 197 191 -6 fib_sync_down 452 444 -8 inet_gso_send_check 334 325 -9 fib_create_info 3003 2991 -12 fib_nl_delrule 568 553 -15 fib_nl_newrule 883 852 -31 Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 035923833369e4da5d3c4ad0700bc7c367a0fa37 Author: Denis V. Lunev Date: Sun Jan 20 16:46:01 2008 -0800 [FIB]: Add netns to fib_rules_ops. The backward link from FIB rules operations to the network namespace will allow to simplify the API a bit. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 853f4b505578ea3a1d9c2f5fb4ca58658ea15780 Author: Vlad Yasevich Date: Sun Jan 20 06:10:46 2008 -0800 [SCTP]: Correctly initialize error when parameter validation failed. When parameter validation fails, there should be error causes that specify what type of failure we've encountered. If the causes are not there, we lacked memory to allocated them. Thus make that the default value for the error. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 16b4d60b56b9ec922d91cc11ede0bd59033deae4 Author: Adrian Bunk Date: Sat Jan 19 00:01:13 2008 -0800 [IrDA]: Irport removal - part 2 Signed-off-by: Adrian Bunk Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit e9888f5498083f5e4d873cbbe16aa97d89aa1342 Author: Adrian Bunk Date: Sat Jan 19 00:00:42 2008 -0800 [IrDA]: Irport removal - part 1 This patch removes IrPORT and the old dongle drivers (all off them have replacement drivers). Signed-off-by: Adrian Bunk Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 5d780cd6585d242d9592a479fe75a007fd75155d Author: Robie Basak Date: Fri Jan 18 23:58:44 2008 -0800 [IrDA]: Frame length validation. When using a stir4200-based USB adaptor to talk to a device that uses an mcp2150, the stir4200 sometimes drops an incoming frame causing the mcp2150 to try and retransmit the lost frame. In this combination, the next frame received from the mcp2150 is often invalid - either an empty i:rsp or an IrCOMM i:rsp with an invalid clen. These corner cases are now checked. Signed-off-by: Robie Basak Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 6d97b53e92af822890b87818c99820df47fc589b Author: Robie Basak Date: Fri Jan 18 23:56:54 2008 -0800 [IrDA]: Resend frames on timeout. When final timer expires, it might also mean that the i:cmd wasn't received properly. If we have rejected frames, we can try to resend them. Signed-off-by: Robie Basak Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 775516bfa2bd7993620c9039191a0c30b8d8a496 Author: Denis V. Lunev Date: Fri Jan 18 23:55:19 2008 -0800 [NETNS]: Namespace stop vs 'ip r l' race. During network namespace stop process kernel side netlink sockets belonging to a namespace should be closed. They should not prevent namespace to stop, so they do not increment namespace usage counter. Though this counter will be put during last sock_put. The raplacement of the correct netns for init_ns solves the problem only partial as socket to be stoped until proper stop is a valid netlink kernel socket and can be looked up by the user processes. This is not a problem until it resides in initial namespace (no processes inside this net), but this is not true for init_net. So, hold the referrence for a socket, remove it from lookup tables and only after that change namespace and perform a last put. Signed-off-by: Denis V. Lunev Tested-by: Alexey Dobriyan Signed-off-by: David S. Miller commit b7c6ba6eb1234e35a74fb8ba8123232a7b1ba9e4 Author: Denis V. Lunev Date: Mon Jan 28 14:41:19 2008 -0800 [NETNS]: Consolidate kernel netlink socket destruction. Create a specific helper for netlink kernel socket disposal. This just let the code look better and provides a ground for proper disposal inside a namespace. Signed-off-by: Denis V. Lunev Tested-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 4f84d82f7a623f8641af2574425c329431ff158f Author: Denis V. Lunev Date: Fri Jan 18 23:54:15 2008 -0800 [NETNS]: Memory leak on network namespace stop. Network namespace allocates 2 kernel netlink sockets, fibnl & rtnl. These sockets should be disposed properly, i.e. by sock_release. Plain sock_put is not enough. Signed-off-by: Denis V. Lunev Tested-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 869e58f87094b1e8a0df49232e4a5172678d46c9 Author: Denis V. Lunev Date: Fri Jan 18 23:53:31 2008 -0800 [NETNS]: Double free in netlink_release. Netlink protocol table is global for all namespaces. Some netlink protocols have been virtualized, i.e. they have per/namespace netlink socket. This difference can easily lead to double free if more than 1 namespace is started. Count the number of kernel netlink sockets to track that this table is not used any more. Signed-off-by: Denis V. Lunev Tested-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 7d460db953d6d205e4c8ecc2017aea1ec22b6c9a Author: Daniel Lezcano Date: Fri Jan 18 23:52:35 2008 -0800 [IPV6]: Fix ip6_frag ctl Alexey Dobriyan reported an oops when unsharing the network indefinitely inside a loop. This is because the ip6_frag is not per namespace while the ctls are. That happens at the fragment timer expiration: inet_frag_secret_rebuild function is called and this one restarts the timer using the value stored inside the sysctl field. "mod_timer(&f->secret_timer, now + f->ctl->secret_interval);" When the network is unshared, ip6_frag.ctl is initialized with the new sysctl instances, but ip6_frag has only one instance. A race in this case will appear because f->ctl can be modified during the read access in the timer callback. Until the ip6_frag is not per namespace, I discard the assignation to the ctl field of ip6_frags in ip6_frag_sysctl_init when the network namespace is not the init net. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit ee63d22b8953fd0dde22f52c0bc17a304ae50403 Author: Stefan Roese Date: Wed Jan 16 08:11:15 2008 +0100 net: NEWEMAC: Fix problem with mtu > 4080 on non TAH equipped 4xx PPC's Currently, all non TAH equipped 4xx PPC's call emac_start_xmit() upon xmit. This routine doesn't check if the frame length exceeds the max. MAL buffer size. This patch now changes the driver to call emac_start_xmit_sg() on all GigE platforms and not only the TAH equipped ones (440GX). This enables an MTU of 9000 instead 4080. Signed-off-by: Stefan Roese Signed-off-by: Jeff Garzik commit 3ec9c11da03342b556f11724ea005e60160bc744 Author: Claudio Lanconelli Date: Mon Jan 14 11:00:28 2008 +0100 add driver for enc28j60 ethernet chip Signed-off-by: Claudio Lanconelli Signed-off-by: Jeff Garzik commit a24a789cc6b0a736759bd221b0a32f9a240c2f6e Author: Thomas Bogendoerfer Date: Sun Jan 13 00:08:47 2008 +0100 SGISEEQ: fix oops when doing ifconfig down; ifconfig up When doing init_ring checking whether a new skb needs to be allocated was wrong. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit bcc52894988ac8471667d84eb7d118af37763338 Author: Stephen Hemminger Date: Thu Jan 10 16:14:15 2008 -0800 sky2: version 1.21 Update driver version reflects new hardware support. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit ed4d41616baa404cf29576ff452ea1db12b9e03b Author: Stephen Hemminger Date: Thu Jan 10 16:14:14 2008 -0800 sky2: support for Yukon Supreme Add support from sk98lin vendor driver 10.50.1.3 for 88E8055 and 88E8075 chips. I don't have this hardware to test, so this changes are untested. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 804d8541d217f73a6543baac937cf65b8b4de850 Author: Al Viro Date: Sat Dec 22 19:44:29 2007 +0000 qla3xxx annotations stop the byteswap-in-place, annotate Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 7cd61888d2ab9fa7e08205b18a24885e523df048 Author: Al Viro Date: Sat Dec 22 18:56:05 2007 +0000 slhc annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 3dd5f1d422d8a736178a760562c98d4169b33a23 Author: Al Viro Date: Sat Dec 22 18:55:49 2007 +0000 eepro100 annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 904584018e9ba30a3e562d86ee7dfb6239105664 Author: Al Viro Date: Sat Dec 22 17:52:52 2007 +0000 annotate the rest of drivers/net/wan Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit a3edb08311fc559652ffc959e93eb5be9294443f Author: Al Viro Date: Sat Dec 22 17:52:42 2007 +0000 annotate tun Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 7eefb04eb0761ce220890975fe33b7c262612c0d Author: David Miller Date: Thu Dec 20 04:14:42 2007 -0800 NET: ns83820.c remove fastcall macro Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 49b11bc3d43eb287fc9d78e1a892e97288980d49 Author: Thomas Bogendoerfer Date: Wed Dec 19 13:42:36 2007 +0100 SGISEEQ: use cached memory access to make driver work on IP28 - Use inline functions for dma_sync_* instead of macros - added Kconfig change to make selection for similair SGI boxes easier Signed-off-by: Thomas Bogendoerfer Acked-by: Ralf Baechle Signed-off-by: Jeff Garzik commit db17f39564539e71c9b3a63e7ed5313fe311d266 Author: Florian Fainelli Date: Wed Dec 19 11:30:30 2007 +0100 Add me as maintainer of the RDC r6040 driver This patch adds me as maintainer of the RDC R6040 Fast Ethernet driver. Signed-off-by: Florian Fainelli -- Signed-off-by: Jeff Garzik commit a0646470e8a965df59054a5c82e53e5572bf04a0 Author: Zhu Yi Date: Thu Dec 20 14:10:01 2007 +0800 iwlwifi: skip mac80211 conf during a hardware scan and replay it afterwards This patch skips mac80211 configuration setting during a hardware scan and replays it afterwards for the iwlwifi drivers. Cc: Johannes Berg Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 12342c475f5de17071eaf24ea2938ba8dfe285f2 Author: Zhu Yi Date: Thu Dec 20 11:27:32 2007 +0800 iwlwifi: proper monitor support This patch changes the iwlwifi driver to properly support monitor interfaces after the filter flags change. The patch is originally created by Johannes Berg for iwl4965. I fixed some of the comments and created a similar patch for iwl3945. Signed-off-by: Johannes Berg Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7e94041ca17685cf12c658b8edc008dd0bdb00c7 Author: David Woodhouse Date: Tue Dec 18 11:41:43 2007 +0000 libertas: remove check for driver_lock in lbs_interrupt() Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 5844d12ea30bacae9224db6561a16e86ad31c6e5 Author: David Woodhouse Date: Tue Dec 18 02:01:37 2007 -0500 libertas: convert SUBSCRIBE_EVENT to a direct command Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit f15ebb63b36eca5fa68fabd04ab2f7840bc67205 Author: David Woodhouse Date: Wed Dec 19 13:03:19 2007 +0000 libertas: change inference about buffer size in lbs_cmd() sizeof(*cmd) is going to give the total size of the data structure that we allocated, more often than not. But the size of the command to be _sent_ could be a lot smaller, as it is in the KEY_MATERIAL and SUBSCRIBE_EVENT commands for example. So swap them round; let the caller set the _command_ size explicitly in the header, and infer the maximum response size from the data structure. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 4f59abf190b15350167bec5382dda205030ac9d0 Author: David Woodhouse Date: Tue Dec 18 00:47:17 2007 -0500 libertas: convert ENABLE_RSN to a direct command Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit f70dd4515a8ad9c9d59ebb8c1d1fa2c610fb4020 Author: David Woodhouse Date: Tue Dec 18 00:18:05 2007 -0500 libertas: convert SET_WEP to a direct command Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 3fbe104cecdb8c812976fdb0cc41be65491b85ee Author: David Woodhouse Date: Mon Dec 17 23:48:31 2007 -0500 libertas: convert SLEEP_PARAMS to a direct command Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6e5cc4fb35c45a8f8478d25c4e89e8d9c543056e Author: David Woodhouse Date: Mon Dec 17 23:04:37 2007 -0500 libertas: convert INACTIVITY_TIMEOUT to a direct command Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit a7c458906542aacdda7289bb21f527a2dc4097ca Author: David Woodhouse Date: Mon Dec 17 22:43:48 2007 -0500 libertas: convert RADIO_CONTROL to a direct command Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 354eca9820f1efbf11978585640f1b2e92d4c5b4 Author: David Woodhouse Date: Mon Dec 17 19:22:40 2007 -0500 libertas: submit RSSI command on tx timeout, to check whether module is dead We don't necessarily want to reset the device on a TX timeout. But more often than not, the real cause is that the firmware has crapped itself, not just that the network is busy. So submit any harmless command, and if _that_ times out, then the error handling code will reset the module, as appropriate. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 18c52e7c3e3d0e7fbddd0334b58030bb89554cb9 Author: David Woodhouse Date: Mon Dec 17 16:03:58 2007 -0500 libertas: make lbs_submit_command always 'succeed' and set command timer Even if it fails, we want to wait a while and try again, with an ultimate timeout if it the condition persists. So again, just use the standard command timeout behaviour. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 8538823f7c692c98e8b7e19cb580faa56e25e89f Author: David Woodhouse Date: Mon Dec 17 15:41:30 2007 -0500 libertas: discard DEFER responses to commands; let the timeout trigger When the firmware returns 0x0004, it wants us to try again later. We can achieve that simply by throwing out the response and letting the command timeout code kick in. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 7003b078c82d141216deecef4de154711a107aab Author: David Woodhouse Date: Mon Dec 17 15:22:43 2007 -0500 libertas: use priv->upld_buf for command responses If we don't scribble over the command we sent, then we can retry it when the firmware responds with 0x0004 (which means -EAGAIN). Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ac4cced6e850496b66c0825b7f74d51ef02c6371 Author: David Woodhouse Date: Mon Dec 17 15:12:49 2007 -0500 libertas: reduce explicit references to priv->cur_cmd->cmdbuf We have a local variable 'resp' which we use for this. So use it, instead of typing the whole thing. In preparation for actually using priv->upld_buf for the responses instead... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 4694961cc2f868d6061be3b2c3d1fcf39584ff17 Author: David Woodhouse Date: Mon Dec 17 14:42:33 2007 -0500 libertas: Check for PS mode support on USB devices Move the various firmware setup bits into a separate function, which used to do just boot2 version. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b2c57eee66592e22327bf39b42c4e3dc24708213 Author: David Woodhouse Date: Mon Dec 17 14:41:13 2007 -0500 libertas: allow for PS mode to be disabled when firmware doesn't support it Otherwise, we go into an endless busy loop trying to enable PS mode when the command queue is empty, dealing with the error response, and then trying to enable PS mode again because the command queue is empty.... it doesn't really save much power. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b47ef2438dea2ddad4561152aa8007a2d95e8157 Author: David Woodhouse Date: Mon Dec 17 13:26:42 2007 -0500 libertas: handle HOST_AWAKE event by sending WAKEUP_CONFIRM command lbs_send_confirmwake() is a bit ugly but matches the way we confirm sleep. We'll deal with that whole thing later. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 24dba5f39194c57f98090d1ee504be5740dc521c Author: David Woodhouse Date: Mon Dec 17 12:35:28 2007 -0500 libertas: don't clear priv->dnld_sent after sending sleep confirm DNLD_RES_RECEIVED is a bit of a misnomer -- we never wait for the result to be received; it's purely representing the state of the TX path, and in this case the TX path is definitely busy. Of course, that means that we don't actually care about DATA_SENT vs. CMD_SENT either, but that's a can of worms for another day... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 38bfab1a01c66cb1a5001dc702b0856b2f942fd5 Author: David Woodhouse Date: Sun Dec 16 23:26:54 2007 -0500 libertas: fix buffer handling of PS_MODE commands and responses Commit 5b8845345e7385d2eb37fac22ba9ab6905988be5 (or, in case the git workflow is broken and patches get recommitted, the commit entitled 'libertas: rename and re-type bufvirtualaddr to cmdbuf' by dcbw), introduced a number of bugs where we once had a pointer to a command _payload_, but now we use the pointer to the command header instead. The fix isn't wonderfully pretty for now, but it'll get better when we finish converting all commands so the structures include the header. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c6ad3738c689c2e64af2b74c1f407c9323ba40dd Author: David Woodhouse Date: Sun Dec 16 21:43:40 2007 -0500 libertas: add SLEEP_PERIOD and FW_WAKE_METHOD command definitions Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit d1a469fd1b7335572a3803b6ba4ce3783a74532b Author: David Woodhouse Date: Sun Dec 16 17:21:00 2007 -0500 libertas: fix return from lbs_update_channel() If we return the channel number in a 'ret' variable where anything non-zero is later interpreted as an error, that isn't nice. It breaks WPA, for a start. OLPC trac #5485 Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 681ffbb7d42435332fff0812145c7050d6153925 Author: David Woodhouse Date: Sat Dec 15 20:04:54 2007 -0500 libertas: kill 'addtail' argument to lbs_queue_cmd() and make it static Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 2a345099a4fbe551a1982630b3d89c85fa5a341d Author: David Woodhouse Date: Sat Dec 15 19:33:43 2007 -0500 libertas: handle command timeout in main thread instead of directly in timer And handle the case where it times out more than once, too, instead of locking up for ever. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 9fae899c2b5dc224042da63b14118abdb22ae9b6 Author: David Woodhouse Date: Sat Dec 15 03:46:44 2007 -0500 libertas: ensure response buffer size is always set for lbs_cmd_with_response Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 3399ea5f239d49522212db179bca4de9e84b09df Author: David Woodhouse Date: Sat Dec 15 03:09:33 2007 -0500 libertas: add __lbs_cmd_async() for asynchronous command submission Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ae125bf8278249b8c44168c5183f551c3ed28b84 Author: David Woodhouse Date: Sat Dec 15 04:22:52 2007 -0500 libertas: store command result in cmdnode instead of priv->cur_cmd_retcode ... at least for users of __lbs_cmd(). Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 75567670c66329a111c2b4f12d6c1fc02b3b14d2 Author: David Woodhouse Date: Sat Dec 15 02:38:17 2007 -0500 libertas: kill pdata_buf member of struct cmd_ctrl_node We can use the callback_arg for it; that's the way we're heading anyway... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ad12d0f418b7d3bbc6d1ccc4ff0858361cf0aafe Author: David Woodhouse Date: Sat Dec 15 02:06:16 2007 -0500 libertas: let __lbs_cmd() free its own cmdnode Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 5ba2f8a0217cd6116fcbac056b360bb0db045379 Author: David Woodhouse Date: Sat Dec 15 02:02:56 2007 -0500 libertas: kill cleanup_cmdnode() Move the wakeup into lbs_complete_command(), and leave the other bits in __lbs_cleanup_and_insert_cmd() which was the only caller now anyway. There are two remaining direct callers of lbs_cleanup_and_insert_cmd(), and they are both fine without the wakeup. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ecfe9b487c0d3f6b7ad58006888a56f01ae52b58 Author: David Woodhouse Date: Sat Dec 15 01:57:12 2007 -0500 libertas: don't re-initialise cmdnode when taking it off the free queue We initialise it when we add it to the queue. No need to do it again. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 183aeac1c49869ba9a14c7ead86ce268da397a0e Author: David Woodhouse Date: Sat Dec 15 01:52:54 2007 -0500 libertas: introduce and use lbs_complete_command() for command completion Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c4ab41272b55a08741d2e68966aae700e2e6d597 Author: David Woodhouse Date: Sat Dec 15 00:41:51 2007 -0500 libertas: remove some pointless checks for cmdnode buffer being present We allocate them all at the same time, at startup. If they go missing, we have more serious things to worry about, and the resulting oops will be a perfectly acceptable result. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b23b2061e5758d4827630ee900b4b290376d0059 Author: David Woodhouse Date: Sat Dec 15 01:22:09 2007 -0500 libertas: don't use __lbs_cmd() with empty callback in if_usb.c We're about to change semantics, leaving callers of lbs_prepare_and_send_command() with the old broken priv->cur_cmd_retcode crap. The existence of the callback command will be the trigger for the new semantics when handling the response. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit d9896ee14768e3dd6ce2f57a0d518b5b18a924a1 Author: David Woodhouse Date: Sat Dec 15 00:09:25 2007 -0500 libertas: rename and clean up DownloadcommandToStation Call it lbs_submit_command(), remove a bunch of things which can be (or, in the case of zeroing ->cmdwaitqwoken, already are) done elsewhere. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 8e5b6b2d32304f4d6a096a6dfae23d12dc6f9287 Author: David Woodhouse Date: Fri Dec 14 23:08:13 2007 -0500 libertas: kill unused wait_option field in struct cmd_ctrl_node Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 7e226272fcf9c1ec8b67fac995ce4227f4f76971 Author: David Woodhouse Date: Fri Dec 14 22:53:41 2007 -0500 libertas: kill whitespace at end of lines Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit eae86bf378de981696697426831bd9db68930740 Author: David Woodhouse Date: Fri Dec 14 00:47:05 2007 -0500 libertas: clean up if_usb driver It was just getting on my tits, really. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b926d6b31e2dd8f1bc21a9576aff0e486e21d32a Author: David Woodhouse Date: Thu Dec 13 21:53:16 2007 -0500 libertas: stop attempting to reset devices on unload It wasn't working anyway -- by the time we get into if_usb_disconnect() the USB core has already stopped us talking to the thing; even if it's just on unload and the device still exists. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit d9f88705a7ce2f9ef13d6656ee715493a663edfc Author: David Woodhouse Date: Thu Dec 13 21:48:00 2007 -0500 libertas: don't exit worker thread until kthread_stop() is called The kthread code can't cope with a thread exiting of its own accord and then someone calling kthread_stop() for it. When the thread detects that it needs to die, make it wait for kthread_stop() to be called. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 4ad36d780caf34630d1a4cc39f9bc11017f5b81d Author: Larry Finger Date: Sun Dec 16 19:21:06 2007 +0100 b43legacy: Fix rfkill radio LED This fixes Bug #9414 for b43legacy. This patch is the equivalent of one submitted earlier for b43. Since addition of the rfkill callback, the LED associated with the off switch on the radio has not worked for several reasons: (1) Essential data in the rfkill structure were missing. (2) The rfkill structure was initialized after the LED initialization. (3) There was a minor memory leak if the radio LED structure was inited. Once the above problems were fixed, additional difficulties were noted: (4) The radio LED was in the wrong state at startup. (5) The radio switch had to be manipulated twice for each state change. (6) A circular mutex locking situation existed. (7) If rfkill-input is built as a module, it is not automatically loaded. This patch fixes all of the above and removes a couple of sparse warnings. Signed-off-by: Larry Finger Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit b7c5678f0b1e6c385b0b308a9e8298edf3c91a20 Author: Ramkrishna Vepa Date: Mon Dec 17 11:40:15 2007 -0800 S2io: Fixes to enable multiple transmit fifos Multiple transmit fifo initialization - - Assigned equal scheduling priority for all configured FIFO's. - Modularized transmit traffic interrupt initialization since it is executed in s2io_card_up and s2io_link. Enable continuous tx interrupt when link is UP and vice verse. - Enable transmit interrupts for all configured transmit fifos. - Fixed typo errors. Signed-off-by: Surjit Reang Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 2fda096d188ddae51a0fe8cd5b13cf9c84b03c1e Author: Surjit Reang Date: Thu Jan 24 02:08:59 2008 -0800 S2io: Fixes to enable multiple transmit fifo support Fixes to enable multiple transmit fifos (upto a maximum of eight). - Moved single tx_lock from struct s2io_nic to struct fifo_info. - Moved single ufo_in_band_v structure from struct s2io_nic to struct fifo_info. - Assign the respective interrupt number for the transmitting fifo in the transmit descriptor (TXD). - Added boundary checks for number of FIFOs enabled and FIFO length. Signed-off-by: Surjit Reang Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit bc4b6b52691bae42b1eec3eb86ab4c718387d9f0 Author: Divy Le Ray Date: Mon Dec 17 18:47:41 2007 -0800 cxgb3 - Fix EEH, missing softirq blocking set_pci_drvdata() stores a pointer to the adapter, not the net device. Add missing softirq blocking in t3_mgmt_tx. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit b881955b7d045e7486e9af08398242aeb7199f67 Author: Divy Le Ray Date: Mon Dec 17 18:47:31 2007 -0800 cxgb3 - parity initialization for T3C adapters. Add parity initialization for T3C adapters. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 06daa168b681797c91ce1fd567d706b9b84738e2 Author: Olof Johansson Date: Fri Dec 14 02:06:55 2007 -0600 pasemi: export pasemi_dma_init() Forgot to export this one. Needed when pasemi_mac is compiled as a module. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 01f31ac8289200e1cab4d100ce991cebe5731360 Author: Matthias Kaehlcke Date: Thu Dec 13 16:03:00 2007 -0800 PLIP driver: convert the semaphore killed_timer_sem to completion Signed-off-by: Matthias Kaehlcke Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 07b270eab52433e3f61c298eb5ff9d9a668c2458 Author: Lee Schermerhorn Date: Thu Dec 13 16:02:59 2007 -0800 bnx2x depends on ZLIB_INFLATE The bnx2x module depends on the zlib_inflate functions. The build will fail if ZLIB_INFLATE has not been selected manually or by building another module that automatically selects it. Modify BNX2X config option to 'select ZLIB_INFLATE' like BNX2 and others. This seems to fix it. Signed-off-by: Lee Schermerhorn Acked-by: Eliezer Tamir Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 9329f4e4d261bb026b53565e22b7fab1d2973cd0 Author: Robert P. J. Day Date: Thu Dec 13 16:02:55 2007 -0800 pcmcia net: use roundup_pow_of_two() macro instead of grotesque loop Signed-off-by: Robert P. J. Day Cc: Jeff Garzik Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 67b3c27c8a8d8f81ffc3fe0afc0d805d66744d18 Author: Auke Kok Date: Mon Dec 17 13:50:23 2007 -0800 e1000: Dump the eeprom when a user encounters a bad checksum To help supporting users with a bad eeprom checksum, dump the eeprom info when such a situation is encountered by a user. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 8b32e63d48d43f3843222ca66fecd45ff2a74147 Author: Matheos Worku Date: Fri Dec 14 11:48:36 2007 -0800 ixgb: enable sun hardware support for broadcom phy Implement support for a SUN-specific PHY. SUN provides a modified 82597-based board with their own PHY that works with very little modification to the code. This patch implements this new PHY which is identified by the subvendor device ID. The device ID of the adapter remains the same. Signed-off-by: Matheos Worku Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 67cefcbafc16d01f9d64be8c62cccfd30b3b07c2 Author: Adrian Bunk Date: Thu Dec 13 09:36:53 2007 -0800 e1000: remove no longer used code for pci read/write cfg Signed-off-by: Adrian Bunk Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit a7df90a51944a963d9a4fbe12790630aa4da7aee Author: Al Viro Date: Mon Dec 10 19:00:38 2007 +0000 ixgb endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 8327d000e092f737f7d6602258e5c7575686cc37 Author: Al Viro Date: Mon Dec 10 18:54:12 2007 +0000 ixgbe endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit aaf918ba8cf941a6aa7dc52c307470b48259a751 Author: Al Viro Date: Mon Dec 10 18:32:49 2007 +0000 e100 endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 5bb7ea26148369315492c3dfc43c3b6366a9f279 Author: Al Viro Date: Sun Dec 9 16:06:41 2007 +0000 forcedeth endianness bugs * misannotation: struct register_test members are actually host-endian * bug: cpu_to_le64(n) >> 32 instead of cpu_to_le32(n >> 32) in setting ->bufhigh and similar for ->buflow (take low bits, _then_ convert to little-endian, not the other way round). * bug: setup_hw_rings() should not convert to little-endian at all (we feed the result to writel(), not store in shared data structure), let alone try to play with shifting and masking little-endian values. Introduced when setup_hw_rings() went in, screwed both 64bit case and the old code for 32bit rings it had replaced. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 79ea13ce07c951bb4d95471e7300baa0f1be9e78 Author: Al Viro Date: Thu Jan 24 02:06:46 2008 -0800 NULL noise in drivers/net Signed-off-by: Al Viro Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 3e18826c73735eee5fca92584137824d9a387008 Author: Al Viro Date: Tue Dec 11 19:49:39 2007 +0000 e1000 endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit a39fe742e71257aaae1bdddcd453877d91e681ad Author: Al Viro Date: Tue Dec 11 19:50:34 2007 +0000 e1000e endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 439104b3a39b2f576daa229d783eb2cefac8b7df Author: Al Viro Date: Mon Dec 17 06:48:04 2007 +0000 sungem endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit f3ec33e587df02e25963755989cc473e3f07bf0d Author: Al Viro Date: Sun Dec 16 23:30:08 2007 +0000 sunhme endianness annotations This one is interesting - SBUS and PCI variants have opposite endianness in descriptors (SBUS is sparc-only, so there host-endian == big-endian). Solution: declare a bitwise type (hme32) and in accessor helpers do typechecking and force-casts (once we know that the type is right). Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit b710b43c306650261c01ad08100791afec78a7db Author: Al Viro Date: Sun Dec 16 20:53:36 2007 +0000 endianness annotations and fixes for olympic * missing braces in !readl(...) & ... * trivial endianness annotations * in olympic_arb_cmd() the loop collecting fragments of packet is b0rken on big-endian - we have (next_ptr && (buf_ptr=olympic_priv->olympic_lap + ntohs(next_ptr))) as condition and it should have swab16(), not ntohs() - it's host-endian byteswapped, not big-endian. So if we get more than one fragment on big-endian host, we get screwed. This ntohs() got missed back when the rest of those had been switched to swab16() in 2.4.0-test2-pre1 - at a guess, nobody had hit fragmented packets during the testing of PPC fixes. PS: Ken Aaker cc'd on assumption that he is the same guy who'd done the original set of PPC fixes in olympic Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit f5a3ea6f966700ae82504202fdd827f2d3c79e66 Author: David Woodhouse Date: Thu Dec 13 01:53:57 2007 -0500 libertas: use spin_is_locked() instead of spin_trylock() in lbs_interrupt() We get scary warnings on UP if we use spin_trylock() and find, as we hoped, that the lock in question is already locked. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 860621347e88b23517fc4ec93fa5af940401c3ec Author: David Woodhouse Date: Thu Dec 13 00:32:36 2007 -0500 libertas: pass channel argument directly to lbs_mesh_config() There is weirdness here; the firmware seems to refuse to change channels at will. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 020f3d0001cb249ceae623c1a7ae0c196326ef3f Author: David Woodhouse Date: Wed Dec 12 23:29:13 2007 -0500 libertas: cope with both old and new mesh TLV values Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 9f4625776f96e26b15d98615337ea5916648b1e8 Author: David Woodhouse Date: Wed Dec 12 22:50:21 2007 -0500 libertas: make lbs_update_channel() function non-static We'll want to use this for meshfrobbing Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 506e9025e030c441679fb1ae77fb0d6266c34443 Author: David Woodhouse Date: Wed Dec 12 20:06:06 2007 -0500 libertas: add ethtool support for wake-on-lan configuration Also, check that suspend is refused if HOST_SLEEP_CFG hasn't been done. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit d1f7a5b8cfefdb443a05a9e3d636fe7fef57459a Author: David Woodhouse Date: Wed Dec 12 17:40:56 2007 -0500 libertas: implement suspend/resume for USB devices Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ab25ecaea5459f2206dbae25106cff67a24d309e Author: David Woodhouse Date: Wed Dec 12 17:38:56 2007 -0500 libertas: implement suspend and resume core methods We (ab)use priv->fw_ready to stop the worker thread from sending more commands or data after the response to the HOST_SLEEP_ACTIVATE command comes in. And we set it from the callback function _directly_ to ensure that the worker thread sees it immediately; if we did it in lbs_suspend() after waking up, that might be too late. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit f3db2bb411512d1ebd6233b3985d98f4fe7ea8a8 Author: David Woodhouse Date: Wed Dec 12 16:04:12 2007 -0500 libertas: make worker thread not freezable We want it to send the HOST_SLEEP_ACTIVATE command on the way down... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 689442dca16eb27fee19074499d42845fe54c12a Author: David Woodhouse Date: Wed Dec 12 16:00:42 2007 -0500 libertas: switch lbs_cmd() to take a _pointer_ to the command structure This way, it looks more like a normal function. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6ce4fd2a3a84e64a27c42aaa7de6e0e85dee3573 Author: David Woodhouse Date: Wed Dec 12 15:19:29 2007 -0500 libertas: add lbs_host_sleep_cfg() command function Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit a27b9f96f21a2f15c423cca745f65de3db61e364 Author: David Woodhouse Date: Wed Dec 12 00:41:51 2007 -0500 libertas: slight cleanup of netif queue stop/wake In particular, we shouldn't be waking the queues in lbs_host_to_card_done() any more. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 23d36eec263d2c913ee651dc43472524397e4a0b Author: David Woodhouse Date: Wed Dec 12 00:14:21 2007 -0500 libertas: add missing newlines in debugging statements Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit e1258177e437cb8b892622f2b7beedd4701540ac Author: David Woodhouse Date: Tue Dec 11 23:42:49 2007 -0500 libertas: be more careful about command responses matching cur_cmd Especially in the light of OLPC trac #5461, in which the firmware starts sending us seemingly random command responses which bear little relation to the command we sent it. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 06113c1c70349f5f888436ac2af28c707f4602ef Author: David Woodhouse Date: Tue Dec 11 22:52:03 2007 -0500 libertas: add debugging output to lbs_mesh_config() Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 8642f1f06292c4f30c7870a693f9ae94252e7ff2 Author: David Woodhouse Date: Tue Dec 11 20:03:01 2007 -0500 libertas: disable mesh temporarily while setting eth channel/assoc Otherwise the device won't let us change channels. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 88ae2915ccff97466e7a1e542f4a4d01c46b23f6 Author: David Woodhouse Date: Tue Dec 11 19:57:05 2007 -0500 libertas: add missing newline on debug message Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 823eaa2cc261e3723772aa4aaa4d76c5815b117f Author: David Woodhouse Date: Tue Dec 11 19:56:28 2007 -0500 libertas: allow setting channel on mshX device Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit f5956bf1e4575175135d636db1b7f3ab950e0dc3 Author: David Woodhouse Date: Tue Dec 11 19:30:57 2007 -0500 libertas: allow get/set SSID on mshX device Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 387a1f046fcaf299d93bb6de81257670a4442648 Author: David Woodhouse Date: Tue Dec 11 18:53:20 2007 -0500 libertas: whitespace cleanup in host.h Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 202f3f3ac90d8781ec1f37556c63aaf594b53581 Author: David Woodhouse Date: Tue Dec 11 18:36:35 2007 -0500 libertas: kill rx_urb_recall and eth_dev members of struct usb_card_rec Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 1f8a08342c8c1c90d0b752f28eb6f24ea7164cdb Author: David Woodhouse Date: Tue Dec 11 18:57:49 2007 -0500 libertas: kill references to mesh autostart Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 23a397ac821ab0aa263bda47131bb0628e49101a Author: David Woodhouse Date: Tue Dec 11 18:56:42 2007 -0500 libertas: add lbs_mesh sysfs attribute for enabling mesh Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit e7240acae372727aa8eb3a67ca7b189dd261136a Author: David Woodhouse Date: Tue Dec 11 17:54:36 2007 -0500 libertas: fix sparse endianness warnings in scan.c Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 2fd6cfe307557f3022b47288db3dc094c076e539 Author: David Woodhouse Date: Tue Dec 11 17:44:10 2007 -0500 libertas: make some more functions static sparse was getting on my tits. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit cb182a602802b36ff992afe238e1a3eafc0956b2 Author: Dan Williams Date: Tue Dec 11 17:35:51 2007 -0500 libertas: endianness fixes for get_channel/set_channel Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 2dd4b26264d48f10e802cc9f2d75542be5a3c7fa Author: Dan Williams Date: Tue Dec 11 16:54:15 2007 -0500 libertas: convert RF_CHANNEL to a direct command Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 8e3c91bb70372da692a5fefae9f698c94bb1e641 Author: Dan Williams Date: Tue Dec 11 15:50:59 2007 -0500 libertas: convert DATA_RATE to a direct command Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 79a9a37c1eb13bd645ec423c0c30b70838e7bf93 Author: Dan Williams Date: Tue Dec 11 15:29:10 2007 -0500 libertas: fix case of FWT_ACCESS_LIST_ROUTE and FWT_ACCESS_LIST_NEIGHBOR commands Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 0f1c8232e839e215e38055cd8ae79225ab178185 Author: David Woodhouse Date: Tue Dec 11 15:28:18 2007 -0500 libertas: remove casts from lbs_cmd() and lbs_cmd_with_response() macros If stupid people like me give it arguments with the wrong type (like a pointer to the structure, for example, instead of the structure itself), then we should probably notice that at compile time. Otherwise, much confusion ensues. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 301eacbf30e33f461701df91cb250d3fc24c5fe5 Author: David Woodhouse Date: Tue Dec 11 15:23:59 2007 -0500 libertas: convert CMD_MESH_ACCESS to a direct command Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ad9d7a7f3cc73a6288920cc17c807f56bd8327fc Author: David Woodhouse Date: Tue Dec 11 15:22:27 2007 -0500 libertas: fix debug output in lbs_cmd_copyback() function. Bad dcbw. Always test on big-endian, or at least use sparse. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ddac452680a5164bb47d61ea54f596ddaf3aea7d Author: Dan Williams Date: Tue Dec 11 13:49:39 2007 -0500 libertas: rename and re-type bufvirtualaddr to cmdbuf Make it a struct cmd_header, since that's what it is, and clean up the places that it's used. Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c9cd6f9d630c4422d5f7eb8018b28846e25dba20 Author: David Woodhouse Date: Tue Dec 11 13:15:25 2007 -0500 libertas: wait for 'firmware ready' event from firmware after loading Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 10bca0d5f4829a8acd9a7a51cb7b35e38b23280a Author: David Woodhouse Date: Tue Dec 11 12:54:43 2007 -0500 libertas: move removal of lbs_rtap file to lbs_stop_card() This prevents us from trying to remove it when it didn't exist, in the error case. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6bc822b5164e66ab9b93f96172df8902bfd37618 Author: David Woodhouse Date: Tue Dec 11 12:53:43 2007 -0500 libertas: switch USB cardp->priv to 'struct lbs_private *' and resulting fix Amazing what interesting things the compiler will tell you if you let it know what types you expect to be passing around. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6e66f03ff78b23d845920739373b1561c546b13f Author: Dan Williams Date: Tue Dec 11 12:42:16 2007 -0500 libertas: convert GET_HW_SPEC to a direct command Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit a8bdcd71fd33e4a919f9f0cb32207c644b70853f Author: Dan Williams Date: Tue Dec 11 12:40:35 2007 -0500 libertas: add simple copyback command callback A simple callback which copies the response back into the command buffer that was used to send the command to the card. Will allow for direct command processing outside the mega-switches in cmd.c and cmdresp.c. Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 7ad994dec7d36c319cb35cbf3a920d3bda96e6b0 Author: Dan Williams Date: Tue Dec 11 12:33:30 2007 -0500 libertas: clean up direct command handling Move direct command handling through __lbs_cmd() over to using the header as the first member of the command structure, and only define the __lbs_cmd() callback in one place rather than 3. Convert boot2 version command to new usage. Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b15152a4033d4c82015bb79c6b81eeb0a2edeeea Author: David Woodhouse Date: Tue Dec 11 11:55:37 2007 -0500 libertas: don't run thread while firmware not yet ready Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 4f82f5c853e314dfe877b87b4c1e4b127ee9a34b Author: David Woodhouse Date: Tue Dec 11 00:07:58 2007 -0500 libertas: switch to a waitqueue and timer for handling USB firmware load No need to busy-wait, even if we did have a 100ms delay in the loop. This makes it easier to support the new 'firmware ready' event which is in the new firmware, too. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c8ba39d0605200c81f43c59418871e036d973685 Author: David Woodhouse Date: Mon Dec 10 18:53:34 2007 -0500 libertas: improve reliability of firmware reloading on USB Increase the delay between issuing the RESET command and the usb reset, and be prepared to discard more than one 'normal' packet from it before it resets. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 8552855f9860b222673e86a88de2543f53f83dc2 Author: David Woodhouse Date: Mon Dec 10 16:38:18 2007 -0500 libertas: make rtap and normal modes mutually exclusive, clean up open/stop Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 852e1f2a2627274102a3c2dc70a6547aeab99cb6 Author: Dan Williams Date: Mon Dec 10 15:24:47 2007 -0500 libertas: clean up is_command_allowed_in_ps() Total overkill to have an array when there's only one command in it. Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b31d8b90dcc6fbe39147863d13b93a8d49d2b341 Author: David Woodhouse Date: Mon Dec 10 15:25:42 2007 -0500 libertas: remove pre_open_check() The firmware is always initialised before we register the netdevices. It's not possible for pre_open_check() to fail. One day we might try loading firmware in ->open(), but still it won't be just a _check_, like this. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 14e865ba5d9e9adc90363e572743ac238935ba38 Author: Dan Williams Date: Mon Dec 10 15:11:23 2007 -0500 libertas: make lbs_cmd() usage nicer Define a macro that relieves the caller from having to use sizeof on the command structure when calling lbs_cmd(), and move the prototype of __lbs_cmd() to a new cmd.h file. Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 4f679496567809ce1e95730c25274e1832537f4b Author: David Woodhouse Date: Mon Dec 10 14:58:37 2007 -0500 libertas: clean up lbs_interrupt() Make it take struct lbs_private as argument; that's all it wants anyway, and all callers were starting off from that. Don't wake the netif queues, because those should be handled elsewhere. And sort out the locking, with a big nasty warning for those who don't have the driver_lock locked when they call it. Oh, and fix if_cs.c to lock the driver_lock before calling it. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 1309b55b4de18bbfe19c73225a5481d6cdc8a463 Author: David Woodhouse Date: Mon Dec 10 13:36:10 2007 -0500 libertas: add opaque extra argument to cmd callback function This will be useful for letting callbacks do stuff like copying the response into a buffer provided by the caller of lbs_cmd() Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b6b8abe4ddec2cfb3471ea60f965a137cd4d529d Author: Holger Schurig Date: Mon Dec 10 12:19:55 2007 +0100 libertas: fix use-after-free error Previously, the display of subscribed events could be wrong. Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c3f949618d01d6c40a0267ae8c01695cc2de08e2 Author: David Woodhouse Date: Mon Dec 10 00:51:35 2007 -0500 libertas: kill (IS,SET,UNSET)_MESH_FRAME. No need for these any more. We've collapsed all the unneeded nests of functions which needed to keep track of which device the skb belonged to. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6f93a8e7e41c2d29749242f983f41e3f6a75b40b Author: David Woodhouse Date: Mon Dec 10 00:49:26 2007 -0500 libertas: kill lbs_upload_tx_packet() It replaces two lines of code. And even for those it has to make inferences about things (i.e. which device) which the caller would have just known. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 7bf02c2985ced746f8b8956dbe4b0384edb41846 Author: David Woodhouse Date: Mon Dec 10 00:17:28 2007 -0500 libertas: fix error cases in lbs_process_rxed_802_11_packet() Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 180be755aec37483337f64bfca3d4b02f5c8fef4 Author: David Woodhouse Date: Mon Dec 10 00:05:37 2007 -0500 libertas: remove unreachable code from process_rxed_802_11_packet() The function is only ever called if we're in rtap mode. So the bit in it which is conditional on rtap mode seems a little superfluous. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 2eb188a1c57ae79283cee951c317bd191cf1ca56 Author: David Woodhouse Date: Sun Dec 9 23:54:27 2007 -0500 libertas: Move actual transmission to main thread The locking issues with TX, especially TX from multiple netdevs, get _so_ much easier if you do it like this. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b8d40bc9c9099943cbcf18d285bf241f1f080a44 Author: David Woodhouse Date: Sun Dec 9 23:44:43 2007 -0500 libertas: refactor the 'should I sleep?' decision in lbs_thread() This was making my brain hurt. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 45c24903b7026ec99c059d690f3618e3f95f2790 Author: David Woodhouse Date: Sun Dec 9 22:02:46 2007 -0500 libertas: free successfully transmitted skbs again I was so busy cleaning up the failure modes that I accidentally forgot to make sure we still free them in the success case. Oops. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit a97bcfed96b563f56f55dbccee70e09bd2800414 Author: David Woodhouse Date: Sun Dec 9 22:00:55 2007 -0500 libertas: TX packet is radiotap iff it comes from rtap_dev Fix one of the barriers to simultaneous radiotap and normal operation -- stop misinterpreting the TX packets on the normal devices. We're also going to have to clone the incoming skbs and feed them into both devices, and there seem to be firmware problems with staying associated too. But this is a reasonable start... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 121947c62ab049bfaeb8fadc9908834b5a99daf0 Author: David Woodhouse Date: Sun Dec 9 19:54:11 2007 -0500 libertas: set dev_addr on rtap device This lets us bring it up, because eth_validate_addr() succeeds instead of returning -EINVAL. And finally monitor mode seems to (mostly) work. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit d9268fb9a124d067cf93710a85bb6c158d131c97 Author: David Woodhouse Date: Sun Dec 9 16:22:21 2007 -0500 libertas: stop using ieee80211 for radiotap device There seems to be no point in doing it as an ieee80211 device instead of a normal netdev, and when we override its ->priv and then call free_ieee80211() it has a distressing tendency to crash horribly. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 198cefb9320ea0aa1be43a93b398435447583081 Author: David Woodhouse Date: Sun Dec 9 15:04:19 2007 -0500 libertas: kill lbs_pre_start_xmit(), lib_mesh_pre_start_xmit() These wrappers only do two things. Firstly, they set the frame type, which isn't necessary since lbs_hard_start_xmit() gets to see which device it belongs to anyway. Secondly, they return -EOPNOTSUPP if the device is in monitor mode. Which is a strange thing to do and will provide nasty warnings from qdisc_restart(). And lbs_hard_start_xmit() seems to have code to cope with monitor mode anyway. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit a2b62dc1f17db16034cd4eee0f14e6e56065547c Author: David Woodhouse Date: Sun Dec 9 14:37:59 2007 -0500 libertas: clean up lbs_hard_start_xmit() Having merged the nest of functions into one, now we can clean it up and fix the error handling, and the duplication -- and at least make a start on the locking. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 8af23b2f96dc3dabbc791c75f7c98a7b0d287177 Author: David Woodhouse Date: Sun Dec 9 12:57:14 2007 -0500 libertas: kill lbs_process_tx() by merging it into lbs_hard_start_xmit() Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit a9bdce6564b25268af7315d3dd17f4f5b6435a45 Author: David Woodhouse Date: Sun Dec 9 12:52:19 2007 -0500 libertas: move lbs_hard_start_xmit() into tx.c ... where it can shortly be merged with lbs_process_tx()... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6b4a7e0fbd772495572e038d296853a741e0454b Author: David Woodhouse Date: Sun Dec 9 12:48:10 2007 -0500 libertas: kill SendSinglePacket() function. Make a start on reducing the number of pointless nested functions, starting with the StudlyCaps. No semantic changes (yet) -- we can sort out the now-obvious discrepancy in the failure paths in a separate commit. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 2abdc0b7756ece70b1f0fd65a651bf8ce487a223 Author: David Woodhouse Date: Sun Dec 9 12:37:27 2007 -0500 libertas: kill internal tx queue for PS mode It was buggy as hell anyway, since it was just spewing packets at the device when it wasn't necessarily ready for them (in the USB case, while the URB was still busy). We could probably do with a better way of flushing packets to the device _immediately_, before we stick it back into sleep mode. But we can no longer just dequeue packets directly, it seems. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 020bb19e2f8cfebb314b8bce4bc48a511c6f5940 Author: David Woodhouse Date: Sun Dec 9 11:08:25 2007 -0500 libertas: stop debugfs code looking at cmdpendingq It doesn't need to wait until no commands are pending anyway -- it only needs to wait until the scan is finished. We can hopefully find it something else to wait on too -- it's the only user of the cmd_pending waitqueue. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6d35fdfced3922aa27f130eec2b28857c39298fd Author: David Woodhouse Date: Sat Dec 8 23:49:06 2007 +0000 libertas: cope with device which already has firmware loaded Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit a63b22bb5bb58d7a1d1b38aeac9a55c51565131c Author: David Woodhouse Date: Sat Dec 8 20:56:44 2007 +0000 libertas: use lbs_host_to_card_done() in lbs_tx_timeout() Also attempt some locking in lbs_host_to_card_done() Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit aa21c004f80bdf943736c62dccf0c0398d7824f3 Author: David Woodhouse Date: Sat Dec 8 20:04:36 2007 +0000 libertas: kill struct lbs_adapter There seems to be no reason for a separate structure; move it all into struct lbs_private. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit f86a93e1b2d05a7a38a48c91f8fb8fc7e8f1c734 Author: David Woodhouse Date: Sat Dec 8 19:46:19 2007 +0000 libertas: kill TxLockFlag We don't need this. We can use adapter->currenttxskb instead. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit e7deced05f15693cca71bfae747b8d57eadeb1b2 Author: David Woodhouse Date: Sat Dec 8 18:29:16 2007 +0000 libertas: fix lbs_rtap attribute in sysfs At least it doesn't oops when you attempt to read or write it now. Only when you enable it and then later turn it off. And when it's enabled I don't see how it actually works. But one fewer oops is good, for now... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 59f3e4bf1e3bc385d91a993d75865f99baa0486d Author: David Woodhouse Date: Sat Dec 8 17:42:59 2007 +0000 libertas: clean up lbs_thread() to make it slightly more readable No semantic changes. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 448a51ae0684c146c9f9ba4e178ab2182512258f Author: David Woodhouse Date: Sat Dec 8 00:59:54 2007 +0000 libertas: switch lbs_cmd() to take a callback function pointer All existing code which sends commands is set up to have some function called with the results, not to get data back. It's more versatile this way, and providing it with a callback function which involves memcpy() is hardly difficult. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ac47246e246c183ed68b3fdb307a83d00313a325 Author: David Woodhouse Date: Sat Dec 8 00:35:00 2007 +0000 libertas: kill adapter->nr_cmd_pending Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 99c893f34ab932171af27264c0cba4946ca0c355 Author: David Woodhouse Date: Sat Dec 8 00:23:55 2007 +0000 libertas: Fix up error handling in lbs_setuserscan() Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c12bdc45d9bc4e576ca54944b708cd45c738ec07 Author: David Woodhouse Date: Fri Dec 7 19:32:12 2007 +0000 libertas: Don't set IW_ENCODE_NOKEY when returning WEP keys. Also clean up the double setting/clearing of IW_ENCODE_DISABLED. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c2df2efe96742b78454acdffe6d278ae334fc838 Author: Holger Schurig Date: Fri Dec 7 15:30:44 2007 +0000 libertas: endianness fixes Recently I found that that sparse by default doesn't endianness checks. So I changed my compilation habit to be make modules C=1 SUBDIRS=drivers/net/wireless/libertas CHECKFLAGS="-D__CHECK_ENDIAN__" so that I get the little-endian checks from sparse as well. That showed up a good bunch of problems. Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 1723047d6742cc172d5c0f1a5245deaee67ff331 Author: David Woodhouse Date: Fri Dec 7 15:13:05 2007 +0000 libertas: Switch to using a callback function pointer for commands Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 0856e6816b30a84aa74c70ecb2bde0c41402f647 Author: David Woodhouse Date: Fri Dec 7 15:12:26 2007 +0000 libertas: when usb_submit_usb fails, include the error code in the printk Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ffd074fc78c1053b1f1697ebbe5bcfbb64949d16 Author: Holger Schurig Date: Fri Dec 7 16:52:10 2007 +0100 libertas: implement new scanning logic This changes the code that is used for scanning and makes it hopefully easier to understand: * move function into logical blocks * create a bunch of lbs_scan_add_XXXX_tlv() functions, that help to create the TLV parameter of CMD_802_11_SCAN * all of them are now called from the much simpler lbs_do_scan() * no **puserscancfg double-pointers :-) Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 83eacf233e62349c8a7282616fedc602ee95a555 Author: David Woodhouse Date: Fri Dec 7 12:56:45 2007 +0000 libertas: Fix endianness in boot2_version handling. We read it from the card. We byte-swap it. We write it back to the card. D'oh. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit f9f6890e41815cfb8aa34fe9efb216fcc16eea9e Author: David Woodhouse Date: Thu Dec 6 14:44:21 2007 +0000 libertas: Remove SET_BOOT2_VER support from the Big Switch Statement. And the death of libertas_prepare_and_send_command() starts... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 04c80f1ab1333f21aa4e92f3554e83365da449a0 Author: David Woodhouse Date: Thu Dec 6 12:51:00 2007 +0000 libertas: Use lbs_cmd() for setting Boot2 version Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 09d4fad6e8972061fbb0e2e5ae9e686d84f57af6 Author: Holger Schurig Date: Thu Dec 6 13:50:30 2007 +0100 libertas: fix data packet size errors I wondered about junk bytes at the end when using "lbsdebug +hex +host" until I noticed that firmware for the CF card sends my extranous bytes. It says "I have 20 bytes", I take 20 bytes, but the last 8 bytes of this are just data junk. Also, in the new lbs_cmd() where was a size miscalulation that made itself clear after fixing this bug. Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit abe3ed14d39adcea9ae186cf741b15d11544458f Author: Li Zefan Date: Thu Dec 6 13:01:21 2007 +0100 libertas: don't cast a pointer to pointer of Don't cast struct foo * to struct list_head *, it's safe only when the list member is the first member of struct foo. Also don't cast struct list_head * to struct foo *. Signed-off-by: Li Zefan Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6228c0aea544f5292977e6b27cd231a4ea137a62 Author: David Woodhouse Date: Thu Dec 6 12:38:31 2007 +0000 libertas: Byteswap cmdptr->size in lbs_cmd() Bad Holger. Always test on big-endian machines, if it's little-endian you need to be swapping to/from. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ad9de29130599d4be3467932643797da3b9869f6 Author: David Woodhouse Date: Thu Dec 6 12:37:31 2007 +0000 libertas: Zero 'pdata_size' field in cmd_ctrl_node reliably. Otherwise, lbs_process_rx_command() will take the new path for lbs_cmd() responses, when it shouldn't. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 2c94404c30008a10ccd3c7e31645626eb90a8a06 Author: David Woodhouse Date: Thu Dec 6 14:41:08 2007 +0000 libertas: Move SET_BOOT2_VER command to if_usb where it belongs This is meaningless for non-USB devices and unimplemented in their firmware. It's somewhat dubious for USB devices too, but that's a different story. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 9088566176cb7f7361e862557eb20adfdd1bfc1f Author: David Woodhouse Date: Thu Dec 6 10:36:08 2007 +0000 libertas: Don't claim to have checksummed incoming packets. This explains why we never noticed the corruption of checksums on outgoing packets... we weren't actually checking them either. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 675787e29fd97d08bf7e6253c89ab6de23bf7089 Author: Holger Schurig Date: Wed Dec 5 17:58:11 2007 +0100 libertas: handy function to call firmware commands Using an arbitrary firmware command was actually very painful. One had to change big switch() statements in cmd.c, cmdresp.c, add structs to the big union in "struct cmd_ds_command" and add the define for the CMD_802_11_xxx to the proper place. With this function, this is now much easier. For now, it implements a blocking (a.k.a. CMD_OPTION_WAITFORRSP) way where one deals directly with command requests and response buffers. You can do everything in one place: Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 0d61d04210b617963c202a3c4dcbcd26a024d5d3 Author: Holger Schurig Date: Wed Dec 5 17:58:06 2007 +0100 libertas: make more functions static These functions were used in the old debugfs code for events, but as this code is now gone, there's no need to export those functions. Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c68b3bbdb596b5f82f1f0731f6fcb210735aff39 Author: Holger Schurig Date: Wed Dec 5 17:57:58 2007 +0100 libertas: remove cmd_ctrl_node->status There was no code that ever did set this variable. Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 891f32a1c4fe5c57f15873fa1d9fff425b30ab4d Author: Holger Schurig Date: Wed Dec 5 17:57:56 2007 +0100 libertas: remove cmd_ctrl_node->cmdflags There was no code that ever did set this flag. Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit e775ed7c677b163c80643036c32e23d3e59b9429 Author: David Woodhouse Date: Thu Dec 6 14:36:11 2007 +0000 libertas: Consolidate lbs_host_to_card_done() function. As we move towards having this done by a state machine, start by having a single 'stuff sent' function, which is called by if_usb/if_sdio/if_cs after sending both data and commands. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit f5ece8fc8d3f5e36bda3554b74b0fbecb0a14309 Author: David Woodhouse Date: Sat Dec 1 15:15:41 2007 +0000 libertas: Remove cmd_oid from struct cmd_ctrl_node This is only needed for SNMP and key operations; it doesn't need to be preserved outside that context. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 77d8cf2c093be3b58f6deed10673d0bc8cbd4202 Author: David Woodhouse Date: Wed Nov 28 16:20:51 2007 +0000 libertas: Fix memory leak of RX skbs Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 38d1b4ce901506729f6c7f9a14f02f4327c577cc Author: Michael Buesch Date: Wed Dec 12 22:05:18 2007 +0100 b43: Fix for broken transmission This patch fixes the transmission problems introduced by commit f04b3787bbce4567e28069a9ec97dcd804626ac7 I'm not sure if the dummy read is really required. The old code does it. I think it can't hurt and can possibly fix some write posting problems (hardware bugs or whatever. Who knows). Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 8ed7fc48eb31e583bb31c2bcfdd3a9c557bad5d0 Author: Michael Buesch Date: Sun Dec 9 22:34:59 2007 +0100 b43: Fix ofdmtab write regression commit f04b3787bbce4567e28069a9ec97dcd804626ac7 introduced a regression for the ofdmtable writing. It incorrectly removed the writing of the high 16bits for a 32bit table write and initialized the direction identifier too late. This patch does also some cleanups to make the code much more readable and adds a few comments, so non rocket scientists are also able to understand what this address caching is all about. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit bb54244be7d12c2a5985226061d598edb49c9078 Author: Tomas Winkler Date: Wed Dec 5 20:59:59 2007 +0200 iwlwifi: add missing comments This patch add comments that escaped from the previous merge Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 4fd1f8414664b3e834aa46cdbf8f0c12fc42a878 Author: Tomas Winkler Date: Wed Dec 5 20:59:58 2007 +0200 iwlwifi: fix compliation warnings This patch fixes compilation warnings introduced by 'fix ucode assertion for RX queue overrun' patch Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 0946687803ff5495e4b7c0b7f2c6d002398bd5fa Author: Reinette Chatre Date: Wed Dec 5 20:59:57 2007 +0200 iwlwifi: remove HT code from iwl-3945.h This pach removes HT code from iwl-3945.h - it is not needed here as 3945 does not support HT. The code ended up here during the header file split Signed-off-by: Reinette Chatre Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 2236761b8c53b2e352808576ff51f108b01a0ea8 Author: Dan Williams Date: Wed Dec 5 11:01:23 2007 -0500 orinoco: always use latest BSS info when caching scan results Always copy the latest BSS information from the firmware's results to the driver's BSS table to ensure that everything is up-to-date (IEs, supported rates, encryption status, etc). Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit ef3122463d18c0a05b85654473b855a2af494221 Author: Adrian Bunk Date: Tue Dec 11 23:20:30 2007 +0100 ipg: add __devexit annotation ipg_remove() can become __devexit. Signed-off-by: Adrian Bunk commit 2b1ea591f6714729e5a998064ba9bff503137aa8 Author: John W. Linville Date: Tue Dec 4 17:24:35 2007 -0500 rt2x00: correct "skb_buff" typo Signed-off-by: John W. Linville Signed-off-by: Jeff Garzik commit 8da5bb7a274559737defa400a42461e1366fc30a Author: Pekka Enberg Date: Fri Nov 30 09:55:43 2007 +0200 ipg: fix checkpatch reported errors Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang commit 9893ba16c8fb9c94729061a88bdee40ecf3a3899 Author: Pekka Enberg Date: Thu Jan 24 02:01:17 2008 -0800 ipg: naming convention fixes This changes some camel-case names to follow proper kernel naming convention. Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang Signed-off-by: David S. Miller commit dea4a87cabc4ba0c09123c6e8392aa68fe437b31 Author: Pekka Enberg Date: Fri Nov 30 09:54:51 2007 +0200 ipg: remove some internal comments This removes some now useless comments that were added when the driver was developed out-of-tree. Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang commit 6d3b2cb92bee1cec43c716f4cd6554be1e6b36ea Author: Pekka Enberg Date: Fri Nov 30 09:54:33 2007 +0200 ipg: remove commented out code Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang commit 1662e4b7af956979c6cb864bf23cf88f882cdaf8 Author: Pekka Enberg Date: Fri Nov 30 09:54:06 2007 +0200 ipg: remove driver version The driver is in mainline now so there's no need to maintain a separate version number. Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang commit 85d68a58833a9e361ecabd5e89d228301d346d94 Author: Pekka Enberg Date: Fri Nov 30 09:53:51 2007 +0200 ipg: remove IPG_DEV_KFREE_SKB macro Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang commit 4602e665ff45e0af4cc64a6caf4c872f18d14148 Author: Pekka Enberg Date: Fri Nov 30 09:53:33 2007 +0200 ipg: remove boolean macros Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang commit 9305a775210030a09f2e373e72920573770a37de Author: Pekka Enberg Date: Fri Nov 30 09:53:09 2007 +0200 ipg: remove old contact information Remove old comment as up-to-date contact information is in MAINTAINERS. Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang commit 35a84fdc89c493a6b0c1eb61296f9bd514f7b947 Author: Grant Likely Date: Sat Dec 1 22:12:45 2007 -0700 gianfar driver: eliminate compiler warnings and unnecessary macros This patch eliminates the warning of unused return values when the driver registers it sysfs files. Now the driver will print an error if it is unable to register the sysfs files. It also eliminates the macros used to wrap the DEVICE_ATTR macro and the device_create_file function call. The macros don't reduce the number of lines of source code in the file and the name munging makes is so that cscope and friends don't see the references to the functions. It's better to just call the kernel API directly. While we're at it, the DEVICE_ATTR instances have been moved down to be grouped with the functions they depend on. Signed-off-by: Grant Likely Signed-off-by: Jeff Garzik commit 43fd6c7ebdd50276a7d26d7dddcb109c291dde50 Author: Andrea Merello Date: Sun Dec 2 17:17:51 2007 -0500 rtl8187: fix tx power reading CCK and OFDM power levels are stored in adjacent bytes, not nibbles. Signed-off-by: Michael Wu Signed-off-by: Andrea Merello Signed-off-by: John W. Linville commit 9ee1ba474fc37bcaf6a958bf7e995006fc69893b Author: Ron Rindjunsky Date: Mon Nov 26 16:14:42 2007 +0200 iwlwifi: 802.11n add support to 8K A-MSDU Rx frames This patch give the iwlwifi the ability to support A-MSDU up to 8K Please notice - in order to work in 8K A-MSDU ucode support is needed, version 4.44.1.19 (soon to be published). 4K A-MSDU works in current ucode version as well. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 270243a50574455f593378377c0fa74284730f7d Author: Ron Rindjunsky Date: Mon Nov 26 16:14:41 2007 +0200 iwlwifi: 802.11n comply HT rate scaling flows with mac80211 framework This patch conforms the rate scaling flows according to the new mac80211's HT framework Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 67d620357a186adc0f4e7d1f5b095ea2c77e7072 Author: Ron Rindjunsky Date: Mon Nov 26 16:14:40 2007 +0200 iwlwifi: 802.11n comply HT add station flow with mac80211 framework This patch conforms the addition of a new station to the iwlwifi station table according to the new mac80211's HT framework Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit fd105e79d19439d29a6561178fb5fe511e141f6b Author: Ron Rindjunsky Date: Mon Nov 26 16:14:39 2007 +0200 iwlwifi: 802.11n comply HT self configuration flow with mac80211 framework This patch conforms HW configuration changes according to new mac80211's HT framework Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 8fb8803239debda77b90f7e4a5098067187d865e Author: Ron Rindjunsky Date: Mon Nov 26 16:14:38 2007 +0200 iwlwifi: 802.11n handling probe request HT IE This patch conforms the probe request's HT IE with the new structures used in iwlwifi HT. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 326eeee807ca7ed4489cb21d4ebe8e52079c11c3 Author: Ron Rindjunsky Date: Mon Nov 26 16:14:37 2007 +0200 iwlwifi: 802.11n configuring hw_mode parameters to support HT in A/G This patch fills the mac80211's ieee80211_hw_mode structures with the needed 802.11n data needed for the new framework Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 9e0cc6de99792151b16dbd622b11ba6607a85b72 Author: Ron Rindjunsky Date: Mon Nov 26 16:14:36 2007 +0200 iwlwifi: 802.11n new framework structures preperation This patch removes unnecessary or duplicate 802.11n data from structures in the code, and prepares them for new mac80211's 802.11n framework Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 923effd8d231ac480c6007e2a377c001a343a0ba Author: Ron Rindjunsky Date: Mon Nov 26 16:14:35 2007 +0200 iwlwifi: 802.11n remove unnecessary config dependency This patch removes MAC80211_HT config dependency as it has been eliminated in mac80211, and adds a needed QoS dependency Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 76bb77e03f5b01fb83fb9fa79febba6e499f948b Author: Zhu Yi Date: Thu Nov 22 10:53:22 2007 +0800 iwlwifi: cache mac80211 conf setting during a hardware scan This patch caches mac80211 configuration setting during a hardware scan for the iwlwifi drivers. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit a84fd3452d65bd3ec39168ff976f9316f33ab8eb Author: Miguel Botón Date: Sun Nov 25 15:58:07 2007 +0100 iwlwifi: remove redundant declaration of 'iwl3945_priv' and 'iwl4965_priv' structs This patch removes a redundant declaration of 'iwl3945_priv' and 'iwl4965_priv' structs. Signed-off-by: Miguel Boton Signed-off-by: John W. Linville commit d128394894d6489370e4e3466e799ec9e5a705a3 Author: Zhu Yi Date: Thu Nov 29 11:10:16 2007 +0800 iwlwifi: update version number to 1.2.22 Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fde3571fd8613483f1203d11394ae316c6b79a03 Author: Mohamed Abbas Date: Thu Nov 29 11:10:15 2007 +0800 iwlwifi: avoid firmware command sending if rfkill is enabled This patch fixed a ucode timeout issue and worked code with suspend to disk. Signed-off-by: Mohamed Abbas Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5c0eef960bdb87a53ba390aab7b069b2bc8d7f6d Author: Mohamed Abbas Date: Thu Nov 29 11:10:14 2007 +0800 iwlwifi: fix ucode assertion for RX queue overrun This patch allows the driver to restock the RX queue early if the RX queue is almost empty. This will help on avoiding any ucode assert for the RX overrun problem. Signed-off-by: Mohamed Abbas Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7878a5a4fcc5002e805c054730c4c5639c9d071d Author: Mohamed Abbas Date: Thu Nov 29 11:10:13 2007 +0800 iwlwifi: enhance WPA authenication stability This patch enhanced WPA authenication stability by avoiding scan immediately followed by association. We don't do any scanning right after association in next several seconds. This will allow WPA authentication to take place without any interruption. Signed-off-by: Mohamed Abbas Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 2bdc7031f9ea1826e16bffc3540d05de891c98bc Author: Ben Cahill Date: Thu Nov 29 11:10:12 2007 +0800 iwlwifi: document 4965 rate scaling Document 4965 rate scaling Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 529699815b79f15a6644786dc4d6e9dd5153a447 Author: Ben Cahill Date: Thu Nov 29 11:10:11 2007 +0800 iwlwifi: add comments to Tx commands Add comments to Tx commands Clean up unused definitions in iwl-3945-commands.h Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 2054a00bb83409345d14a944e25c15e6ea317651 Author: Ben Cahill Date: Thu Nov 29 11:10:10 2007 +0800 iwlwifi: add comments to QOS and ADD_STA commands Add comments to QOS and ADD_STA commands Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 80cc0c382db318de88577eff027d5c4097abef81 Author: Ben Cahill Date: Thu Nov 29 11:10:09 2007 +0800 iwlwifi: add comments to RXON command and txpower formats Add comments to RXON command and txpower formats Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 075416cd18cb4a7ed057d9a96b388bc23b43c4b1 Author: Ben Cahill Date: Thu Nov 29 11:10:08 2007 +0800 iwlwifi: document command header and "alive" responses Document command header and "alive" responses Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e3851447664113bccf9b23af0308e266872a735c Author: Ben Cahill Date: Thu Nov 29 11:10:07 2007 +0800 iwlwifi: document 4965 Tx scheduler Document 4965 Tx scheduler Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5d5456fe50cb07347dd350fc045dc98677dbc58f Author: Ben Cahill Date: Thu Nov 29 11:10:06 2007 +0800 iwlwifi: document shared Tx structures Document shared Tx structures Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 483fd7e5ffa527daeaff006e033225e273d110f8 Author: Ben Cahill Date: Thu Nov 29 11:10:05 2007 +0800 iwlwifi: document Tx registers Document Tx registers Clean up unused definitions Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 4d3cf5f7c2290c6cbe7ae1722bf2f938c81ef887 Author: Ben Cahill Date: Thu Nov 29 11:10:04 2007 +0800 iwlwifi: document Rx registers Document Rx registers Document Tx circular buffer base registers Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit aad141433b630e3e28bab1e27606a688b22dbcc1 Author: Ben Cahill Date: Thu Nov 29 11:10:03 2007 +0800 iwlwifi: document keep-warm buffer Document keep-warm buffer Consolidate flow handler address definitions Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 0c434c5a7f9983c8ee3c8943924db8c5fb1d12bd Author: Ben Cahill Date: Thu Nov 29 11:10:02 2007 +0800 iwlwifi: document txpower calculations Document txpower calculations Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5991b419f04dee78c36d43de6b6ff2d27934d707 Author: Ben Cahill Date: Thu Nov 29 11:10:01 2007 +0800 iwlwifi: document temperature calculation Document temperature calculation Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fcd427bbba10fc315d1c958b85bba74448db4eb4 Author: Ben Cahill Date: Thu Nov 29 11:10:00 2007 +0800 iwlwifi: move HT_IE_EXT_CHANNEL_* driver definitions to iwl-4965.h Move HT_IE_EXT_CHANNEL_* driver definitions to iwl-4965.h Add comments to guide .h file usage (hw/api/driver definitions) Minor comment cleanup Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 14519a0b46085db68e610147098d03386c34801f Author: Ben Cahill Date: Thu Nov 29 11:09:59 2007 +0800 iwlwifi: move uCode API definitions to iwl-4965-commands.h Move uCode API definitions to iwl-4965-commands.h Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 2248d8d8bc9799baf7f0a08afee7cb3afcc20ed3 Author: Ben Cahill Date: Thu Nov 29 11:09:58 2007 +0800 iwlwifi: clean up unused definitions in iwl-4965-hw.h Clean up unused definitions in iwl-4965-hw.h Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9948b5445614a75112b85ae3bc8f6e2f6655c7df Author: Ben Cahill Date: Thu Nov 29 11:09:57 2007 +0800 iwlwifi: Clean up unused definitions in iwl-3945-hw.h Clean up unused definitions in iwl-3945-hw.h Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6440adb5760a897497c2b1ebdccc32c7944fd57f Author: Cahill, Ben M Date: Thu Nov 29 11:09:55 2007 +0800 iwlwifi: add comments to iwl*-base.c Add comments to iwlXXXX-base.c Signed-off-by: Cahill, Ben M Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 8b6eaea8ec79b111a18a1c60333deb16ba27e6b3 Author: Cahill, Ben M Date: Thu Nov 29 11:09:54 2007 +0800 iwlwifi: add comments, mostly on Tx queues Add comments, mostly on Tx queues Signed-off-by: Cahill, Ben M Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 74093ddf4c42da74922b63fb6844989e21164d9e Author: Ben Cahill Date: Thu Nov 29 11:09:53 2007 +0800 iwlwifi: clean up some unused definitions in iwl-4965.h and iwl-3945.h Clean up some unused definitions in iwl-4965.h and iwl-3945.h Move STA_FLG_ definitions to iwl-4965-commands.h Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1fea8e8838d009545d94588ac41037d8f20f969d Author: Ben Cahill Date: Thu Nov 29 11:09:52 2007 +0800 iwlwifi: Partially clean-up, add comments to iwl-*-hw.h Partially clean-up, add comments to iwl-XXXX-hw.h Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f7d09d7c453f197d802c50172b27170a43e1a816 Author: Ben Cahill Date: Thu Nov 29 11:09:51 2007 +0800 iwlwifi: Document Rx calibration Document Rx calibration Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit abceddb40728397fcfd0b295d7530920a606ab88 Author: Ben Cahill Date: Thu Nov 29 11:09:50 2007 +0800 iwlwifi: Document 4965 rate_n_flags bits Document 4965 rate_n_flags bits Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit bc47279f558e7e9ea70dad1d484d2816ec239bb0 Author: Ben Cahill Date: Thu Nov 29 11:09:49 2007 +0800 iwlwifi: Add comments to some driver data structures Add comments to some driver data structures Remove unused "sched_retry" member from struct iwl3945_tx_queue Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 81cd110d818dd4649cbac17f95f698a24c7acc45 Author: Ben Cahill Date: Thu Nov 29 11:09:48 2007 +0800 iwlwifi: Move is_legacy() macro family from iwl-4965-hw.h to iwl-4965-rs.h Move is_legacy() macro family from iwl-4965-hw.h to iwl-4965-rs.h These macros are for driver's rate scaling implementation, and are not related to hardware or uCode API values (moved from iwl-4965-hw.h). Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9fbab5163aa8cb3a5aef845fbf67b0c1c85030b6 Author: Ben Cahill Date: Thu Nov 29 11:09:47 2007 +0800 iwlwifi: clean up and clarify some comments after 3945/4965 split Clean up and clarify some comments after 3945/4965 split. Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 40ac81a35c3a19f6a78f0a9f58368d36048df35b Author: Ben Cahill Date: Thu Nov 29 11:09:46 2007 +0800 iwl-4965-hw.h: clean up unused eeprom structures and definitions Clean up unused eeprom structures and definitions in iwl-4965-hw.h. Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 796083cb1d45d52d40ae2c933afcfc56d91ef427 Author: Ben Cahill Date: Thu Nov 29 11:09:45 2007 +0800 iwlwifi: add comments to EEPROM stuff Add comments to EEPROM stuff. Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7762635547ad31ecb045e7073989e76ae13e6c54 Author: Ben Cahill Date: Thu Nov 29 11:09:44 2007 +0800 iwl4965: add comments to rate scaling code Add comments to rate scaling code. Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f58177b9c3f377eee31bac719bda87e1aab415ab Author: Ben Cahill Date: Thu Nov 29 11:09:43 2007 +0800 iwl3945: re-align 3945 event log data Re-align 3945 event log data. Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 0054b34d295f0c77110c8c8ae5e3320ef40617b2 Author: Reinette Chatre Date: Thu Nov 29 11:09:42 2007 +0800 iwlwifi: continue namespace changes - fix CONFIG variables - Remove HT code from iwl-3945.h - it is not needed here as 3945 does not support HT. The code ended up here during the header file split. - Modify a few places where the CONFIG variables were named incorrectly: all changes are to comments only. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 90e759d14cd58ea1e34042bab930ce434fa0e4fa Author: Tomas Winkler Date: Thu Nov 29 11:09:41 2007 +0800 iwlwifi: Support for uCode without init and bsm section This patch enables loading fw w/o init and bsm section. It also provides general cleanup of the rutine. Signed-off-by: Tomas Winkler Signed-off-by: Gregory Greenman Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5a6012e105ae1664cd2841c33bf59fbdd8d4dbcc Author: Ivo van Doorn Date: Tue Nov 27 21:52:13 2007 +0100 rt2x00: Release rt2x00 2.0.13 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b3a78b4e2a4ee7a06861e012d95acea513384001 Author: Ivo van Doorn Date: Tue Nov 27 21:51:57 2007 +0100 rt2x00: Cleanup rfkill The label exit_free_polldev is no longer used and can be removed. input_free_polled_device() also calls input_free_device(), so don't call it seperatly. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6f8a4da17ea2c8467f88a586ae1d6fcfe2c66222 Author: Larry Finger Date: Tue Nov 27 21:51:39 2007 +0100 rt2x00: Remove redundant code in rfkill setup In rt2x00rfkill.c, routine input_allocate_device() is called even though input_allocate_polled_device(), which was just called, includes a call to that routine. This patch, which has not been tested, removes the redundant code. Signed-off-by: Larry Finger Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 61af43c56bef2cfcb8f1d9aab4e766e0f7bdd893 Author: Mattias Nissler Date: Tue Nov 27 21:50:26 2007 +0100 rt2x00: Only update rssi average approximation on receiving beacon frames. Restrict rssi average updating to beacon frames of the bssid the interface is associated with. Without this restriction, strong signals belonging to other BSS, e.g. beacon frames coming from a nearby AP, would cause incorrectly high rssi approximation values. This would then cause the link tuner to reduce sensitivity, resulting in transmissions from the BSS associated to to be missed. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d28c2561fb09dcc0b47ae0ba12083cf0d988495f Author: Ivo van Doorn Date: Tue Nov 27 21:49:50 2007 +0100 rt2x00: Use IEEE80211_IF_TYPE_INVALID directly No need to use a seperate define INVALID_INTERFACE while we can use IEEE80211_IF_TYPE_INVALID directly. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4d8dd66c1659ba0d1b110ed0488f4f6ffbc90e71 Author: Ivo van Doorn Date: Tue Nov 27 21:49:29 2007 +0100 rt2x00: Add TX/RX frame dumping facility This adds TX/RX frame dumping capabilities through debugfs. The intention is that with this approach debugging of rt2x00 is simplified since _all_ frames going in and out of the device are send to debugfs as well along with additional information like the hardware descriptor. Based on the patch by Mattias Nissler. Mattias also has some tools that will make the dumped frames available to wireshark: http://www-user.rhrk.uni-kl.de/~nissler/rt2x00/ Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 08992f7fb139c7dbaf593402312ee5a055352f05 Author: Ivo van Doorn Date: Thu Jan 24 01:56:25 2008 -0800 rt2x00: Add skb descriptor Use the skb->cb field to add a frame description that can be used to transfer information passed each rt2x00 layer. This reduces the required arguments for rt2x00lib_write_tx_desc(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 22c96c28b47ce74d78aad1afbed88b26f43ce24b Author: Ivo van Doorn Date: Tue Nov 27 21:48:37 2007 +0100 rt2x00: Add chipset version to chipset debugfs entry The chipset debugfs entry already indicates it is about the chipset, it only makes sense to also display the chipset version in there. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 91921a4e9b033b1bf6ab65be7f9b74b60290f41c Author: Ivo van Doorn Date: Tue Nov 27 21:48:16 2007 +0100 rt2x00: Move register value/offset files into new folder Cleanup debugfs interface by moving the csr/bbp/rf/eeprom value/offset entries into the "register" folder. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 49da2605e27935835861a118df0671b5f004bfac Author: Ivo van Doorn Date: Tue Nov 27 21:47:56 2007 +0100 rt2x00: Extend PLCP descriptor definition for rt2400pci Extend word field definitions for the PLCP words in the TX descriptor to contain the BBP fields as well. This will remove rt2400pci_write_tx_desc() from the checkstack script. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2360157c413b06fe2958a051daeab7bac68f6588 Author: Ivo van Doorn Date: Tue Nov 27 21:47:34 2007 +0100 rt2x00: Replace DRV_NAME with KBUILD_MODNAME DRV_NAME was always set to the KBUILD_MODNAME value, lets clean everything up by removing DRV_NAME and just use KBUILD_MODNAME directly. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a293ee990d0a3ba945eda5d0861969d0ca7ce62c Author: Stefano Brivio Date: Sat Nov 24 23:35:25 2007 +0100 b43legacy: reinit on too many PHY TX errors Restart the hardware on too many PHY TX errors. A thousand PHY TX errors per 15 seconds means we won't be able to recover for sure. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 5be3bda8987b12a87863c89b74b136fdb1f072db Author: Johannes Berg Date: Sat Nov 24 21:11:09 2007 +0100 b43legacy: include full 64-bit timestamp in monitor mode When monitor mode is enabled, this will make b43legacy read out the full 64-bit MAC time from the chip for each received packet. This patch has been ported from b43. Signed-off-by: Stefano Brivio Cc: Johannes Berg Signed-off-by: John W. Linville commit 125c5cc2c8c1fab6a6a1d8a07f7073b240e6d325 Author: Frank Lichtenheld Date: Sat Nov 24 21:11:08 2007 +0100 b43legacy: properly fix a bogus gcc warning Use initialized_var() to properly fix a bogus gcc warning. Signed-off-by: Stefano Brivio Cc: Frank Lichtenheld Signed-off-by: John W. Linville commit 013978b688d2a27af3ab55ca739e8c8ac7254870 Author: Larry Finger Date: Mon Nov 26 10:29:47 2007 -0600 b43: Changes to enable BCM4311 rev 02 with wireless core revision 13 The BCM94311MCG rev 02 chip has an 802.11 core with revision 13 and has not been supported until now. The changes include the following: (1) Add the 802.11 rev 13 device to the ssb_device_id table to load b43. (2) Add PHY revision 9 to the supported list. (3) Change the 2-bit routing code for address extensions to 0b10 rather than the 0b01 used for the 32-bit case. (4) Remove some magic numbers in the DMA setup. The DMA implementation for this chip supports full 64-bit addressing with one exception. Whenever the Descriptor Ring Buffer is in high memory, a fatal DMA error occurs. This problem was not present in 2.6.24-rc2 due to code to "Bias the placement of kernel pages at lower PFNs". When commit 44048d70 reverted that code, the DMA error appeared. As a "fix", use the GFP_DMA flag when allocating the buffer for 64-bit DMA. At present, this problem is thought to arise from a hardware error. This patch has been tested on my system and by Cédric Caumont . Signed-off-by: Larry Finger Acked-by: Michael Buesch Signed-off-by: John W. Linville commit 00e0b8cb74ed7c16b2bc41eb33a16eae5b6e2d5c Author: Stefano Brivio Date: Sun Nov 25 11:10:33 2007 +0100 b43: reinit on too many PHY TX errors Restart the hardware on too many PHY TX errors. A thousand PHY TX errors per 15 seconds means we won't be able to recover for sure. Signed-off-by: Stefano Brivio Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit d8be11ee95be9ec9eabfec9f635e0feac972369b Author: Johannes Berg Date: Sat Nov 24 15:06:33 2007 +0100 b43: include FCS in frames handed to mac80211 Sometimes it can be useful to see the FCS, especially when bad-FCS frames are shown. Pass the FCS to mac80211 and let it worry about snipping it off when required. Signed-off-by: Johannes Berg Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit d42ce84a05d7a427df22894de268c1b4473f6004 Author: Johannes Berg Date: Fri Nov 23 14:50:51 2007 +0100 b43: include full 64-bit timestamp in monitor mode When monitor mode is enabled, this will make b43 read out the full 64-bit MAC time from the chip for each received packet. Signed-off-by: Johannes Berg Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 0b3c07ff6467e6055ca3dd2239494ada96303274 Author: Holger Schurig Date: Wed Nov 28 09:15:11 2007 +0100 libertas: less eventcause shifts * only shift eventcause once * convert mac events to decimal, as this is what the firmware manual uses in section 6.1, too Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit a7d0adae40d0effc1484261a66fb703eb7e840b5 Author: Holger Schurig Date: Wed Nov 28 17:30:21 2007 +0100 libertas: remove user-specified channel list Remove the ability to specify channels to scan via debugfs Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit dd1d12dabfeb123881b0c813d0b7d3585312bacd Author: Holger Schurig Date: Wed Nov 28 17:29:36 2007 +0100 libertas: remove numprobes Remove the ability to specify number of probes via debugfs Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 01affb653077d8581552d566276b405237636e5c Author: Holger Schurig Date: Wed Nov 28 14:08:12 2007 +0100 libertas: tweak tx path debugging Make two functions in the TX packet path emit their debug messages with LBS_DEB_TX, not LBS_DEB_MAIN. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 91843463bc4ca5eb2be4b8b5c5efd474e0c56283 Author: Holger Schurig Date: Wed Nov 28 14:05:02 2007 +0100 libertas: tweak association debug output Change debug output codes from LBS_DEB_JOIN to LBS_DEB_ASSOC Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 3a1886491710c196656a005fcc693172f5bb4c8a Author: Holger Schurig Date: Mon Nov 26 10:07:14 2007 +0100 libertas: rework event subscription This patch moves re-works the implementation of event subscription via debugfs. For this: * it tells cmd.c and cmdresp.c about CMD_802_11_SUBSCRIBE_EVENT * removes lots of low-level cmd stuff from debugfs.c * create unified functions to read/write snr, rssi, bcnmiss and failcount * introduces #define's for subscription event bitmask values * add a function to search for a specific element in an IE (a.k.a. TLV) * add a function to find out the size of the TLV. This is needed because lbs_prepare_and_send_command() has an argument for a data buffer, but not for it's lengths and TLVs can be, by definition, vary in size. * fix a bug where it was not possible to disable an event Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 69f9032d9dfeb763b467fdbe8cf5938f5457083a Author: Holger Schurig Date: Fri Nov 23 15:43:44 2007 +0100 libertas: remove arbitrary typedefs New typedefs are usually frowned upon. This patch changes libertas_adapter -> struct libertas_adapter libertas_priv -> struct libertas_priv While passing, make everything checkpatch.pl-clean that gets touches. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 96287ac4f7b387acbe17e24b5e1bcbf3bc0e75cd Author: Brajesh Dave Date: Tue Nov 20 17:44:28 2007 -0500 libertas: configurable beacon interval Requires firmware version 5.110.19.p0 or newer, available here: http://dev.laptop.org/pub/firmware/libertas/ Signed-off-by: Ashish Shukla Signed-off-by: Javier Cardona Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 01d77d8d4747d73cfb6daf35cdc906a2db8ded9d Author: Brajesh Dave Date: Tue Nov 20 17:44:14 2007 -0500 libertas: separate mesh connectivity from that of the main interface The transmit and receive traffic as soon as the mesh interface is brought up. Test case 1: Bring up only the mesh interface and ping. No need for any iwconfig commands on the main interface. $ ifconfig msh0 192.168.5.3 $ iwconfig msh0 channel X $ ping 192.168.5.2 If ping succeeds, PASS Test case 2: Associate with the main interface, and turn off AP. Mesh interface should not lose connectivity. $ iwconfig eth0 mode managed essid "my_ssid" $ ifconfig msh0 192.168.5.3 $ ping 192.168.5.2 If ping continues uninterrupted, PASS This feature requires firmware version 5.110.19.p0 or newer, available here: http://dev.laptop.org/pub/firmware/libertas/ Signed-off-by: Ashish Shukla Signed-off-by: Javier Cardona Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 798fbfec9ca1dfd656963debb14d049868d24465 Author: Andres Salomon Date: Tue Nov 20 17:44:04 2007 -0500 libertas: nuke useless variable usbdriver_name and useless comments I think it was pretty obvious what fields in if_usb_driver are... Signed-off-by: Andres Salomon Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit be13f1897f76a4b395c3d572a18b2802fd521946 Author: Andres Salomon Date: Tue Nov 20 17:43:55 2007 -0500 libertas: reset devices upon disconnect rather than module unloading 1) Do not reset libertas devices upon module unload. We're unloading the module, we're not killing off devices. 2) Instead, reset libertas devices inside if_usb_disconnect, as we're killing off interfaces and so on. 3) Resetting via disconnect callback means we no longer need to keep track of probed libertas devices; kill off that list (and its wonderful lack of locking..), as well. Drop a useless comment as well. Signed-off-by: Andres Salomon Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 4fb910fd3ada36cd9fbf6e037b87f2a83fd740b7 Author: Andres Salomon Date: Tue Nov 20 17:43:45 2007 -0500 libertas: mark module_init/exit functions as __init/__exit Signed-off-by: Andres Salomon Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 82209adcb157e5861f2105d1658f1f07f75d69f2 Author: Andres Salomon Date: Tue Nov 20 17:43:32 2007 -0500 libertas: drop useless default_fw_name variable Signed-off-by: Andres Salomon Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 66bb42fd47c3d7e23b3ca5bb2b025a198100d670 Author: Daniel Drake Date: Mon Nov 19 16:20:12 2007 +0000 zd1211rw: add copyright notices Requested by Michael Wu. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 269fca0eddfa37d10c4493ac402be11e866e43fd Author: Daniel Drake Date: Mon Nov 19 15:29:24 2007 +0000 zd1211rw: Add ID for Trendnet TEW-429UB A Tested by chloubs on IRC zd1211 chip 157e:300a v4810 high 00-11-e0 AL7230B_RF pa0 g---- Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 459c51ad6e1fc19e91a53798358433d3c08cd09d Author: Daniel Drake Date: Mon Nov 19 15:00:29 2007 +0000 zd1211rw: port to mac80211 This seems to be working smoothly now. Let's not hold back the mac80211 transition any further. This patch ports the existing driver from softmac to mac80211. Many thanks to everyone who helped out with the porting efforts. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 0765af4493193149505f118d04d9300f0a15c8f5 Author: Holger Schurig Date: Mon Oct 15 12:55:56 2007 +0200 libertas: clean up association debug messages This makes the debug output of all association stuff clearer by: * adding some lbs_deb_enter()/lbs_deb_leave() calls * printing the return level in one place * lower-casing some string Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 1007832103d016d1563fab71d4cf2b057a0bcceb Author: Holger Schurig Date: Thu Nov 15 18:05:47 2007 -0500 libertas: move to uniform lbs_/LBS_ namespace This patch unifies the namespace of variables, functions defines and structures. It does: - rename libertas_XXX to lbs_XXX - rename LIBERTAS_XXX to lbs_XXX - rename wlan_XXX to lbs_XXX - rename WLAN_XXX to LBS_XXX (but only those that were defined in libertas-local *.h files, e.g. not defines from net/ieee80211.h) While passing, I fixed some checkpatch.pl errors too. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 9a62f73b1a3bbd35a6f84fcd6636e672b09981ec Author: John W. Linville Date: Thu Nov 15 16:27:36 2007 -0500 iwlwifi: remove redundant initialization of final_mode Problem identified by Miguel Botón , alternate solution suggested by Zhu Yi , patch by me. :-) Cc: Miguel Botón Cc: Zhu Yi Signed-off-by: John W. Linville commit d3c319f9c8d9ee2c042c60b8a1bbd909dcc42782 Author: Larry Finger Date: Fri Nov 9 16:58:20 2007 -0600 ssb: Remove the old, now unused, data structures The old, now unused, data structures and SPROM extraction routines are removed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 7797aa384870e3bb5bfd3b6a0eae61e7c7a4c993 Author: Larry Finger Date: Fri Nov 9 16:57:34 2007 -0600 b43legacy: Convert to use of the new SPROM structure The b43legacy driver is modified to use the new SPROM structure. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 95de2841aad971867851b59c0c5253ecc2e19832 Author: Larry Finger Date: Fri Nov 9 16:57:18 2007 -0600 b43: Convert to use of the new SPROM structure The b43 driver is modified to use the new SPROM structure. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 458414b2e3d9dd7ee4510d18c119a7ccd3b43ec5 Author: Larry Finger Date: Fri Nov 9 16:56:10 2007 -0600 b44: Convert to use of the new SPROM structure The b44 driver is changed to use the new SPROM data structure. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c272ef4403c271799a7f09a4ab7a236c86643843 Author: Larry Finger Date: Fri Nov 9 16:56:25 2007 -0600 ssb: Convert to use of the new SPROM structure In disagreement with the SPROM specs, revision 3 devices appear to have moved the MAC address. Change ssb to handle the revision 4 SPROM, which is a different size. This change in size is handled by adding a new variable to the ssb_sprom struct and using it whenever possible. For those routines that do not have access to this structure, a 'u16 size' argument is added. The new PCI_ID for the BCM4328 is also added. Testing of the Revision 4 SPROM, which is used on the BCM4328, was done by Michael Gerdau . Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit ac82fab44f6b981e3f6b53784e2f23838f4908e1 Author: Larry Finger Date: Fri Nov 9 16:54:45 2007 -0600 ssb: Add new SPROM structure while keeping the old The SPROM's for various devices utilizing the Sonics Silicon Backplane come with various revisions. The Revision 2 SPROM inherited the data layout of 1, and Revision 3 inherited the layout of 2. The first instance of Revision 4 has now been found in a BCM4328 wireless LAN card. This device does not inherit any layout from previous versions. Although it was possible to create a data structure that kept all the old layouts, we decided to start fresh, keep only those SPROM variables that are used by the drivers that utilize ssb, and to do the conversion in such a manner that neither compilation or execution will be affected if a bisection lands in the middle of these changes, while keeping the patches as small as possible. In this patch, the sprom structures are changed while maintaining the old ones. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3957ccb56e17ca839265ccb292c4c6850dcf5d32 Author: Ivo van Doorn Date: Mon Nov 12 15:02:40 2007 +0100 rt2x00: Move duplicate code into rt2x00pci_txdone() rt2400pci, rt2500pci and rt61 require different txdone handling, but the code that pushes the frame upstream and cleans up the entry is identical to all of them. This will create the function rt2x00pci_txdone() to remove the duplicate code. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 797a54c68e0eb551c60e3dc843627f967919a951 Author: Zhu Yi Date: Mon Nov 12 11:37:43 2007 +0800 iwl4965: fix rxon flags set to wrong value for A mode in .erp_ie_changed The patch fixes a bug that enables RXON_FLG_TGG_PROTECT_MSK erroneously for A mode in the erp_ie_changed mac80211 callback. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7223e8d900d415fe128152d7a4061501b7593d37 Author: Frank Lichtenheld Date: Mon Nov 12 11:12:52 2007 +0100 b43: silence a bogus gcc warning use uninitialized_var() to avoid the following bogus warning: CC [M] drivers/net/wireless/b43/debugfs.o drivers/net/wireless/b43/debugfs.c: In function ‘b43_debugfs_read’: drivers/net/wireless/b43/debugfs.c:355: warning: ‘ret’ may be used uninitialized in this function Signed-off-by: Michael Buesch Signed-off-by: Frank Lichtenheld Signed-off-by: John W. Linville commit 59f1b154653d961d3ace72a4a5311c395cf7d779 Author: Stefano Brivio Date: Thu Nov 8 00:28:00 2007 +0100 b43legacy: fix kconfig dependecies for rfkill and leds Fix dependencies for built-in b43legacy. The patch to b43 by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 1d43d312a2adeb184c90b11449d5bb3a8f59a3a8 Author: Reinette Chatre Date: Tue Nov 6 22:06:28 2007 -0800 MAINTAINERS: Add Reinette Chatre to iwlwifi & ipw2100/ipw2200 Also fix Zhu Yi's name. Signed-off-by: Reinette Chatre CC: Zhu Yi Signed-off-by: John W. Linville commit 4900d6daadea8b32b8a6312e793977e18343cfe5 Author: Zhu Yi Date: Tue Nov 6 22:06:27 2007 -0800 remove unused iwl4965_init_hw_rates function The patch removes the unused function to fix a recursive bug caused by namespace change. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bb8c093bdea62f2ae371b98ebff81b0407852faf Author: Christoph Hellwig Date: Sun Jan 27 16:41:47 2008 -0800 iwlwifi: cleanup namespace Prefix all symbols with iwl3945_ or iwl4965_ and thus allow building the driver into the kernel. Also remove all the useless default statements in Kconfig while we're at it. Signed-off-by: Christoph Hellwig Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 403ab56b1c2786b0e1d58c27f5ce667b529c7faa Author: Mohamed Abbas Date: Tue Nov 6 22:06:25 2007 -0800 iwl4965: fix cannot find a suitable rate issue This patch fixes the iwl4965 problem for "Can not find a suitable rate issues." by making rs_switch_to_mimo and rs_switch_to_siso functions return -1 when CONFIG_IWL4965_HT is not selected. They used to return 0, which means we can switch to HT rate causing the rate scale problem and the error message. The patch also fix another bug reported by Ben Cahill that it uses wrong value for max_success_limit. Signed-off-by: Mohamed Abbas Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3567c11d7212cd9d29a16c39b4f2da86c4f94aee Author: Zhu Yi Date: Tue Nov 6 22:06:24 2007 -0800 iwlwifi: replace 0x8086 with PCI_VENDOR_ID_INTEL Replace 0x8086 with PCI_VENDOR_ID_INTEL for PCI_DEVICE declaration. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1f21ad2a4f7f66855dae600ddd635ff5fb299bbd Author: Stefano Brivio Date: Tue Nov 6 22:49:20 2007 +0100 b43/b43legacy: fix my copyright notices Fix my copyright notices in b43 and b43legacy. Signed-off-by: Stefano Brivio Cc: Michael Buesch Signed-off-by: John W. Linville commit 61bca6eb85c863603d6054530e2f65c3b9aba85b Author: Stefano Brivio Date: Tue Nov 6 22:49:05 2007 +0100 b43: rewrite A PHY initialization Rewrite and sync A PHY initialization with specs, thus allowing for further work to be done on 802.11a support. Note that A PHY initialization involves G PHYs as well. Signed-off-by: Stefano Brivio Acked-by: Michael Buesch Signed-off-by: John W. Linville commit db9683fb19a0f0da1cb4c296ffe1a8db03333cbc Author: Stefano Brivio Date: Tue Nov 6 22:48:45 2007 +0100 b43legacy: rewrite and fix rfkill initialization The rfkill subsystem doesn't like code like that rfkill_allocate(); rfkill_register(); rfkill_unregister(); rfkill_register(); /* <- This will crash */ This sequence happens with modprobe b43 ifconfig wlanX up ifconfig wlanX down ifconfig wlanX up Fix this by always re-allocating the rfkill stuff before register. The patch to b43 by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 33a3dc9328ce3a89d3490a47197851f5dac4b6b5 Author: Stefano Brivio Date: Tue Nov 6 22:48:25 2007 +0100 b43legacy: use a consistent naming scheme for the ops Use a consistent naming scheme for the ops. The patch to b43 by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 0a6e1bee5770a6d4c4569a4720614402ab5f9d7a Author: Stefano Brivio Date: Tue Nov 6 22:48:12 2007 +0100 b43legacy: use the retry limits provided by mac80211 Use the retry limits provided by mac80211. The patch to b43 by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 43831b1581031991357385dd6c0762c06a3a62ab Author: Thomas Bogendoerfer Date: Sat Nov 24 13:29:19 2007 +0100 SGISEEQ: use cached memory access to make driver work on IP28 SGI IP28 machines would need special treatment (enable adding addtional wait states) when accessing memory uncached. To avoid this pain I changed the driver to use only cached access to memory. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit b0cd2f9016f75eb8a9fdc45d32f9b41fb16d48c9 Author: Olof Johansson Date: Wed Nov 28 20:58:25 2007 -0600 pasemi_mac: Don't enable RX/TX without a link (if possible) pasemi_mac: Don't enable RX/TX without a link (if possible) Don't enable RX/TX of packets until we have a link, since there's a chance we'll just get RX frame errors, etc. The case where we don't have a PHY we can't do much about: Just enable it and deal with errors as they come in. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 8304b633c5e8c9ba34d3cc7f24f52434d3a3b93b Author: Olof Johansson Date: Wed Nov 28 20:58:06 2007 -0600 pasemi_mac: Print warning when not attaching to a PHY pasemi_mac: Print warning when not attaching to a PHY Print a warning on the console when not connecting to a phy for an interface. It turns out to be a pretty common problem when someone gets the MDIO info wrong in their device tree, resulting in the macs running at a fixed 1Gbit FD. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 5d8949448b68b3b355036c8061e3282388826ec5 Author: Olof Johansson Date: Wed Nov 28 20:57:56 2007 -0600 pasemi_mac: Remove SKB copy/recycle logic pasemi_mac: Remove SKB copy/recycle logic It doesn't really buy us much, since copying is about as expensive as the allocation in the first place. Just remove it for now. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 7e9916e9ddf23cd08107ed1a7fac429eea619313 Author: Olof Johansson Date: Wed Nov 28 20:57:45 2007 -0600 pasemi_mac: SKB unmap optimization pasemi_mac: SKB unmap optimization Avoid touching skb_shinfo() in the unmap path, since it turns out to normally cause cache misses and delays. instead, save number of fragments in the TX_RING_INFO structures since that's all that's needed anyway. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 28ae79f531014bb3ad95b6efa0e0603069087bc5 Author: Olof Johansson Date: Wed Nov 28 20:57:27 2007 -0600 pasemi_mac: Software-based LRO support pasemi_mac: Software-based LRO support Implement LRO for pasemi_mac. Pretty straightforward. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 906674abab0424b466a2db4bb6a890a8c477b10a Author: Olof Johansson Date: Wed Nov 28 20:57:09 2007 -0600 pasemi_mac: Improve RX interrupt mitigation pasemi_mac: Improve RX interrupt mitigation Currently the receive side interrupts will go off on the reception of a packet, NAPI will poll the ring and keep polling as long as there's a decent amount of packets to receive. This is less than optimal, especially for LRO where it's better if we have a more substantial amount of packets to process at once, to get the real LRO benefits. So, set the count threshold to a higher value and use the timeout feature that will give us an interrupt even if not enough packets have come in to set off the count threshold. FIXME: It'd be real nice to have ethtool support for users to tune this at runtime. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 61cec3bddc79373a246e2f8eb13e5acdc106f46a Author: Olof Johansson Date: Wed Nov 28 20:56:54 2007 -0600 pasemi_mac: Fix TX cleaning pasemi_mac: Fix TX cleaning This is a bit awkward. We don't have a timer-delayed interrupt on TX complete, but we have a count threshold. So set that reasonably high (32 packets), and schedule the NAPI poll when it goes off. Also bump a regular timer that will take care of rotting packets for the last 1..31 ones in case we don't trigger a TX interrupt (and there's no RX activity that would otherwise trigger the poll). The longer-term fix is to separate TX from RX NAPI and do two separate poll loops. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 5c15332bed4c59fff6423f08ef6bd6894af38a99 Author: Olof Johansson Date: Wed Nov 28 20:56:41 2007 -0600 pasemi_mac: performance tweaks pasemi_mac: performance tweaks * Seems like we do better with a smaller RX ring, probably because chances of still having the SKB cached are better * Const-ify variables to get better code generation and fewer reloads * Move prefetching around a little, and try to prefetch the whole SKB * Set NETIF_F_HIGHDMA * Misc other minor tweaks Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 34c20624ce541f8a7ff937f474af51f9044cedd7 Author: Olof Johansson Date: Wed Nov 28 20:56:32 2007 -0600 pasemi_mac: Convert to new dma library pasemi_mac: Convert to new dma library Convert the pasemi_mac driver to the new platform global DMA manaagement library. This also does a couple of other minor cleanups w.r.t. channel management. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 8ee9d85779356c1dc2ba87aca27fbf9414f2d82b Author: Olof Johansson Date: Wed Nov 28 20:56:20 2007 -0600 pasemi: DMA engine management library pasemi: DMA engine management library Introduce a DMA management library to manage the various DMA resources on the PA Semi SoCs. Since several drivers need to allocate these shared resources, provide some abstractions as well as allocation/free functions for channels, etc. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 40afa5315823761b174926235dc38be24dc3ea63 Author: Olof Johansson Date: Wed Nov 28 20:56:04 2007 -0600 pasemi_mac: Move register definitions to include/asm-powerpc pasemi_mac: Move register definitions to include/asm-powerpc Move the common register formats and descriptor layouts from drivers/net/pasemi_mac.h to include/asm-poewrpc/pasemi_dma.h Previously only the ethernet driver was using them, but other drivers are coming up that will also use them, so it makes sense to share the constants. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 72b05b9940f00fbfd71a1cb8ea80eb2cc1f90255 Author: Olof Johansson Date: Wed Nov 28 20:54:28 2007 -0600 pasemi_mac: RX/TX ring management cleanup pasemi_mac: RX/TX ring management cleanup Prepare a bit for supporting multiple TX queues by cleaning up some of the ring management and shuffle things around a bit. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 5f06eba4dce361bfc077868d044768476b41d698 Author: Stephen Hemminger Date: Wed Nov 28 14:50:16 2007 -0800 sky2: rx allocation threshold change When using larger MTU's sky2 driver changes from allocating one data area, to using multiple pages. The threshold for this was based on a heuristic where the cost of a single allocation is bigger than one page. Since the allocator has changed, this heuristic is now incorrect; instead just make the threshold be when the total size of the allocation is greater than one page. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f03b865491c2f30f2a4d77cdafc69c978ceb38a0 Author: Stephen Hemminger Date: Wed Nov 28 14:27:03 2007 -0800 sky2: align IP header on Rx if possible The sky2 driver was not aligning the IP header on receive buffers. This workaround is only needed on hardware with broken FIFO, newer chips without FIFO can just DMA to unaligned address. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5ac5d616327bdbdf632bdf4dc9ae09477f79b6b3 Author: Francois Romieu Date: Wed Nov 28 23:02:33 2007 +0100 r6040: cleanups - whitespaces vs tabs - use 80 cols - use if_mii - use netdev_priv - remove useless cast to void * - PCI device id does not need to be globally available Signed-off-by: Francois Romieu commit e6a9ea105222ad588d680b5e67dddb02dad3667a Author: Francois Romieu Date: Wed Nov 28 22:55:36 2007 +0100 r6040: erroneous dev->priv Signed-off-by: Francois Romieu commit 6c3231035d7ec31b3830daebd4c742e0b7471661 Author: Francois Romieu Date: Wed Nov 28 22:31:00 2007 +0100 r6040: remove virt_to_bus Signed-off-by: Francois Romieu commit 5125a786680df0d6d31aad53bc23e19f51a30509 Author: Francois Romieu Date: Wed Nov 28 21:36:22 2007 +0100 r6040: compile error drivers/net/r6040.c: In function 'rx_buf_alloc': drivers/net/r6040.c:262: warning: passing argument 2 of 'pci_map_single' makes pointer from integer without a cast Signed-off-by: Francois Romieu commit bd5a93462093305a9ea7abd888a16c8c83e4bdc2 Author: Komuro Date: Sun Nov 11 11:04:36 2007 +0900 axnet_cs: use spin_lock_irqsave instead of spin_lock + disable_irq Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit 2eab17ab880ad8d570d27517e6c9d9fe74adc214 Author: Jeff Garzik Date: Fri Nov 23 21:59:45 2007 -0500 drivers/net/cxgb3: trim trailing whitespace Signed-off-by: Jeff Garzik commit afefce66a5c73aef597074b184b83a4df9704afd Author: Divy Le Ray Date: Fri Nov 16 11:22:21 2007 -0800 cxgb3 - Fix I/O synchronization Synchronize memory access before ringing the Tx door bell. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit a2604be5488095657aeb1a09c3f08d9f760132ec Author: Divy Le Ray Date: Fri Nov 16 11:22:16 2007 -0800 cxgb3 - HW set up updates Disable PEX errors. The HW generates false positives. Update RSS hash function to a symmetric algorithm. Update T3C HW support Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 3e5192eec8faf1df77514d2a593d14cc851a6b43 Author: Divy Le Ray Date: Fri Nov 16 11:22:10 2007 -0800 cxgb3 - sysfs methods clean up Remove unused argument in sysfs methods Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 23561c944781f2c888b12b5109da676187620805 Author: Divy Le Ray Date: Fri Nov 16 11:22:05 2007 -0800 cxgb3 - fix interaction with pktgen Do not use skb->cb to stash unmap info, save the info to the descriptor state. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 273fa9042c44790388de7e2a1dab9a1164dd9d17 Author: Divy Le Ray Date: Fri Nov 16 11:22:00 2007 -0800 cxgb3 - FW upgrade Bump up FW version to 5.0. Do not downgrade FW within the same major version range. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 91a6b50cf680cd693ee0faaab18a0b7383814d6b Author: Divy Le Ray Date: Fri Nov 16 11:21:55 2007 -0800 cxgb3 - Add EEH support Add PCI recovery support Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 67d92ab765a29cd18674b2b87e9f931782a245e3 Author: Divy Le Ray Date: Fri Nov 16 11:21:50 2007 -0800 cxgb3 - Fix resources release. Remove sysfs entries before unregistering the net devices. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 678771d6f5242573fe4eb9fc14f7479646d52cf6 Author: Divy Le Ray Date: Fri Nov 16 14:26:44 2007 -0800 cxgb3 - Use wild card for PCI subdevice ID match Subdevice ID is not necessarily set to 1. Use wild card for PCI device matching Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 42256f57d894a4e4aa5af42d04191d7a12f10df9 Author: Divy Le Ray Date: Fri Nov 16 11:21:39 2007 -0800 cxgb3 - fix MSI-X failure path Return error code when msi-x settings fail. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit cba0516ddb9153afdc0ffffb9124f5f12a3b6ae5 Author: Jeff Garzik Date: Fri Nov 23 21:50:34 2007 -0500 [netdrvr] checkpatch cleanups Signed-off-by: Jeff Garzik commit 93a3b607e6eff7880959149a581d90c71887eb19 Author: Jeff Garzik Date: Fri Nov 23 21:50:20 2007 -0500 wireless: checkpatch cleanups Signed-off-by: Jeff Garzik commit 092427be8cef341c957a93ec2469890501a09bff Author: Jeff Garzik Date: Fri Nov 23 21:49:27 2007 -0500 drivers/net/r6040: fix obvious problems (but more remain) - checkpatch fixes - fix bogus and uninitialized return codes in r6040_start_xmit() - netdev_get_settings() fix obvious locking bug flagged by compiler warning - set DMA consistent mask - remove unnecessary setting of dev->base_addr Signed-off-by: Jeff Garzik commit 4790654c71b250018ecc234f6b9f1ed96a55572d Author: Jeff Garzik Date: Fri Nov 23 21:23:36 2007 -0500 [netdrvr] netxen: checkpatch fixes (98% trim trailing whitespace) Signed-off-by: Jeff Garzik commit ba734f349d5ba02a736e2d574584c56cd21bad14 Author: Peter Korsgaard Date: Thu Nov 15 11:10:12 2007 +0100 dm9601: Consolidate common parts of dm_write_*_async dm_write_async and dm_write_reg_async are almost identical. Move common functionality to dm_write_async_helper (saves ~256b). Signed-off-by: Peter Korsgaard Signed-off-by: Jeff Garzik commit 9ce6cf25538de8036793a7e517674ede86e41f00 Author: Alan Cox Date: Mon Nov 19 15:03:38 2007 +0000 slip: Drag kicking and screaming into coding style compliance Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit a35f5de776cd2389603c2fd421eac7acaf07bd87 Author: Alan Cox Date: Mon Nov 19 15:02:32 2007 +0000 3c501: Bring into compliance with the coding style 3c501 leads the way... 8) Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 68d579fb93df0db0442f90106b19a8dc701ecef1 Author: Adrian Bunk Date: Wed Nov 21 15:02:55 2007 -0800 drivers/net/chelsio/: #if 0 unused functions This patch #if 0's the following unused functions: - espi.c:t1_espi_set_misc_ctrl() - sge.c:t1_sched_set_max_avail_bytes() - sge.c:t1_sched_set_drain_bits_per_us() Signed-off-by: Adrian Bunk Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 2450022afa9f140464c934ecb28c45583335672a Author: Joe Perches Date: Mon Nov 19 17:48:28 2007 -0800 drivers/net: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit 60403fdadabdf1bb1a0f0e2a482860be1c45904f Author: Joe Perches Date: Mon Nov 19 17:48:25 2007 -0800 drivers/net/sk98lin: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit 93ab8e84dec242b868ec2e2ae42cb55a46b8c598 Author: Joe Perches Date: Mon Nov 19 17:48:26 2007 -0800 drivers/net/wan: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit 5bc51424b4d1c1121fb8861620f14262d828d1d9 Author: Joe Perches Date: Mon Nov 19 17:48:24 2007 -0800 drivers/net/netxen: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit 8c5863a406d6b7d92d84832d9b223aed6dff85de Author: Joe Perches Date: Mon Nov 19 17:48:23 2007 -0800 drivers/net/ixgb: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit f07b2e403b563d42693e02fd17956c31d3aeff1d Author: Joe Perches Date: Mon Nov 19 17:48:22 2007 -0800 drivers/net/cxgb3: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit 31067527685ab8c6bea23aab6511f568c426d311 Author: Joe Perches Date: Mon Nov 19 17:48:21 2007 -0800 drivers/net/chelsio: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit a2fbb9ea235467b0be6db3cec0132b6c83c0b9fb Author: Eliezer Tamir Date: Thu Nov 15 20:09:02 2007 +0200 add bnx2x driver for BCM57710 Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit faa4f7969f3340606f46515560ce193d9bd74ea4 Author: Sreenivasa Honnur Date: Thu Jan 24 01:45:43 2008 -0800 [S2IO]: Support for add/delete/store/restore ethernet addresses - Support to add/delete/store/restore 64 and 128 Ethernet addresses for Xframe I and Xframe II respectively. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit db0ce50d3792e993a1b24f16fb70153eccf38f33 Author: Patrick McHardy Date: Tue Nov 13 20:54:59 2007 -0800 [E1000]: Secondary unicast address support Add support for configuring secondary unicast addresses. Unicast addresses take precendece over multicast addresses when filling the exact address filters to avoid going to promiscous mode. When more unicast addresses are present than filter slots, unicast filtering is disabled and all slots can be used for multicast addresses. Signed-off-by: Patrick McHardy Signed-off-by: Auke Kok Signed-off-by: David S. Miller commit 2a88719197bde746006c18ebe8f3576c87991419 Author: Joe Perches Date: Tue Nov 13 20:53:51 2007 -0800 [E1000E]: convert register test macros to functions Add functions for reg_pattern_test and reg_set_and check Changed macros to use these functions Compiled x86, untested Size decreased ~2K old: $ size drivers/net/e1000e/ethtool.o text data bss dec hex filename 14461 0 0 14461 387d drivers/net/e1000e/ethtool.o new: $ size drivers/net/e1000e/ethtool.o text data bss dec hex filename 12498 0 0 12498 30d2 drivers/net/e1000e/ethtool.o Signed-off-by: Joe Perches Signed-off-by: Auke Kok Signed-off-by: David S. Miller commit 7e64300a0f335e443aa39ee477c541e34a69ae52 Author: Joe Perches Date: Tue Nov 13 20:52:05 2007 -0800 [E1000]: Convert regtest macro's to functions Minimal macro to function conversion in e1000_ethtool.c Adds functions reg_pattern_test and reg_set_and_check Changes REG_PATTERN_TEST and REG_SET_AND_CHECK macros to call these functions. Saves ~2.5KB Compiled x86, untested (no hardware) old: $ size drivers/net/e1000/e1000_ethtool.o text data bss dec hex filename 16778 0 0 16778 418a drivers/net/e1000/e1000_ethtool.o new: $ size drivers/net/e1000/e1000_ethtool.o text data bss dec hex filename 14128 0 0 14128 3730 drivers/net/e1000/e1000_ethtool.o Signed-off-by: Joe Perches Signed-off-by: Auke Kok Signed-off-by: David S. Miller commit ef90e4eca9fcade05dd03f853df75cf459a75422 Author: Auke Kok Date: Tue Nov 13 20:49:15 2007 -0800 [E1000]: update netstats traffic counters realtime formerly e1000/e1000e only updated traffic counters once every 2 seconds with the register values of bytes/packets. With newer code however in the interrupt and polling code we can real-time fill in these values in the netstats struct for users to see. Signed-off-by: Auke Kok Signed-off-by: David S. Miller commit 419886927796dfeca87c1fd11d1fe2ed442103cc Author: Auke Kok Date: Tue Nov 13 20:48:36 2007 -0800 [E1000E]: update netstats traffic counters realtime formerly e1000/e1000e only updated traffic counters once every 2 seconds with the register values of bytes/packets. With newer code however in the interrupt and polling code we can real-time fill in these values in the netstats struct for users to see. Signed-off-by: Auke Kok Signed-off-by: David S. Miller commit 9a6c686799346b6c95405c9e051f5023873504fa Author: Jay Vosburgh Date: Tue Nov 13 20:25:48 2007 -0800 [BONDING]: Documentation update Update the bonding documentation: more discussion on initialization and configuration, changes to discussion of packet reordering in balance-rr, update some out of date information. Based in part on input from Rick Jones and Andy Gospodarek . Signed-off-by: Jay Vosburgh Acked-by: Andy Gospodarek Signed-off-by: David S. Miller commit 7a47dd7a2f178cc4e87d584b0469eef4b58b7aea Author: Sten Wang Date: Mon Nov 12 21:31:11 2007 -0800 [NET]: Add support for the RDC R6040 Fast Ethernet controller This patch adds support for the RDC R6040 MAC we can find in the RDC R-321x System-on-chips. Signed-off-by: Sten Wang Signed-off-by: Daniel Gimpelevich Signed-off-by: Florian Fainelli commit 7734f6e6bcd7ba78b00e93e74a4ddafd9886cdea Author: David Acker Date: Thu Nov 8 10:17:41 2007 -0800 Fix e100 on systems that have cache incoherent DMA On the systems that have cache incoherent DMA, including ARM, there is a race condition between software allocating a new receive buffer and hardware writing into a buffer. The two race on touching the last Receive Frame Descriptor (RFD). It has its el-bit set and its next link equal to 0. When hardware encounters this buffer it attempts to write data to it and then update Status Word bits and Actual Count in the RFD. At the same time software may try to clear the el-bit and set the link address to a new buffer. Since the entire RFD is once cache-line, the two write operations can collide. This can lead to the receive unit stalling or interpreting random memory as its receive area. The fix is to set the el-bit on and the size to 0 on the next to last buffer in the chain. When the hardware encounters this buffer it stops and does not write to it at all. The hardware issues an RNR interrupt with the receive unit in the No Resources state. Software can write to the tail of the list because it knows hardware will stop on the previous descriptor that was marked as the end of list. Once it has a new next to last buffer prepared, it can clear the el-bit and set the size on the previous one. The race on this buffer is safe since the link already points to a valid next buffer and the software can handle the race setting the size (assuming aligned 16 bit writes are atomic with respect to the DMA read). If the hardware sees the el-bit cleared without the size set, it will move on to the next buffer and skip this one. If it sees the size set but the el-bit still set, it will complete that buffer and then RNR interrupt and wait. Signed-off-by: David Acker Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 3627947e84dd2f6dbfd01f796139949f65a43b31 Author: Francois Romieu Date: Thu Nov 1 00:52:13 2007 -0700 sundance: SIOCDEVPRIVATE pollution To quote one of my favorite contemporary author: [include/linux/sockios.h] * THESE IOCTLS ARE _DEPRECATED_ AND WILL DISAPPEAR IN 2.5.X -DaveM */ #define SIOCDEVPRIVATE 0x89F0 /* to 89FF */ [...] Gentoo's snmpd trips up over this code when trying to figure if the driver supports the non-SIOCDEVPRIVATE API or not. One can argue over its choice of heuristic but there no reason to make ioctl more ugly than needed. Signed-off-by: Francois Romieu Cc: Jesse Huang Tested-by: Volker Sauer Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 993fb90c5b1727342362c43ed4e29c26682f54f7 Author: Adrian Bunk Date: Mon Nov 5 18:07:31 2007 +0100 drivers/net/netxen/: cleanups This patch contains the following cleanups: - static functions in .c files shouldn't be marked inline - make needlessly global code static - #if 0 unused code Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 3957d63da0067ad6a7dc8261b7eeb824f9dc42b4 Author: Auke Kok Date: Wed Oct 31 15:22:10 2007 -0700 ixgbe: Fix copper PHY initialization code While cleaning up the internal API focussing on Fiber and CX4 code we found that I had broken the copper PHY initialization code. This patch restores the PHY-specific code. This is mostly uninteresting since no copper PHY boards are yet available. The changes have been tested against Fiber only as I do not even have copper PHY versions of 82598 macs. This change actually cleans up the API code a bit more and we lose some initialization code. A few PHY link detection helper lines of code have been snuck into this patch, as well as a read flush where it was suspected that this might cause issues. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 040babf9d84e7010c457e9ce69e9eb1c27927c9e Author: Auke Kok Date: Wed Oct 31 15:22:05 2007 -0700 e1000/e1000e: Move PCI-Express device IDs over to e1000e e1000e will from now on support the PCI-Express adapters that previously were supported by e1000. This support means better performance and easier debugging from now on for both the old PCI-X/PCI hardware and PCI-Express adapters. This patch also moves 3 recently merged device IDs over to e1000e that are identical to quad-port versions of already existing dual port versions. With this last bit every former e1000 pci-e device should work now with e1000e. Here is a brief list of which gigabit driver to use with which adapter: e1000: 82540 -> 82547 e1000e: 82571 -> 82573 ich8, ich9 (82562 or 82566) es2lan (80003eslan) igb: (not yet merged, only available from e1000.sf.net) 82575 Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 1eae4eb2a1c784bf35ee4f8f158cd21cf8c387c1 Author: Auke Kok Date: Wed Oct 31 15:22:00 2007 -0700 e1000e: Disable L1 ASPM power savings for 82573 mobile variants L1 ASPM link (pci-e link power savings) has significant benefits (~1W savings when link is active) but unfortunately does not work correctly on any of the chipsets that have 82573 on mobile platforms which causes various nuisances: - eeprom reads return garbage information leading to bad eeprom checksums - long ping times (up to 2 seconds) - complete system hangs (freeze/lockup) A lot of T60 owners have been plagued by this, but other mobile solutions also suffer from these symptoms. Disabling L1 ASPM before we activate the PCI-E link fixes all of these issues at the cost of some power consumption. Remove a workaround RDTR adjustment that is no longer needed with this new one. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 93ca161027eb6a1761fb674ad7b995aedccf5f6e Author: Bill Hayes Date: Wed Oct 31 15:21:52 2007 -0700 e1000e: alternate MAC address support Port alternate MAC address support from the sourceforge e1000 driver to the upstream e1000e driver. Signed-off-by: Bill Hayes Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 3df5920c46089b8b1873cb1333248c3e9b01eaf8 Author: Jeff Garzik Date: Sun Nov 4 21:53:26 2007 -0500 [netdrvr] ibmlana: move away from legacy MCA API Signed-off-by: Jeff Garzik commit fbe02d6d8794c30d5cfa301a0b50e603f1036e5b Author: Jeff Garzik Date: Sun Nov 4 21:52:49 2007 -0500 [netdrvr] ibmlana: modularization cleanup * move alloc_netdev() call, register_netdev() call, and associated failure cleanup into ibmlana_probe() * move per-net_device cleanup into ibmlana_remove_one() Signed-off-by: Jeff Garzik commit 28fc1f5a0c375cb6375fa48e9a8b393f2a189be6 Author: Jeff Garzik Date: Mon Oct 29 05:46:16 2007 -0400 [netdrvr] irq handler minor cleanups in several drivers * use irq_handler_t where appropriate * no need to use 'irq' function arg, its already stored in a data struct * rename irq handler 'irq' argument to 'dummy', where the function has been analyzed and proven not to use its first argument. * remove always-false "dev_id == NULL" test from irq handlers * remove pointless casts from void* * declance: irq argument is not const * add KERN_xxx printk prefix * fix minor whitespace weirdness Signed-off-by: Jeff Garzik commit 1b36efe07f83ecf50eddd431d067c7bf86318e87 Author: Jeff Garzik Date: Mon Oct 29 05:20:44 2007 -0400 hamradio/scc: kill unnecessary use of 'irq' function arg Signed-off-by: Jeff Garzik commit ef878b889907f29af1b5f34734f14eca1aa43cf6 Author: Alejandro Martinez Ruiz Date: Thu Oct 18 10:22:02 2007 +0200 sk98lin: kill bogus check and convert to use ARRAY_SIZE() This converts uses of ARRAY_SIZE(), and while at it also kills unreachable code as far as I can say. I can't tell what was the author trying to do with the following check. First we have: PNMI_STATIC const SK_PNMI_STATADDR StatAddr[SK_PNMI_MAX_IDX][SK_PNMI_MAC_TYPES]; and then a check goes like this: if (SK_PNMI_MAX_IDX != (sizeof(StatAddr) / (sizeof(SK_PNMI_STATADDR) * SK_PNMI_MAC_TYPES))) with the second line being just ARRAY_SIZE(StatAddr), which will always return SK_PNMI_MAX_IDX, rendering the check useless. Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Jeff Garzik commit c00acf46deb18926931ba264510353cf22b98a79 Author: Alejandro Martinez Ruiz Date: Thu Oct 18 10:16:33 2007 +0200 netdev: ARRAY_SIZE() cleanups Convert array size calculations to use ARRAY_SIZE(). Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Jeff Garzik commit 4c3616cdda0632a3d0e39069765f9ea0e6bd093e Author: Alejandro Martinez Ruiz Date: Thu Oct 18 10:00:15 2007 +0200 netdev: use ARRAY_SIZE() instead of sizeof(array) / ETH_GSTRING_LEN Using ARRAY_SIZE() on arrays of the form array[][K] makes it unnecessary to know the value of K when checking its size. Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Jeff Garzik commit f59d9782751bf1a2c51e7e1e9f614ffec35fb52e Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri Oct 26 21:51:26 2007 +0200 wireless: fix '!x & y' typo's Fix priority mistakes similar to '!x & y' Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: John W. Linville commit 9f9dac281ba2acd3d6d3574076f86b8f99aaebc0 Author: Holger Schurig Date: Fri Oct 26 10:12:14 2007 +0200 libertas: move wlan_*_association_work from header to c file Move wlan_postpone_association_work() and wlan_cancel_association_work() from a assoc.h file to the sole user, into wext.c. Renamed those two functions to to libertas_XXX as well. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 49df2b33478fd67e642d05786d06de322504842c Author: Jes Sorensen Date: Fri Oct 26 16:10:39 2007 +0200 iwlwifi: disable interrupts before calling request_irq Disable interrupts in the iwl4965 before calling request_irq() for the case that the previous OS or the BIOS left a pending interrupt in the chip. This behavior has been observed on some laptops such as T61 Thinkpads and Toshiba Portege R500 Signed-off-by: Jes Sorensen Signed-off-by: John W. Linville commit eb76bf29dd4aceaf877b8971fbfda8617abe6e05 Author: Dmitry Torokhov Date: Fri Nov 2 01:55:36 2007 -0400 P54: use temporary variables to reduce size of generated code When there are 2 linked structures, using a temporary variable to hold a pointer to the often used structure usually produces better code (smaller and faster) since compiler does not have to constantly re-fetch data from the first structure. Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit 1b34fd390c340b0554dcda9552f82d77dff8ed23 Author: Matthias Kaehlcke Date: Mon Nov 5 09:41:01 2007 +0100 Prism54: Convert mgmt_sem to the mutex API Signed-off-by: Matthias Kaehlcke Signed-off-by: John W. Linville commit 1e3428e9e327a6e4163b3674b260dbd719f59839 Author: Dan Williams Date: Wed Oct 10 23:56:25 2007 -0400 orinoco: more reliable scan handling Bring scan result handling more in line with drivers like ipw. Scan results are aggregated and a BSS dropped after 15 seconds if no beacon is received. This allows the driver to interact better with userspace where more than one process may request scans or results at any time. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 40faacc4078d0fef6daaf6f5d1d332d08631bdd8 Author: Michael Buesch Date: Sun Oct 28 16:29:32 2007 +0100 b43: consistent naming for ieee80211_ops Use a consistent naming scheme for the ops. Signed-off-by: Michael Buesch Cc: Larry Finger Signed-off-by: John W. Linville commit 74cfdba7ce7b601559a4bcdc9054baf1bdc6948d Author: Michael Buesch Date: Sun Oct 28 16:19:44 2007 +0100 b43: Use the retry limit parameters from mac80211 Use the limits provided by mac80211. Signed-off-by: Michael Buesch Cc: Larry Finger Signed-off-by: John W. Linville commit c6dfc9a8ec236957eea3a1cf4613e90c45e1475b Author: Michael Buesch Date: Sun Oct 28 15:59:58 2007 +0100 b43: Dereference of wl->current_dev must be protected by wl->mutex Put all access to wl->current_dev under protection of the mutex. Signed-off-by: Michael Buesch Cc: Larry Finger Signed-off-by: John W. Linville commit 0c1d379d2ee19b1a20904c3609440c061673f53c Author: Michael Buesch Date: Sun Oct 28 21:08:51 2007 +0100 b43legacy: Remove set_key callback We don't need the set_key callback, as we don't do hw crypto. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit f34eb692acf4dc937f01ea58686ffe1eb6c5eed8 Author: Larry Finger Date: Thu Oct 11 00:05:57 2007 -0500 b43legacy: Rewrite pwork locking Implement much easier and more lightweight locking for the periodic work. This also removes the last big busywait loop and replaces it by a sleeping loop. This patch for b43legacy is patterned aftar the same patch for b43 by Michael Buesch . Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 6be50837e303c53b1e5a0138dfed132ccbabcdad Author: Larry Finger Date: Wed Oct 10 22:48:17 2007 -0500 b43legacy: Use input-polldev for the rfkill switch This removes the direct call to rfkill on an rfkill event and replaces it with an input device. This way userspace is also notified about the event. This patch is the port to b43legacy of a patch for b43 by Michael Buesch . Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 93bb7f3a7bb5c95da10242d9763994a466c90b1d Author: Larry Finger Date: Wed Oct 10 22:44:22 2007 -0500 b43legacy: RF-kill support This adds full support for the RFKILL button and the RFKILL LED trigger. This is a port to b43legacy of a patch by Michael Buesch for b43. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit ba48f7bb8062982ec916868cc8c90360aad82e53 Author: Larry Finger Date: Fri Oct 12 23:04:51 2007 -0500 b43legacy: LED triggers support Drive the LEDs through the generic LED triggers. The patch to b43 by Michael Buesch has been ported to b43legacy. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c8b0e6e19c0bcd30689cb6c6f64eb140f5d61894 Author: Christoph Hellwig Date: Thu Oct 25 17:15:51 2007 +0800 iwlwifi: cleanup Kconfig and ifdefs to split 3945 and 4965 Currently the iwl3945 & iwl4965 drivers share some common Kconfig symbols. This split it up into options for the individual drivers and gets rid of all the CONFIG_IWLWIFI cruft. Signed-off-by: Christoph Hellwig Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5d08cd1dfdc57dc834c47eb9f023fcf861f3d6bf Author: Christoph Hellwig Date: Thu Oct 25 17:15:50 2007 +0800 iwlwifi: keep 3945 and 4965 headers separate The iwl3945 and iwl4965 devices share some common structure, but with a lot of difference split all over. Currently the two drivers share a lot of headers and use ugly preprocessor magic to manage the difference. This patch keeps two entirely separate copies of the headers to get rid of these hacks an ease future development. Signed-off-by: Christoph Hellwig Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 416e1438d5a921046fda6fc5673d5f2c69841c06 Author: Christoph Hellwig Date: Thu Oct 25 17:15:49 2007 +0800 iwlwifi: mark more functions/variables static mark more functions/variables static Signed-off-by: Christoph Hellwig Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 80f3e024dcc14f30bff58179ad610f941642901b Author: Zhu Yi Date: Thu Oct 25 17:15:48 2007 +0800 iwlwifi: Update iwlwifi version stamp to 1.1.19 Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6ff752093302cedac1124b219729c16f48862c30 Author: Zhu Yi Date: Thu Oct 25 17:15:44 2007 +0800 iwlwifi: Update iwlwifi version stamp to 1.1.18 Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit bee488dbd7effea4c4a483b0a336df331066bb3c Author: mabbas Date: Thu Oct 25 17:15:42 2007 +0800 iwl4965: exclude 60M rate from probe request This patch do the following 2 things: 1. Make sure we don't add rate 60M part of supported rate in proble request, some AP does not like that. 2. It is wrong to set priv->active_rate in this function, this will set it to all avialable rates which might overwrite the mode supported rate. priv->active_rate should be set by only from iwl_set_rate. Signed-off-by: Mohamed Abbas Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d9fd0c9969282609b663a1d933f0777118dd084c Author: Tomas Winkler Date: Thu Oct 25 17:15:41 2007 +0800 iwlwifi: Renames struct fw_image_desc to struct fw_desc This patche shortens the name of struct fw_image_desc to be struct fw_desc. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit b559e66cfc7f99fcd160493a817130d61d4f7015 Author: Emmanuel Grumbach Date: Thu Oct 25 17:15:40 2007 +0800 iwlwifi: add 5965 SCD registers to iwl-prph.h This patch adds SCD registers for 5965 Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 7088310908268eb043b66811b1bb255f3b0cb8fc Author: Emmanuel Grumbach Date: Thu Oct 25 17:15:39 2007 +0800 iwlwifi: move 3945 SCD registers to iwl-prph.h This patch moves 3945 SCD registers to iwl-prph.h. These registers are assigned from the periphery bus Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 67dc320d4719501a0a10d222a670f5a59660505b Author: Emmanuel Grumbach Date: Thu Oct 25 17:15:38 2007 +0800 iwlwifi-ht: move 4965 SCD registers to iwl-prph.h This patch moves 4965 SCD registers to iwl-prph.h. These registers are assigned from the periphery bus Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit ac17a947a4f47b642097d6814d6dcc60c297eb17 Author: Tomas Winkler Date: Thu Oct 25 17:15:37 2007 +0800 iwlwifi: replacing wording restricted to nic access in iwl-io This patch replaces wording 'restricted' with more appropriate 'nic access' NIC access is grabbed to prevent NIC entering power save mode General cleanup of iwl-io.h Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit af7cca2a441f6e2ebeb2a920ef5af1bec8df96e8 Author: Tomas Winkler Date: Thu Oct 25 17:15:36 2007 +0800 iwlwifi: rename restricted_mem to targ_mem This patch renames restricted_mem suffix with more proper name targ_mem for function accessing memory on the nic in target mode Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit d860965200c867e7e3e81ede8572cffff8c7eb24 Author: Tomas Winkler Date: Thu Oct 25 17:15:35 2007 +0800 iwlwifi: replace restricted_reg with prph This patch renames restricted_reg suffix with more proper name prhp for function accessing registers on the periphery bus. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a033f37ee4381a3d9fa0cf4ec28a23357080ed50 Author: mabbas Date: Thu Oct 25 17:15:34 2007 +0800 iwlwifi: accept up to 4K frame size on Rx side to fit A-MSDU frame The driver drops any Rx frame larger than 2332 bytes, but with A-MSDU frame, it could be up to 4K. This patch makes sure we can process larger A-MSDU frame. Signed-off-by: Mohamed Abbas Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit c6f3f656e12870b2d3a62bb813515c0966f7f448 Author: Tomas Winkler Date: Thu Oct 25 17:15:32 2007 +0800 iwlwifi: using PCI_DEVICE macro PCI_DEVICE macro is more concise when using defualt values in device definitions Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 12a70fbe57b714a235e68c261267406d6b614574 Author: Tomas Winkler Date: Thu Oct 25 17:15:31 2007 +0800 iwlwifi: remove cck_power_index_compensation cck_power_index_compensation variable was never used Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 3edb059a40469fd058806c47f9f122dfee38b36c Author: Ian Schram Date: Thu Oct 25 17:15:30 2007 +0800 iwlwifi: remove late null-check and duplicate bug_on These pieces of code appear to be useless. The BUG_ON is also performed in iwl_send_cmd_async. Serious karma would be needed to enter iwl_ativate_qos with a null priv. I had a deja vu when patching this, but for the life of me I couldn't track down a similar patch. Signed-off-by: Ian Schram Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit bc434dd2961763d33836f6e2e119e1d4a6325e4d Author: Ian Schram Date: Thu Oct 25 17:15:29 2007 +0800 iwlwifi: Beautify by removing superfluous newlines and code Moving code around, lindent, and whatnot created several places where there appeared to be an 75 column "rule" instead of 80. This patch removes those that I can spot, hopefully increasing readability. Signed-off-by: Ian Schram Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit bbc5807bedd4196d7797821a122f0ac64699de22 Author: Ian Schram Date: Thu Oct 25 17:15:28 2007 +0800 iwlwifi: Two comments in iwl-3945.c were longer than 80 columns This patch shorten two comments lines in iwl-3945.c Signed-off-by: Ian Schram Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6994633357d3406dcd14e11d6ee61073b2251b72 Author: Tomas Winkler Date: Thu Oct 25 17:15:27 2007 +0800 iwlwifi: remove cck_flag from iwl_driver_hw_info This patch remove cck_flag from iwl_driver_hw_info, this flag is unused after spliting the iwl-base.c Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f1f1f5c730a3598b36989c63d387d9cab63161c7 Author: Tomas Winkler Date: Thu Oct 25 17:15:26 2007 +0800 iwlwifi: add TGN flag to qos parameters This patch adds TGN flag to QoS parameters. This flag governs enablement of NAV shortening with CF-End and filters in 4 or 8K RX AMSDU packets Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit dc2453ae81785f7e4f48485013b89df0a951421e Author: Tomas Winkler Date: Thu Oct 25 17:15:25 2007 +0800 iwlwifi: rs-4965 fix return values This patch cleans up style of 'return' of rate scale 4965 functions. It renames return name variables rc to ret, change functions to void if no meaningful value was returned it add return of -EINVAL for checks of wrong arguments. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fc4b6853fb5e729616159d4f17785f089227a8e8 Author: Tomas Winkler Date: Thu Oct 25 17:15:24 2007 +0800 iwlwifi: renaming last_used and first_empty This patch renames queue pointers to write_ptr and read_ptr instead of first_empty and last_used. This is closer to technical terminology we everyday use Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 91e1747384b80813c2a6c7a9d2dd99722d5b9e1e Author: Ian Schram Date: Thu Oct 25 17:15:23 2007 +0800 iwlwifi: rename iwl_eeprom_aqcuire_semaphore to _acquire_ Correct the spelling of aqcuire. Signed-off-by: Ian Schram Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 01ebd063e11bdcf1ddc605d968ea89aef48e34e0 Author: Ian Schram Date: Thu Oct 25 17:15:22 2007 +0800 iwlwifi: fix various spelling and typos Fixing various spelling errors and typos. Mostly in comments. In total 27 words were corrected, some of which occurred more than ones. Signed-Of-By: Ian Schram Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 220173b01266d866009ca075757effad39648529 Author: Tomas Winkler Date: Tue Oct 16 00:50:25 2007 +0200 iwlwifi: Add erp_ie_changed hanlder This patch adds erp_ie_changed handler to iwl4956 Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a3c7aa58df7df80aa05f166fe3e42482247164cf Author: Ivo van Doorn Date: Sat Oct 27 13:44:08 2007 +0200 rt2x00: Release rt2x00 2.0.12 Version bump. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 2700f8b0489e00cb6eead31e58f5461812dd31a6 Author: Mattias Nissler Date: Sat Oct 27 13:43:49 2007 +0200 rt2x00: Correctly set ACK bit in tx descriptors Add a flag to struct txdata_entry_desc that specifies whether an ack for the frame is to be expected. Use this flag to set the ACK bit in the tx descriptor. Previously, the ACK bit could be set incorrectly on CTS-to-self frames, so they caused retries and were reported to be failed in the txdone handlers. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 3d82346c5d0ff0a413c387c6edaadc0ca29a0971 Author: Adam Baker Date: Sat Oct 27 13:43:29 2007 +0200 rt2x00: Place mutex around USB register access There is a buffer, csr_cache which is used to hold copies of data being passed to the USB stack which can get corrupted if multiple threads attempt to access CSR registers simultaneously. There is also the possibility if multiple threads try to access BBP or RF registers for the multiple USB operations needed to get interleaved leading to incorrect results. This patch introduces a mutex to prevent such simultaneous access. The interleaved access problem may also affect the PCI devices but if so that will be handled in a follow-up patch. Signed-off-by: Adam Baker Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4bd7c452a468af30bb3c4d9c3adcdaf3f3c6048c Author: Ivo van Doorn Date: Thu Jan 24 00:48:03 2008 -0800 rt2x00: Remove data_desc structure Coverty indicated that data_desc with a single element array is bad coding style. This removes the structure and forces everybody to use __le32. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 2676c94d4e5994f92e57fa3ea680f1d652049d03 Author: Mattias Nissler Date: Sat Oct 27 13:42:37 2007 +0200 rt2x00: Rework rt73 antenna selection This patch changes rt73 antenna selection to what I believe is the correct way. It also fixes a small selection bug that switched the antennas by accident. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 50794638dc8bcd94b48b10b8bf4381f1049f93cf Author: Ivo van Doorn Date: Sat Oct 27 13:42:18 2007 +0200 rt2x00: Remove unused variables With the updated antenna setup the following variables are no longer used. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit acaa410d06e057ed4d8d3926ec4f3cdcdf1ab37f Author: Mattias Nissler Date: Sat Oct 27 13:41:53 2007 +0200 rt2x00: Rework rt61 antenna selection. This patch changes rt61 antenna selection again. It helps at least with the rt61 pci card in my box, I hope I haven't broken behaviour on other RF chips. RF 2529 antenna setup is incomplete, we need to at code for diversity when we figure out how it is done properly. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 0e14f6d3e088473b411d35ff63737e46efb9e6df Author: Adam Baker Date: Sat Oct 27 13:41:25 2007 +0200 rt2x00: Unconstify rt2x00dev Some register accesses need rt2x00dev to be non-const they all need modifying so the prototype is consistent. Signed-off-by: Adam Baker Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d9890b8f45158970f3418d0c9c0b3bfde13d3a4f Author: Ivo van Doorn Date: Sat Oct 27 13:40:51 2007 +0200 rt2x00: Detect initial rfkill state on register When registering rfkill, make sure a initial poll event is directly executed to detect the initial rfkill state and send the event to the rfkill layer. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4300beb47dd96ccaf5fa1a7550f6f6f15d045b30 Author: Ivo van Doorn Date: Sat Oct 27 13:40:25 2007 +0200 rt2x00: Input-polldev requires input device input-polldev requires a correctly allocated and initialized input device to be set for the input_polled_dev->input field. Failure to do that will prevent correct polling of the device. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e4cd2ff89f91b0556a2e2d928219b2908cafd67f Author: Ivo van Doorn Date: Sat Oct 27 13:39:57 2007 +0200 rt2x00: Split rt61/rt73 antenna selection into RX and TX antenna Based on investigation of the legacy drivers, I have made the following assumptions of the antenna setup: - R77 is the TX antenna configuration - RF2529 fetches default antenna selection from NIC eeprom word With these assumptions we can change the antenna configuration to correctly read both antenna setup values and correctly configure the antenna. And we can now also configure the antenna for RF2529 without a double antenna. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e25c4bb913e54d729631ba7eb50daf1d9aacbef6 Author: Ivo van Doorn Date: Sat Oct 27 13:39:28 2007 +0200 rt2x00: Disable RX when switching antenna Antenna switching will be ignored when RX is enabled during the switch. Make sure we disable the RX during the switch and don't forget to reenable it later. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 2d68de3efa62655d551092f5c787505735d561ad Author: Ivo van Doorn Date: Sat Oct 13 16:27:16 2007 +0200 [PATCH] rt2x00: Release rt2x00 2.0.11 Version bump. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 16b1951f53c6097d7355e76ed9ca64b056f88f31 Author: Mattias Nissler Date: Sat Oct 13 16:26:57 2007 +0200 [PATCH] rt2x00: Fix antenna selection. In the config() handler, make sure that we do configure an antenna if the current active antenna is uninitialized. Furthermore, don't overwrite the active antenna with bogus values if we didn't touch the antenna setup. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ddc827f93a2f2a7dcfda5b691d046af4dfe76427 Author: Ivo van Doorn Date: Sat Oct 13 16:26:42 2007 +0200 [PATCH] rt2x00: Cleanup if-statements Cleanup if-statements for simple 1/0 register field values. This also fixes a endian bug in rt2500usb when working with the PHY_CSR2 initialization. As well as a bug in the enabling of the LED in rt73usb. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 69f81a2cac860cf183eb9ef7787525c3552d4612 Author: Ivo van Doorn Date: Sat Oct 13 16:26:36 2007 +0200 [PATCH] rt2x00: Implement SW diversity When mac80211 indicates that the default antenna setup should be used _and_ that this default setup is SW_DIVERSITY. This requires sampling and storing the RSSI per antenna and check once every 2 seconds to determine if the RSSI has changed significantly. Once this is the case we should sample the other antenna for a short period and evaluate if we need to swap antenna or not. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8de8c5162b157884aa4855564cbfd9ec9119c819 Author: Ivo van Doorn Date: Sat Oct 13 16:26:32 2007 +0200 [PATCH] rt2x00: Remove rt2x00_clear_link rt2x00_clear_link() was becoming too large for statically inline, also it was used on a single location and shouldn't really be used anywhere else. So move the entire code into the function rt2x00lib_start_link_tuner() Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 39e75857d08fe35ffad4dd9004580acf0d725b75 Author: Ivo van Doorn Date: Sat Oct 13 16:26:27 2007 +0200 [PATCH] rt2x00: SW diversity should default to antenna B Although ANTENNA_SW_DIVERSITY should never be send to the driver, we should still handle it to prevent bugs. But instead of defaulting to ANTENNA_HW_DIVERSITY we should default to ANTENNA_B instead. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit addc81bd428f9eb29ed2ab64ad4039c6aed55aea Author: Ivo van Doorn Date: Sat Oct 13 16:26:23 2007 +0200 [PATCH] rt2x00: Correctly translate mac80211 antenna setup to rt2x00 mac80211 has 3 values for the antenna setup: 0 - default 1 - use antenna 1 2 - use antenna 2 This means that rt2x00 should store the default value from the EEPROM somwhere and use that when mac80211 indicates that the antenna setup is 0. This also implies that rt2x00 should no longer write the hw->config.antenna_sel_* values based on the EEPROM input. This also adds the basis in rt2x00lib for correct software diversity handling. By default rt2x00lib will now configure antenna B instead of hardware diversity. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 362f3b6bfbb18b4b8bd8a8ef391fb95efb43c632 Author: Ivo van Doorn Date: Sat Oct 13 16:26:18 2007 +0200 [PATCH] rt2x00: Use enum defines When setting the default EEPROM values use the values from the enums instead of "magic" values. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ebcf26dae9f10e247ea41ef66f89b336ba456097 Author: Ivo van Doorn Date: Sat Oct 13 16:26:12 2007 +0200 [PATCH] rt2x00: Move quality statistics into seperate structure Move all link quality statistics variables into the link_qual structure. This cleans up the link structure and allows us to use it for more then just statistics. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 191df5737e3047de8b7d8ea4e17df241cf8eefca Author: Rami Rosen Date: Fri Jan 18 05:38:31 2008 -0800 [BRIDGE]: Remove unused include of a header file in ebtables.c In net/bridge/netfilter/ebtables.c, - remove unused include of a header file (linux/tty.h) and remove the corresponding comment above it. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 66688ea7c8e5cb3ea987d8945fffd099ce80a299 Author: David S. Miller Date: Fri Jan 18 04:47:58 2008 -0800 [SCTP]: Fix build warning in sctp_sf_do_5_1C_ack(). Reported by Andrew Morton. net/sctp/sm_statefuns.c: In function 'sctp_sf_do_5_1C_ack': net/sctp/sm_statefuns.c:484: warning: 'error' may be used uninitialized in this function Signed-off-by: David S. Miller commit d4fa26ff44e31c2636a985e3092e2cd55d8045de Author: Daniel Lezcano Date: Fri Jan 18 03:58:07 2008 -0800 [NETNS][DST]: Add the network namespace pointer in dst_ops The network namespace pointer can be stored into the dst_ops structure. This is usefull when there are multiple instances of the dst_ops for a protocol. When there are no several instances, this field will be never used in the protocol. So there is no impact for the protocols which do implement the network namespaces. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 569d36452ee26c08523cc9f658901c5188640853 Author: Daniel Lezcano Date: Fri Jan 18 03:56:57 2008 -0800 [NETNS][DST] dst: pass the dst_ops as parameter to the gc functions The garbage collection function receive the dst_ops structure as parameter. This is useful for the next incoming patchset because it will need the dst_ops (there will be several instances) and the network namespace pointer (contained in the dst_ops). The protocols which do not take care of the namespaces will not be impacted by this change (expect for the function signature), they do just ignore the parameter. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit a6501e080c318f8d4467679d17807f42b3a33cd5 Author: Eric Dumazet Date: Fri Jan 18 03:33:26 2008 -0800 [IPV4] FIB_HASH: Reduce memory needs and speedup lookups Currently, sizeof(struct fib_alias) is 24 or 48 bytes on 32/64 bits arches. Because of SLAB_HWCACHE_ALIGN requirement, these are rounded to 32 and 64 bytes respectively. This patch moves rcu to the end of fib_alias, and conditionally defines it only for CONFIG_IP_FIB_TRIE. We also remove SLAB_HWCACHE_ALIGN requirement for fib_alias and fib_node objects because it is not necessary. (BTW SLUB currently denies it for objects smaller than cache_line_size() / 2, but not SLAB) Finally, sizeof(fib_alias) go back to 16 and 32 bytes. Then, we can embed one fib_alias on each fib_node, to favor locality. Most of the time access to the fib_alias will be free because one cache line contains both the list head (fn_alias) and (one of) the list element. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b59cfbf77dc8368c2c90b012c79553613f4d70c3 Author: Eric Dumazet Date: Fri Jan 18 03:31:36 2008 -0800 [FIB]: Fix rcu_dereference() abuses in fib_trie.c node_parent() and tnode_get_child() currently use rcu_dereference(). These functions are called from both - readers only paths (where rcu_dereference() is needed), and - writer path (where rcu_dereference() is not needed) To make explicit where rcu_dereference() is really needed, I introduced new node_parent_rcu() and tnode_get_child_rcu() functions which use rcu_dereference(), while node_parent() and tnode_get_child() dont use it. Then I changed calling sites where rcu_dereference() was really needed to call the _rcu() variants. This should have no impact but for alpha architecture, and may help future sparse checks. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 95b7d924a589dbefc7ae2ea6c7144b86b75d6a47 Author: Eric Dumazet Date: Tue Jan 15 03:30:35 2008 -0800 [ROSE]: Supress sparse warnings CHECK net/rose/af_rose.c net/rose/af_rose.c:125:11: warning: expensive signed divide net/rose/af_rose.c:976:46: warning: expensive signed divide net/rose/af_rose.c:1379:13: warning: context imbalance in 'rose_info_start' - wrong count at exit net/rose/af_rose.c:1406:13: warning: context imbalance in 'rose_info_stop' - unexpected unlock CHECK net/rose/rose_in.c net/rose/rose_in.c:185:25: warning: expensive signed divide CHECK net/rose/rose_route.c net/rose/rose_route.c:997:46: warning: expensive signed divide net/rose/rose_route.c:1070:13: warning: context imbalance in 'rose_node_start' - wrong count at exit net/rose/rose_route.c:1093:13: warning: context imbalance in 'rose_node_stop' - unexpected unlock net/rose/rose_route.c:1146:13: warning: context imbalance in 'rose_neigh_start' - wrong count at exit net/rose/rose_route.c:1169:13: warning: context imbalance in 'rose_neigh_stop' - unexpected unlock net/rose/rose_route.c:1229:13: warning: context imbalance in 'rose_route_start' - wrong count at exit net/rose/rose_route.c:1252:13: warning: context imbalance in 'rose_route_stop' - unexpected unlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5c17d5f11212af5f12b91991b1132cf301dd1f28 Author: Eric Dumazet Date: Tue Jan 15 03:29:50 2008 -0800 [ATM]: Suppress some sparse warnings CHECK net/atm/br2684.c net/atm/br2684.c:665:13: warning: context imbalance in 'br2684_seq_start' - wrong count at exit net/atm/br2684.c:676:13: warning: context imbalance in 'br2684_seq_stop' - unexpected unlock CHECK net/atm/lec.c net/atm/lec.c:196:23: warning: expensive signed divide CHECK net/atm/proc.c net/atm/proc.c:151:14: warning: context imbalance in 'vcc_seq_start' - wrong count at exit net/atm/proc.c:154:13: warning: context imbalance in 'vcc_seq_stop' - unexpected unlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ca629f2472762088b105cd6081bf9aaa56d4547d Author: Eric Dumazet Date: Tue Jan 15 03:28:43 2008 -0800 [APPLETALK]: Annotations to clear sparse warnings CHECK net/appletalk/aarp.c net/appletalk/aarp.c:951:14: warning: context imbalance in 'aarp_seq_start' - wrong count at exit net/appletalk/aarp.c:977:13: warning: context imbalance in 'aarp_seq_stop' - unexpected unlock CHECK net/appletalk/atalk_proc.c net/appletalk/atalk_proc.c:34:11: warning: context imbalance in 'atalk_seq_interface_start' - wrong count at exit net/appletalk/atalk_proc.c:54:13: warning: context imbalance in 'atalk_seq_interface_stop' - unexpected unlock net/appletalk/atalk_proc.c:93:11: warning: context imbalance in 'atalk_seq_route_start' - wrong count at exit net/appletalk/atalk_proc.c:113:13: warning: context imbalance in 'atalk_seq_route_stop' - unexpected unlock net/appletalk/atalk_proc.c:161:11: warning: context imbalance in 'atalk_seq_socket_start' - wrong count at exit net/appletalk/atalk_proc.c:178:13: warning: context imbalance in 'atalk_seq_socket_stop' - unexpected unlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c71e9167081a6a0d2a076cda674b696b89bb31c2 Author: Patrick McHardy Date: Mon Jan 14 23:49:37 2008 -0800 [NETFILTER]: nf_conntrack: make print_conntrack function optional for l4protos Allows to remove five empty implementations. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c56cc9c07b049acc9d2ca97be0b540978c0c80bf Author: Patrick McHardy Date: Mon Jan 14 23:49:17 2008 -0800 [NETFILTER]: nf_conntrack: remove print_conntrack function from l3protos Its unused and unlikely to ever be used. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b334aadc3c5cd4dae2a44f3dac09b3ef718ccde1 Author: Patrick McHardy Date: Mon Jan 14 23:48:57 2008 -0800 [NETFILTER]: nf_conntrack: clean up a few header files - Remove declarations of non-existing variables and functions - Move helper init/cleanup function declarations to nf_conntrack_helper.h - Remove unneeded __nf_conntrack_attach declaration and make it static Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4f536522dae9d5326ad1872cd254ee84681cf563 Author: Patrick McHardy Date: Mon Jan 14 23:48:39 2008 -0800 [NETFILTER]: kill nf_sysctl.c Since there now is generic support for shared sysctl paths, the only remains are the net/netfilter and net/ipv4/netfilter paths. Move them to net/netfilter/core.c and net/ipv4/netfilter.c and kill nf_sysctl.c. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 86c0bf4095b35b978540aa43b12840d138a0b376 Author: Patrick McHardy Date: Mon Jan 14 23:48:17 2008 -0800 [NETFILTER]: nf_conntrack_sctp: remove timeout indirection Instead of keeping pointers to the timeout values in a table, simply put the timeout values in the table directly. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9b1c2cfd7a8b3840cf5c99d0560e641ff4a3425b Author: Patrick McHardy Date: Mon Jan 14 23:48:02 2008 -0800 [NETFILTER]: nf_conntrack_sctp: replace magic value by symbolic constant Use SCTP_CHUNK_FLAG_T instead of 0x1. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e37b386c95fff34eb0eebeaf257c4f5a8b69b81f Author: Patrick McHardy Date: Mon Jan 14 23:47:44 2008 -0800 [NETFILTER]: nf_conntrack_sctp: remove unused ttag field from conntrack data Spotted by Pablo Neira Ayuso . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4a64830af0fd4dbec908cfbab117def5086acd4a Author: Patrick McHardy Date: Mon Jan 14 23:47:25 2008 -0800 [NETFILTER]: nf_conntrack_sctp: don't take sctp_lock once per chunk Don't take and release the lock once per SCTP chunk, simply hold it the entire time while iterating through the chunks. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit efe9f68afeaf2ce12636990a8c811fb1cc23b12b Author: Patrick McHardy Date: Mon Jan 14 23:47:09 2008 -0800 [NETFILTER]: nf_conntrack_sctp: rename "newconntrack" variable The name is misleading, it holds the new connection state, so rename it to "newstate". Also rename "oldsctpstate" to "oldstate" for consistency. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b37e933ac7bdad2d587a6048babb8db2718460de Author: Patrick McHardy Date: Mon Jan 14 23:46:52 2008 -0800 [NETFILTER]: nf_conntrack_sctp: consolidate sctp_packet() error paths Consolidate error paths and use proper symbolic return value instead of magic values. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8528819adc613e0b4bc3e5cb4123b4b33d2b03c4 Author: Patrick McHardy Date: Mon Jan 14 23:46:37 2008 -0800 [NETFILTER]: nf_conntrack_sctp: reduce line length further Eliminate a few lines over 80 characters by using a local variable to hold the conntrack direction instead of using CTINFO2DIR everywhere. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 112f35c9c164e06e038d506dd3eb15e76829ef8a Author: Patrick McHardy Date: Mon Jan 14 23:46:20 2008 -0800 [NETFILTER]: nf_conntrack_sctp: reduce line length Reduce the length of some overly long lines by renaming all "conntrack" variables to "ct". Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 35c6d3cbe1b97b860087f6082e764ac8da2a12b2 Author: Patrick McHardy Date: Mon Jan 14 23:46:05 2008 -0800 [NETFILTER]: nf_conntrack_sctp: use proper types for bitops Use unsigned long instead of char for the bitmap and removed lots of casts. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5447d4777c48218e90844fa6f6e544119075faad Author: Patrick McHardy Date: Mon Jan 14 23:45:48 2008 -0800 [NETFILTER]: nf_conntrack_sctp: basic cleanups Reindent switch cases properly, get rid of weird constructs like "!(x == y)", put logical operations on the end of the line instead of the next line, get rid of superfluous braces. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2d6462869f8c2edca9dbb53ca3b661a52fc4c144 Author: Patrick McHardy Date: Mon Jan 14 23:45:32 2008 -0800 [NETFILTER]: nf_conntrack_tcp: remove timeout indirection Instead of keeping pointers to the timeout values in a table, simply put the timeout values in the table directly. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a5e73c29d9243cc2e889a9d7155f331923eee655 Author: Patrick McHardy Date: Mon Jan 14 23:45:11 2008 -0800 [NETFILTER]: nf_conntrack_{tcp,sctp}: shrink state table The TCP and SCTP conntrack state transition tables only holds small numbers, but gcc uses 4 byte per entry for the enum. Switching to an u8 reduces the size from 480 to 120 bytes for TCP and from 576 to 144 bytes for SCTP. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 77e2420b85573f57c2774775ead81ebb500b803d Author: Patrick McHardy Date: Mon Jan 14 23:44:49 2008 -0800 [NETFILTER]: nf_conntrack_{tcp,sctp}: mark state table const Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9ba99b0d3f45d0aedeafce1cfa4f720b19d04477 Author: Denys Vlasenko Date: Mon Jan 14 23:44:26 2008 -0800 [NETFILTER]: ipt_REJECT: properly handle IP options The current TCP RST construction reuses the old packet and can't deal with IP options as a consequence of that. Construct the RST from scratch instead. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 022748a9357c4c1a0113ec1ce5612f383b80156f Author: Denys Vlasenko Date: Mon Jan 14 23:44:05 2008 -0800 [NETFILTER]: {ip,ip6}_tables: remove some inlines This patch removes inlines except those which are used by packet matching code and thus are performance-critical. Before: $ size */*/*/ip*tables*.o text data bss dec hex filename 6402 500 16 6918 1b06 net/ipv4/netfilter/ip_tables.o 7130 500 16 7646 1dde net/ipv6/netfilter/ip6_tables.o After: $ size */*/*/ip*tables*.o text data bss dec hex filename 6307 500 16 6823 1aa7 net/ipv4/netfilter/ip_tables.o 7010 500 16 7526 1d66 net/ipv6/netfilter/ip6_tables.o Signed-off-by: Denys Vlasenko Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f9ef8a23c37677929e95ad4026a2fa0d449c1d3e Author: Jan Engelhardt Date: Mon Jan 14 23:43:34 2008 -0800 [NETFILTER]: Update feature-removal-schedule.txt With all the newly introduced features, there is a lot to remove later on after a compatibility grace period of 2 years. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1a50c5a1fe20864f1f902ef76862519a65d14723 Author: Jan Engelhardt Date: Mon Jan 14 23:43:03 2008 -0800 [NETFILTER]: xt_iprange match, revision 1 Adds IPv6 support to xt_iprange, making it possible to match on IPv6 address ranges with ip6tables. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f72e25a897c7edda03a0e1f767925d98772684da Author: Jan Engelhardt Date: Mon Jan 14 23:42:47 2008 -0800 [NETFILTER]: Rename ipt_iprange to xt_iprange This patch moves ipt_iprange to xt_iprange, in preparation for adding IPv6 support to xt_iprange. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2ae15b64e6a1608c840c60df38e8e5eef7b2b8c3 Author: Jan Engelhardt Date: Mon Jan 14 23:42:28 2008 -0800 [NETFILTER]: Update modules' descriptions Updates the MODULE_DESCRIPTION() tags for all Netfilter modules, actually describing what the module does and not just "netfilter XYZ target". Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 917b6fbd6e8dd952c64d1d7468897160467d2cc0 Author: Jan Engelhardt Date: Mon Jan 14 23:42:06 2008 -0800 [NETFILTER]: xt_policy: use the new union nf_inet_addr Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 57de0abbffa9724e2a89860a49725d805bfc07ca Author: Jan Engelhardt Date: Mon Jan 14 23:41:50 2008 -0800 [NETFILTER]: xt_pkttype: IPv6 multicast address recognition Signed-off-by: Jan Engelhart Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 13b0e83b5b52d1a0ab87772ecc93fe91b2740386 Author: Jan Engelhardt Date: Mon Jan 14 23:41:34 2008 -0800 [NETFILTER]: xt_pkttype: Add explicit check for IPv4 In the PACKET_LOOPBACK case, the skb data was always interpreted as IPv4, but that is not valid for IPv6, obviously. Fix this by adding an extra condition to check for AF_INET. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 17b0d7ef658583842da75eebf8001dc617f0b52e Author: Jan Engelhardt Date: Mon Jan 14 23:41:11 2008 -0800 [NETFILTER]: xt_mark match, revision 1 Introduces the xt_mark match revision 1. It uses fixed types, eventually obsoleting revision 0 some day (uses nonfixed types). Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 64eb12f9972d45f3b9b0f0a33a966e311c3d5275 Author: Jan Engelhardt Date: Mon Jan 14 23:40:53 2008 -0800 [NETFILTER]: xt_conntrack match, revision 1 Introduces the xt_conntrack match revision 1. It uses fixed types, the new nf_inet_addr and comes with IPv6 support, thereby completely superseding xt_state. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2e3075a2c4364c0e8726ac2a0f3b1708da781bac Author: Jan Engelhardt Date: Mon Jan 14 23:40:34 2008 -0800 [NETFILTER]: Extend nf_inet_addr with in{,6}_addr Extend union nf_inet_addr with struct in_addr and in6_addr. Useful because a lot of in-kernel IPv4 and IPv6 functions use in_addr/in6_addr. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 96e3227265852ffad332f911887c9cf26c85e40a Author: Jan Engelhardt Date: Mon Jan 14 23:39:13 2008 -0800 [NETFILTER]: xt_connmark match, revision 1 Introduces the xt_connmark match revision 1. It uses fixed types, eventually obsoleting revision 0 some day (uses nonfixed types). (Unfixed types like "unsigned long" do not play well with mixed user-/kernelspace "bitness", e.g. 32/64, as is common on SPARC64, and need extra compat code.) Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e0a812aea5cbf2085f7645bf2bfd9cba91c8a672 Author: Jan Engelhardt Date: Mon Jan 14 23:38:52 2008 -0800 [NETFILTER]: xt_MARK target, revision 2 Introduces the xt_MARK target revision 2. It uses fixed types, and also uses the more expressive XOR logic. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0dc8c76029f4675c2345eefd947f123e64de1aae Author: Jan Engelhardt Date: Mon Jan 14 23:38:34 2008 -0800 [NETFILTER]: xt_CONNMARK target, revision 1 Introduces the xt_CONNMARK target revision 1. It uses fixed types, and also uses the more expressive XOR logic. Futhermore, it allows to selectively pick bits from both the ctmark and the nfmark in the SAVE and RESTORE operations. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8b6f3f62fea7b85fce8f7d12aabba7b191bf60d2 Author: Jan Engelhardt Date: Mon Jan 14 23:33:14 2008 -0800 [NETFILTER]: Annotate start of kernel fields in NF headers Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cdfe8b9797f1a47fe24a9bf9e98a351bae11ab99 Author: Jan Engelhardt Date: Mon Jan 14 23:32:54 2008 -0800 [NETFILTER]: xt_TOS: Properly set the TOS field Fix incorrect mask value passed to ipv4_change_dsfield/ipv6_change_dsfield. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9bb268ed7c5f0ec76a5bd6824450a104231152ba Author: Jan Engelhardt Date: Mon Jan 14 23:32:37 2008 -0800 [NETFILTER]: xt_TOS: Change semantic of mask value This patch changes the behavior of xt_TOS v1 so that the mask value the user supplies means "zero out these bits" rather than "keep these bits". This is more easy on the user, as (I would assume) people keep more bits than zeroing, so, an example: Action: Set bit 0x01. before (&): iptables -j TOS --set-tos 0x01/0xFE after (&~): iptables -j TOS --set-tos 0x01/0x01 This is not too "tragic" with xt_TOS, but where larger fields are used (e.g. proposed xt_MARK v2), `--set-xmar 0x01/0x01` vs. `--set-xmark 0x01/0xFFFFFFFE` really makes a difference. Other target(!) modules, such as xt_TPROXY also use &~ rather than &, so let's get to a common ground. (Since xt_TOS has not yet left the development tree en direction to mainline, the semantic can be changed as proposed without breaking iptables.) Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 11fa2aa362fa54b9eaa8adce9a89f9b467cc9214 Author: Jan Engelhardt Date: Mon Jan 14 23:32:13 2008 -0800 [NETFILTER]: remove ipt_TOS.c Commit 88c85d81f74f92371745158aebc5cbf490412002 forgot to remove the old ipt_TOS file (whose code has been merged into xt_DSCP). Remove it now. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8ce22fcab432313717d393c96ad35f0aee016e83 Author: Patrick McHardy Date: Mon Jan 14 23:31:36 2008 -0800 [NETFILTER]: Remove some EXPERIMENTAL dependencies Most of the netfilter modules are not considered experimental anymore, the only ones I want to keep marked as EXPERIMENTAL are: - TCPOPTSTRIP target, which is brand new. - SANE helper, which is quite new. - CLUSTERIP target, which I believe hasn't had much testing despite being in the kernel for quite a long time. - SCTP match and conntrack protocol, which are a mess and need to be reviewed and cleaned up before I would trust them. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b26e76b7ce35b673deafab4a40eb33db6f81036f Author: Patrick McHardy Date: Mon Jan 14 23:30:56 2008 -0800 [NETFILTER]: Hide a few more options under NETFILTER_ADVANCED Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7f9b80529b8a2ad8b3273b15fb444a0e34b760a9 Author: Stephen Hemminger Date: Mon Jan 14 23:14:20 2008 -0800 [IPV4]: fib hash|trie initialization Initialization of the slab cache's should be done when IP is initialized to make sure of available memory, and that code can be marked __init. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d717a9a62049a03e85c3c2dd3399416eeb34a8be Author: Stephen Hemminger Date: Mon Jan 14 23:11:54 2008 -0800 [IPV4] fib_trie: size and statistics Show number of entries in trie, the size field was being set but never used, but it only counted leaves, not all entries. Refactor the two cases in fib_triestat_seq_show into a single routine. Note: the stat structure was being malloc'd but the stack usage isn't so high (288 bytes) that it is worth the additional complexity. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 28d36e3702fcbed73c38e877bcf2a8f8946b7f3d Author: Eric Dumazet Date: Mon Jan 14 23:09:56 2008 -0800 [FIB]: Avoid using static variables without proper locking fib_trie_seq_show() uses two helper functions, rtn_scope() and rtn_type() that can write to static storage without locking. Just pass to them a temporary buffer to avoid potential corruption (probably not triggerable but still...) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 39a6d06300128d32f361f4f790beba0ca83730eb Author: Denis V. Lunev Date: Mon Jan 14 23:06:19 2008 -0800 [NETNS]: Process inet_confirm_addr in the correct namespace. inet_confirm_addr can be called with NULL in_dev from arp_ignore iff scope is RT_SCOPE_LINK. Lets always pass the device and check for RT_SCOPE_LINK scope inside inet_confirm_addr. This let us take network namespace from in_device a need for an additional argument. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 9bd85e32644d4d3744117b0a196ad4382f8acf35 Author: Denis V. Lunev Date: Mon Jan 14 23:05:55 2008 -0800 [IPV4]: Remove extra argument from arp_ignore. arp_ignore has two arguments: dev & in_dev. dev is used for inet_confirm_addr calling only. inet_confirm_addr, in turn, either gets in_dev from the device passed or iterates over all network devices if the device passed is NULL. It seems logical to directly pass in_dev into inet_confirm_addr. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 06f0511df1b3b32fc8e0840514d4b207150f1fa7 Author: Denis V. Lunev Date: Thu Jan 24 00:30:58 2008 -0800 [ARP]: neigh_parms_put(destroy) are essentially local to core/neighbour.c. Make them static. [ Moved the inline before, instead of after, call sites. -DaveM ] Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 14db4133d59e2c1bed122bf87393e2ded05e42dc Author: Denis V. Lunev Date: Mon Jan 14 23:00:22 2008 -0800 [ARP]: Remove forward declaration of neigh_changeaddr. No need for this. It is declared in the neighbour.h Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 486b51d3706c5493b6c50992eaaafc44e628a7ed Author: Denis V. Lunev Date: Mon Jan 14 22:59:59 2008 -0800 [ARP]: Remove overkill checks from neigh_param_alloc. Valid network device is always passed into neigh_param_alloc, so remove extra checking for dev == NULL. Additionally, cleanup bogus netns assignment. Signed-off-by: Denis V. Lunev Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 72132c1b6c7a7605cdfde86a9f58b6ca2b2195a6 Author: Denis V. Lunev Date: Mon Jan 14 22:59:30 2008 -0800 [IPV4]: fib_rules_unregister is essentially void. fib_rules_unregister is called only after successful register and the return code is never checked. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 2db82b534bd52b349f1b2ab3e63aa40ca0e466ab Author: Denis V. Lunev Date: Mon Jan 14 22:58:55 2008 -0800 [NETNS]: Make arp code network namespace consistent. Some calls in the arp.c have network namespace as an argument. Getting init_net inside these functions is simply inconsistent. Fix this. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a79878f00dad97d03a3e62a48b06227d55ae5fe4 Author: Denis V. Lunev Date: Mon Jan 14 22:56:01 2008 -0800 [ARP]: Move inet_addr_type call after simple error checks in arp_contructor. The neighbour entry will be destroyed in the case of error, so it is pointless to perform constly routing table lookup in this case. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a308da1627d711fd0c7542bfe892abc78d65d215 Author: Pavel Emelyanov Date: Mon Jan 14 05:36:50 2008 -0800 [NETNS][RAW]: Create the /proc/net/raw(6) in each namespace. To do so, just register the proper subsystem and create files in ->init callbacks. No other special per-namespace handling for raw sockets is required. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e5ba31f11f6cae785e893d5d10abd612fef0b6bc Author: Pavel Emelyanov Date: Mon Jan 14 05:36:27 2008 -0800 [NETNS][RAW]: Eliminate explicit init_net references. Happily, in all the rest places (->bind callbacks only), that require the struct net, we have a socket, so get the net from it. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f51d599fbecf4881a36466f0355da6b0b346ea70 Author: Pavel Emelyanov Date: Mon Jan 14 05:35:57 2008 -0800 [NETNS][RAW]: Make /proc/net/raw(6) show per-namespace socket list. Pull the struct net pointer up to the showing functions to filter the sockets depending on their namespaces. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit be185884b31093555dc10aa32efe0b73c835312e Author: Pavel Emelyanov Date: Mon Jan 14 05:35:31 2008 -0800 [NETNS][RAW]: Make ipv[46] raw sockets lookup namespaces aware. This requires just to pass the appropriate struct net pointer into __raw_v[46]_lookup and skip sockets that do not belong to a needed namespace. The proper net is get from skb->dev in all the cases. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8d96544475b236a0f319e492f4828aa8c0801c7f Author: Eric Dumazet Date: Sun Jan 13 22:31:44 2008 -0800 [FIB]: full_children & empty_children should be uint, not ushort If declared as unsigned short, these fields can overflow, and whole trie logic is broken. I could not make the machine crash, but some tnode can never be freed. Note for 64 bit arches : By reordering t_key and parent in [node, leaf, tnode] structures, we can use 32 bits hole after t_key so that sizeof(struct tnode) doesnt change after this patch. Signed-off-by: Eric Dumazet Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit f16f3026db6fa63cbb0f4a37833562aa999c93e5 Author: Eric Dumazet Date: Sun Jan 13 22:29:41 2008 -0800 [AX25]: sparse cleanups net/ax25/ax25_route.c:251:13: warning: context imbalance in 'ax25_rt_seq_start' - wrong count at exit net/ax25/ax25_route.c:276:13: warning: context imbalance in 'ax25_rt_seq_stop' - unexpected unlock net/ax25/ax25_std_timer.c:65:25: warning: expensive signed divide net/ax25/ax25_uid.c:46:1: warning: symbol 'ax25_uid_list' was not declared. Should it be static? net/ax25/ax25_uid.c:146:13: warning: context imbalance in 'ax25_uid_seq_start' - wrong count at exit net/ax25/ax25_uid.c:169:13: warning: context imbalance in 'ax25_uid_seq_stop' - unexpected unlock net/ax25/af_ax25.c:573:28: warning: expensive signed divide net/ax25/af_ax25.c:1865:13: warning: context imbalance in 'ax25_info_start' - wrong count at exit net/ax25/af_ax25.c:1888:13: warning: context imbalance in 'ax25_info_stop' - unexpected unlock net/ax25/ax25_ds_timer.c:133:25: warning: expensive signed divide Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 6bf1574ee33270e7c0b9d43103e8cedffd9f74db Author: Eric Dumazet Date: Sun Jan 13 22:27:52 2008 -0800 [X25]: Avoid divides and sparse warnings CHECK net/x25/af_x25.c net/x25/af_x25.c:117:46: warning: expensive signed divide CHECK net/x25/x25_facilities.c net/x25/x25_facilities.c:209:30: warning: expensive signed divide CHECK net/x25/x25_in.c net/x25/x25_in.c:250:26: warning: expensive signed divide CHECK net/x25/x25_proc.c net/x25/x25_proc.c:48:11: warning: context imbalance in 'x25_seq_route_start' - wrong count at exit net/x25/x25_proc.c:72:13: warning: context imbalance in 'x25_seq_route_stop' - unexpected unlock net/x25/x25_proc.c:112:11: warning: context imbalance in 'x25_seq_socket_start' - wrong count at exit net/x25/x25_proc.c:129:13: warning: context imbalance in 'x25_seq_socket_stop' - unexpected unlock net/x25/x25_proc.c:190:11: warning: context imbalance in 'x25_seq_forward_start' - wrong count at exit net/x25/x25_proc.c:215:13: warning: context imbalance in 'x25_seq_forward_stop' - unexpected unlock CHECK net/x25/x25_subr.c net/x25/x25_subr.c:362:57: warning: expensive signed divide Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4dde4610c4ab54e9d36a4afaa98c23b017f7f9e3 Author: Eric Dumazet Date: Sun Jan 13 00:43:22 2008 -0800 [IPV4] fib_trie: removes a memset() call in tnode_new() tnode_alloc() already clears allocated memory, using kcalloc() or alloc_pages(GFP_KERNEL|__GFP_ZERO, ...) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 88ebc72f68974965b41ad7e8e441df57a530e386 Author: David S. Miller Date: Sat Jan 12 21:49:01 2008 -0800 [IPV4] FIB: Include nexthop device indexes in fib_info hashfn. Signed-off-by: David S. Miller commit 3f4afb6443aaa1d69b2d8f0461c8191e40d54c3c Author: David S. Miller Date: Sat Jan 12 21:31:29 2008 -0800 [XFRM]: Fix struct xfrm_algo code formatting. Realign struct members. Signed-off-by: David S. Miller commit ba749ae98d5aa9d2ce9a7facde0deed454f92230 Author: Eric Dumazet Date: Sat Jan 12 21:30:23 2008 -0800 [XFRM]: alg_key_len should be unsigned to avoid integer divides alg_key_len is currently defined as 'signed int'. This unfortunatly leads to integer divides in several paths. Converting it to unsigned is safe and saves 208 bytes of text on i386. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d88c305a03c37a95c4b27e1a0c2e387bb7ce80df Author: Ilpo Järvinen Date: Sat Jan 12 21:29:14 2008 -0800 [PKT_SCHED] HTB: htb_classid is dead static inline Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 8519660b98349fb922157fa2f5fb6e49eb17ad38 Author: Ilpo Järvinen Date: Sat Jan 12 21:28:37 2008 -0800 [NET] core/utils.c: digit2bin is dead static inline Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 112d8cfcbf4f5ef0cf669cb5864f1206972076d6 Author: Eric Dumazet Date: Sat Jan 12 21:27:41 2008 -0800 [FIB]: Reduce text size of net/ipv4/fib_trie.o In struct tnode, we use two fields of 5 bits for 'pos' and 'bits'. Switching to plain 'unsigned char' (8 bits) take the same space because of compiler alignments, and reduce text size by 435 bytes on i386. On i386 : $ size net/ipv4/fib_trie.o.before_patch net/ipv4/fib_trie.o text data bss dec hex filename 13714 4 64 13782 35d6 net/ipv4/fib_trie.o.before 13279 4 64 13347 3423 net/ipv4/fib_trie.o Signed-off-by: Eric Dumazet Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit b9aed45507b657abab0b88da2c9b509a9dc462b1 Author: Ilpo Järvinen Date: Sat Jan 12 21:26:31 2008 -0800 [NETFILTER] xt_policy.c: kill some bloat net/netfilter/xt_policy.c: policy_mt | -906 1 function changed, 906 bytes removed, diff: -906 net/netfilter/xt_policy.c: match_xfrm_state | +427 1 function changed, 427 bytes added, diff: +427 net/netfilter/xt_policy.o: 2 functions changed, 427 bytes added, 906 bytes removed, diff: -479 Alternatively, this could be done by combining identical parts of the match_policy_in/out() Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c95aaf9af5a1f6dee56d1f2ab4915cd722d608da Author: Stephen Hemminger Date: Sat Jan 12 21:25:02 2008 -0800 [IPV4] fib_trie: Fix sparse warnings. Make FIB TRIE go through sparse checker without warnings. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 66a2f7fd2fddee1ddc5d1d286cd832e50a97258e Author: Stephen Hemminger Date: Sat Jan 12 21:23:17 2008 -0800 [IPV4] fib_trie: Add statistics. The FIB TRIE code has a bunch of statistics, but the code is hidden behind an ifdef that was never implemented. Since it was dead code, it was broken as well. This patch fixes that by making it a config option. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a6db9010922f2c02db2bbea8c17c50e451be38d9 Author: Stephen Hemminger Date: Sat Jan 12 20:58:35 2008 -0800 [IPV4] FIB: printk related cleanups printk related cleanups: * Get rid of unused printk wrappers. * Make bug checks into KERN_WARNING because KERN_DEBUG gets ignored * Turn one cryptic old message into something real * Make sure all messages have KERN_XXX Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fea86ad8123df0d49188cbc1dd2f48da6ae49d65 Author: Stephen Hemminger Date: Sat Jan 12 20:57:07 2008 -0800 [IPV4] fib_trie: fib_insert_node cleanup The only error from fib_insert_node is if memory allocation fails, so instead of passing by reference, just use the convention of returning NULL. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 187b5188a78694fa6608fa1252d5197a7b3ab076 Author: Stephen Hemminger Date: Sat Jan 12 20:55:55 2008 -0800 [IPV4] fib_trie: Use %u for unsigned printfs. Use %u instead of %d when printing unsigned values. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 93e4308b3bea445dc2d3e3c1897a93fe111eba17 Author: Stephen Hemminger Date: Sat Jan 12 20:50:23 2008 -0800 [IPV4] fib_trie: Get rid of unused revision element. The revision element must of been part of an earlier design, because currently it is set but never used. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c28a1cf448e59019fa681741963c3acaeaeb6d27 Author: Stephen Hemminger Date: Sat Jan 12 20:49:13 2008 -0800 [IPV4] fib_trie: Get rid of trie_init(). trie_init is worthless it is just zeroing stuff that is already zero! Move the memset() down to make it obvious. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6db105db95197c0fe93f8b3fb338eb6cf17440b7 Author: Ilpo Järvinen Date: Sat Jan 12 03:25:00 2008 -0800 [PKTGEN]: uninline getCurUs net/core/pktgen.c: pktgen_stop_device | -50 pktgen_run | -105 pktgen_if_show | -37 pktgen_thread_worker | -702 4 functions changed, 894 bytes removed, diff: -894 net/core/pktgen.c: getCurUs | +36 1 function changed, 36 bytes added, diff: +36 net/core/pktgen.o: 5 functions changed, 36 bytes added, 894 bytes removed, diff: -858 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 56e252c7484c3ebc058f3c22d4a75386b079c49c Author: Ilpo Järvinen Date: Sat Jan 12 03:23:58 2008 -0800 [PKTGEN]: Kill dead static inlines Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 3f25252675770e08d97bc112e52208e8c70ce0e5 Author: Ilpo Järvinen Date: Sat Jan 12 03:21:50 2008 -0800 [NETLINK] af_netlink: kill some bloat net/netlink/af_netlink.c: netlink_realloc_groups | -46 netlink_insert | -49 netlink_autobind | -94 netlink_clear_multicast_users | -48 netlink_bind | -55 netlink_setsockopt | -54 netlink_release | -86 netlink_kernel_create | -47 netlink_change_ngroups | -56 9 functions changed, 535 bytes removed, diff: -535 net/netlink/af_netlink.c: netlink_table_ungrab | +53 1 function changed, 53 bytes added, diff: +53 net/netlink/af_netlink.o: 10 functions changed, 53 bytes added, 535 bytes removed, diff: -482 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 50eb431d6e98189eb40606fcd4d03ecd8e168afa Author: Ilpo Järvinen Date: Sat Jan 12 03:21:00 2008 -0800 [IPV6] route: kill some bloat net/ipv6/route.c: ip6_pkt_prohibit_out | -130 ip6_pkt_discard | -261 ip6_pkt_discard_out | -130 ip6_pkt_prohibit | -261 4 functions changed, 782 bytes removed, diff: -782 net/ipv6/route.c: ip6_pkt_drop | +300 1 function changed, 300 bytes added, diff: +300 net/ipv6/route.o: 5 functions changed, 300 bytes added, 782 bytes removed, diff: -482 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 1486cbd777316e55aa30aeb37e231ce618c29d2e Author: Ilpo Järvinen Date: Sat Jan 12 03:20:03 2008 -0800 [XFRM] xfrm_policy: kill some bloat net/xfrm/xfrm_policy.c: xfrm_audit_policy_delete | -692 xfrm_audit_policy_add | -692 2 functions changed, 1384 bytes removed, diff: -1384 net/xfrm/xfrm_policy.c: xfrm_audit_common_policyinfo | +704 1 function changed, 704 bytes added, diff: +704 net/xfrm/xfrm_policy.o: 3 functions changed, 704 bytes added, 1384 bytes removed, diff: -680 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit cea14e0ed6082bd3dff19203d01340de6e7ca067 Author: Ilpo Järvinen Date: Sat Jan 12 03:19:12 2008 -0800 [TCP]: Uninline tcp_is_cwnd_limited net/ipv4/tcp_cong.c: tcp_reno_cong_avoid | -65 1 function changed, 65 bytes removed, diff: -65 net/ipv4/arp.c: arp_ignore | -5 1 function changed, 5 bytes removed, diff: -5 net/ipv4/tcp_bic.c: bictcp_cong_avoid | -57 1 function changed, 57 bytes removed, diff: -57 net/ipv4/tcp_cubic.c: bictcp_cong_avoid | -61 1 function changed, 61 bytes removed, diff: -61 net/ipv4/tcp_highspeed.c: hstcp_cong_avoid | -63 1 function changed, 63 bytes removed, diff: -63 net/ipv4/tcp_hybla.c: hybla_cong_avoid | -85 1 function changed, 85 bytes removed, diff: -85 net/ipv4/tcp_htcp.c: htcp_cong_avoid | -57 1 function changed, 57 bytes removed, diff: -57 net/ipv4/tcp_veno.c: tcp_veno_cong_avoid | -52 1 function changed, 52 bytes removed, diff: -52 net/ipv4/tcp_scalable.c: tcp_scalable_cong_avoid | -61 1 function changed, 61 bytes removed, diff: -61 net/ipv4/tcp_yeah.c: tcp_yeah_cong_avoid | -75 1 function changed, 75 bytes removed, diff: -75 net/ipv4/tcp_illinois.c: tcp_illinois_cong_avoid | -54 1 function changed, 54 bytes removed, diff: -54 net/dccp/ccids/ccid3.c: ccid3_update_send_interval | -7 ccid3_hc_tx_packet_recv | +7 2 functions changed, 7 bytes added, 7 bytes removed, diff: +0 net/ipv4/tcp_cong.c: tcp_is_cwnd_limited | +88 1 function changed, 88 bytes added, diff: +88 built-in.o: 14 functions changed, 95 bytes added, 642 bytes removed, diff: -547 ...Again some gcc artifacts visible as well. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 490d5046930276aae50dd16942649bfc626056f7 Author: Ilpo Järvinen Date: Sat Jan 12 03:17:20 2008 -0800 [TCP]: Uninline tcp_set_state net/ipv4/tcp.c: tcp_close_state | -226 tcp_done | -145 tcp_close | -564 tcp_disconnect | -141 4 functions changed, 1076 bytes removed, diff: -1076 net/ipv4/tcp_input.c: tcp_fin | -86 tcp_rcv_state_process | -164 2 functions changed, 250 bytes removed, diff: -250 net/ipv4/tcp_ipv4.c: tcp_v4_connect | -209 1 function changed, 209 bytes removed, diff: -209 net/ipv4/arp.c: arp_ignore | +5 1 function changed, 5 bytes added, diff: +5 net/ipv6/tcp_ipv6.c: tcp_v6_connect | -158 1 function changed, 158 bytes removed, diff: -158 net/sunrpc/xprtsock.c: xs_sendpages | -2 1 function changed, 2 bytes removed, diff: -2 net/dccp/ccids/ccid3.c: ccid3_update_send_interval | +7 1 function changed, 7 bytes added, diff: +7 net/ipv4/tcp.c: tcp_set_state | +238 1 function changed, 238 bytes added, diff: +238 built-in.o: 12 functions changed, 250 bytes added, 1695 bytes removed, diff: -1445 I've no explanation why some unrelated changes seem to occur consistently as well (arp_ignore, ccid3_update_send_interval; I checked the arp_ignore asm and it seems to be due to some reordered of operation order causing some extra opcodes to be generated). Still, the benefits are pretty obvious from the codiff's results. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 389f661224cdbdf178553fb09a52dc6c8bf86890 Author: Daniel Lezcano Date: Thu Jan 10 22:44:40 2008 -0800 [NETNS][IPV6]: inet6_addr - make ipv6_chk_home_addr namespace aware Looks if the address is belonging to the network namespace, otherwise discard the address for the check. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 1cab3da6be6c7659f62d0d297b389cc0e48b2178 Author: Daniel Lezcano Date: Thu Jan 10 22:44:09 2008 -0800 [NETNS][IPV6]: inet6_addr - ipv6_get_ifaddr namespace aware The inet6_addr_lst is browsed taking into account the network namespace specified as parameter. If an address does not belong to the specified namespace, it is ignored. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 06bfe655e7db7719c0eb51eb420fb9c2a6aa1e00 Author: Daniel Lezcano Date: Thu Jan 10 22:43:42 2008 -0800 [NETNS][IPV6]: inet6_addr - ipv6_chk_same_addr namespace aware This patch makes ipv6_chk_same_addr function to be aware of the network namespace. The addresses not belonging to the network namespace are discarded. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit bfeade087005278fc8cafe230b7658a4f40c5acb Author: Daniel Lezcano Date: Thu Jan 10 22:43:18 2008 -0800 [NETNS][IPV6]: inet6_addr - check ipv6 address per namespace When a new address is added, we must check if the new address does not already exists. This patch makes this check to be aware of a network namespace, so the check will look if the address already exists for the specified network namespace. While the addresses are browsed, the addresses which do not belong to the namespace are discarded. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 3c40090a0f5b69deecc5ca615f994957f949333d Author: Daniel Lezcano Date: Thu Jan 10 22:42:49 2008 -0800 [NETNS][IPV6]: inet6_addr - isolate inet6 addresses from proc file Make /proc/net/if_inet6 show only inet6 addresses belonging to the namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 39971554d3469b48154f34257ad4a35081b7ee40 Author: Pavel Emelyanov Date: Thu Jan 10 22:37:16 2008 -0800 [NEIGH]: Add a comment describing what a NUD stands for. When I studied the neighbor code I puzzled over what the NUD can mean for quite a long time. Finally I asked Alexey and he said that this was smth like "neighbor unreachability detection". Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9993e7d313e80bdc005d09c7def91903e0068f07 Author: David S. Miller Date: Thu Jan 10 21:56:38 2008 -0800 [TCP]: Do not purge sk_forward_alloc entirely in tcp_delack_timer(). Otherwise we beat heavily on the global tcp_memory atomics when all of the sockets in the system are slowly sending perioding packet clumps. Noticed and suggested by Eric Dumazet. Signed-off-by: David S. Miller commit e186932b3d26bd975022a1e254407e95dddceae7 Author: Pavel Emelyanov Date: Thu Jan 10 17:43:50 2008 -0800 [NETNS]: Use the per-net ipv6_devconf(_all) in sysctl handlers Actually the net->ipv6.devconf_all can be used in a few places, but to keep the /proc/sys/net/ipv6/conf/ sysctls work consistently in the namespace we should use the per-net devconf_all in the sysctl "forwarding" handler. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 441fc2a2393a9b9ffbacb97f4427cce743579411 Author: Pavel Emelyanov Date: Thu Jan 10 17:43:22 2008 -0800 [NETNS]: Use the per-net ipv6_devconf_dflt All its users are in net/ipv6/addrconf.c's sysctl handlers. Since they already have the struct net to get from, the per-net ipv6_devconf_dflt can already be used. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e0da5a480cafc7ca228d6b5a05dbd77344a6bd29 Author: Pavel Emelyanov Date: Thu Jan 10 17:42:55 2008 -0800 [NETNS]: Create ipv6 devconf-s for namespaces This is the core. Declare and register the pernet subsys for addrconf. The init callback the will create the devconf-s. The init_net will reuse the existing statically declared confs, so that accessing them from inside the ipv6 code will still work. The register_pernet_subsys() is moved above the ipv6_add_dev() call for loopback, because this function will need the net->devconf_dflt pointer to be already set. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit bff16c2f991386883dc81ec969ba15eb270a0c7f Author: Pavel Emelyanov Date: Thu Jan 10 17:42:13 2008 -0800 [NETNS]: Make the ctl-tables per-namespace This includes passing the net to __addrconf_sysctl_register and saving this on the ctl_table->extra2 to be used in handlers (those, needing it). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9589731220edfebeb6a05c52d0838a99dee20893 Author: Pavel Emelyanov Date: Thu Jan 10 17:41:45 2008 -0800 [NETNS]: Make the __addrconf_sysctl_register return an error This error code will be needed to abort the namespace creation if needed. Probably, this is to be checked when a new device is created (currently it is ignored). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 408c4768cd0843f43a13a442c76215dd9cadf23d Author: Pavel Emelyanov Date: Thu Jan 10 17:41:21 2008 -0800 [NETNS]: Clean out the ipv6-related sysctls creation/destruction The addrconf sysctls and neigh sysctls are registered and unregistered always in pairs, so they can be joined into one (well, two) functions, that accept the struct inet6_dev and do all the job. This also get rids of unneeded ifdefs inside the code. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4250846146c04ac6f17bf92619ddfef6db2cf34f Author: Denis V. Lunev Date: Thu Jan 10 03:53:12 2008 -0800 [NEIGH]: Make /proc/net/arp opening consistent with seq_net_open semantics seq_open_net requires that first field of the seq->private data to be struct seq_net_private. In reality this is a single pointer to a struct net for now. The patch makes code consistent. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit ae22120ad846399f6aa19c5b32f8d4c7bd068fd1 Author: Denis V. Lunev Date: Thu Jan 10 03:52:35 2008 -0800 [ATM]: Simplify /proc/net/atm/arp opening The iterator state->ns.neigh_sub_iter initialization is moved from arp_seq_open to clip_seq_start for convinience. This should not be a problem as the iterator will be used only after the seq_start callback. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit e5d69b9f4a6ce17f0d09595da45e37b870fee5ae Author: Denis V. Lunev Date: Thu Jan 10 03:51:41 2008 -0800 [ATM]: Oops reading net/atm/arp cat /proc/net/atm/arp causes the NULL pointer dereference in the get_proc_net+0xc/0x3a. This happens as proc_get_net believes that the parent proc dir entry contains struct net. Fix this assumption for "net/atm" case. The problem is introduced by the commit c0097b07abf5f92ab135d024dd41bd2aada1512f from Eric W. Biederman/Daniel Lezcano. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 8cced9eff1d413c28efac9c5ac5a75793c9251cf Author: Denis V. Lunev Date: Thu Jan 10 03:30:49 2008 -0800 [NETNS]: Enable routing configuration in non-initial namespace. I.e. remove the net != &init_net checks from the places, that now can handle other-than-init net namespace. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 226b0b4a51d1cc09928e569b121ca0abe2839169 Author: Denis V. Lunev Date: Thu Jan 10 03:30:24 2008 -0800 [NETNS]: Replace init_net with the correct context in fib_frontend.c Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 1bad118a330d494b23663fce94d4e9d9d5065fa7 Author: Denis V. Lunev Date: Thu Jan 10 03:29:53 2008 -0800 [NETNS]: Pass namespace through ip_rt_ioctl. ... up to rtentry_to_fib_config Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 4b5d47d4d372287b48a5fac8c497cba5e0618a36 Author: Denis V. Lunev Date: Thu Jan 10 03:29:23 2008 -0800 [NETNS]: Correctly fill fib_config data. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6bd48fcf73019219495f7599028296c65b749bb4 Author: Denis V. Lunev Date: Thu Jan 10 03:28:55 2008 -0800 [NETNS]: Provide correct namespace for fibnl netlink socket. This patch makes the netlink socket to be per namespace. That allows to have each namespace its own socket for routing queries. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit e4aef8aea31e6fc61b33a57120968a6e9824d138 Author: Denis V. Lunev Date: Thu Jan 10 03:28:24 2008 -0800 [NETNS]: Place fib tables into netns. The preparatory work has been done. All we need is to substitute fib_table_hash with net->ipv4.fib_table_hash. Netns context is available when required. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit e4e4971c5f8b70daccdd401132a81b723dc8337e Author: Denis V. Lunev Date: Thu Jan 10 03:27:51 2008 -0800 [NETNS]: Namespacing IPv4 fib rules. The final trick for rules: place fib4_rules_ops into struct net and modify initialization path for this. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 1c340b2fd73880136c438e6e7978288fbec8273f Author: Denis V. Lunev Date: Thu Jan 10 03:27:17 2008 -0800 [NETNS]: Show routing information from correct namespace (fib_trie.c) This is the second part (for the CONFIG_IP_FIB_TRIE case) of the patch #4, where we have created proc files in namespaces. Now we can dump correct info in them. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6e04d01dfa6fe81d6bcae1e85de695285086cee2 Author: Denis V. Lunev Date: Thu Jan 10 03:26:50 2008 -0800 [NETNS]: Show routing information from correct namespace (fib_hash.c) This is the second part (for the CONFIG_IP_FIB_HASH case) of the patch #4, where we have created proc files in namespaces. Now we can dump correct info in them. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 4d1169c1e781e5853317c6b75620d678b2c4854e Author: Denis V. Lunev Date: Thu Jan 10 03:26:13 2008 -0800 [NETNS]: Add netns to nl_info structure. nl_info is used to track the end-user destination of routing change notification. This is a natural object to hold a namespace on. Place it there and utilize the context in the appropriate places. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6b175b26c1048d331508940ad3516ead1998084f Author: Eric W. Biederman Date: Thu Jan 10 03:25:28 2008 -0800 [NETNS]: Add netns parameter to inet_(dev_)add_type. The patch extends the inet_addr_type and inet_dev_addr_type with the network namespace pointer. That allows to access the different tables relatively to the network namespace. The modification of the signature function is reported in all the callers of the inet_addr_type using the pointer to the well known init_net. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 8ad4942cd5bdad4143f7aa1d1bd4f7b2526c19c5 Author: Denis V. Lunev Date: Thu Jan 10 03:24:11 2008 -0800 [NETNS]: Add netns parameter to fib_get_table/fib_new_table. This patch extends the fib_get_table and the fib_new_table functions with the network namespace pointer. That will allow to access the table relatively from the network namespace. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 93456b6d7753def8760b423ac6b986eb9d5a4a95 Author: Denis V. Lunev Date: Thu Jan 10 03:23:38 2008 -0800 [IPV4]: Unify access to the routing tables. Replace the direct pointers to local and main tables with calls to fib_get_table() with appropriate argument. This doesn't introduce additional dereferences, but makes the access to fib tables uniform in any (CONFIG_IP_MULTIPLE_TABLES) case. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7b1a74fdbb9ec38a9780620fae25519fde4b21ee Author: Denis V. Lunev Date: Thu Jan 10 03:22:17 2008 -0800 [NETNS]: Refactor fib initialization so it can handle multiple namespaces. This patch makes the fib to be initialized as a subsystem for the network namespaces. The code does not handle several namespaces yet, so in case of a creation of a network namespace, the creation/initialization will not occur. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit dbb50165b512f6c9b7aae10af73ae5b6d811f4d0 Author: Denis V. Lunev Date: Thu Jan 10 03:21:49 2008 -0800 [IPV4]: Check fib4_rules_init failure. This adds error paths into both versions of fib4_rules_init (with/without CONFIG_IP_MULTIPLE_TABLES) and returns error code to the caller. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 61a0265344786a548e8a0b26cb668e78a71f9602 Author: Denis V. Lunev Date: Thu Jan 10 03:21:09 2008 -0800 [NETNS]: Add namespace to API for routing /proc entries creation. This adds netns parameter to fib_proc_init/exit and replaces __init specifier with __net_init. After this, we will not yet have these proc files show info from the specific namespace - this will be done when these tables become namespaced. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 5fd30ee7c48bf7f9cd16ab44c8a09fa4a57cc21d Author: Denis V. Lunev Date: Thu Jan 10 03:20:28 2008 -0800 [NETNS]: Namespacing in the generic fib rules code. Move static rules_ops & rules_mod_lock to the struct net, register the pernet subsys to init them and enjoy the fact that the core rules infrastructure works in the namespace. Real IPv4 fib rules virtualization requires fib tables support in the namespace and will be done seriously later in the patchset. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 868d13ac811746e28e4c806f2b1bd8575796f9af Author: Denis V. Lunev Date: Thu Jan 10 03:18:25 2008 -0800 [NETNS]: Pass fib_rules_ops into default_pref method. fib_rules_ops contains operations and the list of configured rules. ops will become per/namespace soon, so we need them to be known in the default_pref callback. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f8c26b8d589867aed8251db2935f8aa03aa68717 Author: Denis V. Lunev Date: Thu Jan 10 03:17:29 2008 -0800 [NETNS]: Add netns parameter to fib_rules_(un)register. The patch extends the different fib rules API in order to pass the network namespace pointer. That will allow to access the different tables from a namespace relative object. As usual, the pointer to the init_net variable is passed as parameter so we don't break the network. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 41a76906b3225997036efd88cbaae69d60b1e947 Author: Daniel Lezcano Date: Thu Jan 10 03:02:40 2008 -0800 [NETNS][IPV6]: Make icmpv6_time sysctl per namespace. This patch moves the icmpv6_time sysctl to the network namespace structure. Because the ipv6 protocol is not yet per namespace, the variable is accessed relatively to the initial network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 4990509f19e8f1e000a83a88fc46328f73b8a88a Author: Daniel Lezcano Date: Thu Jan 10 03:01:01 2008 -0800 [NETNS][IPV6]: Make sysctls route per namespace. All the sysctl concerning the routes are moved to the network namespace structure. A helper function is called to initialize the variables. Because the ipv6 protocol is not yet per namespace, the variables are accessed relatively from the network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 7c76509d0da99f29289b9b7ab134791e45d49b15 Author: Daniel Lezcano Date: Thu Jan 10 02:57:43 2008 -0800 [NETNS][IPV6]: Make mld_max_msf readonly in other namespaces. The mld_max_msf protects the system with a maximum allowed multicast source filters. Making this variable per namespace can be potentially an problem if someone inside a namespace set it to a big value, that will impact the whole system including other namespaces. I don't see any benefits to have it per namespace for now, so in order to keep a directory entry in a newly created namespace, I make it read-only when we are not in the initial network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit e71e0349eb32bc438fa80d8990c6f3592967d111 Author: Daniel Lezcano Date: Thu Jan 10 02:56:03 2008 -0800 [NETNS][IPV6]: Make ip6_frags per namespace. The ip6_frags is moved to the network namespace structure. Because there can be multiple instances of the network namespaces, and the ip6_frags is no longer a global static variable, a helper function has been added to facilitate the initialization of the variables. Until the ipv6 protocol is not per namespace, the variables are accessed relatively from the initial network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 99bc9c4e45e7e783cf0b0a25cc03a103c038f254 Author: Daniel Lezcano Date: Thu Jan 10 02:54:53 2008 -0800 [NETNS][IPV6]: Make bindv6only sysctl per namespace. This patch moves the bindv6only sysctl to the network namespace structure. Until the ipv6 protocol is not per namespace, the sysctl variable is always from the initial network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 760f2d0186225f06d46e07232d65219c5055cad3 Author: Daniel Lezcano Date: Thu Jan 10 02:53:43 2008 -0800 [NETNS][IPV6]: Make multiple instance of sysctl tables. Each network namespace wants its own set of sysctl value, eg. we should not be able from a namespace to set a sysctl value for another namespace , especially for the initial network namespace. This patch duplicates the sysctl table when we register a new network namespace for ipv6. The duplicated table are postfixed with the "template" word to notify the developper the table is cloned. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 89918fc270bb77cb1a0703f0ea566a692b32e324 Author: Daniel Lezcano Date: Thu Jan 10 02:49:34 2008 -0800 [NETNS][IPV6]: Make the ipv6 sysctl to be a netns subsystem. The initialization of the sysctl for the ipv6 protocol is changed to a network namespace subsystem. That means when a new network namespace is created the initialization function for the sysctl will be called. That do not change the behavior of the sysctl in case of the kernel with the network namespace disabled. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit b0f159db7c95babf1e321334eb33d42db94f2854 Author: Daniel Lezcano Date: Thu Jan 10 02:49:06 2008 -0800 [NETNS][IPV6]: Add ipv6 structure for netns. Like the ipv4 part, this patch adds an ipv6 structure in the net structure to aggregate the different resources to make ipv6 per namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 81c1c17804ac52036e07b0ba95cb637bdd4784d6 Author: Daniel Lezcano Date: Thu Jan 10 02:48:33 2008 -0800 [NETNS][IPV6]: Make a subsystem for af_inet6. This patch add a network namespace subsystem for the af_inet6 module. It does nothing right now, but one of its purpose is to receive the different variables for sysctl in order to initialize them. When the sysctl variable will be moved to the network namespace structure, they will be no longer initialized as global static variables, so we must find a place to initialize them. Because the sysctl can be disabled, it has no sense to store them in the sysctl_net_ipv6 file. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 291480c09a9452a3d8852a9bfeb5ba2cbcfe662c Author: Daniel Lezcano Date: Thu Jan 10 02:47:55 2008 -0800 [NETNS][IPV6]: Make ipv6_sysctl_register to return a value. This patch makes the function ipv6_sysctl_register to return a value. The af_inet6 init function is now able to handle an error and catch it from the initialization of the sysctl. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 50dd79653e295ce40da38c03bbfb5966aa1c1598 Author: Sebastian Siewior Date: Wed Jan 9 00:36:17 2008 -0800 [XFRM]: Remove ifdef crypto. and select the crypto subsystem if neccessary Signed-off-by: Sebastian Siewior Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 06eaa1a01d033bd5fd298b010334034f93021fbe Author: Rami Rosen Date: Wed Jan 9 00:35:12 2008 -0800 [BRIDGE]: Remove unused macros from ebt_vlan.c Remove two unused macros, INV_FLAG and SET_BITMASK from net/bridge/netfilter/ebt_vlan.c. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit b3fd3ffe39d830e7c24ef63b7f28703b485da2e3 Author: Pavel Emelyanov Date: Wed Jan 9 00:34:02 2008 -0800 [NETFILTER]: Use the ctl paths instead of hand-made analogue The conntracks subsystem has a similar infrastructure to maintain ctl_paths, but since we already have it on the generic level, I think it's OK to switch to using it. So, basically, this patch just replaces the ctl_table-s with ctl_path-s, nf_register_sysctl_table with register_sysctl_paths() and removes no longer needed code. After this the net/netfilter/nf_sysctl.c file contains the paths only. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 3d7cc2ba628dcc6b55a2bafc7eaf35019fdcc201 Author: Pavel Emelyanov Date: Wed Jan 9 00:33:11 2008 -0800 [NETFILTER]: Switch to using ctl_paths in nf_queue and conntrack modules This includes the most simple cases for netfilter. The first part is tne queue modules for ipv4 and ipv6, on which the net/ipv4/ and net/ipv6/ paths are reused from the appropriate ipv4 and ipv6 code. The conntrack module is also patched, but this hunk is very small and simple. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit c6995bdff0fc9f97621922a7f857fa640537a7e2 Author: Pavel Emelyanov Date: Wed Jan 9 00:32:21 2008 -0800 [AX25]: Switch to using ctl_paths. This one is almost the same as the hunks in the first patch, but ax25 tables are created dynamically. So this patch differs a bit to handle this case. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3151a9ab04714d0323efbe3c6c12bc5b2b1f058d Author: Pavel Emelyanov Date: Wed Jan 9 00:31:49 2008 -0800 [DECNET]: Switch to using ctl_paths. The decnet includes two places to patch. The first one is the net/decnet table itself, and it is patched just like other subsystems in the first patch in this series. The second place is a bit more complex - it is the net/decnet/conf/xxx entries,. similar to those in ipv4/devinet.c and ipv6/addrconf.c. This code is made similar to those in ipv[46]. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 90754f8ec011c91382ece2849a43b8f8aa8a0105 Author: Pavel Emelyanov Date: Sat Jan 12 02:33:50 2008 -0800 [IPVS]: Switch to using ctl_paths. The feature of ipvs ctls is that the net/ipv4/vs path is common for core ipvs ctls and for two schedulers, so I make it exported and re-use it in modules. Two other .c files required linux/sysctl.h to make the extern declaration of this path compile well. Signed-off-by: Pavel Emelyanov Acked-by: Simon Horman Signed-off-by: David S. Miller commit b5ccd792fa413f9336273cb8fa3b9dd3a7ec1735 Author: Pavel Emelyanov Date: Wed Jan 9 00:30:05 2008 -0800 [NET]: Simple ctl_table to ctl_path conversions. This patch includes many places, that only required replacing the ctl_table-s with appropriate ctl_paths and call register_sysctl_paths(). Nothing special was done with them. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit cb7928a528264a69b29b6001b490b64607ed0557 Author: Rami Rosen Date: Wed Jan 9 00:18:24 2008 -0800 [IPV4]: Remove unsupported DNAT (RTCF_NAT and RTCF_NAT) in IPV4 - The DNAT (Destination NAT) is not implemented in IPV4. - This patch remove the code which checks these flags in net/ipv4/arp.c and net/ipv4/route.c. The RTCF_NAT and RTCF_NAT should stay in the header (linux/in_route.h) because they are used in DECnet. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit f0b5a0dcf125ce43855961ef4f965a91112bea23 Author: Eric Dumazet Date: Tue Jan 8 23:54:43 2008 -0800 [VLAN]: Avoid expensive divides We can avoid divides (as seen with CONFIG_CC_OPTIMIZE_FOR_SIZE=y on x86) changing vlan_group_get_device()/vlan_group_set_device() id parameter from signed to unsigned. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4cec72c890d3a465eed08c24a4a2bfe25650318f Author: Julia Lawall Date: Tue Jan 8 23:48:20 2008 -0800 [TIPC]: Use tipc_port_unlock The file net/tipc/port.c takes a lock using the function tipc_port_lock and then releases the lock sometimes using tipc_port_unlock and sometimes using spin_unlock_bh(p_ptr->publ.lock). tipc_port_unlock simply does the spin_unlock_bh, but it seems cleaner to use it everywhere. The problem was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ struct port *p_ptr; @@ p_ptr = tipc_port_lock(...) ... ( p_ptr = tipc_port_lock(...); | ?- spin_unlock_bh(p_ptr->publ.lock); + tipc_port_unlock(p_ptr); ) // Signed-off-by: Julia Lawall Acked-by: Jon Paul Maloy Signed-off-by: David S. Miller commit cdcb006fbe7a74b5f7827f5c5c27e11399a2fab7 Author: Ivo van Doorn Date: Mon Jan 7 19:45:24 2008 +0100 mac80211: Add radio led trigger Some devices have a seperate LED which indicates if the radio is enabled or not. This adds a LED trigger to mac80211 where drivers can hook into when they are interested in radio status changes. v2: Check hw.conf.radio_enabled when calling start(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit df26e7ea049abe5104062f1f3e9ee7ede9d5104f Author: Andrew Lutomirski Date: Thu Jan 3 21:05:37 2008 -0800 rc80211_pid should respect fixed rates. I would argue that mac80211 should handle fixed rates outside the rate control code, which would also allow them to take effect immediately instead of during the rate control callback, but this is pretty close to correct. Signed-Off-By: Andy Lutomirski Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4b475898ec9dc6e62cebcb8fc0b3495c986a4590 Author: Johannes Berg Date: Wed Jan 2 15:17:03 2008 +0100 mac80211: better rate control algorithm selection This patch changes mac80211's Kconfig/Makefile to: * select between the PID and the SIMPLE rate control algorithm as default * always allow tri-state for the rate control algorithms, building those that are selected 'y' into the mac80211 module (if that is a module, otherwise all into the kernel) * force the default rate control algorithm to be built into mac80211 It also makes both rate control algorithms proper modules again with MODULE_LICENSE etc. Only if EMBEDDED is the user allowed to select "NONE" as default which will cause no algorithm to be selected, this will work only when the driver brings one itself (e.g. iwlwifi drivers). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 688b88a4886834d7e3457711cd4feef6611d3232 Author: Ron Rindjunsky Date: Tue Dec 25 17:00:37 2007 +0200 mac80211: A-MPDU Rx handling DELBA requests This patch opens the flow to DELBA management frames, and handles end of A-MPDU session produced by this event. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 713647169e3aaca16be4cfba42513bd4558abec0 Author: Ron Rindjunsky Date: Tue Dec 25 17:00:36 2007 +0200 mac80211: A-MPDU Rx adding BAR handling capability This patch adds the ability to handle Block Ack Request Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b580781e038968fb2529460e8b61e3bf77de112a Author: Ron Rindjunsky Date: Tue Dec 25 17:00:35 2007 +0200 mac80211: A-MPDU Rx handling aggregation reordering This patch handles the reordering of the Rx A-MPDU. This issue occurs when the sequence of the internal MPDUs is not in the right order. such a case can be encountered for example when some MPDUs from previous aggregations were recieved, while others failed, so current A-MPDU will contain a mix of re-transmited MPDUs and new ones. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 16c5f15c73e97e22a1fcc6518da32bdcf98aec3d Author: Ron Rindjunsky Date: Tue Dec 25 17:00:34 2007 +0200 mac80211: A-MPDU Rx MLME data initialization This patch initialize A-MPDU MLME data for Rx sessions. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 07db218396650933abff3c5c1ad1e2a6e0cfedeb Author: Ron Rindjunsky Date: Tue Dec 25 17:00:33 2007 +0200 mac80211: A-MPDU Rx adding basic functionality This patch adds the basic needed abilities and functions for A-MPDU Rx session changed functions: - ieee80211_sta_process_addba_request - Rx A-MPDU initialization enabled - ieee80211_stop - stops all A-MPDU Rx in case interface goes down added functions: - ieee80211_send_delba - used for sending out Del BA in A-MPDU sessions - ieee80211_sta_stop_rx_BA_session - stopping Rx A-MPDU session - sta_rx_agg_session_timer_expired - stops A-MPDU Rx use if load is too low Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 5aae2880618471cfa679ca22531b88990bee9bf8 Author: Ron Rindjunsky Date: Tue Dec 25 17:00:32 2007 +0200 mac80211: A-MPDU Rx add MLME structures This patch adds the needed structures to describe the Rx aggregation MLME per STA new: - struct tid_ampdu_rx: TID aggregation information (Rx) - struct sta_ampdu_mlme: MLME aggregation information for STA changed: - struct sta_info: ampdu_mlme added to describe A-MPDU MLME per STA, and timer_to_tid added to map timer id into TID Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1b7d03acbfe9d6f1ecf169e6494c5eca29fa0ed3 Author: Ron Rindjunsky Date: Tue Dec 25 17:00:31 2007 +0200 mac80211: A-MPDU Rx add low level driver API This patch adds the API to perform A-MPDU actions between mac80211 and low level driver. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6368e4b18d5c71c73eecd96d568e726b80e5bce1 Author: Ron Rindjunsky Date: Mon Dec 24 13:36:39 2007 +0200 mac80211: restructure __ieee80211_rx This patch makes a separation between Rx frame pre-handling which stays in __ieee80211_rx and Rx frame handlers, moving to __ieee80211_rx_handle_packet. Although this separation has no affect in regular mode of operation, this kind of mechanism will be used in A-MPDU frames reordering as it allows accumulation of frames during pre-handling, dispatching them to later handling when necessary. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f704662fb7cd81bfdc441207e788860ae4685e95 Author: Johannes Berg Date: Sun Dec 23 22:05:25 2007 +0100 mac80211: make rc_pid_fop_events static No need to not be. Signed-off-by: Johannes Berg Acked-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1b507e7e538ee1c8a25e698911a44604d6be3954 Author: Stefano Brivio Date: Sun Dec 23 17:49:00 2007 +0100 rc80211-pid: fix definition of rate control interval Fix the rate control interval definition. Thanks to Mattias Nissler for spotting this out. Cc: Mattias Nissler Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6d65f5db2f66e3ff44df759fbbb3c7482879fb1e Author: Johannes Berg Date: Sun Dec 23 10:11:55 2007 +0100 mac80211: remove misleading 'res' variable When this function returns != CONTINUE, it needs to put the station struct it has acquired. Hence, having this unused variable is not just superfluous but also misleading. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1036d8642b6bb604774ea143120fe10ede4ab078 Author: Stefano Brivio Date: Sun Dec 23 04:46:27 2007 +0100 rc80211-pid: add MAINTAINERS entry Add an entry in MAINTAINERS for rc80211-pid. Cc: Mattias Nissler Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d439810bda5082e213c59c2aa8108ae4c0e520ef Author: Stefano Brivio Date: Sun Dec 23 04:44:56 2007 +0100 rc80211-pid: pf_target tuning Set a better value for percentage target for failed frames. The previous value slowed down too much rate increases in case of permanently low activity. While at it, increase readability. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 13e05aa631b195ce30737b320da17e7542c82ead Author: Stefano Brivio Date: Sun Dec 23 04:43:57 2007 +0100 rc80211-pid: fix sta_info refcounting Fix a bug which caused uncorrect refcounting of PHYs in mac80211. Thanks to Johannes Berg for spotting this out. Cc: Johannes Berg Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit fa44327c06492c9bd625dbc8dbe35e5d5965fec6 Author: Stefano Brivio Date: Sun Dec 23 04:41:19 2007 +0100 rc80211-pid: simplify and fix shift_adjust Simplify and fix rate_control_pid_shift_adjust(). A bug prevented correct mapping of sorted rates, and readability was seriously flawed. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ca5fbca924b845863ab9da00ac90b3384445f497 Author: Stefano Brivio Date: Sun Dec 23 04:40:32 2007 +0100 rc80211-pid: add kerneldoc for tunable parameters Add a kerneldoc description for parameters which are tunable through debugfs. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 426706c0791904766e10bef512d86786f2f62857 Author: Stefano Brivio Date: Sun Dec 23 04:39:17 2007 +0100 rc80211-pid: export human-readable target_pf value to debugfs Export the non-shifted target_pf value to debugfs, so that it's human-readable. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 69f817b654d683265118188bbfb8bc0d8978cce6 Author: Helmut Schaa Date: Fri Dec 21 15:16:35 2007 +0100 mac80211: Restore rx.fc before every invocation of ieee80211_invoke_rx_handlers This patch fixes a problem with rx handling on multiple interfaces. Especially when using hardware-scanning and a wireless driver (i.e. iwlwifi) which is able to receive data while scanning. The rx handlers can modify the skb and the frame control field (see ieee80211_rx_h_remove_qos_control) but since every interface gets its own copy of the skb each should get its own copy of rx.fc too. In my case the wlan0-interface did not remove the qos-control from the frame because the corresponding flag in rx.fc was already removed while processing the frame on the master interface. Therefore somehow corrupted frames were passed to the userspace. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6666351df90656677723f8232b3fdd26a500e51e Author: Eric Dumazet Date: Tue Jan 8 01:35:52 2008 -0800 [XFRM]: xfrm_state_clone() should be static, not exported xfrm_state_clone() is not used outside of net/xfrm/xfrm_state.c There is no need to export it. Spoted by sparse checker. CHECK net/xfrm/xfrm_state.c net/xfrm/xfrm_state.c:1103:19: warning: symbol 'xfrm_state_clone' was not declared. Should it be static? Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 40ccbf525e55fc6d1f3a88c1e98b13db4dd618db Author: Eric Dumazet Date: Mon Jan 7 22:39:57 2008 -0800 [PACKET]: Fix sparse warnings in af_packet.c CHECK net/packet/af_packet.c net/packet/af_packet.c:1876:14: warning: context imbalance in 'packet_seq_start' - wrong count at exit net/packet/af_packet.c:1888:13: warning: context imbalance in 'packet_seq_stop' - unexpected unlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 67b23219ce2f78352b0c566a472ff16c1b0fea9a Author: Julia Lawall Date: Mon Jan 7 22:38:42 2008 -0800 [BLUETOOTH]: Use sockfd_put() The function sockfd_lookup uses fget on the value that is stored in the file field of the returned structure, so fput should ultimately be applied to this value. This can be done directly, but it seems better to use the specific macro sockfd_put, which does the same thing. The problem was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ expression s; @@ s = sockfd_lookup(...) ... + sockfd_put(s); ?- fput(s->file); // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 3becd578c5c9aafde6f562bb1dfe20d420bce6e8 Author: Rami Rosen Date: Mon Jan 7 22:36:54 2008 -0800 [NET]: Remove unused member of dst_entry The info placeholder member of dst_entry seems to be unused in the network stack. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 64c31b3f76482bb64459e786f9eca3bd0164d153 Author: WANG Cong Date: Mon Jan 7 22:34:29 2008 -0800 [XFRM] xfrm_policy_destroy: Rename and relative fixes. Since __xfrm_policy_destroy is used to destory the resources allocated by xfrm_policy_alloc. So using the name __xfrm_policy_destroy is not correspond with xfrm_policy_alloc. Rename it to xfrm_policy_destroy. And along with some instances that call xfrm_policy_alloc but not using xfrm_policy_destroy to destroy the resource, fix them. Signed-off-by: WANG Cong Acked-by: Herbert Xu Signed-off-by: David S. Miller commit d66e37a99d323012165ce91fd5c4518e2fcea0c5 Author: Masahide NAKAMURA Date: Mon Jan 7 21:46:15 2008 -0800 [XFRM] Statistics: Add outbound-dropping error. o Increment PolError counter when flow_cache_lookup() returns errored pointer. o Increment NoStates counter at larval-drop. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit a067d9ac39cd207b5a0994c73199a56e7d5a17a3 Author: Ilpo Järvinen Date: Sat Jan 5 23:17:49 2008 -0800 [NET]: Remove obsolete comment It seems that ip_build_xmit is no longer used in here and ip_append_data is used. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c4e18dade1f878db33ed38927de22e63d550970d Author: Ilpo Järvinen Date: Sat Jan 5 23:13:58 2008 -0800 [CCID3]: Kill some bloat Without a number of CONFIG.*DEBUG: net/dccp/ccids/ccid3.c: ccid3_hc_tx_update_x | -170 ccid3_hc_tx_packet_sent | -175 ccid3_hc_tx_packet_recv | -169 ccid3_hc_tx_no_feedback_timer | -192 ccid3_hc_tx_send_packet | -144 5 functions changed, 850 bytes removed, diff: -850 net/dccp/ccids/ccid3.c: ccid3_update_send_interval | +191 1 function changed, 191 bytes added, diff: +191 net/dccp/ccids/ccid3.o: 6 functions changed, 191 bytes added, 850 bytes removed, diff: -659 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit cf35f43e6e41b160d8dedd80a127210fd3be9ada Author: Ilpo Järvinen Date: Sat Jan 5 23:13:20 2008 -0800 [XFRM]: Kill some bloat net/xfrm/xfrm_state.c: xfrm_audit_state_delete | -589 xfrm_replay_check | -542 xfrm_audit_state_icvfail | -520 xfrm_audit_state_add | -589 xfrm_audit_state_replay_overflow | -523 xfrm_audit_state_notfound_simple | -509 xfrm_audit_state_notfound | -521 7 functions changed, 3793 bytes removed, diff: -3793 net/xfrm/xfrm_state.c: xfrm_audit_helper_pktinfo | +522 xfrm_audit_helper_sainfo | +598 2 functions changed, 1120 bytes added, diff: +1120 net/xfrm/xfrm_state.o: 9 functions changed, 1120 bytes added, 3793 bytes removed, diff: -2673 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit ad1b30b1c282bc8c726a9b123a1312a3930bcd42 Author: Ilpo Järvinen Date: Sat Jan 5 23:12:40 2008 -0800 [IPVS]: Kill some bloat net/ipv4/ipvs/ip_vs_xmit.c: ip_vs_icmp_xmit | -638 ip_vs_tunnel_xmit | -674 ip_vs_nat_xmit | -716 ip_vs_dr_xmit | -682 4 functions changed, 2710 bytes removed, diff: -2710 net/ipv4/ipvs/ip_vs_xmit.c: __ip_vs_get_out_rt | +595 1 function changed, 595 bytes added, diff: +595 net/ipv4/ipvs/ip_vs_xmit.o: 5 functions changed, 595 bytes added, 2710 bytes removed, diff: -2115 Without some CONFIG.*DEBUGs: net/ipv4/ipvs/ip_vs_xmit.o: 5 functions changed, 383 bytes added, 1513 bytes removed, diff: -1130 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit bb5cf80e94ad9650c4bd39e92fb917af8e87fa43 Author: Ilpo Järvinen Date: Sat Jan 5 23:11:31 2008 -0800 [NETFILTER]: Kill some supper dupper bloatry /me awards the bloatiest-of-all-net/-.c-code award to nf_conntrack_netlink.c, congratulations to all the authors :-/! Hall of (unquestionable) fame (measured per inline, top 10 under net/): -4496 ctnetlink_parse_tuple netfilter/nf_conntrack_netlink.c -2165 ctnetlink_dump_tuples netfilter/nf_conntrack_netlink.c -2115 __ip_vs_get_out_rt ipv4/ipvs/ip_vs_xmit.c -1924 xfrm_audit_helper_pktinfo xfrm/xfrm_state.c -1799 ctnetlink_parse_tuple_proto netfilter/nf_conntrack_netlink.c -1268 ctnetlink_parse_tuple_ip netfilter/nf_conntrack_netlink.c -1093 ctnetlink_exp_dump_expect netfilter/nf_conntrack_netlink.c -1060 void ccid3_update_send_interval dccp/ccids/ccid3.c -983 ctnetlink_dump_tuples_proto netfilter/nf_conntrack_netlink.c -827 ctnetlink_exp_dump_tuple netfilter/nf_conntrack_netlink.c (i386 / gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-13) / allyesconfig except CONFIG_FORCED_INLINING) ...and I left < 200 byte gains as future work item. After iterative inline removal, I finally have this: net/netfilter/nf_conntrack_netlink.c: ctnetlink_exp_fill_info | -1104 ctnetlink_new_expect | -1572 ctnetlink_fill_info | -1303 ctnetlink_new_conntrack | -2230 ctnetlink_get_expect | -341 ctnetlink_del_expect | -352 ctnetlink_expect_event | -1110 ctnetlink_conntrack_event | -1548 ctnetlink_del_conntrack | -729 ctnetlink_get_conntrack | -728 10 functions changed, 11017 bytes removed, diff: -11017 net/netfilter/nf_conntrack_netlink.c: ctnetlink_parse_tuple | +419 dump_nat_seq_adj | +183 ctnetlink_dump_counters | +166 ctnetlink_dump_tuples | +261 ctnetlink_exp_dump_expect | +633 ctnetlink_change_status | +460 6 functions changed, 2122 bytes added, diff: +2122 net/netfilter/nf_conntrack_netlink.o: 16 functions changed, 2122 bytes added, 11017 bytes removed, diff: -8895 Without a number of CONFIG.*DEBUGs, I got this: net/netfilter/nf_conntrack_netlink.o: 16 functions changed, 2122 bytes added, 11029 bytes removed, diff: -8907 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 2a75de0c1de2dde9ef41aeb45a21048681421b8a Author: Eric Dumazet Date: Sat Jan 5 23:08:49 2008 -0800 [NETNS]: Should build with CONFIG_SYSCTL=n Previous NETNS patches broke CONFIG_SYSCTL=n case Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 6e32814bc89e7103e2b75b841155faf51f60a8f1 Author: Li Zefan Date: Fri Jan 4 01:59:42 2008 -0800 [CONNECTOR]: Cleanup struct cn_callback_entry - 'cb' is a fake struct member. In a previous patch struct cn_callback was renamed to cn_callback_id, so 'cb' should have been deleted at that time. - 'nls' isn't used and is redundant, we can retrieve this data through cn_callback_entry.pdev->nls. - 'seq' and 'group' should be u32, as they are declared to be u32 in other places. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 96a899655e2c3ba53f083eda69706ee4eb05271f Author: Li Zefan Date: Fri Jan 4 01:59:20 2008 -0800 [CONNECTOR]: Cleanup struct cn_queue_dev Struct member netlink_groups is never used, and I don't see how it can be useful. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 00f5e06c032507206c4ac0c846ad82b75ae7665b Author: Li Zefan Date: Fri Jan 4 01:55:01 2008 -0800 [CONNECTOR]: clean up {,__}cn_rx_skb() - __cn_rx_skb() does nothing but calls cn_call_callback(), it doesn't check skb and msg sizes as the comment suggests, but cn_rx_skb() checks those sizes. - In cn_rx_skb() Local variable 'len' is not used. 'len' is probably intended to be passed to skb_pull(), but here skb_pull() is not needed, instead skb_free() is called. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit fd00eeccd92b7b4b5ca95bd988c195efb4e5ec29 Author: Li Zefan Date: Fri Jan 4 01:54:38 2008 -0800 [CONNECTOR]: add a missing break in cn_netlink_send() Each entry in the list has a unique id, so just break out of the loop if the matched id is found. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 74feb6e84e189707ca1324a92f7206617efbd735 Author: Eric Dumazet Date: Thu Jan 24 00:15:42 2008 -0800 [ICMP]: Avoid sparse warnings in net/ipv4/icmp.c CHECK net/ipv4/icmp.c net/ipv4/icmp.c:249:13: warning: context imbalance in 'icmp_xmit_unlock' - unexpected unlock net/ipv4/icmp.c:376:13: warning: context imbalance in 'icmp_reply' - different lock contexts for basic block net/ipv4/icmp.c:430:6: warning: context imbalance in 'icmp_send' - different lock contexts for basic block Solution is to declare both icmp_xmit_lock() and icmp_xmit_unlock() as inline Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 65f7651788e18fadb2fbb7276af935d7871e1803 Author: Eric Dumazet Date: Thu Jan 3 20:46:48 2008 -0800 [NET]: prot_inuse cleanups and optimizations 1) Cleanups (all functions are prefixed by sock_prot_inuse) sock_prot_inc_use(prot) -> sock_prot_inuse_add(prot,-1) sock_prot_dec_use(prot) -> sock_prot_inuse_add(prot,-1) sock_prot_inuse() -> sock_prot_inuse_get() New functions : sock_prot_inuse_init() and sock_prot_inuse_free() to abstract pcounter use. 2) if CONFIG_PROC_FS=n, we can zap 'inuse' member from "struct proto", since nobody wants to read the inuse value. This saves 1372 bytes on i386/SMP and some cpu cycles. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 571e7682026fd0e25833d103a3eeb74be29bf199 Author: Eric Dumazet Date: Thu Jan 3 20:41:28 2008 -0800 [LIB] pcounter : unline too big functions Before pushing pcounter to Linus tree, I would like to make some adjustments. Goal is to reduce kernel text size, by unlining too big functions. When a pcounter is bound to a statically defined per_cpu variable, we define two small helpers functions. (No more folding function using the fat for_each_possible_cpu(cpu) ... ) static DEFINE_PER_CPU(int, NAME##_pcounter_values); static void NAME##_pcounter_add(struct pcounter *self, int val) { __get_cpu_var(NAME##_pcounter_values) += val; } static int NAME##_pcounter_getval(const struct pcounter *self, int cpu) { return per_cpu(NAME##_pcounter_values, cpu); } Fast path is therefore unchanged, while folding/alloc/free is now unlined. This saves 228 bytes on i386 Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 789675e216617b1331875c42a81f58227a06df91 Author: Eric Dumazet Date: Thu Jan 3 20:40:01 2008 -0800 [NET]: Avoid divides in net/core/gen_estimator.c We can void divides (as seen with CONFIG_CC_OPTIMIZE_FOR_SIZE=y on x86) changing ((HZ< Signed-off-by: David S. Miller commit e870a8efcddaaa3da7e180b6ae21239fb96aa2bb Author: Ilpo Järvinen Date: Thu Jan 3 20:39:01 2008 -0800 [TCP]: Perform setting of common control fields in one place In case of segments which are purely for control without any data (SYN/ACK/FIN/RST), many fields are set to common values in multiple places. i386 results: $ gcc --version gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-13) $ codiff tcp_output.o.old tcp_output.o.new net/ipv4/tcp_output.c: tcp_xmit_probe_skb | -48 tcp_send_ack | -56 tcp_retransmit_skb | -79 tcp_connect | -43 tcp_send_active_reset | -35 tcp_make_synack | -42 tcp_send_fin | -48 7 functions changed, 351 bytes removed net/ipv4/tcp_output.c: tcp_init_nondata_skb | +90 1 function changed, 90 bytes added tcp_output.o.mid: 8 functions changed, 90 bytes added, 351 bytes removed, diff: -261 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 19773b4923ed0e21e3289361dba5e69e1ce6e00b Author: Ilpo Järvinen Date: Thu Jan 3 20:38:05 2008 -0800 [TCP]: Urgent parameter effect can be simplified. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f038ac8f9b9735358ef410d45f4cff1da810c1cb Author: Ilpo Järvinen Date: Thu Jan 3 20:36:55 2008 -0800 [TCP]: cleanup tcp_parse_options deep indented switch Removed case indentation level & combined some nested ifs, mostly within 80 lines now. This is a leftover from indent patch, it just had to be done manually to avoid messing it up completely. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit dbb1db8b59fb84d620ab5266366b52c8052ee75c Author: Herbert Xu Date: Tue Jan 1 23:52:59 2008 -0800 [IPSEC]: Return EOVERFLOW when output sequence number overflows Previously we made it an error on the output path if the sequence number overflowed. However we did not set the err variable accordingly. This patch sets err to -EOVERFLOW in that case. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9a429c4983deae020f1e757ecc8f547b6d4e2f2b Author: Eric Dumazet Date: Tue Jan 1 21:58:02 2008 -0800 [NET]: Add some acquires/releases sparse annotations. Add __acquires() and __releases() annotations to suppress some sparse warnings. example of warnings : net/ipv4/udp.c:1555:14: warning: context imbalance in 'udp_seq_start' - wrong count at exit net/ipv4/udp.c:1571:13: warning: context imbalance in 'udp_seq_stop' - unexpected unlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b950dfcf504842a0f2bb142a33ef938f1c00d300 Author: Rami Rosen Date: Tue Jan 1 21:17:19 2008 -0800 [IPVS]: Remove declaration of unimplemented method and remove unused definition from include/net/ip_vs.h In include/net/ip_vs.h: - The ip_vs_secure_tcp_set() method is not implemented anywhere. - IP_VS_APP_TYPE_FTP is an unused definition. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit b798232fcc1c608433e1927df1d49b13b066b698 Author: Rami Rosen Date: Tue Jan 1 21:13:09 2008 -0800 [IPV4]: Remove three declarations of unimplemented methods and correct a typo in include/net/ip.h These three declarations in include/net/ip.h are not implemented anywhere: ip_mc_dropsocket(), ip_mc_dropdevice() and ip_net_unreachable(). Also, correct a comment to be "Functions provided by ip_fragment.c" (instead of by ip_fragment.o) in consistency with the other comments in this header. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit f1862b0ae2294f6970f695abf02392d025e02dbe Author: Adrian Bunk Date: Sun Jan 27 23:04:43 2008 -0800 [SHAPER]: The scheduled shaper removal. This patch contains the scheduled removal of the shaper driver. Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: David S. Miller commit 9ef32d0d1f64cad414697f34bda1b269f632f0cd Author: Herbert Xu Date: Tue Jan 1 19:07:50 2008 -0800 [IPSEC]: Kill duplicate xfrm_policy_flush prototype For five years we had two xfrm_policy_flush prototypes and every time that function's signature changed people have been diligently updating both of them without noticing :) Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 680a5a5086443b9547b32b04f40af8f9d717f711 Author: Eric Dumazet Date: Mon Dec 31 15:00:50 2007 -0800 [PATCH] use SK_MEM_QUANTUM_SHIFT in __sk_mem_reclaim() Avoid an expensive divide (as done in commit 18030477e70a826b91608aee40a987bbd368fec6 but lost in commit 23821d2653111d20e75472c8c5003df1a55309a8) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d436d68630a74ba3c898ff1b53591ddc4eb7f2bf Author: Ilpo Järvinen Date: Mon Dec 31 14:58:00 2007 -0800 [TCP]: Remove unnecessary local variable Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 409d22b470532cb92b91b9aeb7257357a176b849 Author: Ilpo Järvinen Date: Mon Dec 31 14:57:40 2007 -0800 [TCP]: Code duplication removal, added tcp_bound_to_half_wnd() Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 056834d9f6f6eaf4cc7268569e53acab957aac27 Author: Ilpo Järvinen Date: Mon Dec 31 14:57:14 2007 -0800 [TCP]: cleanup tcp_{in,out}put.c style These were manually selected from indent's results which as is are too noisy to be of any use without human reason. In addition, some extra newlines between function and its comment were removed too. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 058dc3342b71ffb3531c4f9df7c35f943f392b8d Author: Ilpo Järvinen Date: Mon Dec 31 04:51:11 2007 -0800 [TCP]: reduce tcp_output's indentation levels a bit Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4828e7f49a402930e8b3e72de695c8d37e0f98ee Author: Ilpo Järvinen Date: Mon Dec 31 04:50:19 2007 -0800 [TCP]: Remove TCPCB_URG & TCPCB_AT_TAIL as unnecessary The snd_up check should be enough. I suspect this has been there to provide a minor optimization in clean_rtx_queue which used to have a small if (!->sacked) block which could skip snd_up check among the other work. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit cadbd0313bc897f5917d013174cdf9077edf4aa5 Author: Ilpo Järvinen Date: Mon Dec 31 04:49:21 2007 -0800 [TCP]: Dropped unnecessary skb/sacked accessing in reneging SACK reneging can be precalculated to a FLAG in clean_rtx_queue which has the right skb looked up. This will help a bit in future because skb->sacked access will be changed eventually, changing it already won't hurt any. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 90840defabbd819180c7528e12d550776848f833 Author: Ilpo Järvinen Date: Mon Dec 31 04:48:41 2007 -0800 [TCP]: Introduce tcp_wnd_end() to reduce line lengths Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 66f5fe624fa5f1d4574d2dd2bc0c72a17a92079c Author: Ilpo Järvinen Date: Mon Dec 31 04:43:57 2007 -0800 [TCP]: Rename update_send_head & include related increment to it There's very little need to have the packets_out incrementing in a separate function. Also name the combined function appropriately. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 3ccd3130b3f681a4aef6392327256786b3b6aa04 Author: Ilpo Järvinen Date: Mon Dec 31 04:43:32 2007 -0800 [TCP]: Make invariant check complain about invalid sacked_out Earlier resolution for NewReno's sacked_out should now keep it small enough for this to become invariant-like check. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 61f1ab41b8ede8e2a26c349a4e3372100545c5ec Author: Rami Rosen Date: Mon Dec 31 04:22:09 2007 -0800 [IPV4]: Remove unused multipath cached routing defintion in net/flow.h Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 95766fff6b9a78d11fc2d3812dd035381690b55d Author: Hideo Aoki Date: Mon Dec 31 00:29:24 2007 -0800 [UDP]: Add memory accounting. Signed-off-by: Takahiro Yasui Signed-off-by: Hideo Aoki Signed-off-by: David S. Miller commit 3ab224be6d69de912ee21302745ea45a99274dbc Author: Hideo Aoki Date: Mon Dec 31 00:11:19 2007 -0800 [NET] CORE: Introducing new memory accounting interface. This patch introduces new memory accounting functions for each network protocol. Most of them are renamed from memory accounting functions for stream protocols. At the same time, some stream memory accounting functions are removed since other functions do same thing. Renaming: sk_stream_free_skb() -> sk_wmem_free_skb() __sk_stream_mem_reclaim() -> __sk_mem_reclaim() sk_stream_mem_reclaim() -> sk_mem_reclaim() sk_stream_mem_schedule -> __sk_mem_schedule() sk_stream_pages() -> sk_mem_pages() sk_stream_rmem_schedule() -> sk_rmem_schedule() sk_stream_wmem_schedule() -> sk_wmem_schedule() sk_charge_skb() -> sk_mem_charge() Removeing sk_stream_rfree(): consolidates into sock_rfree() sk_stream_set_owner_r(): consolidates into skb_set_owner_r() sk_stream_mem_schedule() The following functions are added. sk_has_account(): check if the protocol supports accounting sk_mem_uncharge(): do the opposite of sk_mem_charge() In addition, to achieve consolidation, updating sk_wmem_queued is removed from sk_mem_charge(). Next, to consolidate memory accounting functions, this patch adds memory accounting calls to network core functions. Moreover, present memory accounting call is renamed to new accounting call. Finally we replace present memory accounting calls with new interface in TCP and SCTP. Signed-off-by: Takahiro Yasui Signed-off-by: Hideo Aoki Signed-off-by: David S. Miller commit a06b494b61de44617dd58612164bdde56fca7bfb Author: Gui Jianfeng Date: Sun Dec 30 23:27:10 2007 -0800 [IPV6]: Remove useless code from fib6_del_route(). There are useless codes in fib6_del_route(). The following patch has been tested, every thing looks fine, as usual. Signed-off-by: Gui Jianfeng Signed-off-by: David S. Miller commit f624357959001c9156ee7a475283fc6041f78e0e Author: Rami Rosen Date: Sun Dec 30 23:25:31 2007 -0800 [NEIGH]: Remove unused method from include/net/neighbour.h Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 04ce99c4839a86f4ef476f811cced8d1f11999e4 Author: Rami Rosen Date: Sun Dec 30 23:23:02 2007 -0800 [IPV4]: Remove unused define in include/net/arp.h (HAVE_ARP_CREATE) Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 7d1f8db40bf72ae8bdc62bbf479d5cdf9cb9f921 Author: Jorge Boncompte Date: Sun Dec 30 23:20:08 2007 -0800 [ATM]: [he] fixing compilation when you define USE_RBPS_POOL/USE_RBPL_POOL Signed-off-by: Jorge Boncompte Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit a5929af4075c2ccd08aef7ca95a41f2a2abb3e47 Author: Joonwoo Park Date: Sun Dec 30 23:19:26 2007 -0800 [ATM]: [ambassador] kmalloc + memset conversion to kzalloc Signed-off-by: Joonwoo Park Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit fb64c735a52f396aa261844b851cd820a80dee46 Author: Chas Williams Date: Sun Dec 30 23:18:29 2007 -0800 [ATM]: [br2864] whitespace cleanup Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 097b19a9987204b898299260ee3ebff4cf716800 Author: Eric Kinzie Date: Sun Dec 30 23:17:53 2007 -0800 [ATM]: [br2864] routed support Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 900092a45e73fc192c223761b85005503a813975 Author: Adrian Bunk Date: Sun Dec 30 23:16:45 2007 -0800 [ATM]: [he] This patch removes the ancient version string. Signed-off-by: Adrian Bunk Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit ef39592f786b6d56d9faf988a3f18786eeb050b3 Author: Kay Sievers Date: Sun Dec 30 23:16:06 2007 -0800 [ATM]: Convert struct class_device to struct device Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chas Williams commit 6fe5452b3bb53e5bf5f37590b280ee73dc1e61b6 Author: Robert P. J. Day Date: Sun Dec 30 23:15:15 2007 -0800 [ATM]: atm is no longer experimental Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 9dd3245a2ac1834797191072705015e6a12f55bf Author: Herbert Xu Date: Sun Dec 30 21:10:30 2007 -0800 [IPSEC]: Move all calls to xfrm_audit_state_icvfail to xfrm_input Let's nip the code duplication in the bud :) Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0883ae0e5599656b5f3b0e9ce474e01dee7dfee4 Author: Herbert Xu Date: Sun Dec 30 21:10:14 2007 -0800 [IPSEC]: Fix transport-mode async resume on intput without netfilter When netfilter is off the transport-mode async resumption doesn't work because we don't push back the IP header. This patch fixes that by moving most of the code outside of ifdef NETFILTER since the only part that's not common is the short-circuit in the protocol handler. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit fcb8c156c8277ee9d71c8c81587d494c9c5240b3 Author: Herbert Xu Date: Sun Dec 30 21:09:38 2007 -0800 [IPSEC]: Fix double free on skb on async output When the output transform returns EINPROGRESS due to async operation we'll free the skb the straight away as if it were an error. This patch fixes that so that the skb is freed when the async operation completes. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 15ca36fb994923b454df44e5d7aa14b84ce5aee4 Author: David S. Miller Date: Thu Dec 27 16:43:38 2007 -0800 [LIBERTAS]: Remove last stray user of MAC_FMT. Reported by Denis V. Lunev Signed-off-by: David S. Miller commit d9727bb2d516bc16bafee4216eec91cd2be5f30a Author: Masahide NAKAMURA Date: Tue Dec 25 20:56:26 2007 -0800 [XFRM] Documentaion: Fix error example at XFRMOUTSTATEMODEERROR. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit c776ee01bd83d9ba58220293a6e76e9772be0e66 Author: Ilpo Järvinen Date: Mon Dec 24 21:55:39 2007 -0800 [TCP]: Remove seq_rtt ptr from clean_rtx_queue args While checking Gavin's patch I noticed that the returned seq_rtt is not used by the caller. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 0e3a4803aa06cd7bc2cfc1d04289df4f6027640a Author: Ilpo Järvinen Date: Mon Dec 24 21:33:45 2007 -0800 [TCP]: Force TSO splits to MSS boundaries If snd_wnd - snd_nxt wasn't multiple of MSS, skb was split on odd boundary by the callers of tcp_window_allows. We try really hard to avoid unnecessary modulos. Therefore the old caller side check "if (skb->len < limit)" was too wide as well because limit is not bound in any way to skb->len and can cause spurious testing for trimming in the middle of the queue while we only wanted that to happen at the tail of the queue. A simple additional caller side check for tcp_write_queue_tail would likely have resulted 2 x modulos because the limit would have to be first calculated from window, however, doing that unnecessary modulo is not mandatory. After a minor change to the algorithm, simply determine first if the modulo is needed at all and at that point immediately decide also from which value it should be calculated from. This approach also kills some duplicated code. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 7ffc49a6ee92b7138c2ee28073a8e10e58335d62 Author: Michael Chan Date: Mon Dec 24 21:28:09 2007 -0800 [ETH]: Combine format_addr() with print_mac(). print_mac() used many most net drivers and format_addr() used by net-sysfs.c are very similar and they can be intergrated. format_addr() is also identically redefined in the qla4xxx iscsi driver. Export a new function sysfs_format_mac() to be used by net-sysfs, qla4xxx and others in the future. Both print_mac() and sysfs_format_mac() call _format_mac_addr() to do the formatting. Changed print_mac() to use unsigned char * to be consistent with net_device struct's dev_addr. Added buffer length overrun checking as suggested by Joe Perches. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 21371f768bf7127ee45bfaadd17899df6a439e8f Author: Eric Dumazet Date: Mon Dec 24 20:57:56 2007 -0800 [SOCK] Avoid divides in sk_stream_pages() and __sk_stream_mem_reclaim() sk_forward_alloc being signed, we should take care of divides by SK_STREAM_MEM_QUANTUM we do in sk_stream_pages() and __sk_stream_mem_reclaim() This patchs introduces SK_STREAM_MEM_QUANTUM_SHIFT, defined as ilog2(SK_STREAM_MEM_QUANTUM), to be able to use right shifts instead of plain divides. This should help compiler to choose right shifts instead of expensive divides (as seen with CONFIG_CC_OPTIMIZE_FOR_SIZE=y on x86) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b15c4bcd15741b31019379298edfca28dc78029d Author: Masahide NAKAMURA Date: Mon Dec 24 16:00:09 2007 -0800 [XFRM]: Fix outbound statistics. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 426b5303eb435d98b9bee37a807be386bc2b3320 Author: Eric W. Biederman Date: Thu Jan 24 00:13:18 2008 -0800 [NETNS]: Modify the neighbour table code so it handles multiple network namespaces I'm actually surprised at how much was involved. At first glance it appears that the neighbour table data structures are already split by network device so all that should be needed is to modify the user interface commands to filter the set of neighbours by the network namespace of their devices. However a couple things turned up while I was reading through the code. The proxy neighbour table allows entries with no network device, and the neighbour parms are per network device (except for the defaults) so they now need a per network namespace default. So I updated the two structures (which surprised me) with their very own network namespace parameter. Updated the relevant lookup and destroy routines with a network namespace parameter and modified the code that interacts with users to filter out neighbour table entries for devices of other namespaces. I'm a little concerned that we can modify and display the global table configuration and from all network namespaces. But this appears good enough for now. I keep thinking modifying the neighbour table to have per network namespace instances of each table type would should be cleaner. The hash table is already dynamically sized so there are it is not a limiter. The default parameter would be straight forward to take care of. However when I look at the how the network table is built and used I still find some assumptions that there is only a single neighbour table for each type of table in the kernel. The netlink operations, neigh_seq_start, the non-core network users that call neigh_lookup. So while it might be doable it would require more refactoring than my current approach of just doing a little extra filtering in the code. Signed-off-by: Eric W. Biederman Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit e1af9f270b69a3ad1dcbabb404dd1f40a96f43f5 Author: Paul Moore Date: Fri Dec 21 14:59:08 2007 -0800 [XFRM]: Drop packets when replay counter would overflow According to RFC4303, section 3.3.3 we need to drop outgoing packets which cause the replay counter to overflow: 3.3.3. Sequence Number Generation The sender's counter is initialized to 0 when an SA is established. The sender increments the sequence number (or ESN) counter for this SA and inserts the low-order 32 bits of the value into the Sequence Number field. Thus, the first packet sent using a given SA will contain a sequence number of 1. If anti-replay is enabled (the default), the sender checks to ensure that the counter has not cycled before inserting the new value in the Sequence Number field. In other words, the sender MUST NOT send a packet on an SA if doing so would cause the sequence number to cycle. An attempt to transmit a packet that would result in sequence number overflow is an auditable event. The audit log entry for this event SHOULD include the SPI value, current date/time, Source Address, Destination Address, and (in IPv6) the cleartext Flow ID. Signed-off-by: Paul Moore Acked-by: James Morris Signed-off-by: David S. Miller commit afeb14b49098ba7a51c96e083a4105a0301f94c4 Author: Paul Moore Date: Fri Dec 21 14:58:11 2007 -0800 [XFRM]: RFC4303 compliant auditing This patch adds a number of new IPsec audit events to meet the auditing requirements of RFC4303. This includes audit hooks for the following events: * Could not find a valid SA [sections 2.1, 3.4.2] . xfrm_audit_state_notfound() . xfrm_audit_state_notfound_simple() * Sequence number overflow [section 3.3.3] . xfrm_audit_state_replay_overflow() * Replayed packet [section 3.4.3] . xfrm_audit_state_replay() * Integrity check failure [sections 3.4.4.1, 3.4.4.2] . xfrm_audit_state_icvfail() While RFC4304 deals only with ESP most of the changes in this patch apply to IPsec in general, i.e. both AH and ESP. The one case, integrity check failure, where ESP specific code had to be modified the same was done to the AH code for the sake of consistency. Signed-off-by: Paul Moore Acked-by: James Morris Signed-off-by: David S. Miller commit dfd4f0ae2e111e2b93c295938c0e64ebbb69ae6e Author: Eric Dumazet Date: Fri Dec 21 06:07:53 2007 -0800 [TCP]: Avoid two divides in __tcp_grow_window() tcp_win_from_space() being signed, compiler might emit an integer divide to compute tcp_win_from_space()/2 . Using right shifts is OK here and less expensive. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8beb5c5f12c8484c59edf9b691f2c4bb4d31f3a0 Author: Eric Dumazet Date: Fri Dec 21 05:58:29 2007 -0800 [TCP]: Avoid a divide in tcp_mtu_probing() tcp_mtu_to_mss() being signed, compiler might emit an integer divide to compute tcp_mtu_to_mss()/2 . Using a right shift is OK here and less expensive. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 829942c18704250fce4d5eca787065a3ee7c685d Author: David S. Miller Date: Fri Dec 21 04:29:16 2007 -0800 [TCP]: Move mss variable in tcp_mtu_probing() Down into the only scope where it is used. Signed-off-by: David S. Miller commit 8df09ea3b8ccfe0c94844102d33fa46f57c08d9e Author: Eric Dumazet Date: Fri Dec 21 03:07:41 2007 -0800 [SOCK] Avoid integer divides where not necessary in include/net/sock.h Because sk_wmem_queued, sk_sndbuf are signed, a divide per two may force compiler to use an integer divide. We can instead use a right shift. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ce55dd3610f7ac29bf8d159c2e2ace9aaf2c3038 Author: Eric Dumazet Date: Fri Dec 21 01:50:43 2007 -0800 [TCP]: tcp_write_timeout.c cleanup Before submiting a patch to change a divide to a right shift, I felt necessary to create a helper function tcp_mtu_probing() to reduce length of lines exceeding 100 chars in tcp_write_timeout(). Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b790cedd24a7f7d1639072b3faf35f1f56cb38ea Author: Eric Dumazet Date: Fri Dec 21 01:49:07 2007 -0800 [INET]: Avoid an integer divide in rt_garbage_collect() Since 'goal' is a signed int, compiler may emit an integer divide to compute goal/2. Using a right shift is OK here and less expensive. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9cb5734e5b9b26097c7fa28a9c6426a204cc15e3 Author: YOSHIFUJI Hideaki Date: Sat Jan 12 02:16:03 2008 -0800 [TCP]: Convert several length variable to unsigned. Several length variables cannot be negative, so convert int to unsigned int. This also allows us to do sane shift operations on those variables. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c40896de50c73e7835b34f23bea96625edd9d6c4 Author: John W. Linville Date: Fri Dec 21 00:44:59 2007 -0500 net/mac80211/Kconfig: whitespace corrections Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d6084cb61dce1e78e7079a1756df0de71dc8599c Author: John W. Linville Date: Fri Dec 21 00:43:34 2007 -0500 net/wireless/Kconfig: whitespace corrections Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c27f9830f367a041ca976ccd102f590d27d4deb2 Author: Johannes Berg Date: Wed Dec 19 23:38:24 2007 +0100 mac80211: don't read ERP information from (re)association response According to the standard, the field cannot be present, so don't try to interpret it either. Signed-off-by: Johannes Berg Cc: Daniel Drake Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 176e4f84423af3105894a7d71b23c1a16678a6be Author: Johannes Berg Date: Tue Dec 18 15:27:47 2007 +0100 mac80211: move tx crypto decision This patch moves the decision making about whether a frame is encrypted with a certain algorithm up into the TX handlers rather than having it in the crypto algorithm implementation. This fixes a problem with the radiotap injection code where injecting a non-data packet and requesting encryption could end up asking the driver to encrypt a packet without giving it a key. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 7bbdd2d987971f9d123a2db89ed921bf02e34f9a Author: Johannes Berg Date: Wed Dec 19 02:03:37 2007 +0100 mac80211: implement station stats retrieval This implements the required cfg80211 callback in mac80211 to allow userspace to get station statistics. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit fd5b74dcb88cfc109d6576b22deaef6f47f82c12 Author: Johannes Berg Date: Wed Dec 19 02:03:36 2007 +0100 cfg80211/nl80211: implement station attribute retrieval After a station is added to the kernel's structures, userspace has to be able to retrieve statistics about that station, especially whether the station was idle and how much bytes were transferred to and from it. This adds the necessary code to nl80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 5727ef1b2e797a1922f5bc239b6afb2b4cfb80bc Author: Johannes Berg Date: Wed Dec 19 02:03:34 2007 +0100 cfg80211/nl80211: station handling This patch adds station handling to cfg80211/nl80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ed1b6cc7f80f831e192704b05b9917f9cc37be15 Author: Johannes Berg Date: Wed Dec 19 02:03:32 2007 +0100 cfg80211/nl80211: add beacon settings This adds the necessary API to cfg80211/nl80211 to allow changing beaconing settings. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 62da92fb75c346b503bca765fd1337e08771c9fe Author: Johannes Berg Date: Wed Dec 19 02:03:31 2007 +0100 mac80211: support getting key sequence counters via cfg80211 This implements cfg80211's get_key() to allow retrieving the sequence counter for a TKIP or CCMP key from userspace. It also cleans up and documents the associated low-level driver interface. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e8cbb4cbeb7642d179b01c35adf036ddb65f3dd0 Author: Johannes Berg Date: Wed Dec 19 02:03:30 2007 +0100 mac80211: support adding/removing keys via cfg80211 This adds the necessary hooks to mac80211 to allow userspace to edit keys with cfg80211 (through nl80211.) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 41ade00f21a72d30911c6351a93823a491fffa39 Author: Johannes Berg Date: Wed Dec 19 02:03:29 2007 +0100 cfg80211/nl80211: introduce key handling This introduces key handling to cfg80211/nl80211. Default and group keys can be added, changed and removed; sequence counters for each key can be retrieved. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit a1464ab61e66c96f9cffea335755de850fe8bdbd Author: Stefano Brivio Date: Wed Dec 19 01:46:53 2007 +0100 doc: fix typo in feature-removal-schedule Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 7d54d0ddd66678ada6635159dac1eb82ccbe34b5 Author: Johannes Berg Date: Wed Dec 19 01:31:25 2007 +0100 mac80211: allow easier multicast/broadcast buffering in hardware There are various decisions influencing the decision whether to buffer a frame for after the next DTIM beacon. The "do we have stations in PS mode" condition cannot be tested by the driver so mac80211 has to do that. To ease driver writing for hardware that can buffer frames until after the next DTIM beacon, introduce a new txctl flag telling the driver to buffer a specific frame. While at it, restructure and comment the code for multicast buffering and remove spurious "inline" directives. Signed-off-by: Johannes Berg Cc: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4e20cb293cc0b30f32a53011fd6b38493d9fdcaa Author: Johannes Berg Date: Wed Dec 19 01:31:24 2007 +0100 mac80211: make ieee80211_rx_mgmt_action static The function is only used locally. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 678f5f7117d5780d3a51b201c9f44b7bf90f6a76 Author: Johannes Berg Date: Wed Dec 19 01:31:23 2007 +0100 mac80211: clean up eapol handling in TX path The previous patch left only one user of the ieee80211_is_eapol() function and that user can be eliminated easily by introducing a new "frame is EAPOL" flag to handle the frame specially (we already have this information) instead of doing the (expensive) ieee80211_is_eapol() all the time. Also, allow unencrypted frames to be sent when they are injected. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ce3edf6d0b979fa4d5da7204fd8c6f77f2b8622a Author: Johannes Berg Date: Wed Dec 19 01:31:22 2007 +0100 mac80211: clean up eapol frame handling/port control This cleans up the eapol frame handling and some related code in the receive and transmit paths. After this patch * EAPOL frames addressed to us or the EAPOL group address are always accepted regardless of whether they are encrypted or not * other frames from a station are dropped if PAE is enabled and the station is not authorized * unencrypted frames (except the EAPOL frames above) are dropped if drop_unencrypted is enabled * some superfluous code that eth_type_trans handles anyway is gone * port control is done for transmitted packets Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1946b74ce03c4edecabde80d027da00a7eab56ca Author: Mattias Nissler Date: Thu Dec 20 13:27:26 2007 +0100 rc80211-pid: export tuning parameters through debugfs This adds all the tunable parameters used by rc80211_pid to debugfs for easy testing and tuning. Signed-off-by: Mattias Nissler Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 12446c67fea1e5bc74c58e43ef53eea308cdda61 Author: Mattias Nissler Date: Wed Dec 19 01:27:18 2007 +0100 rc80211-pid: add debugging This adds a new debugfs file from which rate control relevant events can be read one event per line. The output includes the current time, so graphs can be created showing the rate control parameters. This helps in evaluating and tuning rate control parameters. While at it, we split headers and code for better readability. Signed-off-by: Mattias Nissler Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1dc4d1e6a1e81fee0d488cec4fcd39269ec51318 Author: Stefano Brivio Date: Wed Dec 19 01:26:52 2007 +0100 rc80211-pid: add sharpening factor This patch introduces a PID sharpening factor for faster response after association and low activity events. Signed-off-by: Stefano Brivio Signed-off-by: Mattias Nissler Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 90d501d610c0065dce43120c26744a49d8e0490c Author: Stefano Brivio Date: Wed Dec 19 01:26:34 2007 +0100 rc80211-pid: add rate behaviour learning algorithm This patch introduces a learning algorithm in order for the PID controller to learn how to map adjustment values to rates. This is better described in code comments. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c21b39aca4f8f4975784e54cd3a1b80bab80dcc0 Author: Stefano Brivio Date: Wed Dec 19 01:26:16 2007 +0100 mac80211: make PID rate control algorithm the default This makes the new PID TX rate control algorithm the default instead of the rc80211_simple rate control algorithm. The simple algorithm was flawed in several ways: it wasn't responsive at all and didn't age the information it was relying on properly. The PID algorithm allows us to tune characteristics such as responsiveness by adjusting parameters and was found to generally behave better. The default algorithm can be overridden to select simple instead. Which ever algorithm is the default is included as part of the mac80211 module automatically. The other algorithm (simple vs. pid) can be selected for inclusion as well. If EMBEDDED is selected then the choice is available to have no default specified and neither algorithm included in mac80211. The default algorithm can be set through a modparam. While at it, mark rc80211-simple as deprecated, and schedule it for removal. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b92edbe0b8a36a833c16b0cbafb6e899b81ffc08 Author: Eric Dumazet Date: Thu Dec 20 21:48:32 2007 -0800 [TCP] Avoid two divides in tcp_output.c Because 'free_space' variable in __tcp_select_window() is signed, expression (free_space / 2) forces compiler to emit an integer divide. This can be changed to a plain right shift, less expensive. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 68277accb3a5f004344f4346498640601b8b7016 Author: Paul Moore Date: Thu Dec 20 20:49:33 2007 -0800 [XFRM]: Assorted IPsec fixups This patch fixes a number of small but potentially troublesome things in the XFRM/IPsec code: * Use the 'audit_enabled' variable already in include/linux/audit.h Removed the need for extern declarations local to each XFRM audit fuction * Convert 'sid' to 'secid' everywhere we can The 'sid' name is specific to SELinux, 'secid' is the common naming convention used by the kernel when refering to tokenized LSM labels, unfortunately we have to leave 'ctx_sid' in 'struct xfrm_sec_ctx' otherwise we risk breaking userspace * Convert address display to use standard NIP* macros Similar to what was recently done with the SPD audit code, this also also includes the removal of some unnecessary memcpy() calls * Move common code to xfrm_audit_common_stateinfo() Code consolidation from the "less is more" book on software development * Proper spacing around commas in function arguments Minor style tweak since I was already touching the code Signed-off-by: Paul Moore Acked-by: James Morris Signed-off-by: David S. Miller commit 8ea843495df36036cb7f22f61994b34f8362b443 Author: Masahide NAKAMURA Date: Thu Dec 20 20:44:02 2007 -0800 [XFRM]: Add packet processing statistics option. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 0aa647746e5602e608220c10e51f49709a030f5d Author: Masahide NAKAMURA Date: Thu Dec 20 20:43:36 2007 -0800 [XFRM]: Support to increment packet dropping statistics. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 558f82ef6e0d25e87f7468c07b6db1fbbf95a855 Author: Masahide NAKAMURA Date: Thu Dec 20 20:42:57 2007 -0800 [XFRM]: Define packet dropping statistics. This statistics is shown factor dropped by transformation at /proc/net/xfrm_stat for developer. It is a counter designed from current transformation source code and defined as linux private MIB. See Documentation/networking/xfrm_proc.txt for the detail. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 9473e1f631de339c50bde1e3bd09e1045fe90fd5 Author: Masahide NAKAMURA Date: Thu Dec 20 20:41:57 2007 -0800 [XFRM] MIPv6: Fix to input RO state correctly. Disable spin_lock during xfrm_type.input() function. Follow design as IPsec inbound does. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit a1b051405bc16222d92c73b0c26d65b333a154ee Author: Masahide NAKAMURA Date: Thu Dec 20 20:41:12 2007 -0800 [XFRM] IPv6: Fix dst/routing check at transformation. IPv6 specific thing is wrongly removed from transformation at net-2.6.25. This patch recovers it with current design. o Update "path" of xfrm_dst since IPv6 transformation should care about routing changes. It is required by MIPv6 and off-link destined IPsec. o Rename nfheader_len which is for non-fragment transformation used by MIPv6 to rt6i_nfheader_len as IPv6 name space. Signed-off-by: Masahide NAKAMURA Acked-by: Herbert Xu Signed-off-by: David S. Miller commit bd515c3e48ececd774eb3128e81b669dbbd32637 Author: Ilpo Järvinen Date: Thu Dec 20 20:36:03 2007 -0800 [TCP]: Fix TSO deferring I'd say that most of what tcp_tso_should_defer had in between there was dead code because of this. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 255f97b3117cbe10b2493f7f12d66a81dfbcdf43 Author: Matt Carlson Date: Thu Dec 20 20:10:38 2007 -0800 [TG3]: Update version to 3.87 This patch updates the version number to 3.87. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ef167e27039eeaea6d3cdd5c547b082e89840bdd Author: Matt Carlson Date: Thu Dec 20 20:10:01 2007 -0800 [TG3]: Fix supporting flowctrl code This patch does three things. It modifies tg3_setup_flow_control() to use the administrator requested flow control settings if autonegotiation is turned off. It slightly modifies the tg3_setup_fiber_mii_phy() function to account for this new use case. And finally, it does the same for tg3_setup_copper_phy(). The copper modifications are more than a small multi-line change. The new code makes an attempt to avoid a link renegotiation if the link is active at half duplex and the only difference between the current advertised settings and requested advertised settings is the flow control advertisements. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5be73b471bbed9ca61ddfd952a2cb7701f94f034 Author: Matt Carlson Date: Thu Dec 20 20:09:29 2007 -0800 [TG3]: Correct sw autoneg flow control advertisements This patch modifies the software autoneg code to use the administrator specified flow control parameters. Since the autonegotiation code uses alternative flow control enumerations, the 1000-BaseX utility functions are used and code was added to convert the definitions to and from the alternate enumerations. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 82cd3d11f359763da445a7636ee683a922aaf025 Author: Matt Carlson Date: Thu Dec 20 20:09:00 2007 -0800 [TG3]: Correct 5704S flowctrl advertisements This patch modifies the 5704S hardware autoneg code to use the administrator specified flow control parameters. Since the 5704S uses device specific flow control enumerations, the 1000-BaseX utility functions are used and code was added to convert the definitions to and from the proprietary enumerations. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c98f6e3be1d1b9bc9299d84da4f0b1ea9a50f392 Author: Matt Carlson Date: Thu Dec 20 20:08:32 2007 -0800 [TG3]: Replace some magic 5704S constants This patch replaces magic values with preprocessor definitions for the sg_dig_ctrl and sg_dig_status registers. This is preparatory work for the next patch. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ba4d07a8483e6ec0de3194960f8aca862711454c Author: Matt Carlson Date: Thu Dec 20 20:08:00 2007 -0800 [TG3]: Add 1000T & 1000X flowctl adv helpers This patch adds two functions designed to convert abstract TX & RX flow control parameters to 1000-BaseT and 1000-BaseX autonegotiation advertisements. Code that uses standard definitions which statically advertises TX & RX flow control has been replaced with code that configures the advertisements based on administrator dictated preferences. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 95937268b7c4c334a3d98f7177c7d5a00b74b2e7 Author: Matt Carlson Date: Thu Dec 20 20:06:19 2007 -0800 [TG3]: Add 1000T & 1000X flowctrl resolvers This patch adds two new utility functions to resolve flow control. One function resolves flow control based on 1000-BaseT register definitions. The other resolves flow control based on 1000-Base X register definitions. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 8d018621085b8d00511768c343d941676bd77ee9 Author: Matt Carlson Date: Thu Dec 20 20:05:44 2007 -0800 [TG3]: Separate requested and actual flow control parameters This patch removes the TX and RX flow control flags from tg3_flags and adds two new flow control variables, flowctrl and active_flowctrl. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a43d8994b959a6daeeadcd1be6d4a9045b7029ac Author: Pavel Emelyanov Date: Thu Dec 20 15:49:05 2007 -0800 [NEIGH]: Make neigh_add_timer symmetrical to neigh_del_timer. The neigh_del_timer() looks sane - it removes the timer and (conditionally) puts the neighbor. I expected, that the neigh_add_timer() is symmetrical to the del one - i.e. it holds the neighbor and arms the timer - but it turned out that it was not so. I think, that making them look symmetrical makes the code more readable. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7054fb9376e111d0edc06efcedbac6930a6caf76 Author: Pavel Emelyanov Date: Thu Dec 20 15:32:54 2007 -0800 [INET]: Uninline the inet_twsk_put function. This one is not that big, but is widely used: saves 1200 bytes from net/ipv4/built-in.o add/remove: 1/0 grow/shrink: 1/12 up/down: 97/-1300 (-1203) function old new delta inet_twsk_put - 87 +87 __inet_lookup_listener 274 284 +10 tcp_sacktag_write_queue 2255 2254 -1 tcp_time_wait 482 411 -71 __inet_check_established 796 722 -74 tcp_v4_err 973 898 -75 __inet_twsk_kill 230 154 -76 inet_twsk_deschedule 180 103 -77 tcp_v4_do_rcv 462 384 -78 inet_hash_connect 686 607 -79 inet_twdr_do_twkill_work 236 150 -86 inet_twdr_twcal_tick 395 307 -88 tcp_v4_rcv 1744 1480 -264 tcp_timewait_state_process 975 644 -331 Export it for ipv6 module. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 77a5ba55dab7b4ece12f37c717022819e3f77b44 Author: Pavel Emelyanov Date: Thu Dec 20 15:32:17 2007 -0800 [INET]: Uninline the __inet_lookup_established function. This is -700 bytes from the net/ipv4/built-in.o add/remove: 1/0 grow/shrink: 1/3 up/down: 340/-1040 (-700) function old new delta __inet_lookup_established - 339 +339 tcp_sacktag_write_queue 2254 2255 +1 tcp_v4_err 1304 973 -331 tcp_v4_rcv 2089 1744 -345 tcp_v4_do_rcv 826 462 -364 Exporting is for dccp module (used via e.g. inet_lookup). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 152da81deb9a4870aeac352336184b2b14d4b2ba Author: Pavel Emelyanov Date: Thu Dec 20 15:31:33 2007 -0800 [INET]: Uninline the __inet_hash function. This one is used in quite many places in the networking code and seems to big to be inline. After the patch net/ipv4/build-in.o loses ~650 bytes: add/remove: 2/0 grow/shrink: 0/5 up/down: 461/-1114 (-653) function old new delta __inet_hash_nolisten - 282 +282 __inet_hash - 179 +179 tcp_sacktag_write_queue 2255 2254 -1 __inet_lookup_listener 284 274 -10 tcp_v4_syn_recv_sock 755 493 -262 tcp_v4_hash 389 35 -354 inet_hash_connect 1086 599 -487 This version addresses the issue pointed by Eric, that while being inline this function was optimized by gcc in respect to the 'listen_possible' argument. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit d6701191329b51793bc56724548f0863d2149c29 Author: Vlad Yasevich Date: Thu Dec 20 14:13:31 2007 -0800 [SCTP]: Follow Add-IP security consideratiosn wrt INIT/INIT-ACK The Security Considerations section of RFC 5061 has the following text: If an SCTP endpoint that supports this extension receives an INIT that indicates that the peer supports the ASCONF extension but does NOT support the [RFC4895] extension, the receiver of such an INIT MUST send an ABORT in response. Note that an implementation is allowed to silently discard such an INIT as an option as well, but under NO circumstance is an implementation allowed to proceed with the association setup by sending an INIT-ACK in response. An implementation that receives an INIT-ACK that indicates that the peer does not support the [RFC4895] extension MUST NOT send the COOKIE-ECHO to establish the association. Instead, the implementation MUST discard the INIT-ACK and report to the upper- layer user that an association cannot be established destroying the Transmission Control Block (TCB). Follow the recomendations. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 75205f478331cc64ce729ea72d3c8c1837fb59cb Author: Vlad Yasevich Date: Thu Dec 20 14:12:59 2007 -0800 [SCTP]: Implement ADD-IP special case processing for ABORT chunk ADD-IP spec has a special case for processing ABORTs: F4) ... One special consideration is that ABORT Chunks arriving destined to the IP address being deleted MUST be ignored (see Section 5.3.1 for further details). Check if the address we received on is in the DEL state, and if so, ignore the ABORT. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit f57d96b2e92d209ab3991bba9a44e0d6ef7614a8 Author: Vlad Yasevich Date: Thu Dec 20 14:12:24 2007 -0800 [SCTP]: Change use_as_src into a full address state Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit a08de64d074b36a56ee3bb985cd171281db78e96 Author: Vlad Yasevich Date: Thu Dec 20 14:11:47 2007 -0800 [SCTP]: Update ASCONF processing to conform to spec. The processing of the ASCONF chunks has changed a lot in the spec. New items are: 1. A list of ASCONF-ACK chunks is now cached 2. The source of the packet is used in response. 3. New handling for unexpect ASCONF chunks. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit ba8a06daed7d7c8785c92c343da9e202e6988fda Author: Vlad Yasevich Date: Thu Dec 20 14:11:11 2007 -0800 [SCTP]: ADD-IP updates the states where ASCONFs can be sent C4) Both ASCONF and ASCONF-ACK Chunks MUST NOT be sent in any SCTP state except ESTABLISHED, SHUTDOWN-PENDING, SHUTDOWN-RECEIVED, and SHUTDOWN-SENT. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit df21857714398acb8b24a8bb5a6d2286dd9c59ef Author: Vlad Yasevich Date: Thu Dec 20 14:10:38 2007 -0800 [SCTP]: Update association lookup to look at ASCONF chunks as well ADD-IP draft section 5.2 specifies that if an association can not be found using the source and destination of the IP packet, then, if the packet contains ASCONF chunks, the Address Parameter TLV should be used to lookup an association. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit d6de3097592b7ae7f8e233a4dafb088e2aa8170f Author: Vlad Yasevich Date: Thu Dec 20 14:10:00 2007 -0800 [SCTP]: Add the handling of "Set Primary IP Address" parameter to INIT The ADD-IP "Set Primary IP Address" parameter is allowed in the INIT/INIT-ACK exchange. Allow processing of this parameter during the INIT/INIT-ACK. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 42e30bf3463cd37d73839376662cb79b4d5c416c Author: Vlad Yasevich Date: Thu Dec 20 14:08:56 2007 -0800 [SCTP]: Handle the wildcard ADD-IP Address parameter The Address Parameter in the parameter list of the ASCONF chunk may be a wildcard address. In this case special processing is required. For the 'add' case, the source IP of the packet is added. In the 'del' case, all addresses except the source IP of packet are removed. In the "mark primary" case, the source address is marked as primary. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 6afd2e83cd86b17b074e1854d063b8ec590d7f5b Author: Vlad Yasevich Date: Thu Dec 20 14:08:04 2007 -0800 [SCTP]: Discard unauthenticated ASCONF and ASCONF ACK chunks Now that we support AUTH, discard unauthenticated ASCONF and ASCONF ACK chunks as mandated in the ADD-IP spec. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 195ad6a3ac8b5c4eef4916efcb673e96e6f09d89 Author: Herbert Xu Date: Thu Dec 20 13:53:40 2007 -0800 [IPSEC]: Rename tunnel-mode functions to avoid collisions with tunnels It appears that I've managed to create two different functions both called xfrm6_tunnel_output. This is because we have the plain tunnel encapsulation named xfrmX_tunnel as well as the tunnel-mode encapsulation which lives in the files xfrmX_mode_tunnel.c. This patch renames functions from the latter to use the xfrmX_mode_tunnel prefix to avoid name-space conflicts. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ad01837593338f13508463fa11c8dbf8109a1e5d Author: Mattias Nissler Date: Wed Dec 19 01:25:57 2007 +0100 mac80211: add PID controller based rate control algorithm Add a new rate control algorithm based on a PID controller. It samples the percentage of failed frames over time, feeds the result into the controller and uses its output to control the TX rate. Signed-off-by: Mattias Nissler Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1abbe498e4b5e4f2000dfc30a0fa25be9553530e Author: Mattias Nissler Date: Thu Dec 20 13:50:07 2007 +0100 mac80211: clean up rate selection Move some code out of rc80211_simple since it's probably needed for all rate selection algorithms, and fix iwlwifi accordingly. While at it, clean up the rate_control_get_rate() interface. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 98f0b0a3a412eade153c7cf00c6b863600980d89 Author: Ron Rindjunsky Date: Tue Dec 18 17:23:53 2007 +0200 mac80211: pass in PS_POLL frames This patch fixes should_drop_frame function to pass in ps poll control frames required for power save functioanlity. Interface types that do not have interest for PS POLL frames now drop it in handler. Signed-off-by: Ron Rindjunsky Acked-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d647b36a69bf0a630ebf981bde3c0651e2779e5e Author: Herbert Xu Date: Thu Dec 20 04:13:21 2007 -0800 [SNMP]: Fix SNMP counters with PREEMPT The SNMP macros use raw_smp_processor_id() in process context which is illegal because the process may be preempted and then migrated to another CPU. This patch makes it use get_cpu/put_cpu to disable preemption. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 2caf62f6cae46e36b1c4a1b0f2d9ef82af89cad2 Author: Joe Perches Date: Thu Dec 20 04:07:35 2007 -0800 [NIU]: Use print_mac Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit d66453722873e1595b7934acbdcd5cdfa6982d6c Author: Joe Perches Date: Thu Dec 20 04:06:59 2007 -0800 [TG3]: Use print_mac Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 137919a9ba10897b579618f19bfaa0b18c09c398 Author: Joe Perches Date: Thu Dec 20 04:06:25 2007 -0800 [SUNVNET]: Use print_mac Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 910ef70aa301eb018255683499b8e51426c213a0 Author: Herbert Xu Date: Tue Dec 18 22:14:25 2007 -0800 [IPSEC]: Do xfrm_state_check_space before encapsulation While merging the IPsec output path I moved the encapsulation output operation to the top of the loop so that it sits outside of the locked section. Unfortunately in doing so it now sits in front of the space check as well which could be a fatal error. This patch rearranges the calls so that the space check happens as the thing on the output path. This patch also fixes an incorrect goto should the encapsulation output fail. Thanks to Kazunori MIYAZAWA for finding this bug. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 33b8e776056202aceaf4c90f465d0f4ee53432ac Author: Patrick McHardy Date: Mon Dec 17 22:47:05 2007 -0800 [NETFILTER]: Add CONFIG_NETFILTER_ADVANCED option The NETFILTER_ADVANCED option hides lots of the rather obscure netfilter options when disabled and provides defaults (M) that should allow to run a distribution firewall without further thinking. Defaults to 'y' to avoid breaking current configurations. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 34498825cb9062192b77fa02dae672a4fe6eec70 Author: Patrick McHardy Date: Mon Dec 17 22:45:52 2007 -0800 [NETFILTER]: non-power-of-two jhash optimizations Apply Eric Dumazet's jhash optimizations where applicable. Quoting Eric: Thanks to jhash, hash value uses full 32 bits. Instead of returning hash % size (implying a divide) we return the high 32 bits of the (hash * size) that will give results between [0 and size-1] and same hash distribution. On most cpus, a multiply is less expensive than a divide, by an order of magnitude. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7b21e09d1c17ef0296ec5a6df231a6c5c87b2fd7 Author: Eric Dumazet Date: Mon Dec 17 22:45:28 2007 -0800 [NETFILTER]: xt_hashlimit: reduce overhead without IPv6 This patch generalizes the (CONFIG_IP6_NF_IPTABLES || CONFIG_IP6_NF_IPTABLES_MODULE) test done in hashlimit_init_dst() to all the xt_hashlimit module. This permits a size reduction of "struct dsthash_dst". This saves memory and cpu for IPV4 only hosts. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e2f82ac3fcffffca59751b65124544d11ed8be4a Author: Eric Dumazet Date: Mon Dec 17 22:45:13 2007 -0800 [NETFILTER]: xt_hashlimit: speedup hash_dst() 1) Using jhash2() instead of jhash() is a litle bit faster if applicable. 2) Thanks to jhash, hash value uses full 32 bits. Instead of returning hash % size (implying a divide) we return the high 32 bits of the (hash * size) that will give results between [0 and size-1] and same hash distribution. On most cpus, a multiply is less expensive than a divide, by an order of magnitude. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 22c2d8bca212a655c120fd6617328ffa3480afad Author: Jan Engelhardt Date: Mon Dec 17 22:44:47 2007 -0800 [NETFILTER]: xt_connlimit: use the new union nf_inet_addr Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e79ec50b9587c175f65f98550d66ad5b96c05dd9 Author: Jan Engelhardt Date: Mon Dec 17 22:44:06 2007 -0800 [NETFILTER]: Parenthesize macro parameters Parenthesize macro parameters. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 643a2c15a407faf08101a20e1a3461160711899d Author: Jan Engelhardt Date: Mon Dec 17 22:43:50 2007 -0800 [NETFILTER]: Introduce nf_inet_address A few netfilter modules provide their own union of IPv4 and IPv6 address storage. Will unify that in this patch series. (1/4): Rename union nf_conntrack_address to union nf_inet_addr and move it to x_tables.h. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit df54aae02210e1acf3a1d2ffac9b29003835710c Author: Jan Engelhardt Date: Mon Dec 17 22:43:15 2007 -0800 [NETFILTER]: x_tables: use %u format specifiers Use %u format specifiers as ->family is unsigned. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 051578ccbcdad3b24b621dfb652194e36759e8d5 Author: Patrick McHardy Date: Mon Dec 17 22:42:51 2007 -0800 [NETFILTER]: nf_nat: properly use RCU for ip_nat_decode_session We need to use rcu_assign_pointer/rcu_dereference to avoid races. Also remove an obsolete CONFIG_IP_NAT_NEEDED ifdef. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1e796fda00f06bac584f0e4ad8750ab9430d79d3 Author: Patrick McHardy Date: Mon Dec 17 22:42:27 2007 -0800 [NETFILTER]: constify nf_afinfo Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 90a9ba8dd90bcffe279d3272545bccba6dcc8d7c Author: Patrick McHardy Date: Mon Dec 17 22:42:09 2007 -0800 [NETFILTER]: Kill function prototype for non-existing function Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 76aa1ce139f649e432272f6ad75204b763ef13bd Author: Patrick McHardy Date: Mon Dec 17 22:41:52 2007 -0800 [NETFILTER]: nfnetlink_log: include GID in netlink message Similar to Maciej Soltysiak's ipt_LOG patch, include GID in addition to UID in netlink message. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0dfedd28746266a35b3008cb6bb03466115e95b9 Author: Patrick McHardy Date: Mon Dec 17 22:41:35 2007 -0800 [NETFILTER]: nfnetlink_log: use endianness-aware attribute functions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit baab2ce7d2a8dbf6280ab09c011cfec1dd5972de Author: Patrick McHardy Date: Mon Dec 17 22:41:21 2007 -0800 [NETFILTER]: nfnetlink_{queue,log}: return proper error codes in instance_create Currently we return EINVAL for "instance exists", "allocation failed" and "module unloaded below us", which is completely inapproriate. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1792bab4caaa85bae858799bb6231f171f59b58a Author: Patrick McHardy Date: Mon Dec 17 22:41:02 2007 -0800 [NETFILTER]: nfnetlink_log: remove excessive debugging Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cd21f0ac43f8d7f23573a01ada7fb2c96e686ff8 Author: Patrick McHardy Date: Mon Dec 17 22:40:19 2007 -0800 [NETFILTER]: nfnetlink_{queue,log}: return ENOTSUPP for unknown cfg commands Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c0506365a928adfd5608ed6873a705ae18e2daaf Author: Patrick McHardy Date: Mon Dec 17 22:39:55 2007 -0800 [NETFILTER]: nfnetlink_log: fix checks in nfulnl_recv_config Similar to the nfnetlink_queue fixes: The peer_pid must be checked in all cases when a logging instance exists, additionally we must check whether an instance exists before attempting to configure it to avoid NULL ptr dereferences. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a7c42955e036127f793ad955d3ec718494efb1eb Author: Patrick McHardy Date: Mon Dec 17 22:39:27 2007 -0800 [NETFILTER]: nf_log: remove incomprehensible comment Whatever that comment tries to say, I don't get it and it looks like a leftover from the time when RCU wasn't used properly. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7b2f9631e789c3e7d59201c21f09a24cd6ce3b1a Author: Patrick McHardy Date: Mon Dec 17 22:39:08 2007 -0800 [NETFILTER]: nf_log: constify struct nf_logger and nf_log_packet loginfo arg Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f01ffbd6e7d001ccf9168b33507958a51ce0ffcf Author: Patrick McHardy Date: Mon Dec 17 22:38:49 2007 -0800 [NETFILTER]: nf_log: move logging stuff to seperate header Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cc01dcbd26865addfe9eb5431f1f9dbc511515ba Author: Patrick McHardy Date: Mon Dec 17 22:38:20 2007 -0800 [NETFILTER]: nf_nat: pass manip type instead of hook to nf_nat_setup_info nf_nat_setup_info gets the hook number and translates that to the manip type to perform. This is a relict from the time when one manip per hook could exist, the exact hook number doesn't matter anymore, its converted to the manip type. Most callers already know what kind of NAT they want to perform, so pass the maniptype in directly. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ce4b1cebdcd4779097e9862670e5c5208e76712b Author: Patrick McHardy Date: Mon Dec 17 22:37:52 2007 -0800 [NETFILTER]: nf_nat: sprinkle a few __read_mostlys Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2b628a0866860d44652362aafe403e5b5895583d Author: Patrick McHardy Date: Mon Dec 17 22:37:36 2007 -0800 [NETFILTER]: nf_nat: mark NAT protocols const Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3ee9e760387c38558df976bc2905959826adf331 Author: Patrick McHardy Date: Mon Dec 17 22:37:20 2007 -0800 [NETFILTER]: nf_nat_proto_gre: add missing module reference Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d978e5daec544ec72b28bf72a30dc9ac3da23a35 Author: Patrick McHardy Date: Mon Dec 17 22:37:03 2007 -0800 [NETFILTER]: ctnetlink: fix expectation timeout dumping When the timer is late its timeout might be before the current time, in which case a very large value is dumped. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 77236b6e33b06aaf756a86ed1965ca7d460b1b53 Author: Patrick McHardy Date: Mon Dec 17 22:29:45 2007 -0800 [NETFILTER]: ctnetlink: use netlink attribute helpers Use NLA_PUT_BE32, nla_get_be32() etc. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 838965ba22066c7fcdbacfc543c387d0eb76c14c Author: Patrick McHardy Date: Mon Dec 17 22:29:26 2007 -0800 [NETLINK]: Add NLA_PUT_BE16/nla_get_be16() Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c7212e9d3938258abe3fd17d15bb0d5c1856b8df Author: Pablo Neira Ayuso Date: Mon Dec 17 22:29:02 2007 -0800 [NETFILTER]: nf_conntrack_sctp: add ctnetlink support This patch adds support for SCTP to ctnetlink. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 37fccd8577d38e249dde71512fb38d2f6a4d9d3c Author: Pablo Neira Ayuso Date: Mon Dec 17 22:28:41 2007 -0800 [NETFILTER]: ctnetlink: add support for secmark This patch adds support for James Morris' connsecmark. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0f417ce989f84cfd5418e3b316064bfbb2708196 Author: Pablo Neira Ayuso Date: Mon Dec 17 22:28:19 2007 -0800 [NETFILTER]: ctnetlink: add support for master tuple event notification and dumping This patch adds support for master tuple event notification and dumping. Conntrackd needs this information to recover related connections appropriately. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 13eae15a244bb29beaa47bf86a24fd29ca7f8a4c Author: Pablo Neira Ayuso Date: Mon Dec 17 22:28:00 2007 -0800 [NETFILTER]: ctnetlink: add support for NAT sequence adjustments The combination of NAT and helpers may produce TCP sequence adjustments. In failover setups, this information needs to be replicated in order to achieve a successful recovery of mangled, related connections. This patch is particularly useful for conntrackd, see: http://people.netfilter.org/pablo/conntrack-tools/ Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 170080645dac61816455afad807ffeb326ce79e8 Author: Benjamin LaHaise Date: Mon Dec 17 22:27:36 2007 -0800 [NETFILTER]: xt_TCPMSS: don't allow netfilter --setmss to increase mss When terminating DSL connections for an assortment of random customers, I've found it necessary to use iptables to clamp the MSS used for connections to work around the various ICMP blackholes in the greater net. Unfortunately, the current behaviour in Linux is imperfect and actually make things worse, so I'm proposing the following: increasing the MSS in a packet can never be a good thing, so make --set-mss only lower the MSS in a packet. Yes, I am aware of --clamp-mss-to-pmtu, but it doesn't work for outgoing connections from clients (ie web traffic), as it only looks at the PMTU on the destination route, not the source of the packet (the DSL interfaces in question have a 1442 byte MTU while the destination ethernet interface is 1500 -- there are problematic hosts which use a 1300 byte MTU). Reworking that is probably a good idea at some point, but it's more work than this is. Signed-off-by: Benjamin LaHaise Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d6a2ba07c31b0497fc82a8c175400ea8747da2ef Author: Patrick McHardy Date: Mon Dec 17 22:26:54 2007 -0800 [NETFILTER]: arp_tables: add compat support Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 11f6dff8af95d8d1d14bef70d384029c5acf6e04 Author: Patrick McHardy Date: Mon Dec 17 22:26:38 2007 -0800 [NETFILTER]: arp_tables: resync get_entries() with ip_tables Resync get_entries() with ip_tables.c by moving the checks from the setsockopt handler to the function itself. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 41acd975b954ad6ec4943d77e5920f2eeaf54518 Author: Patrick McHardy Date: Mon Dec 17 22:26:24 2007 -0800 [NETFILTER]: arp_tables: move ARPT_SO_GET_INFO handling to seperate function Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 27e2c26b85b6b234411d94127201436c1ec9c002 Author: Patrick McHardy Date: Mon Dec 17 21:56:48 2007 -0800 [NETFILTER]: arp_tables: move counter allocation to seperate function More resyncing with ip_tables.c as preparation for compat support. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fb5b6095f320bd5a615049aa5fe8827ae9d1bf80 Author: Patrick McHardy Date: Mon Dec 17 21:56:33 2007 -0800 [NETFILTER]: arp_tables: move entry and target checks to seperate functions Resync with ip_tables.c as preparation for compat support. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 70f0bfcf6a24e259d51f62354f866f42f8a3d317 Author: Patrick McHardy Date: Mon Dec 17 21:56:14 2007 -0800 [NETFILTER]: arp_tables: remove ipchains compat hack Remove compatiblity hack copied from ip_tables.c - ipchains didn't even support arp_tables :) Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 197631201ec2833f50ac50e6aa7c8ee151e66dda Author: Patrick McHardy Date: Mon Dec 17 21:55:59 2007 -0800 [NETFILTER]: arp_tables: use vmalloc_node() Use vmalloc_node() as in ip_tables.c. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0495cf957bfacbca123cb4c4e1c4cf0e265f522e Author: Patrick McHardy Date: Mon Dec 17 21:55:34 2007 -0800 [NETFILTER]: arp_tables: use XT_ALIGN Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 03dafbbdf8a5e8a9e3e347a393930ed49506d00b Author: Patrick McHardy Date: Mon Dec 17 21:55:16 2007 -0800 [NETFILTER]: arp_tables: remove obsolete standard_check function The size check is already performed by xt_check_target, no need to do it again. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 06e1374a7ed45f1788353a2944a20133adc55649 Author: Patrick McHardy Date: Mon Dec 17 21:53:40 2007 -0800 [NETFILTER]: ip6_tables: use XT_ALIGN Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6d6a55f42d93eeba7add62c3ad6a5409c6fd24ae Author: Patrick McHardy Date: Mon Dec 17 21:53:18 2007 -0800 [NETFILTER]: ip_tables: remove ipchains compatibility hack ipchains support has been removed years ago. kill last remains. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit da4d0f6b3d3c7bcd00e097d48416e0a1dfde2a0f Author: Patrick McHardy Date: Mon Dec 17 21:52:52 2007 -0800 [NETFILTER]: ip6_tables: use raw_smp_processor_id() in do_add_counters() Use raw_smp_processor_id() in do_add_counters() as in ip_tables.c. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b5dd674b2a1de5925955a088b0a10f81484e975a Author: Patrick McHardy Date: Mon Dec 17 21:52:35 2007 -0800 [NETFILTER]: ip6_tables: fix stack leagage Fix leakage of local variable on stack. This already got fixed in ip_tables silently by the compat patches. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c9d8fe13175140c79982f9d29c6921328f9afad6 Author: Patrick McHardy Date: Mon Dec 17 21:52:15 2007 -0800 [NETFILTER]: {ip,ip6}_tables: fix format strings Use %zu for sizeof() and remove casts. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9c54795950d198e77144a18c94e7ed52ea0f3c77 Author: Patrick McHardy Date: Mon Dec 17 21:52:00 2007 -0800 [NETFILTER]: {ip,ip6}_tables: reformat to eliminate differences Reformat ip_tables.c and ip6_tables.c in order to eliminate non-functional differences and minimize diff output. This allows to get a view of the real differences using: sed -e 's/IP6T/IPT/g' \ -e 's/IP6/IP/g' \ -e 's/INET6/INET/g' \ -e 's/ip6t/ipt/g' \ -e 's/ip6/ip/g' \ -e 's/ipv6/ip/g' \ -e 's/icmp6/icmp/g' \ net/ipv6/netfilter/ip6_tables.c | \ diff -wup /dev/stdin net/ipv4/netfilter/ip_tables.c Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1fe5723773656a8ee7a981caf7fee9adb0ac6259 Author: Patrick McHardy Date: Mon Dec 17 21:51:33 2007 -0800 [NETFILTER]: xt_MARK: add compat support for revision 0 Old userspace doesn't support revision 1, especially for IPv6, which is only available in the SVN snapshot. Add compat support for revision 0. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 311af5cbeab8ce2b9252ce65272e427eeb8093b7 Author: Patrick McHardy Date: Mon Dec 17 21:51:14 2007 -0800 [NETFILTER]: xt_MARK: support revision 1 for IPv6 The current netfilter SVN version includes support for this, so enable it in the kernel as well. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 34f4c4295eb2580ca67677dea14a2839aedc403f Author: Patrick McHardy Date: Mon Dec 17 21:50:53 2007 -0800 [NETFILTER]: x_tables: enable compat translation for IPv6 matches/targets Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3bc3fe5eed5e866c0871db6d745f3bf58af004ef Author: Patrick McHardy Date: Mon Dec 17 21:50:37 2007 -0800 [NETFILTER]: ip6_tables: add compat support Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d924357c50d83e76d30dd5b81b5804815a2ae31c Author: Patrick McHardy Date: Mon Dec 17 21:50:22 2007 -0800 [NETFILTER]: ip6_tables: resync get_entries() with ip_tables Resync get_entries() with ip_tables.c by moving the checks from the setsockopt handler to the function itself. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 433665c9d110d783ea4043c59657f0437fcc31dd Author: Patrick McHardy Date: Mon Dec 17 21:50:05 2007 -0800 [NETFILTER]: ip6_tables: move IP6T_SO_GET_INFO handling to seperate function Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ed1a6f5e77441c4020b8541b3f03f03e37d638e1 Author: Patrick McHardy Date: Mon Dec 17 21:49:51 2007 -0800 [NETFILTER]: ip6_tables: move counter allocation to seperate function More resyncing with ip_tables.c as preparation for compat support. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3b84e92b0d54864b0731c3ab3c20dd140bb3d7d9 Author: Patrick McHardy Date: Mon Dec 17 21:48:33 2007 -0800 [NETFILTER]: ip6_tables: use vmalloc_node() Consistently use vmalloc_node for all counter allocations. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f173c8a1f2c0ca39f45bb15b82ad5e6fe908556d Author: Patrick McHardy Date: Mon Dec 17 21:48:17 2007 -0800 [NETFILTER]: ip6_tables: move entry, match and target checks to seperate functions Resync with ip_tables.c as preparation for compat support. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 72f36ec14fb5006886bc0655ec2b43bf1ad53a26 Author: Patrick McHardy Date: Mon Dec 17 21:48:02 2007 -0800 [NETFILTER]: ip6_tables: kill a few useless defines/forward declarations Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b386d9f5960a9afce7f077edf2095fccfbb1a8e6 Author: Patrick McHardy Date: Mon Dec 17 21:47:48 2007 -0800 [NETFILTER]: ip_tables: move compat offset calculation to x_tables Its needed by ip6_tables and arp_tables as well. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 73cd598df46a73d6f02063f2520df115a9b88aa5 Author: Patrick McHardy Date: Mon Dec 17 21:47:32 2007 -0800 [NETFILTER]: ip_tables: fix compat types Use compat types and compat iterators when dealing with compat entries for clarity. This doesn't actually make a difference for ip_tables, but is needed for ip6_tables and arp_tables. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 30c08c41be75145b8850ea14b2d5ee4ee4b705d8 Author: Patrick McHardy Date: Mon Dec 17 21:47:14 2007 -0800 [NETFILTER]: ip_tables: account for struct ipt_entry/struct compat_ipt_entry size diff Account for size differences when dumping entries or calculating the entry positions. This doesn't actually make any difference for IPv4 since the structures have the same size, but its logically correct and needed for IPv6. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 89c002d66aafab93814b38d8dae43fa50aec390a Author: Patrick McHardy Date: Mon Dec 17 21:46:59 2007 -0800 [NETFILTER]: {ip,ip6,arp}_tables: consolidate iterator macros Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8956695131b8a7878891667469899d667eb5892b Author: Patrick McHardy Date: Mon Dec 17 21:46:40 2007 -0800 [NETFILTER]: x_tables: make xt_compat_match_from_user usable in iterator macros Make xt_compat_match_from_user return an int to make it usable in the *tables iterator macros and kill a now unnecessary wrapper function. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4b4782486d49547bc589b64acfb956bda05f0fca Author: Patrick McHardy Date: Mon Dec 17 21:46:15 2007 -0800 [NETFILTER]: ip_tables: reformat compat code The compat code has some very odd formating, clean it up before porting it to ip6_tables. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ac8e27fd89ca16e02fa1f911480bc46d64edc9da Author: Patrick McHardy Date: Mon Dec 17 21:45:52 2007 -0800 [NETFILTER]: ip_tables: kill useless wrapper Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 03bffc1341c757e4b15a5a6058ad624e28b4801e Author: Johannes Berg Date: Tue Dec 4 20:33:40 2007 +0100 wireless: make drivers include the TSF RX flag where appropriate These drivers pass full mactime information to the stack, make them indicate this via the new RX_FLAG_TSFT to get mac80211 to show this information in monitor mode. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 374fdfbc67837c1f4369eedb0f371ce3e6cce832 Author: Dan Williams Date: Wed Dec 12 10:25:07 2007 -0500 introduce WEXT scan capabilities Introduce scan capabilities to WEXT so that userspace can do intelligent things with scan behavior such as handling hidden SSIDs more gracefully. If the driver reports a specific scan capability, the driver must respect the options specified in the iw_scan_req structure when handling the SIOCSIWSCAN call, unless it's mode or state does not allow it to do so, in which case it must return an error. This version switches to Dave Kilroy's suggestion of claiming unused padding space for the scan_capa field. Signed-off-by: Dan Williams Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c49e5ea322c2fb43f430abb3c4a49eae1394287e Author: Johannes Berg Date: Tue Dec 11 21:33:42 2007 +0100 mac80211: conditionally include timestamp in radiotap information This makes mac80211 include the low-level MAC timestamp in the radiotap header if the driver indicated (by a new RX flag) that the timestamp is valid. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit a07a5a86d091699fd5e791765b8a79e6b1ef96cb Author: Gerrit Renker Date: Mon Dec 17 12:58:04 2007 -0200 [DCCP]: Remove unused inline function The function follows48(), which is a special-case of dccp_delta_seqno(), is nowhere used in the DCCP code, thus removed by this patch. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 52515e77a7a69867c479db4c9efb6be832b82179 Author: Gerrit Renker Date: Mon Dec 17 12:57:43 2007 -0200 [CCID3]: Nofeedback timer according to rfc3448bis This implements the changes to the nofeedback timer handling suggested in draft rfc3448bis00, section 4.4. In particular, these changes mean: * better handling of the lossless case (p == 0) * the timestamp for computing t_ld becomes obsolete * much more recent document (RFC 3448 is almost 5 years old) * concepts in rfc3448bis arose from a real, working implementation (cf. sec. 12) Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d8d1252f744cb7cebd6ba3a4b7feec31ff23ccde Author: Gerrit Renker Date: Mon Dec 17 12:48:47 2007 -0200 [CCID3]: Implement rfc3448bis changes to feedback reception This implements the algorithm to update the allowed sending rate X upon receiving feedback packets, as described in draft rfc3448bis, 4.2/4.3. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 5bd370a63daf62bb5520c258f04e91a4d9d274dd Author: Gerrit Renker Date: Mon Dec 17 10:25:06 2007 -0200 [CCID3]: Remove two irrelevant states in TX feedback handling * the NO_SENT state is only triggered in bidirectional mode, costing unnecessary processing. * the TERM (terminating) state is irrelevant. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8e138e7949490eebdccbd65b1f660a0488149a6b Author: Gerrit Renker Date: Mon Dec 17 10:07:44 2007 -0200 [CCID3]: Use a function to update p_inv, and p is never used This patch 1) concentrates previously scattered computation of p_inv into one function; 2) removes the `p' element of the CCID3 RX sock (it is redundant); 3) makes the tfrc_rx_info structure standalone, only used on demand. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 17159b0b494ad27f397f914d6eab1b91faf57630 Author: Joe Perches Date: Sun Dec 16 20:28:24 2007 -0800 [PARISC]: Fix build after ipv4_is_*() changes. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 9ad0977fe10bd5d052a6db7738afe017367c2e32 Author: Vlad Yasevich Date: Sun Dec 16 14:06:41 2007 -0800 [SCTP]: Use crc32c library for checksum calculations. The crc32c library used an identical table and algorithm as SCTP. Switch to using the library instead of carrying our own table. Using crypto layer proved to have too much overhead compared to using the library directly. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 1bf40954cf232a043a49623cf251f787c1871e64 Author: Herbert Xu Date: Sun Dec 16 14:04:02 2007 -0800 [PACKET]: Fix /proc/net/packet crash due to bogus private pointer The seq_open_net patch changed the meaning of seq->private. Unfortunately it missed two spots in AF_PACKET, which still used the old way of dereferencing seq->private, thus causing weird and wonderful crashes when reading /proc/net/packet. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 2d4d29802ff76de5af6123ef26c24ab512181223 Author: Joe Perches Date: Sun Dec 16 13:48:11 2007 -0800 [IPV4]: Remove unused IPV4TYPE macros Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 6360a02af1599e46b023ccbb85545ed97c6f662c Author: Joe Perches Date: Sun Dec 16 13:47:33 2007 -0800 [IPV4] drivers/infiniband: Use ipv4_is_ Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit b5cb2bbc4c6cb489941be881e8adfe136ee45b8e Author: Joe Perches Date: Sun Dec 16 13:46:59 2007 -0800 [IPV4] sctp: Use ipv4_is_ Signed-off-by: Joe Perches Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 37ef8dd7f3f2f228336e3779e7cec762d90e1f00 Author: Joe Perches Date: Sun Dec 16 13:46:15 2007 -0800 [IPV4] net/netfilter: Use ipv4_is_ Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit f97c1e0c6ebdb606c97b6cb5e837c6110ac5a961 Author: Joe Perches Date: Sun Dec 16 13:45:43 2007 -0800 [IPV4] net/ipv4: Use ipv4_is_ Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 21cf2253ebcf070bc307e0b56d696a2519c75cb4 Author: Joe Perches Date: Sun Dec 16 13:44:00 2007 -0800 [IPV4] net/core: Use ipv4_is_ Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 3db8cda362dced00caf19865ffda3fa1028c59bc Author: Joe Perches Date: Sun Dec 16 13:43:24 2007 -0800 [IPV4] include/net: Use ipv4_is_ Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 2658fa803111dae1353602e7f586de8e537803e2 Author: Joe Perches Date: Sun Dec 16 13:42:49 2007 -0800 [IPV4]: Create ipv4_is_(__be32 addr) functions Change IPV4 specific macros LOOPBACK MULTICAST LOCAL_MCAST BADCLASS and ZERONET macros to inline functions ipv4_is_(__be32 addr) Adds type safety and arguably some readability. Changes since last submission: Removed ipv4_addr_octets function Used hex constants Converted recently added rfc3330 macros Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 586f12115264b767ea6a48ce081ca25a39c1e3dd Author: Pavel Emelyanov Date: Sun Dec 16 13:32:48 2007 -0800 [IPV4]: Switch users of ipv4_devconf(_all) to use the pernet one These are scattered over the code, but almost all the "critical" places already have the proper struct net at hand except for snmp proc showing function and routing rtnl handler. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9355bbd685bf705a7f7bd6470b92ca0562c7a661 Author: Pavel Emelyanov Date: Sun Dec 16 13:32:16 2007 -0800 [IPV4]: Switch users of ipv4_devconf_dflt to use the pernet one They are all collected in the net/ipv4/devinet.c file and mostly use the IPV4_DEVCONF_DFLT macro. So I add the net parameter to it and patch users accordingly. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 752d14dc6aa9d0fc8f3b25e5052596fb549e5157 Author: Pavel Emelyanov Date: Sun Dec 16 13:31:47 2007 -0800 [IPV4]: Move the devinet pointers on the struct net This is the core. Add all and default pointers on the netns_ipv4 and register a new pernet subsys to initialize them. Also add the ctl_table_header to register the net.ipv4.ip_forward ctl. I don't allocate additional memory for init_net, but use global devinets. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit c0ce9fb304871daa0dd2bf0efb1b241b9fa4a279 Author: Pavel Emelyanov Date: Sun Dec 16 13:31:14 2007 -0800 [IPV4]: Store the net pointer on devinet's ctl tables Some handers and strategies of devinet sysctl tables need to know the net to propagate the ctl change to all the net devices. I use the (currently unused) extra2 pointer on the tables to get it. Holding the reference on the struct net is not possible, because otherwise we'll get a net->ctl_table->net circular dependency. But since the ctl tables are unregistered during the net destruction, this is safe to get it w/o additional protection. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 32e569b7277f13c4b27bb29c761189963e49ce7a Author: Pavel Emelyanov Date: Sun Dec 16 13:30:39 2007 -0800 [IPV4]: Pass the net pointer to the arp_req_set_proxy() This one will need to set the IPV4_DEVCONF_ALL(PROXY_ARP), but there's no ways to get the net right in place, so we have to pull one from the inet_ioctl's struct sock. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit ea40b324d791d86a42b858d073007de4d133227e Author: Pavel Emelyanov Date: Sun Dec 16 13:30:07 2007 -0800 [IPV4]: Make __devinet_sysctl_register return an error Currently, this function is void, so failures in creating sysctls for new/renamed devices are not reported to anywhere. Fixing this is another complex (needed?) task, but this return value is needed during the namespaces creation to handle the case, when we failed to create "all" and "default" entries. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8afd351c772d1815347d5c46716b099fde00a579 Author: Pavel Emelyanov Date: Sun Dec 16 13:29:36 2007 -0800 [NETNS]: Add the netns_ipv4 struct The ipv4 will store its parameters inside this structure. This one is empty now, but it will be eventually filled. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4bda4f250d21c3e4f2a2da5f4cef829a434a4046 Author: Pavel Emelyanov Date: Fri Dec 14 11:38:04 2007 -0800 [XFRM]: Fix potential race vs xfrm_state(only)_find and xfrm_hash_resize. The _find calls calculate the hash value using the xfrm_state_hmask, without the xfrm_state_lock. But the value of this mask can change in the _resize call under the state_lock, so we risk to fail in finding the desired entry in hash. I think, that the hash value is better to calculate under the state lock. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 5e41fb83216d370d158fe17675af82d12c6c72c9 Author: Matthias Kaehlcke Date: Fri Dec 14 11:32:48 2007 -0800 [PPP] synchronous tty: convert dead_sem to completion PPP synchronous tty channel driver: convert the semaphore dead_sem to a completion Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 9055e051b8d4b266054fe511a65a9888d30fa64f Author: Herbert Xu Date: Fri Dec 14 11:25:26 2007 -0800 [UDP]: Move udp_stats_in6 into net/ipv4/udp.c Now that external users may increment the counters directly, we need to ensure that udp_stats_in6 is always available. Otherwise we'd either have to requrie the external users to be built as modules or ipv6 to be built-in. This isn't too bad because udp_stats_in6 is just a pair of pointers plus an EXPORT, e.g., just 40 (16 + 24) bytes on x86-64. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8d614434ab77b440b69e66a9bd44e46e7194c34a Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:55:42 2007 +0900 [SUNRPC]: Use htonl() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit ae445d172ab4d342a0a9d64df499cca8d5ad61b3 Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:55:22 2007 +0900 [RXRPC]: Use cpu_to_be32() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit f831e90971dc942a9f2fcc918a5739eb6d4ef4c5 Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:54:23 2007 +0900 [MAC80211]: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 6d82de9e576ea84b549b927e6a7775d918a427b5 Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:53:26 2007 +0900 [IRDA]: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 5661df7b6cc399cabd1ed6b6a929a0445b862c10 Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:53:11 2007 +0900 [IPVS]: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 4e39430ae33dfd9b0f47e5a89028352382c3dd34 Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:52:26 2007 +0900 [IEEE80211]: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit b98999dc382a4e59a250f2ac9e32beca668cba0b Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:51:49 2007 +0900 [DECNET]: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 91c5ec3ed184b7ca08314457b6e202e3d2cfb65f Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:51:03 2007 +0900 [BRIDGE]: Use cpu_to_be16() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 6179983ad30c43313e153b35af52bd9ebd7745c3 Author: Gerrit Renker Date: Thu Dec 13 23:37:55 2007 -0200 [DCCP]: Introducing CCMPS This introduces a CCMPS field for setting a CCID-specific upper bound on the application payload size, as is defined in RFC 4340, section 14. Only the TX CCID is considered in setting this limit, since the RX CCID generates comparatively small (DCCP-Ack) feedback packets. The CCMPS field includes network and transport layer header lengths. The only current CCMPS customer is CCID4 (via RFC 4828). A wrapper is used to allow querying the CCMPS even at times where the CCID modules may not have been fully negotiated yet. In dccp_sync_mss() the variable `mss_now' has been renamed into `cur_mps', to reflect that we are dealing with an MPS, but not an MSS. Since the DCCP code closely follows the TCP code, the identifiers `dccp_sync_mss' and `dccps_mss_cache' have been kept, as they have direct TCP counterparts. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 84a97b0af8c29aa5a47cc5271968a9c6004fb91e Author: Gerrit Renker Date: Thu Dec 13 23:33:25 2007 -0200 [CCID]: More informative registration The patch makes the registration messages of CCID 2/3 a bit more informative: instead of repeating the CCID number as currently done, "CCID: Registered CCID 2 (ccid2)" or "CCID: Registered CCID 3 (ccid3)", the descriptive names of the CCID's (from RFCs) are now used: "CCID: Registered CCID 2 (TCP-like)" and "CCID: Registered CCID 3 (TCP-Friendly Rate Control)". To allow spaces in the name, the slab name string has been changed to refer to the numeric CCID identifier, using the same format as before. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 9cb2345a8c49ea380437d02bb9fd9f291c0a005d Author: Gerrit Renker Date: Thu Dec 13 23:31:14 2007 -0200 [DCCP]: Documentation for CCID operations This adds documentation for the ccid_operations structure. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f5026fabda54e5ab5d469d8cfac5f46b4d321ce9 Author: Denis V. Lunev Date: Thu Dec 13 09:47:57 2007 -0800 [IPV4]: Thresholds in fib_trie.c are used as consts, so make them const. There are several thresholds for trie fib hash management. They are used in the code as a constants. Make them constants from the compiler point of view. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 8a4a50f98bc13670bee94c40b94bc169e1263cd9 Author: Michal Schmidt Date: Thu Dec 13 09:47:00 2007 -0800 [IPV6] sit: Rebinding of SIT tunnels to other interfaces This is similar to the change already done for IPIP tunnels. Once created, a SIT tunnel can't be bound to another device. To reproduce: # create a tunnel: ip tunnel add tunneltest0 mode sit remote 10.0.0.1 dev eth0 # try to change the bounding device from eth0 to eth1: ip tunnel change tunneltest0 dev eth1 # show the result: ip tunnel show tunneltest0 tunneltest0: ipv6/ip remote 10.0.0.1 local any dev eth0 ttl inherit Notice the bound device has not changed from eth0 to eth1. This patch fixes it. When changing the binding, it also recalculates the MTU according to the new bound device's MTU. Signed-off-by: Michal Schmidt Signed-off-by: David S. Miller commit ee34c1eb35923cc98b1c47488a615bf51a2a2afb Author: Michal Schmidt Date: Thu Dec 13 09:46:32 2007 -0800 [IP_GRE]: Rebinding of GRE tunnels to other interfaces This is similar to the change already done for IPIP tunnels. Once created, a GRE tunnel can't be bound to another device. To reproduce: # create a tunnel: ip tunnel add tunneltest0 mode gre remote 10.0.0.1 dev eth0 # try to change the bounding device from eth0 to eth1: ip tunnel change tunneltest0 dev eth1 # show the result: ip tunnel show tunneltest0 tunneltest0: gre/ip remote 10.0.0.1 local any dev eth0 ttl inherit Notice the bound device has not changed from eth0 to eth1. This patch fixes it. When changing the binding, it also recalculates the MTU according to the new bound device's MTU. Signed-off-by: Michal Schmidt Signed-off-by: David S. Miller commit 528c4ceb427dad4a3893ba3d1913782efae0cd0e Author: Denis V. Lunev Date: Thu Dec 13 09:45:12 2007 -0800 [IPV6]: Always pass a valid nl_info to inet6_rt_notify. This makes the code in the inet6_rt_notify more straightforward and provides groud for namespace passing. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit aef21785995778f710a60b563e03bf53ba455a47 Author: Herbert Xu Date: Thu Dec 13 09:30:59 2007 -0800 [IPSEC]: Fix zero return value in xfrm_lookup on error Further testing shows that my ICMP relookup patch can cause xfrm_lookup to return zero on error which isn't very nice since it leads to the caller dying on null pointer dereference. The bug is due to not setting err to ENOENT just before we leave xfrm_lookup in case of no policy. This patch moves the err setting to where it should be. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit cf86314cb7460423b0b7e611edad80a52dc90d10 Author: Gerrit Renker Date: Thu Dec 13 12:48:19 2007 -0200 [DCCP]: Ignore feature negotiation on Data packets This implements [RFC 4340, p. 32]: "any feature negotiation options received on DCCP-Data packets MUST be ignored". Also added a FIXME for further processing, since the code currently (wrongly) classifies empty Confirm options as invalid - this needs to be resolved in a separate patch. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 5cdae198de33184c01226395b840f44f9834233a Author: Gerrit Renker Date: Thu Dec 13 12:41:46 2007 -0200 [DCCP]: Make code assumptions explicit This removes several `XXX' references which indicate a missing support for non-1-byte feature values: this is unnecessary, as all currently known (standardised) SP feature values are 1-byte quantities. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit dd6303df095d18b0c524a76a42f57bcc679b2039 Author: Gerrit Renker Date: Thu Dec 13 12:40:40 2007 -0200 [DCCP]: Remove unused and redundant validation functions This removes two inlines which were both called in a single function only: 1) dccp_feat_change() is always called with either DCCPO_CHANGE_L or DCCPO_CHANGE_R as argument * from dccp_set_socktopt_change() via do_dccp_setsockopt() with DCCP_SOCKOPT_CHANGE_R/L * from __dccp_feat_init() via dccp_feat_init() also with DCCP_SOCKOPT_CHANGE_R/L. Hence the dccp_feat_is_valid_type() is completely unnecessary and always returns true. 2) Due to (1), the length test reduces to 'len >= 4', which in turn makes dccp_feat_is_valid_length() unnecessary. Furthermore, the inline function dccp_feat_is_reserved() was unfolded, since only called in a single place. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit af3b867e2f6b72422bc7aacb1f1e26f47a9649bc Author: Gerrit Renker Date: Thu Dec 13 12:38:11 2007 -0200 [DCCP]: Support inserting options during the 3-way handshake This provides a separate routine to insert options during the initial handshake. The main purpose is to conduct feature negotiation, for the moment the only user is the timestamp echo needed for the (CCID3) handshake RTT sample. Padding of options has been put into a small separate routine, to be shared among the two functions. This could also be used as a generic routine to finish inserting options. Also removed an `XXX' comment since its content was obvious. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b4d4f7c70fd3361c6c889752e08ea9be304cf5f4 Author: Gerrit Renker Date: Thu Dec 13 12:37:19 2007 -0200 [DCCP]: Handle timestamps on Request/Response exchange separately In DCCP, timestamps can occur on packets anytime, CCID3 uses a timestamp(/echo) on the Request/Response exchange. This patch addresses the following situation: * timestamps are recorded on the listening socket; * Responses are sent from dccp_request_sockets; * suppose two connections reach the listening socket with very small time in between: * the first timestamp value gets overwritten by the second connection request. This is not really good, so this patch separates timestamps into * those which are received by the server during the initial handshake (on dccp_request_sock); * those which are received by the client or the client after connection establishment. As before, a timestamp of 0 is regarded as indicating that no (meaningful) timestamp has been received (in addition, a warning message is printed if hosts send 0-valued timestamps). The timestamp-echoing now works as follows: * when a timestamp is present on the initial Request, it is placed into dreq, due to the call to dccp_parse_options in dccp_v{4,6}_conn_request; * when a timestamp is present on the Ack leading from RESPOND => OPEN, it is copied over from the request_sock into the child cocket in dccp_create_openreq_child; * timestamps received on an (established) dccp_sock are treated as before. Since Elapsed Time is measured in hundredths of milliseconds (13.2), the new dccp_timestamp() function is used, as it is expected that the time between receiving the timestamp and sending the timestamp echo will be very small against the wrap-around time. As a byproduct, this allows smaller timestamping-time fields. Furthermore, inserting the Timestamp Echo option has been taken out of the block starting with '!dccp_packet_without_ack()', since Timestamp Echo can be carried on any packet (5.8 and 13.3). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8109616e2ef978d142ea45850efd4f102b9bdce4 Author: Gerrit Renker Date: Thu Dec 13 12:31:26 2007 -0200 [DCCP]: Add (missing) option parsing to request_sock processing This adds option-parsing code to processing of Acks in the listening state on request_socks on the server, serving two purposes (i) resolves a FIXME (removed); (ii) paves the way for feature-negotiation during connection-setup. There is an intended subtlety here with regard to dccp_check_req: Parsing options happens only after testing whether the received packet is a retransmitted Request. Otherwise, if the Request contained (a possibly large number of) feature-negotiation options, recomputing state would have to happen each time a retransmitted Request arrives, which opens the door to an easy DoS attack. Since in a genuine retransmission the options should not be different from the original, reusing the already computed state seems better. The other point is - if there are timestamp options on the Request, they will not be answered; which means that in the presence of retransmission (likely due to loss and/or other problems), the use of Request/Response RTT sampling is suspended, so that startup problems here do not propagate. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8b819412481494fb6861c08d360b75fabcbbfbbf Author: Gerrit Renker Date: Thu Dec 13 12:29:24 2007 -0200 [DCCP]: Allow to parse options on Request Sockets The option parsing code currently only parses on full sk's. This causes a problem for options sent during the initial handshake (in particular timestamps and feature-negotiation options). Therefore, this patch extends the option parsing code with an additional argument for request_socks: if it is non-NULL, options are parsed on the request socket, otherwise the normal path (parsing on the sk) is used. Subsequent patches, which implement feature negotiation during connection setup, make use of this facility. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7913350663e2756ecb91dd3a7c773806b943426e Author: Gerrit Renker Date: Thu Dec 13 12:27:14 2007 -0200 [DCCP]: Collapse repeated `len' statements into one This replaces 4 individual assignments for `len' with a single one, placed where the control flow of those 4 leads to. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b8599d20708fa3bde1e414689f3474560c2d990b Author: Gerrit Renker Date: Thu Dec 13 12:25:01 2007 -0200 [DCCP]: Support for server holding timewait state This adds a socket option and signalling support for the case where the server holds timewait state on closing the connection, as described in RFC 4340, 8.3. Since holding timewait state at the server is the non-usual case, it is enabled via a socket option. Documentation for this socket option has been added. The setsockopt statement has been made resilient against different possible cases of expressing boolean `true' values using a suggestion by Ian McDonald. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 28be5440044d5b19b0331f79fb3e81845ad6d77e Author: Gerrit Renker Date: Thu Dec 13 12:16:23 2007 -0200 [DCCP]: Use maximum-RTO backoff from DCCP spec This removes another Fixme, using the TCP maximum RTO rather than the value specified by the DCCP specification. Across the sections in RFC 4340, 64 seconds is consistently suggested as maximum RTO backoff value; and this is the value which is now used. I have checked both termination cases for retransmissions of Close/CloseReq: with the default value 15 of `retries2', and an initial icsk_retransmit = 0, it takes about 614 seconds to declare a non-responding peer as dead, after which the final terminating Reset is sent. With the TCP maximum RTO value of 120 seconds it takes (as might be expected) almost twice as long, about 23 minutes. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 92d31920b84f258badf206eea8aaf5ac677ac535 Author: Gerrit Renker Date: Thu Dec 13 12:02:43 2007 -0200 [DCCP]: Shift the retransmit timer for active-close into output.c When performing active close, RFC 4340, 8.3. requires to retransmit the Close/CloseReq with a backoff-retransmit timer starting at intially 2 RTTs. This patch shifts the existing code for active-close retransmit timer into output.c, so that the retransmit timer is started when the first Close/CloseReq is sent. Previously, the timer was started when, after releasing the socket in dccp_close(), the actively-closing side had not yet reached the CLOSED/TIMEWAIT state. The patch further reduces the initial timeout from 3 seconds to the required 2 RTTs, where - in absence of a known RTT - the fallback value specified in RFC 4340, 3.4 is used. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 09f7709f4929666006931f1d4efc498a6d419bbc Author: Daniel Lezcano Date: Thu Dec 13 05:34:58 2007 -0800 [IPV6]: fix section mismatch warnings Removed useless and buggy __exit section in the different ipv6 subsystems. Otherwise they will be called inside an init section during rollbacking in case of an error in the protocol initialization. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 69567d0b63b7f4ffeb53fe746c87bd6efe1c284b Author: Gerrit Renker Date: Thu Dec 13 11:28:43 2007 -0200 [DCCP]: Perform SHUT_RD and SHUT_WR on receiving close This patch performs two changes: 1) Close the write-end in addition to the read-end when a fin-like segment (Close or CloseReq) is received by DCCP. This accounts for the fact that DCCP, in contrast to TCP, does not have a half-close. RFC 4340 says in this respect that when a fin-like segment has been sent there is no guarantee at all that any further data will be processed. Thus this patch performs SHUT_WR in addition to the SHUT_RD when a fin-like segment is encountered. 2) Minor change: I noted that code appears twice in different places and think it makes sense to put this into a self-contained function (dccp_enqueue()). Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 96eba69dbac767f4e287df39e6fa489d37f1aa7b Author: Herbert Xu Date: Thu Dec 13 05:24:40 2007 -0800 [DECNET]: Fix inverted wait flag in xfrm_lookup call My previous patch made the wait flag take the opposite value to what it should be. This patch fixes that. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a66207121f85c54a3df4d347a3c5bdf6cb154b09 Author: Herbert Xu Date: Wed Dec 12 19:21:56 2007 -0800 [NET]: Check RTNL status in unregister_netdevice The caller must hold the RTNL so let's check it in unregister_netdevice. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit aebcf82c1fe9231be5cb4f9c1362d5db39e7d7b2 Author: Herbert Xu Date: Wed Dec 12 18:54:16 2007 -0800 [IPSEC]: Do not let packets pass when ICMP flag is off This fixes a logical error in ICMP policy checks which lets packets through if the state ICMP flag is off. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bb72845e699d3c84e5f861b51db686107a51dea5 Author: Herbert Xu Date: Wed Dec 12 18:48:58 2007 -0800 [IPSEC]: Make callers of xfrm_lookup to use XFRM_LOOKUP_WAIT This patch converts all callers of xfrm_lookup that used an explicit value of 1 to indiciate blocking to use the new flag XFRM_LOOKUP_WAIT. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7233b9f33e72ca477034ff5cf901c89efba3a5bc Author: Herbert Xu Date: Wed Dec 12 18:47:48 2007 -0800 [IPSEC]: Fix reversed ICMP6 policy check The policy check I added for ICMP on IPv6 is reversed. This patch fixes that. It also adds an skb->sp check so that unprotected packets that fail the policy check do not crash the machine. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 2ba582b782071c038b312ea330d3090a39f3c66a Author: Michael Chan Date: Fri Dec 21 15:04:49 2007 -0800 [BNX2]: Fix compiler warning. Change bnx2_init_napi() to void. Warning was noted by DaveM. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit f13561cb2f97794df43f83d1ee808e46eb5d2405 Author: Michael Chan Date: Thu Dec 20 20:02:14 2007 -0800 [BNX2]: Update version to 1.7.1. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 57851d84533655db6948e25c54df19ecb673bf2f Author: Michael Chan Date: Thu Dec 20 20:01:44 2007 -0800 [BNX2]: Enable new tx ring. Enable new tx ring and add new MSIX handler and NAPI poll function for the new tx ring. Enable MSIX when the hardware supports it. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c76c04758b8fd24a1c38b19742e3437e954e945b Author: Michael Chan Date: Thu Dec 20 20:01:19 2007 -0800 [BNX2]: Add support for a new tx ring. To separate TX IRQs into a different MSIX vector, we need to support a new tx ring. The original tx ring will still be used when not using MSIX. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b4b360420dcbbffb15f5749fc78225f4113cc7e2 Author: Michael Chan Date: Thu Dec 20 19:59:30 2007 -0800 [BNX2]: Support multiple MSIX IRQs. Change bnx2_napi struct into an array and add code to manage multiple IRQs. MSIX hardware structures and new registers are also added. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a1f6019090f2c075b41624c32a825775f6865577 Author: Michael Chan Date: Thu Dec 20 19:57:19 2007 -0800 [BNX2]: Move rx indexes into bnx2_napi struct. Rx related fields used in NAPI polling are moved from the main bnx2 struct to the bnx2_napi struct. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a550c99bc39caf292ed214c0c9c2c4d0b9c95161 Author: Michael Chan Date: Thu Dec 20 19:56:59 2007 -0800 [BNX2]: Move tx indexes into bnx2_napi struct. Tx related fields used in NAPI polling are moved from the main bnx2 struct to the bnx2_napi struct. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 35efa7c1f4aa868d4a948a9069f20ccef1b3b28d Author: Michael Chan Date: Thu Dec 20 19:56:37 2007 -0800 [BNX2]: Introduce new bnx2_napi structure. Introduce a bnx2_napi structure that will hold a napi_struct and other fields to handle NAPI polling for the napi_struct. Various tx and rx indexes and status block pointers will be moved from the main bnx2 structure to this bnx2_napi structure. Most NAPI path functions are modified to be passed this bnx2_napi struct pointer. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6d866ffc69b0c3e584782f212a3f783708d31e9a Author: Michael Chan Date: Thu Dec 20 19:56:09 2007 -0800 [BNX2]: Restructure IRQ datastructures. Add a table to keep track of multiple IRQs and restructure the IRQ request and free functions so that they can be easily expanded to handle multiple IRQs. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ead7270b993bed77cb45a5bc786a879679e2b16a Author: Michael Chan Date: Thu Dec 20 19:55:39 2007 -0800 [BNX2]: Add function to fetch hardware tx index. This makes the code cleaner and easier to support different tx rings. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a0d142c628279c472a3e1ae823e4d30b242f4305 Author: Michael Chan Date: Wed Dec 12 11:20:22 2007 -0800 [BNX2]: Update version to 1.6.9. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 84eaa1877137def7fe01340f2abbad510aa890f5 Author: Michael Chan Date: Wed Dec 12 11:19:57 2007 -0800 [BNX2]: Enable S/G for jumbo RX. If the MTU requires more than 1 page for the SKB, enable the page ring and calculate the size of the page ring. This will guarantee order-0 allocation regardless of the MTU size. Fixup loopback test packet size so that we don't deal with the pages during loopback test. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 1db82f2aec0766edd4a4f8d86283e91559350de7 Author: Michael Chan Date: Wed Dec 12 11:19:35 2007 -0800 [BNX2]: Add fast path code to handle RX pages. Add function to reuse a page in case of allocation or other errors. Add code to construct the completed SKB with the additional data in the pages. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 47bf4246a357d36762c9e7c282d7307152eb92e1 Author: Michael Chan Date: Wed Dec 12 11:19:12 2007 -0800 [BNX2]: Add init. code to handle RX pages. Add new fields to keep track of the pages and the page rings. Add functions to allocate and free pages. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 110d0ef9907b519fed1607c73b3ae883f270561e Author: Michael Chan Date: Wed Dec 12 11:18:34 2007 -0800 [BNX2]: Update firmware to support S/G RX buffers. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5d5d001504b4a415a008f7ac1adb9fbec1637811 Author: Michael Chan Date: Wed Dec 12 11:17:43 2007 -0800 [BNX2]: Restructure RX ring init. code. Factor out the common functions that will be used to initialize the normal RX rings and the page rings. Change the copybreak constant RX_COPY_THRESH to 128. This same constant will be used for the max. size of the linear SKB when pages are used. Copybreak will be turned off when pages are used. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 85833c6269016d009ada17b04ac288e2ab9c37ea Author: Michael Chan Date: Wed Dec 12 11:17:01 2007 -0800 [BNX2]: Restructure RX fast path handling. Add a new function to handle new SKB allocation and to prepare the completed SKB. This makes it easier to add support for non-linear SKB. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit e343d55c0a624c5bb88cd6821a17586474f20271 Author: Michael Chan Date: Wed Dec 12 11:16:19 2007 -0800 [BNX2]: Add ring constants. Define the various ring constants to make the code cleaner. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit f5f97b57b5208a7ca270ac86887a2838ab7862f5 Author: Andrew Morton Date: Wed Dec 12 15:07:11 2007 -0800 [NET]: fix drivers/net/ns83820.c build Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 5533995b62d02dbbf930f2e59221c2d5ea05aab7 Author: Michal Schmidt Date: Wed Dec 12 11:01:43 2007 -0800 [IPIP]: Allow rebinding the tunnel to another interface Once created, an IP tunnel can't be bound to another device. (reported as https://bugzilla.redhat.com/show_bug.cgi?id=419671) To reproduce: # create a tunnel: ip tunnel add tunneltest0 mode ipip remote 10.0.0.1 dev eth0 # try to change the bounding device from eth0 to eth1: ip tunnel change tunneltest0 dev eth1 # show the result: ip tunnel show tunneltest0 tunneltest0: ip/ip remote 10.0.0.1 local any dev eth0 ttl inherit Notice the bound device has not changed from eth0 to eth1. This patch fixes it. When changing the binding, it also recalculates the MTU according to the new bound device's MTU. If the change is acceptable, I'll do the same for GRE and SIT tunnels. Signed-off-by: Michal Schmidt Signed-off-by: David S. Miller commit 6a7657f56271bded0ddca1cb1e8772506a10c0a3 Author: Pavel Emelyanov Date: Wed Dec 12 11:00:04 2007 -0800 [NET]: Remove unused define from loopback driver. The LOOPBACK_OVERHEAD is not used in this file at all. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 81103a52f26d8630aa0c1dcddccaebb04d7922a8 Author: Denis V. Lunev Date: Wed Dec 12 10:47:38 2007 -0800 [NETNS]: network namespace was passed into dev_getbyhwaddr but not used Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 41380930d2cbdc0abf7513a675864258b7ac973d Author: Harvey Harrison Date: Wed Dec 12 10:46:51 2007 -0800 [NET]: Remove FASTCALL macro X86_32 was the last user of the FASTCALL macro, now that it uses regparm(3) by default, this macro expands to nothing. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 8b7817f3a959ed99d7443afc12f78a7e1fcc2063 Author: Herbert Xu Date: Wed Dec 12 10:44:43 2007 -0800 [IPSEC]: Add ICMP host relookup support RFC 4301 requires us to relookup ICMP traffic that does not match any policies using the reverse of its payload. This patch implements this for ICMP traffic that originates from or terminates on localhost. This is activated on outbound with the new policy flag XFRM_POLICY_ICMP, and on inbound by the new state flag XFRM_STATE_ICMP. On inbound the policy check is now performed by the ICMP protocol so that it can repeat the policy check where necessary. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d5422efe680fc55010c6ddca2370ca9548a96355 Author: Herbert Xu Date: Wed Dec 12 10:44:16 2007 -0800 [IPSEC]: Added xfrm_decode_session_reverse and xfrmX_policy_check_reverse RFC 4301 requires us to relookup ICMP traffic that does not match any policies using the reverse of its payload. This patch adds the functions xfrm_decode_session_reverse and xfrmX_policy_check_reverse so we can get the reverse flow to perform such a lookup. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 815f4e57e9fc67456624ecde0515a901368c78d2 Author: Herbert Xu Date: Wed Dec 12 10:36:59 2007 -0800 [IPSEC]: Make xfrm_lookup flags argument a bit-field This patch introduces an enum for bits in the flags argument of xfrm_lookup. This is so that we can cram more information into it later. Since all current users use just the values 0 and 1, XFRM_LOOKUP_WAIT has been added with the value 1 << 0 to represent the current meaning of flags. The test in __xfrm_lookup has been changed accordingly. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 3f71c81ac37b27b824e9ce18fe17438dc2af4a16 Author: Gerrit Renker Date: Wed Dec 12 14:23:08 2007 -0200 [TFRC]: Remove previous loss intervals implementation Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 954c2db868ce896325dced91d5fba5e2226897a4 Author: Gerrit Renker Date: Wed Dec 12 14:06:14 2007 -0200 [CCID3]: Interface CCID3 code with newer Loss Intervals Database This hooks up the TFRC Loss Interval database with CCID 3 packet reception. In addition, it makes the CCID-specific computation of the first loss interval (which requires access to all the guts of CCID3) local to ccid3.c. The patch also fixes an omission in the DCCP code, that of a default / fallback RTT value (defined in section 3.4 of RFC 4340 as 0.2 sec); while at it, the upper bound of 4 seconds for an RTT sample has been reduced to match the initial TCP RTO value of 3 seconds from[RFC 1122, 4.2.3.1]. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit de0d411cb8ea51175f52d935faead5c542b6e007 Author: Gerrit Renker Date: Wed Dec 12 14:03:01 2007 -0200 [TFRC]: CCID3 (and CCID4) needs to access these inlines This moves two inlines back to packet_history.h: these are not private to packet_history.c, but are needed by CCID3/4 to detect whether a new loss is indicated, or whether a loss is already pending. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit db64196038e79b0460245d558e54ff4a21a52d1f Author: Gerrit Renker Date: Wed Dec 12 13:57:14 2007 -0200 [CCID3]: Redundant debugging output / documentation Each time feedback is sent two lines are printed: ccid3_hc_rx_send_feedback: client ... - entry ccid3_hc_rx_send_feedback: Interval ...usec, X_recv=..., 1/p=... The first line is redundant and thus removed. Further, documentation of ccid3_hc_rx_sock (capitalisation) is made consistent. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8a9c7e92e0ca97632126feee32ba2698b4eb6c8f Author: Gerrit Renker Date: Wed Dec 12 13:50:51 2007 -0200 [TFRC]: Ringbuffer to track loss interval history A ringbuffer-based implementation of loss interval history is easier to maintain, allocate, and update. The `swap' routine to keep the RX history sorted is due to and was written by Arnaldo Carvalho de Melo, simplifying an earlier macro-based variant. Details: * access to the Loss Interval Records via macro wrappers (with safety checks); * simplified, on-demand allocation of entries (no extra memory consumption on lossless links); cache allocation is local to the module / exported as service; * provision of RFC-compliant algorithm to re-compute average loss interval; * provision of comprehensive, new loss detection algorithm - support for all cases of loss, including re-ordered/duplicate packets; - waiting for NDUPACK=3 packets to fill the hole; - updating loss records when a late-arriving packet fills a hole. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8995a238ef6869bc5c80240440bc58452c7af283 Author: Gerrit Renker Date: Wed Dec 12 12:28:40 2007 -0200 [TFRC]: Loss interval code needs the macros/inlines that were moved This moves the inlines (which were previously declared as macros) back into packet_history.h since the loss detection code needs to be able to read entries from the RX history in order to create the relevant loss entries: it needs at least tfrc_rx_hist_loss_prev() and tfrc_rx_hist_last_rcv(), which in turn require the definition of the other inlines (macros). Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit df8f83fdd6369e1ba85f089fd6fe26bb2ddcb36f Author: Gerrit Renker Date: Wed Dec 12 12:24:49 2007 -0200 [TFRC]: Put RX/TX initialisation into tfrc.c This separates RX/TX initialisation and puts all packet history / loss intervals initialisation into tfrc.c. The organisation is uniform: slab declaration -> {rx,tx}_init() -> {rx,tx}_exit() Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 2aaef4e47fef8a6c0bc7fc5d9d3eea4af290e04c Author: Denis V. Lunev Date: Tue Dec 11 04:19:54 2007 -0800 [NETNS]: separate af_packet netns data Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a0a53c8ba95451feef6c1975016f0a1eb3044ad4 Author: Denis V. Lunev Date: Tue Dec 11 04:19:17 2007 -0800 [NETNS]: struct net content re-work (v3) Recently David Miller and Herbert Xu pointed out that struct net becomes overbloated and un-maintainable. There are two solutions: - provide a pointer to a network subsystem definition from struct net. This costs an additional dereferrence - place sub-system definition into the structure itself. This will speedup run-time access at the cost of recompilation time The second approach looks better for us. Other sub-systems will follow. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 27147c9e6e8316af91dea487aa2c14b18dcff4cf Author: Denis V. Lunev Date: Tue Dec 11 04:18:41 2007 -0800 [AF_UNIX]: Remove unused declaration of sysctl_unix_max_dgram_qlen. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7f4e4868f3ce0e946f116c28fa4fe033be5e4ba9 Author: Daniel Lezcano Date: Tue Dec 11 02:25:35 2007 -0800 [IPV6]: make the protocol initialization to return an error code This patchset makes the different protocols to return an error code, so the af_inet6 module can check the initialization was correct or not. The raw6 was taken into account to be consistent with the rest of the protocols, but the registration is at the same place. Because the raw6 has its own init function, the proto and the ops structure can be moved inside the raw6.c file. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 87c3efbfdd1f98af14a1f60ff19f73d9a8d8da98 Author: Daniel Lezcano Date: Tue Dec 11 02:25:01 2007 -0800 [IPV6]: make inet6_register_protosw to return an error code This patch makes the inet6_register_protosw to return an error code. The different protocols can be aware the registration was successful or not and can pass the error to the initial caller, af_inet6. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 853cbbaaa4ccdf221be5ab6afe967aa9998546b7 Author: Daniel Lezcano Date: Tue Dec 11 02:24:29 2007 -0800 [IPV6]: make frag to return an error at initialization This patch makes the frag_init to return an error code, so the af_inet6 module can handle the error. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 248b238dc960a42aa235057ba0a51a98ae2b0f0d Author: Daniel Lezcano Date: Tue Dec 11 02:23:54 2007 -0800 [IPV6]: make extended headers to return an error at initialization This patch factorize the code for the differents init functions for rthdr, nodata, destopt in a single function exthdrs_init. This function returns an error so the af_inet6 module can check correctly the initialization. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 0a3e78ac2c555441f5bc00588070058533bc8d6b Author: Daniel Lezcano Date: Tue Dec 11 02:23:18 2007 -0800 [IPV6]: make flowlabel to return an error This patch makes the flowlab subsystem to return an error code and makes some cleanup with procfs ifdefs. The af_inet6 will use the flowlabel init return code to check the initialization was correct. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 51602b2a5e849babd94311e555bf1ba58151b8d4 Author: Pavel Emelyanov Date: Tue Dec 11 02:17:40 2007 -0800 [IPV4]: Cleanup sysctl manipulations in devinet.c This includes: * moving neigh_sysctl_(un)register calls inside devinet_sysctl_(un)register ones, as they are always called in pairs; * making __devinet_sysctl_unregister() to unregister the ipv4_devconf struct, while original devinet_sysctl_unregister() works with the in_device to handle both - devconf and neigh sysctls; * make stubs for CONFIG_SYSCTL=n case to get rid of in-code ifdefs. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 01ecfe9ba63aa0f23bbdb15371916ba4d5382330 Author: Pavel Emelyanov Date: Tue Dec 11 02:16:47 2007 -0800 [IPV4]: Cleanup IN_DEV_MFORWARD macro This is essentially IN_DEV_ANDCONF with proper arguments. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 95c9382a345262637d3e5c7da5f09f0f46daa930 Author: Pavel Emelyanov Date: Tue Dec 11 02:12:36 2007 -0800 [INET]: Use BUILD_BUG_ON in inet_timewait_sock.c checks Make the INET_TWDR_TWKILL_SLOTS vs sizeof(twdr->thread_slots) check nicer. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 1f9e636ea21bd648a5cbd2f744a1d39a5e183b20 Author: Pavel Emelyanov Date: Tue Dec 11 02:12:04 2007 -0800 [TCP]: Use BUILD_BUG_ON for tcp_skb_cb size checking The sizeof(struct tcp_skb_cb) should not be less than the sizeof(skb->cb). This is checked in net/ipv4/tcp.c, but this check can be made more gracefully. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit ea72912c888661d1a847f1b1450643d4114097cf Author: Eric Dumazet Date: Tue Dec 11 02:09:47 2007 -0800 [NETLINK]: kzalloc() conversion nl_pid_hash_alloc() is renamed to nl_pid_hash_zalloc(). It is now returning zeroed memory to its callers. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 64b7d96167977850f4a24e52dd0a76b03c6542cf Author: Eric Dumazet Date: Tue Dec 11 02:00:30 2007 -0800 [NET]: dst_ifdown() cleanup This cleanup shrinks size of net/core/dst.o on i386 from 1299 to 1289 bytes. (This is because dev_hold()/dev_put() are doing atomic_inc()/atomic_dec() and force compiler to re-evaluate memory contents.) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 005011211f559113686938c2c252b8ee1ab855b5 Author: Herbert Xu Date: Tue Dec 11 01:53:43 2007 -0800 [IPSEC]: Add xfrm_input_state helper This patch adds the xfrm_input_state helper function which returns the current xfrm state being processed on the input path given an sk_buff. This is currently only used by xfrm_input but will be used by ESP upon asynchronous resumption. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 385ac2e3f226c09cb71733df1899658e33a7850f Author: Gerrit Renker Date: Sat Dec 8 16:26:59 2007 -0200 [CCID3]: HC-receiver should not insert timestamps as HC-sender doesn't uses it Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 797eba424d4332f6aff5b741600b61e3d4b3d3f2 Author: Gerrit Renker Date: Sat Dec 8 16:08:41 2007 -0200 [TFRC]: The function tfrc_rx_hist_entry_delete() is not used anymore Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 78282d2af598a1840934e2049a5c196885647f6a Author: Gerrit Renker Date: Sat Dec 8 15:08:08 2007 -0200 [TFRC]: Move comment. Moved up the comment "Receiver routines" above the first occurrence of RX history routines. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit c69bce20dda7f79160856a338298d65a284ba303 Author: YOSHIFUJI Hideaki Date: Wed Jan 23 22:31:45 2008 -0800 [NET]: Remove unused "mibalign" argument for snmp_mib_init(). With fixes from Arnaldo Carvalho de Melo. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 971b893e79db0f7dccfcea15dbdebca3ca64a84d Author: Denis V. Lunev Date: Sat Dec 8 00:32:23 2007 -0800 [IPV4]: last default route is a fib table property Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit a2bbe6822f8928e254452765c07cb863633113b8 Author: Denis V. Lunev Date: Sat Dec 8 00:31:44 2007 -0800 [IPV4]: Unify assignment of fi to fib_result Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit c17860a039bbde134324ad6f9331500635f5799d Author: Denis V. Lunev Date: Sat Dec 8 00:22:13 2007 -0800 [IPV4]: no need pass pointer to a default into fib_detect_death ipv4: no need pass pointer to a default into fib_detect_death Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit 7e5449c21562f1554d2c355db1ec9d3e4f434288 Author: Daniel Lezcano Date: Sat Dec 8 00:14:54 2007 -0800 [IPV6]: route6 remove ifdef for fib_rules The patch defines the usual static inline functions when the code is disabled for fib6_rules. That's allow to remove some ifdef in route.c file and make the code a little more clear. Signed-off-by: Daniel Lezcano Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c35b7e72cd48bc7163b6900fb3689fa54b572bba Author: Daniel Lezcano Date: Sat Dec 8 00:14:11 2007 -0800 [IPV6]: remove ifdef in route6 for xfrm6 The following patch create the usual static inline functions to disable the xfrm6_init and xfrm6_fini function when XFRM is off. That's allow to remove some ifdef and make the code a little more clear. Signed-off-by: Daniel Lezcano Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 75314fb38364c81a573cd222f74d792409a7afba Author: Daniel Lezcano Date: Sat Dec 8 00:13:32 2007 -0800 [IPV6]: create route6 proc init-fini functions Make the proc creation/destruction to be a separate function. That allows to remove the #ifdef CONFIG_PROC_FS in the init/fini function and make them more readable. Signed-off-by: Daniel Lezcano Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit b8e1f9b5c37e77cc8f978a58859b35fe5edd5542 Author: Pavel Emelyanov Date: Sat Dec 8 00:12:33 2007 -0800 [NET] sysctl: make sysctl_somaxconn per-namespace Just move the variable on the struct net and adjust its usage. Others sysctls from sys.net.core table are more difficult to virtualize (i.e. make them per-namespace), but I'll look at them as well a bit later. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 790a35328991b01181ff5624bdb084053b6fac54 Author: Pavel Emelyanov Date: Sat Dec 8 00:11:51 2007 -0800 [NET] sysctl: prepare core tables to point to netns variables Some of ctl variables are going to be on the struct net. Here's the way to adjust the ->data pointer on the ctl_table-s to point on the right variable. Since some pointers still point on the global variables, I keep turning the write bits off on such tables. This looks to become a common procedure for net sysctls, so later parts of this code may migrate to some more generic place. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 024626e36d75fc8c6e32d50d4c68bfc3b8df5fdf Author: Pavel Emelyanov Date: Sat Dec 8 00:09:24 2007 -0800 [NET] sysctl: make the sys.net.core sysctls per-namespace Making them per-namespace is required for the following two reasons: First, some ctl values have a per-namespace meaning. Second, making them writable from the sub-namespace is an isolation hole. So I introduce the pernet operations to create these tables. For init_net I use the existing statically declared tables, for sub-namespace they are duplicated and the write bits are removed from the mode. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit cbbb90e68cd073b8d63b491166066e347902b7e9 Author: Pavel Emelyanov Date: Fri Dec 7 23:56:57 2007 -0800 [SNMP]: Remove unused devconf macros. The SNMP_INC_STATS_OFFSET_BH is used only by ICMP6_INC_STATS_OFFSET_BH. The ICMP6_INC_STATS_OFFSET_BH is unused. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b5e78337b50c0f3adda7faadb92f62bbdd5ffb56 Author: Denis Cheng Date: Fri Dec 7 00:51:45 2007 -0800 [IUCV]: use LIST_HEAD instead of LIST_HEAD_INIT these three list_head are all local variables, but can also use LIST_HEAD. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit df01812eba19834e48abd43246abedfbc4feeb7e Author: Denis Cheng Date: Fri Dec 7 00:51:11 2007 -0800 [XFRM] net/xfrm/xfrm_state.c: use LIST_HEAD instead of LIST_HEAD_INIT single list_head variable initialized with LIST_HEAD_INIT could almost always can be replaced with LIST_HEAD declaration, this shrinks the code and looks better. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 0e3cf7e9164048b79e7375bd66c9ef350e5b5bd7 Author: Denis Cheng Date: Fri Dec 7 00:50:43 2007 -0800 [X25]: use LIST_HEAD instead of LIST_HEAD_INIT single list_head variable initialized with LIST_HEAD_INIT could almost always can be replaced with LIST_HEAD declaration, this shrinks the code and looks better. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 14d0e7b74e05a1983f5b607e90bc9bafa5ce9eb3 Author: Denis Cheng Date: Fri Dec 7 00:50:15 2007 -0800 [LAPB] net/lapb/lapb_iface.c: use LIST_HEAD instead of LIST_HEAD_INIT single list_head variable initialized with LIST_HEAD_INIT could almost always can be replaced with LIST_HEAD declaration, this shrinks the code and looks better. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 1596c97aa896fdcee49d3bf90c91ed91e0d81492 Author: Denis Cheng Date: Fri Dec 7 00:49:47 2007 -0800 [IPV4] net/ipv4/cipso_ipv4.c: use LIST_HEAD instead of LIST_HEAD_INIT single list_head variable initialized with LIST_HEAD_INIT could almost always can be replaced with LIST_HEAD declaration, this shrinks the code and looks better. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 3b5b34fd2b0fdea4d2efbd55daefb1ad3d7d9039 Author: Denis Cheng Date: Fri Dec 7 00:49:17 2007 -0800 [NET] net/core/dev.c: use LIST_HEAD instead of LIST_HEAD_INIT single list_head variable initialized with LIST_HEAD_INIT could almost always can be replaced with LIST_HEAD declaration, this shrinks the code and looks better. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 877a9bff3889512d7326d6bf0ba6ed3ddda6d772 Author: Eric W. Biederman Date: Fri Dec 7 00:47:47 2007 -0800 [IPV4]: Move trie_local and trie_main into the proc iterator. We only use these variables when displaying the trie in proc so place them into the iterator to make this explicit. We should probably do something smarter to handle the CONFIG_IP_MULTIPLE_TABLES case but at least this makes it clear that the silliness is limited to the display in /proc. Signed-off-by: Eric W. Biederman Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit bb803175865dd030420eebbc87298414c7725019 Author: Eric W. Biederman Date: Fri Dec 7 00:46:11 2007 -0800 [IPV4]: Remove ip_fib_local_table and ip_fib_main_table defines. There are only 2 users and it doesn't hurt to call fib_get_table instead, and it makes it easier to make the fib network namespace aware. Signed-off-by: Eric W. Biederman Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f845ab6b7dd872d027c27146c264e46bc16c656a Author: Daniel Lezcano Date: Fri Dec 7 00:45:16 2007 -0800 [IPV6] route6/fib6: Don't panic a kmem_cache_create. If the kmem_cache_creation fails, the kernel will panic. It is acceptable if the system is booting, but if the ipv6 protocol is compiled as a module and it is loaded after the system has booted, do we want to panic instead of just failing to initialize the protocol ? The init function is now returning an error and this one is checked for protocol initialization. So the ipv6 protocol will safely fails. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit e2fddf5e96df4ac26f2e9ce63053d51cdf3cfe1e Author: Daniel Lezcano Date: Fri Dec 7 00:44:29 2007 -0800 [IPV6]: Make af_inet6 to check ip6_route_init return value. The af_inet6 initialization function does not check the return code of the route initilization, so if something goes wrong, the protocol initialization will continue anyway. This patch takes into account the modification made in the different route's initialization subroutines to check the return value and to make the protocol initialization to fail. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 433d49c3bb14b8a2351fe97df8359e4ad0de4c7c Author: Daniel Lezcano Date: Fri Dec 7 00:43:48 2007 -0800 [IPV6]: Make ip6_route_init to return an error code. The route initialization function does not return any value to notify if the initialization is successful or not. This patch checks all calls made for the initilization in order to return a value for the caller. Unfortunately, proc_net_fops_create will return a NULL pointer if CONFIG_PROC_FS is off, so we can not check the return code without an ifdef CONFIG_PROC_FS block in the ip6_route_init function. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 9eb87f3f7e0686a256c5bb4f886dede0171245f2 Author: Daniel Lezcano Date: Fri Dec 7 00:42:52 2007 -0800 [IPV6]: Make fib6_rules_init to return an error code. When the fib_rules initialization finished, no return code is provided so there is no way to know, for the caller, if the initialization has been successful or has failed. This patch fix that. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 0013cabab30ec55830ce63d34c0bdd887eb87644 Author: Daniel Lezcano Date: Fri Dec 7 00:42:11 2007 -0800 [IPV6]: Make xfrm6_init to return an error code. The xfrm initialization function does not return any error code, so if there is an error, the caller can not be advise of that. This patch checks the return code of the different called functions in order to return a successful or failed initialization. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit d63bddbe90c4fd924b2155ca92a879393d856170 Author: Daniel Lezcano Date: Fri Dec 7 00:40:34 2007 -0800 [IPV6]: Make fib6_init to return an error code. If there is an error in the initialization function, nothing is followed up to the caller. So I add a return value to be set for the init function. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 5a3e55d68ec5baac578bf32ba67607088c763657 Author: Denis V. Lunev Date: Fri Dec 7 00:38:10 2007 -0800 [NET]: Multiple namespaces in the all dst_ifdown routines. Move dst entries to a namespace loopback to catch refcounting leaks. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit b84a2189c4e1835c51fd6b974a0497be9bc4ba87 Author: Arnaldo Carvalho de Melo Date: Thu Dec 6 13:18:11 2007 -0200 [TFRC]: New rx history code Credit here goes to Gerrit Renker, that provided the initial implementation for this new codebase. I modified it just to try to make it closer to the existing API, renaming some functions, add namespacing and fix one bug where the tfrc_rx_hist_alloc was not freeing the allocated ring entries on the error path. Original changeset comment from Gerrit: ----------- This provides a new, self-contained and generic RX history service for TFRC based protocols. Details: * new data structure, initialisation and cleanup routines; * allocation of dccp_rx_hist entries local to packet_history.c, as a service exported by the dccp_tfrc_lib module. * interface to automatically track highest-received seqno; * receiver-based RTT estimation (needed for instance by RFC 3448, 6.3.1); * a generic function to test for `data packets' as per RFC 4340, sec. 7.7. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 30a0eacd479f1c7c15fe0496585ff29f76de3378 Author: Gerrit Renker Date: Thu Dec 6 12:29:07 2007 -0200 [CCID3]: The receiver of a half-connection does not set window counter values Only the sender sets window counters [RFC 4342, sections 5 and 8.1]. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d58d1af03a6a3ddf296ae3aeb4ff234af4b15958 Author: Arnaldo Carvalho de Melo Date: Thu Dec 6 12:28:39 2007 -0200 [TFRC]: Rename dccp_rx_ to tfrc_rx_ This is in preparation for merging the new rx history code written by Gerrit Renker. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 34a9e7ea91bb4acb45ae5331e7403304029329b2 Author: Arnaldo Carvalho de Melo Date: Thu Dec 6 12:28:13 2007 -0200 [TFRC]: Make the rx history slab be global This is in preparation for merging the new rx history code written by Gerrit Renker. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e9c8b24a6ade50315f3c080799da45ddadf42269 Author: Arnaldo Carvalho de Melo Date: Thu Dec 6 12:27:49 2007 -0200 [TFRC]: Rename tfrc_tx_hist to tfrc_tx_hist_slab, for consistency Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 2180c41ca5c1a36c67f4140e80154699333109d2 Author: Gerrit Renker Date: Thu Dec 6 12:27:15 2007 -0200 [DCCP]: Introduce generic function to test for `data packets' as per RFC 4340, sec. 7.7. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit c40616c597bf02a2346cbf2f120283734b436245 Author: Gerrit Renker Date: Thu Dec 6 12:26:38 2007 -0200 [TFRC]: Provide central source file and debug facility This patch changes the tfrc_lib module in the following manner: (1) a dedicated tfrc source file to call the packet history & loss interval init/exit functions. (2) a dedicated tfrc_pr_debug macro with toggle switch `tfrc_debug'. Commiter note: renamed tfrc_module.c to tfrc.c, and made CONFIG_IP_DCCP_CCID3 select IP_DCCP_TFRC_LIB. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f8b33fdfafea0f909712a55fbb3d83b89f70f3f5 Author: Pavel Emelyanov Date: Wed Dec 5 21:20:50 2007 -0800 [ARP]: Consolidate some code in arp_req_set/delete_publc The PROXY_ARP is set on devconfigs in a similar way in both calls. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 46479b432989d61c6f676adf21b4f4d8abd7bc26 Author: Pavel Emelyanov Date: Wed Dec 5 21:20:18 2007 -0800 [ARP]: Minus one level of ndentation in arp_req_delete The same cleanup for deletion requests. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 43dc1701172b7f73c495dea6c165c73ab8934f76 Author: Pavel Emelyanov Date: Wed Dec 5 21:19:44 2007 -0800 [ARP]: Minus one level of indentation in arp_req_set The ATF_PUBL requests are handled completely separate from the others. Emphasize it with a separate function. This also reduces the indentation level. The same issue exists with the arp_delete_request, but when I tried to make it in one patch diff produced completely unreadable patch. So I split it into two, but they may be done with one commit. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 1ff1cc202e9a7dbd9f54d1bce5adb44283497185 Author: Pavel Emelyanov Date: Wed Dec 5 21:15:05 2007 -0800 [IPV4] ROUTE: Convert rt_hash_lock_init() macro into function There's no need in having this function exist in a form of macro. Properly formatted function looks much better. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 107f163428b846d7cef68cb6f436788bb2f6c2e1 Author: Pavel Emelyanov Date: Wed Dec 5 21:14:28 2007 -0800 [IPV4] ROUTE: Clean up proc files creation. The rt_cache, stats/rt_cache and rt_acct(optional) files creation looks a bit messy. Clean this out and join them to other proc-related functions under the proper ifdef. The struct net * argument in a new function will help net namespaces patches look nicer. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 78c686e9faff05f1194e892d5b1273ce24021ff6 Author: Pavel Emelyanov Date: Wed Dec 5 21:13:48 2007 -0800 [IPV4] ROUTE: Collect proc-related functions together The net/ipv4/route.c file declares some entries for proc to dump some routing info. The reading functions are scattered over this file - collect them together. Besides, remove a useless IP_RT_ACCT_CPU macro. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f4d900a2cae94256f56be7769734100c7054bf00 Author: Patrick McHardy Date: Wed Dec 5 03:31:53 2007 -0800 [NETLINK]: Mark attribute construction exception unlikely Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a59322be07c964e916d15be3df473fb7ba20c41e Author: Herbert Xu Date: Wed Dec 5 01:53:40 2007 -0800 [UDP]: Only increment counter on first peek/recv The previous move of the the UDP inDatagrams counter caused each peek of the same packet to be counted separately. This may be undesirable. This patch fixes this by adding a bit to sk_buff to record whether this packet has already been seen through skb_recv_datagram. We then only increment the counter when the packet is seen for the first time. The only dodgy part is the fact that skb_recv_datagram doesn't have a good way of returning this new bit of information. So I've added a new function __skb_recv_datagram that does return this and made skb_recv_datagram a wrapper around it. The plan is to eventually replace all uses of skb_recv_datagram with this new function at which time it can be renamed its proper name. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1781f7f5804e52ee2d35328b129602146a8d8254 Author: Herbert Xu Date: Tue Dec 11 11:30:32 2007 -0800 [UDP]: Restore missing inDatagrams increments The previous move of the the UDP inDatagrams counter caused the counting of encapsulated packets, SUNRPC data (as opposed to call) packets and RXRPC packets to go missing. This patch restores all of these. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 27ab2568649d5ba6c5a20212079b7c4f6da4ca0d Author: Herbert Xu Date: Wed Dec 5 01:51:58 2007 -0800 [UDP]: Avoid repeated counting of checksum errors due to peeking Currently it is possible for two processes to peek on the same socket and end up incrementing the error counter twice for the same packet. This patch fixes it by making skb_kill_datagram return whether it succeeded in unlinking the packet and only incrementing the counter if it did. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c8fecf2242a0ab7230210665986b8ef915e1ae9e Author: Pavel Emelyanov Date: Wed Dec 5 01:50:24 2007 -0800 [IPV6]: Eliminate difference in actions of sysctl and proc handler for conf.all.forwarding The only difference in this case is that updating all.forwarding causes the update in default.forwarding when done via proc, but not via the system call. Besides, this consolidates a good portion of code. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 68dd299bc84dede6aef32e6f4777a676314f5d21 Author: Pavel Emelyanov Date: Wed Dec 5 01:44:58 2007 -0800 [INET]: Merge sys.net.ipv4.ip_forward and sys.net.ipv4.conf.all.forwarding AFAIS these two entries should do the same thing - change the forwarding state on ipv4_devconf and on all the devices. I propose to merge the handlers together using ctl paths. The inet_forward_change() is static after this and I move it higher to be closer to other "propagation" helpers and to avoid diff making patches based on { and } matching :) i.e. - make them easier to read. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4d43b78ac27ca50fe42718192ac7c80474417389 Author: Pavel Emelyanov Date: Wed Dec 5 01:44:02 2007 -0800 [IPV6]: Use sysctl paths to register ipv6 sysctl tables I have already done this for core, ipv4 and tr tables, so repeat this for the ipv6 ones. This makes the ipv6.ko smaller and creates the ground needed for net namespaces support in ipv6.ko ssctls. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4a61b586cd7eaab6242eca58e8e6e3c8ebd88bd2 Author: Pavel Emelyanov Date: Wed Dec 5 01:43:25 2007 -0800 [IPV6]: Make the ipv6/sysctl_net_ipv6.c compilation cleaner Since this file is entirely enclosed with the #ifdef CONFIG_SYSCTL/#endif pair, it's OK to move this CONFIG_ into a Makefile. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 08913681e484f3f0db949dd0809012e089846216 Author: Pavel Emelyanov Date: Wed Dec 5 01:42:49 2007 -0800 [NET]: Remove the empty net_table I have removed all the entries from this table (core_table, ipv4_table and tr_table), so now we can safely drop it. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 36f0bebd9865dc7e327777fca34b75e65cbfd1a6 Author: Pavel Emelyanov Date: Thu Jan 24 17:04:49 2008 -0800 [TR]: Use ctl paths to register net/token-ring/ table The same thing for token-ring - use ctl paths and get rid of external references on the tr_table. Unfortunately, I couldn't split this patch into cleanup and use-the-paths parts. As a lame excuse I can say, that the cleanup is just moving the tr_table from one file to another - closet to a single variable, that this ctl table tunes. Since the source file becomes empty after the move, I remove it. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3e37c3f9978839d91188e4ca0cc662a7245f28e4 Author: Pavel Emelyanov Date: Wed Dec 5 01:41:26 2007 -0800 [IPV4]: Use ctl paths to register net/ipv4/ table This is the same as I did for the net/core/ table in the second patch in his series: use the paths and isolate the whole table in the .c file. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9ba639797606acbcd97be886f41fbce163914e7b Author: Pavel Emelyanov Date: Wed Dec 5 01:38:23 2007 -0800 [IPV4]: Cleanup the sysctl_net_ipv4.c file This includes several cleanups: * tune Makefile to compile out this file when SYSCTL=n. Now it looks like net/core/sysctl_net_core.c one; * move the ipv4_config to af_inet.c to exist all the time; * remove additional sysctl_ip_nonlocal_bind declaration (it is already declared in net/ip.h); * remove no nonger needed ifdefs from this file. This is a preparation for using ctl paths for net/ipv4/ sysctl table. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 33eb9cfc700ae9ce621d47d6ca6d6b4ad7cd97f3 Author: Pavel Emelyanov Date: Wed Dec 5 01:37:34 2007 -0800 [NET]: Isolate the net/core/ sysctl table Using ctl paths we can put all the stuff, related to net/core/ sysctl table, into one file and remove all the references on it. As a good side effect this hides the "core_table" name from the global scope :) Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7e2e109cef0d59abcb9aca8b82993e304ed8970c Author: Pavel Emelyanov Date: Wed Dec 5 01:36:23 2007 -0800 [NET]: Remove unneeded ifdefs from sysctl_net_core.c This file is already compiled out when the SYSCTL=n, so these ifdefs, that enclose the whole file, can be removed. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 2eeeba390ae28fcd742e44706c363cb36bc614c6 Author: Patrick McHardy Date: Wed Dec 5 01:31:52 2007 -0800 [NETFILTER]: Select CONFIG_NETFILTER_NETLINK when needed Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ab4f58c77a189d1100383e0c901cb8e90c3ab4f7 Author: Patrick McHardy Date: Wed Dec 5 01:31:37 2007 -0800 [NETFILTER]: remove NF_CONNTRACK_ENABLED option Remove the NF_CONNTRACK_ENABLED option. It was meant for a smoother upgrade to nf_conntrack, people having reconfigured their kernel at least once since ip_conntrack was removed will have the NF_CONNTRACK option already set. People upgrading from older kernels have to reconfigure a lot anyway. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4ad9d4fa94800573edaca18ba2f34f27137c9bc0 Author: Patrick McHardy Date: Wed Dec 5 01:31:17 2007 -0800 [NETFILTER]: nfnetlink_queue: update copyright Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0ef0f46580320a7f96c60b20b7a29b0bd820d2e7 Author: Patrick McHardy Date: Wed Dec 5 01:31:01 2007 -0800 [NETFILTER]: nfnetlink_queue: remove useless enqueue status codes The queueing core doesn't care about the exact return value from the queue handler, so there's no need to go through the trouble of returning a meaningful value as long as we indicate an error. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 861934c7c888973da8bf621b3959e408531539e1 Author: Patrick McHardy Date: Wed Dec 5 01:30:29 2007 -0800 [NETFILTER]: nfnetlink_queue: eliminate impossible switch case We don't need a default case in nfqnl_build_packet_message(), the copy_mode is validated when it is set. Tell the compiler about the possible types and remove the default case. Saves 80b of text on x86_64. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ea3a66ff5ae41daa1d1aa789140a70415eaf7b46 Author: Patrick McHardy Date: Wed Dec 5 01:30:02 2007 -0800 [NETFILTER]: nfnetlink_queue: use endianness-aware attribute functions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9d6023ab8b97f5074f9007c92d38fef9ae04e56b Author: Patrick McHardy Date: Wed Dec 5 01:29:38 2007 -0800 [NETFILTER]: nfnetlink_queue: mark hash table __read_mostly Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2bd0119729cb4eac88c6161b3e1a3c3ebbb4768e Author: Patrick McHardy Date: Wed Dec 5 01:29:23 2007 -0800 [NETFILTER]: nfnetlink_queue: remove useless debugging Originally I wanted to just remove the QDEBUG macro and use pr_debug, but none of the messages seems worth keeping. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c5de0dfde8b0c5ea3d8b3040db1967f9c1d9748e Author: Patrick McHardy Date: Wed Dec 5 01:29:05 2007 -0800 [NETFILTER]: nfnetlink_queue: kill useless wrapper nfqnl_set_mode takes the queue lock and calls __nfqnl_set_mode. Just move the code from __nfqnl_set_mode to nfqnl_set_mode since there is no other user. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9872bec773c2e8503fec480c1e8a0c732517e257 Author: Patrick McHardy Date: Wed Dec 5 01:28:50 2007 -0800 [NETFILTER]: nfnetlink: use RCU for queue instances hash Use RCU for queue instances hash. Avoids multiple atomic operations for each packet. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a3c8e7fd4b36bf6e12fef432cfa8a001dc0b7a26 Author: Patrick McHardy Date: Wed Dec 5 01:28:30 2007 -0800 [NETFILTER]: nfnetlink_queue: fix checks in nfqnl_recv_config The peer_pid must be checked in all cases when a queue exists, currently it is not checked if for NFQA_CFG_QUEUE_MAXLEN when a NFQA_CFG_CMD attribute exists in some cases. Same for the queue existance check, which can cause a NULL pointer dereference. Also consistently return -ENODEV for "queue not found". -ENOENT would be better, but that is already used to indicate a queued skb id doesn't exist. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e48b9b2fb383879a5d758d526b5eb8de4509f467 Author: Patrick McHardy Date: Wed Dec 5 01:28:10 2007 -0800 [NETFILTER]: nfnetlink_queue: avoid unnecessary atomic operation The sequence counter doesn't need to be an atomic_t, just move the increment inside the locked section. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f9c639905018967e57ea24b07e82de9bcd76339f Author: Patrick McHardy Date: Wed Dec 5 01:27:46 2007 -0800 [NETFILTER]: remove annoying debugging message Don't log "nf_hook: Verdict = QUEUE." message with NETFILTER_DEBUG=y. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit daaa8be2e0ec1c27d11e6724c8ebd8ed53914ae2 Author: Patrick McHardy Date: Wed Dec 5 01:27:19 2007 -0800 [NETFILTER]: nf_queue: clean up error paths Move duplicated error handling to end of function and add a helper function to release the device and module references from the queue entry. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4b3d15ef4a88683d93d1b76351297d2298a02a99 Author: Patrick McHardy Date: Wed Dec 5 01:27:02 2007 -0800 [NETFILTER]: {nfnetlink,ip,ip6}_queue: kill issue_verdict Now that issue_verdict doesn't need to free the queue entries anymore, all it does is disable local BHs and call nf_reinject. Move the BH disabling to the okfn invocation in nf_reinject and kill the issue_verdict functions. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 02f014d88831f73b895c1fe09badb66c88e932d3 Author: Patrick McHardy Date: Wed Dec 5 01:26:33 2007 -0800 [NETFILTER]: nf_queue: move list_head/skb/id to struct nf_info Move common fields for queue management to struct nf_info and rename it to struct nf_queue_entry. The avoids one allocation/free per packet and simplifies the code a bit. Alternatively we could add some private room at the tail, but since all current users use identical structs this seems easier. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7a6c6653b3a977087ec64d76817c7ee6e1df5b60 Author: Patrick McHardy Date: Wed Dec 5 01:26:18 2007 -0800 [NETFILTER]: ip6_queue: resync dev-index based flushing Resync dev_cmp to take bridge devices into account. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 171b7fc4fc178a004aec8d06eb745c30ae726fb6 Author: Patrick McHardy Date: Wed Dec 5 01:26:02 2007 -0800 [NETFILTER]: ip6_queue: deobfuscate entry lookups A queue entry lookup currently looks like this: ipq_find_dequeue_entry -> __ipq_find_dequeue_entry -> __ipq_find_entry -> cmpfn -> id_cmp Use simple open-coded list walking and kill the cmpfn for ipq_find_dequeue_entry. Instead add it to ipq_flush (after similar cleanups) and use ipq_flush for both complete flushes and flushing entries related to a device. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9521409265d3bae939ace4c259f765c29339730f Author: Patrick McHardy Date: Wed Dec 5 01:25:46 2007 -0800 [NETFILTER]: ip_queue: deobfuscate entry lookups A queue entry lookup currently looks like this: ipq_find_dequeue_entry -> __ipq_find_dequeue_entry -> __ipq_find_entry -> cmpfn -> id_cmp Use simple open-coded list walking and kill the cmpfn for ipq_find_dequeue_entry. Instead add it to ipq_flush (after similar cleanups) and use ipq_flush for both complete flushes and flushing entries related to a device. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b43d8d85987bf21578e270c9f57c8503114ff399 Author: Patrick McHardy Date: Wed Dec 5 01:25:30 2007 -0800 [NETFILTER]: nfnetlink_queue: deobfuscate entry lookups A queue entry lookup currently looks like this: find_dequeue_entry -> __find_dequeue_entry -> __find_entry -> cmpfn -> id_cmp Use simple open-coded list walking and kill the cmpfn for find_dequeue_entry. Instead add it to nfqnl_flush (after similar cleanups) and use nfqnl_flush for both complete flushes and flushing entries related to a device. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0ac41e81462de20f87242caac2b9084c202c33b7 Author: Patrick McHardy Date: Wed Dec 5 01:25:03 2007 -0800 [NETFILTER]: {nf_netlink,ip,ip6}_queue: use list_for_each_entry Use list_add_tail/list_for_each_entry instead of list_add and list_for_each_prev as a preparation for switching to RCU. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c01cd429fc118c5db92475c5f08b307718aa4efc Author: Patrick McHardy Date: Wed Dec 5 01:24:48 2007 -0800 [NETFILTER]: nf_queue: move queueing related functions/struct to seperate header Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f9d8928f8340ab8e76f1da4799cb19a6ff58b83d Author: Patrick McHardy Date: Wed Dec 5 01:24:30 2007 -0800 [NETFILTER]: nf_queue: remove unused data pointer Remove the data pointer from struct nf_queue_handler. It has never been used and is useless for the only handler that really matters, nfnetlink_queue, since the handler is shared between all instances. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e3ac5298159c5286cef86f0865d4fa6a606bd391 Author: Patrick McHardy Date: Wed Dec 5 01:23:57 2007 -0800 [NETFILTER]: nf_queue: make queue_handler const Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fb46990dba94866462e90623e183d02ec591cf8f Author: Patrick McHardy Date: Wed Dec 5 01:23:41 2007 -0800 [NETFILTER]: nf_queue: remove unnecessary hook existance check We hold a module reference for each queued packet, so the hook that queued the packet can't disappear. Also remove an obsolete comment stating the opposite. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8b1cf0db2aced837fcd50072e81e32c5836a1ee1 Author: Patrick McHardy Date: Wed Dec 5 01:23:17 2007 -0800 [NETFILTER]: nf_queue: minor cleanup Clean up if (x) y; constructs. We've got nothing to hide :) Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1999414a4ece2b8cea3fb3c4dc8fe06796256269 Author: Patrick McHardy Date: Wed Dec 5 01:23:00 2007 -0800 [NETFILTER]: Mark hooks __read_mostly Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 41c5b317036fcb593d14b4dfd12e3318faf3af8a Author: Patrick McHardy Date: Wed Dec 5 01:22:43 2007 -0800 [NETFILTER]: Use nf_register_hooks for multiple registrations Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 279c2c74b6a26fbd8c3dc100a59c3ac0ff7559fa Author: Patrick McHardy Date: Wed Dec 5 01:22:24 2007 -0800 [NETFILTER]: nf_conntrack_proto_icmp: kill extern declaration in .c file Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1841a4c7ae106b7a3e2521db55f4d8bb8a0988d5 Author: Patrick McHardy Date: Wed Dec 5 01:22:05 2007 -0800 [NETFILTER]: nf_ct_h323: remove ipv6 module dependency nf_conntrack_h323 needs ip6_route_output for the call forwarding filter. Add a ->route function to nf_afinfo and use that to avoid pulling in the ipv6 module. Fix the #ifdef for the IPv6 code while I'm at it - the IPv6 support is only needed when IPv6 conntrack is enabled. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 193b23c5a0b270f045a4e77545e9020bfe73d5c4 Author: Patrick McHardy Date: Tue Dec 4 23:51:48 2007 -0800 [NETFILTER]: xt_hashlimit: remove ip6tables module dependency Switch from ipv6_find_hdr to ipv6_skip_exthdr to avoid pulling in ip6_tables and ipv6 when only using it for IPv4. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 17dfc93f6d7e5792c9c36dd70c8612721a091ae8 Author: Maciej Soltysiak Date: Tue Dec 4 23:50:38 2007 -0800 [NETFILTER]: {ip,ip6}t_LOG: log GID Log GID in addition to UID Signed-off-by: Maciej Soltysiak Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 50c164a81f1c0dfad056f99e5685537fdd0f07dd Author: Patrick McHardy Date: Tue Dec 4 13:02:19 2007 +0100 [NETFILTER]: x_tables: add rateest match Add rate estimator match. The rate estimator match can match on estimated rates by the RATEEST target. It supports matching on absolute bps/pps values, comparing two rate estimators and matching on the difference between two rate estimators. This is what I use to route outgoing data connections from a FTP server over two lines based on the available bandwidth: # estimate outgoing rates iptables -t mangle -A POSTROUTING -o eth0 -j RATEEST --rateest-name eth0 \ --rateest-interval 250ms \ --rateest-ewma 0.5s iptables -t mangle -A POSTROUTING -o ppp0 -j RATEEST --rateest-name ppp0 \ --rateest-interval 250ms \ --rateest-ewma 0.5s # mark based on available bandwidth iptables -t mangle -A BALANCE -m state --state NEW \ -m helper --helper ftp \ -m rateest --rateest-delta \ --rateest1 eth0 \ --rateest-bps1 2.5mbit \ --rateest-gt \ --rateest2 ppp0 \ --rateest-bps2 2mbit \ -j CONNMARK --set-mark 0x1 iptables -t mangle -A BALANCE -m state --state NEW \ -m helper --helper ftp \ -m rateest --rateest-delta \ --rateest1 ppp0 \ --rateest-bps1 2mbit \ --rateest-gt \ --rateest2 eth0 \ --rateest-bps2 2.5mbit \ -j CONNMARK --set-mark 0x2 iptables -t mangle -A BALANCE -j CONNMARK --restore-mark Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5859034d7eb8793d3d78d3af515c4175e7b9d03a Author: Patrick McHardy Date: Tue Dec 4 23:40:05 2007 -0800 [NETFILTER]: x_tables: add RATEEST target Add new rate estimator target (using gen_estimator). In combination with the rateest match (next patch) this can be used for load-based multipath routing. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cb76c6a597350534d211ba79d92da1f9771f8226 Author: Patrick McHardy Date: Tue Dec 4 23:39:36 2007 -0800 [NETFILTER]: ip_tables: remove obsolete SAME target Remove the ipt_SAME target as scheduled in feature-removal-schedule. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5c350e5a380333c64da8580fa134a2fd8e71fea4 Author: Jan Engelhardt Date: Tue Dec 4 23:39:09 2007 -0800 [NETFILTER]: IPv6 capable xt_TOS v1 target Extends the xt_DSCP target by xt_TOS v1 to add support for selectively setting and flipping any bit in the IPv4 TOS and IPv6 Priority fields. (ipt_TOS and xt_DSCP only accepted a limited range of possible values.) Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f1095ab51d4297d4a84b64a65c71054183a73486 Author: Jan Engelhardt Date: Tue Dec 4 23:38:30 2007 -0800 [NETFILTER]: IPv6 capable xt_tos v1 match Extends the xt_dscp match by xt_tos v1 to add support for selectively matching any bit in the IPv4 TOS and IPv6 Priority fields. (ipt_tos and xt_dscp only accepted a limited range of possible values.) Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c9fd49680954714473d6cbd2546d6ff120f96840 Author: Jan Engelhardt Date: Tue Dec 4 23:38:13 2007 -0800 [NETFILTER]: Merge ipt_TOS into xt_DSCP Merge ipt_TOS into xt_DSCP. Merge ipt_TOS (tos v0 target) into xt_DSCP. They both modify the same field in the IPv4 header, so it seems reasonable to keep them in one piece. This is part two of the implicit 4-patch series to move tos to xtables and extend it by IPv6. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c3b33e6a2cdefba38d83442ebae2ee42e853ea51 Author: Jan Engelhardt Date: Tue Dec 4 23:37:54 2007 -0800 [NETFILTER]: Merge ipt_tos into xt_dscp Merge ipt_tos into xt_dscp. Merge ipt_tos (tos v0 match) into xt_dscp. They both match on the same field in the IPv4 header, so it seems reasonable to keep them in one piece. This is part one of the implicit 4-patch series to move tos to xtables and extend it by IPv6. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3c3f486603438130b93b33acd92db0f994ec3e55 Author: Jan Engelhardt Date: Tue Dec 4 23:37:29 2007 -0800 [NET]: Constify include/net/dsfield.h Constify include/net/dsfield.h Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4c37799ccf6c722e0dad6a0677af22d1c23fb897 Author: Jan Engelhardt Date: Tue Dec 4 23:31:59 2007 -0800 [NETFILTER]: Use lowercase names for matches in Kconfig Unify netfilter match kconfig descriptions Consistently use lowercase for matches in kconfig one-line descriptions and name the match module. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e2cf5ecbea861ff05105bbd40f4f0d7823d9e213 Author: Laszlo Attila Toth Date: Tue Dec 4 23:30:18 2007 -0800 [NETFILTER]: ipt_addrtype: limit address type checking to an interface Addrtype match has a new revision (1), which lets address type checking limited to the interface the current packet belongs to. Either incoming or outgoing interface can be used depending on the current hook. In the FORWARD hook two maches should be used if both interfaces have to be checked. The new structure is ipt_addrtype_info_v1. Revision 0 lets older userspace programs use the match as earlier. ipt_addrtype_info is used. Signed-off-by: Laszlo Attila Toth Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0553811612a6178365f3b062c30234913b218a96 Author: Laszlo Attila Toth Date: Tue Dec 4 23:28:46 2007 -0800 [IPV4]: Add inet_dev_addr_type() Address type search can be limited to an interface by inet_dev_addr_type function. Signed-off-by: Laszlo Attila Toth Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0265ab44bacc1a1e0e3f5873d8ca2d5a29e33db2 Author: Jan Engelhardt Date: Tue Dec 4 23:27:38 2007 -0800 [NETFILTER]: merge ipt_owner/ip6t_owner in xt_owner xt_owner merges ipt_owner and ip6t_owner, and adds a flag to match on socket (non-)existence. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9e67d5a739327c44885adebb4f3a538050be73e4 Author: Patrick McHardy Date: Tue Dec 4 23:25:26 2007 -0800 [NETFILTER]: x_tables: remove obsolete overflow check We're not multiplying the size with the number of CPUs anymore, so the check is obsolete. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 259d4e41f3ec25f22169daece42729f597b89f9a Author: Eric Dumazet Date: Tue Dec 4 23:24:56 2007 -0800 [NETFILTER]: x_tables: struct xt_table_info diet Instead of using a big array of NR_CPUS entries, we can compute the size needed at runtime, using nr_cpu_ids This should save some ram (especially on David's machines where NR_CPUS=4096 : 32 KB can be saved per table, and 64KB for dynamically allocated ones (because of slab/slub alignements) ) In particular, the 'bootstrap' tables are not any more static (in data section) but on stack as their size is now very small. This also should reduce the size used on stack in compat functions (get_info() declares an automatic variable, that could be bigger than kernel stack size for big NR_CPUS) Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d3c5ee6d545b5372fd525ebe16988a5b6efeceb0 Author: Jan Engelhardt Date: Tue Dec 4 23:24:03 2007 -0800 [NETFILTER]: x_tables: consistent and unique symbol names Give all Netfilter modules consistent and unique symbol names. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4c610979576d8778c401a9b1d247ed14f6cee998 Author: Li Zefan Date: Tue Dec 4 23:22:26 2007 -0800 [NETFILTER]: replace list_for_each with list_for_each_entry Signed-off-by: Li Zefan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 338e8a79262c3709e314fbcc7ca193323e534934 Author: Sven Schnelle Date: Tue Dec 4 23:21:50 2007 -0800 [NETFILTER]: x_tables: add TCPOPTSTRIP target Signed-off-by: Sven Schnelle Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0eeb8ffcfeaa0d909ce39147f7b8fdd6cef1aacd Author: Denis V. Lunev Date: Tue Dec 4 01:15:45 2007 -0800 [NET]: netns compilation speedup This patch speedups compilation when net_namespace.h is changed. Signed-off-by: Denis V. Lunev Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit 6ac552fdc6e96bf2f39c18d6e66b8c8080bbb06e Author: Patrick McHardy Date: Tue Dec 4 00:19:38 2007 -0800 [NETLINK]: af_netlink.c checkpatch cleanups Fix large number of checkpatch errors. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2fcb45b6b87914f072314e5b5d9c196f45984683 Author: Herbert Xu Date: Mon Dec 3 22:54:12 2007 -0800 [IPSEC]: Use the correct family for input state lookup When merging the input paths of IPsec I accidentally left a hard-coded AF_INET for the state lookup call. This broke IPv6 obviously. This patch fixes by getting the input callers to specify the family through skb->cb. Credit goes to Kazunori Miyazawa for diagnosing this and providing an initial patch. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bbca17680f82b1ba3122d41e8bc675aebf6d1cf2 Author: Wang Chen Date: Mon Dec 3 22:36:13 2007 +1100 [UDP]: Counter increment should be in USER mode for recvmsg System calls should be USER. So change the BH to USER for UDP*_INC_STATS_BH(). Signed-off-by: Wang Chen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b2bf1e2659b1cba5e65f81781cfd530be447f80b Author: Wang Chen Date: Mon Dec 3 22:34:16 2007 +1100 [UDP]: Clean up for IS_UDPLITE macro Since we have macro IS_UDPLITE, we can use it. Signed-off-by: Wang Chen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit cb75994ec311b2cd50e5205efdcc0696abd6675d Author: Wang Chen Date: Mon Dec 3 22:33:28 2007 +1100 [UDP]: Defer InDataGrams increment until recvmsg() does checksum Thanks dave, herbert, gerrit, andi and other people for your discussion about this problem. UdpInDatagrams can be confusing because it counts packets that might be dropped later. Move UdpInDatagrams into recvmsg() as allowed by the RFC. Signed-off-by: Wang Chen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 6859d49475d4f32abe640372117e4b687906e6b6 Author: Ilpo Järvinen Date: Sun Dec 2 00:48:06 2007 +0200 [TCP]: Abstract tp->highest_sack accessing & point to next skb Pointing to the next skb is necessary to avoid referencing already SACKed skbs which will soon be on a separate list. Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7201883599ac8bff76300117155e299b1a54092f Author: Ilpo Järvinen Date: Sun Dec 30 04:37:55 2007 -0800 [TCP]: Cleanup local variables of clean_rtx_queue Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ea60658cde9f4df7d05b95c81a72a95ad07f0701 Author: Ilpo Järvinen Date: Sun Dec 2 00:48:04 2007 +0200 [TCP]: Add unlikely() to urgent handling in clean_rtx_queue Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 89d478f7f2160780be9d7c9c6bac9bd350d9ed96 Author: Ilpo Järvinen Date: Sun Dec 30 04:35:27 2007 -0800 [TCP]: Remove duplicated code block from clean_rtx_queue Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 234b68607006f3721679e900809ccb99e8bfb10c Author: Ilpo Järvinen Date: Sun Dec 2 00:48:02 2007 +0200 [TCP]: Add tcp_for_write_queue_from_safe and use it in mtu_probe Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d67c58e9ae80ea577785111534e49d3ca757ec50 Author: Ilpo Järvinen Date: Sun Dec 2 00:48:01 2007 +0200 [TCP]: Remove local variable and use packets_in_flight directly Lines won't be that long and it's compiler's job to optimize them. Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 50c4817e9919132639be0adc387b509e04a9ed0a Author: Ilpo Järvinen Date: Sun Dec 2 00:48:00 2007 +0200 [TCP]: MTUprobe: prepare skb fields earlier They better be valid when call to write_queue functions is made once things that follow are going in. Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c3a05c6050a339c92e49fae0ba77dbba0d41fd99 Author: Ilpo Järvinen Date: Sun Dec 2 00:47:59 2007 +0200 [TCP]: Cong.ctrl modules: remove unused good_ack from cong_avoid Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ede9f3b186bc3eb0fce084bdcab500efc3721a80 Author: Ilpo Järvinen Date: Sun Dec 2 00:47:58 2007 +0200 [TCP]: Unite identical code from two seqno split blocks Bogus seqno compares just mislead, the code is identical for both sides of the seqno compare (and was even executed just once because of return in between). Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 407ef1de03e87225d75a9bed271f35ea6880f5f1 Author: Ilpo Järvinen Date: Sun Dec 2 00:47:57 2007 +0200 [TCP]: Remove superflucious FLAG_DATA_SACKED To get there, highest_sack must have advanced. When it advances, a new skb is SACKed, which already sets that FLAG. Besides, the original purpose of it has puzzled me, never understood why LOST bit setting of retransmitted skb is marked with FLAG_DATA_SACKED. Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bce392f3b02755a8c615d4ced3d3b9cb1d9e3648 Author: Ilpo Järvinen Date: Sun Dec 2 00:47:56 2007 +0200 [TCP]: Move LOSTRETRANS MIB outside !(L|S) check Usually those skbs will have L set, not counting them as lost retransmissions is misleading. Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1dab62226dd9e0c0051229e7868363663546c772 Author: Pavel Emelyanov Date: Sun Dec 2 00:59:38 2007 +1100 [IPV6]: Use ctl paths to register addrconf sysctls This looks very much like the patch for ipv4's devinet. This is also intended to help us with the net namespaces and saves the ipv6.ko size by ~320 bytes. The difference from the first version is just the patch offsets, that changed due to changes in the patch #2. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f52295a9c55ccb4d9b3580ce889f958ac740a44b Author: Pavel Emelyanov Date: Sun Dec 2 00:58:37 2007 +1100 [IPV6]: Unify and cleanup calls to addrconf_sysctl_register Currently this call is (ab)used similar to devinet one - it registers sysctls for devices and for the "default" confs, while the "all" sysctls are registered separately. But unlike its devinet brother, the passed inet6_device is needed. The fix is to make a __addrconf_sysctl_register(), which registers sysctls for all "devices" we need, including "default" and "all" :) The original addrconf_sysctl_register() calls the introduced function, passing the inet6_device, device name and ifindex (to be used as procname and ctl_name) into it. Thanks to Herbert again for pointing out, that we can shrink the argument list to 1 :) Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bfada697bd534d2c16fd07fbef3a4924c4d4e014 Author: Pavel Emelyanov Date: Sun Dec 2 00:57:08 2007 +1100 [IPV4]: Use ctl paths to register devinet sysctls This looks very much like the patch for neighbors. The path is also located on the stack and is prepared inside the function. This time, the call to the registering function is guarded with the RTNL lock, but I decided to keep it on the stack not to litter the devinet.c file with unneeded names and to make it look similar to the neighbors code. This is also intended to help us with the net namespaces and saves the vmlinux size as well - this time by more than 670 bytes. The difference from the first version is just the patch offsets, that changed due to changes in the patch #2. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 66f27a52037c89183e83689b0531412577be0101 Author: Pavel Emelyanov Date: Sun Dec 2 00:55:54 2007 +1100 [IPV4]: Unify and cleanup calls to devinet_sysctl_register Currently this call is used to register sysctls for devices and for the "default" confs. The "all" sysctls are registered separately. Besides, the inet_device is passed to this function, but it is not needed there at all - just the device name and ifindex are required. Thanks to Herbert, who noticed, that this call doesn't even require the devconf pointer (the last argument) - all we need we can take from the in_device itself. The fix is to make a __devinet_sysctl_register(), which registers sysctls for all "devices" we need, including "default" and "all" :) The original devinet_sysctl_register() works with struct net_device, not the inet_device, and calls the introduced function, passing the device name and ifindex (to be used as procname and ctl_name) into it. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit edae58ead57319b0bcf16e48a32365145c7bf0b7 Author: John W. Linville Date: Wed Nov 21 15:24:35 2007 -0500 softmac: mark as obsolete and schedule for removal Schedule softmac for for removal in the 2.6.26 development window. Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 003faaa17793c478ed2babc56a618396e0ef96c2 Author: John W. Linville Date: Sun Jan 27 22:48:37 2008 -0800 bcm43xx: mark as obsolete and schedule for removal Schedule bcm43xx for for removal in the 2.6.26 development window. Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 88fecd092e2e7677f8e3f5ab32c16d801bc85fd6 Author: John W. Linville Date: Wed Nov 21 11:54:22 2007 -0500 mac80211: remove "bcn_int" and "capab" scan results info These bits were dead code before "mac80211: Remove local->scan_flags" (commit 6681dd3fd0e4d36a4547415853e83411baa7b705) and probably should have been removed as part of that commit. Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 64bd4b693f2d0b59673086e9c510068d5ad47cee Author: Ron Rindjunsky Date: Thu Nov 29 10:35:53 2007 +0200 mac80211: move A-MSDU identifier to flags This patch moves u8 amsdu_frame in ieee80211_txrx_data to the flags section as IEEE80211_TXRXD_RX_AMSDU Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d3c990fb26b78f60614885d9ecaf7b7686b7b098 Author: Ron Rindjunsky Date: Mon Nov 26 16:14:34 2007 +0200 mac80211: adding 802.11n configuration flows This patch configures the 802.11n mode of operation internally in ieee80211_conf structure and in the low-level driver as well (through op conf_ht). It does not include AP configuration flows. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit fd4c7f2fce1737105208c564e1458c885918982d Author: Ron Rindjunsky Date: Mon Nov 26 16:14:33 2007 +0200 mac80211: adding 802.11n essential A-MSDU Rx capability This patch adds the ability to receive and handle A-MSDU frames. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 9f985b0eee4070e494b9d62313da982cfef9b5e3 Author: Ron Rindjunsky Date: Mon Nov 26 16:14:32 2007 +0200 mac80211: adding 802.11n essential A-MPDU addBA capability This patch adds the capability to identify and answer an add block ACK request. As this series of patches only adds HT handling with no aggregations, (A-MPDU aggregations acceptance is not obligatory according to 802.11n draft) we are currently sending back a refusal upon this request. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c715350828b12ce3b29e655fec7a7d6b22245d00 Author: Ron Rindjunsky Date: Mon Nov 26 16:14:31 2007 +0200 mac80211: adding 802.11n IEs handling This patch presents the ability to parse and compose HT IEs, and to put the IE relevant data inside the mac80211's internal HT structures Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 10816d40f2e9500057cb46d7608a362a1d10bb9b Author: Ron Rindjunsky Date: Mon Nov 26 16:14:30 2007 +0200 mac80211: adding 802.11n HT framework definitions New structures: - ieee80211_ht_info: describing STA's HT capabilities - ieee80211_ht_bss_info: describing BSS's HT characteristics Changed structures: - ieee80211_hw_mode: now also holds PHY HT capabilities for each HW mode - ieee80211_conf: ht_conf holds current self HT configuration ht_bss_conf holds current BSS HT configuration - flag IEEE80211_CONF_SUPPORT_HT_MODE added to indicate if HT use is desired - sta_info: now also holds Peer's HT capabilities Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 82b3cad942ebf1f64798e6ec3c46c277822e1fce Author: Ron Rindjunsky Date: Sun Dec 16 16:09:26 2007 -0800 mac80211: adding MAC80211_HT_DEBUG config variable This patch adds MAC80211_HT_DEBUG config variable to separate HT debug features Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b1357a81a9ba1cf173747a0e50c24795640327f5 Author: Johannes Berg Date: Wed Nov 28 11:04:21 2007 +0100 mac80211: allow setting drop_unencrypted with wext This patch allows wpa_supplicant to set the drop_unencrypted setting in mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e38bad4766a110b61fa6038f10be16ced8c6cc38 Author: Johannes Berg Date: Wed Nov 28 10:55:32 2007 +0100 mac80211: make ieee80211_iterate_active_interfaces not need rtnl Interface iteration in mac80211 can be done without holding any locks because I converted it to RCU. Initially, I thought this wouldn't be needed for ieee80211_iterate_active_interfaces but it's turning out that multi-BSS AP support can be much simpler in a driver if ieee80211_iterate_active_interfaces can be called without holding locks. This converts it to use RCU, it adds a requirement that the callback it invokes cannot sleep. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 76ee65bfaa1435320a72989a6413467ce446ae23 Author: Ron Rindjunsky Date: Thu Nov 22 19:49:12 2007 +0200 mac80211: restructuring data Rx handlers This patch restructures the Rx handlers chain by incorporating previously handlers ieee80211_rx_h_802_1x_pae and ieee80211_rx_h_drop_unencrypted into ieee80211_rx_h_data, already in 802.3 form. this scheme follows more precisely after the IEEE802.11 data plane archituecture, and will prevent code duplication to IEEE8021.11n A-MSDU handler. added function: - ieee80211_data_to_8023: transfering 802.11 data frames to 802.3 frame - ieee80211_deliver_skb: delivering the 802.3 frames to upper stack eliminated handlers: - ieee80211_rx_h_drop_unencrypted: now function ieee80211_drop_unencrypted - ieee80211_rx_h_802_1x_pae: now function ieee80211_802_1x_pae changed handlers: - ieee80211_rx_h_data: now contains calls to four above function Signed-off-by: Ron Rindjunsky Acked-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ece8edddf067d21c4e5abfe3f1205da1588edbb2 Author: Zhu Yi Date: Thu Nov 22 10:53:21 2007 +0800 mac80211: hardware scan rework The scan code in mac80211 makes the software scan assumption in various places. For example, we stop the Tx queue during a software scan so that all the Tx packets will be queued by the stack. We also drop frames not related to scan in the software scan process. But these are not true for hardware scan. Some wireless hardwares (for example iwl3945/4965) has the ability to perform the whole scan process by hardware and/or firmware. The hardware scan is relative powerful in that it tries to maintain normal network traffic while doing a scan in the background. Some drivers (i.e iwlwifi) do provide a way to tune the hardware scan parameters (for example if the STA is associated, what's the max time could the STA leave from the associated channel, how long the scans get suspended after returning to the service channel, etc). But basically this is transparent to the stack. mac80211 should not stop Tx queues or drop Rx packets during a hardware scan. This patch resolves the above problem by spliting the current scan indicator local->sta_scanning into local->sta_sw_scanning and local->sta_hw_scanning. It then changes the scan related code to be aware of hardware scan or software scan in various places. With this patch, iwlwifi performs much better in the scan-while-associated condition and disable_hw_scan=1 should never be required. Cc: Mohamed Abbas Cc: Ben Cahill Signed-off-by: Zhu Yi Acked-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f68635e627f9b21db05102e2d8fcd2894493d6bc Author: Pavel Emelyanov Date: Sun Dec 2 00:21:52 2007 +1100 [IPV6]: Cleanup the addconf_sysctl_register This only includes fixing the space-indented lines and removing one unneeded else after the goto. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9fa896429905eccc263ff0d5e592ecaf651af12d Author: Pavel Emelyanov Date: Sun Dec 2 00:17:46 2007 +1100 [IPV4]: Cleanup the devinet_sysctl_register I moved the call to kmalloc() from the *t declaration into the code (this is confusing when a variable is initialized with the result of some call) and removed unneeded comment near the error path. Just like I did with the neigh ctl-s. Besides, I fixed the goto's and the labels - they were indented with spaces :( Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c3bac5a71b24f6ed892b250d4f7511cedc33d34c Author: Pavel Emelyanov Date: Sun Dec 2 00:08:16 2007 +1100 [NEIGH]: Use the ctl paths to create neighbours sysctls The appropriate path is prepared right inside this function. It is prepared similar to how the ctl tables were. Since the path is modified, it is put on the stack, to avoid possible races with multiple calls to neigh_sysctl_register() : it is called by protocols and I didn't find any protection in this case. Did I overlooked the rtnl lock?. The stack growth of the neigh_sysctl_register() is 40 bytes. I believe this is OK, since this is not that much and this function is not called with the deep stack (device/protocols register). The device's name is stored on the template to free it later. This will help with the net namespaces, as each namespace should have its own set of these ctls. Besides, this saves ~350 bytes from the neigh template :) Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 3c607bbb472814f01b077af01ae326944ff6b8b3 Author: Pavel Emelyanov Date: Sun Dec 2 00:06:34 2007 +1100 [NEIGH]: Cleanup the neigh_sysctl_register This mainly removes the err variable, as this call always return the same error code (-ENOBUFS). Besides, I moved the call to kmalloc() from the *t declaration into the code (this is confusing when a variable is initialized with the result of some call) and removed unneeded comment near the error path. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1597fbc0faf88c42edb3fe42e92e53b83c3f120e Author: Pavel Emelyanov Date: Sat Dec 1 23:51:01 2007 +1100 [UNIX]: Make the unix sysctl tables per-namespace This is the core. * add the ctl_table_header on the struct net; * make the unix_sysctl_register and _unregister clone the table; * moves calls to them into per-net init and exit callbacks; * move the .data pointer in the proper place. Signed-off-by: Pavel Emelyanov Acked-by: Eric W. Biederman Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1d430b913c2e6293a80a4a422406bc9489a476ad Author: Pavel Emelyanov Date: Sat Dec 1 23:45:41 2007 +1100 [UNIX]: Use ctl paths to register unix ctl tables Unlike previous ones, this patch is useful by its own, as it decreases the vmlinux size :) But it will be used later, when the per-namespace sysctl is added. Signed-off-by: Pavel Emelyanov Acked-by: Eric W. Biederman Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d392e49756a99ba51577d265d6db83e3f01c6ac8 Author: Pavel Emelyanov Date: Sat Dec 1 23:44:15 2007 +1100 [UNIX]: Move the sysctl_unix_max_dgram_qlen This will make all the sub-namespaces always use the default value (10) and leave the tuning via sysctl to the init namespace only. Per-namespace tuning is coming. Signed-off-by: Pavel Emelyanov Acked-by: Eric W. Biederman Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 97577e38284f48ca773392e2d401af2f6c95dc08 Author: Pavel Emelyanov Date: Sat Dec 1 23:40:40 2007 +1100 [UNIX]: Extend unix_sysctl_(un)register prototypes Add the struct net * argument to both of them to use in the future. Also make the register one return an error code. It is useless right now, but will make the future patches much simpler. Signed-off-by: Pavel Emelyanov Acked-by: Eric W. Biederman Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit dd88590995de7c7ce108718a9ad52b3832e77814 Author: Denis V. Lunev Date: Sat Dec 1 23:31:02 2007 +1100 [DECNET]: Remove extra memset from dn_fib_check_nh Signed-off-by: Denis V. Lunev Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 875179fa60ffe2eba1daaefb0af1be97ff5eda6a Author: Paul Moore Date: Sat Dec 1 23:27:18 2007 +1100 [IPSEC]: SPD auditing fix to include the netmask/prefix-length Currently the netmask/prefix-length of an IPsec SPD entry is not included in any of the SPD related audit messages. This can cause a problem when the audit log is examined as the netmask/prefix-length is vital in determining what network traffic is affected by a particular SPD entry. This patch fixes this problem by adding two additional fields, "src_prefixlen" and "dst_prefixlen", to the SPD audit messages to indicate the source and destination netmasks. These new fields are only included in the audit message when the netmask/prefix-length is less than the address length, i.e. the SPD entry applies to a network address and not a host address. Example audit message: type=UNKNOWN[1415] msg=audit(1196105849.752:25): auid=0 \ subj=root:system_r:unconfined_t:s0-s0:c0.c1023 op=SPD-add res=1 \ src=192.168.0.0 src_prefixlen=24 dst=192.168.1.0 dst_prefixlen=24 In addition, this patch also fixes a few other things in the xfrm_audit_common_policyinfo() function. The IPv4 string formatting was converted to use the standard NIPQUAD_FMT constant, the memcpy() was removed from the IPv6 code path and replaced with a typecast (the memcpy() was acting as a slow, implicit typecast anyway), and two local variables were created to make referencing the XFRM security context and selector information cleaner. Signed-off-by: Paul Moore Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9108d5f4b2cd82f55ad178caa0be66a866a06dcc Author: Arnaldo Carvalho de Melo Date: Thu Nov 29 22:47:15 2007 -0200 [TFRC]: Hide tx history details from the CCIDs Based on a previous patch by Gerrit Renker. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 95bdfccb2bf4ea21c0065772c6a2c75cbaf6ad0d Author: Eric W. Biederman Date: Fri Nov 30 23:55:42 2007 +1100 [NET]: Implement the per network namespace sysctl infrastructure The user interface is: register_net_sysctl_table and unregister_net_sysctl_table. Very much like the current interface except there is a network namespace parameter. With this any sysctl registered with register_net_sysctl_table will only show up to tasks in the same network namespace. All other sysctls continue to be globally visible. Signed-off-by: Eric W. Biederman Cc: Serge Hallyn Cc: Daniel Lezcano Cc: Cedric Le Goater Cc: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e51b6ba077791f2f8c876022b37419be7a2ceec3 Author: Eric W. Biederman Date: Fri Nov 30 23:54:00 2007 +1100 sysctl: Infrastructure for per namespace sysctls This patch implements the basic infrastructure for per namespace sysctls. A list of lists of sysctl headers is added, allowing each namespace to have it's own list of sysctl headers. Each list of sysctl headers has a lookup function to find the first sysctl header in the list, allowing the lists to have a per namespace instance. register_sysct_root is added to tell sysctl.c about additional lists of sysctl_headers. As all of the users are expected to be in kernel no unregister function is provided. sysctl_head_next is updated to walk through the list of lists. __register_sysctl_paths is added to add a new sysctl table on a non-default sysctl list. The only intrusive part of this patch is propagating the information to decided which list of sysctls to use for sysctl_check_table. Signed-off-by: Eric W. Biederman Cc: Serge Hallyn Cc: Daniel Lezcano Cc: Cedric Le Goater Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 23eb06de7d2d333a0f7ebba2da663e00c9c9483e Author: Eric W. Biederman Date: Fri Nov 30 23:52:10 2007 +1100 sysctl: Remember the ctl_table we passed to register_sysctl_paths By doing this we allow users of register_sysctl_paths that build and dynamically allocate their ctl_table to be simpler. This allows them to just remember the ctl_table_header returned from register_sysctl_paths from which they can now find the ctl_table array they need to free. Signed-off-by: Eric W. Biederman Cc: Serge Hallyn Cc: Daniel Lezcano Cc: Cedric Le Goater Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 29e796fd4de54b8f5bc30d897611210ece4fd0f2 Author: Eric W. Biederman Date: Fri Nov 30 23:50:18 2007 +1100 sysctl: Add register_sysctl_paths function There are a number of modules that register a sysctl table somewhere deeply nested in the sysctl hierarchy, such as fs/nfs, fs/xfs, dev/cdrom, etc. They all specify several dummy ctl_tables for the path name. This patch implements register_sysctl_path that takes an additional path name, and makes up dummy sysctl nodes for each component. This patch was originally written by Olaf Kirch and brought to my attention and reworked some by Olaf Hering. I have changed a few additional things so the bugs are mine. After converting all of the easy callers Olaf Hering observed allyesconfig ARCH=i386, the patch reduces the final binary size by 9369 bytes. .text +897 .data -7008 text data bss dec hex filename 26959310 4045899 4718592 35723801 2211a19 ../vmlinux-vanilla 26960207 4038891 4718592 35717690 221023a ../O-allyesconfig/vmlinux So this change is both a space savings and a code simplification. CC: Olaf Kirch CC: Olaf Hering Signed-off-by: Eric W. Biederman Cc: Serge Hallyn Cc: Daniel Lezcano Cc: Cedric Le Goater Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit be0ea7d5da3d99140bde7e5cea328eb111731700 Author: Patrick McHardy Date: Fri Nov 30 01:17:11 2007 +1100 [NETFILTER]: Convert old checksum helper names Kill the defines again, convert to the new checksum helper names and remove the dependency of NET_ACT_NAT on NETFILTER. Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a99a00cf1adef2d3dce745c93c9cc8b0a1612c50 Author: Patrick McHardy Date: Fri Nov 30 01:14:30 2007 +1100 [NET]: Move netfilter checksum helpers to net/core/utils.c This allows to get rid of the CONFIG_NETFILTER dependency of NET_ACT_NAT. This patch redefines the old names to keep the noise low, the next patch converts all users. Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 3159afe0d2c1994392c269cf9dee2797830d016b Author: Gerrit Renker Date: Wed Nov 28 12:06:04 2007 -0200 [DCCP]: Remove duplicate test for CloseReq This removes a redundant test for unexpected packet types. In dccp_rcv_state_process it is tested twice whether a DCCP-server has received a CloseReq (Step 7): * first in the combined if-statement, * then in the call to dccp_rcv_closereq(). The latter is necesssary since dccp_rcv_closereq() is also called from __dccp_rcv_established(). This patch removes the duplicate test. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 0c869620762fea4b3acf6502d9e80840b27ec642 Author: Gerrit Renker Date: Wed Nov 28 11:59:48 2007 -0200 [DCCP]: Integrate state transitions for passive-close This adds the necessary state transitions for the two forms of passive-close * PASSIVE_CLOSE - which is entered when a host receives a Close; * PASSIVE_CLOSEREQ - which is entered when a client receives a CloseReq. Here is a detailed account of what the patch does in each state. 1) Receiving CloseReq The pseudo-code in 8.5 says: Step 13: Process CloseReq If P.type == CloseReq and S.state < CLOSEREQ, Generate Close S.state := CLOSING Set CLOSING timer. This means we need to address what to do in CLOSED, LISTEN, REQUEST, RESPOND, PARTOPEN, and OPEN. * CLOSED: silently ignore - it may be a late or duplicate CloseReq; * LISTEN/RESPOND: will not appear, since Step 7 is performed first (we know we are the client); * REQUEST: perform Step 13 directly (no need to enqueue packet); * OPEN/PARTOPEN: enter PASSIVE_CLOSEREQ so that the application has a chance to process unread data. When already in PASSIVE_CLOSEREQ, no second CloseReq is enqueued. In any other state, the CloseReq is ignored. I think that this offers some robustness against rare and pathological cases: e.g. a simultaneous close where the client sends a Close and the server a CloseReq. The client will then be retransmitting its Close until it gets the Reset, so ignoring the CloseReq while in state CLOSING is sane. 2) Receiving Close The code below from 8.5 is unconditional. Step 14: Process Close If P.type == Close, Generate Reset(Closed) Tear down connection Drop packet and return Thus we need to consider all states: * CLOSED: silently ignore, since this can happen when a retransmitted or late Close arrives; * LISTEN: dccp_rcv_state_process() will generate a Reset ("No Connection"); * REQUEST: perform Step 14 directly (no need to enqueue packet); * RESPOND: dccp_check_req() will generate a Reset ("Packet Error") -- left it at that; * OPEN/PARTOPEN: enter PASSIVE_CLOSE so that application has a chance to process unread data; * CLOSEREQ: server performed active-close -- perform Step 14; * CLOSING: simultaneous-close: use a tie-breaker to avoid message ping-pong (see comment); * PASSIVE_CLOSEREQ: ignore - the peer has a bug (sending first a CloseReq and now a Close); * TIMEWAIT: packet is ignored. Note that the condition of receiving a packet in state CLOSED here is different from the condition "there is no socket for such a connection": the socket still exists, but its state indicates it is unusable. Last, dccp_finish_passive_close sets either DCCP_CLOSED or DCCP_CLOSING = TCP_CLOSING, so that sk_stream_wait_close() will wait for the final Reset (which will trigger CLOSING => CLOSED). Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f11135a3442996d78dad99933bfdb90d1f6588d3 Author: Gerrit Renker Date: Wed Nov 28 11:34:53 2007 -0200 [DCCP]: Dedicated auxiliary states to support passive-close This adds two auxiliary states to deal with passive closes: * PASSIVE_CLOSE (reached from OPEN via reception of Close) and * PASSIVE_CLOSEREQ (reached from OPEN via reception of CloseReq) as internal intermediate states. These states are used to allow a receiver to process unread data before acknowledging the received connection-termination-request (the Close/CloseReq). Without such support, it will happen that passively-closed sockets enter CLOSED state while there is still unprocessed data in the queue; leading to unexpected and erratic API behaviour. PASSIVE_CLOSE has been mapped into TCPF_CLOSE_WAIT, so that the code will seamlessly work with inet_accept() (which tests for this state). The state names are thanks to Arnaldo, who suggested this naming scheme following an earlier revision of this patch. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f53dc67c5e7babafe239b93a11678b0e05bead51 Author: Gerrit Renker Date: Wed Nov 28 08:35:08 2007 +0000 [DCCP]: Use AF-independent rebuild_header routine This fixes a nasty bug: dccp_send_reset() is called by both DCCPv4 and DCCPv6, but uses inet_sk_rebuild_header() in each case. This leads to unpredictable and weird behaviour: under some conditions, DCCPv6 Resets were sent, in other not. The fix is to use the AF-independent rebuild_header routine. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 276f2edc52e309b38a216245952e05880e182c83 Author: Arnaldo Carvalho de Melo Date: Wed Nov 28 11:15:40 2007 -0200 [TFRC]: Migrate TX history to singly-linked lis This patch was based on another made by Gerrit Renker, his changelog was: ------------------------------------------------------ The patch set migrates TFRC TX history to a singly-linked list. The details are: * use of a consistent naming scheme (all TFRC functions now begin with `tfrc_'); * allocation and cleanup are taken care of internally; * provision of a lookup function, which is used by the CCID TX infrastructure to determine the time a packet was sent (in turn used for RTT sampling); * integration of the new interface with the present use in CCID3. ------------------------------------------------------ Simplifications I did: . removing the tfrc_tx_hist_head that had a pointer to the list head and another for the slabcache. . No need for creating a slabcache for each CCID that wants to use the TFRC tx history routines, create a single slabcache when the dccp_tfrc_lib module init routine is called. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ea4f76ae13b4240dac304ed50636391d6b22e9c5 Author: Ilpo Järvinen Date: Fri Nov 30 00:59:07 2007 +1100 [TCP]: Two fixes to new sacktag code 1) Skip condition used to be wrong way around which made SACK processing very broken, missed many blocks because of that. 2) Use highest_sack advancement only if some skbs are already sacked because otherwise tcp_write_queue_next may move things too far (occurs mainly with GSO). The other similar advancement is not problem because highest_sack was previosly put to point a sacked skb. These problems were located because of problem report from Matt Mathis . Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit df1b86c53dc56b1a3125b6792356066ac3af4254 Author: Pavel Emelyanov Date: Fri Nov 30 00:42:42 2007 +1100 [NET]: Nicer WARN_ON in netstat_show The if (statement) WARN_ON(1); looks much better as WARN_ON(statement); Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c7dc89c0ac8e7c3796bff91becf58ccdbcaf9f18 Author: Fred L. Templin Date: Thu Nov 29 22:11:40 2007 +1100 [IPV6]: Add RFC4214 support This patch includes support for the Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) per RFC4214. It uses the SIT module, and is configured using extensions to the "iproute2" utility. The diffs are specific to the Linux 2.6.24-rc2 kernel distribution. This version includes the diff for ./include/linux/if.h which was missing in the v2.4 submission and is needed to make the patch compile. The patch has been installed, compiled and tested in a clean 2.6.24-rc2 kernel build area. Signed-off-by: Fred L. Templin Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit df97c708d5e6eebdd9ded1fa588eae09acf53793 Author: Pavel Emelyanov Date: Thu Nov 29 21:22:33 2007 +1100 [NET]: Eliminate unused argument from sk_stream_alloc_pskb The 3rd argument is always zero (according to grep :) Eliminate it and merge the function with sk_stream_alloc_skb. This saves 44 more bytes, and together with the previous patch we have: add/remove: 1/0 grow/shrink: 0/8 up/down: 183/-751 (-568) function old new delta sk_stream_alloc_skb - 183 +183 ip_rt_init 529 525 -4 arp_ignore 112 107 -5 __inet_lookup_listener 284 274 -10 tcp_sendmsg 2583 2481 -102 tcp_sendpage 1449 1300 -149 tso_fragment 417 258 -159 tcp_fragment 1149 988 -161 __tcp_push_pending_frames 1998 1837 -161 Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f561d0f27d6283c49359bb96048f8ac3728c812c Author: Pavel Emelyanov Date: Thu Nov 29 20:28:50 2007 +1100 [NET]: Uninline the sk_stream_alloc_pskb This function seems too big for inlining. Indeed, it saves half-a-kilo when uninlined: add/remove: 1/0 grow/shrink: 0/7 up/down: 195/-719 (-524) function old new delta sk_stream_alloc_pskb - 195 +195 ip_rt_init 529 525 -4 __inet_lookup_listener 284 274 -10 tcp_sendmsg 2583 2486 -97 tcp_sendpage 1449 1305 -144 tso_fragment 417 267 -150 tcp_fragment 1149 992 -157 __tcp_push_pending_frames 1998 1841 -157 Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 3015a347dcd470fcc8becf1f84b0502391a3c0e0 Author: Joonwoo Park Date: Mon Nov 26 23:31:24 2007 +0800 [IPV4] fib_hash: kmalloc + memset conversion to kzalloc fib_hash: kmalloc + memset conversion to kzalloc fix to avoid memset entirely. Signed-off-by: Joonwoo Park Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 88f8349164cf4035e63db9e6f484e0ce9cb17e47 Author: Joonwoo Park Date: Mon Nov 26 23:29:32 2007 +0800 [IPV4] fib_semantics: kmalloc + memset conversion to kzalloc fib_semantics: kmalloc + memset conversion to kzalloc fix to avoid memset entirely. Signed-off-by: Joonwoo Park Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit dcaee95a1b396f85cdc28099f39710be328d3a5e Author: Joonwoo Park Date: Mon Nov 26 23:23:21 2007 +0800 [IPSEC]: kmalloc + memset conversion to kzalloc 2007/11/26, Patrick McHardy : > How about also switching vmalloc/get_free_pages to GFP_ZERO > and getting rid of the memset entirely while you're at it? > xfrm_hash: kmalloc + memset conversion to kzalloc fix to avoid memset entirely. Signed-off-by: Joonwoo Park Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8512430e554a84275669f78f86dce18566d5cf7a Author: Ilpo Järvinen Date: Mon Nov 26 20:17:38 2007 +0800 [TCP]: Move FRTO checks out from write queue abstraction funcs Better place exists in update_send_head (other non-queue related adjustments are done there as well) which is the only caller of tcp_advance_send_head (now that the bogus call from mtu_probe is gone). Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 82d8a867ffaed7fe58e789103b32c0fc6b79dafd Author: Pavel Emelyanov Date: Mon Nov 26 20:12:58 2007 +0800 [NET]: Make macro to specify the ptype_base size Currently this size is 16, but as the comment says this is so only because all the chains (except one) has the length 1. I think, that some day this may change, so growing this hash will be much easier. Besides, symbolic names are read better than magic constants. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8d8ad9d7c4bfe79bc91b7fc419ecfb9dcdfe6a51 Author: Pavel Emelyanov Date: Mon Nov 26 20:10:50 2007 +0800 [NET]: Name magic constants in sock_wake_async() The sock_wake_async() performs a bit different actions depending on "how" argument. Unfortunately this argument ony has numerical magic values. I propose to give names to their constants to help people reading this function callers understand what's going on without looking into this function all the time. I suppose this is 2.6.25 material, but if it's not (or the naming seems poor/bad/awful), I can rework it against the current net-2.6 tree. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ce865a61c810c971b47f57c729ec6e9b2d522d94 Author: Gerrit Renker Date: Sat Nov 24 22:14:15 2007 -0200 [DCCP]: Add support for abortive release This continues from the previous patch and adds support for actively aborting a DCCP connection, using a Reset Code 2, "Aborted" to inform the peer of an abortive release. I have tried this in various client/server settings and it works as expected. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d83bd95bf11444993b9c405b255ffa644c32d414 Author: Gerrit Renker Date: Sun Dec 16 16:06:03 2007 -0800 [DCCP]: Check for unread data on close This removes one FIXME with regard to close when there is still unread data. The mechanism is implemented similar to TCP: with regard to DCCP-specifics, a Reset with Code 2, "Aborted" is sent to the peer. This corresponds in part to RFC 4340, 8.1.1 and 8.1.5. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit dcfbc7e97a2e3a0d73a2e41e1bddb988dcca701e Author: Gerrit Renker Date: Sat Nov 24 22:12:06 2007 -0200 [CCID2]: Remove misleading comment This removes a comment which identifies an `issue' with dccp_write_xmit() where there is none. The comment assumes it is possible that a packet is sent between the calls to ccid_hc_tx_send_packet(), dccp_transmit_skb(), ccid_hc_tx_packet_sent() (in the above order) in dccp_write_xmit(). I think that this is impossible, since dccp_write_xmit() is always called under lock: * when called as dccp_write_xmit(sk, 1) from dccp_send_close(), the socket is locked (see code comment above dccp_send_close()); * when called as dccp_write_xmit(sk, 0) from dccp_send_msg(), it is after lock_sock() has been called; * when called as dccp_write_xmit(sk, 0) from dccp_write_xmit_timer(), bh_lock_sock() has been called and the if/else statement has made sure that sk_lock.owner is not set; * there are no other places where dccp_write_xmit() is called. Furthermore, the debug statement for printing the sequence number of the packet just sent has been removed, since the entire list is being printed anyway and so the entry of that number appears last. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a302002516a094015e5d004b8d939a8a34559c82 Author: Gerrit Renker Date: Sat Nov 24 22:10:29 2007 -0200 [CCID2]: Remove redundant ack-counting variable The code used two different variables to count Acks, one of them redundant. This patch reduces the number of Ack counters to one. The type of the Ack counter has also been changed to u32 (twice the range of int); and the variable has been renamed into `packets_acked' - for consistency with RFC 3465 (and similarly named variables are used by TCP and SCTP). Lastly, a slightly less aggressive `maxincr' increment is used (for even Ack Ratios, maxincr was Ack Ratio/2 + 1 instead of Ack Ratio/2). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 83399361c30f2ffae20ee348ba9ada9a856d499a Author: Gerrit Renker Date: Sat Nov 24 22:09:35 2007 -0200 [CCID2]: Remove redundant synchronisation variable This removes the synchronisation variable `ccid2hctx_sendwait', which is set to 1 when the CCID2 sender may send a new packet, and which is set to 0 otherwise The variable is redundant, since it is only used in combination with the hc_tx_send_packet/ hc_tx_packet_sent function pair. Both functions are called under socket lock, so the following happens when the CCID2 may send a new packet: * it sets sendwait = 1 in tx_send_packet and returns 0; * the subsequent call to tx_packet_sent clears the sendwait flag; * since tx_send_packet returns 0 if and only if sendwait == 1, the BUG_ON condition in tx_packet_sent is never satisfied, since that function is never called when tx_send_packet returns a value different from 0 (cf. dccp_write_xmit); * the call to tx_packet_sent clears the flag so that the condition "!sendwait" is true the next time tx_packet_sent is called. In other words, it is sufficient to just return 0 / not-0 to synchronise tx_send_packet and tx_packet_sent -- which is what the patch does. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit da98e0b5d4c1f88b7c9e63e8918783cd4905be2b Author: Gerrit Renker Date: Sat Nov 24 22:08:27 2007 -0200 [CCID2]: Redundant debugging output This reduces the amount of redundant debugging messages: * pipe/cwnd are printed in both tx_send_packet() and tx_packet_sent(). Both functions are called immediately after one another, so one occurrence is sufficient. * Since tx_packet_sent() prints pipe/cwnd already, the second printk for pipe is redundant. * In tx_packet_sent() the check_sanity function is called twice (at the begin and at the end). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 95b21d7e9d099f1cffca08e40f292d6658a88b3c Author: Gerrit Renker Date: Sat Nov 24 22:06:52 2007 -0200 [CCID2]: Replace pipe assignment-function with assignment The function ccid2_change_pipe only does an assignment. This patch simplifies the code by replacing the function with the assignment it performs. Furthermore, the type of pipe is promoted from `signed' to unsigned (increasing the range). As a result, a BUG_ON test for negative values now becomes obsolete (for safety not removed, but replaced with a less annoying `DCCP_BUG'). Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 3deeadd74bbf916b502d307222833ffcf68db557 Author: Gerrit Renker Date: Sat Nov 24 22:05:51 2007 -0200 [CCID2]: Replace cwnd assignment-function with assignment The current function ccid2_change_cwnd in effect makes only an assignment, as the test whether cwnd has reached 0 is only required when cwnd is halved. This patch simplifies the code by replacing the function with the assignment it performs. Furthermore, since ssthresh derives from cwnd and appears in many assignments and comparisons, the type of ssthresh has also been changed to match that of cwnd. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 63df18ad7fb91c65dafc89d3cf94a58a486ad416 Author: Gerrit Renker Date: Sat Nov 24 22:04:35 2007 -0200 [CCID2]: Replace read-only variable with constant This replaces the field member `numdupack', which was used as a read-only constant in the code, with a #define. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7792cd8885954eb7ac38e781a7a9faae5a80a3d8 Author: Gerrit Renker Date: Sat Nov 24 22:01:56 2007 -0200 [CCID2]: Remove unused variable This removes a variable `ccid2hctx_sent' which is incremented but never referenced/read (i.e., dead code). Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 900bfed4718126e6c32244903b6f43e0990d04ad Author: Gerrit Renker Date: Sat Nov 24 21:58:33 2007 -0200 [CCID2]: Disable broken Ack Ratio adaptation algorithm This comments out a problematic section comprising a half-finished algorithm: - The variable `ccid2hctx_ackloss' is never initialised to a value different from 0 and hence in fact is a read-only constant. - The `arsent' variable counts packets other than Acks (it is incremented for every packet), and there is no test for Ack Loss. - The concept of counting Acks as such leads to a complex calculation, and the calculation at the moment is inconsistent with this concept. The problem is that the number of Acks - rather than the number of windows - is counted, which leads to a complex (cubic/quadratic) expression - this is not even implemented. In its current state, the commented-out algorithm interfers with normal processing by changing Ack Ratio incorrectly, and at the wrong times. A new algorithm is necessary, which will not necessarily use the same variables as used by the unfinished one; hence the old variables have been removed. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b00d2bbc45a287c9a72374582ce42205f3412419 Author: Gerrit Renker Date: Sat Nov 24 21:44:30 2007 -0200 [CCID2]: Larger initial windows also for CCID2 RFC 4341, sec. 5 states that "The cwnd parameter is initialized to at most four packets for new connections, following the rules from [RFC3390]", which is implemented by this patch. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e18d7a9857cb620a8f70622c4e400be477c264cf Author: Arnaldo Carvalho de Melo Date: Sat Nov 24 21:42:53 2007 -0200 [DCCP]: Initialize dccp_sock before calling the ccid constructors This is because in the next patch CCID2 will assume that dccps_mss_cache is non-zero. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d50ad163e6db2dcc365b8d02b30350220f86df04 Author: Gerrit Renker Date: Sat Nov 24 21:40:24 2007 -0200 [CCID2]: Deadlock and spurious timeouts when Ack Ratio > cwnd This patch removes a bug in the current code. I agree with Andrea's comment that there is a problem here but the way it is treated does not fix it. The problem is that whenever Ack Ratio > cwnd, starvation/deadlock occurs: * the receiver will not send an Ack until (Ack Ratio - cwnd) data packets have arrived; * the sender will not send any data packet before the receipt of an Ack advances the send window. The only way that the connection then progresses was via RTO timeout. In one extreme case (bulk transfer), it was observed that this happened for every single packet; i.e. hundreds of packets, each a RTO timeout of 1..3 seconds apart: a transfer which normally would take a fraction of a second thus grew to several minutes. The solution taken by this approach is to observe the relation "Ack Ratio <= cwnd" by using the constraint (1) from RFC 4341, 6.1.2; i.e. set Ack Ratio = ceil(cwnd / 2) and update it whenever either Ack Ratio or cwnd change. This ensures that the deadlock problem can not arise. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit df054e1d00fdafa2e2920319df326ddb3f0d0413 Author: Gerrit Renker Date: Sat Nov 24 21:32:53 2007 -0200 [CCID2]: Don't assign negative values to Ack Ratio Since it makes not sense to assign negative values to Ack Ratio, this patch disallows this possibility. As a consequence, a Bug test for negative Ack Ratio values becomes obsolete. Furthermore, a check against overflow (as Ack Ratio may not exceed 2 bytes, due to RFC 4340, 11.3) has been added. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit cfbbeabc8864902c4af1c0cadf0972b352930a26 Author: Gerrit Renker Date: Sat Nov 24 20:43:59 2007 -0200 [CCID2]: Fix sequence number arithmetic/comparisons This replaces use of normal subtraction with modulo-48 subtraction. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 3de5489f47febe0333b142e0eb6389b9924b2634 Author: Gerrit Renker Date: Sat Nov 24 20:37:48 2007 -0200 [CCID2]: Bug in reading Ack Vectors In CCID2 the receiver-history is sorted in ascending order of sequence number, but the processing of received Ack Vectors requires the list traversal in the opposite direction. The current code has a bug in this regard: the list traversal is upwards. As a consequence, only Ack Vectors with a run length of 1 will pass, in all other Ack Vectors the remaining (acked) sequence numbers are missed, and may later falsely be identified as lost. Note: This bug is only visible when Ack Ratio > 1, since otherwise the run lengths of Ack Vectors are 0. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a47c51044a77124ce66cd8513bba6f4d7673e43d Author: Gerrit Renker Date: Sun Dec 30 04:19:31 2007 -0800 [ACKVEC]: Reduce length of identifiers This is reduces the length of the struct ackvec/ackvec_record fields. It is a purely text-based replacement: s#dccpavr_#avr_#g; s#dccpav_#av_#g; and increases readability somewhat. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e7d0362dd41e760f340c1b500646cc92522bd9d5 Author: Ilpo Järvinen Date: Mon Nov 26 23:34:54 2007 +0800 [PCOUNTER] Fix build error without CONFIG_SMP I keep getting this build error and couldn't find anyone fixing it in archives. ...Maybe all net developers except me build just SMP kernels :-). In file included from include/net/sock.h:50, from ipc/mqueue.c:35: include/linux/pcounter.h: In function 'pcounter_add': include/linux/pcounter.h:87: error: 'struct pcounter' has no member named 'value' make[1]: *** [ipc/mqueue.o] Error 1 make: *** [ipc] Error 2 Signed-off-by: Ilpo Järvinen Acked-by: Arnaldo Carvalho de Melo Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f1267347353b586e1a89a7d02c142be975bae699 Author: Pavel Emelyanov Date: Fri Nov 23 21:28:44 2007 +0800 [IPV6]: Correct the comment concerning inetsw6 table It seems that net/ipv6/af_inet6.c was copied from net/ipv4/af_inet.c, but one comment was not fixed. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a53eb3feb2718bf906e81be89fae823b9b6157b6 Author: Pavel Emelyanov Date: Fri Nov 23 20:30:01 2007 +0800 [UNIX] Move the unix sock iterators in to proper place The first_unix_socket() and next_unix_sockets() are now used in proc file and in forall_unix_socets macro only. The forall_unix_sockets is not used in this file at all so remove it. After this move the helpers to where they really belong, i.e. closer to proc code under the #ifdef CONFIG_PROC_FS option. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c28149016c24f4399c0a1eb0ebc15c92611223f0 Author: Gerrit Renker Date: Wed Nov 21 10:14:31 2007 -0200 [DCCP]: Update documentation on ioctls Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit c86ab2b6a5deec2223a606b90c001bedda9d950b Author: Gerrit Renker Date: Wed Nov 21 10:13:53 2007 -0200 [DCCP]: Ignore Ack Vectors / Elapsed Time on DCCP-Request also Small update with regard to RFC 4340 (references added as documentation): on Requests, Ack Vectors / Elapsed Time should be ignored. Length handling of Elapsed Time also simplified. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 6d57b43bf810cd66ccf252c04ba65c3e8e56cbb1 Author: Gerrit Renker Date: Wed Nov 21 10:11:52 2007 -0200 [DCCP]: Remove redundant dependency on IP_DCCP This cleans up the consequences of an earlier patch which introduced the `if IP_DCCP' clause into net/dccp/Kconfig. The CCID Kconfig menu is sourced within this clause; as a consequence, all tests of type `depends on IP_DCCP' are now redundant. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e333b3edc489151afda2a4f6c798842c64cb67a4 Author: Gerrit Renker Date: Wed Nov 21 10:09:56 2007 -0200 [DCCP]: Promote CCID2 as default CCID This patch addresses the following problems: 1. DCCP relies for its proper functioning on having at least one CCID module enabled (as in TCP plugable congestion control). Currently it is possible to disable both CCIDs and thus leave the DCCP module in a compiled, but entirely non-functional state: no sockets can be created when no CCID is available. Furthermore, the protocol is (again like TCP) not intended to be used without CCIDs. Last, a non-empty CCID list is needed for doing CCID feature negotiation. 2. Internally the default CCID that is advertised by the Linux host is set to CCID2 (DCCPF_INITIAL_CCID in include/linux/dccp.h). Disabling CCID2 in the Kconfig menu without changing the defaults leads to a failure `module not found' when trying to load the dccp module (which internally tries to load the default CCID). 3. The specification (RFC 4340, sec. 10) treats CCID2 somewhat like a `minimum common denominator'; the specification says that: * "New connections start with CCID 2 for both endpoints" * "A DCCP implementation intended for general use, such as an implementation in a general-purpose operating system kernel, SHOULD implement at least CCID 2. The intent is to make CCID 2 broadly available for interoperability [...]" Providing CCID2 as minimum-required CCID (like Reno/Cubic in TCP) thus seems reasonable. Hence this patch automatically selects CCID2 when DCCP is enabled. Documentation also added. Discussions with Ian McDonald on this subject are gratefully acknowledged. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ebe6f7e73c3efec1de295205806b4550fcb468cd Author: Gerrit Renker Date: Wed Nov 21 10:00:17 2007 -0200 [DCCP]: Update documentation This updates the DCCP documentation, following input from Ian McDonald, clarifiying the status of DCCP, and adding a note about the test tree. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8e8c71f1ab0ca1c4e74efad14533b991524dcb6c Author: Gerrit Renker Date: Wed Nov 21 09:56:48 2007 -0200 [DCCP]: Honour and make use of shutdown option set by user This extends the DCCP socket API by honouring any shutdown(2) option set by the user. The behaviour is, as much as possible, made consistent with the API for TCP's shutdown. This patch exploits the information provided by the user via the socket API to reduce processing costs: * if the read end is closed (SHUT_RD), it is not necessary to deliver to input CCID; * if the write end is closed (SHUT_WR), the same idea applies, but with a difference - as long as the TX queue has not been drained, we need to receive feedback to keep congestion-control rates up to date. Hence SHUT_WR is honoured only after the last packet (under congestion control) has been sent; * although SHUT_RDWR seems nonsensical, it is nevertheless supported in the same manner as for TCP (and agrees with test for SHUTDOWN_MASK in dccp_poll() in net/dccp/proto.c). Furthermore, most of the code already honours the sk_shutdown flags (dccp_recvmsg() for instance sets the read length to 0 if SHUT_RD had been called); CCID handling is now added to this by the present patch. There will also no longer be any delivery when the socket is in the final stages, i.e. when one of dccp_close(), dccp_fin(), or dccp_done() has been called - which is fine since at that stage the connection is its final stages. Motivation and background are on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/shutdown A FIXME has been added to notify the other end if SHUT_RD has been set (RFC 4340, 11.7). Note: There is a comment in inet_shutdown() in net/ipv4/af_inet.c which asks to "make sure the socket is a TCP socket". This should probably be extended to mean `TCP or DCCP socket' (the code is also used by UDP and raw sockets). Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 9b91ad2747891767c0efb4fb965c5dfed8d4f88e Author: Gerrit Renker Date: Tue Nov 20 21:56:37 2007 -0200 [DCCP]: Make PARTOPEN an autonomous state This decouples PARTOPEN from TCP-specific stream-states. It thus addresses the FIXME. The code has been checked with regard to dependency on PARTOPEN and FIN_WAIT1 states (to which PARTOPEN previously was mapped): there is no difference, as PARTOPEN is always referred to directly (i.e. not via the mapping to TCP state). Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit c3ada46a009001e144b29736880962f24ee2afdf Author: Gerrit Renker Date: Tue Nov 20 18:09:59 2007 -0200 [CCID3]: Inline for moving average The moving average computation occurs so frequently in the CCID 3 code that it merits an inline function of its own. This is uses a suggestion by Arnaldo as per http://www.mail-archive.com/dccp@vger.kernel.org/msg01662.html Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a5358fdc9c52e44d79dcd144375e089e166508d7 Author: Gerrit Renker Date: Tue Nov 20 18:01:59 2007 -0200 [CCID3]: Accurately determine idle & application-limited periods This fixes/updates the handling of idle and application-limited periods in CCID3, which currently is broken: there is no detection as to how long a sender has been idle - there is only one flag which is toggled in between function calls. Being obsolete now, the `idle' flag is removed. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit eb279b79c46be767ecffadaa8ed6be3e3555e93d Author: Gerrit Renker Date: Tue Nov 20 18:00:39 2007 -0200 [CCID3]: Ignore trivial amounts of elapsed time This patch fixes a previously undiscovered bug; the problem is in computing the elapsed time as the time between `receiving' the packet (i.e. skb enters CCID module) and sending feedback: - there is no layer-processing, queueing, or delay involved, - hence the elapsed time is in the order of 1 function call - this is in the dimension of maximally 50..100usec - which renders the use of elapsed time almost entirely useless. The fix is simply to ignore such trivial amounts of elapsed time. As a further advantage, the now useless elapsed_time field can be removed from the socket, which reduces the socket structure by another four bytes. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 6c08b2cf4843788e66a5e69b5512538e686ae3e3 Author: Gerrit Renker Date: Tue Nov 20 17:33:17 2007 -0200 [CCID3]: Revert use of MSS instead of s This updates the CCID3 code with regard to two instances of using `MSS' in place of `s': 1. The RFC3390-based initial rate: both rfc3448bis as well as the Faster Restart draft now consistently use `s' instead of MSS. 2. Now agrees with section 4.2 of rfc3448bis: "If the sender is ready to send data when it does not yet have a round trip sample, the value of X is set to s bytes per second, for segment size s [...]" Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ebb53d75657f86587ac8cf3e38ab0c860a8e3d4f Author: Arnaldo Carvalho de Melo Date: Wed Nov 21 22:08:50 2007 +0800 [NET] proto: Use pcounters for the inuse field Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit de4d1db369785c29d68915edfee0cb70e8199f4c Author: Arnaldo Carvalho de Melo Date: Wed Nov 21 22:02:58 2007 +0800 [LIB]: Introduce struct pcounter This just generalises what was introduced by Eric Dumazet for the struct proto inuse field in 286ab3d46058840d68e5d7d52e316c1f7e98c59f: [NET]: Define infrastructure to keep 'inuse' changes in an efficent SMP/NUMA way. Please look at the comment in there to see the rationale. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0c884439dbd7c895cce61c4974c8868b0f6cd4a1 Author: Johannes Berg Date: Fri Nov 16 02:17:07 2007 +0100 mac80211: remove more forgotten code Hopefully that's the rest. Seems I didn't do a very thorough job removing the management interface. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6b4e324164c683a7b4c1bd0be4d85f9a5a0f0e90 Author: Ron Rindjunsky Date: Wed Nov 14 19:57:38 2007 +0200 mac80211: adding 802.11n definitions in ieee80211.h This patch adds several structs and definitions to ieee80211.h to support 802.11n draft specifications. As 802.11n depends on and extends the 802.11e standard in several issues, there are also several definitions that belong to 802.11e. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 48933dea47c947f1d44631ce2292736e6a48eef1 Author: Helmut Schaa Date: Fri Nov 9 16:26:09 2007 +0100 mac80211: Remove local->scan_flags This patch removes all references to local->scan_flags as these are not used anymore since the removal of prism2 ioctls. Signed-off-by: Helmut Schaa Signed-off-by: Jiri Benc Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit dabeb344f54ab780d152714c18f1cb6b21c471a1 Author: Johannes Berg Date: Fri Nov 9 01:57:29 2007 +0100 mac80211: provide interface iterator for drivers Sometimes drivers need to know which interfaces are associated with their hardware. Rather than forcing those drivers to keep track of the interfaces that were added, this adds an iteration function to mac80211. As it is intended to be used from the interface add/remove callbacks, the iteration function may currently only be called under RTNL. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 9859a79023d71dd4e56c195a345abc4112abfd02 Author: Pavel Emelyanov Date: Mon Nov 19 23:20:59 2007 -0800 [NET]: Compact sk_stream_mem_schedule() code This function references sk->sk_prot->xxx for many times. It turned out, that there's so many code in it, that gcc cannot always optimize access to sk->sk_prot's fields. After saving the sk->sk_prot on the stack and comparing disassembled code, it turned out that the function became ~10 bytes shorter and made less dereferences (on i386 and x86_64). Stack consumption didn't grow. Besides, this patch drives most of this function into the 80 columns limit. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 3ef1355dcb8551730cc71e9ef4363f5c66ccad17 Author: Benjamin Thery Date: Mon Nov 19 23:18:16 2007 -0800 [NET]: Make netns cleanup to run in a separate queue This patch adds a separate workqueue for cleaning up a network namespace. If we use the keventd workqueue to execute cleanup_net(), there is a problem to unregister devices in IPv6. Indeed the code that cleans up also schedule work in keventd: as long as cleanup_net() hasn't return, dst_gc_task() cannot run and as long as dst_gc_task() has not run, there are still some references pending on the net devices and cleanup_net() can not unregister and exit the keventd workqueue. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Acked-by: Denis V. Lunev Acked-By: Kirill Korotaev Signed-off-by: David S. Miller commit 85b606800be20ceeca36bd8594c1eb228d2fb2f4 Author: Pavel Emelyanov Date: Mon Nov 19 22:52:41 2007 -0800 [IPVS]: Relax the module get/put in ip_vs_app.c Both try_module_get/module_put already handle the module == NULL case, so no need in manual checking. This patch fits both net-2.6 and net-2.6.25. Signed-off-by: Pavel Emelyanov Acked-by: Simon Horman Signed-off-by: David S. Miller commit 52427c9d11477d5a2633d81050f52523decf9eff Author: Akinobu Mita Date: Mon Nov 19 22:46:51 2007 -0800 [TUN]: Use iov_length() Use iov_length() instead of tun's homemade iov_total(). Signed-off-by: Akinobu Mita Signed-off-by: David S. Miller commit 02d45827fa211093202f96bdd58020cc8687929f Author: Adrian Bunk Date: Mon Nov 19 22:45:20 2007 -0800 [NET] net/core/request_sock.c: Remove unused exports. This patch removes the following unused EXPORT_SYMBOL's: - reqsk_queue_alloc - __reqsk_queue_destroy - reqsk_queue_destroy Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit beb659bd8c9f2ccc8195779383f71088f936bf6e Author: Eric Dumazet Date: Mon Nov 19 22:43:37 2007 -0800 [PATCH] IPV4 : Move ip route cache flush (secret_rebuild) from softirq to workqueue Every 600 seconds (ip_rt_secret_interval), a softirq flush of the whole ip route cache is triggered. On loaded machines, this can starve softirq for many seconds and can eventually crash. This patch moves this flush to a workqueue context, using the worker we intoduced in commit 39c90ece7565f5c47110c2fa77409d7a9478bd5b (IPV4: Convert rt_check_expire() from softirq processing to workqueue.) Also, immediate flushes (echo 0 >/proc/sys/net/ipv4/route/flush) are using rt_do_flush() helper function, wich take attention to rescheduling. Next step will be to handle delayed flushes ("echo -1 >/proc/sys/net/ipv4/route/flush" or "ip route flush cache") Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 42a73808ed4f30b739eb52bcbb33a02fe62ceef5 Author: Pavel Emelyanov Date: Mon Nov 19 22:38:33 2007 -0800 [RAW]: Consolidate proc interface. Both ipv6/raw.c and ipv4/raw.c use the seq files to walk through the raw sockets hash and show them. The "walking" code is rather huge, but is identical in both cases. The difference is the hash table to walk over and the protocol family to check (this was not in the first virsion of the patch, which was noticed by YOSHIFUJI) Make the ->open store the needed hash table and the family on the allocated raw_iter_state and make the start/next/stop callbacks work with it. This removes most of the code. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit ab70768ec78c6784958bab3b58fbe3f4150006df Author: Pavel Emelyanov Date: Mon Nov 19 22:37:58 2007 -0800 [RAW]: Consolidate proto->unhash callback Same as the ->hash one, this is easily consolidated. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 65b4c50b47c4ac3d2b5a82e5553b8e5613fb9585 Author: Pavel Emelyanov Date: Mon Nov 19 22:37:24 2007 -0800 [RAW]: Consolidate proto->hash callback Having the raw_hashinfo it's easy to consolidate the raw[46]_hash functions. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b673e4dfc8f29e5bfe4d342029b793e9d504f6dd Author: Pavel Emelyanov Date: Mon Nov 19 22:36:45 2007 -0800 [RAW]: Introduce raw_hashinfo structure The ipv4/raw.c and ipv6/raw.c contain many common code (most of which is proc interface) which can be consolidated. Most of the places to consolidate deal with the raw sockets hashtable, so introduce a struct raw_hashinfo which describes the raw sockets hash. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 69d6da0b0faa70249a243a14e6066c013e9294e5 Author: Pavel Emelyanov Date: Mon Nov 19 22:35:57 2007 -0800 [IPv6] RAW: Compact the API for the kernel Same as in the previous patch for ipv4, compact the API and hide hash table and rwlock inside the raw.c file. Plus fix some "bad" places from checkpatch.pl point of view (assignments inside if()). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7bc54c90307b4bc3d7fb2ffd6ad8fbda0671a45e Author: Pavel Emelyanov Date: Mon Nov 19 22:35:07 2007 -0800 [IPv4] RAW: Compact the API for the kernel The raw sockets functions are explicitly used from inside the kernel in two places: 1. in ip_local_deliver_finish to intercept skb-s 2. in icmp_error For this purposes many functions and even data structures, that are naturally internal for raw protocol, are exported. Compact the API to two functions and hide all the other (including hash table and rwlock) inside the net/ipv4/raw.c Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e372c41401993b45c721c4d92730e7e0a79f7c1b Author: Denis V. Lunev Date: Mon Nov 19 22:31:54 2007 -0800 [NET]: Consolidate net namespace related proc files creation. Signed-off-by: Denis V. Lunev Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 097e66c578459f79e3a2128c54e9df5194e1419a Author: Denis V. Lunev Date: Mon Nov 19 22:29:30 2007 -0800 [NET]: Make AF_UNIX per network namespace safe [v2] Because of the global nature of garbage collection, and because of the cost of per namespace hash tables unix_socket_table has been kept global. With a filter added on lookups so we don't see sockets from the wrong namespace. Currently I don't fold the namesapce into the hash so multiple namespaces using the same socket name will be guaranteed a hash collision. Changes from v1: - fixed unix_seq_open Signed-off-by: Denis V. Lunev Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit d12d01d6b4d197115c4d7736172b5b1ec8b1eb71 Author: Denis V. Lunev Date: Mon Nov 19 22:28:35 2007 -0800 [NET]: Make AF_PACKET handle multiple network namespaces This is done by making packet_sklist_lock and packet_sklist per network namespace and adding an additional filter condition on received packets to ensure they came from the proper network namespace. Changes from v1: - prohibit to call inet_dgram_ops.ioctl in other than init_net Signed-off-by: Denis V. Lunev Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 4b3da706bbe4613d2fe4df8df4d965954ea98964 Author: Eric W. Biederman Date: Mon Nov 19 22:27:40 2007 -0800 [NET]: Make the netlink methods in rtnetlink handle multiple network namespaces After the previous prep work this just consists of removing checks limiting the code to work in the initial network namespace, and updating rtmsg_ifinfo so we can generate events for devices in something other then the initial network namespace. Referring to network other network devices like the IFLA_LINK and IFLA_MASTER attributes do, gets interesting if those network devices happen to be in other network namespaces. Currently ifindex numbers are allocated globally so I have taken the path of least resistance and not still report the information even though the devices they are talking about are invisible. If applications start getting confused or when ifindex numbers become local to the network namespace we may need to do something different in the future. Signed-off-by: Eric W. Biederman Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 97c53cacf00d1f5aa04adabfebcc806ca8b22b10 Author: Denis V. Lunev Date: Mon Nov 19 22:26:51 2007 -0800 [NET]: Make rtnetlink infrastructure network namespace aware (v3) After this patch none of the netlink callback support anything except the initial network namespace but the rtnetlink infrastructure now handles multiple network namespaces. Changes from v2: - IPv6 addrlabel processing Changes from v1: - no need for special rtnl_unlock handling - fixed IPv6 ndisc Signed-off-by: Denis V. Lunev Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit b854272b3c732316676e9128f7b9e6f1e1ff88b0 Author: Denis V. Lunev Date: Sat Dec 1 00:21:31 2007 +1100 [NET]: Modify all rtnetlink methods to only work in the initial namespace (v2) Before I can enable rtnetlink to work in all network namespaces I need to be certain that something won't break. So this patch deliberately disables all of the rtnletlink methods in everything except the initial network namespace. After the methods have been audited this extra check can be disabled. Changes from v1: - added IPv6 addrlabel protection Signed-off-by: Denis V. Lunev Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller Signed-off-by: Herbert Xu commit ad5d20a63940fcfb40af76ba06148f36d5d0b433 Author: Patrick McHardy Date: Mon Nov 19 22:00:42 2007 -0800 [MACVLAN]: Allow setting mac address while device is up Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 59891d53f4a31402f8bd1f8c89e0e2c07d51b2cd Author: Patrick McHardy Date: Mon Nov 19 22:00:00 2007 -0800 [MACVLAN]: Remove unnecessary IFF_UP check Only devices that are UP are in the hash, so macvlan_broadcast() doesn't need to check for IFF_UP. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1b0b04f9fb657a9ee85e3b9388394b9b943f7ffc Author: David S. Miller Date: Mon Nov 19 21:56:16 2007 -0800 [IPCONFIG]: Mark vendor_class_identifier as __initdata. Based upon a suggestion by Francois Romieu. Signed-off-by: David S. Miller commit b209639e8a91aaabedf8bf3716710e6d9ae942e3 Author: Rumen G. Bogdanovski Date: Mon Nov 19 21:53:27 2007 -0800 [IPVS]: Create synced connections with their real state With this patch the synced connections are created with their real state, which can be changed on the next synchronizations if necessary. This way on fail-over all the connections will be treated according to their actual state, causing no scheduling problems (the active and the nonactive connections have different weights in the schedulers). The backwards compatibility is preserved and the existing tools will show the true connection states even on the backup director. Signed-off-by: Rumen G. Bogdanovski Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit 7a4fbb1fa46e1a84c246e7bcd99bff45935bf114 Author: Rumen G. Bogdanovski Date: Mon Nov 19 21:52:42 2007 -0800 [IPVS]: Flag synced connections and expose them in proc This patch labels the sync-created connections with IP_VS_CONN_F_SYNC flag and creates /proc/net/ip_vs_conn_sync to enable monitoring of the origin of the connections, if they are local or created by the synchronization. Signed-off-by: Rumen G. Bogdanovski Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit c237899d1f8c5bfcfc9d6204052e0e065827ff75 Author: Michael Wu Date: Tue Oct 30 16:50:05 2007 -0400 ieee80211: Add IEEE80211_MAX_FRAME_LEN to linux/ieee80211.h This patch adds IEEE80211_MAX_FRAME_LEN which is useful for drivers trying to determine how much to allocate for their RX buffers. It also updates the comment on IEEE80211_MAX_DATA_LEN based on revisions in 802.11e. IEEE80211_MAX_FRAG_THRESHOLD and IEEE80211_MAX_RTS_THRESHOLD are also revised due to the new maximum frame size. Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6a4329554c527e86c2745bc001c29bb8d1b8efaf Author: Mattias Nissler Date: Wed Oct 24 23:30:36 2007 +0200 mac80211: Accept auto txpower setting This changes the SIWTXPOWER ioctl to also accept a txpower setting of "automatic". Since mac80211 currently cannot tell drivers to automatically adjust tx power, we select the tx power level of the current channel. While this is kind of a hack, it certainly saves some iwconfig users from headaches. Signed-off-by: Mattias Nissler Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c7b6ea24b43afb5749cb704e143df19d70e23dea Author: Stephen Hemminger Date: Mon Nov 19 19:37:09 2007 -0800 [NETPOLL]: Don't need rx_flags. The rx_flags variable is redundant. Turning rx on/off is done via setting the rx_np pointer. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 33f807ba0d9259e7c75c7a2ce8bd2787e5b540c7 Author: Stephen Hemminger Date: Mon Nov 19 19:24:52 2007 -0800 [NETPOLL]: Kill NETPOLL_RX_DROP, set but never tested. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0953864160bdd28dfe45fd46fa462b4d2d53cb96 Author: Stephen Hemminger Date: Mon Nov 19 19:23:29 2007 -0800 [NETPOLL]: no need to store local_mac The local_mac is managed by the network device, no need to keep a spare copy and all the management problems that could cause. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5106930bd6b57402205e3de54dae9476e215b622 Author: Stephen Hemminger Date: Mon Nov 19 19:18:11 2007 -0800 [NETPOLL]: netpoll_poll() cleanup Restructure code slightly to improve readability: * dereference device once * change obvious while() loop * let poll_napi() handle null list itself Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0adc9add7709f87995c003c0ccb085076afdc923 Author: Stephen Hemminger Date: Mon Nov 19 19:15:03 2007 -0800 [NETPOLL]: Use skb_queue_purge(). Use standard routine for flushing queue. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 20de20beba6e9bd2e1c83696bfefa3b16cda9a74 Author: Ilpo Järvinen Date: Fri Nov 16 16:17:05 2007 -0800 [TCP]: Correct DSACK check placing Previously one of the in-block skip branches was missing it. Also, drop it from tail-fully-processed case because the next iteration will do exactly the same thing, i.e., process the SACK block that contains the DSACK information. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f7ab97f78a5c573e49474edbd260ea6898ddccda Author: Oliver Hartkopp Date: Fri Nov 16 16:09:28 2007 -0800 [CAN]: Add documentation This patch adds documentation for the PF_CAN protocol family. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit beca222d1aa09c0b2f56a6af788eacf5c19093da Author: Oliver Hartkopp Date: Fri Nov 16 16:07:41 2007 -0800 [CAN]: Add maintainer entries This patch adds entries in the CREDITS and MAINTAINERS file for CAN. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit 1f98eefae8ca451d317b1602f2cedf7515b032ff Author: Oliver Hartkopp Date: Thu Dec 27 16:51:46 2007 -0800 [CAN]: Add missing Kbuild entries This patch adds the missing Kbuild entries and the missing Kbuild file in include/linux/can for the CAN subsystem. Signed-off-by: Oliver Hartkopp Acked-by: Sam Ravnborg Signed-off-by: David S. Miller commit 4195e31780a20e09c6e793c2d96390e05309e226 Author: Oliver Hartkopp Date: Thu Dec 27 16:50:06 2007 -0800 [CAN]: Fix plain integer definitions in userspace header. This patch fixes the use of plain integers instead of __u32 in a struct that is visible from kernel space and user space. Thanks to Sam Ravnborg for pointing out the wrong plain int usage. Signed-off-by: Oliver Hartkopp Acked-by: Sam Ravnborg Signed-off-by: David S. Miller commit ccb29637991fa6b8321a80c2320a71e379aea962 Author: Oliver Hartkopp Date: Fri Nov 16 15:56:08 2007 -0800 [CAN]: Add virtual CAN netdevice driver This patch adds the virtual CAN bus (vcan) network driver. The vcan device is just a loopback device for CAN frames, no real CAN hardware is involved. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit ffd980f976e7fd666c2e61bf8ab35107efd11828 Author: Oliver Hartkopp Date: Fri Nov 16 15:53:52 2007 -0800 [CAN]: Add broadcast manager (bcm) protocol This patch adds the CAN broadcast manager (bcm) protocol. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit c18ce101f2e47d97ace125033e2896895a6db3dd Author: Oliver Hartkopp Date: Fri Nov 16 15:53:09 2007 -0800 [CAN]: Add raw protocol This patch adds the CAN raw protocol. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit 0d66548a10cbbe0ef256852d63d30603f0f73f9b Author: Oliver Hartkopp Date: Fri Nov 16 15:52:17 2007 -0800 [CAN]: Add PF_CAN core module This patch adds the CAN core functionality but no protocols or drivers. No protocol implementations are included here. They come as separate patches. Protocol numbers are already in include/linux/can.h. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit cd05acfe65ed2cf2db683fa9a6adb8d35635263b Author: Oliver Hartkopp Date: Sun Dec 16 15:59:24 2007 -0800 [CAN]: Allocate protocol numbers for PF_CAN This patch adds a protocol/address family number, ARP hardware type, ethernet packet type, and a line discipline number for the SocketCAN implementation. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit 8dbde28d9711475adfe0e9c88505e38743cdc2a7 Author: Eric Dumazet Date: Fri Nov 16 03:32:10 2007 -0800 [NET]: NET_CLS_ROUTE : convert ip_rt_acct to per_cpu variables ip_rt_acct needs 4096 bytes per cpu to perform some accounting. It is actually allocated as a single huge array [4096*NR_CPUS] (rounded up to a power of two) Converting it to a per cpu variable is wanted to : - Save space on machines were num_possible_cpus() < NR_CPUS - Better NUMA placement (each cpu gets memory on its node) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 68f8353b480e5f2e136c38a511abdbb88eaa8ce2 Author: Ilpo Järvinen Date: Thu Nov 15 19:50:37 2007 -0800 [TCP]: Rewrite SACK block processing & sack_recv_cache use Key points of this patch are: - In case new SACK information is advance only type, no skb processing below previously discovered highest point is done - Optimize cases below highest point too since there's no need to always go up to highest point (which is very likely still present in that SACK), this is not entirely true though because I'm dropping the fastpath_skb_hint which could previously optimize those cases even better. Whether that's significant, I'm not too sure. Currently it will provide skipping by walking. Combined with RB-tree, all skipping would become fast too regardless of window size (can be done incrementally later). Previously a number of cases in TCP SACK processing fails to take advantage of costly stored information in sack_recv_cache, most importantly, expected events such as cumulative ACK and new hole ACKs. Processing on such ACKs result in rather long walks building up latencies (which easily gets nasty when window is huge). Those latencies are often completely unnecessary compared with the amount of _new_ information received, usually for cumulative ACK there's no new information at all, yet TCP walks whole queue unnecessary potentially taking a number of costly cache misses on the way, etc.! Since the inclusion of highest_sack, there's a lot information that is very likely redundant (SACK fastpath hint stuff, fackets_out, highest_sack), though there's no ultimate guarantee that they'll remain the same whole the time (in all unearthly scenarios). Take advantage of this knowledge here and drop fastpath hint and use direct access to highest SACKed skb as a replacement. Effectively "special cased" fastpath is dropped. This change adds some complexity to introduce better coveraged "fastpath", though the added complexity should make TCP behave more cache friendly. The current ACK's SACK blocks are compared against each cached block individially and only ranges that are new are then scanned by the high constant walk. For other parts of write queue, even when in previously known part of the SACK blocks, a faster skip function is used (if necessary at all). In addition, whenever possible, TCP fast-forwards to highest_sack skb that was made available by an earlier patch. In typical case, no other things but this fast-forward and mandatory markings after that occur making the access pattern quite similar to the former fastpath "special case". DSACKs are special case that must always be walked. The local to recv_sack_cache copying could be more intelligent w.r.t DSACKs which are likely to be there only once but that is left to a separate patch. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit fd6dad616d4fe2f08d690f25ca76b0102158fb3a Author: Ilpo Järvinen Date: Thu Nov 15 19:49:47 2007 -0800 [TCP]: Earlier SACK block verification & simplify access to them Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 9e10c47cb9fe3154416787523f7a0df02133063f Author: Ilpo Järvinen Date: Thu Nov 15 19:44:56 2007 -0800 [TCP]: Create tcp_sacktag_one(). Worker function that implements the main logic of the inner-most loop of tcp_sacktag_write_queue(). Idea was originally presented by David S. Miller. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b7d4815f35ab1d0f1eef2521a94a7d4c789290a2 Author: Ilpo Järvinen Date: Thu Nov 15 19:43:56 2007 -0800 [TCP]: Prior_fackets can be replaced by highest_sack seq Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 9f58f3b721f52a4d3f497ea57f830ccd307f1d76 Author: Ilpo Järvinen Date: Thu Nov 15 19:42:54 2007 -0800 [TCP]: Make lost retrans detection more self-contained Highest_sack_end_seq is no longer calculated in the loop, thus it can be pushed to the worker function altogether making that function independent of the sacktag. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit a47e5a988a575e64c8c9bae65a1dfe3dca7cba32 Author: Ilpo Järvinen Date: Thu Nov 15 19:41:46 2007 -0800 [TCP]: Convert highest_sack to sk_buff to allow direct access It is going to replace the sack fastpath hint quite soon... :-) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 85cc391c0e4584db594bfc4005c63c07c76c5077 Author: Ilpo Järvinen Date: Thu Nov 15 19:39:31 2007 -0800 [TCP]: non-FACK SACK follows conservative SACK loss recovery Many assumptions that are true when no reordering or other strange events happen are not a part of the RFC3517. FACK implementation is based on such assumptions. Previously (before the rewrite) the non-FACK SACK was basically doing fast rexmit and then it times out all skbs when first cumulative ACK arrives, which cannot really be called SACK based recovery :-). RFC3517 SACK disables these things: - Per SKB timeouts & head timeout entry to recovery - Marking at least one skb while in recovery (RFC3517 does this only for the fast retransmission but not for the other skbs when cumulative ACKs arrive in the recovery) - Sacktag's loss detection flavors B and C (see comment before tcp_sacktag_write_queue) This does not implement the "last resort" rule 3 of NextSeg, which allows retransmissions also when not enough SACK blocks have yet arrived above a segment for IsLost to return true [RFC3517]. The implementation differs from RFC3517 in these points: - Rate-halving is used instead of FlightSize / 2 - Instead of using dupACKs to trigger the recovery, the number of SACK blocks is used as FACK does with SACK blocks+holes (which provides more accurate number). It seems that the difference can affect negatively only if the receiver does not generate SACK blocks at all even though it claimed to be SACK-capable. - Dupthresh is not a constant one. Dynamical adjustments include both holes and sacked segments (equal to what FACK has) due to complexity involved in determining the number sacked blocks between highest_sack and the reordered segment. Thus it's will be an over-estimate. Implementation note: tcp_clean_rtx_queue doesn't need a lost_cnt tweak because head skb at that point cannot be SACKED_ACKED (nor would such situation last for long enough to cause problems). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f577111302677e6d1448475821cc19ba8835f60e Author: Ilpo Järvinen Date: Thu Nov 15 19:35:11 2007 -0800 [TCP]: Extend reordering detection to cover CA_Loss partially This implements more accurately what is stated in sacktag's overall comment: "Both of these heuristics are not used in Loss state, when we cannot account for retransmits accurately." When CA_Loss state is entered, the state changer ensures that undo_marker is only set if no TCPCB_RETRANS skbs were found, thus having non-zero undo_marker in CA_Loss basically tells that the R-bits still accurately reflect the current state of TCP. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b9d86585dc6c9265aa373c7036458fe8aa7627c6 Author: Ilpo Järvinen Date: Thu Nov 15 19:33:31 2007 -0800 [TCP]: Move !in_sack test earlier in sacktag & reorganize if()s All intermediate conditions include it already, make them simpler as well. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c0ef877b2c9f543e9fb7953bfe1a0cd3a4eae362 Author: Pavel Emelyanov Date: Thu Nov 15 03:03:19 2007 -0800 [NET]: Move sock_valbool_flag to socket.c The sock_valbool_flag() helper is used in setsockopt to set or reset some flag on the sock. This helper is required in the net/socket.c only, so move it there. Besides, patch two places in sys_setsockopt() that repeat this helper functionality manually. Since this is not a bugfix, but a trivial cleanup, I prepared this patch against net-2.6.25, but it also applies (with a single offset) to the latest net-2.6. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit de0fa95c14bc4d4b545fae26439371ebfdcb8534 Author: Pavel Emelyanov Date: Wed Nov 14 16:01:43 2007 -0800 [NET]: Use sockfd_lookup_light in the rest of the net/socket.c Some time ago a sockfd_lookup_light was introduced and most of the socket.c file was patched to use it. However two routines were left - sys_sendto and sys_recvfrom. Patch them as well, since this helper does exactly what these two need. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 62013dbb8418eb7231c1577d238cf2e76b7696b0 Author: Rainer Jochem Date: Wed Nov 14 02:18:39 2007 -0800 [IPV4] ipconfig: Implement DHCP Class-identifier From : Rainer Jochem Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 20fea08b5fb639c4c175b5c74a2bb346c5c5bc2e Author: Eric Dumazet Date: Wed Nov 14 01:44:41 2007 -0800 [NET]: Move Qdisc_class_ops and Qdisc_ops in appropriate sections. Qdisc_class_ops are const, and Qdisc_ops are mostly read. Using "const" and "__read_mostly" qualifiers helps to reduce false sharing. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2a8cc6c89039e0530a3335954253b76ed0f9339a Author: YOSHIFUJI Hideaki Date: Wed Nov 14 15:56:23 2007 +0900 [IPV6] ADDRCONF: Support RFC3484 configurable address selection policy table. Policy table is implemented as an RCU linear list since we do not expect large list nor frequent updates. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 303065a8545bf7524550bd9564afb48e8a685a2d Author: YOSHIFUJI Hideaki Date: Wed Nov 14 15:56:15 2007 +0900 [IPV6] ADDRCONF: Allow address selection policy with ifindex. This patch allows ifindex to be a key for address selection policy table. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c1ee656ccb3b03304d38f852debccdd1567702e6 Author: YOSHIFUJI Hideaki Date: Wed Nov 14 15:55:29 2007 +0900 [IPV6] ADDRCONF: Rename ipv6_saddr_label() to ipv6_addr_label(). This patch renames ipv6_saddr_label() to ipv6_addr_label() because address label is used for both of source address and destination address. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 294b4baf292197e13d1df1d253efa7ac84ffee3f Author: David S. Miller Date: Wed Nov 14 01:57:47 2007 -0800 [IPSEC]: Kill afinfo->nf_post_routing After changeset: [NETFILTER]: Introduce NF_INET_ hook values It always evaluates to NF_INET_POST_ROUTING. Signed-off-by: David S. Miller commit 6e23ae2a48750bda407a4a58f52a4865d7308bf5 Author: Patrick McHardy Date: Mon Nov 19 18:53:30 2007 -0800 [NETFILTER]: Introduce NF_INET_ hook values The IPv4 and IPv6 hook values are identical, yet some code tries to figure out the "correct" value by looking at the address family. Introduce NF_INET_* values for both IPv4 and IPv6. The old values are kept in a #ifndef __KERNEL__ section for userspace compatibility. Signed-off-by: Patrick McHardy Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 1bf06cd2e338fd6fc29169d30eaf0df982338285 Author: Herbert Xu Date: Mon Nov 19 18:50:17 2007 -0800 [IPSEC]: Add async resume support on input This patch adds support for async resumptions on input. To do so, the transform would return -EINPROGRESS and subsequently invoke the function xfrm_input_resume to resume processing. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 60d5fcfb19d8a958fc563e52240cd05ec23f36c9 Author: Herbert Xu Date: Mon Nov 19 18:47:58 2007 -0800 [IPSEC]: Remove nhoff from xfrm_input The nhoff field isn't actually necessary in xfrm_input. For tunnel mode transforms we now throw away the output IP header so it makes no sense to fill in the nexthdr field. For transport mode we can now let the function transport_finish do the setting and it knows where the nexthdr field is. The only other thing that needs the nexthdr field to be set is the header extraction code. However, we can simply move the protocol extraction out of the generic header extraction. We want to minimise the amount of info we have to carry around between transforms as this simplifies the resumption process for async crypto. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d26f398400311982d2433debae85746c348b7d58 Author: Herbert Xu Date: Tue Nov 13 21:47:08 2007 -0800 [IPSEC]: Make x->lastused an unsigned long Currently x->lastused is u64 which means that it cannot be read/written atomically on all architectures. David Miller observed that the value stored in it is only an unsigned long which is always atomic. So based on his suggestion this patch changes the internal representation from u64 to unsigned long while the user-interface still refers to it as u64. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0ebea8ef3559b545c37b016f44e84c3b33e47c39 Author: Herbert Xu Date: Tue Nov 13 21:45:58 2007 -0800 [IPSEC]: Move state lock into x->type->input This patch releases the lock on the state before calling x->type->input. It also adds the lock to the spots where they're currently needed. Most of those places (all except mip6) are expected to disappear with async crypto. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 668dc8af3150f837f7f0461001bbbc0ce25d7bdf Author: Herbert Xu Date: Sun Dec 16 15:55:02 2007 -0800 [IPSEC]: Move integrity stat collection into xfrm_input Similar to the moving out of the replay processing on the output, this patch moves the integrity stat collectin from x->type->input into xfrm_input. This would eventually allow transforms such as AH/ESP to be lockless. The error value EBADMSG (currently unused in the crypto layer) is used to indicate a failed integrity check. In future this error can be directly returned by the crypto layer once we switch to aead algorithms. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b2aa5e9d43a38dcdfa0878ed750cf32f98460278 Author: Herbert Xu Date: Tue Nov 13 21:44:55 2007 -0800 [IPSEC]: Store xfrm states in security path directly As it is xfrm_input first collects a list of xfrm states on the stack before storing them in the packet's security path just before it returns. For async crypto, this construction presents an obstacle since we may need to leave the loop after each transform. In fact, it's much easier to just skip the stack completely and always store to the security path. This is proven by the fact that this patch actually shrinks the code. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 716062fd4c2f88a33ab409f62a1e7397ad0a7e33 Author: Herbert Xu Date: Tue Nov 13 21:44:23 2007 -0800 [IPSEC]: Merge most of the input path As part of the work on asynchronous cryptographic operations, we need to be able to resume from the spot where they occur. As such, it helps if we isolate them to one spot. This patch moves most of the remaining family-specific processing into the common input code. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c6581a457e661b7070e484ad723bbf555b17aca2 Author: Herbert Xu Date: Tue Nov 13 21:43:43 2007 -0800 [IPSEC]: Add async resume support on output This patch adds support for async resumptions on output. To do so, the transform would return -EINPROGRESS and subsequently invoke the function xfrm_output_resume to resume processing. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 862b82c6f960cc61274d370aa78ce1112f92a83e Author: Herbert Xu Date: Tue Nov 13 21:43:11 2007 -0800 [IPSEC]: Merge most of the output path As part of the work on asynchrnous cryptographic operations, we need to be able to resume from the spot where they occur. As such, it helps if we isolate them to one spot. This patch moves most of the remaining family-specific processing into the common output code. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ef76bc23ef2acf20c8f7f841a542d8ab74c827c6 Author: Herbert Xu Date: Fri Jan 11 19:15:08 2008 -0800 [IPV6]: Add ip6_local_out Most callers of the LOCAL_OUT chain will set the IP packet length before doing so. They also share the same output function dst_output. This patch creates a new function called ip6_local_out which does all of that and converts the appropriate users over to it. Apart from removing duplicate code, it will also help in merging the IPsec output path. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c439cb2e4b13cf1cb2abcd006b906315a3381323 Author: Herbert Xu Date: Fri Jan 11 19:14:00 2008 -0800 [IPV4]: Add ip_local_out Most callers of the LOCAL_OUT chain will set the IP packet length and header checksum before doing so. They also share the same output function dst_output. This patch creates a new function called ip_local_out which does all of that and converts the appropriate users over to it. Apart from removing duplicate code, it will also help in merging the IPsec output path once the same thing is done for IPv6. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 227620e295090629fcb2c46ad3828222ab65438d Author: Herbert Xu Date: Tue Nov 13 21:41:28 2007 -0800 [IPSEC]: Separate inner/outer mode processing on input With inter-family transforms the inner mode differs from the outer mode. Attempting to handle both sides from the same function means that it needs to handle both IPv4 and IPv6 which creates duplication and confusion. This patch separates the two parts on the input path so that each function deals with one family only. In particular, the functions xfrm4_extract_inut/xfrm6_extract_inut moves the pertinent fields from the IPv4/IPv6 IP headers into a neutral format stored in skb->cb. This is then used by the inner mode input functions to modify the inner IP header. In this way the input function no longer has to know about the outer address family. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 36cf9acf93e8561d9faec24849e57688a81eb9c5 Author: Herbert Xu Date: Tue Nov 13 21:40:52 2007 -0800 [IPSEC]: Separate inner/outer mode processing on output With inter-family transforms the inner mode differs from the outer mode. Attempting to handle both sides from the same function means that it needs to handle both IPv4 and IPv6 which creates duplication and confusion. This patch separates the two parts on the output path so that each function deals with one family only. In particular, the functions xfrm4_extract_output/xfrm6_extract_output moves the pertinent fields from the IPv4/IPv6 IP headers into a neutral format stored in skb->cb. This is then used by the outer mode output functions to write the outer IP header. In this way the output function no longer has to know about the inner address family. Since the extract functions are only called by tunnel modes (the only modes that can support inter-family transforms), I've also moved the xfrm*_tunnel_check_size calls into them. This allows the correct ICMP message to be sent as opposed to now where you might call icmp_send with an IPv6 packet and vice versa. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 29bb43b4ec4e625b0659186fc8a7c8f8b7c81982 Author: Herbert Xu Date: Tue Nov 13 21:40:13 2007 -0800 [INET]: Give outer DSCP directly to ip*_copy_dscp This patch changes the prototype of ipv4_copy_dscp and ipv6_copy_dscp so that they directly take the outer DSCP rather than the outer IP header. This will help us to unify the code for inter-family tunnels. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a2deb6d26f16ed7bf787dbd6a58c5d7be47d8db3 Author: Herbert Xu Date: Tue Nov 13 21:39:38 2007 -0800 [IPSEC]: Move x->outer_mode->output out of locked section RO mode is the only one that requires a locked output function. So it's easier to move the lock into that function rather than requiring everyone else to run under the lock. In particular, this allows us to move the size check into the output function without causing a potential dead-lock should the ICMP error somehow hit the same SA on transmission. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e40b3286158565909692e5914ea4a11bdbcc68c8 Author: Herbert Xu Date: Tue Nov 13 21:39:08 2007 -0800 [IPSEC]: Forbid BEET + ipcomp for now While BEET can theoretically work with IPComp the current code can't do that because it tries to construct a BEET mode tunnel type which doesn't (and cannot) exist. In fact as it is it won't even attach a tunnel object at all for BEET which is bogus. To support this fully we'd also need to change the policy checks on input to recognise a plain tunnel as a legal variant of an optional BEET transform. This patch simply fails such constructions for now. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 25ee3286dcbc830a833354bb1d15567956844813 Author: Herbert Xu Date: Tue Dec 11 09:32:34 2007 -0800 [IPSEC]: Merge common code into xfrm_bundle_create Half of the code in xfrm4_bundle_create and xfrm6_bundle_create are common. This patch extracts that logic and puts it into xfrm_bundle_create. The rest of it are then accessed through afinfo. As a result this fixes the problem with inter-family transforms where we treat every xfrm dst in the bundle as if it belongs to the top family. This patch also fixes a long-standing error-path bug where we may free the xfrm states twice. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 66cdb3ca27323a92712d289fc5edc7841d74a139 Author: Herbert Xu Date: Tue Nov 13 21:37:28 2007 -0800 [IPSEC]: Move flow construction into xfrm_dst_lookup This patch moves the flow construction from the callers of xfrm_dst_lookup into that function. It also changes xfrm_dst_lookup so that it takes an xfrm state as its argument instead of explicit addresses. This removes any address-specific logic from the callers of xfrm_dst_lookup which is needed to correctly support inter-family transforms. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f04e7e8d7f175c05bbde3ae748bf2541da53721d Author: Herbert Xu Date: Tue Nov 13 21:36:51 2007 -0800 [IPSEC]: Replace x->type->{local,remote}_addr with flags The functions local_addr and remote_addr are more than what they're needed for. The same thing can be done easily with flags on the type object. This patch does that and simplifies the wrapper functions in xfrm6_policy accordingly. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit fff693888012806370c98c601fbaa141fb12dfca Author: Herbert Xu Date: Tue Nov 13 21:36:07 2007 -0800 [IPSEC]: Make sure idev is consistent with dev in xfrm_dst Previously we took the device from the bottom route and idev from the top route. This is bad because idev may well point to a different device. This patch changes it so that we get the idev from the device directly. It also makes it an error if either dev or idev is NULL. This is consistent with the rest of the routing code which also treats these cases as errors. I've removed the err initialisation in xfrm6_policy.c because it achieves no purpose and hid a bug when an initial version of this patch neglected to set err to -ENODEV (fortunately the IPv4 version warned about it). Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 45ff5a3f9a3d0b1b4f063b5285ab39b7fac59471 Author: Herbert Xu Date: Tue Nov 13 21:35:32 2007 -0800 [IPSEC]: Set dst->input to dst_discard The input function should never be invoked on IPsec dst objects. This is because we don't apply IPsec on input until after we've made the routing decision. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8ce68ceb55fb62d2c8e9a3e94c4ef6ff3e3064ce Author: Herbert Xu Date: Tue Nov 13 21:35:01 2007 -0800 [IPSEC]: Only set neighbour on top xfrm dst The neighbour field is only used by dst_confirm which only ever happens on the top-most xfrm dst. So it's a waste to duplicate for every other xfrm dst. This patch moves its setting out of the loop so that only the top one gets set. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 274b3426db25b8d63cbf25475e728ce1ee6caebd Author: Herbert Xu Date: Tue Nov 13 21:34:34 2007 -0800 [NET]: Remove unnecessary inclusion of dst.h The file net/netevent.h only refers to struct dst_entry * so it doesn't need to include dst.h. I've replaced it with a forward declaration. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 352e512c32b634768303a43768245a0363cebbe7 Author: Herbert Xu Date: Tue Nov 13 21:34:06 2007 -0800 [NET]: Eliminate duplicate copies of dst_discard We have a number of copies of dst_discard scattered around the place which all do the same thing, namely free a packet on the input or output paths. This patch deletes all of them except dst_discard and points all the users to it. The only non-trivial bit is decnet where it returns an error. However, conceptually this is identical to the blackhole functions used in IPv4 and IPv6 which do not return errors. So they should either all return errors or all return zero. For now I've stuck with the majority and picked zero as the return value. It doesn't really matter in practice since few if any driver would react differently depending on a zero return value or NET_RX_DROP. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b4ce92775c2e7ff9cf79cca4e0a19c8c5fd6287b Author: Herbert Xu Date: Tue Nov 13 21:33:32 2007 -0800 [IPV6]: Move nfheader_len into rt6_info The dst member nfheader_len is only used by IPv6. It's also currently creating a rather ugly alignment hole in struct dst. Therefore this patch moves it from there into struct rt6_info. It also reorders the fields in rt6_info to minimize holes. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 550ade8432a2a6fbfb48ba7018750b0e8c81e8d0 Author: Herbert Xu Date: Tue Nov 13 21:33:01 2007 -0800 [IPSEC]: Use dst->header_len when resizing on output Currently we use x->props.header_len when resizing on output. However, if we're resizing at all we might as well go the whole hog and do it for the whole dst. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0148894223740da4818d7f4e6f92cbb5481a25b8 Author: Herbert Xu Date: Tue Nov 13 21:32:26 2007 -0800 [IPV6]: Only set nfheader_len for top xfrm dst We only need to set nfheader_len in the top xfrm dst. This is because we only ever read the nfheader_len from the top xfrm dst. It is also easier to count nfheader_len as part of header_len which then lets us remove the ugly wrapper functions for incrementing and decrementing header lengths in xfrm6_policy.c. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b24b8a247ff65c01b252025926fe564209fae4fc Author: Pavel Emelyanov Date: Wed Jan 23 21:20:07 2008 -0800 [NET]: Convert init_timer into setup_timer Many-many code in the kernel initialized the timer->function and timer->data together with calling init_timer(timer). There is already a helper for this. Use it for networking code. The patch is HUGE, but makes the code 130 lines shorter (98 insertions(+), 228 deletions(-)). Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a92aa318b4b369091fd80433c80e62838db8bc1c Author: Wang Chen Date: Tue Nov 13 20:31:14 2007 -0800 [IPV6]: Add raw6 drops counter. Add raw drops counter for IPv6 in /proc/net/raw6 . Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 33c732c36169d7022ad7d6eb474b0c9be43a2dc1 Author: Wang Chen Date: Tue Nov 13 20:30:01 2007 -0800 [IPV4]: Add raw drops counter. Add raw drops counter for IPv4 in /proc/net/raw . Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 6ff7751d06f63131830102ffa0c9a38b313f100e Author: Adrian Bunk Date: Tue Nov 6 23:32:26 2007 -0800 [TCP]: Make tcp_splice_data_recv() static. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe Signed-off-by: David S. Miller commit a0974dd3da87667e26ef5d3b32989a43319866f2 Author: Jens Axboe Date: Tue Nov 6 23:31:58 2007 -0800 [TCP] splice: add tcp_splice_read() to IPV6 Thanks to YOSHIFUJI Hideaki for the hint! Signed-off-by: Jens Axboe Signed-off-by: David S. Miller commit 9c55e01c0cc835818475a6ce8c4d684df9949ac8 Author: Jens Axboe Date: Tue Nov 6 23:30:13 2007 -0800 [TCP]: Splice receive support. Support for network splice receive. Signed-off-by: Jens Axboe Signed-off-by: David S. Miller commit bbdfc2f70610bebb841d0874dc901c648308e43a Author: Jens Axboe Date: Tue Nov 6 23:29:47 2007 -0800 [SPLICE]: Don't assume regular pages in splice_to_pipe() Allow caller to pass in a release function, there might be other resources that need releasing as well. Needed for network receive. Signed-off-by: Jens Axboe Signed-off-by: David S. Miller commit d10f2150eab62f633aeae36cf4612d1f648a817e Author: David S. Miller Date: Thu Jan 24 16:57:39 2008 -0800 [MAC80211]: Revert unaligned warning removal. For release Linux removed this warning, but we want it back for development. Signed-off-by: David S. Miller commit d3883ecebbf9e095b9e379dabbbe8b2c1ee7a41c Author: Adrian Bunk Date: Sun Nov 11 07:48:25 2007 +0100 Remove references to "make dep" "make dep" is no longer required in kernel 2.6, but was still mentioned in some places. Signed-off-by: Adrian Bunk Signed-off-by: Sam Ravnborg commit 9b3e4dad7e58405de398faa17cb4691ca85eb050 Author: Sam Ravnborg Date: Mon Jan 28 21:49:46 2008 +0100 kconfig: document use of HAVE_* It has been discussed on lkml several times but we need it documented as this is new stuff. Signed-off-by: Sam Ravnborg commit 312b1485fb509c9bc32eda28ad29537896658cb8 Author: Sam Ravnborg Date: Mon Jan 28 20:21:15 2008 +0100 Introduce new section reference annotations tags: __ref, __refdata, __refconst Today we have the following annotations for functions/data referencing __init/__exit functions / data: __init_refok => for init functions __initdata_refok => for init data __exit_refok => for exit functions There is really no difference between the __init and __exit versions and simplify it and to introduce a shorter annotation the following new annotations are introduced: __ref => for functions (code) that references __*init / __*exit __refdata => for variables __refconst => for const variables Whit this annotation is it more obvious what the annotation is for and there is no longer the arbitary division between __init and __exit code. The mechanishm is the same as before - a special section is created which is made part of the usual sections in the linker script. We will start to see annotations like this: -static struct pci_serial_quirk pci_serial_quirks[] = { +static const struct pci_serial_quirk pci_serial_quirks[] __refconst = { ----------------- -static struct notifier_block __cpuinitdata cpuid_class_cpu_notifier = +static struct notifier_block cpuid_class_cpu_notifier __refdata = ---------------- -static int threshold_cpu_callback(struct notifier_block *nfb, +static int __ref threshold_cpu_callback(struct notifier_block *nfb, [The above is just random samples]. Note: No modifications were needed in modpost to support the new sections due to the newly introduced blacklisting. Signed-off-by: Sam Ravnborg commit e241a630374e06aecdae2884af8b652d3b4d6c37 Author: Sam Ravnborg Date: Mon Jan 28 20:13:13 2008 +0100 kbuild: warn about ld added unique sections If there is a mixture of specifying sections for code in gcc and assembler then if the assembler code do not add the "ax" flags the linker will see this as two different sections and generate unique sections for each. ld does so by adding a dot and a number. Teach modpost to warn if a section shows up that match this pattern - but do this only for non-debug sections. It will result in warnings like this: WARNING: vmlinux.o (.sched.text.1): unexpected section name. The (.[number]+) following section name are ld generated and not expected. Did you forget to use "ax"/"aw" in a .S file? Note that for example contains section definitions for use in .S files. All warnings seen with a defconfig build for: x86 (32+64bit) and sparc64 has been fixed (via respective maintainers). arm, powerpc (64 bit), s390 (32 bit), ia64, alpha, sh4 checked - no warnings seen with a defconfig build. Signed-off-by: Sam Ravnborg commit 588ccd732ba2d32db8228802ef9283b583d3395f Author: Sam Ravnborg Date: Thu Jan 24 21:12:37 2008 +0100 kbuild: add verbose option to Section mismatch reporting in modpost If the config option CONFIG_SECTION_MISMATCH is not set and we see a Section mismatch present the following to the user: modpost: Found 1 section mismatch(es). To see additional details select "Enable full Section mismatch analysis" in the Kernel Hacking menu (CONFIG_SECTION_MISMATCH). If the option CONFIG_SECTION_MISMATCH is selected then be verbose in the Section mismatch reporting from mdopost. Sample outputs: WARNING: o-x86_64/vmlinux.o(.text+0x7396): Section mismatch in reference from the function discover_ebda() to the variable .init.data:ebda_addr The function discover_ebda() references the variable __initdata ebda_addr. This is often because discover_ebda lacks a __initdata annotation or the annotation of ebda_addr is wrong. WARNING: o-x86_64/vmlinux.o(.data+0x74d58): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit() The variable pci_serial_quirks references the function __devexit pci_plx9050_exit() If the reference is valid then annotate the variable with __exit* (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, WARNING: o-x86_64/vmlinux.o(__ksymtab+0x630): Section mismatch in reference from the variable __ksymtab_arch_register_cpu to the function .cpuinit.text:arch_register_cpu() The symbol arch_register_cpu is exported and annotated __cpuinit Fix this by removing the __cpuinit annotation of arch_register_cpu or drop the export. Signed-off-by: Sam Ravnborg commit f5eaa323eb6819d2f737ead42464efccaf2b98b9 Author: Jan Beulich Date: Thu Jan 24 11:54:23 2008 +0000 kconfig: tristate choices with mixed tristate and boolean values Change kconfig behavior so that mixing bool and tristate config settings in a choice is possible and has the desired effect of offering just the tristate options individually if the choice gets set to M, and a normal boolean selection if the choice gets set to Y. Also fix scripts/kconfig/conf's handling of children of choice values - there may be more than one immediate child, and all of them need to be processed. Signed-off-by: Jan Beulich Cc: "Roman Zippel" Signed-off-by: Sam Ravnborg commit 1a3fb6d481689d0482eacadcbe3205b49b423c11 Author: Adrian Bunk Date: Thu Jan 24 22:20:18 2008 +0100 asm-generic/vmlix.lds.h: simplify __mem{init,exit}* dependencies Simplify the dependencies on __mem{init,exit}* (ACPI_HOTPLUG_MEMORY requires MEMORY_HOTPLUG). Signed-off-by: Adrian Bunk Signed-off-by: Sam Ravnborg commit 3ff6eecca4e5c49a5d1dd8b58ea0e20102ce08f0 Author: Adrian Bunk Date: Thu Jan 24 22:16:20 2008 +0100 remove __attribute_used__ Remove the deprecated __attribute_used__. [Introduce __section in a few places to silence checkpatch /sam] Signed-off-by: Adrian Bunk Signed-off-by: Sam Ravnborg commit bc395add945659e04cc7cf250755ba0edc1a9fdc Author: Daniel De Graaf Date: Mon Jan 21 18:21:11 2008 -0600 kbuild: support ARCH=x86 in buildtar Signed-off-by: Daniel De Graaf Signed-off-by: Sam Ravnborg commit 9649ef878d507bbc3abc2a328cd4ad303b2be093 Author: Adrian Bunk Date: Wed Jan 23 01:54:39 2008 +0200 kconfig: remove "enable" Kconfig had a synonym "enable" for "select" that was neither documented nor used. Signed-off-by: Adrian Bunk Cc: Roman Zippel Signed-off-by: Sam Ravnborg commit 58fb0d4f2fd5773ec0158d1f2774dca6a03e6984 Author: Sam Ravnborg Date: Wed Jan 23 21:13:50 2008 +0100 kbuild: simplified warning report in modpost Refactor code so the warning report function does nothing else than reporting warnings. As a side effect some other code paths were cleaned up by this. Signed-off-by: Sam Ravnborg commit ff13f92690249061311c7cf69a89e5a2fb068811 Author: Sam Ravnborg Date: Wed Jan 23 19:54:27 2008 +0100 kbuild: introduce a few helpers in modpost Introducing helpers to retreive symbol and section names cleaned up the code a bit. Signed-off-by: Sam Ravnborg commit 157c23c80eed84194440b487658398272eaebaf4 Author: Sam Ravnborg Date: Tue Jan 22 21:44:32 2008 +0100 kbuild: use simpler section mismatch warnings in modpost The typical layout is now: WARNING: vmlinux.o(.text+0x372ec): Section mismatch: reference to .devinit.text:pci_scan_one_pbm in 'psycho_scan_bus' This is first step towards more readable warnings. Signed-off-by: Sam Ravnborg commit 310f8243a602e9ae950e81b17cbd18a4246674f9 Author: Sam Ravnborg Date: Mon Jan 21 22:57:09 2008 +0100 kbuild: link vmlinux.o before kallsyms passes link vmlinux.o so we may report section mismatch bugs before we start with the real link - that may error out. Signed-off-by: Sam Ravnborg commit 91341d4b2c196c689acf90e9e96f28f8d5c6665f Author: Sam Ravnborg Date: Mon Jan 21 21:31:44 2008 +0100 kbuild: introduce new option to enhance section mismatch analysis Setting the option DEBUG_SECTION_MISMATCH will report additional section mismatch'es but this should in the end makes it possible to get rid of all of them. See help text in lib/Kconfig.debug for details. Signed-off-by: Sam Ravnborg commit eb8f689046b857874e964463619f09df06d59fad Author: Sam Ravnborg Date: Sun Jan 20 20:07:28 2008 +0100 Use separate sections for __dev/__cpu/__mem code/data Introducing separate sections for __dev* (HOTPLUG), __cpu* (HOTPLUG_CPU) and __mem* (MEMORY_HOTPLUG) allows us to do a much more reliable Section mismatch check in modpost. We are no longer dependent on the actual configuration of for example HOTPLUG. This has the effect that all users see much more Section mismatch warnings than before because they were almost all hidden when HOTPLUG was enabled. The advantage of this is that when building a piece of code then it is much more likely that the Section mismatch errors are spotted and the warnings will be felt less random of nature. Signed-off-by: Sam Ravnborg Cc: Greg KH Cc: Randy Dunlap Cc: Adrian Bunk commit f3fe866d59d707c7a2bba0b23add078e19edb3dc Author: Sam Ravnborg Date: Sun Jan 20 18:54:48 2008 +0100 compiler.h: introduce __section() Add a new helper: __section() that makes a section definition much shorter and more readable. Signed-off-by: Sam Ravnborg commit 01ba2bdc6b639764745ff678caf3fb9e5bcd745a Author: Sam Ravnborg Date: Sun Jan 20 14:15:03 2008 +0100 all archs: consolidate init and exit sections in vmlinux.lds.h This patch consolidate all definitions of .init.text, .init.data and .exit.text, .exit.data section definitions in the generic vmlinux.lds.h. This is a preparational patch - alone it does not buy us much good. Signed-off-by: Sam Ravnborg commit 6c5bd235bfd0b92188915465c7dfb377c1a4d451 Author: Sam Ravnborg Date: Sun Jan 20 10:43:27 2008 +0100 kbuild: check section names consistently in modpost Now that match() is introduced use it consistently so we can share the section name definitions. Signed-off-by: Sam Ravnborg commit 10668220a97cb8b3fa1011a252175737ba750d51 Author: Sam Ravnborg Date: Sun Jan 13 22:21:31 2008 +0100 kbuild: introduce blacklisting in modpost Change the logic in modpost so we identify all the bad combinations of sections that refer to other sections. Compared to the previous approach we are much less dependent on knowledge of what additional sections the tool chain uses and thus we can keep the false positives low. The implmentation is changed to use a table based lookup and we now check all combinations in first pass so we no longer need separate passes for init and exit sections. Tested that the same warnings are generated for an allyesconfig build without CONFIG_HOTPLUG. Signed-off-by: Sam Ravnborg Cc: Randy Dunlap Cc: Adrian Bunk commit 5b24c0715fc4c71e60e9a684248cc49d62dfa900 Author: Sam Ravnborg Date: Fri Jan 18 21:49:29 2008 +0100 kbuild: code refactoring in modpost Split a too long function up in smaller bits to make prgram logic easier to follow. A few related changes done due to parameter changes. No functional changes. Signed-off-by: Sam Ravnborg commit 9ad21c3f3ecffeb56be7b35030d7ec2f30b6fe11 Author: Sam Ravnborg Date: Fri Jan 18 21:04:34 2008 +0100 kbuild: try harder to find symbol names in modpost The relocation record sometimes contained an address which was not an exactly match for a symbol. Implment some simple logic such that if there is a symbol within 20 bytes of the address contained in the relocation record then print the name of this symbol. With this change modpost could find symbol names for the remaining .init.text symbols in my allyesconfig build for x86_64. Signed-off-by: Sam Ravnborg commit d1f25e6658943569f2713dfde1b9d74e2f6c7243 Author: Sam Ravnborg Date: Thu Jan 17 21:17:42 2008 +0100 kbuild: fix so modpost can now check any .o file It is very convinient to say: scripts/mod/modpost mm/built-in.o to check if any section mismatch errors occured in mm/ (as an example). Fix it so this is possible again. Signed-off-by: Sam Ravnborg commit fa220d89ad050cf5d970c0418ded019a80efedfb Author: Randy Dunlap Date: Mon Jan 14 15:18:31 2008 -0800 kbuild: minor scripts/decodecode update Remove the tmp file when exiting. Noticed by Arjan van de Ven. Catch mktemp failure and exit with message. Trap kill or other signals and exit cleanly. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 80daa56008dad44f08d0b47670cf2513aa98ab53 Author: Roman Zippel Date: Mon Jan 14 04:51:16 2008 +0100 kconfig: use environment option Use the environment option to provide the ARCH symbol and the KERNELVERSION symbol. Signed-off-by: Roman Zippel Signed-off-by: Sam Ravnborg commit 93449082e905ce73d0346d617dd67c4b668b58af Author: Roman Zippel Date: Mon Jan 14 04:50:54 2008 +0100 kconfig: environment symbol support Add the possibility to import a value from the environment into kconfig via the option syntax. Beside flexibility this has the advantage providing proper dependencies. Documented the options syntax. Signed-off-by: Roman Zippel Signed-off-by: Sam Ravnborg commit 7a962923359768e04137125bd479fd0dfa6117d3 Author: Roman Zippel Date: Mon Jan 14 04:50:23 2008 +0100 kconfig: explicitly introduce expression list Rename E_CHOICE to E_LIST to explicitly add support for expression lists. Add a helper macro expr_list_for_each_sym to more easily iterate over the list. Signed-off-by: Roman Zippel Signed-off-by: Sam Ravnborg commit 0ffce8d94487abbd332cd36f98db61b7c8a3db3c Author: EGRY Gabor Date: Fri Jan 11 23:49:12 2008 +0100 kconfig: gconfig: symbol fix Gettext support for symbol names are unnecessary. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 534a450c383ef238b0461218bc2d3e54066ae043 Author: EGRY Gabor Date: Fri Jan 11 23:44:39 2008 +0100 kconfig: gettext support for config Gettext support for conf.c [Include locale.h by Kyle]. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel Cc: Kyle McMartin commit 75c0a8a55c31c0a21f7e9e64bc45e87e228a98f6 Author: EGRY Gabor Date: Fri Jan 11 23:42:54 2008 +0100 kconfig: gettext support for lxdialog Gettext support for lxdialog. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 413f006bab3845f12d7b2338a9b548aaf7808548 Author: EGRY Gabor Date: Fri Jan 11 23:50:37 2008 +0100 kconfig: gettext support for menuconfig Full gettext support for menuconfig. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit c21a2d9589faa5599c9876bf0e0f48e81ee90284 Author: EGRY Gabor Date: Fri Jan 11 23:52:07 2008 +0100 kconfig: gettext support for xconfig Full gettext support for xconfig. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 01771b0fef0f2cbff80e19295394ece2be1ab661 Author: EGRY Gabor Date: Fri Jan 11 23:53:43 2008 +0100 kconfig: macro fix in menu.c This patch removes the indirect I18N support for config file. Signed-off-by: Egry Gabor Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 46d2631978c05e55b28454ac864aba0287f50322 Author: EGRY Gabor Date: Fri Jan 11 23:46:11 2008 +0100 kconfig: gettext support for gconfig Gettext support for menu and toolbar. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit bb7ef3905adce28db31933ae77e5397c0b89227a Author: EGRY Gabor Date: Fri Jan 11 23:47:58 2008 +0100 kconfig: missing macros in gconfig This patch adds missing gettext macros. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit f7a4b4cdc26846a0ac5b3023cb1b97dc632dfd35 Author: EGRY Gabor Date: Fri Jan 11 23:55:20 2008 +0100 kconfig: whitespace removing This patch removes the unnecessary whitespaces from end of help lines of Kconfig files. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 1020026f99069976001816b8198bc04ee342cd2e Author: EGRY Gabor Date: Fri Jan 11 23:40:00 2008 +0100 kconfig: update-po-config info This patch adds tracking messages. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 243f40cecb292cbb2333749614cf54302fc9cdc0 Author: Valdis.Kletnieks@vt.edu Date: Fri Dec 28 21:22:48 2007 -0500 kbuild: document 'make prepare' in 'make help' The output of 'make help' covers a lot of options, but doesn't include a listing for 'make prepare'. Here's a one-liner to fix that... Signed-off-by: Valdis Kletnieks Signed-off-by: Sam Ravnborg commit 1d3b3bfab121cdef07d19797f42f413dccdd65f0 Author: Jan Beulich Date: Fri Jan 11 09:09:00 2008 +0000 kbuild: scripts/mkmakefile: dynamic determination of output directory Rather than fixing the output directory in the generated Makefile, determine it from the placement of Makefile. This allows moving the build tree around or accessing it through different mount paths. (The lastword definition is a compatibility one for make prior to 3.81; newer make will simply ignore it and use the [faster] built-in.) Signed-off-by: Jan Beulich Signed-off-by: Sam Ravnborg commit df578e7d831b4d280bf7c621eafb737e78cd26eb Author: Sam Ravnborg Date: Fri Jan 11 19:17:15 2008 +0100 kbuild: clean up modpost.c akpm complained about overly long lines in modpost.c and when started additional style issues were fixed: o Updated my copyright o Removed unneeded {} o Drop assignments in if () o Spaces around operators o Break long lines o locate * near variable not type o Fix a format specifier for sizeof() o Corrected placement of '{' and '}' o spaces to tabs (but use tabs only for indention) modpost.c is not checkpatch clean. Readability were favoured on top of checkpatch compliance. But checkpatch were used to find additional stuff to clean up. Signed-off-by: Sam Ravnborg commit 07f766885879a1fd4502fb8dd531d1fe3c575510 Author: Ladislav Michl Date: Wed Jan 9 16:36:19 2008 +0100 kconfig: use C89 random functions in conf.c rand and srand functions conform also to C89 in addition to POSIX.1-2001, which makes them a bit more portable (work also on MinGW host). Linux man page also says: "The versions of rand() and srand() in the Linux C Library use the same random number generator as random() and srandom()". * Use C89 conformant functions rand() and srand() Signed-off-by: Ladislav Michl Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 75ff4309cdb1d7303750aeed07a5d80382fe2e71 Author: Ladislav Michl Date: Wed Jan 9 16:36:19 2008 +0100 kconfig: fix whitespace and sort includes in conf.c Sort includes and remove leading whitespace. Signed-off-by: Ladislav Michl Signed-off-by: Sam Ravnborg Cc: Roman Zippel Date: Tue Jan 8 15:16:24 2008 +0100 kbuild: ignore cache modifiers for generating the tags files With this patch I'm able to find the definition of _xmit_lock defined in include/linux/netdevice.h as follows: struct net_device { ... spinlock_t _xmit_lock ____cacheline_aligned_in_smp; } Otherwise this counts as definition of ____cacheline_aligned_in_smp. Signed-off-by: Uwe Kleine-König Signed-off-by: Sam Ravnborg commit de83cf148aaefac8a538a076f2c3c4f33968e04a Author: Sam Ravnborg Date: Mon Jan 7 21:13:04 2008 +0100 kconfig: delete unused FILE_ and SYMBOL_ flags The *_PRINTED flags were never used - so delete them. Do we need them later then we can re-add them. Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit d6ee35764f270c699e165b15dc59f4e55546bfda Author: Sam Ravnborg Date: Mon Jan 7 21:09:55 2008 +0100 kconfig: rename E_OR & friends to avoid name clash We had macros named the same as a set of enumeration values. It is legal code but very confusing to read - so rename the macros from E_* to EXPR_* Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit d84876f9f8042d5536050b83674c4f348ca3c4df Author: Jan Engelhardt Date: Thu Jan 3 23:33:44 2008 +0100 kconfig: allow overriding symbols Allow config variables in .config to override earlier ones in the same file. In other words, # CONFIG_SECURITY is not defined CONFIG_SECURITY=y will activate it. This makes it a bit easier to do cat original-config myconfig myconfig2 ... >.config; and run *config as expected. Signed-off-by: Jan Engelhardt Signed-off-by: Sam Ravnborg Cc: Roman Zippel Cc: Randy Dunlap commit 09af091f50409a60a72086c737b9a6224dde5ab8 Author: Ladislav Michl Date: Mon Dec 17 19:07:41 2007 +0100 kconfig: make kconfig MinGW friendly Kconfig is powerfull tool. So powerfull that more and more software projects are using it for configuration. So instead of fixing some of them one by one, lets fix it in kernel and wait for sync. This work was originaly done for PTXdist - GPL licensed build system for userlands and cross-compilers, but it will not hurt kernel kconfig either. PTXdist menuconfig now works on Windows linked with PDCurses and compiled using MinGW - there is no termios and signals. * Do not include and (comes from times when lxdialog was separate process) * Do not mess with termios directly and let curses tell screen size. Comment to commit c8dc68ad0fbd934e78e913b8a8d7b45945db4930 says check for screen size could be removed later, but because it didn't happen for more than year I left it here as well. * Save cursor position added by Sam Signed-off-by: Ladislav Michl Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 0486bc9098f4556a0aa90d57f717d08164b7647e Author: Randy Dunlap Date: Mon Nov 12 16:17:55 2007 -0800 kconfig: add hints/tips/tricks to Documentation/kbuild/kconfig-language.txt Add a section on kconfig hints: how to do in Kconfig files. Fix a few typos/spellos. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit b052ce4c840e2da3c72ab7dadb97d1094f6e3a89 Author: Theodore Ts'o Date: Fri Nov 2 21:53:01 2007 -0400 kbuild: fix false positive -dirty tag caused by make-kpkg make-kpkg modifies scripts/package/Makefile and deletes scripts/package/builddeb as part of its build process. Ignore these changes so the tree isn't marked as -dirty, when it is just an artifact of make-kpkg. (make-kpkg clean restores the files to their original state, and these helper scripts won't affect the final compiled kernel in any way.) Signed-off-by: "Theodore Ts'o" Signed-off-by: Sam Ravnborg commit 4e7434ff028c4280bed620f28fdbf9f4d77d77ce Author: Theodore Ts'o Date: Fri Nov 2 21:53:00 2007 -0400 kbuild: fix scripts/setlocalversion to avoid erroneous -dirty tag If git's index file is out of date, and some files have been touched such that their timestamp doesn't what is in the index, "git diff-index HEAD" may show that a particular file is dirty, when in fact it really isn't. Running "git update-index" will update the index to avoid these false positives. Signed-off-by: "Theodore Ts'o" Signed-off-by: Sam Ravnborg commit d882421f4e08ddf0a94245cdbe516db260aa6f41 Author: Theodore Ts'o Date: Fri Nov 2 21:52:59 2007 -0400 kbuild: change CONFIG_LOCALVERSION_AUTO to use a git-describe-ish format Change the automatic local version to have the form -nnnnn-gSHA1SUMID, where 'nnnnn' is the number of commits since the last tag (i.e., 2.6.21-rc7). This makes it much more likely that the package names created for the kernel will look "newer" to a package manager. Signed-off-by: "Theodore Ts'o" Signed-off-by: Sam Ravnborg commit 22d6a6a018d897c9c77c6af164722926e70108fa Author: Andreas Mohr Date: Sat Nov 17 21:51:25 2007 +0100 kbuild: eradicate bashisms in scripts/patch-kernel Make the patch-kernel shell script sufficiently compatible with POSIX shells, i.e., remove bashisms from scripts/patch-kernel. This means that it now also works on dash 0.5.3-5 and still works on bash 3.1dfsg-8. Full changelog: - replaced non-standard "==" by standard "=" - replaced non-standard "source" statement by POSIX "dot" command - use leading ./ on mktemp filename to force the tempfile to a local directory, so that the search path is not used - replace bash syntax to remove leading dot by similar POSIX syntax - added missing (optional/not required) $ signs to shell variable names Signed-off-by: Andreas Mohr Acked-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 7491a76b23f5100823098b9d5d74ef18a2ca0dc1 Author: WANG Cong Date: Wed Jan 2 13:55:33 2008 +0800 FS: Remove dead code Remove dead code in smbfs makefile. Cc: Al Viro Cc: Tim Shimmin Signed-off-by: WANG Cong Signed-off-by: Sam Ravnborg commit abee8ed09a2093299673400a9cd3882f21e8e767 Author: WANG Cong Date: Tue Jan 1 22:00:04 2008 +0800 FRV: Drop 'TOPDIR' from Makefiles This patch drops TOPDIR from frv Makefiles. Cc: David Howells Signed-off-by: WANG Cong Signed-off-by: Sam Ravnborg commit aff5905778d2fb1826ec623e4b1da3a7ff048ca4 Author: WANG Cong Date: Tue Jan 1 21:41:08 2008 +0800 INFINIBAND: Remove 'TOPDIR' from Makefiles This patch removes TOPDIR from infiniband Makefile and delete one include statement pointing to a non-existing directory Cc: Roland Dreier Cc: Sean Hefty Cc: Hal Rosenstock Signed-off-by: WANG Cong Signed-off-by: Sam Ravnborg commit 42d71c44d5fc09ae47783b7e15fe0d6b60711230 Author: WANG Cong Date: Wed Jan 2 14:27:59 2008 +0800 CRIS: Remove 'TOPDIR' from Makefiles This patch removes TOPDIR from Cris Makefiles. Cc: Mikael Starvik Cc: Jesper Nilsson Cc: Andreas Schwab Signed-off-by: WANG Cong Signed-off-by: Sam Ravnborg Acked-by: Jesper Nilsson commit 9b213118fa4b79afe9a2718faca244ac581a96b6 Author: Sam Ravnborg Date: Tue Jan 1 13:40:28 2008 +0100 kbuild: fix installing external modules Eric Sandeen reported: Installing external modules is supposed to put them in some path under /lib/modules//extra/subdir/, but this change: http://linux.bkbits.net:8080/linux-2.6/?PAGE=cset&REV=1.1982.9.23 makes them go under /lib/modules//extrasubdir (for example, make M=fs/ext3 modules_install puts ext3.ko in /lib/modules//extrafs/ext3.ko) This was the case only when specifying a trailing slash to M=.. Fixed by removing trailing slash if present so we correctly match dir part of target. Signed-off-by: Sam Ravnborg Cc: Eric Sandeen commit 7998a731664ac4988b349e70669bac11e3b3a3ac Author: Robert P. J. Day Date: Mon Dec 31 14:58:38 2007 +0100 A few corrections to include/linux/Kbuild auxvec.h, i2c-dev.h and vt.h *should* be unifdef'ed i2o-dev.h does not need unifdef'ing Signed-off-by: Robert P. J. Day Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 36091fd348e79ab703b0766420c0b06ff7662d2d Author: Mike Frysinger Date: Sat Nov 10 09:32:20 2007 -0500 kbuild: fixup genksyms usage/getopt The usage does not mention the "-a,--arch" or "-T,--dump-types" options, so add them. The calls to getopt() seem to mention options that no longer exist (some "k" and "p" thingy) but omits the "h" option which means using '-h' actually triggers the error code path, so update those as well. Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit c6025f4c8bbe147b8773f04ce5a7d2ca7f4a6a5c Author: Sam Ravnborg Date: Mon Dec 31 14:26:12 2007 +0100 kbuild: ignore *.order files Introducing the new modules.order patch created a number of additional files. Teach git to ignore them. Signed-off-by: Sam Ravnborg Acked-by: Tejun Heo commit 0484f1299fb504d57f388e5cdaba85ed59f32ca0 Author: Sam Ravnborg Date: Mon Dec 31 14:22:55 2007 +0100 kbuild: fix buglet in gcc-version.sh Greg Schafer reported: ==== $make mrproper scripts/gcc-version.sh: [[: command not found This is on a very old host with an ancient bash as /bin/sh. But I have CONFIG_SHELL set and pointing to a modern bash. Something is wrong. This doesn't happen with 2.6.23 ==== Fixed using a more common string equality test. Signed-off-by: Sam Ravnborg Cc: Greg Schafer Cc: Jesper Juhl commit 899c38420c56b20e12a31fe9adfa92cd21782370 Author: Robert P. J. Day Date: Thu Nov 29 10:46:38 2007 -0500 Kbuild: Clarify the rpm-related make packaging targets Signed-off-by: Robert P. J. Day Signed-off-by: Sam Ravnborg commit 3dce174cfcba11026b028d33bed0438b80e37124 Author: Aron Griffis Date: Wed Nov 28 16:55:44 2007 -0500 kbuild: support mercurial in setlocalversion This represents mercurial changesets similarly to git. For untagged revisions, append the changeset id. If there are uncommitted changes, append -dirty. For example, -hgc60016ba6237-dirty Signed-off-by: Aron Griffis Signed-off-by: Sam Ravnborg commit 2f4b489b77c68b9cba1bd9dec5a1bbf0ab3c47f8 Author: Andres Salomon Date: Mon Dec 17 01:34:58 2007 -0500 kconfig: use getopt() in conf.c for handling command line arguments Switch from doing our own parsing of command line arguments to using getopt(3) to do it. Aside from simplifying things, this allows us to specify multiple arguments; the old code could only accept two arguments (input_mode and kconfig name). Note some subtle changes: - The argument '-?' is no longer supported. - '-h' is not treated as an error, so output goes to stdout, and we exit with '0'. - There is no compatibility checking amongst arguments; the last option will simply override earlier options. For example, 'conf -n -y foo' is perfectly valid now (input_mode will be set_yes). Previously, that would have been an error ("can't find file -y"). Signed-off-by: Andres Salomon Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 666ab414fe14e8bbbe86a110437346128e1ec869 Author: Andi Kleen Date: Thu Nov 22 03:43:10 2007 +0100 kbuild: fix a buffer overflow in modpost When passing an file name > 1k the stack could be overflowed. Not really a security issue, but still better plugged. Signed-off-by: Andi Kleen Signed-off-by: Sam Ravnborg commit 58b7a68de37face98afe7c705391145795a982b5 Author: Andi Kleen Date: Thu Nov 22 03:43:09 2007 +0100 kbuild: fix format string warnings in modpost Fix wrong format strings in modpost exposed by the previous patch. Including one missing argument -- some random data was printed instead. Signed-off-by: Andi Kleen Signed-off-by: Sam Ravnborg commit 6d9a89ea4b06146d29e1ffb4d6fded286fa07d29 Author: Andi Kleen Date: Thu Nov 22 03:43:08 2007 +0100 kbuild: declare the modpost error functions as printf like This way gcc can warn for wrong format strings Signed-off-by: Andi Kleen Signed-off-by: Sam Ravnborg commit 6e588f6dcfcffa24decf418b96b4184a907d2bf8 Author: Sam Ravnborg Date: Sun Dec 9 20:11:15 2007 +0100 kconfig: if ncurses-devel is missing then say so With this patch when ncurses-devel (or whatever it is named) is missing trying to run menuconfig will result in this: $ make menuconfig HOSTCC scripts/kconfig/conf.o HOSTCC scripts/kconfig/kxgettext.o *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** *** Install ncurses (ncurses-devel) and try again. *** make[1]: *** [scripts/kconfig/dochecklxdialog] Error 1 make: *** [menuconfig] Error 2 Much better than before where we just listed some build errors. The other *config targets will work indepenednt on ncurses being present or not. Includes improvements suggested by: Frans Pop Signed-off-by: Sam Ravnborg Cc: Frans Pop commit 551559e13af1ccd19d0525cb2b0f308905170647 Author: Tejun Heo Date: Fri Dec 7 21:04:30 2007 +0900 kbuild: implement modules.order When multiple built-in modules (especially drivers) provide the same capability, they're prioritized by link order specified by the order listed in Makefile. This implicit ordering is lost for loadable modules. When driver modules are loaded by udev, what comes first in modules.alias file is selected. However, the order in this file is indeterministic (depends on filesystem listing order of installed modules). This causes confusion. The solution is two-parted. This patch updates kbuild such that it generates and installs modules.order which contains the name of modules ordered according to Makefile. The second part is update to depmod such that it generates output files according to this file. Note that both obj-y and obj-m subdirs can contain modules and ordering information between those two are lost from beginning. Currently obj-y subdirs are put before obj-m subdirs. Sam Ravnborg cleaned up Makefile modifications and suggested using awk to remove duplicate lines from modules.order instead of using separate C program. Signed-off-by: Tejun Heo Acked-by: Greg Kroah-Hartman Cc: Bill Nottingham Cc: Rusty Russell Cc: Kay Sievers Cc: Jon Masters Signed-off-by: Sam Ravnborg commit 9e233625fbee1f977929a5406533b96011f1a06b Author: Johannes Berg Date: Thu Nov 8 12:59:13 2007 +0100 convert drivers/base/power/Makefile to ccflags This patch converts drivers/base/power/Makefile to use ccflags instead of EXTRA_CFLAGS. Signed-off-by: Johannes Berg Signed-off-by: Sam Ravnborg commit 800074345544ae6ec06c77b1a3f7ba032f84bd10 Author: Geert Uytterhoeven Date: Mon Nov 5 11:51:44 2007 +0100 kbuild: Add missing srctree prefix for includecheck and versioncheck Add missing $(srctree)/ prefix for scripts used by the includecheck and versioncheck make targets Signed-off-by: Geert Uytterhoeven Signed-off-by: Sam Ravnborg commit aa025e7d5cfbcf9f397c3d734666c91179c934d6 Author: Sam Ravnborg Date: Wed Nov 14 21:34:55 2007 +0100 kbuild: document versioncheck in make help Signed-off-by: Sam Ravnborg commit ec2d987f98ba775596d0b17d783669b7eda7bae2 Author: Randy Dunlap Date: Sun Nov 4 12:01:55 2007 -0800 kbuild: add 'includecheck' help text Add 'includecheck' to the Static analyzers help list. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit e662af4281af27f95b1ec2c5eff056328a672fd7 Author: Johannes Berg Date: Wed Oct 24 15:08:48 2007 -0700 kernel-doc: new P directive for DOC: sections The !P directive includes the contents of a DOC: section given by title, e.g. !Pfilename Title of the section Signed-off-by: Johannes Berg Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 2e95972c44ca7b3dd3c5d6ff08745b56ddfa55bc Author: Johannes Berg Date: Wed Oct 24 15:08:48 2007 -0700 kernel-doc: use no-doc option When asked by a template to include all functions from a file, it will also include DOC: sections wreaking havoc in the generated docbook file. This patch makes it use the new -no-doc-sections flag for kernel-doc to avoid this. Signed-off-by: Johannes Berg Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 4b44595a7b8e0ebf3fce108df65d8cd6a6cf4910 Author: Johannes Berg Date: Wed Oct 24 15:08:48 2007 -0700 kernel-doc: process functions, not DOC: This flag is necessary for the next patch for docproc to output only the functions and not DOC: sections when a function list is requested. Signed-off-by: Johannes Berg Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit b112e0f73fe8e9e69e60bc9d6d16217795259c3c Author: Johannes Berg Date: Wed Oct 24 15:08:48 2007 -0700 kernel-doc: single DOC: selection Currently, DOC: sections are always output even if only a single function is requested, fix this and also make it possible to just output a single DOC: section by giving its title as the function name to output. Also fixes docbook XML well-formedness for sections with examples. Signed-off-by: Johannes Berg Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 1b9bc22d71c75d4145688428c92c5123bd8697e3 Author: Johannes Berg Date: Wed Oct 24 15:08:48 2007 -0700 kernel-doc: init kernel version The kernel-doc script triggers a perl warning when invoked without KERNELVERSION in the environment, rather make it use the string "unknown kernel version" instead. Signed-off-by: Johannes Berg Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 5c98fc0360437327e4034ecfe8b818ad82622100 Author: Johannes Berg Date: Wed Oct 24 15:08:48 2007 -0700 kernel-doc: fix xml output mode After Randy's patch fixing the HTML output in DOC: sections (6b5b55f6c404fa730a09a8254eb19f5a038afcc2) the same bug remained in XML mode, this fixes it. Signed-off-by: Johannes Berg Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 8561b089afbaed2651591e5a4574fdca451d82f2 Merge: e189f34... b47a166... Author: Linus Torvalds Date: Tue Jan 29 09:00:01 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] constify function pointer tables [WATCHDOG] TXx9 watchdog driver [WATCHDOG] misc_register patch [WATCHDOG] wdt: fix locking commit e189f3495c4e30fc84fc9241096edf3932e23439 Merge: f479874... 6582d7b... Author: Linus Torvalds Date: Tue Jan 29 08:52:50 2008 +1100 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: (197 commits) sh: add spi header and r2d platform data V3 sh: update r7780rp interrupt code sh: remove consistent alloc stuff from the machine vector sh: use declared coherent memory for dreamcast pci ethernet adapter sh: declared coherent memory support V2 sh: Add support for SDK7780 board. sh: constify function pointer tables sh: Kill off -traditional for linker script. cdrom: Add support for Sega Dreamcast GD-ROM. sh: Kill off hs7751rvoip reference from arch/sh/Kconfig. sh: Drop r7780rp_defconfig, use r7780mp_defconfig as kbuild default. sh: Kill off dead HS771RVoIP board support. sh: r7785rp: Fix up DECLARE_INTC_DESC() arg mismatch. sh: r7785rp: Hook up the rest of the HL7785 FPGA IRQ vectors. sh: r2d - enable sm501 usb host function sh: remove voyagergx sh: r2d - add lcd planel timings to sm501 platform data sh: Add OHCI and UDC platform devices for SH7720. sh: intc - remove default interrupt priority tables sh: Correct pte size mismatch for X2 TLB. ... commit f4798748dee00c807a63f5518f08b3df161e0f6d Merge: 8d01edd... 3bce6f9... Author: Linus Torvalds Date: Tue Jan 29 08:52:20 2008 +1100 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: (24 commits) HID: ADS/Tech Radio si470x needs blacklist entry HID: Logitech Extreme 3D needs NOGET quirk HID: Refactor MS Presenter 8K key mapping HID: MS Presenter mapping for PID 0x0701 HID: Support Samsung IR remote HID: fix compilation of hidbp drivers without usbhid HID: Blacklist the Gretag-Macbeth Huey display colorimeter HID: the `bit' in hidinput_mapping_quirks() is an out parameter HID: remove redundant WARN_ON()s in order not to scare users HID: force hiddev creation for SONY PS3 controller HID: Use hid blacklist in usbmouse/usbkbd HID: proper handling of MS 4k and 6k devices HID: remove unused variable in quirk event handler HID: hid-input quirk for BTC 8193 HID: separate hid-input event quirks from generic code HID: refactor mapping to input subsystem for quirky devices HID: Microsoft Wireless Optical Desktop 3.0 quirk HID: Add support for Logitech Elite keyboards HID: add full support for Genius KB-29E HID: fix a potential bug in pointer casting ... commit 8d01eddf292dcd78b640418c80fb300532799cd4 Merge: f0f0052... fa0ccd8... Author: Linus Torvalds Date: Tue Jan 29 08:51:56 2008 +1100 Merge branch 'for-2.6.25' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.25' of git://git.kernel.dk/linux-2.6-block: block: implement drain buffers __bio_clone: don't calculate hw/phys segment counts block: allow queue dma_alignment of zero blktrace: Add blktrace ioctls to SCSI generic devices commit f0f0052069989b80d2a3e50c9cd2f2a650bc1aea Merge: 68fbda7... a65b586... Author: Linus Torvalds Date: Tue Jan 29 08:51:32 2008 +1100 Merge branch 'blk-end-request' of git://git.kernel.dk/linux-2.6-block * 'blk-end-request' of git://git.kernel.dk/linux-2.6-block: (30 commits) blk_end_request: changing xsysace (take 4) blk_end_request: changing ub (take 4) blk_end_request: cleanup of request completion (take 4) blk_end_request: cleanup 'uptodate' related code (take 4) blk_end_request: remove/unexport end_that_request_* (take 4) blk_end_request: changing scsi (take 4) blk_end_request: add bidi completion interface (take 4) blk_end_request: changing ide-cd (take 4) blk_end_request: add callback feature (take 4) blk_end_request: changing ide normal caller (take 4) blk_end_request: changing cpqarray (take 4) blk_end_request: changing cciss (take 4) blk_end_request: changing ide-scsi (take 4) blk_end_request: changing s390 (take 4) blk_end_request: changing mmc (take 4) blk_end_request: changing i2o_block (take 4) blk_end_request: changing viocd (take 4) blk_end_request: changing xen-blkfront (take 4) blk_end_request: changing viodasd (take 4) blk_end_request: changing sx8 (take 4) ... commit 68fbda7de07e56eb90dd6e58a162527411b388b1 Merge: d492819... 7cedb1f... Author: Linus Torvalds Date: Tue Jan 29 08:51:05 2008 +1100 Merge branch 'sg' of git://git.kernel.dk/linux-2.6-block * 'sg' of git://git.kernel.dk/linux-2.6-block: SG: work with the SCSI fixed maximum allocations. SG: Convert SCSI to use scatterlist helpers for sg chaining SG: Move functions to lib/scatterlist.c and add sg chaining allocator helpers commit d4928196fe9ec07d18139ba2735876b0c8aa738f Merge: bb04af0... febffd6... Author: Linus Torvalds Date: Tue Jan 29 08:50:42 2008 +1100 Merge branch 'cfq-ioc-share' of git://git.kernel.dk/linux-2.6-block * 'cfq-ioc-share' of git://git.kernel.dk/linux-2.6-block: cfq-iosched: kill some big inlines cfq-iosched: relax IOPRIO_CLASS_IDLE restrictions kernel: add CLONE_IO to specifically request sharing of IO contexts io_context sharing - anticipatory changes block: cfq: make the io contect sharing lockless io_context sharing - cfq changes io context sharing: preliminary support ioprio: move io priority from task_struct to io_context commit bb04af0e2e5bcd8d1a5d7f7d5c704f7eb328f241 Merge: 0affa45... 0ff66f0... Author: Linus Torvalds Date: Tue Jan 29 08:49:49 2008 +1100 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: (176 commits) [ARM] 4795/1: S3C244X: Add armclk and setparent call [ARM] 4794/1: S3C24XX: Comonise S3C2440 and S3C2442 clock code [ARM] 4793/1: S3C24XX: Add IRQ->GPIO pin mapping function [ARM] 4792/1: S3C24XX: Remove warnings from debug-macro.S [ARM] 4791/1: S3C2412: Make fclk a parent of msysclk [ARM] 4790/1: S3C2412: Fix parent selection for msysclk. [ARM] 4789/1: S3C2412: Add missing CLKDIVN register values [ARM] 4788/1: S3C24XX: Fix paramet to s3c2410_dma_ctrl if S3C2410_DMAF_AUTOSTART used. [ARM] 4787/1: S3C24XX: s3c2410_dma_request() should return the allocated channel number [ARM] 4786/1: S3C2412: Add SPI FIFO controll constants [ARM] 4785/1: S3C24XX: Add _SHIFT definitions for S3C2410_BANKCON registers [ARM] 4784/1: S3C24XX: Fix GPIO restore glitches [ARM] 4783/1: S3C24XX: Add s3c2410_gpio_getpull() [ARM] 4782/1: S3C24XX: Define FIQ_START for any FIQ users [ARM] 4781/1: S3C24XX: DMA suspend and resume support [ARM] 4780/1: S3C2412: Allow for seperate DMA channels for TX and RX [ARM] 4779/1: S3C2412: Add s3c2412_gpio_set_sleepcfg() call [ARM] 4778/1: S3C2412: Add armclk and init from DVS state [ARM] 4777/1: S3C24XX: Ensure clk_set_rate() checks the set_rate method for the clk [ARM] 4775/1: s3c2410: fix compilation error if only s3c2442 cpu is selected ... commit 0affa456cb6da51a31a6dd76b3d8827f467f807d Author: Linus Nilsson Date: Mon Jan 28 15:56:27 2008 +0100 libata: Change "write_data" to "rw" for some function documentations The documentation for ata_data_xfer and ata_data_xfer_noirq had the 'rw' parameter named 'write_data'. Signed-off-by: Linus Nilsson Signed-off-by: Linus Torvalds commit 3bce6f981aeeb7d0c14520cecd947716b377ef83 Author: Tobias Lorenz Date: Sun Jan 27 22:19:22 2008 +0100 HID: ADS/Tech Radio si470x needs blacklist entry This patch adds blacklist entries in hid-quirks.c to let the usbhid driver ignore the si470x radio devices. They are now handled by the new radio-si470x driver. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Jiri Kosina commit 7cea465f9bf3ed84ed67337cd57fc97e25625771 Author: Jiri Kosina Date: Thu Jan 17 15:23:11 2008 +0100 HID: Logitech Extreme 3D needs NOGET quirk Logitech Extreme 3D needs NOGET quirk, otherwise it times out at the time of connect. Reported-by: Mike Sharov Signed-off-by: Jiri Kosina commit d7d32c815b938a8e98e93d881e6ec5da63bd0beb Author: Jan Kiszka Date: Mon Jan 14 13:08:27 2008 +0100 HID: Refactor MS Presenter 8K key mapping Following the suggestion of Jonas, this patch maps the special keys of the MS Presenter 8000 to targets that should allow for better re-mapping according to individual use cases (i.e. I avoided hard-wiring to standard keys). This time I also included the last missing key event (switching back from presentation mode). The optimal Xmodmap customization for using the Presenter with OpenOffice now looks like this for me: keycode 175 = Escape keycode 179 = F5 keysym XF86Forward = Right keysym XF86Back = Left Signed-off-by: Jan Kiszka Signed-off-by: Jiri Kosina commit 85c985f46059107c4f4bf5f9e7807dbb646595db Author: Jiri Kosina Date: Thu Jan 10 17:40:18 2008 +0100 HID: MS Presenter mapping for PID 0x0701 0x045e/0x0701 also needs the hid-input mapping quirk established by quirk_microsoft_presenter_8k(). Reported-by: Jonas Delrue Signed-off-by: Jiri Kosina commit fe56caa97e626cc6d6e18adbd5ccd1a9aa9a4fcf Author: Robert Schedel Date: Wed Dec 26 00:57:40 2007 +0100 HID: Support Samsung IR remote Samsung USB remotes (0419:0001) are rejected by kernel 2.6.23, because the report descriptor from the remote contains a 48 bit HID report field. HID 1.11 states: Fields may span at most 4 bytes. This patch, based on 2.6.23, fixes this by modifying the internal report descriptor in hid-quirks.c. Additional user space support (e.g. LIRC) is required to fetch the information from the hiddev interface. The burden to reconstruct the data is moved into userspace (lirc through hiddev). There is no need to set HID_QUIRK_HIDDEV quirk, as the device has also output applications, which trigger the creation of hiddev device automatically. Signed-off-by: Robert Schedel Signed-off-by: Jiri Kosina commit b0e668240949f69e84d69f998aa9af759e8be635 Author: Jiri Kosina Date: Mon Dec 17 16:11:27 2007 +0100 HID: fix compilation of hidbp drivers without usbhid We can use the blacklist only if usbhid code is compiled. Reported-by: jurriaan Cc: Pascal Terjan Signed-off-by: Jiri Kosina commit 15b55fb879e901bbc0da05054b14ccbc2752a56a Author: Nicolas Mailhot Date: Sun Dec 16 18:16:43 2007 +0100 HID: Blacklist the Gretag-Macbeth Huey display colorimeter The Gretag-Macbeth Huey display colorimeter claims to be an HID device but isn't. As a result the linux HID device will claim it, preventing FLOSS software like Argyll CMS from talking to it. Tested-by: Frederic Crozat Signed-off-by: Nicolas Mailhot Signed-off-by: Jiri Kosina commit 70d215c4a7dfbddc138a2dd726d8f80f3e6d2622 Author: Fengguang Wu Date: Fri Dec 7 16:35:14 2007 +0800 HID: the `bit' in hidinput_mapping_quirks() is an out parameter Fix a panic, by changing hidinput_mapping_quirks(,, unsigned long *bit,) to hidinput_mapping_quirks(,, unsigned long **bit,) The `bit' in this function is an out parameter. Signed-off-by: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit c4124c9b68bf8ecf1e8afedad3a22e18666cb6f3 Author: Jiri Kosina Date: Fri Nov 30 11:12:58 2007 +0100 HID: remove redundant WARN_ON()s in order not to scare users The WARN_ON() in implement() and extract() spit out stacktraces and a lot of other information that might make users think that there is something seriously wrong with the system. WARN_ON() should not be deliberately triggerable by userspace application, which these can be. Usually this WARN_ON() triggers when hid2hci utility is sending the data that don't correspond to the device's report descriptor. Convert these messages to more friendly printk(). Signed-off-by: Jiri Kosina commit 0887b4cb2102e281c123abf1408f218c15fd3ba3 Author: Bastien Nocera Date: Wed Nov 28 16:34:53 2007 +0100 HID: force hiddev creation for SONY PS3 controller The device is not discoverable, and needs to be poked to set its master, the Bluetooth device it will try to connect to when the "Home" button is pressed without a cable plugged in. Using libusb means disconnecting the device from its driver to get the report descriptor. Using hiddev, we can poke it without relinquishing control over it, so when you plug it in, it would still work as a pad. This could be then used by sixpair program, after it is rewritten to use hiddev instead of libusb. Signed-off-by: Bastien Nocera Signed-off-by: Jiri Kosina commit 9f6b37275a9f5fbb0b6657a226a633533a1b2e09 Author: Pascal Terjan Date: Mon Nov 26 14:03:52 2007 +0100 HID: Use hid blacklist in usbmouse/usbkbd This fixes wacom tablets not working if usbmouse is loaded. Signed-off-by: Pascal Terjan Signed-off-by: Jiri Kosina commit 628edcde87592a7ac6e72b555bb03ea265bcfbd2 Author: Jiri Kosina Date: Mon Nov 26 13:26:33 2007 +0100 HID: proper handling of MS 4k and 6k devices This removes ugly macros IS_* to distinguish devices that need special handling in hid-input, and establish proper quirks for them. Signed-off-by: Jiri Kosina commit 9a15c99714ca229dd0b894e200fd96daf14f32fb Author: Jiri Kosina Date: Mon Nov 26 11:32:51 2007 +0100 HID: remove unused variable in quirk event handler Remove unused variable in quirk event handler. Signed-off-by: Jiri Kosina commit 36ccaad640737899b069a9a93a82765f0e675a20 Author: Jiri Kosina Date: Mon Nov 26 13:18:00 2007 +0100 HID: hid-input quirk for BTC 8193 BTC 8193 keyboard handles its scrollwheel in very non-standard way. It produces two non-standard usages for scrolling up and down, in both cases with postive value equaling to 1. We handle this by temporary mapping, which we then catch in quirk event handler, and remap to negative HWHEEL even in order to introduce correct behavior. Also the button requires special mapping, as it triggers standard-violating usage code. Reported in kernel.org bugzilla #9385 Reported-by: Kir Kolyshkin Signed-off-by: Jiri Kosina commit 87bc2aa9933afc032a93490e1642918121e7470b Author: Jiri Kosina Date: Fri Nov 23 13:16:02 2007 +0100 HID: separate hid-input event quirks from generic code This patch separates also the hid-input quirks that have to be applied at the time the event occurs, so that the generic code handling HUT-compliant devices is not messed up by them too much. Signed-off-by: Jiri Kosina commit 10bd065facb2594bd508597ef464d401b212f379 Author: Jiri Kosina Date: Thu Nov 22 15:18:18 2007 +0100 HID: refactor mapping to input subsystem for quirky devices Currently, the handling of mapping between hid and input for devices that don't conform to HUT 1.12 specification is very messy -- no per-device handling, no blacklists, conditions on idVendor and idProduct placed all over the code. This patch moves all the device-specific input mapping to a separate file, and introduces a blacklist-style handling for non-standard device-specific mappings. Signed-off-by: Jiri Kosina commit 8dcd5afabffe7c7428323b6f083c2ec70129b459 Author: Drew Fisher Date: Sun Nov 18 12:29:56 2007 +0100 HID: Microsoft Wireless Optical Desktop 3.0 quirk Make the Microsoft Wireless Optical Desktop 3.0 work as a mouse. Microsoft Wireless Optical Desktop 3.0 doesn't properly describe its interface class. Specifically, since it doesn't mark the second interface as a mouse (bInterfaceSubclass = 0), it doesn't get HID_QUIRK_NOGET applied to the interface, and then acts broken when polled. Signed-off-by: Drew Fisher Signed-off-by: Jiri Kosina commit bc3707335c9eee214e663fdd8935b649fec9bf3a Author: Carlos Corbacho Date: Sat Nov 17 01:30:25 2007 +0100 HID: Add support for Logitech Elite keyboards Reuse the quirks from the Cordless Desktop LX500 - stops some of the extra keys being reported as mouse buttons. Signed-off-by: Carlos Corbacho Signed-off-by: Jiri Kosina commit af9e0eacdc072ba28fd139b90de27023d9cb0598 Author: Jiri Kosina Date: Wed Nov 14 12:13:26 2007 +0100 HID: add full support for Genius KB-29E Genius KB-29E has broken report descriptor, which causes some of the Consumer usages to appear incorrectly as Button usages. We fix it by fixing the report descriptor before it is being parsed. Also a few of the keys violate the HUT standard, so they need a special handling. They currently fall into "Reserved" range as per HUT 1.12. Reported-by: Szekeres Istvan Signed-off-by: Jiri Kosina commit 3ba5619f06300cd0944150901ed20de87483ad8c Author: Li Zefan Date: Wed Nov 14 11:31:05 2007 +0100 HID: fix a potential bug in pointer casting Don't directly cast list_head * to foo *, this works only when list is the first member of struct foo, and we should not make the assumption how members are ordered in the structure. i.e. struct *f = (struct *f)pos will work if: struct foo { struct list_head list; int i; }; but will fail if: struct foo { int i; struct list_head list; } Signed-off-by: Li Zefan Signed-off-by: Jiri Kosina commit c80e5ffac0579499ca28444155118ffcdd9b8d7e Author: Pavel Troller Date: Mon Oct 29 11:13:46 2007 +0100 HID: Implement horizontal wheel handling for A4 Tech X5-005D This mouse distinguishes horizontal wheel from vertical by a special "pseudo event" GenericDesktop.00b8, with values of 0 for vertical and 8 for horizontal wheel. Because this event is supplied by the parser too late, we need to delay a wheel event, wait for this one and send either REL_WHEEL or REL_HWHEEL to input depending on the event value. Signed-off-by: Pavel Troller Signed-off-by: Jiri Kosina commit a45d82d19a6c2a717bcc33cff243199b77fa0082 Author: Michel Daenzer Date: Wed Oct 24 16:30:37 2007 +0200 HID: Add support for Apple aluminum USB keyboards. Reuse the existing quirks for Apple laptop USB keyboards. Signed-off-by: Michel Daenzer Signed-off-by: Jiri Kosina commit 81e1a875505f2963f4d22f7e7ade39d764755f9b Author: Michel Daenzer Date: Wed Oct 24 16:30:34 2007 +0200 HID: Rename some code identifiers from PowerBook specific to Apple generic Preserve identifiers exposed in build and run time configuration though in order not to break existing configurations. This is in preparation for adding support for Apple aluminum USB keyboards. Signed-off-by: Michel Daenzer Signed-off-by: Jiri Kosina commit 3c684c8cd4d1a81004daa21f7ad3dad5119916e3 Author: Jan Kiszka Date: Wed Oct 24 16:24:22 2007 +0200 HID: Map MS Presenter 8000 bottom-side buttons The MS Presenter 8000 bluetooth mouse is a "dual-use" device: If you press a button on the top, you can turn it around and find special keys on the other side, useful for presentations. This patch maps those three bottom-keys that are not already detected to the intended functions. The magic bottom on the top is mapped to F5 when we switch from mouse to presenter mode in order to activate the presentation mode in the related software (e.g. OpenOffice). Signed-off-by: Jan Kiszka Signed-off-by: Jiri Kosina commit 0ff66f0c7a5f1f4f5a0d91341b6f71fd2a49f0fa Merge: c00d4ff... 4e4fc05... Author: Russell King Date: Mon Jan 28 13:21:38 2008 +0000 Merge branch 'pxa-plat' into devel * pxa-plat: (53 commits) [ARM] 4762/1: Basic support for Toradex Colibri module [ARM] pxa: fix mci_init functions returning -1 [ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfix [ARM] 4747/1: pcm027: support for pcm990 baseboard for phyCORE-PXA270 [ARM] 4746/1: pcm027: network support for phyCORE-PXA270 [ARM] 4745/1: pcm027: default configuration [ARM] 4744/1: pcm027: add support for phyCORE-PXA270 CPU module [NET] smc91x: Make smc91x use IRQ resource trigger flags [ARM] pxa: add default config for littleton [ARM] pxa: add basic support for Littleton (PXA3xx Form Factor Platform) [ARM] 4664/1: Add basic support for HTC Magician PDA phones [ARM] 4649/1: Base support for pxa-based Toshiba e-series PDAs. [ARM] pxa: skip registers saving/restoring if entering standby mode [ARM] pxa: fix PXA27x resume [ARM] pxa: Avoid fiddling with CKEN register on suspend [ARM] pxa: Add PXA3 standby code hooked into the IRQ wake scheme [ARM] pxa: Add zylonite MFP wakeup configurations [ARM] pxa: program MFPs for low power mode when suspending [ARM] pxa: make MFP configuration processor independent [ARM] pxa: remove un-used pxa3xx_mfp_set_xxx() functions ... Conflicts: arch/arm/mach-pxa/ssp.c Signed-off-by: Russell King commit c00d4ffdbace1bdc9fdd888e4ba6d207ffa3b679 Merge: d0d42df... 8f86dda... Author: Russell King Date: Mon Jan 28 13:21:30 2008 +0000 Merge branch 'orion' into devel * orion: (26 commits) [ARM] Orion: implement power-off method for QNAP TS-109/209 [ARM] Orion: add support for QNAP TS-109/TS-209 [ARM] Orion: I2C support [I2C] i2c-mv64xxx: Don't set i2c_adapter.retries [I2C] Split mv643xx I2C platform support [ARM] Orion: enable CONFIG_RTC_DRV_M41T80 for D-Link DNS-323 [ARM] Orion defconfig [ARM] Orion: add support for Orion/MV88F5181 based D-Link DNS-323 [ARM] Orion: MV88F5181 support bits [ARM] Orion: Buffalo/Revogear Kurobox Pro support [ARM] OrionNAS RD board support [ARM] Orion: support for Marvell Orion-2 (88F5281) Development Board [ARM] Orion: common platform setup for Gigabit Ethernet port [ARM] Orion: platform device registration for UART, USB and NAND [ARM] Orion: system timer support [ARM] Orion edge GPIO IRQ support [ARM] Orion: IRQ support [ARM] Orion: provide GPIO method for enabling hardware assisted blinking [ARM] Orion: GPIO support [ARM] Orion: programable address map support ... Conflicts: arch/arm/Kconfig arch/arm/Makefile Signed-off-by: Russell King commit d0d42df2a440003d96c8bf29991c2afb691ef720 Merge: e01dbdb... eaf858a... 6331acd... b696b6b... 5de865b... 20118ff... 1d7d4f5... bfe645a... 06dbbd6... d142b6e... b5872db... Author: Russell King Date: Mon Jan 28 13:21:21 2008 +0000 Merge branches 'at91', 'ep93xx', 'iop', 'kprobes', 'ks8695', 'misc', 'msm', 's3c2410', 'sa1100' and 'vfp' into devel * at91: (24 commits) [ARM] 4615/4: sam926[13]ek buttons updated [ARM] 4765/1: [AT91] AT91CAP9A-DK board support [ARM] 4764/1: [AT91] AT91CAP9 core support [ARM] 4738/1: at91sam9261: Remove udc pullup enabling in board initialisation [ARM] 4761/1: [AT91] Board-support for NEW_LEDs [ARM] 4760/1: [AT91] SPI CS0 errata on AT91RM9200 [ARM] 4759/1: [AT91] Buttons on CSB300 [ARM] 4758/1: [AT91] LEDs [ARM] 4757/1: [AT91] UART initialization [ARM] 4756/1: [AT91] Makefile cleanup [ARM] 4755/1: [AT91] NAND update [ARM] 4754/1: [AT91] SSC library support [ARM] 4753/1: [AT91] Use DMA_BIT_MASK [ARM] 4752/1: [AT91] RTT, RTC and WDT peripherals on SAM9 [ARM] 4751/1: [AT91] ISI peripheral on SAM9263 [ARM] 4750/1: [AT91] STN LCD displays on SAM9261 [ARM] 4734/1: at91sam9263ek: include IRQ for Ethernet PHY [ARM] 4646/1: AT91: configurable HZ, default to 128 [ARM] 4688/1: at91: speed-up irq processing [ARM] 4657/1: AT91: Header definition update ... * ep93xx: [ARM] 4671/1: ep93xx: remove obsolete gpio_line_* operations [ARM] 4670/1: ep93xx: implement IRQT_BOTHEDGE gpio irq sense type [ARM] 4669/1: ep93xx: simplify GPIO code and cleanups [ARM] 4668/1: ep93xx: implement new GPIO API * iop: [ARM] 4770/1: GLAN Tank: correct physmap_flash_data width field [ARM] 4732/1: GLAN Tank: register rtc-rs5c372 i2c device [ARM] 4708/1: iop: update defconfigs for 2.6.24 * kprobes: ARM kprobes: let's enable it ARM kprobes: special hook for the kprobes breakpoint handler ARM kprobes: prevent some functions involved with kprobes from being probed ARM kprobes: don't let a single-stepped stmdb corrupt the exception stack ARM kprobes: add the kprobes hook to the page fault handler ARM kprobes: core code ARM kprobes: instruction single-stepping support * ks8695: [ARM] 4603/1: KS8695: debugfs interface to view pin state [ARM] 4601/1: KS8695: PCI support * misc: [ARM] remove duplicate includes [ARM] CONFIG_DEBUG_STACK_USAGE [ARM] 4689/1: small comment wrap fix [ARM] 4687/1: Trivial arch/arm/kernel/entry-common.S comment fix [ARM] 4666/1: ixp4xx: fix sparse warnings in include/asm-arm/arch-ixp4xx/io.h [ARM] remove reference to non-existent MTD_OBSOLETE_CHIPS [SERIAL] 21285: Report baud rate back via termios [ARM] Remove pointless casts from void pointers, [ARM] Misc minor interrupt handler cleanups [ARM] Remove at91_lcdc.h [ARM] ARRAY_SIZE() cleanup [ARM] Update mach-types * msm: [ARM] msm: dma support for MSM7X00A [ARM] msm: board file for MACH_HALIBUT (QCT MSM7200A) [ARM] msm: irq and timer support for ARCH_MSM7X00A [ARM] msm: core platform support for ARCH_MSM7X00A * s3c2410: (33 commits) [ARM] 4795/1: S3C244X: Add armclk and setparent call [ARM] 4794/1: S3C24XX: Comonise S3C2440 and S3C2442 clock code [ARM] 4793/1: S3C24XX: Add IRQ->GPIO pin mapping function [ARM] 4792/1: S3C24XX: Remove warnings from debug-macro.S [ARM] 4791/1: S3C2412: Make fclk a parent of msysclk [ARM] 4790/1: S3C2412: Fix parent selection for msysclk. [ARM] 4789/1: S3C2412: Add missing CLKDIVN register values [ARM] 4788/1: S3C24XX: Fix paramet to s3c2410_dma_ctrl if S3C2410_DMAF_AUTOSTART used. [ARM] 4787/1: S3C24XX: s3c2410_dma_request() should return the allocated channel number [ARM] 4786/1: S3C2412: Add SPI FIFO controll constants [ARM] 4785/1: S3C24XX: Add _SHIFT definitions for S3C2410_BANKCON registers [ARM] 4784/1: S3C24XX: Fix GPIO restore glitches [ARM] 4783/1: S3C24XX: Add s3c2410_gpio_getpull() [ARM] 4782/1: S3C24XX: Define FIQ_START for any FIQ users [ARM] 4781/1: S3C24XX: DMA suspend and resume support [ARM] 4780/1: S3C2412: Allow for seperate DMA channels for TX and RX [ARM] 4779/1: S3C2412: Add s3c2412_gpio_set_sleepcfg() call [ARM] 4778/1: S3C2412: Add armclk and init from DVS state [ARM] 4777/1: S3C24XX: Ensure clk_set_rate() checks the set_rate method for the clk [ARM] 4775/1: s3c2410: fix compilation error if only s3c2442 cpu is selected ... * sa1100: [ARM] sa1100: add clock source support * vfp: [ARM] 4584/2: ARMv7: Add Advanced SIMD (NEON) extension support [ARM] 4583/1: ARMv7: Add VFPv3 support [ARM] 4582/2: Add support for the common VFP subarchitecture commit 06dbbd69f94e97751782ef6f1a9bb19da60efd1c Author: Ben Dooks Date: Mon Jan 28 13:01:35 2008 +0100 [ARM] 4795/1: S3C244X: Add armclk and setparent call Add armclk to the supported clocks on the S3C2440 and S3C2442 to better represent the DVS state which controls whether FCLK or HCLK is fed to the ARM core. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 3a38e4be76e86c7b94c36dc8f3ce489987da24e4 Author: Ben Dooks Date: Mon Jan 28 13:01:34 2008 +0100 [ARM] 4794/1: S3C24XX: Comonise S3C2440 and S3C2442 clock code Merge together the bits of the S3C2440 and S3C2442 clock code that can be. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c27cb681ac1598352569f75cb19850a12b7ef102 Author: Ben Dooks Date: Mon Jan 28 13:01:33 2008 +0100 [ARM] 4793/1: S3C24XX: Add IRQ->GPIO pin mapping function Add the reverse of s3c2410_gpio_getirq to convert a IRQ number into a GPIO pin number. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 9b8c0088404778a1291191cf140bcfea082f027c Author: Ben Dooks Date: Mon Jan 28 13:01:32 2008 +0100 [ARM] 4792/1: S3C24XX: Remove warnings from debug-macro.S Remove warnings left in include/asm-arm/arch-s3c2410/debug-macro.S whilst these where being experimented with. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ddd870bdb722280bd5af1682d82557d1787ac90c Author: Ben Dooks Date: Mon Jan 28 13:01:31 2008 +0100 [ARM] 4791/1: S3C2412: Make fclk a parent of msysclk In the S3C2412 fclk is derived from msysclk, not straight from the MPLL output. Set clk_f.parent appropriately. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit cca851d7b4d87f3a644d3381930dc737890bd9ac Author: Ben Dooks Date: Mon Jan 28 13:01:30 2008 +0100 [ARM] 4790/1: S3C2412: Fix parent selection for msysclk. The msysclk clock was checking for the wrong PLL for the parent in s3c2412_setparent_msysclk(), trying the UPLL instead of the MPLL output. Also ensure the mpll and fclks are at the same rate at init time. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit e95f52cd3b664eaa9c2b2b123f2a339ae0f1a92b Author: Ben Dooks Date: Mon Jan 28 13:01:29 2008 +0100 [ARM] 4789/1: S3C2412: Add missing CLKDIVN register values Add S3C2412_CLKDIVN_DVSEN and S3C2412_CLKDIVN_HALFHCLK definitions to the S3C2412_CLKDIVN set. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 046c9d321fd5f5ce1c89c9d0f1a519c26a096486 Author: Ben Dooks Date: Mon Jan 28 13:01:28 2008 +0100 [ARM] 4788/1: S3C24XX: Fix paramet to s3c2410_dma_ctrl if S3C2410_DMAF_AUTOSTART used. Fix the channel parameter to s3c2410_dma_ctrl() in s3c2410_dma_enqueue() if the S3C2410_DMAF_AUTOSTART is set on the channel. Spotted by Steven Ryu at Samsung. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit a07c438faf952643f79983fb16a10f111c9df0df Author: Ben Dooks Date: Mon Jan 28 13:01:27 2008 +0100 [ARM] 4787/1: S3C24XX: s3c2410_dma_request() should return the allocated channel number The s3c2410_dma_request() function should return the channel allocated instead of zero for success. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit db9b85c527a397e4cb75956ae69acea92904f6dc Author: Ben Dooks Date: Mon Jan 28 13:01:26 2008 +0100 [ARM] 4786/1: S3C2412: Add SPI FIFO controll constants Add control constants for the S3C2412 SPI unit FIFO. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit e5812bf66881a7d9c67d807b09d69a023d6e4b86 Author: Ben Dooks Date: Mon Jan 28 13:01:25 2008 +0100 [ARM] 4785/1: S3C24XX: Add _SHIFT definitions for S3C2410_BANKCON registers Add definitions to allow easier decomposotion of the contents of the S3C2410_BANKON registers Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 62feee648ca0ad6e1b54e44e6c8ddb69f225f812 Author: Ben Dooks Date: Mon Jan 28 13:01:24 2008 +0100 [ARM] 4784/1: S3C24XX: Fix GPIO restore glitches The core resume code may have caused glitches in the GPIO when restoring the GPIO state due to the order in which the GPIO registers were being written. Change the restore process take into account the state of the GPIOs on resume and the state the system wants to restore them to. See the code comments in the patch for more details of the process. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit bb6d9b56c1d5c1cbff39b7c337c900e2b3d8387a Author: Ben Dooks Date: Mon Jan 28 13:01:23 2008 +0100 [ARM] 4783/1: S3C24XX: Add s3c2410_gpio_getpull() Add the call s3c2410_gpio_getpull() to return the current state of the pin's pull-up. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 9f613be4a9b6d680772b0a52a43a4a94d8e131b6 Author: Ben Dooks Date: Mon Jan 28 13:01:22 2008 +0100 [ARM] 4782/1: S3C24XX: Define FIQ_START for any FIQ users Ensure FIQ_START is defined to allow anyone to use FIQ code on an S3C24XX based CPU. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c58f7a1d36709e50398c05df9419386befef2c59 Author: Ben Dooks Date: Mon Jan 28 13:01:21 2008 +0100 [ARM] 4781/1: S3C24XX: DMA suspend and resume support If an DMA channel was active at suspend, then ensure that it is correctly reconfigured when the system resumes. Note, the previous policy was for each driver to handle their own reconfiguration on resume. The policy has been changed to make the individual driver's job easier. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c6709e8ef5752314c22c75bc7575f9be390e215b Author: Ben Dooks Date: Mon Jan 28 13:01:20 2008 +0100 [ARM] 4780/1: S3C2412: Allow for seperate DMA channels for TX and RX The current S3C24XX DMA code does not allow for an peripheral that has one channel for RX and another for TX. This patch adds a per-cpu dma operation to select the transmit or receive channel, and adds support to the S3C2412 for the seperate DMA channels for TX and RX. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 67d729adc0e76e21c82a2c59853f25f5f784ca79 Author: Ben Dooks Date: Mon Jan 28 13:01:19 2008 +0100 [ARM] 4779/1: S3C2412: Add s3c2412_gpio_set_sleepcfg() call Add s3c2412_gpio_set_sleepcfg() to allow the setting of the sleep configuration of the GPIO blocks. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit bdbea34ddd2e52dc73f03e7ef7197d4c0da400d6 Author: Ben Dooks Date: Mon Jan 28 13:01:18 2008 +0100 [ARM] 4778/1: S3C2412: Add armclk and init from DVS state Add armclk to the S3C2412 to indicate the current clock connected to the ARM core. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 57c1b0f8dbfffaa00a242b171429e56489caef15 Author: Ben Dooks Date: Mon Jan 28 13:01:17 2008 +0100 [ARM] 4777/1: S3C24XX: Ensure clk_set_rate() checks the set_rate method for the clk Add checks for clk_set_rate() and ensure that we do not allow set_rate to be called for a clock that does not have it defined. Add default methods for fclk, hclk, pclk and mpll. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit f7275dac55008f8296cfb89a01b1e71918ac7995 Author: Krzysztof Helt Date: Sun Jan 27 19:01:18 2008 +0100 [ARM] 4775/1: s3c2410: fix compilation error if only s3c2442 cpu is selected This patch fixes compilation error if only a machine with s3c2442 cpu is selected but without s3c2440 cpu selected. Signed-off-by: Krzysztof Helt Acked-by: Ben Dooks Signed-off-by: Russell King commit 332349518f1958b0bc1ae3febc2e4f75f214d255 Author: Ben Dooks Date: Sun Dec 23 03:09:34 2007 +0100 [ARM] 4731/1: S3C2412: Check for incomplete sleep Check if the sleep command returns due to a pending interrupt in the standby unit. If this happens, try and ack the IRQ before re-trying the resume. It is currently unclear whether the resume can be backed out of at this stage as this could cause a problem with level based interrupts. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 0baada2742a42390a2ebed09e07e1fab518db884 Author: Ben Dooks Date: Sun Dec 23 03:09:33 2007 +0100 [ARM] 4730/1: S3C2412: Ensure the PWRCFG has the right mode for RTC wake Ensure that if the RTC IRQ is not selected for wake in the base configuration, then the PWRCFG has the same value set in it. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 8e3007a0e8a0d2f5e3139cb9fe606c2a998b9ed3 Author: Ben Dooks Date: Sun Dec 23 03:09:36 2007 +0100 [ARM] 4729/1: VR1000: Do not add IIS device on initialisation The IIS device is being registered by the Simtec Audio driver, and thus registering here causes an error due to device tree naming collision. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit b6a175a562a1c8d326de0ee501114a2af2602772 Author: Ben Dooks Date: Sun Dec 23 03:09:35 2007 +0100 [ARM] 4728/1: BAST: Do not add IIS device on initialisation The IIS device is being registered by the Simtec Audio driver, and thus registering here causes an error due to device tree naming collision. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 0953612a479491b57db794580b13a8e39b810724 Author: Ben Dooks Date: Sun Dec 23 03:09:37 2007 +0100 [ARM] 4727/1: S3C2412: Remove unused GPESLPCON S3C2412_GPESLPCON does not exist in the register mappings, so remove it. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit b708d7bf18fd90105b8099cc558d66477dafd8ea Author: Ben Dooks Date: Sun Dec 23 03:09:39 2007 +0100 [ARM] 4726/1: S3C2412: IIS register definitions The S3C2412 IIS engine differs from the previous SoC in the range, so add a set of register definitions in a seperate file for it. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit d45c30cb4c0b5f5555397ba2e942d63b4170fa1f Author: Ben Dooks Date: Sun Dec 23 03:09:40 2007 +0100 [ARM] 4725/1: S3C2412: Fix IIS and SDI definitions in DMA map The IIS and SDI register hw_addr definitions are incorrect in the DMA map for the S3C2412. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 71e5b2f154eb743d609bb4e743ea344596769911 Author: Ben Dooks Date: Sun Dec 23 03:09:30 2007 +0100 [ARM] 4724/1: S3C2412: Select S3C2410 base GPIO implementation The S3C2412 GPIO is similar enough to the S3C2410 that it can use it as a base for GPIO functionality. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 9cbae12cca55332c9fef8f700ea28d36d7cc54be Author: Ben Dooks Date: Sun Dec 23 03:09:38 2007 +0100 [ARM] 4723/1: BAST: Fix LCD driver default display setting We have a default display set to 4, when we only have three registered displays. Fix this argument (a seperate patch has been generated to ensure that the LCD driver takes notice of this bug) Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ff44b49b55edee33b7ecea987be1a6413162581b Author: Ben Dooks Date: Sun Dec 23 03:09:32 2007 +0100 [ARM] 4722/1: S3C24XX: Improve output if watchdog reset fails If the watchdog reset fails and we decided to take the jump to zero approach, allow 50ms for the UARTS to drain the FIFOs before calling into a bootloader that may flush the output. Also reduece the waits and the timeout values as 5 seconds is rather long. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit d652074ebcedd13c7ce760c7f3327f30862852fb Author: Ben Dooks Date: Sun Dec 23 03:09:31 2007 +0100 [ARM] 4721/1: S3C24XX: Ensure watchdog clock is enbaled for hard reset If the hard reset routine is using the watchdog, then ensure that the clock for the watchdog has been enabled before we try and issue a reset. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit cf08167c82b38ed9f6401e68b3c91fb11496f101 Author: Ben Dooks Date: Sun Dec 23 03:09:28 2007 +0100 [ARM] 4720/1: S3C2412: Add power configuration registers for battery flat behaviour. Add the S3C2412_PWRCFG values for the action taken on detecting that the battery is flat. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 1fb4e5611a9d0b524d85f0db4402aa439ebdb331 Author: Ben Dooks Date: Sun Dec 23 03:09:29 2007 +0100 [ARM] 4719/1: S3C2412: Update SPI register definitions for the S3C2412 Add S3C2412 register definitions. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 4e4fc05a2b6e7bd2e0facd96e0c18dceb34d9349 Author: Daniel Mack Date: Wed Jan 23 14:54:50 2008 +0100 [ARM] 4762/1: Basic support for Toradex Colibri module This patch adds support for Toradex' PXA27x based Colibri module. It's kept as simple as possible to only provide basic functionality. A default config is also included. Signed-off-by: Daniel Mack Signed-off-by: Russell King commit 2687bd38573ff6f10d13f60c5c3576cce9cf260d Author: Russell King Date: Wed Jan 23 14:05:58 2008 +0000 [ARM] pxa: fix mci_init functions returning -1 Fix all those PXA mci_init functions which return -1 rather than propagating the error code to the higher levels. Remove the silly set_irq_type() calls as well - use the flags for request_irq() instead. Signed-off-by: Russell King commit ca4d6cfcee0cb2d25c0eb3b0172ecc6f223133ef Author: Richard Purdie Date: Wed Jan 2 01:09:54 2008 +0100 [ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfix This patch refactors the code in corgi_lcd.c moving it to the board specific corgi and spitz files where appropriate instead of the existing ifdef mess which hinders readability. Fix spitz_get_hsync_len() to call get_hsync_invperiod so pxafb can be compiled as a module. The confusing variables which represent the inverse horizintal sync period are renamed to "invperiod" consistently. An incorrect comment in corgi_ts.c is also corrected. Signed-off-by: Richard Purdie Signed-off-by: Russell King commit 2e927b76267a57a44c018ffcc64cde5fedde1fcf Author: Robert Schwebel Date: Tue Jan 8 08:52:04 2008 +0100 [ARM] 4747/1: pcm027: support for pcm990 baseboard for phyCORE-PXA270 This patch adds baseboard support for the phyCORE-PXA270 development kit (aka PCM-990). This example shows how to use some phyCORE-PXA270 CPU module features on a baseboard in a standard manner. It could be used as a starting point for custom baseboard development. V2: After comments by Eric Miao: - IRQ chained handler fixed - video/graphic support moved to separate patch - ifdef/endif hell reduced ;-) V3: After comments by Russell King - initialise the mmci platform data statically V4: After comments by Russell King - wrong return value in pcm990_mci_init() fixed Signed-off-by: Juergen Beisert Signed-off-by: Russell King commit 4f15a98025c2e71be85c80adecc14b82770cd865 Author: Robert Schwebel Date: Tue Jan 8 08:50:02 2008 +0100 [ARM] 4746/1: pcm027: network support for phyCORE-PXA270 This patch adds SMC91x support for the phyCORE-PXA270 CPU module (aka PCM-027). Signed-off-by: Juergen Beisert Signed-off-by: Russell King commit 8b0b9fb531d6616081104c916341e4747c094d49 Author: Robert Schwebel Date: Tue Jan 8 08:48:17 2008 +0100 [ARM] 4745/1: pcm027: default configuration This patch adds a basic configration for the phyCORE-PXA270 development kit. In this case development kit means PCM-990 (main baseboard). Signed-off-by: Juergen Beisert Signed-off-by: Russell King commit 34e31d871ee4b6a9f6c5504da7d6dcc24967844c Author: Robert Schwebel Date: Tue Jan 8 08:44:23 2008 +0100 [ARM] 4744/1: pcm027: add support for phyCORE-PXA270 CPU module This patch adds main support for the generic phyCORE-PXA270 CPU module (aka PCM-027). Its as generic as possible to support any kind of baseboard. Note: Neither the CPU module nor the pcm027.c implementation can work without a baseboard support. Baseboard support can be added by the PCM-990 or any custom variant. V2: After comments by Eric Miao: - Currently unsupported devices moved into separate patch - direct call of baseboard initialisation V3: After comments by Russell King - sort include files - setting RTC bit for power control removed - style problems fixed (discovered by checkpatch.pl) Signed-off-by: Juergen Beisert Signed-off-by: Russell King commit e7b3dc7ef1e27fd5713a0df71f82c0a27de1c2eb Author: Russell King Date: Mon Jan 14 22:30:10 2008 +0000 [NET] smc91x: Make smc91x use IRQ resource trigger flags smc91x is shared between many different platforms. Each platform needs to specify the interrupt type, and in some cases the irq type depends on more than just the build configuration - it depends on runtime checks. Rather than throwing this code into the SMC_IRQ_FLAGS definition, provide a way for these flags to be passed via the IRQ resource itself. Note that IRQF_TRIGGER_* constants are intentionally defined to correspond with the IORESOURCE_IRQ_* interrupt type flags, in much the same way that the low bits of PCI iomem resources correspond with the BAR flag bits. Also provide a way to configure smc91x to read the IRQ flags from the resource. Once all platforms have been converted over (signified by all definitions of SMC_IRQ_FLAGS being -1) SMC_IRQ_FLAGS should be removed. Signed-off-by: Russell King Acked-by: Nicolas Pitre Acked-by: Jeff Garzik commit 1709e2af784ea658cec4e91fc884508d1214d6f5 Author: eric miao Date: Fri Dec 21 11:18:48 2007 +0800 [ARM] pxa: add default config for littleton default to - PXA300/PXA310 support only (there isn't any littleton board with PXA320 processor for now) - smc91x ethernet support with NFS rootfs - LCD framebuffer support with graphics console Signed-off-by: eric miao Signed-off-by: Russell King commit e1d9b9532522f4a04b925e151c1790e669312c55 Author: eric miao Date: Thu Dec 13 10:41:43 2007 +0800 [ARM] pxa: add basic support for Littleton (PXA3xx Form Factor Platform) Signed-off-by: eric miao Signed-off-by: Russell King commit e5c271ec3bdfaca5e8d47a9e63cfc0bf889881aa Author: Philipp Zabel Date: Thu Nov 22 17:59:11 2007 +0100 [ARM] 4664/1: Add basic support for HTC Magician PDA phones This includes irda, gpio keys, pxafb, backlight, ohci and flash (read-only). Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 3abcd199db312abeec617083be8a7655cab73ec8 Author: Ian Molton Date: Mon Nov 19 13:16:56 2007 +0100 [ARM] 4649/1: Base support for pxa-based Toshiba e-series PDAs. This patch contains the base code to boot the Toshiba e330, e740, e750, e400, and e800 PDAs. Signed-off-by: Ian Molton Signed-off-by: Russell King commit e01dbdb40eea94ecb2c703960dac744c9b19a186 Author: Dmitry Baryshkov Date: Sun Jan 27 23:11:48 2008 +0100 [ARM] 4776/1: Add HWUART clock to fix hwuart support This adds back the registration of HWUART clock on pxa25x Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit febffd61816ef6d4f84189468c1d47f1df55921e Author: Jens Axboe Date: Mon Jan 28 13:19:43 2008 +0100 cfq-iosched: kill some big inlines Use of inlines were a bit over the top, trim them down a bit. Signed-off-by: Jens Axboe commit cd4c1eb51064f24a8b0a53069c4d004deade65c7 Author: Russell King Date: Mon Jan 28 10:59:09 2008 +0000 [ARM] Fix class_device damage caused by 0c55445f201841bfd6c658c47df8311b6722f002 Lots of compile errors in drivers/mfd/ucb1x00-assabet.c... Signed-off-by: Russell King commit 0871714e08fed7ba66cadad11b2e4f85a9dc9b96 Author: Jens Axboe Date: Mon Jan 28 11:38:15 2008 +0100 cfq-iosched: relax IOPRIO_CLASS_IDLE restrictions Currently you must be root to set idle io prio class on a process. This is due to the fact that the idle class is implemented as a true idle class, meaning that it will not make progress if someone else is requesting disk access. Unfortunately this means that it opens DOS opportunities by locking down file system resources, hence it is root only at the moment. This patch relaxes the idle class a little, by removing the truly idle part (which entals a grace period with associated timer). The modifications make the idle class as close to zero impact as can be done while still guarenteeing progress. This means we can relax the root only criteria as well. Signed-off-by: Jens Axboe commit 193c3cc12583344be01206078d9ad3fec5dbc397 Author: Russell King Date: Mon Jan 28 10:16:37 2008 +0000 [ARM] Fix timer damage from d3d74453c34f8fd87674a8cf5b8a327c68f22e99 Move the xtime write mode seqlock into timer_tick(), so it only surrounds the call to do_timer(). This avoids a deadlock in update_process_times() ... hrtimer_get_softirq_time() which tries to get a read mode seqlock on xtime, thereby preventing booting. Signed-off-by: Russell King commit 6232be32afa121628c72291ce7eaa24a639905c2 Author: eric miao Date: Thu Jan 24 02:27:30 2008 +0100 [ARM] 4763/1: pxa: fix pxa3xx_get_clk_frequency_khz() to return KHz The original code incorrectly returns Hz instead of KHz. Signed-off-by: eric miao Signed-off-by: Russell King commit 7cedb1f17fb7f4374d11501f61656ae9d3ba47e9 Author: James Bottomley Date: Sun Jan 13 14:15:28 2008 -0600 SG: work with the SCSI fixed maximum allocations. SCSI sg table allocation has a maximum size (of SCSI_MAX_SG_SEGMENTS, currently 128) and this will cause a BUG_ON() in SCSI if something tries an allocation over it. This patch adds a size limit to the chaining allocator to allow the specification of the maximum allocation size for chaining, so we always chain in units of the maximum SCSI allocation size. Signed-off-by: James Bottomley Signed-off-by: Jens Axboe commit fa0ccd837e3dddb44c7db2f128a8bb7e4eabc21a Author: James Bottomley Date: Thu Jan 10 11:30:36 2008 -0600 block: implement drain buffers These DMA drain buffer implementations in drivers are pretty horrible to do in terms of manipulating the scatterlist. Plus they're being done at least in drivers/ide and drivers/ata, so we now have code duplication. The one use case for this, as I understand it is AHCI controllers doing PIO mode to mmc devices but translating this to DMA at the controller level. So, what about adding a callback to the block layer that permits the adding of the drain buffer for the problem devices. The idea is that you'd do this in slave_configure after you find one of these devices. The beauty of doing it in the block layer is that it quietly adds the drain buffer to the end of the sg list, so it automatically gets mapped (and unmapped) without anything unusual having to be done to the scatterlist in driver/scsi or drivers/ata and without any alteration to the transfer length. Signed-off-by: James Bottomley Signed-off-by: Jens Axboe commit fadad878cc0640cc9cd5569998bf54b693f7b38b Author: Jens Axboe Date: Thu Jan 24 08:54:47 2008 +0100 kernel: add CLONE_IO to specifically request sharing of IO contexts syslets (or other threads/processes that want io context sharing) can set this to enforce sharing of io context. Signed-off-by: Jens Axboe commit 521f3bbdba6b92582ef8047df01b156668343542 Author: Jens Axboe Date: Mon Jan 21 20:03:12 2008 +0100 io_context sharing - anticipatory changes changes to anticipatory io scheduler for io_context sharing Signed-off-by: Jens Axboe commit 4ac845a2e9a816ed5a7b301f56dcc0a3d0b1ba4d Author: Jens Axboe Date: Thu Jan 24 08:44:49 2008 +0100 block: cfq: make the io contect sharing lockless The io context sharing introduced a per-ioc spinlock, that would protect the cfq io context lookup. That is a regression from the original, since we never needed any locking there because the ioc/cic were process private. The cic lookup is changed from an rbtree construct to a radix tree, which we can then use RCU to make the reader side lockless. That is the performance critical path, modifying the radix tree is only done on process creation (when that process first does IO, actually) and on process exit (if that process has done IO). As it so happens, radix trees are also much faster for this type of lookup where the key is a pointer. It's a very sparse tree. Signed-off-by: Jens Axboe commit 66dac98ed0de7a1125fb0dd7907f238f6b9d2f60 Author: Nikanth Karthikesan Date: Tue Nov 27 12:47:04 2007 +0100 io_context sharing - cfq changes changes in the cfq for io_context sharing Signed-off-by: Jens Axboe commit d38ecf935fcb10264a6bc190855d9595165e6eeb Author: Jens Axboe Date: Thu Jan 24 08:53:35 2008 +0100 io context sharing: preliminary support Detach task state from ioc, instead keep track of how many processes are accessing the ioc. Signed-off-by: Jens Axboe commit fd0928df98b9578be8a786ac0cb78a47a5e17a20 Author: Jens Axboe Date: Thu Jan 24 08:52:45 2008 +0100 ioprio: move io priority from task_struct to io_context This is where it belongs and then it doesn't take up space for a process that doesn't do IO. Signed-off-by: Jens Axboe commit a65b58663d983e588aed8d1bfc75edaac2527fa7 Author: Kiyoshi Ueda Date: Tue Dec 11 17:49:46 2007 -0500 blk_end_request: changing xsysace (take 4) This patch converts xsysace to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. xsysace is a little bit different from "normal" drivers. xsysace driver has a state machine in it. It calls end_that_request_first() and end_that_request_last() from different states. (ACE_FSM_STATE_REQ_TRANSFER and ACE_FSM_STATE_REQ_COMPLETE, respectively.) However, those states are consecutive and without any interruption inbetween. So we can just follow the standard conversion rule (b) mentioned in the patch subject "[PATCH 01/30] blk_end_request: add new request completion interface". Cc: Grant Likely Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 7d699bafe258ebd8f9b4ec182c554200b369a504 Author: Kiyoshi Ueda Date: Tue Dec 11 17:46:47 2007 -0500 blk_end_request: changing ub (take 4) This patch converts ub to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. Cc: Pete Zaitcev Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit b8286239ddaf2632cec65c01e68a403ac4c3d079 Author: Kiyoshi Ueda Date: Tue Dec 11 17:53:24 2007 -0500 blk_end_request: cleanup of request completion (take 4) This patch merges complete_request() into end_that_request_last() for cleanup. complete_request() was introduced by earlier part of this patch-set, not to break the existing users of end_that_request_last(). Since all users are converted to blk_end_request interfaces and end_that_request_last() is no longer exported, the code can be merged to end_that_request_last(). Cc: Boaz Harrosh Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 5450d3e1d68f10be087f0855d8bad5458b50ecbe Author: Kiyoshi Ueda Date: Tue Dec 11 17:53:03 2007 -0500 blk_end_request: cleanup 'uptodate' related code (take 4) This patch converts 'uptodate' arguments of no longer exported interfaces, end_that_request_first/last, to 'error', and removes internal conversions for it in blk_end_request interfaces. Also, this patch removes no longer needed end_io_error(). Cc: Boaz Harrosh Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 3bcddeac1c4c7e6fb90531b80f236b1a05dfe514 Author: Kiyoshi Ueda Date: Tue Dec 11 17:52:28 2007 -0500 blk_end_request: remove/unexport end_that_request_* (take 4) This patch removes the following functions: o end_that_request_first() o end_that_request_chunk() and stops exporting the functions below: o end_that_request_last() Cc: Boaz Harrosh Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 610d8b0c972e3b75493efef8e96175518fd736d3 Author: Kiyoshi Ueda Date: Tue Dec 11 17:52:09 2007 -0500 blk_end_request: changing scsi (take 4) This patch converts scsi mid-layer to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interface of internal function, scsi_end_request(), is changed. Cc: James Bottomley Cc: Boaz Harrosh Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit e3a04fe34a3ec81ddeddb6c73fb7299716cffbb0 Author: Kiyoshi Ueda Date: Tue Dec 11 17:51:46 2007 -0500 blk_end_request: add bidi completion interface (take 4) This patch adds a variant of the interface, blk_end_bidi_request(), which completes a bidi request. Bidi request must be completed as a whole, both rq and rq->next_rq at once. So the interface has 2 arguments for completion size. As for ->end_io, only rq->end_io is called (rq->next_rq->end_io is not called). So if special completion handling is needed, the handler must be set to rq->end_io. And the handler must take care of freeing next_rq too, since the interface doesn't care of it if rq->end_io is not NULL. Cc: Boaz Harrosh Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit aaa04c28cb9a1efd42541fdb7ab648231c2a2263 Author: Kiyoshi Ueda Date: Tue Dec 11 17:51:23 2007 -0500 blk_end_request: changing ide-cd (take 4) This patch converts ide-cd (cdrom_newpc_intr()) to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. In PIO mode, ide-cd (cdrom_newpc_intr()) needs to defer end_that_request_last() until the device clears DRQ_STAT and raises an interrupt after end_that_request_first(). So blk_end_request() has to return without completing request even if no leftover in the request. ide-cd uses blk_end_request_callback() and a dummy callback function, which just returns value '1', to tell blk_end_request_callback() about that. Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit e19a3ab058fe91c8c54d43dc56dccf7eb386478e Author: Kiyoshi Ueda Date: Tue Dec 11 17:51:02 2007 -0500 blk_end_request: add callback feature (take 4) This patch adds a variant of the interface, blk_end_request_callback(), which has driver callback feature. Drivers may need to do special works between end_that_request_first() and end_that_request_last(). For such drivers, blk_end_request_callback() allows it to pass a callback function which is called between end_that_request_first() and end_that_request_last(). This interface is only for fallback of other blk_end_request interfaces. Drivers should avoid their tricky behaviors and use other interfaces as much as possible. Currently, only one driver, ide-cd, needs this interface. So this interface should/will be removed, after the driver removes such tricky behaviors. o ide-cd (cdrom_newpc_intr()) In PIO mode, cdrom_newpc_intr() needs to defer end_that_request_last() until the device clears DRQ_STAT and raises an interrupt after end_that_request_first(). So end_that_request_first() and end_that_request_last() are called separately in cdrom_newpc_intr(). This means blk_end_request_callback() has to return without completing request even if no leftover in the request. To satisfy the requirement, callback function has return value so that drivers can tell blk_end_request_callback() to return without completing request. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 5e36bb6ee8d5ff6c6114b60d2aaa1c70d4275f4e Author: Kiyoshi Ueda Date: Mon Jan 28 10:34:20 2008 +0100 blk_end_request: changing ide normal caller (take 4) This patch converts "normal" parts of ide to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. The conversion of 'uptodate' to 'error' is done only for the internal function, __ide_end_request(). ide_end_request() was not changed since it's exported and used by many ide drivers. With this patch, blkdev_dequeue_request() in __ide_end_request() is moved to blk_end_request, since blk_end_request takes care of dequeueing request like below: if (!list_empty(&rq->queuelist)) blkdev_dequeue_request(rq); In the case of ide, o 'dequeue' variable of __ide_end_request() is 1 only when the request is still linked to the queue (i.e. rq->queuelist is not empty) o 'dequeue' variable of __ide_end_request() is 0 only when the request has already been removed from the queue (i.e. rq->queuelist is empty) So blk_end_request can handle it correctly although ide always run thought the code above. Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit ea6f06f416347448645e60294d92c0c19aba8589 Author: Kiyoshi Ueda Date: Tue Dec 11 17:50:21 2007 -0500 blk_end_request: changing cpqarray (take 4) This patch converts cpqarray to use blk_end_request interfaces. Related 'ok' arguments are converted to 'error'. cpqarray is a little bit different from "normal" drivers. cpqarray directly calls bio_endio() and disk_stat_add() when completing request. But those can be replaced with __end_that_request_first(). After the replacement, request completion procedures of those drivers become like the following: o end_that_request_first() o add_disk_randomness() o end_that_request_last() This can be converted to __blk_end_request() by following the rule (b) mentioned in the patch subject "[PATCH 01/30] blk_end_request: add new request completion interface". Cc: Mike Miller Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 3daeea29f9348263e0dda89a565074390475bdf8 Author: Kiyoshi Ueda Date: Tue Dec 11 17:50:03 2007 -0500 blk_end_request: changing cciss (take 4) This patch converts cciss to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. cciss is a little bit different from "normal" drivers. cciss directly calls bio_endio() and disk_stat_add() when completing request. But those can be replaced with __end_that_request_first(). After the replacement, request completion procedures of those drivers become like the following: o end_that_request_first() o add_disk_randomness() o end_that_request_last() This can be converted to blk_end_request() by following the rule (a) mentioned in the patch subject "[PATCH 01/30] blk_end_request: add new request completion interface". Cc: Mike Miller Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 5a330e39b13fe8d368d015338a4267129f502a55 Author: Kiyoshi Ueda Date: Tue Dec 11 17:49:29 2007 -0500 blk_end_request: changing ide-scsi (take 4) This patch converts ide-scsi to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 4c4e21486154c8db93c7e82a4b3ab5f621cd1d97 Author: Kiyoshi Ueda Date: Mon Jan 28 10:29:42 2008 +0100 blk_end_request: changing s390 (take 4) This patch converts s390 to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interfaces of internal functions below are changed: o dasd_end_request o tapeblock_end_request Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: linux390@de.ibm.com Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit fd539832c7d3a242269374dbcae2cd54da150930 Author: Kiyoshi Ueda Date: Tue Dec 11 17:48:29 2007 -0500 blk_end_request: changing mmc (take 4) This patch converts mmc to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. Cc: Pierre Ossman Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 1381b7e82a52c4ae5ebb2ac0951075debb878a2a Author: Kiyoshi Ueda Date: Tue Dec 11 17:48:09 2007 -0500 blk_end_request: changing i2o_block (take 4) This patch converts i2o_block to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interface of internal function, i2o_block_end_request(), is changed. Cc: Markus Lidel Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit e935eb9dba66ce2533d06e459cf5bbfc17c9318b Author: Kiyoshi Ueda Date: Tue Dec 11 17:47:52 2007 -0500 blk_end_request: changing viocd (take 4) This patch converts viocd to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interface of internal function, viocd_end_request(), is changed. Cc: Stephen Rothwell Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit f530f036378421fb0b59bb829a8097a50bca79e2 Author: Kiyoshi Ueda Date: Tue Dec 11 17:47:36 2007 -0500 blk_end_request: changing xen-blkfront (take 4) This patch converts xen-blkfront to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. Cc: Jeremy Fitzhardinge Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit b2aec24ea4c5836f9b3cbc7dca51f0ae639865ed Author: Kiyoshi Ueda Date: Tue Dec 11 17:47:14 2007 -0500 blk_end_request: changing viodasd (take 4) This patch converts viodasd to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interface of internal function, viodasd_end_request(), is changed. Cc: Stephen Rothwell Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit a9c73d05f16113744e3d342255120bd36d84a1e8 Author: Kiyoshi Ueda Date: Tue Dec 11 17:46:10 2007 -0500 blk_end_request: changing sx8 (take 4) This patch converts sx8 to use blk_end_request interfaces. Related 'uptodate' and 'is_ok' arguments are converted to 'error'. As a result, the interfaces of internal functions below are changed. o carm_end_request_queued o carm_end_rq o carm_handle_array_info o carm_handle_scan_chan o carm_handle_generic o carm_handle_rw The 'is_ok' is set at only one place in carm_handle_resp() below: int is_ok = (status == RMSG_OK); And the value is propagated to all functions above, and no modification in other places. So the actual conversion of the 'is_ok' is done at only one place above. Cc: Jeff Garzik Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 5047c3c64eb4787b9a2d80a2003d9edded41f560 Author: Kiyoshi Ueda Date: Tue Dec 11 17:45:04 2007 -0500 blk_end_request: changing sunvdc (take 4) This patch converts sunvdc to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interface of internal function, vdc_end_request(), is changed. Cc: David S. Miller Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit f01ab252cbfc039e4f16db9aed272d11d13525d1 Author: Kiyoshi Ueda Date: Tue Dec 11 17:44:39 2007 -0500 blk_end_request: changing ps3disk (take 4) This patch converts ps3disk to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. Cc: Geoff Levand Cc: Geert Uytterhoeven Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 097c94a4e8bde978c8d12683d9a34048e9139e4b Author: Kiyoshi Ueda Date: Tue Dec 11 17:44:06 2007 -0500 blk_end_request: changing nbd (take 4) This patch converts nbd to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. Cc: Paul Clements Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 1c5093ba036b5e1a4befdcd6036d241178a720a8 Author: Kiyoshi Ueda Date: Mon Jan 28 10:36:21 2008 +0100 blk_end_request: changing floppy (take 4) This patch converts floppy to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interface of internal function, floppy_end_request(), is changed. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 0156c2547e92df559d5592aad9535838ef459615 Author: Kiyoshi Ueda Date: Tue Dec 11 17:43:15 2007 -0500 blk_end_request: changing DAC960 (take 4) This patch converts DAC960 to use blk_end_request interfaces. Related 'UpToDate' arguments are converted to 'Error'. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 4898b53a5e3e4b9a58f1d89545b1e05c88c76798 Author: Kiyoshi Ueda Date: Tue Dec 11 17:42:53 2007 -0500 blk_end_request: changing um (take 4) This patch converts um to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interface of internal function, ubd_end_request(), is changed. Cc: Jeff Dike Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 650e9cfd14a1ac9e077d72962ea0a80946cdb6f8 Author: Kiyoshi Ueda Date: Tue Dec 11 17:42:27 2007 -0500 blk_end_request: changing arm (take 4) This patch converts arm's OMAP mailbox driver to use blk_end_request interfaces. If the original code was converted literally, blk_end_request would be called with '-EIO' because end_that_request_last() were called with '0' (i.e. failure). But I think these '0's are bugs in the original code because it's unlikely that all requests are treated as failure. (The bugs should have no effect unless these requests have an end_io callback.) So I changed them to pass '0' (i.e. success) to blk_end_request. Cc: Toshihiro Kobayashi Cc: Hiroshi DOYU Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 9e6e39f2c478fff2e9d3430cdfe6730877942ed6 Author: Kiyoshi Ueda Date: Tue Dec 11 17:41:54 2007 -0500 blk_end_request: changing block layer core (take 4) This patch converts core parts of block layer to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. 'dequeue' argument was originally introduced for end_dequeued_request(), where no attempt should be made to dequeue the request as it's already dequeued. However, it's not necessary as it can be checked with list_empty(&rq->queuelist). (Dequeued request has empty list and queued request doesn't.) And it has been done in blk_end_request interfaces. As a result of this patch, end_queued_request() and end_dequeued_request() become identical. A future patch will merge and rename them and change users of those functions. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 3b11313a6c2a42425bf06e92528bda6affd58dec Author: Kiyoshi Ueda Date: Tue Dec 11 17:41:17 2007 -0500 blk_end_request: add/export functions to get request size (take 4) This patch adds/exports functions to get the size of request in bytes. They are useful because blk_end_request interfaces take bytes as a completed I/O size instead of sectors. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 336cdb4003200a90f4fc52a4e9ccc2baa570fffb Author: Kiyoshi Ueda Date: Tue Dec 11 17:40:30 2007 -0500 blk_end_request: add new request completion interface (take 4) This patch adds 2 new interfaces for request completion: o blk_end_request() : called without queue lock o __blk_end_request() : called with queue lock held blk_end_request takes 'error' as an argument instead of 'uptodate', which current end_that_request_* take. The meanings of values are below and the value is used when bio is completed. 0 : success < 0 : error Some device drivers call some generic functions below between end_that_request_{first/chunk} and end_that_request_last(). o add_disk_randomness() o blk_queue_end_tag() o blkdev_dequeue_request() These are called in the blk_end_request interfaces as a part of generic request completion. So all device drivers become to call above functions. To decide whether to call blkdev_dequeue_request(), blk_end_request uses list_empty(&rq->queuelist) (blk_queued_rq() macro is added for it). So drivers must re-initialize it using list_init() or so before calling blk_end_request if drivers use it for its specific purpose. (Currently, there is no driver which completes request without re-initializing the queuelist after used it. So rq->queuelist can be used for the purpose above.) "Normal" drivers can be converted to use blk_end_request() in a standard way shown below. a) end_that_request_{chunk/first} spin_lock_irqsave() (add_disk_randomness(), blk_queue_end_tag(), blkdev_dequeue_request()) end_that_request_last() spin_unlock_irqrestore() => blk_end_request() b) spin_lock_irqsave() end_that_request_{chunk/first} (add_disk_randomness(), blk_queue_end_tag(), blkdev_dequeue_request()) end_that_request_last() spin_unlock_irqrestore() => spin_lock_irqsave() __blk_end_request() spin_unlock_irqsave() c) spin_lock_irqsave() (add_disk_randomness(), blk_queue_end_tag(), blkdev_dequeue_request()) end_that_request_last() spin_unlock_irqrestore() => blk_end_request() or spin_lock_irqsave() __blk_end_request() spin_unlock_irqrestore() Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 5ed7959ede0936c55e50421a53f153b17080e876 Author: Jens Axboe Date: Thu Nov 15 09:13:11 2007 +0100 SG: Convert SCSI to use scatterlist helpers for sg chaining Also change scsi_alloc_sgtable() to just return 0/failure, since it maps to the command passed in. ->request_buffer is now no longer needed, once drivers are adapted to use scsi_sglist() it can be killed. Signed-off-by: Jens Axboe commit 0db9299f48ebd4a860d6ad4e1d36ac50671d48e7 Author: Jens Axboe Date: Fri Nov 30 09:16:50 2007 +0100 SG: Move functions to lib/scatterlist.c and add sg chaining allocator helpers Manually doing chained sg lists is not trivial, so add some helpers to make sure that drivers get it right. Signed-off-by: Jens Axboe commit 5d84070ee0a433620c57e85dac7f82faaec5fbb3 Author: Jens Axboe Date: Fri Jan 25 12:44:44 2008 +0100 __bio_clone: don't calculate hw/phys segment counts If the users sets a new ->bi_bdev on the bio after __bio_clone() has returned it, the "segment counts valid" flag still remains even though it may be different with the new target. So don't calculate segment counts in __bio_clone(). Signed-off-by: Jens Axboe commit 482eb689169948e9f4966fbae6be4d6bc0bfa818 Author: Pete Wyckoff Date: Tue Jan 1 10:23:02 2008 -0500 block: allow queue dma_alignment of zero Let queue_dma_alignment return 0 if it was specifically set to 0. This permits devices with no particular alignment restrictions to use arbitrary user space buffers without copying. Signed-off-by: Pete Wyckoff Signed-off-by: Jens Axboe commit 6da127ad0918f93ea93678dad62ce15ffed18797 Author: Christof Schmitt Date: Fri Jan 11 10:09:43 2008 +0100 blktrace: Add blktrace ioctls to SCSI generic devices Since the SCSI layer uses the request queues from the block layer, blktrace can also be used to trace the requests to all SCSI devices (like SCSI tape drives), not only disks. The only missing part is the ioctl interface to start and stop tracing. This patch adds the SETUP, START, STOP and TEARDOWN ioctls from blktrace to the sg device files. With this change, blktrace can be used for SCSI devices like for disks, e.g.: blktrace -d /dev/sg1 -o - | blkparse -i - Signed-off-by: Christof Schmitt Signed-off-by: Jens Axboe commit 6582d7b7376aa587d74b08c74457dc28abc1a9fa Author: Magnus Damm Date: Wed Jan 23 16:21:18 2008 +0900 sh: add spi header and r2d platform data V3 This patch adds the header file asm/spi.h and board specific code for the r2d board. The header file contains a structure that should be used to point out a single spi bus. The board specific code for r2d is updated with such a structure for the new spi_sh_sci driver. The structure contains a chip select callback plus information about the R9701 rtc chip which is attached to the spi bus. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit da2d7f4bc578651455a7353995beb87db3cd8815 Author: Magnus Damm Date: Fri Jan 25 16:04:29 2008 +0900 sh: update r7780rp interrupt code This patch updates the board specific irq code for r7780rp. The new code is very similar to the other highlander implementations, with the exception that the r7780rp handles pci interrupts using IRL. To simplify the pci code and use the same interrupt numbers as r7780mp and r7785rp we hook in to the cpu specific pci vectors. The pci interrupts and the push switch all work well with and without this patch. CF and AX88796 are not ok though and the source of the problem is unknown at this point. The AX88796 does for not detect it's proper mac address (IPL gets it right) and the kernel hangs on CF access. As a workaround this patch removes the CF and the AX88796 from the platform datain case of r7780rp. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d4dca67bc2fd6caa4df3db28b6424841b95fde88 Author: Magnus Damm Date: Thu Jan 24 18:45:45 2008 +0900 sh: remove consistent alloc stuff from the machine vector Now with the voyagergx cruft gone and the dreamcast using declared coherent memory for pci there are no users of the consistent alloc and free functions pointers in the machine vector. So this little patch simply removes these function pointers from the macvec. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a724605cb7a66d423a494a395f9a8ba871b8a1eb Author: Magnus Damm Date: Thu Jan 24 18:40:50 2008 +0900 sh: use declared coherent memory for dreamcast pci ethernet adapter This patch makes the dreamcast use the recently added declared coherent memory functions to point out the memory window suitable for dma. Apart from cleaning up, this gives the dreamcast a proper memory allocator for pci dma memory. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f93e97eaead5c50af35d73cca7301ebbfdff116c Author: Magnus Damm Date: Thu Jan 24 18:35:10 2008 +0900 sh: declared coherent memory support V2 This patch adds declared coherent memory support to the sh architecture. All functions are based on the x86 implementation. Header files are adjusted to use the new functions instead of the former consistent_alloc() code. This version includes the few changes what were included in the fix patch together with modifications based on feedback from Paul. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4862ec073975e28f432f164405e60fa6f5c9d071 Author: Nicholas Beck Date: Wed Jan 23 12:50:51 2008 +0900 sh: Add support for SDK7780 board. Add support for Renesas Technology Europe SDK7780 board. Signed-off-by: Nicholas Beck Signed-off-by: Paul Mundt commit 773c7bd69434a356af4363a61889ef975b256e32 Author: Jan Engelhardt Date: Wed Jan 23 12:47:48 2008 +0900 sh: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Paul Mundt commit 1b1e037a8974801cb3e1da3281ca3a88cbec3de8 Author: Paul Mundt Date: Tue Jan 22 09:57:27 2008 +0900 sh: Kill off -traditional for linker script. Some of Sam's new work in the kbuild queue depend on ## concatenation within the linker script, which doesn't work when -traditional is enabled. -traditional is a legacy remnant anyways, and we no longer require it for anything, so kill it off completely. Noted-by: Andreas Schwab Signed-off-by: Paul Mundt commit 74ee1a7590b782a6df01d00ae38093cbfbee5ca9 Author: Adrian McMenamin Date: Mon Jan 21 18:52:48 2008 +0900 cdrom: Add support for Sega Dreamcast GD-ROM. This patch adds support for the GD-Rom drive, SEGA's proprietary implementation of an IDE CD Rom for the SEGA Dreamcast. This driver implements Sega's Packet Interface (SPI) - at least partially. It will also read disks in SEGA's propreitary GD format. Unlike previous drivers (which were never in mainline) this uses DMA and not PIO to read disks. It is a new driver, not a refactoring of old drivers. Signed-off by: Adrian McMenamin Acked-by: Jens Axboe Signed-off-by: Paul Mundt commit c2439a0890f51dd5f1ca45cf4b0dbe2ce131d533 Author: Adrian McMenamin Date: Mon Jan 21 17:59:52 2008 +0900 sh: Kill off hs7751rvoip reference from arch/sh/Kconfig. Remove reference to board deleted in commit 758e06ded4c48024835ef0a14627afcde2e25929 Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit b87bf74724750d6e89bf86f40ba86f743607341b Author: Paul Mundt Date: Sat Jan 19 16:07:19 2008 +0900 sh: Drop r7780rp_defconfig, use r7780mp_defconfig as kbuild default. Signed-off-by: Paul Mundt commit a5350a9686efa65cbd2ad4677bcb9372c7ad05c7 Author: Paul Mundt Date: Sat Jan 19 16:06:01 2008 +0900 sh: Kill off dead HS771RVoIP board support. Signed-off-by: Paul Mundt commit 427c727fd0637555a4bb6828c07bf36b9506ddde Author: Paul Mundt Date: Tue Jan 15 16:58:19 2008 +0900 sh: r7785rp: Fix up DECLARE_INTC_DESC() arg mismatch. Signed-off-by: Paul Mundt commit 03bbc0e6ba23700aea7fec801ac7e6c5a80f78f9 Author: Paul Mundt Date: Tue Jan 15 16:55:55 2008 +0900 sh: r7785rp: Hook up the rest of the HL7785 FPGA IRQ vectors. Signed-off-by: Paul Mundt commit d1eea50b0c6c998b713d824024c25c5001a5a8a4 Author: Magnus Damm Date: Tue Jan 15 12:48:15 2008 +0900 sh: r2d - enable sm501 usb host function This patch tells the sm501 mfd driver to build platform data for the sm501 usb host driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 29ec6778a49d30c47345afdfaf1d03acff3cf656 Author: Magnus Damm Date: Tue Jan 15 12:47:53 2008 +0900 sh: remove voyagergx This patch removes redundant irq handling code together with unused consistent alloc code. R2D uart setup code is changed to use sm501-regs.h and unused header files are removed. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit cbd10dfb82d6b0b169a42fe52223259f0b1a2cab Author: Magnus Damm Date: Tue Jan 15 12:44:44 2008 +0900 sh: r2d - add lcd planel timings to sm501 platform data This patch adds timings to drive a Sharp LQ104V1DG21 lcd panel that can be hooked up to R2D-1 or R2D-PLUS. The sm501fb driver should leave the pins FPEN and VBIASEN alone, and this patch instructs the driver to do so by not setting flags flags for these pins. This patch works best together with the patch posted to the linux-fbdev-devel list "sm501fb: control panel pin usage with platform data flags", but this patch can be merged independently. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4bb70b84bffee0bf1f60f17113e5baa814c2ce79 Author: Yoshihiro Shimoda Date: Fri Jan 11 10:38:34 2008 +0900 sh: Add OHCI and UDC platform devices for SH7720. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 7f3edee81fbd49114c28057512906f169caa0bed Author: Magnus Damm Date: Thu Jan 10 14:08:55 2008 +0900 sh: intc - remove default interrupt priority tables This patch removes interrupt priority tables from the intc code. Optimal priority assignment varies with embedded application anyway, so keeping the interrupt priority tables together with cpu-specific code doesn't make sense. The function intc_set_priority() should be used instead to set the desired interrupt priority level. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b62ad83d91ebf1368e9e72d476b18698ac67bef9 Author: Paul Mundt Date: Thu Jan 10 14:07:03 2008 +0900 sh: Correct pte size mismatch for X2 TLB. Fixes up a build warning/error in arch/sh/mm/fault_32.c. Signed-off-by: Paul Mundt commit e08d8aaeadac37c8d149b5d5bda6cf7a98d21e92 Author: Paul Mundt Date: Tue Jan 8 18:05:03 2008 +0900 sh: Fix posix_types.h userspace breakage from sh64 merge. Signed-off-by: Paul Mundt commit 6e3037d30e0abb8e84d0e05144b99047d5bab897 Author: Andrew Murray Date: Tue Jan 8 13:27:23 2008 +0900 sh: Update SE7712 PCLK definition. This patch provides a correct value for CONFIG_SH_PCLK_FREQ for the SH7712 solution engine when used with the board's default factory settings. This results in the board running at its maximum CPU clock rate (200 MHz). Signed-off-by: Andrew Murray Signed-off-by: Paul Mundt commit c3aa92afd0a6c253df974556b4a43c0a182d1fc4 Author: Andrew Murray Date: Tue Jan 8 09:56:45 2008 +0900 sh: sh7712 clock support This patch provides specific clock support for the SH7712. Signed-off-by: Andrew Murray Signed-off-by: Paul Mundt commit 7d740a066fb9c6681c2898c7977209725c9e552f Author: Yoshihiro Shimoda Date: Mon Jan 7 14:40:07 2008 +0900 sh: Add support for SH7763 CPU subtype. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 0465b9fb5f6b57f00a6f5bf2169e30e8f3c7d66c Author: Paul Mundt Date: Wed Dec 26 18:37:16 2007 +0900 sh: Fix get_user()/put_user() build error. Fixes the build error caused by -Werror on gcc 3.x compilers: arch/sh/kernel/signal_32.c: In function `sys_sigaction': arch/sh/kernel/signal_32.c:66: warning: initialization discards qualifiers from pointer target type arch/sh/kernel/signal_32.c:67: warning: initialization discards qualifiers from pointer target type arch/sh/kernel/signal_32.c:69: warning: initialization discards qualifiers from pointer target type arch/sh/kernel/signal_32.c:70: warning: initialization discards qualifiers from pointer target type The mismatch in question was introduced by commit-id 9c5a4eec79b3eb8876d2e7fddfa1e040a7650e55. Signed-off-by: Paul Mundt commit 31a49c4bf8f964b7a9897baa889916d71b51d9c1 Author: Yoshihiro Shimoda Date: Wed Dec 26 11:45:06 2007 +0900 sh: Add support for SH7721 CPU subtype. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 52e8b118ecd17185ce514cd3f955094c1d8f4288 Author: Paul Mundt Date: Tue Dec 18 09:43:35 2007 +0900 sh: Provide a stubbed __set_fixmap() for nommu. Signed-off-by: Paul Mundt commit 7bff489a1496d363e9a640c00eb8970da15079dd Author: Paul Mundt Date: Tue Dec 18 09:43:15 2007 +0900 sh: Always use CONFIG_HZ for HZ. Currently the wdt forces HZ=1000 and sidesteps CONFIG_HZ completely. This is a remnant from when HZ was hardcoded and before CONFIG_HZ was introduced. Additionally, not all of the timers have this requirement these days, so it's also an artificial limitation. Just kill it off and use CONFIG_HZ directly. Reported-by: H. Peter Anvin Signed-off-by: Paul Mundt commit 0095d58b4a91b9fb57aeb781909355b232517c64 Author: Joe Perches Date: Tue Dec 18 09:40:33 2007 +0900 sh: include/asm-sh/: Spelling fixes. Signed-off-by: Joe Perches Signed-off-by: Paul Mundt commit eb9c7f4198636fb74ea1ec60c0fff2d1a840b4ed Author: Joe Perches Date: Tue Dec 18 09:40:03 2007 +0900 sh: arch/sh/: Spelling fixes. Signed-off-by: Joe Perches Signed-off-by: Paul Mundt commit 6fc5153aab2a6eb23e636d962e1aceaabd0dfb12 Author: Paul Mundt Date: Mon Dec 17 16:08:49 2007 +0900 sh: Fix up KERNEL_ENTRY calculation for uImage. Signed-off-by: Paul Mundt commit 003c6af6c6370cc3315ab828a0e6618f00713d96 Author: Paul Mundt Date: Mon Dec 17 16:00:25 2007 +0900 sh: Fix up binfmt_flat compile warnings. Signed-off-by: Paul Mundt commit e06712df7792165d12392bc1fdda6bf384e1313b Author: Paul Mundt Date: Mon Dec 17 15:59:38 2007 +0900 sh: Kill off pgtable.h from scatterlist.h. Fixes up the mmc build. Signed-off-by: Paul Mundt commit 830626caf8570675a15bcc9ec46fcb5bfbc71b0d Author: Paul Mundt Date: Mon Dec 17 10:52:37 2007 +0900 sh: Fix up switch_to() type casts. Signed-off-by: Paul Mundt commit 9acb98fb7ce948063a2269b4f8db83d6bef7e2b0 Author: Paul Mundt Date: Mon Dec 17 10:52:11 2007 +0900 sh: Stub in page_table_range_init() on nommu. Signed-off-by: Paul Mundt commit d7ef4fb3acd1c1b141202c728ab3a78140a44eb7 Author: Harvey Harrison Date: Tue Dec 11 13:49:35 2007 +0900 sh: Use def_bool where possible. Change occurances of: bool default X to: def_bool X Change ocurances of: bool "Foo" default X to: def_bool X prompt "Foo" Signed-off-by: Harvey Harrison Signed-off-by: Paul Mundt commit 543d5afe5b425ef25a865656bfb76083515dc1cf Author: Paul Mundt Date: Mon Dec 10 16:33:32 2007 +0900 sh: Kill off superfluous __KERNEL__ check in asm/elf.h. Signed-off-by: Paul Mundt commit 98c4ecde9da14fafbcf1b6c025b08342a327e644 Author: Paul Mundt Date: Mon Dec 10 16:21:57 2007 +0900 sh: Provide the FPSCR init through AT_FPUCW. Signed-off-by: Paul Mundt commit a9f1365e5e4963705f85a6381cbed74c5615dbac Author: Paul Mundt Date: Mon Dec 10 16:06:32 2007 +0900 sh: Use utsname()->machine for ELF_PLATFORM. Signed-off-by: Paul Mundt commit cd01204b82933754a7276838656420477f64d4b8 Author: Paul Mundt Date: Mon Dec 10 15:50:28 2007 +0900 sh: Encode L1/L2 cache shape in auxvt. This adds in the L1I/L1D/L2 cache shape support to their respective entries in the ELF auxvt, based on the Alpha implementation. We use this on the userspace libc side for calculating a tightly packed SHMLBA amongst other things. Signed-off-by: Paul Mundt commit c8c0a1aba9fa8f816dc8fb477ff816a5b700f0ea Author: Stuart Menefy Date: Fri Nov 30 18:42:27 2007 +0900 sh: Support denormalization on SH-4 FPU. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 453ec9c1c3808b051347edbbf637f997add7b85b Author: Thomas Betker Date: Fri Nov 30 18:22:10 2007 +0900 sh: Fix up uImage target entry point. This patch changes the uImage target so that it generates a wrapped compressed vmlinux, rather than a wrapped zImage. The previous version matched the ARM, this version matches the PPC. However I would question how useful a self decompressing image is with a boot loader which does decompression, so I think this is more useful. I also feel it matches the descrition in the help text ("Compressed kernel image") better. Signed-off-by: Thomas Betker Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 0fb19dcb64ec4bd9934eee26ce66417fe028ffd8 Author: Stuart Menefy Date: Fri Nov 30 18:16:23 2007 +0900 sh: get_user fixes and nommu consolidation. When a get_user(to, from++) is called the pointer increment is performed after its first usage, in the specific after the __add_ok invokation. This causes a wrong get_user return value, putting a wrong character in the destination variable. This patch solves the problem using a new temporary pointer. Additionally this reworks the use of the register banks, allowing for consolidation between the MMU and nommu implementations. Signed-off-by: Carmelo Amoroso Signed-off-by: Giuseppe Condorelli Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit fc55888f83c1c0ac09abe4680f9a94fc0662677f Author: Stuart Menefy Date: Fri Nov 30 18:05:18 2007 +0900 sh: Document PTEL 31:29 use on PTEA-wielding parts. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 2adb4e10092ee1719539bcfe397b96dbdc863e2e Author: Stuart Menefy Date: Fri Nov 30 17:59:55 2007 +0900 sh: Populate swapper_pg_dir with fixmap range. This saves us from having to use kmalloc() for the fixmap entries, which is needed early for the uncached fixmap. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit d02b08f6e8b184ffef349e395210a5e82ff4f4bc Author: Stuart Menefy Date: Fri Nov 30 17:52:53 2007 +0900 sh: Clean up places that make 29-bit physical assumptions. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit cbaa118ecfd99fc5ed7adbd9c34a30e1c05e3c93 Author: Stuart Menefy Date: Fri Nov 30 17:06:36 2007 +0900 sh: Preparation for uncached jumps through PMB. Presently most of the 29-bit physical parts do P1/P2 segmentation with a 1:1 cached/uncached mapping, jumping between the two to control the caching behaviour. This provides the basic infrastructure to maintain this behaviour on 32-bit physical parts that don't map P1/P2 at all, using a shiny new linker section and corresponding fixmap entry. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 325df7f20467da07901c4f2b006d3457bba0adec Author: Paul Mundt Date: Fri Nov 30 16:34:26 2007 +0900 sh: Explicit alignment for PAGE_SIZE in copy/clear_page(). Signed-off-by: Paul Mundt commit 1efe4ce3ca126da77e450d5a83f7201949d76f62 Author: Stuart Menefy Date: Fri Nov 30 16:12:36 2007 +0900 sh: GUSA atomic rollback support. This implements kernel-level atomic rollback built on top of gUSA, as an alternative non-IRQ based atomicity method. This is generally a faster method for platforms that are lacking the LL/SC pairs that SH-4A and later use, and is only supportable on legacy cores. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 53ff09422e5e7a6d6198b767c8f494e43ec8e3ae Author: Nobuhiro Iwamatsu Date: Fri Nov 30 12:33:17 2007 +0900 sh: Fix compile error of arch/sh/mm/pmb.c Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit a23ba43573a24c351640bc19c06c701798fe6e25 Author: Paul Mundt Date: Wed Nov 28 20:19:38 2007 +0900 sh: comment tidying for sh64->sh migration. Signed-off-by: Paul Mundt commit 4b27c47cf8eddb4153a026e89c7b092598c98b12 Author: Paul Mundt Date: Wed Nov 28 19:58:11 2007 +0900 sh: syscall auditing for sh5, too. Signed-off-by: Paul Mundt commit c019fd8839503a91c556ae68d773e3bbb9b476e1 Author: Paul Mundt Date: Wed Nov 28 19:14:23 2007 +0900 rtc: rtc-sh: Split out the CPU defs to asm/cpu/. With all of the different CPU types this was getting a but unwieldly. Since sh64 is now integrated, we don't have to worry about multiple architectures caring about the header definitions. Split out the defs for each asm/cpu/ to make rtc-sh slightly less visually offensive. Signed-off-by: Paul Mundt commit 3ee7702903c346fc814bd7540ba37eebef75054d Author: Paul Mundt Date: Wed Nov 28 15:56:27 2007 +0900 sh: CCR1->CCR renaming for SH-2 parts. Avoid namespace collision with a CCR1 definition. The general SH code always expects CCR anyways, so there's no point in keeping the CCR1 naming around. Fixes up synclink collisions: drivers/char/pcmcia/synclink_cs.c:283:1: warning: "CCR1" redefined In file included from include/asm/cache.h:13, from include/asm/processor_32.h:15, from include/asm/processor.h:60, from include/linux/prefetch.h:14, from include/linux/list.h:8, from include/linux/module.h:9, from drivers/char/pcmcia/synclink_cs.c:38: include/asm/cpu/cache.h:21:1: warning: this is the location of the previous definition Reported-by: Andrew Morton Signed-off-by: Paul Mundt commit 66d485b45a5493f6a2ca067c6f472e7b2ca342c2 Author: Paul Mundt Date: Tue Nov 27 15:57:30 2007 +0900 sh: Bump up ARCH_KMALLOC_MINALIGN for DMA cases. Signed-off-by: Paul Mundt commit eddeeb32fe303910c58c4e3c27fde4b6f1503350 Author: Stuart Menefy Date: Mon Nov 26 21:32:40 2007 +0900 sh: Invalidate the TLB after applying PMB mappings. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 7a2eacb75946e0ebb81dfb36b50b5bec1c3cb50f Author: Stuart Menefy Date: Mon Nov 26 21:29:09 2007 +0900 sh: Provide a 29/32-bit physical hint for bootloaders. Shoves a magic word in to the empty_zero_page section for the bootloader to work out whether to start the kernel in 29-bit or 32-bit mode. [ Renesas CPUs already take care of the initial PMB mappings entirely in hardware and decide on 29-bit/32-bit physical depending on which pin powered up the CPU, so this is mostly for ST parts. -- PFM ]. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 80a68a43d90e2221599b507b6b26c3cba1957687 Author: Stuart Menefy Date: Mon Nov 26 21:16:09 2007 +0900 sh: Add a printk() to warn legacy mem= growers. mem= can't be used to grow the size of kernel memory, so provide a warning to that effect. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 74d99a5e262229ee865f6f68528d10b82471ead6 Author: Paul Mundt Date: Mon Nov 26 20:38:36 2007 +0900 sh: SH-2A FPU support. Signed-off-by: Kieran Bingham Signed-off-by: Paul Mundt commit a8f67f4b4d4b74cd14d3540ade8657ebee543340 Author: Paul Mundt Date: Mon Nov 26 19:54:02 2007 +0900 sh: Add SH7263 CPU support. This adds support for the SH7263 (SH-2A) CPU. This particular CPU is a superset of SH7203, adding some additional peripheral blocks and hooking up additional (reserved on SH7203) vectors in the INTC block. No visibly nasty surprises, yet.. Signed-off-by: Paul Mundt commit 47a3eb95560ea525a2dfbee1c4e7f03a45fd2207 Author: Paul Mundt Date: Mon Nov 26 18:17:51 2007 +0900 sh: Fix the arch/sh/kernel/traps.c build for sh32. Signed-off-by: Paul Mundt commit 6d01f51086cf6c475470cdae67d2f45e5fb57833 Author: Paul Mundt Date: Mon Nov 26 18:17:21 2007 +0900 sh: Add SH7203 CPU support. This adds support for the SH7203 (SH-2A) CPU. Signed-off-by: Kieran Bingham Signed-off-by: Paul Mundt commit ff1b7506051014cc38036401b89e426bf3d6a608 Author: Paul Mundt Date: Mon Nov 26 17:56:31 2007 +0900 rtc: rtc-sh: SH-2A support. Trivial support for the SH-2A on-chip RTC. Signed-off-by: Paul Mundt commit 1322b9def91ab8e9e673b58a64e13d6effaaa652 Author: Yuichi Nakamura Date: Sat Nov 10 19:21:34 2007 +0900 sh: syscall audit support. Support syscall auditing.. Signed-off-by: Yuichi Nakamura Signed-off-by: Paul Mundt commit 12760cb4df2a244efbaa262b32590af295c0b8e1 Author: Paul Mundt Date: Fri Nov 23 14:24:25 2007 +0900 sh: Fix up uname -m matching for native sh64. Signed-off-by: Paul Mundt commit 03713bd226caece8e089490a47f093f5193e5e96 Author: Paul Mundt Date: Fri Nov 23 14:23:50 2007 +0900 sh: Move mach-cayman in with the rest of the boards. Signed-off-by: Paul Mundt commit 3e0137f6c7852aff12db0da7bb45f8b3a0a704c8 Author: Paul Mundt Date: Fri Nov 23 14:17:42 2007 +0900 sh: Kill off the mach-harp and mach-sim machtypes. Signed-off-by: Paul Mundt commit b000659b1c07f91f0c73bf94bb8922fa740c0ef0 Author: Paul Mundt Date: Fri Nov 23 14:02:20 2007 +0900 sh: Fix up bug trap handler build for sh32. Signed-off-by: Paul Mundt commit 0dcb957db5eb658d636097a9283dabdbf59de283 Author: Paul Mundt Date: Fri Nov 23 13:55:02 2007 +0900 sh: Build fixes for lib32 clear_page. Signed-off-by: Paul Mundt commit 35a74499a4f5abbfcdf85629d696c8cfdbd2167f Author: Paul Mundt Date: Fri Nov 23 13:54:34 2007 +0900 sh: Fix up default zImage target for sh32. This was using the absolute path, which was confusing the make target. Switch it to just 'zImage', as per powerpc. Signed-off-by: Paul Mundt commit 332fd57b92d26e2ac6112340b98e92bb76117a41 Author: Paul Mundt Date: Thu Nov 22 17:30:50 2007 +0900 sh: Bring the SH-5 FPU in line with the SH-4 FPU API. Signed-off-by: Paul Mundt commit b6d7b666097e79a8908e3c43fd55fd291a95e133 Author: Paul Mundt Date: Thu Nov 22 16:29:10 2007 +0900 sh: Get the SH-5 PCI support building. Signed-off-by: Paul Mundt commit d5f68c6dbda8e63df258a0c639f03d7565cf1d50 Author: Paul Mundt Date: Thu Nov 22 16:28:26 2007 +0900 sh: Bump number of quicklists for SH-5. Sync up with the SH definitions. Signed-off-by: Paul Mundt commit 29e0d209b38479e6817318a971082421a7d630b7 Author: Paul Mundt Date: Thu Nov 22 13:11:39 2007 +0900 sh: Add SH-5 subtypes to check_bugs() for utsname. Signed-off-by: Paul Mundt commit b4eaa1cc7ce8203ac9af9184c49c635ce79592b1 Author: Paul Mundt Date: Wed Nov 21 23:27:52 2007 +0900 sh: Kill off the rest of arch/sh64/kernel/. Signed-off-by: Paul Mundt commit 18bc81319b438ae3266e1b2653ce874912dae891 Author: Paul Mundt Date: Wed Nov 21 23:16:33 2007 +0900 sh: Get the mach-cayman IRQ support building. Signed-off-by: Paul Mundt commit caead5ef34e5abdda8c5189cf698e0b863904701 Author: Paul Mundt Date: Wed Nov 21 22:53:34 2007 +0900 sh: Kill off the last of the sh64 headers. Signed-off-by: Paul Mundt commit 9895f9429cb489ba271c06767531083ae4c4bcbe Author: Paul Mundt Date: Wed Nov 21 22:46:14 2007 +0900 sh: clear/copy_page renames in lib and lib64. Signed-off-by: Paul Mundt commit efddb4c882a64b7ca44b2a089d20020b30a2c6dd Author: Paul Mundt Date: Wed Nov 21 22:30:58 2007 +0900 sh: Rename the _32 and _64 TLB flush variants. Signed-off-by: Paul Mundt commit d088f323574ea932a9bfc65302120e1526131887 Author: Paul Mundt Date: Wed Nov 21 22:28:28 2007 +0900 sh: Consolidate sh/sh64 Makefiles. Signed-off-by: Paul Mundt commit c2f1755becdc7c78ca07a516d358d9fa7a0a2707 Author: Paul Mundt Date: Wed Nov 21 22:13:34 2007 +0900 sh: Tidy up KBUILD_IMAGE for sh64. Signed-off-by: Paul Mundt commit e2e96299a7c3257a6df36659414d1f6fbda53511 Author: Paul Mundt Date: Wed Nov 21 21:54:07 2007 +0900 sh: Remove duplicate SUPERH64 symbol. Signed-off-by: Paul Mundt commit a82d53ec2424834521a5ec8bb661a27f968036ab Author: Paul Mundt Date: Wed Nov 21 18:22:05 2007 +0900 sh: Generic BUG only works for sh32. Signed-off-by: Paul Mundt commit 0f2c15cecee0ff00e4bfa91dd20b33ccd9285360 Author: Paul Mundt Date: Wed Nov 21 18:06:34 2007 +0900 sh: Add onchip remap prototypes, kill old sh64 io.h. Signed-off-by: Paul Mundt commit 1e1ed39faec635b109ff8c516377310600623674 Author: Paul Mundt Date: Wed Nov 21 17:58:13 2007 +0900 sh: Copy over special CFLAGS for SH-5 TLB miss. Signed-off-by: Paul Mundt commit fb8e569c1d4f44a4632e2db95a27ed45734d4705 Author: Paul Mundt Date: Wed Nov 21 17:55:12 2007 +0900 sh: Fix up user_fpu_struct typo for SH-5. Signed-off-by: Paul Mundt commit 5db141a9469c8446a179696bc7d374f4cd9b207a Author: Paul Mundt Date: Wed Nov 21 17:47:15 2007 +0900 sh: Mark some IRQ debug options sh32 only. Signed-off-by: Paul Mundt commit 17bfa6397875e6901c3cafdc711437041664d94c Author: Paul Mundt Date: Wed Nov 21 17:28:37 2007 +0900 sh: Special layout for SH-5 stat.h and user.h. Signed-off-by: Paul Mundt commit c8eef8800f1c693a2de6374b1948c8ea5e0ad75f Author: Paul Mundt Date: Wed Nov 21 17:28:09 2007 +0900 sh: Purge dead sh64 headers. Signed-off-by: Paul Mundt commit e150e7f25f7e3878cf2230193a5c708d99b9971e Author: Paul Mundt Date: Wed Nov 21 17:09:14 2007 +0900 sh: Kill off arch/sh64/mm. Signed-off-by: Paul Mundt commit df0fb2562806e853e53de43af04f013c3e45427b Author: Paul Mundt Date: Wed Nov 21 17:07:46 2007 +0900 sh: Fix up proc ASIDs for CPU-local ASID cache accessors. Signed-off-by: Paul Mundt commit 60b2249d45d44bd3494d55f5ea4bccd25c7f8281 Author: Paul Mundt Date: Wed Nov 21 17:07:06 2007 +0900 sh: Move over SH-5 TLB and cache support code. Signed-off-by: Paul Mundt commit 8214d52ace79163ded60a8605c1d6c44b8b2bd30 Author: Paul Mundt Date: Wed Nov 21 16:58:56 2007 +0900 sh: Merge sh64 Kconfig.debug options. Signed-off-by: Paul Mundt commit ddf7f1d339861b9867342edccc9c6b864ca9dd26 Author: Paul Mundt Date: Wed Nov 21 16:55:27 2007 +0900 sh: Kill off a stray proc tlb reference in fault_64. Signed-off-by: Paul Mundt commit 71373068067b01c963eed1350909de81fc6a6d04 Author: Paul Mundt Date: Wed Nov 21 16:53:37 2007 +0900 sh: Merge the sh64 zImage bits. Signed-off-by: Paul Mundt commit 55183e9bb2c2ce43d88eaa575c2d6d4fd6d865a3 Author: Paul Mundt Date: Wed Nov 21 16:19:12 2007 +0900 sh: SH-5 uses a 64-bit PTE_MAGNITUDE, as X2 TLB. Signed-off-by: Paul Mundt commit c96bcf958c1d79d8e8aa58722273ec7b1ffb815c Author: Paul Mundt Date: Wed Nov 21 16:04:12 2007 +0900 sh: Use existing CONFIG_CACHE_xx options in head_64.S. Signed-off-by: Paul Mundt commit 0b2328bbc08ee8f7377f9dccdd6fb0c707b34d2f Author: Paul Mundt Date: Wed Nov 21 15:58:24 2007 +0900 sh: Fix up generic BUG build for SH-5. Signed-off-by: Paul Mundt commit ea0e1a9a3d73b917226eca751bf369609fa0dc2f Author: Paul Mundt Date: Wed Nov 21 15:58:01 2007 +0900 sh: Consolidate Kconfig.sh/Kconfig.sh64. Fold in the sh64-specific bits in to the main Kconfig.sh, and move this back as arch/sh/Kconfig. Signed-off-by: Paul Mundt commit 711fe4369c5d3834cfe1750f8804ef2b74865e9e Author: Paul Mundt Date: Wed Nov 21 15:46:07 2007 +0900 sh: Bump the MEMORY_SIZE default to something reasonable. Signed-off-by: Paul Mundt commit f137c319db9d4227f1857f9ff886278ad61c8207 Author: Paul Mundt Date: Wed Nov 21 15:43:43 2007 +0900 sh: Kill off some dead sh64 kconfig symbols. Signed-off-by: Paul Mundt commit 36763b22bee56713057762bb0756e8075b5bb918 Author: Paul Mundt Date: Wed Nov 21 15:34:33 2007 +0900 sh: Switch SH-5 to use CONFIG_PAGE_OFFSET. Signed-off-by: Paul Mundt commit 6deb6f9129591a2386f5c125d54a22ab78fc8b61 Author: Paul Mundt Date: Wed Nov 21 15:34:02 2007 +0900 sh: Move PXSEG comments to addrspace.h. Signed-off-by: Paul Mundt commit caff44e7db86243fd6163bc79e543123b0139a46 Author: Paul Mundt Date: Wed Nov 21 15:23:07 2007 +0900 sh: Set HPAGE_SHIFT for 512MB hugetlb pages. Signed-off-by: Paul Mundt commit 9ad3d336a2f495ce782a744bc6e49bf7f9ed018b Author: Paul Mundt Date: Tue Nov 20 18:45:39 2007 +0900 sh: Update cayman defconfig. Signed-off-by: Paul Mundt commit ffd25eb6cd1aa2bcdedf0c06be7e180022055cd1 Author: Paul Mundt Date: Tue Nov 20 18:44:39 2007 +0900 sh: Stubs for fpu disabled on SH-5. Signed-off-by: Paul Mundt commit e88ed82ef8c385f84333cb8f30aec6dcb1f9e76f Author: Paul Mundt Date: Tue Nov 20 18:33:03 2007 +0900 sh: Stub in CPU subtype setup code for SH5-101/103. Signed-off-by: Paul Mundt commit c2672f62e734292bca4ce4ab5e89c7e04ecb70dc Author: Paul Mundt Date: Tue Nov 20 18:29:00 2007 +0900 sh: Add the SH-5 cpu type symbolic names. Signed-off-by: Paul Mundt commit d1839136098e281ece46520200599ef94edca612 Author: Paul Mundt Date: Tue Nov 20 18:27:20 2007 +0900 sh: Plug in simple SH-5 subtype probing. Signed-off-by: Paul Mundt commit 92b59258b8e854dd223bbb196f0c18b8cb7e6c6e Author: Paul Mundt Date: Tue Nov 20 18:26:54 2007 +0900 sh: Kill off do_NMI stub in SH-5 ex table. Signed-off-by: Paul Mundt commit ac490a4893d37279f704876d430c3683071398b2 Author: Paul Mundt Date: Tue Nov 20 18:26:28 2007 +0900 sh: Move quad-word real-address I/O defs to io.h. Signed-off-by: Paul Mundt commit 5a4f7c66be981c6b5f44a4d66a14ea6ac9b7b6b0 Author: Paul Mundt Date: Tue Nov 20 18:08:06 2007 +0900 sh: Share bug/debug traps across _32 and _64. Signed-off-by: Paul Mundt commit 811d50cb43eb730cc325df0c6913556e25739797 Author: Paul Mundt Date: Tue Nov 20 17:01:55 2007 +0900 sh: Move in the SH-5 TLB miss. Signed-off-by: Paul Mundt commit 379a95d1d2c3e3682e380084c40b6fc01e38fa1f Author: Paul Mundt Date: Tue Nov 20 16:51:28 2007 +0900 sh: Tidy up various clear_page()/copy_page() definitions. Signed-off-by: Paul Mundt commit bcb28e42be8c1cce6cc523c1b656980011464016 Author: Paul Mundt Date: Tue Nov 20 15:50:59 2007 +0900 sh: sys_sh consolidation for arch_get_unmapped_area(). Signed-off-by: Paul Mundt commit e7e0a4b54a7f225f770d313f9e042f83ece57a35 Author: Paul Mundt Date: Tue Nov 20 15:48:39 2007 +0900 sh: Share the ELF dump_task interfaces. Signed-off-by: Paul Mundt commit a7aa92d1b499a3ad67b36137445ecb1411a4533b Author: Paul Mundt Date: Tue Nov 20 15:38:50 2007 +0900 sh: Kill off SH-5 enter_deep_standby() cruft. Signed-off-by: Paul Mundt commit b4db3aec8351c78df77bbd95f1951a4dd0246853 Author: Paul Mundt Date: Tue Nov 20 15:38:11 2007 +0900 sh: Fix up the _stext references for SH-5. Signed-off-by: Paul Mundt commit 6694e8250e37058d5a8db23245a349db4e112fe4 Author: Paul Mundt Date: Tue Nov 20 15:35:42 2007 +0900 sh: Sync up the _64 linker script with the _32 version. Signed-off-by: Paul Mundt commit 1cb80fcfe2beafc55610ebd1cd4a03331d65f8ba Author: Paul Mundt Date: Tue Nov 20 15:16:25 2007 +0900 sh: Merge sh and sh64 module.c. This is trivial, in that they're both effectively the same for the base relocations anyways. SH-5 doesn't need the unaligned bits, and has a few extra relocations, which are never hit on non-SH5 parts. Signed-off-by: Paul Mundt commit ba2727b556778f8af7cf08956d84723930a83965 Author: Paul Mundt Date: Tue Nov 20 15:14:48 2007 +0900 sh: ioremap_64 needs after_bootmem. Signed-off-by: Paul Mundt commit b542ad1161d3b1771ea6fa3e7cedd311a49f91c9 Author: Paul Mundt Date: Tue Nov 20 15:14:31 2007 +0900 sh: Plug in the SHmedia ELF relocations. Signed-off-by: Paul Mundt commit 99432700cf2f28976191ab546deffc0007ef4eb7 Author: Paul Mundt Date: Tue Nov 20 14:49:36 2007 +0900 sh: Tidy up lib64 udelay impl. Signed-off-by: Paul Mundt commit 600ee240d15e535d51e6c2b2f8475f0aa42885ea Author: Paul Mundt Date: Mon Nov 19 19:13:38 2007 +0900 sh: Move over and enable FPU support for SH-5. Signed-off-by: Paul Mundt commit 061854fd155116ab1f40c39a75e2c641827fd246 Author: Paul Mundt Date: Mon Nov 19 19:08:49 2007 +0900 sh: Common swapper_pg_dir usage for SH-5. Signed-off-by: Paul Mundt commit bba89e1f403b3313b429b736bd6536b921bbc83a Author: Paul Mundt Date: Mon Nov 19 19:07:51 2007 +0900 sh: Provide dummy swapper pt_regs for SH-5 ctx switch. Signed-off-by: Paul Mundt commit 7cfee5ac3edd3b4226018da6aad87334793cb1c5 Author: Paul Mundt Date: Mon Nov 19 19:00:41 2007 +0900 sh: Move over sh64 switch_to and stack unwinder. Signed-off-by: Paul Mundt commit 3eeffb32049d4b43b01211a79496cfdaac0c33ad Author: Paul Mundt Date: Mon Nov 19 18:57:03 2007 +0900 sh: Split out tlb-flush in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 249cfea914002baac0af4b080306e6b820cd86b2 Author: Paul Mundt Date: Mon Nov 19 18:26:19 2007 +0900 sh: Split out pgtable.h in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 2b6a8d455b1368d769da234336314b8364feb781 Author: Paul Mundt Date: Mon Nov 19 14:26:09 2007 +0900 sh: ioremap_64 needs proc_fs.h. Signed-off-by: Paul Mundt commit ad81eb91731fe7e43ce5c91278bc33bded6cbda1 Author: Paul Mundt Date: Sun Nov 11 18:43:33 2007 +0900 sh: Split out ioremap in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 4b7be4f2e0235c6824641503e2a8ff3b85e105d7 Author: Paul Mundt Date: Sun Nov 11 18:22:55 2007 +0900 sh: Split out sh_ksyms.c in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 343ac72248d360f1fae72176aca1117be19189ec Author: Paul Mundt Date: Sun Nov 11 18:11:18 2007 +0900 sh: Move over the SH-5 entry.S. Signed-off-by: Paul Mundt commit 49e6c3e7460a718242dc11b801811f0ac6892154 Author: Paul Mundt Date: Sun Nov 11 17:58:11 2007 +0900 sh: Split out linker script to _32 and _64 variants. Signed-off-by: Paul Mundt commit 1b6cf8175e52cbda111ab8b590da6a1d093e9954 Author: Paul Mundt Date: Sun Nov 11 17:46:49 2007 +0900 sh: Split out syscall ABI for _32 and _64 variants. Signed-off-by: Paul Mundt commit 4c91d6b105af5ab3011158addbd23f038aee6a00 Author: Paul Mundt Date: Sun Nov 11 17:41:56 2007 +0900 sh: Fix up the head-y targets for _32 and _64. Signed-off-by: Paul Mundt commit 151468d2b42569f3aff1aedc0dddfed45159c2ab Author: Paul Mundt Date: Sun Nov 11 17:41:35 2007 +0900 sh: Fix up header reference for arch/sh/lib64/panic.c. Signed-off-by: Paul Mundt commit e32acaf601445ddc4baa52a1e4df638543455029 Author: Paul Mundt Date: Sun Nov 11 17:37:21 2007 +0900 sh: Kill off lib64 version of iomap wrappers. Signed-off-by: Paul Mundt commit fcfdd0f14f94d47f2f650a24cd111e11475ccada Author: Paul Mundt Date: Sun Nov 11 17:36:13 2007 +0900 sh: Split out checksum.h in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 63e2c803326babe74033b3cbe6e8c550037c554f Author: Paul Mundt Date: Sun Nov 11 17:28:18 2007 +0900 sh: Plug in SH-5 ffz()/__ffs() bitops. Signed-off-by: Paul Mundt commit 079060c6ff6edd32955c3e511024578db89a717b Author: Paul Mundt Date: Sun Nov 11 17:25:10 2007 +0900 sh: Fix up 64kB page size selection on SH-5. Signed-off-by: Paul Mundt commit 83ce3ac1d13f9a3ae83485a5e5a1cb85faf865ff Author: Paul Mundt Date: Sun Nov 11 17:24:50 2007 +0900 sh: Split out extable.c _32 and _64 variants. Signed-off-by: Paul Mundt commit 8a7bcf0dd0d49fe8b0071adef0dfe8610abdffaa Author: Paul Mundt Date: Sun Nov 11 17:07:06 2007 +0900 sh: Add SH-5 support to the consistent DMA impl. Signed-off-by: Paul Mundt commit b613881ead41c8fc2e1413aeb6ef8f021f00c1e7 Author: Paul Mundt Date: Sun Nov 11 15:53:51 2007 +0900 sh: flush_cache_sigtramp() takes 1 arg only. Signed-off-by: Paul Mundt commit acb499f0ddfbea1176a70d93eb53943c325a073b Author: Paul Mundt Date: Sat Nov 10 20:39:56 2007 +0900 sh: Move vsyscall_init() defs up one level. Signed-off-by: Paul Mundt commit f3ef75b773b38fe2028fa4627cab3991e2c60180 Author: Paul Mundt Date: Sat Nov 10 20:39:32 2007 +0900 sh: Nopped out p3_cache_init() on SH-5 also. Signed-off-by: Paul Mundt commit 0468b4bb125542e75e39f08ebaa74a7daf845631 Author: Paul Mundt Date: Sat Nov 10 20:39:06 2007 +0900 sh: Fix up VMALLOC_START for SH-5. Signed-off-by: Paul Mundt commit 959f7d587e236a2d218f527771f156c336409d11 Author: Paul Mundt Date: Sat Nov 10 20:35:53 2007 +0900 sh: Move over the SH-5 head.S and tlb.h. Signed-off-by: Paul Mundt commit 256b22ca66987c537064dc25b0b267966189b5ba Author: Paul Mundt Date: Sat Nov 10 20:27:03 2007 +0900 sh: Have SH-5 provide an {en,dis}able_fpu() impl. Signed-off-by: Paul Mundt commit 27a511c6f37c05c5cf8fae9fe513f60d87af9158 Author: Paul Mundt Date: Sat Nov 10 20:25:28 2007 +0900 sh: Disable initial cache flush on SH-5. Signed-off-by: Paul Mundt commit c881cbc033c80d92d1bb7a0446735561a46e1f9c Author: Paul Mundt Date: Sat Nov 10 20:18:18 2007 +0900 sh: Don't reference UBC code in CPU init on sh64. Signed-off-by: Paul Mundt commit cc8eae7f5190668337463d6bfba60c137bce0522 Author: Paul Mundt Date: Sat Nov 10 20:15:31 2007 +0900 sh: imask IRQ depends on sh32. Signed-off-by: Paul Mundt commit 2f75fbf16bd87f36f3e72396b603bc6689e04be4 Author: Paul Mundt Date: Sat Nov 10 20:14:15 2007 +0900 sh: Move in the SH-5 traps.c impl. Signed-off-by: Paul Mundt commit 781c63e68ddc37f2fb5eed9b44b3075cd2b3ced3 Author: Paul Mundt Date: Sat Nov 10 20:12:25 2007 +0900 sh: timer.h stub for SH-5. Signed-off-by: Paul Mundt commit c3c307c83c1f8bcf26412bd164eb1c994ea6c413 Author: Paul Mundt Date: Sat Nov 10 20:12:01 2007 +0900 sh: Move arch/sh64/kernel/sys_sh64.c to arch/sh/kernel/ Signed-off-by: Paul Mundt commit f7a7b15344e2bccdd1c73d42685edfe7d43ec5b7 Author: Paul Mundt Date: Sat Nov 10 20:07:57 2007 +0900 sh: Move in the SH-5 signal trampoline impl. Signed-off-by: Paul Mundt commit 76168c21b78a0bd684d4687d14a2bd76bcf92762 Author: Paul Mundt Date: Sat Nov 10 20:01:51 2007 +0900 sh: More SH-5 cpuinfo tidying. Signed-off-by: Paul Mundt commit 01fed9311ab8a724283b3f456c12e573cb51d92b Author: Paul Mundt Date: Sat Nov 10 19:57:58 2007 +0900 sh: Consolidate slab/kmalloc minalign values. Signed-off-by: Paul Mundt commit 9b01bd9ee6408846c0553c03fb4b864353a845c9 Author: Paul Mundt Date: Sat Nov 10 19:55:50 2007 +0900 sh: Split out uaccess.h in to _32 and _64 variants. Signed-off-by: Paul Mundt commit c0acca6789281650134cfbbe00fc461e39440446 Author: Paul Mundt Date: Sat Nov 10 19:54:16 2007 +0900 sh: SH-5 also uses the ASID cache. Signed-off-by: Paul Mundt commit 48b22cf993cbc8f62c9b4025cfe0cfccd800181a Author: Paul Mundt Date: Sat Nov 10 19:53:31 2007 +0900 sh: Move in the SH-5 ptrace impl. Signed-off-by: Paul Mundt commit a62a3861e0adfd2612372883b5b1fc05a5182796 Author: Paul Mundt Date: Sat Nov 10 19:46:31 2007 +0900 sh: Split out system.h in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 36bcd39dbca824daffe16d607ae574b6edc7d31a Author: Paul Mundt Date: Sat Nov 10 19:16:55 2007 +0900 sh: Split out 29-bit and 32-bit physical mode definitions. Signed-off-by: Paul Mundt commit af3c7dfe822b598a2f977098101ed8b63cf0fdd1 Author: Paul Mundt Date: Fri Nov 9 17:08:54 2007 +0900 sh: Split out processor.h in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 33f242ed11ce6b5fbe73fe4ece7ef4bc2f4e2851 Author: Paul Mundt Date: Fri Nov 9 16:57:27 2007 +0900 sh: SH-5 pt_regs. Signed-off-by: Paul Mundt commit fe51bc9eaf45253bd437907ed04031a93640ca69 Author: Paul Mundt Date: Fri Nov 9 16:57:04 2007 +0900 sh: Split out arch/sh/kernel/process.c for _32 and _64 variants. Signed-off-by: Paul Mundt commit 5055235554804b39c613ada76d7598c14265a00b Author: Paul Mundt Date: Fri Nov 9 16:40:43 2007 +0900 sh: Have 32-bit use arch/sh/kernel/Makefile_32. Signed-off-by: Paul Mundt commit cdcc970829e81da3445346cb71b2ea264c9952b9 Author: Paul Mundt Date: Fri Nov 9 16:37:18 2007 +0900 sh: Move in the SH-5 mmu_context headers. Signed-off-by: Paul Mundt commit 9085fa1255fc16bf0dbd217e9f4cdccf16f064d3 Author: Paul Mundt Date: Fri Nov 9 14:07:56 2007 +0900 sh: Kill off lib64 version of io.c. Signed-off-by: Paul Mundt commit 62d6b66edc68f906138df7ba01efd41a45981586 Author: Paul Mundt Date: Fri Nov 9 14:06:24 2007 +0900 sh: Move sh32 optimized I/O routines to arch/sh/lib/ Signed-off-by: Paul Mundt commit 7a65eaf4885d1d0afeec45239eaf9208a3235b51 Author: Paul Mundt Date: Fri Nov 9 13:58:44 2007 +0900 sh: SH-5 byteorder routines. Signed-off-by: Paul Mundt commit 4690bdc7c6e4f18fb58350ccde40df5fcd85a6d9 Author: Paul Mundt Date: Fri Nov 9 13:45:42 2007 +0900 sh: Consolidate CPU features in Kconfig.cpu. Signed-off-by: Paul Mundt commit 114f132975ae8db3caa0c3420dc1083bae8d3757 Author: Paul Mundt Date: Fri Nov 9 13:40:50 2007 +0900 sh: SH-5 version of current_thread_info(). Signed-off-by: Paul Mundt commit f64ee87614e80ca270de0b80c5164ab05f4f1d98 Author: Paul Mundt Date: Fri Nov 9 13:34:36 2007 +0900 sh: Split out irqflags.h in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 7960a1d02b00fd5dfa5c2d9b957e4e5f6ec23997 Author: Paul Mundt Date: Fri Nov 9 13:00:30 2007 +0900 sh: Split out asm/string.h for sh32 and sh64. Signed-off-by: Paul Mundt commit da06b8d0545a1bf95b9060bf301d6de3400fafd6 Author: Paul Mundt Date: Fri Nov 9 12:58:12 2007 +0900 sh: Add SH-5 support to io.h. Signed-off-by: Paul Mundt commit 3b9e78868d000ca10b740c465df9236b04d29718 Author: Paul Mundt Date: Fri Nov 9 12:56:06 2007 +0900 sh: Add in cacheflush and DMA headers for SH-5. Signed-off-by: Paul Mundt commit 2f725945822dbc2e481d5e6ab4693e19a0c99972 Author: Paul Mundt Date: Thu Nov 8 19:24:00 2007 +0900 sh64: Kill off arch/sh64/oprofile. The same implementation exists in arch/sh/oprofile, so get rid of this version. Signed-off-by: Paul Mundt commit f493473a907e41f89814bee682d705bbcc131933 Author: Paul Mundt Date: Thu Nov 8 19:22:26 2007 +0900 sh: Move sh64 board defconfigs to arch/sh/configs. Signed-off-by: Paul Mundt commit db092ee6509ecd3f65843202982a8e2ff9e74cdd Author: Paul Mundt Date: Thu Nov 8 19:21:50 2007 +0900 sh: Move sh64 boards to arch/sh/. Signed-off-by: Paul Mundt commit 0fa70efbd45a6c4fd946fa71c0a609f2c509d07c Author: Paul Mundt Date: Thu Nov 8 19:08:28 2007 +0900 sh: Correct SH-5 instruction size value. Signed-off-by: Paul Mundt commit d752542ade337f059d12c59c4bc9c312befa1f1e Author: Paul Mundt Date: Thu Nov 8 19:00:27 2007 +0900 sh: Add cache definitions for SH-5. Signed-off-by: Paul Mundt commit a096a7e4762f685364df5ca03394eb63bbdb93df Author: Paul Mundt Date: Thu Nov 8 18:58:52 2007 +0900 sh: Add addrspace.h segmentation stub for SH-5. Signed-off-by: Paul Mundt commit e1cd93ea44cb55969e122758c8cc2ddfe21b74b3 Author: Paul Mundt Date: Thu Nov 8 18:58:00 2007 +0900 sh: BUGFLAG_WARNING needs GENERIC_BUG. Move the HAVE_ARCH_BUG/HAVE_ARCH_WARN_ON definitions underneath CONFIG_GENERIC_BUG. This is needed for BUGFLAG_WARNING usage. Signed-off-by: Paul Mundt commit 5a4a5bd127c147aaa16aefef856f4cb28e92cec1 Author: Paul Mundt Date: Thu Nov 8 18:55:39 2007 +0900 sh: Fix up fixmap location for SH-5. Signed-off-by: Paul Mundt commit 34cd6d3ab47284dbebea03585ead6a0d5671b75c Author: Paul Mundt Date: Thu Nov 8 18:54:58 2007 +0900 sh: Add SH-5 support to asm/module.h. Signed-off-by: Paul Mundt commit a09063da33a222adaceea85c9d168cbbb3e626b0 Author: Paul Mundt Date: Thu Nov 8 18:54:16 2007 +0900 sh: Switch Kconfig.sh64 to use arch/sh/mm/Kconfig. Consolidates the HUGETLB definitions and others. Signed-off-by: Paul Mundt commit c20c20047b1aa4ba6fc2bb4e9ab91402026c3e71 Author: Paul Mundt Date: Thu Nov 8 18:52:35 2007 +0900 sh: Plug SH-5 in to arch/sh/Makefile. Adds the ISA tuning and a lib64 rule. Signed-off-by: Paul Mundt commit dd730b8ff8adfdf8d39cd060acc7223f0d374d32 Author: Paul Mundt Date: Thu Nov 8 18:51:33 2007 +0900 sh: Move arch/sh64/lib to arch/sh/lib64. Signed-off-by: Paul Mundt commit 2c6deb5ea414c26483578d41d8537d54dd2d282f Author: Paul Mundt Date: Thu Nov 8 18:46:51 2007 +0900 sh: Move the sh64 Kconfig to arch/sh/Kconfig.sh64. Signed-off-by: Paul Mundt commit 8d5fb297cc8f9f7de2840864e497bc38330abba6 Author: Paul Mundt Date: Thu Nov 8 18:44:09 2007 +0900 sh: Split out cache status bits per-CPU family. Signed-off-by: Paul Mundt commit 5a668651bf0da3891c46ea2cfcac227ded783a5a Author: Paul Mundt Date: Thu Nov 8 18:42:46 2007 +0900 sh: Split out PXSEG segmentation per-CPU family. The CPU family abstraction already exists, so move out the PXSEG definition for each one. SH-2A already has this special cased, and SH-5 will as well. Signed-off-by: Paul Mundt commit 39d28a2dbe3886d84335f69da4c18972a31a217d Author: Paul Mundt Date: Thu Nov 8 18:39:33 2007 +0900 sh: Add a SUPERH32 config symbol. We need to differentiate from SUPERH64, so add a SUPERH32 for regular sh. Signed-off-by: Paul Mundt commit b5f42db0a782d409e5fe0efb6e1387e45774c70b Author: Paul Mundt Date: Thu Nov 8 18:38:14 2007 +0900 sh: Move CPU subtypes to Kconfig.sh. We intend to share the mm options, so move the SH-only subtypes up a level. Signed-off-by: Paul Mundt commit c2254f5a744eda55e73f5592d5bdcf75c0a5302c Author: Paul Mundt Date: Thu Nov 8 18:30:40 2007 +0900 sh: Rename Kconfig to Kconfig.sh. Signed-off-by: Paul Mundt commit 6c7e2a55d3f89deb5bc478ab1759a3a799890c7d Author: Paul Mundt Date: Thu Nov 8 14:45:55 2007 +0900 sh64: Use the generic rtc-sh driver. Rip out the sh64-specific RTC bits, use rtc-sh instead. Signed-off-by: Paul Mundt commit 9a519f62a18c258c8ba695f82b6a9542bde4ca06 Author: Paul Mundt Date: Thu Nov 8 14:44:44 2007 +0900 rtc: rtc-sh: SH-5 support. Trivial support for the SH-5 (sh64) on-chip RTC. Signed-off-by: Paul Mundt commit 91525300baf162e83e923b09ca286f9205e21522 Merge: 991dee5... 9c5e710... Author: Linus Torvalds Date: Mon Jan 28 08:15:24 2008 +1100 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: (54 commits) MAINTIANERS: just use Mike gmail e-mail for contact and pawn the serial driver off onto Sonic [Blackfin] arch: remove old I2C BF54x porting. [Blackfin] arch: Add the semtimedop syscall. Upstream uClibc doesn't compile without it. [Blackfin] arch: fix bug kernel boot message: memory information is not reasonable [Blackfin] arch: use common flash driver to setup partitions rather than the bf5xx-flash driver [Blackfin] arch: Fix bug - kernel build with Debug option enabled fails to boot up [Blackfin] arch: Fix bug Only RTC interrupt can wake up deeper sleep core. [Blackfin] arch: Add proper SW System Reset delay sequence [Blackfin] arch: Update copyright date [Blackfin] arch: GPIO API cleanup and anomaly update [Blackfin] arch: Fix BUG gpio_direction_output API is not compatitable with GENERIC_GPIO API interface [Blackfin] arch: Initial checkin of the memory protection support. [Blackfin] arch: set_bfin_dma_config shouldnt set SYNC or RESTART by default - add argument or option [Blackfin] arch: Add some comments - fix semicolons [Blackfin] arch: move all code related to CPLB handling into a new subdirectory under kernel/ [Blackfin] arch: print out list of modules if kernel is crashing and tell people if the kernel is tainted [Blackfin] arch: enable generic GPIO based I2C driver in STAMP-BF533, EZKIT-BF533 and EZKIT-BF561 boards [Blackfin] arch: Don't oops_in_progress if single step is comming from the kernel [Blackfin] arch: Fix BUG - kernel sometimes would stuck with KEYBOARD_GPIO on [Blackfin] arch: update to latest anomaly sheets ... commit eaf858a988a4b7b34a6ae03a3ac52cdf25013892 Author: David Brownell Date: Mon Jan 14 08:53:22 2008 +0100 [ARM] 4615/4: sam926[13]ek buttons updated From: Nicolas Ferre On the at92sam9263ek board, tell the input subsystem about the buttons. This patch is taken from Andrew Victor's at91 patchset, then updated to match the latest kernel code and to use labels printed on the board. Also update the at91sam9261ek buttons to cope with input changes. Signed-off-by: David Brownell Acked-by: Andrew Victor Signed-off-by: Russell King commit 991dee591a99d035796a8c194eb1796cc020e142 Author: Kalle Pokki Date: Sun Jan 27 18:14:52 2008 +0100 i2c-bfin-twi: Register adapter with a specific bus number All the users of this driver explicitly specify the I2C bus numbers to be used in their platform data. Make the driver respect that. Signed-off-by: Kalle Pokki Cc: Bryan Wu Signed-off-by: Jean Delvare commit 8b798c4d16b762d15f4055597ff8d87f73b35552 Author: Manuel Lauss Date: Sun Jan 27 18:14:52 2008 +0100 i2c-au1550: Convert to platform driver Convert the i2c-au1550 bus driver to platform driver, and register a platform device for the Alchemy Db/Pb series of boards. Signed-off-by: Manuel Lauss Signed-off-by: Jean Delvare commit 91f27958d686da713c3b0a1dc205288898e44124 Author: Manuel Lauss Date: Sun Jan 27 18:14:52 2008 +0100 i2c-au1550: properly terminate zero-byte transfers Zero-bytes transfers would leave the bus transaction unfinished (no i2c stop is sent), with the following transfer actually sending the slave address to the previously addressed device, resulting in weird device failures (e.g. reset minute register values in my RTC). This patch instructs the controller to send an I2C STOP right after the slave address in case of a zero-byte transfer. Signed-off-by: Manuel Lauss Signed-off-by: Jean Delvare commit 4bd28ebda2d48f16c1f16ff936a6927a4ef2194d Author: Jon Smirl Date: Sun Jan 27 18:14:52 2008 +0100 mpc-i2c: Propagate error values properly Propagate the error values returned by i2c_wait() instead of overriding them with a meaningless -1. Signed-off-by: Jon Smirl Signed-off-by: Jean Delvare commit e9f1373b643887f63878d1169b310c9acc534cd5 Author: David Brownell Date: Sun Jan 27 18:14:52 2008 +0100 i2c: Add i2c_new_dummy() utility This adds a i2c_new_dummy() primitive to help work with devices that consume multiple addresses, which include many I2C eeproms and at least one RTC. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 0b987dcd3ae5626ac006fbbe366e9a8415b303df Author: Jean Delvare Date: Sun Jan 27 18:14:52 2008 +0100 i2c: Drop legacy locking in i2c_new_probed_device It is no longer required to hold adapter->clist_lock to call i2c_check_addr. Signed-off-by: Jean Delvare Cc: David Brownell commit 9ddced16bb901415ac46058a55bb842a7df8cc68 Author: Jean Delvare Date: Sun Jan 27 18:14:51 2008 +0100 i2c: Limit locking scope in i2c_detach_client We only need to hold adapter->clist_lock when we touch the client list. Signed-off-by: Jean Delvare commit 86ec5ec872566dda74848e09904bb5380cab962e Author: David Brownell Date: Sun Jan 27 18:14:51 2008 +0100 i2c-remove-redundant-i2c_client-list.patch This goes on top of the patch removing most i2c_adapter.clients usage, updating i2c_attach_client: - Don't call device_register() while holding clist_lock. This removes a self-deadlock when on the i2c_driver.probe() path, for drivers that need to attach new devices (e.g. dummies). - Remove a redundant address check. The driver model core does this as a consequence of guaranteeing unique names. - Move the "device registered" diagnostic so that it never lies; previously, on error paths it would falsely report success. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 961f80f9c0c0f7c45d7818f9c9969dfaa9e4463d Author: Jean Delvare Date: Sun Jan 27 18:14:51 2008 +0100 i2c: Drivers stop using the redundant client list The redundant i2c client list maintained by i2c-core is going away soon, so drivers should stop using it now. Instead, they can use the standard iterator provided by the device driver model (device_for_each_child). Signed-off-by: Jean Delvare Cc: David Brownell Cc: Michael Hunold commit 9b766b814d6a5f31ca1e9da1ebc08164b9352941 Author: David Brownell Date: Sun Jan 27 18:14:51 2008 +0100 i2c: Stop using the redundant client list The i2c_adapter.clients list of i2c_client nodes duplicates driver model state. This patch starts removing that list, letting us remove most existing users of those i2c-core lists. * The core I2C code now iterates over the driver model's list instead of the i2c-internal one in some places where it's safe: - Passing a command/ioctl to each client, a mechanims used almost exclusively by DVB adapters; - Device address checking, in both i2c-core and i2c-dev. * Provide i2c_verify_client() to use with driver model iterators. * Flag the relevant i2c_adapter and i2c_client fields as deprecated, to help prevent new users from appearing. For the moment the list needs to stick around, since some issues show up when deleting devices created by legacy I2C drivers. (They don't follow standard driver model rules. Removing those devices can cause self-deadlocks.) Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 0d227a7e724460bddcd603a1feb672267bcb0d6c Author: Jean Delvare Date: Sun Jan 27 18:14:51 2008 +0100 i2c-viapro: Add support for the VT8237S Add support for another variant of the VT8237. I couldn't test I2C block support but I assume it is present as well. Signed-off-by: Jean Delvare commit 9b7389c0edb94a2623f21a6ac90afae63f201e73 Author: Jean Delvare Date: Sun Jan 27 18:14:51 2008 +0100 i2c-piix4: Drop redundant PCI function number check Checking the PCI function number doesn't add any value, and it makes adding dynamic IDs to the driver more difficult. Drop this check. Signed-off-by: Jean Delvare commit 0f07a24b4baf14859fde39b29bcc6fe279d18109 Author: Jean Delvare Date: Sun Jan 27 18:14:51 2008 +0100 i2c: Let the user specify PCI driver data through new_id The i2c-amd756 and i2c-viapro drivers make use of the driver_data field of the PCI device ID. When adding device IDs dynamically (by writing to the new_id sysfs file) you cannot set the value of this field by default. It has to be allowed explicitly. Do that, and check the value so that the user can't crash the kernel accidentally. Signed-off-by: Jean Delvare Acked-by: Greg Kroah-Hartman commit b7a3670131c7662415fa799700fc0bdfe90a54b6 Author: Mike Rapoport Date: Sun Jan 27 18:14:50 2008 +0100 i2c-pxa: Add polling transfer Add polling I2C transfer implementation for PXA I2C. This is needed for cases where I2C transactions have to occur at times interrups are disabled. Signed-off-by: Mike Rapoport Acked-by: eric miao Signed-off-by: Jean Delvare commit cea443a81c9c6257bf2d00f1392f7d1d4ce03b75 Author: Mike Rapoport Date: Sun Jan 27 18:14:50 2008 +0100 i2c: Support i2c_transfer in atomic contexts Allow i2c_transfer to be called in contexts where sleeping is not allowed. It is the reponsability of the caller to ensure that the underlying i2c bus driver will not sleep either. Signed-off-by: Mike Rapoport Signed-off-by: Jean Delvare commit 5271071b20dee56c01b6b9d8e275611403d3d383 Author: Jean Delvare Date: Sun Jan 27 18:14:50 2008 +0100 i2c-sibyte: Remove the bus scan module parameter The implementation is unsafe, and anyway one can achieve the same from userspace using i2c-dev + i2cdetect. Also tag i2c_sibyte_add_bus __init. Signed-off-by: Jean Delvare Cc: Ralf Baechle commit 7bca0871ca332ad5373a0fd26886e3cfbafa822c Author: Jean Delvare Date: Sun Jan 27 18:14:50 2008 +0100 i2c: Discard unused driver IDs Discard all I2C driver IDs that aren't used anywhere. That's not just a couple of them, but more like 49 or one quarter of all defined IDs! And this is just a first pass, next will come all IDs that are set but never used, or used but never set. Signed-off-by: Jean Delvare commit 6342064cad7a28d10504128d028bc4ba379d489d Author: Jean Delvare Date: Sun Jan 27 18:14:50 2008 +0100 i2c-i801: Implement I2C block read support I2C block read is supported since the ICH5. I couldn't get it to work using the block buffer, so it's using the old-style byte-by-byte mode for now. Note: I'm also updating the driver author... The i2c-i801 driver was really written by Mark Studebaker, even though he based his work on the i2c-piix4 driver which was written by Philip Edelbrock. Signed-off-by: Jean Delvare commit a0921b6c07dfbb59ac2d497e96438adaf4940f16 Author: Jean Delvare Date: Sun Jan 27 18:14:50 2008 +0100 i2c-i801: Clear special mode bits as needed Clear special mode bits (PEC, block buffer) at driver load time, you never know in which state the device was left by its last user. Also make sure that we reset the block buffer mode at the end of every transaction, not only when PEC was used. Signed-off-by: Jean Delvare commit 369f6f4aec5315012ff5d951e0179f860c35c181 Author: Jean Delvare Date: Sun Jan 27 18:14:50 2008 +0100 i2c-i801: More explicit names for chip features Use separate flags with explicit names to describe the features of the ICH chip. Signed-off-by: Jean Delvare commit ae7b0497b8280ad5ecfe7bd045c5106f35950c8a Author: Jean Delvare Date: Sun Jan 27 18:14:49 2008 +0100 i2c-i801: Document which chip support what feature Provide a clearer documentation of which additional features each ICH chip support, and which of these the driver supports. Signed-off-by: Jean Delvare commit 6d16bfb5e81d3925a7efb38b5cc3e0021b57d03a Author: David Brownell Date: Sun Jan 27 18:14:49 2008 +0100 i2c/tps65010: move header to Move the tps65010 header file from the OMAP arch directory to the more generic directory, and remove the spurious dependency of this driver on OMAP. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit caada32afe0d181b1dc36ab3fc29628582776e09 Author: Jean Delvare Date: Sun Jan 27 18:14:49 2008 +0100 i2c: Rename main mutex Rename the main mutex in i2c-core from core_lists to core_lock. This makes more sense now that the redundant lists are gone. Signed-off-by: Jean Delvare commit 026526f5afcd421dce110f53e4c4e2b9e78753c2 Author: Jean Delvare Date: Sun Jan 27 18:14:49 2008 +0100 i2c: Drop redundant i2c_driver.list i2c_driver.list is superfluous, this list duplicates the one maintained by the driver core. Drop it. Signed-off-by: Jean Delvare Acked-by: David Brownell commit 87c6c22945e5d68eb96dd1e5cb26185253cd5b9d Author: Jean Delvare Date: Sun Jan 27 18:14:48 2008 +0100 i2c: Drop redundant i2c_adapter.list i2c_adapter.list is superfluous, this list duplicates the one maintained by the driver core. Drop it. Signed-off-by: Jean Delvare Acked-by: David Brownell commit e48d33193d94175f012c3ed606a1d1e574ed726a Author: Jean Delvare Date: Sun Jan 27 18:14:48 2008 +0100 i2c: Change prototypes of refcounting functions Use more standard prototypes for i2c_use_client() and i2c_release_client(). The former now returns a pointer to the client, and the latter no longer returns anything. This matches what all other subsystems do. Signed-off-by: Jean Delvare Cc: David Brownell commit bdc511f438f6ca40307e06edda00331e6ac0f813 Author: Jean Delvare Date: Sun Jan 27 18:14:48 2008 +0100 i2c: Use the driver model reference counting Don't implement our own reference counting mechanism for i2c clients when the driver model already has one. Signed-off-by: Jean Delvare Cc: David Brownell commit 0f79b72e45da68bf542a63a08f9c924b91b507e7 Author: Jean Delvare Date: Sun Jan 27 18:14:47 2008 +0100 i2c: Deprecate drivers for I2C buses on video adapters The framebuffer drivers for these pieces of hardware include support for the DDC/I2C buses, so there is no need for separate drivers. Signed-off-by: Jean Delvare commit 2caeac810423556a5ee787d5cb7aa902fda13bb4 Author: Jean Delvare Date: Sun Jan 27 18:14:47 2008 +0100 i2c: Don't uselessly set i2c_adapter.retries I2C adapter drivers are supposed to handle retries on nack by themselves if they do, so there's no point in setting .retries if they don't. As this retry mechanism is going away (at least in its current form), clean this up now so that we don't get build failures later. Signed-off-by: Jean Delvare commit 05c7abaeb344975a3257366a52368a4866aa518d Author: Jean Delvare Date: Sun Jan 27 18:14:47 2008 +0100 i2c: Kill rogue driver IDs I2C driver IDs are optional, so if you don't need one, just omit it. Signed-off-by: Jean Delvare commit 2cdddeb8d7dd42dc1847b110228a626d25a1e468 Author: Jean Delvare Date: Sun Jan 27 18:14:47 2008 +0100 i2c: normal_i2c can be made const (remaining drivers) Signed-off-by: Jean Delvare commit 922539a0a3c44e3b8dcf1025910f08e1940ba49f Author: Jean Delvare Date: Sun Jan 27 18:14:47 2008 +0100 i2c: normal_i2c can be made const (rtc drivers) Signed-off-by: Jean Delvare Acked-by: Alessandro Zummo commit bfb6df24facfde7ec6191edbba798777efb3c375 Author: Mark M. Hoffman Date: Sun Jan 27 18:14:46 2008 +0100 i2c: Constify client address data This patch allows much of the I2C client address data to move from initdata into text. Signed-off-by: Mark M. Hoffman Signed-off-by: Jean Delvare commit 6408a8338c63e2beb50e8128814cbc1170390d3a Author: Jean Delvare Date: Sun Jan 27 18:14:46 2008 +0100 i2c-algo-pcf: Delete broken 10-bit address support The 10-bit address support in i2c-algo-pcf is so heavily broken that it can't have ever been used. Nobody ever complained, so I'll take it that nobody needs it. Let's just delete it. Signed-off-by: Jean Delvare commit bf3e2d1d9b860591f3f204aa66d6a3c30058818d Author: David Brownell Date: Sun Jan 27 18:14:46 2008 +0100 i2c-algo-bit: Fix NAK/ARB comments Update comments and logging on return path for byte writes. NAK is an error, to be reported or optionally ignored. Timeouts are always errors. Lost arbitration is not currently handled, so don't even list it as an option in the error message. Don't return bogus EFAULT code for inappropriate NAK; EIO is better, there is no bad userspace address in question. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit cf978ab2846d86709802f38c80d1d53da364bf51 Author: David Brownell Date: Sun Jan 27 18:14:46 2008 +0100 i2c-algo-bit: Whitespace fixes (+ NAK/ARB comments) Fix *LOTS* of whitespace goofs and checkpatch.pl warnings, strangely parenthesized ternary expressions, and other CodingStyle glitches. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 59d70df025473931c500d6d60510798e4bfa3279 Author: eric miao Date: Sun Jan 27 18:14:46 2008 +0100 i2c-pxa: Remove hardcoded #ifdef and use cpu_is_pxa27x remove #ifdef CONFIG_PXA27x .. #endif and use cpu_is_pxaXXXX() macros so that a single binary can support PXA25x/PXA27x/PXA3xx at run-time. Signed-off-by: eric miao Signed-off-by: Jean Delvare commit 7e8b99251be8b6f992baa88e3a6ba3c4ae01660b Author: Adrian Bunk Date: Sun Jan 27 18:14:46 2008 +0100 i2c: some overdue driver removal This patch contains the overdue removal of three I2C drivers. [JD: In fact only i2c-ixp4xx can be removed at the moment, the other two platforms don't implement the generic GPIO layer yet.] Signed-off-by: Adrian Bunk Signed-off-by: Jean Delvare commit 5a4a2387717ec57ec2a9154beb281e09c19fc26e Author: Michael-Luke Jones Date: Sun Jan 27 18:14:46 2008 +0100 ixp4xx-i2c-gpio Migrate all ixp4xx devices to the bitbanging I2C bus driver utilizing the arch-neutral GPIO API (linux/i2c-gpio.h). Tested by the nslu2-linux and openwrt projects in public firmware releases. Signed-off-by: Michael-Luke Jones Acked-by: Rod Whitby Signed-off-by: Jean Delvare commit eee87d3196c9a7ac3422f4298e2250ca68d791c1 Author: Adrian Bunk Date: Sun Jan 27 18:14:45 2008 +0100 i2c: the scheduled I2C RTC driver removal This patch contains the scheduled removal of legacy I2C RTC drivers with replacement drivers. Signed-off-by: Adrian Bunk Signed-off-by: Jean Delvare commit 569be443e3c1329fc6725988004f5d8a32fe3be5 Author: Jean Delvare Date: Sun Jan 27 18:14:45 2008 +0100 i2c-stub: Use a single array for byte and word operations This mimics the behavior of actual SMBus chips better. Signed-off-by: Jean Delvare Cc: Mark M. Hoffman commit b3af547e197fa3ca648d148dd8d36befe989e5a0 Author: Jean Delvare Date: Sun Jan 27 18:14:45 2008 +0100 i2c-stub: Mention the existence of an helper script There's a new script named i2c-stub-from-dump that can be very helpful when working with the i2c-stub driver. Signed-off-by: Jean Delvare commit 1b3e5baa8850947b2cc15f323783ddb04dc4bffa Author: Rodolfo Giometti Date: Sun Jan 27 18:14:45 2008 +0100 i2c/tsl2550: Add power management added Signed-off-by: Rodolfo Giometti Signed-off-by: Jean Delvare commit 5864ae03ca982fb60bedeebfd67562db37c1ee6a Author: Bart Van Assche Date: Sun Jan 27 18:14:45 2008 +0100 i2c: Add support for the PCF8575 chip Signed-off-by: Bart Van Assche Signed-off-by: Jean Delvare commit 217bcec4425cdc8fb90ce688eb4d5b5140713046 Author: Stefan Roese Date: Sun Jan 27 18:14:45 2008 +0100 i2c-ibm_iic: Whitespace cleanup Signed-off-by: Stefan Roese Signed-off-by: Jean Delvare commit ccf60d8571f0e606b5dacf213696b7a57fe2d890 Author: Olof Johansson Date: Sun Jan 27 18:14:44 2008 +0100 i2c-pasemi: use i2c_add_numbered_adapter() Use numbered adapter registration to always have the same hardware bus show up at the same number. PWRficient 1682M has three buses, they are all on the same PCI device but different functions. So do the simple thing and register them based on function number. Future products, if having a different number of busses, are expected to have similar behaviour w.r.t. device/function layout. Signed-off-by: Olof Johansson Signed-off-by: Jean Delvare commit 541b6a7a69fadda82f313bd2176e7756db2b5b43 Author: Jean Delvare Date: Sun Jan 27 18:14:44 2008 +0100 i2c-nforce2: The nForce2 can do block transactions My guess is that all the chips supported by this driver support block transactions and reset, but for now we play it safe and only list the ones for which this was actually tested. Signed-off-by: Jean Delvare Cc: Oleg Ryjkov commit 326e96b92306b7af24a3608ec01156cba17a3fc1 Author: Ingo Molnar Date: Sun Jan 27 08:03:54 2008 +0100 printk: revert ktime_get() timestamps revert 19ef9309273d26cb005cb23e6a370353dca91099. Kevin Winchester reported a lockup during X startup an bisected it to this commit. Reported-by: Kevin Winchester Signed-off-by: Ingo Molnar commit ef3f2de2b5496f721b12f21a157e19eac816394b Merge: 1c7c2cd... 366781c... Author: Linus Torvalds Date: Sat Jan 26 23:01:20 2008 -0800 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] DFS build fixes [CIFS] DFS support: provide shrinkable mounts [CIFS] Do not log path names in lookup errors [CIFS] DFS support patchset: Added mountdata [CIFS] Forgot to add two new files from previous commit [CIFS] DNS name resolution helper upcall for cifs [CIFS] fix checkpatch warnings in fs/cifs/inode.c [CIFS] hold ses sem on tcp session reconnect during mount [CIFS] Allow setting mode via cifs acl [CIFS] fix unicode string alignment in SPNEGO setup [CIFS] cifs_partialpagewrite() cleanup [CIFS] use krb5 session key from first SMB session after a NegProt [CIFS] redo existing session setup if needed in cifs_mount [CIFS] Only dump SPNEGO key if CONFIG_CIFS_DEBUG2 is set [CIFS] fix SetEA failure to some Samba versions commit 1c7c2cdec3a6b2873439096983794a550d7ff65b Merge: 0444fa7... 7267c33... Author: Linus Torvalds Date: Sat Jan 26 22:54:32 2008 -0800 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: (63 commits) ide: remove REQ_TYPE_ATA_CMD ide: switch ide_cmd_ioctl() to use REQ_TYPE_ATA_TASKFILE requests ide: switch set_xfer_rate() to use REQ_TYPE_ATA_TASKFILE requests ide: fix final status check in drive_cmd_intr() ide: check BUSY and ERROR status bits before reading data in drive_cmd_intr() ide: don't enable local IRQs for PIO-in in driver_cmd_intr() (take 2) ide: convert "empty" REQ_TYPE_ATA_CMD requests to use REQ_TYPE_ATA_TASKFILE ide: initialize rq->cmd_type in ide_init_drive_cmd() callers ide: use wait_drive_not_busy() in drive_cmd_intr() (take 2) ide: kill DATA_READY define ide: task_end_request() fix ide: use rq->nr_sectors in task_end_request() ide: remove needless ->cursg clearing from task_end_request() ide: set IDE_TFLAG_IN_* flags before queuing/executing command ide-tape: fix handling of non-special requests in ->end_request method ide: fix final status check in task_in_intr() ide: clear HOB bit for REQ_TYPE_ATA_CMD requests in ide_end_drive_cmd() ide: fix ->io_32bit race in ide_taskfile_ioctl() cmd64x: remove /proc/ide/cmd64x ide: remove broken disk byte-swapping support ... commit 0444fa78751260b38f0db3418e001bf86593f05f Merge: 69e4d4c... 9d40d2e... Author: Linus Torvalds Date: Sat Jan 26 22:52:53 2008 -0800 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: (56 commits) [S390] replace lock_cpu_hotplug with get_online_cpus [S390] usage of s390dbf: shrink number of debug areas to use. [S390] constify function pointer tables. [S390] do local_irq_restore while spinning in spin_lock_irqsave. [S390] add smp_call_function_mask [S390] dasd: fix loop in request expiration handling [S390] Unused field / extern declaration in processor.h [S390] Remove TOPDIR from Makefile [S390] dasd: add hyper PAV support to DASD device driver, part 1 [S390] single-step cleanup [S390] Move NOTES and BUG_TABLE. [S390] drivers/s390/: Spelling fixes [S390] include/asm-s390/: Spelling fixes [S390] arch/s390/: Spelling fixes [S390] Use diag308 subcodes 3 and 6 for reboot and dump when possible. [S390] vmemmap: allocate struct pages before 1:1 mapping [S390] Initialize sclp_ipl_info [S390] Allocate and free cpu lowcores and stacks when needed/possible. [S390] use LIST_HEAD instead of LIST_HEAD_INIT [S390] Load disabled wait psw instead of stopping cpu on halt. ... commit 69e4d4c3e1cb23fce81deeae08b502d27bad6993 Merge: 9b73e76... b1aa530... Author: Linus Torvalds Date: Sat Jan 26 22:43:56 2008 -0800 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 labeling of /proc/net inodes commit 7267c3377443322588cddaf457cf106839a60463 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:13 2008 +0100 ide: remove REQ_TYPE_ATA_CMD Based on the earlier work by Tejun Heo. All users are gone so we can finally remove it. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 5a9e77af970f14a94482a6d4dca5c48efb70deb2 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:13 2008 +0100 ide: switch ide_cmd_ioctl() to use REQ_TYPE_ATA_TASKFILE requests Based on the earlier work by Tejun Heo. There should be no functionality changes caused by this patch. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 34f5d5ae35240a11846875d76eb935875ab0c366 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:12 2008 +0100 ide: switch set_xfer_rate() to use REQ_TYPE_ATA_TASKFILE requests Based on the earlier work by Tejun Heo. Switch set_xfer_rate() to use REQ_TYPE_ATA_TASKFILE requests and make ide_wait_cmd() static. There should be no functionality changes caused by this patch. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 0455fcc821e87d362f2047922c59c0f378a122b5 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:12 2008 +0100 ide: fix final status check in drive_cmd_intr() Don't check for READY_STAT bit being set for PIO-in protocol (makes the final status check in drive_cmd_intr() match the one in task_in_intr()). Also fix function name reported by ide_error() call while at it. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4d977e43d8ae758434e603cf2455d955f71c77c4 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:12 2008 +0100 ide: check BUSY and ERROR status bits before reading data in drive_cmd_intr() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 18a056feccabdfa9764016a615121b194828bc72 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:12 2008 +0100 ide: don't enable local IRQs for PIO-in in driver_cmd_intr() (take 2) Don't enable local IRQs for PIO-in protocol in driver_cmd_intr(). While at it: * Remove redundant rq->cmd_type check. * Read status register after enabling local IRQs for no-data protocol. v2: * Re-add DRQ=1 check lost in v1 (noticed by Sergei). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 852738f39258deafb3d89c187cb1a4050820d555 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:12 2008 +0100 ide: convert "empty" REQ_TYPE_ATA_CMD requests to use REQ_TYPE_ATA_TASKFILE Based on the previous work by Tejun Heo. There should be no functionality changes caused by this patch. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 145b75e9aedbe36c55e45da8564dcd0814bdd89e Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:11 2008 +0100 ide: initialize rq->cmd_type in ide_init_drive_cmd() callers * Initialize rq->cmd_type in ide_wait_cmd(), ide_cmd_ioctl() and set_pio_mode() (other callers were aleady over-riding rq->cmd_type). * Remove no longer needed rq->cmd_type setup from ide_init_drive_cmd(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2624565caacedd740fce7803fe2c162842aa5df4 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:11 2008 +0100 ide: use wait_drive_not_busy() in drive_cmd_intr() (take 2) Use wait_drive_not_busy() in drive_cmd_intr(). v2: * Fix wait_drive_not_busy() comment (noticed by Sergei). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4906f3b4cddc3e4d62955ed386598561f95602c0 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:11 2008 +0100 ide: kill DATA_READY define Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4d7a984bdcbdda69fc6b2a4a655415140270aa7b Author: Tejun Heo Date: Sat Jan 26 20:13:11 2008 +0100 ide: task_end_request() fix task_end_request() modified to always call ide_end_drive_cmd() for taskfile requests. Previously, ide_end_drive_cmd() was called only when IDE_TFLAG_FLAGGED was set. Also, ide_dma_intr() is modified to use task_end_request(). Enables TASKFILE ioctls to get valid register outputs on successful completion. Bart: - ported it over recent IDE changes Signed-off-by: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 79f21b84d94c02b941818df282b61f2a5a028722 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:11 2008 +0100 ide: use rq->nr_sectors in task_end_request() Signed-off-by: Bartlomiej Zolnierkiewicz commit 03c3c70ee541c91250e2bff57211d403cb0b7055 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:11 2008 +0100 ide: remove needless ->cursg clearing from task_end_request() Signed-off-by: Bartlomiej Zolnierkiewicz commit 657cc1a8f6cd6a9e2974cba3af9fccd8c25e06ad Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:10 2008 +0100 ide: set IDE_TFLAG_IN_* flags before queuing/executing command * Add IDE_TFLAG_{HOB,TF,DEVICE} defines. * Set IDE_TFLAG_IN_* flags in {do_rw,ide_no_data,ide_raw}_taskfile() users. * Remove no longer needed ->tf_flags setup from ide_end_drive_cmd(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 3687221f28058c40e2c57a286decd0caeac67382 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:10 2008 +0100 ide-tape: fix handling of non-special requests in ->end_request method Signed-off-by: Bartlomiej Zolnierkiewicz commit 73d7de0c818639cf74a32ce3b13a33021414749c Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:10 2008 +0100 ide: fix final status check in task_in_intr() Check for DRQ bit being cleared on the final status check. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 49c746ee6cc791202172483277a249c12ba437d8 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:10 2008 +0100 ide: clear HOB bit for REQ_TYPE_ATA_CMD requests in ide_end_drive_cmd() ide_dump_status() may set HOB bit before ide_end_drive_cmd() is called. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 35cf2b94d0ecb7034cfa05dd725721538bbb83fc Author: Tejun Heo Date: Sat Jan 26 20:13:10 2008 +0100 ide: fix ->io_32bit race in ide_taskfile_ioctl() In ide_taskfile_ioctl(), there was a race condition involving drive->io_32bit. It was cleared and restored during ioctl requests but there was no synchronization with other requests. So, other requests could execute with the altered ->io_32bit setting or updated drive->io_32bit could be overwritten by ide_taskfile_ioctl(). This patch adds IDE_TFLAG_IO_16BIT flag to indicate to ide_pio_datablock() that 16-bit I/O is needed regardless of drive->io_32bit settting. Bart: - ported it over recent IDE changes Signed-off-by: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 63c4467805c9b23231d8bc9b61305b2013f9fea2 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:09 2008 +0100 cmd64x: remove /proc/ide/cmd64x This belongs to user-space (and only if really needed). text data bss dec hex filename 3874 180 28 4082 ff2 drivers/ide/pci/cmd64x.o.before 2231 180 0 2411 96b drivers/ide/pci/cmd64x.o.after Additionaly to being bloat the code reported incorrect UDMA modes for the reserved values of UDIDETCR0/1 registers. Also while at it remove unused CNTRL_DIS_RA0/1 defines. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9e47be0c97f7357b80e91dc0632e9cce2eb025e0 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:09 2008 +0100 ide: remove broken disk byte-swapping support Remove broken disk byte-swapping support: - it can cause a data corruption on SMP (or if using PREEMPT on UP) - all data coming from disk are byte-swapped by taskfile_*_data() which results in incorrect identify data being reported by /proc/ide/ and IOCTLs - "hdx=bswap/byteswap" kernel parameter has been broken on m68k host drivers (including Atari/Q40 ones) since 2.5.x days (because of 'hwif' zero-ing) - byte-swapping is limited to PIO transfers (for working with TiVo disks on x86 machines using user-space solutions or dm-byteswap should result in much better performance because DMA can be used) For previous discussions please see: http://www.ussg.iu.edu/hypermail/linux/kernel/0201.0/0768.html http://lkml.org/lkml/2004/2/28/111 [ I have dm-byteswap device mapper target if somebody is interested (patch is for 2.6.4 though but I'll dust it off if needed). ] Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3a5015cc9d7051ce8e706ef48276d8484aac0c4b Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:09 2008 +0100 ide: add ide_busy_sleep() helper Add ide_busy_sleep() helper and use it in do_probe(), enable_nest() and probe_hwif(). As a nice side-effect this fixes a minor bug in do_probe() (the code was reading status register without any delay). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ce71ed9ba8b558d54c213d372a6cf8b302fa1fa4 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:09 2008 +0100 ide: make CONFIG_IDEPCI_PCIBUS_ORDER visible and deprecate it Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9ac59226ca95889ad620b0e63c0f700679fee5dd Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:09 2008 +0100 ide: move CONFIG_IDEPCI_PCIBUS_ORDER code to ide-scan-pci.c Signed-off-by: Bartlomiej Zolnierkiewicz commit c99c92c58757985096e2d195dc1631246d99d686 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:09 2008 +0100 ide: print banner message once per controller in m68k host drivers * Print banner message once per controller in m68k host drivers. * Change printk() level to KERN_INFO in buddha, falconide and gayle. * Add banner message to q40ide. This is basically a preparation for the future IDE layer changes. Cc: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Bartlomiej Zolnierkiewicz commit 81ca691981da718727281238b435dcf1528d2fda Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:08 2008 +0100 ide: add ide_set_irq() inline helper There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 4f52a32994f9e05fb8ae1a9ba3f20cd0b55145b7 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:08 2008 +0100 ide-pmac: use custom hwif->sg_max_nents only if DMA support is enabled Move setting hwif->sg_max_nents from pmac_ide_setup_device() to pmac_ide_setup_dma(). Acked-by: Benjamin Herrenschmidt Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ce635f605e52a0d47aea5313ba406ada20e6028a Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:08 2008 +0100 rapide: remove write-only hwif->hwif_data Cc: Russell King Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 79127c37aa5d959c9ace40a869386f712b55ac6d Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:08 2008 +0100 ide: use ide_init_port_hw() in setup-pci.c * Move setting hwif->gendev.parent from ide_pci_setup_ports() to ide_hwif_configure(). * Always set hwif->io_ports in ide_hwif_configure(). * Use ide_init_port_hw() in ide_hwif_configure(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 6828fc9a919b06723599192300053ddf6f638c95 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:08 2008 +0100 ide: always use ide_std_init_ports() in setup-pci.c * ide_init_hwif_ports() call in setup-pci.c::ide_hwif_configure() doesn't depend on the default cotrol register offset, default IRQ or ppc_ide_md.ide_init_hwif implementations so ide_std_init_ports() can always be used. * Since 'base' is always non-zero and thus hwif->io_ports[IDE_DATA_OFFSET] is also non-zero always clear hwif->noprobe. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit aa79a2faa01ded0a6a4929dd37c059bef4890838 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:08 2008 +0100 au1xxx-ide: use ide_init_port_hw() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a42bcc0f2fc380fac81a7ac525a70bbef44bb042 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:07 2008 +0100 au1xxx-ide: au_ide_probe() fixes * hwif->hold is always set in au_ide_probe() (few lines earlier), no need to set it again * hwif->{channel,select_data,config_data} should be always zero * autotune PIO also if CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA is defined Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ade2daf9c6e57845fe83a24e0a9fa1c03c6e91b1 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:07 2008 +0100 ide: make remaining built-in only IDE host drivers modular (take 2) * Make remaining built-in only IDE host drivers modular, add ide-scan-pci.c file for probing PCI host drivers registered with IDE core (special case for built-in IDE and CONFIG_IDEPCI_PCIBUS_ORDER=y) and then take care of the ordering in which all IDE host drivers are probed when IDE is built-in during link time. * Move probing of gayle, falconide, macide, q40ide and buddha (m68k arch specific) host drivers, before PCI ones (no PCI on m68k), ide-cris (cris arch specific), cmd640 (x86 arch specific) and pmac (ppc arch specific). * Move probing of ide-cris (cris arch specific) host driver before cmd640 (x86 arch specific). * Move probing of mpc8xx (ppc specific) host driver before ide-pnp (depends on ISA and none of ppc platform that use mpc8xx supports ISA) and ide-h8300 (h8300 arch specific). * Add "probe_vlb" kernel parameter to cmd640 host driver and update Documentation/ide.txt accordingly. * Make IDE_ARM config option visible so it can also be disabled if needed. * Remove bogus comment from ide.c while at it. v2: * Fix two issues spotted by Sergei: - replace ENOMEM error value by ENOENT in ide-h8300 host driver - fix MODULE_PARM_DESC() in cmd640 host driver Cc: Sergei Shtylyov Cc: Mikael Starvik Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 8ac4ce742c66100931b6f2d7a36b0df08bc721fe Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:06 2008 +0100 ide: fix host drivers depending on ide_generic to probe for interfaces (take 2) * Add mpc8xx_ide_probe() to mpc8xx.c and call it from probe_for_hwifs(). * Convert ide_arm, ide-cris, ide-h8300, ide-pnp, buddha, falconide, gayle, macide, q40ide, cmd640 and mpc8xx host drivers to use ide_device_add(). This removes dependency on ide_generic for these drivers so update ide/Kconfig accordingly. v2: * ide_arm build fix (s/ide_device_idx/ide_device_add/) (Thanks to Christoph Lameter for reporting the problem). Cc: Mikael Starvik Cc: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Bartlomiej Zolnierkiewicz commit ac87e41116c229fc1efaac0d17fdbfb2185e4629 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:06 2008 +0100 cmd640: fix dependency on IDE_GENERIC Make BLK_DEV_CMD640 select IDE_GENERIC. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 944000921d41c5aacfda6515ad3a0bbde52f8fa3 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:06 2008 +0100 ide: move ide_arm_init() call from init_ide_data() to ide_init() * Remove ide_init_port_data() call from ide_arm_init() and move ide_arm_init() call from init_ide_data() to ide_init(). This patch is a preparation for the future changes (and as a side-effect makes obsolete "idex=io[,ctl[,irq]]" kernel parameters work for ide_arm). Signed-off-by: Bartlomiej Zolnierkiewicz commit cbb010c180294a5242a7681555c28737d9dd26ab Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:06 2008 +0100 ide: drop 'initializing' argument from ide_register_hw() * Rename init_hwif_data() to ide_init_port_data() and export it. * For all users of ide_register_hw() with 'initializing' argument set hwif->present and hwif->hold are always zero so convert these host drivers to use ide_find_port()+ide_init_port_data()+ide_init_port_hw() instead (also no need for init_hwif_default() call since the setup done by it gets over-ridden by ide_init_port_hw() call). * Drop 'initializing' argument from ide_register_hw(). Cc: Geert Uytterhoeven Cc: Roman Zippel Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 57c802e84f9c759c3d1794a9dbe81bc10444df62 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:05 2008 +0100 ide: add ide_init_port_hw() helper * Add ide_init_port_hw() helper. * rapide.c: convert rapide_locate_hwif() to rapide_setup_ports() and use ide_init_port_hw(). * ide_platform.c: convert plat_ide_locate_hwif() to plat_ide_setup_ports() and use ide_init_port_hw(). * sgiioc4.c: use ide_init_port_hw(). * pmac.c: add 'hw_regs_t *hw' argument to pmac_ide_setup_device(), setup 'hw' in pmac_ide_{macio,pci}_attach() and use ide_init_port_hw() in pmac_ide_setup_device(). This patch is a preparation for the future changes in the IDE probing code. There should be no functionality changes caused by this patch. Cc: Russell King Cc: Anton Vorontsov Cc: Jeremy Higdon Cc: Benjamin Herrenschmidt Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8f8e8483f667d79739007b25f0e59a540fb9fa51 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:05 2008 +0100 sgiioc4: always init hwif->io_ports 'if (hwif->io_ports[IDE_DATA_OFFSET] != cmd_base)' is always true. Cc: Jeremy Higdon Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b0d5bc27ce995adaafbc114b92fa76815025c94e Author: Olof Johansson Date: Sat Jan 26 20:13:05 2008 +0100 ide: Fix build break caused by "ide: remove ideprobe_init()" Fix build break of powerpc holly_defconfig: In file included from arch/powerpc/platforms/embedded6xx/holly.c:24: include/linux/ide.h:1206: error: 'CONFIG_IDE_MAX_HWIFS' undeclared here (not in a function) There's no need to have a sized array in the prototype, might as well turn it into a pointer. It could probably be argued that large parts of the include file can be covered under #ifdef CONFIG_IDE, but that's a larger undertaking. Signed-off-by: Olof Johansson Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 151575e4644f917d3a9f83c777ac3543284954f8 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:05 2008 +0100 ide: remove ideprobe_init() * Rename ide_device_add() to ide_device_add_all() and make it accept 'u8 idx[MAX_HWIFS]' instead of 'u8 idx[4]' as an argument. * Add ide_device_add() wrapper for ide_device_add_all(). * Convert ide_generic_init() to use ide_device_add_all(). * Remove no longer needed ideprobe_init(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 71518342bfdfbe508ee325ab5e20984ba2da7de2 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:04 2008 +0100 ide: add hwif->chipset fixup to ide_device_add() Add hwif->chipset fixup identical to the one in ideprobe_init() to ide_device_add(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit aae73b4ed721912dbd4909ae5f618080c64594de Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:04 2008 +0100 swarm: set hwif->chipset hwif->chipset should be set if the hwif is claimed by host driver. Cc: Maciej W. Rozycki Signed-off-by: Bartlomiej Zolnierkiewicz commit 23d8e72c3a813f2121878120bc49de2cd390119b Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:04 2008 +0100 rapide: set hwif->chipset hwif->chipset should be set if the hwif is claimed by host driver. Cc: Russell King Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2e13093a834ddbbf92701d477e69c9018959a82c Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:04 2008 +0100 ide: fix probing for hosts with serialized or IRQ sharing interfaces After hwif_register_devices() IDE devices are ready to be used so the way in which ide_device_add() works currently is racy for hosts with serialized / IRQ sharing interfaces. Fix ide_device_add() by looping over interfaces for probe_hwif(), hwif_init() and hwif_register_devices() operations. Signed-off-by: Bartlomiej Zolnierkiewicz commit ba6560aa45fc498125b07130784ec5ca8a6922a6 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:04 2008 +0100 ide: kill probe_hwif_init() There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 795d74b51a853e1f5f2c81baf6666836a3866f08 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:03 2008 +0100 ide: don't try to unregister interfaces if 'initializing' in ide_register_hw() Host drivers using ide_register_hw() and 'initializing == 1': * ide-pnp - depends on ISA * ide_arm - ARM arch specific - initialized before all other host drivers * ide-cris - CRIS arch specific => IDE_ARCH_OBSOLETE_INIT is not defined - broken * ide-h8300 - H8300 arch specific => IDE_ARCH_OBSOLETE_INIT is not defined, no PCI * buddha/q40/gayle/macide/falconide - M68K arch specific => IDE_ARCH_OBSOLETE_INIT is not defined, no PCI Since the only host drivers which probe interfaces before the above ones are: * ali14xx/dtc2278/ht6560b/qd65xx/umc8672 - depend on ISA - require IDE_ARCH_OBSOLETE_INIT=y to work * PCI ones - depend on PCI don't try to unregister interfaces if 'initializing == 1' in ide_register_hw() (it is possible that built-in host drivers will claim all IDE interfaces but later ide-pnp host driver will try to unregister them - this change fixes it). Also skip hwif->hold check if 'initializing == 1' since it is set only by: * pmac - PPC && PMAC specific => no ISA * au1xxx-ide - MIPS && SOC_AU1200 specific => no ISA and use ide_find_port() helper to find free ide_hwifs[] slot. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f01393e48c44e30f7c9a36c8b98a07b0232580fe Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:03 2008 +0100 ide: merge ->fixup and ->quirkproc methods * Assign drive->quirk_list in ->quirkproc implementations: - hpt366.c::hpt3xx_quirkproc() - pdc202xx_new.c::pdcnew_quirkproc() - pdc202xx_old.c::pdc202xx_quirkproc() * Make ->quirkproc void. * Move calling ->quirkproc from do_identify() to probe_hwif(). * Convert it821x_fixups() to it821x_quirkproc() in it821x.c. * Convert siimage_fixup() to sil_quirkproc() in siimage.c, also remove no longer needed drive->present check from is_dev_seagate_sata(). * Convert ide_undecoded_slave() to accept 'drive' instead of 'hwif' as an argument. Then convert ide_register_hw() to accept 'quirkproc' argument instead of 'fixup' one. * Remove no longer needed ->fixup method. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6dd9b8376adbee95ddc321cc83c7f641577e01f6 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:03 2008 +0100 ide: dump taskfile HOB registers in ide_tf_load() (if DEBUG is defined) * Dump taskfile HOB registers in ide_tf_load() (if DEBUG is defined). * Remove no longer needed DEBUG code from __ide_do_rw_disk(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 15ce926ada545cb078711bd9a18c083c93fa01d7 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:03 2008 +0100 ide: merge ->dma_host_{on,off} methods into ->dma_host_set method Merge ->dma_host_{on,off} methods into ->dma_host_set method which takes 'int on' argument. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f37aaf9edeba3f4ae10d22aefc09c06af9ea39b6 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:02 2008 +0100 ide: move drive->using_dma check to callers of ->dma_host_on method Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8ae60e34dd737ed3bef64b08130478393d9c4e8a Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:02 2008 +0100 atiixp: remove ->dma_host_on and ->dma_host_off methods * Enable/disable UDMA in atiixp_set_dma_mode(). * Remove no longer needed atiixp_dma_host_{on,off}() and save_mdma_mode[]. * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit 07a085ebd35ba0d4e2d88b9044563661dbca2471 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:01 2008 +0100 ide-cris: fix DMA methods * Rename cris_dma_{on,off}() to cris_dma_host_{on,off}(). * Remove no longer needed ->dma_off_quietly (IDE core has the needed code now). * Make cris_dma_host_on() void. I left fixing ide-cris after "kill dma_on/dma_off_quietly() methods" patch because: * Currently this driver is broken: cris_dma_on() (returns 'int') is assigned to hwif->dma_host_on (returns 'void') so the driver won't build. * ->ide_dma_on method was missing so the driver OOPS-es on attempt to enable DMA. * drive->using_dma was never set/cleared so DMA wouldn't be used anyway. Unfortunately it seems that ide-cris stays broken even after this patch: * V10: needs fixing - ide_init_default_hwifs() should be removed (IDE core no longer uses it) - same for ide_init_hwif_ports() and ide_default_{irq,io_base}() (they shouldn't be needed for ide-cris host driver) * V32: I'm unable to find a place which defines ETRAX_ARCH_V32 but I'm leaving fixing this to CRIS gurus. :) Cc: Mikael Starvik Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4a546e046d562bcd389149591fa5a534c8f832ca Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:01 2008 +0100 ide: remove ->ide_dma_on and ->dma_off_quietly methods from ide_hwif_t * Make ide_dma_off_quietly() and __ide_dma_on() always available. * Drop "__" prefix from __ide_dma_on(). * Check for presence of ->dma_host_on instead of ->ide_dma_on. * Convert all users of ->ide_dma_on and ->dma_off_quietly methods to use ide_dma_on() and ide_dma_off_quietly() instead. * Remove no longer needed ->ide_dma_on and ->dma_off_quietly methods from ide_hwif_t. * Make ide_dma_on() void. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 378f577f7f75aa18a0eeafb044a491dcd5aeaa3d Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:01 2008 +0100 au1xxx-ide: add ide_toggle_bounce() calls Add ide_toggle_bounce() call to ->ide_dma_on/->dma_off_quietly methods so they match generic __ide_dma_on()/ide_dma_off_quietly(). Since there is no PCI device there should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c58096941284ceaea504b2f8c4d146f0f7c86b49 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:00 2008 +0100 icside: add ide_toggle_bounce() calls Add ide_toggle_bounce() call to ->ide_dma_on/->dma_off_quietly methods so they match generic __ide_dma_on()/ide_dma_off_quietly(). Since there is no PCI device there should be no functionality changes caused by this patch. Cc: Russell King Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e5efba33289574a08674f7613eb0513bcb44d085 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:00 2008 +0100 sgiioc4: add ide_toggle_bounce() calls Add ide_toggle_bounce() call to ->ide_dma_on/->dma_off_quietly methods so they match generic __ide_dma_on()/ide_dma_off_quietly(). Tested on Altix by Jeremy. Acked-by: Jeremy Higdon Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8704de8f296fcf6a4b2ff6bfd9a63974ad909b3e Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:00 2008 +0100 cy82c693: add ->set_dma_mode method * Fix SWDMA/MWDMA masks in cy82c693_chipset. * Add IDE_HFLAG_CY82C693 host flag and use it in ide_tune_dma() to check whether the DMA should be enabled even if ide_max_dma_mode() fails. * Convert cy82c693_dma_enable() to become cy82c693_set_dma_mode() and remove no longer needed cy82c693_ide_dma_on(). Then set IDE_HFLAG_CY82C693 instead of IDE_HFLAG_TRUST_BIOS_FOR_DMA in cy82c693_chipset. * Bump driver version. As a result of this patch cy82c693 driver will configure and use DMA on all SWDMA0-2 and MWDMA0-2 capable ATA devices instead of relying on BIOS. Signed-off-by: Bartlomiej Zolnierkiewicz commit a530201afed5074dac69b29c519a1df59da97945 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:00 2008 +0100 cy82c693: correct DMA modes clipping * Mask device DMA masks by ATA_{S,M}WDMA2 in cy82c693_ide_dma_on(). * Remove clipping of DMA modes by id->tDMA in cy82c693_dma_enable(): - id->tDMA may not be defined on newer devices - id->vendor6/id->tDMA word is in LE endianness (cy82c693 seems to be Alpha specific though) * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit aea5d375600f132537adf45942c0fbdcd25eb995 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:12:59 2008 +0100 ide: (hopefully) fix VDMA for CS5520 * Set the correct hwif->dma_base for the second channel in ide_get_or_set_dma_base(). * Remove DMA enable code from cs5520_set_pio_mode(), this can be handled by the generic ->dma_host_on method now. * Add VDMA check to ide_config_drive_speed(). * drive->using_dma was never enabled since cs5520 host driver's ->ide_dma_on method overrided the generic ->ide_dma_on (so __ide_dma_on() was never called, drive->using_dma was never set and VDMA was never used since it depends on drive->using_dma). Fix it by using ->dma_host_on method instead of ->ide_dma_on (also add matching ->dma_host_off method). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 29ec683f019608ca0cb6cf69011426ecb5daa69e Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:12:59 2008 +0100 ide-disk: add idedisk_set_doorlock() helper There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7b971df185807ceb358471e16ce8754ccfcc7de9 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:12:59 2008 +0100 serverworks: cleanup ->set_dma_mode method IDE core guarantees that ->set_dma_mode will be called only for DMA modes set in SWDMA/MWDMA/UDMA masks. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 08590556d65b2611c5821bc532ca30db776e6044 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:12:59 2008 +0100 sl82c105: remove no longer needed ->selectproc method * Program register 0x40 in sl82c105_resetproc(). * Remove no longer needed sl82c105_selectproc() and pci_set_drvdata() calls. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6ae8b1efcc83103f2e323c9486f56a8671ca1880 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:12:58 2008 +0100 sl82c105: program DMA/PIO timings in ->dma_start/->ide_dma_end * Program DMA timings in sl82c105_dma_start() (->dma_start method) before starting DMA transfer. * Add sl82c105_dma_end() (->ide_dma_end method) to switch back to PIO timings when DMA transfer is complete. * In sl82c105_set_pio_mode() program timings regardless of ->using_dma setting and in sl82c105_set_dma_mode() only cache the new timings. * Remove no longer needed sl82c105_{ide_dma_on,off_quietly}(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5de865b4c5af253db19bdae3c0553952dc7eda1d Author: Nicolas Pitre Date: Mon Dec 3 17:15:52 2007 -0500 ARM kprobes: let's enable it Signed-off-by: Nicolas Pitre commit 796969104cab0d454dbc792ad0d12a4f365a8564 Author: Nicolas Pitre Date: Mon Dec 3 17:22:36 2007 -0500 ARM kprobes: special hook for the kprobes breakpoint handler The kprobes code is already able to cope with reentrant probes, so its handler must be called outside of the region protected by undef_lock. If ever this lock is released when handlers are called then this commit could be reverted. Signed-off-by: Nicolas Pitre commit 785d3cd286f0bf67d1bf692559b9ae5de12678f5 Author: Nicolas Pitre Date: Mon Dec 3 15:27:56 2007 -0500 ARM kprobes: prevent some functions involved with kprobes from being probed Signed-off-by: Nicolas Pitre commit d30a0c8bf99f0e6a7d8c57bd4524039585ffbced Author: Nicolas Pitre Date: Fri Dec 14 15:56:01 2007 -0500 ARM kprobes: don't let a single-stepped stmdb corrupt the exception stack If kprobes installs a breakpoint on a "stmdb sp!, {...}" instruction, and then single-step it by simulation from the exception context, it will corrupt the saved regs on the stack from the previous context. To avoid this, let's add an optional parameter to the svc_entry macro allowing for a hole to be created on the stack before saving the interrupted context, and use it in the undef_svc handler when kprobes is enabled. Signed-off-by: Nicolas Pitre commit 25ce1dd71b8326f2542cf030f68e0e64c3d94dc1 Author: Nicolas Pitre Date: Mon Dec 3 15:21:57 2007 -0500 ARM kprobes: add the kprobes hook to the page fault handler Signed-off-by: Nicolas Pitre commit 24ba613c9d6cad315f484e658288db152f1dc447 Author: Abhishek Sagar Date: Mon Jun 11 22:20:10 2007 +0000 ARM kprobes: core code This is a full implementation of Kprobes including Jprobes and Kretprobes support. This ARM implementation does not follow the usual kprobes double- exception model. The traditional model is where the initial kprobes breakpoint calls kprobe_handler(), which returns from exception to execute the instruction in its original context, then immediately re-enters after a second breakpoint (or single-stepping exception) into post_kprobe_handler(), each time the probe is hit.. The ARM implementation only executes one kprobes exception per hit, so no post_kprobe_handler() phase. All side-effects from the kprobe'd instruction are resolved before returning from the initial exception. As a result, all instructions are _always_ effectively boosted regardless of the type of instruction, and even regardless of whether or not there is a post-handler for the probe. Signed-off-by: Abhishek Sagar Signed-off-by: Quentin Barnes Signed-off-by: Nicolas Pitre commit 35aa1df4328340f38edc46f00837f08d33d49f63 Author: Quentin Barnes Date: Mon Jun 11 22:20:10 2007 +0000 ARM kprobes: instruction single-stepping support This is the code implementing instruction single-stepping for kprobes on ARM. To get around the limitation of no Next-PC and no hardware single- stepping, all kprobe'd instructions are split into three camps: simulation, emulation, and rejected. "Simulated" instructions are those instructions which behavior is reproduced by straight C code. "Emulated" instructions are ones that are copied, slightly altered and executed directly in the instruction slot to reproduce their behavior. "Rejected" instructions are ones that could be simulated, but work hasn't been put into simulating them. These instructions should be very rare, if not unencountered, in the kernel. If ever needed, code could be added to simulate them. One might wonder why this and the ptrace singlestep facility are not sharing some code. Both approaches are fundamentally different because the ptrace code regains control after the stepped instruction by installing a breakpoint after the instruction itself, and possibly at the location where the instruction might be branching to, instead of simulating or emulating the target instruction. The ptrace approach isn't suitable for kprobes because the breakpoints would have to be moved back, and the icache flushed, everytime the probe is hit to let normal code execution resume, which would have a significant performance impact. It is also racy on SMP since another CPU could, with the right timing, sail through the probe point without being caught. Because ptrace single-stepping always result in a different process to be scheduled, the concern for performance is much less significant. On the other hand, the kprobes approach isn't (currently) suitable for ptrace because it has no provision for proper user space memory protection and translation, and even if that was implemented, the gain wouldn't be worth the added complexity in the ptrace path compared to the current approach. So, until kprobes does support user space, both kprobes and ptrace are best kept independent and separate. Signed-off-by: Quentin Barnes Signed-off-by: Abhishek Sagar Signed-off-by: Nicolas Pitre commit 512f03fdae58b96568bac1beee4d3d3b34d4ead4 Author: eric miao Date: Mon Jan 14 15:50:54 2008 +0800 [ARM] pxa: skip registers saving/restoring if entering standby mode registers are retained during standby mode, thus it's not necessary to save/restore and checksum Signed-off-by: eric miao Signed-off-by: Russell King commit dd01b2fc79a567ae03d0c96ddf61eb4de729d36d Author: Russell King Date: Wed Jan 23 12:34:16 2008 +0000 [ARM] pxa: fix PXA27x resume When PXA27x wakes up, tick_resume_oneshot() tries to set a timer interrupt to occur immediately. Since PXA27x requires at least MIN_OSCR_DELTA, this causes us to flag an error. tick_program_event() then increments the next event time by min_delta_ns. However, by the time we get back to programming the next event, the OSCR has incremented such that we fail again. We repeatedly retry, but the OSCR is too fast for us - we never catch up, so we never break out of the loop - resulting in us never apparantly resuming. Fix this by doubling min_delta_ns. Signed-off-by: Russell King commit fd8e7af8d0fd3febc87607214d5dd545089edc71 Author: Russell King Date: Wed Jan 23 12:33:31 2008 +0000 [ARM] pxa: Avoid fiddling with CKEN register on suspend The PXA manuals indicate that when in standby or sleep modes, clocks to peripherals are shut off by the processor itself. Eg: PXA270 standby: "In standby mode, all clocks are disabled except those for the power manager and the RTC." PXA270 sleep: "In sleep mode, all clocks are disabled to the processor and to all peripherals except the RTC." PXA255 sleep: "In Sleep Mode, all processor and peripheral clocks are disabled, except the RTC." Therefore, it should be safe to leave the clock enable register alone prior to entering low power modes for these SoCs. Signed-off-by: Russell King commit 7b5dea12346f98b0624e00ef585246bfec8b0959 Author: Russell King Date: Mon Jan 7 22:18:30 2008 +0000 [ARM] pxa: Add PXA3 standby code hooked into the IRQ wake scheme Wakeup sources on PXA3 are enabled at two levels. First, the MFP configuration has to be set to enable which edges a specific pin will trigger a wakeup. The pin also has to be routed to a functional unit. Lastly, the functional unit must be enabled as a wakeup source in the appropriate AD*ER registers (AD2D0ER for standby resume.) This doesn't fit well with the IRQ wake scheme - we currently do a best effort conversion from IRQ numbers to functional unit wake enable bits. For instance, there's several USB client related enable bits but there's no corresponding IRQs to determine which you'd want. Conversely, there's a single enable bit covering several functional units. Signed-off-by: Russell King commit a10476d4ca52039a9240ac26376e15308b748b19 Author: Russell King Date: Tue Jan 8 15:25:01 2008 +0000 [ARM] pxa: Add zylonite MFP wakeup configurations Signed-off-by: Russell King commit d4fc858f9cfec5200a957c305d61ffc28c5d7796 Author: Russell King Date: Tue Jan 8 15:12:22 2008 +0000 [ARM] pxa: program MFPs for low power mode when suspending Hook the MFP code into the power management code so that the MFPs can be reconfigured when suspending and resuming. However, note the FIXME - low power mode MFP configuration may depend on the system state being entered. Also note that we have to clear any detected edge events prior to entering a low power mode - otherwise we immediately wake up. Signed-off-by: Russell King commit 7f7c8a619253c83cf3b1071df3b001811d0c1a6c Author: eric miao Date: Thu Jan 3 11:25:56 2008 +0800 [ARM] pxa: make MFP configuration processor independent There are two reasons for making the MFP configuration to be processor independent, i.e. removing the relationship of configuration bits with actual MFPR register settings: 1. power management sometimes requires the MFP to be configured differently when in run mode or in low power mode 2. for future integration of pxa{25x,27x} GPIO configurations The modifications include: 1. introducing of processor independent MFP configuration bits, as defined in [include/asm-arm/arch-pxa/mfp.h]: bit 0.. 9 - MFP Pin Number (1024 Pins Maximum) bit 10..12 - Alternate Function Selection bit 13..15 - Drive Strength bit 16..18 - Low Power Mode State bit 19..20 - Low Power Mode Edge Detection bit 21..22 - Run Mode Pull State and so on, 2. moving the processor dependent code from mfp.h into mfp-pxa3xx.h 3. cleaning up of the MFPR bit definitions 4. mapping of processor independent MFP configuration into processor specific MFPR register settings is now totally encapsulated within pxa3xx_mfp_config() 5. using of "unsigned long" instead of invented type of "mfp_cfg_t" according to Documentation/CodingStyle Chapter 5, usage of this in platform code will be slowly removed in later patches Signed-off-by: eric miao Signed-off-by: Russell King commit 0ad1fbc86045c2a27ff082c02344131be072699f Author: eric miao Date: Wed Jan 2 17:34:27 2008 +0800 [ARM] pxa: remove un-used pxa3xx_mfp_set_xxx() functions pxa3xx_mfp_set_xxx() functions are originally provided for overwriting MFP configurations performed by pxa3xx_mfp_config(), the usage of such a dirtry trick is not recommended, since there is currently no user of these functions, they are safely removed Signed-off-by: eric miao Signed-off-by: Russell King commit 83b6759e72a83c344c7fe96a37543b4546f17131 Author: eric miao Date: Wed Jan 2 16:45:06 2008 +0800 [ARM] pxa: introduce a new file mfp-pxa3xx.h for common pin configurations Signed-off-by: eric miao Signed-off-by: Russell King commit 533462fba545d271e087c3c632cf62ff04808e40 Author: Russell King Date: Fri Jan 4 22:43:36 2008 +0000 [ARM] pxa: omit PXA25x or PXA27x standby/sleep code as appropriate There's no point building standby/sleep code for processors which aren't configured. Signed-off-by: Russell King commit f79299ca85f6f8c8817bc38494f7caa0a7043c3b Author: eric miao Date: Wed Jan 2 08:24:49 2008 +0800 [ARM] pxa: clean up pxa{27x,25x}_init_pm() to empty if CONFIG_PM not defined Signed-off-by: eric miao Signed-off-by: Russell King commit 8785a8fbd5a1624dbabd7c782524450e902b722e Author: Russell King Date: Mon Jan 14 17:02:33 2008 +0000 [ARM] pxa: move memory controller registers into pxa2xx-regs.h PXA3 has a different memory controller from PXA2 platforms. Avoid clashing definitions by moving the PXA2 definitions to pxa2xx-regs.h Signed-off-by: Russell King commit 7664c400cc994542a27d1bacde54673880e7e179 Author: Russell King Date: Fri Jan 4 22:41:09 2008 +0000 [ARM] pxa: increase size of memory mapping The mapping for physical address 0x48000000 is not sufficient to allow access to the dynamic memory controller configuration registers on PXA3. These registers need to be accessed to reconfigure the SDRAM when waking from a low power mode. Signed-off-by: Russell King commit ec68e45b75adab3a78dea4ecf0e645127deee8ae Author: eric miao Date: Wed Dec 12 09:29:33 2007 +0800 [ARM] pxa: move pxa27x_device_ohci out of pxa27x.c for use with pxa3xx Signed-off-by: eric miao Signed-off-by: Russell King commit e77ec1898f9693a3572bdd03eb5d2256166d5464 Author: eric miao Date: Wed Dec 12 09:07:47 2007 +0800 [ARM] USB: update to allow pxa27x ohci driver to support pxa3xx Signed-off-by: eric miao Signed-off-by: Russell King commit a8bcf4108d6322ef157ae3c224a57beb8870af38 Author: eric miao Date: Wed Dec 12 08:53:25 2007 +0800 [ARM] USB: update pxa27x ohci driver to use clk support Signed-off-by: eric miao Signed-off-by: Russell King commit 88d456386c2b3ac96e7170f5bc555b3c43f5a951 Author: eric miao Date: Tue Dec 25 10:34:33 2007 +0800 [ARM] pxa: make OHCI register definitions available to both pxa27x and pxa3xx Signed-off-by: eric miao Signed-off-by: Russell King commit f92a629cf75b4f1df46fd8bc0a345ea3d3246281 Author: eric miao Date: Wed Dec 12 09:32:01 2007 +0800 [ARM] pxa: add clk of CKEN_USBHOST for pxa3xx Signed-off-by: eric miao Signed-off-by: Russell King commit 732ce16066964bb7b60947750e48374cc32bd310 Author: eric miao Date: Fri Nov 23 14:55:59 2007 +0800 [ARM] pxa: ensure SSP TX FIFO is empty instead of not full for pxa3xx Signed-off-by: eric miao Signed-off-by: Russell King commit 5a1f21b1e546fafe840944f02949c1a8a8725132 Author: Bridge Wu Date: Fri Dec 21 19:27:08 2007 +0800 [ARM] pxa: mmc: add 3rd host controller support for pxa310 This patch is to add the third mmc controller support _only_ for pxa310. On zylonite, the third controller support one slot. Signed-off-by: Bridge Wu Signed-off-by: Russell King commit 8d33b05581d1bc66e2356957bb2739e177a9cc36 Author: Bridge Wu Date: Fri Dec 21 19:15:36 2007 +0800 [ARM] pxa: mmc: add 2nd host controller support for pxa3xx This patch is to add the second mmc controller support for pxa3xx. It's valid for pxa3[0|1|2]0. On zylonite, the second controller has no slot. Signed-off-by: Bridge Wu Signed-off-by: Russell King commit fafc9d3fa35530c1a14e6743c477d7398b431e74 Author: Bridge Wu Date: Fri Dec 21 19:00:13 2007 +0800 [ARM] pxa: mmc: add 1st host controller support for pxa3xx This patchis to add the first mmc controller support for pxa3xx. It's valid for pxa3[0|1|2]0. On zylonite, the first controller supports two slots, this patch only support the first one right now. Signed-off-by: Bridge Wu Signed-off-by: Russell King commit 8f58de7c3932f659fff3b4e5fc14ca8ccf8ec873 Author: eric miao Date: Wed Dec 19 17:14:02 2007 +0800 [ARM] pxa: create arch/arm/mach-pxa/device.c for all on-chip devices Considering that generic.c is getting more and more bloated by device information, moving that part out side will be much cleaner. Signed-off-by: eric miao Signed-off-by: Russell King commit a333aeb73b45d2b6bbaaebd56f9e7e3a674ac039 Author: Philipp Zabel Date: Fri Dec 21 09:31:25 2007 +0100 [ARM] 4718/1: Fix redefinition warnings in PXA uncompressor code FFUART and friends are already defined as __REG(x) in pxa-regs.h. Instead of redefining them here, we can just provide the __REG macro. Including asm/arch/hardware.h is not an option because this physical addresses are needed here. This is a fix for the compiler warnings generated by 4663/1. Signed-off-by: Philipp Zabel Acked-by: Nicolas Pitre Signed-off-by: Russell King commit 9a788c6b78802b4a378be3f0d4c2da30da811620 Author: Bridge Wu Date: Fri Dec 14 10:40:25 2007 +0100 [ARM] 4711/1: pxa: mmc: move DMA specific code to platform layer This patch is to move pxamci DMA specific code to corresponding platform layer because using DRCMRRXMMC/DRCMRTXMMC in pxamci.c makes the driver code dedicated to platform which is not extensible. It is applicable to all pxa platforms. Signed-off-by: Bridge Wu Signed-off-by: Russell King commit 64eb036af42d3816364c4db49d93be3a4614389c Author: Bridge Wu Date: Thu Dec 13 07:24:30 2007 +0100 [ARM] 4709/1: pxa: mmc: add 26MHz support for pxa3[0|1]0 mmc controller pxa3[0|1]0 mmc controller can support 26MHz clock mode, they support SD spec 1.1 and MMC spec 4.0 which specify high speed mode. So host caps will include MMC_CAP_MMC_HIGHSPEED and MMC_CAP_SD_HIGHSPEED for pxa3[0|1]0. This patch is to add 26MHz support for them. pxa host clock will be set to 26MHz mode when the card supported max clock rate is higher than or equal to 26MHz. Signed-off-by: Bridge Wu Acked-by: Pierre Ossman Signed-off-by: Russell King commit 9e2697ff371b4380dca108a66860868c19d8c4b6 Author: Russell King Date: Fri Dec 14 13:30:14 2007 +0000 [ARM] pxa: add cpufreq support There have been patches hanging around for ages to add support for cpufreq to PXA255 processors. It's about time we applied one. Signed-off-by: Russell King commit cae0554126e0545f8fc37282db7a906df1ec5c3c Author: Russell King Date: Mon Dec 10 15:35:54 2007 +0000 [ARM] pxa: initialise SSP earlier Initialise the SSP driver at arch_initcall() time, so it's available for other drivers to use it. Signed-off-by: Russell King commit 16f159b1fc4f227a25cc4792e3804353e4777ebe Author: Russell King Date: Mon Dec 10 13:33:06 2007 +0000 [ARM] pxa: only register "cpld_irq" for the correct platform Only register the "cpld_irq" sysclass for mainstone/lubbock if we're running on one of those platforms. Signed-off-by: Russell King commit 2f1a74e5a2de0459139b85af95e901448726c375 Author: eric miao Date: Wed Nov 21 18:50:53 2007 +0800 [ARM] pxa: make pxa2xx_spi driver use ssp_request()/ssp_free() 1. make pxa2xx_spi.c use ssp_request() and ssp_free() to get the common information of the designated SSP port. 2. remove those IRQ/memory request code, ssp_request() has done that for the driver 3. the SPI platform device is thus made psuedo, no resource (memory/IRQ) has to be defined, all will be retreived by ssp_request() 4. introduce ssp_get_clk_div() to handle controller difference in clock divisor setting 5. use clk_xxx() API for clock enable/disable, and clk_get_rate() to handle the different SSP clock frequency between different processors Signed-off-by: eric miao Signed-off-by: Russell King commit 3dcb00ea58f6b5dc62b89bbfd54353a06e6af921 Author: eric miao Date: Fri Nov 30 18:26:56 2007 +0800 [ARM] pxa: use __raw_writel()/__raw_readl() for ssp_xxxx() 1. change SSP register definitions from absolute virtual addresses to offsets 2. use __raw_writel()/__raw_readl() for functions of ssp_xxxx() Signed-off-by: eric miao Signed-off-by: Russell King commit 0aea1fd565857f002e873a506d67c92ff913f1af Author: eric miao Date: Wed Nov 21 16:57:12 2007 +0800 [ARM] pxa: move SSP register definitions from pxa-regs.h to regs-ssp.h Signed-off-by: eric miao Signed-off-by: Russell King commit 88286450462216ca9b5c67c2175d75a5aebd5d0f Author: eric miao Date: Thu Dec 6 17:56:42 2007 +0800 [ARM] pxa: define "struct ssp_device" and add ssp_request()/ssp_free() 1. define "struct ssp_device" for SSP information, which is requested and released by function ssp_request()/ssp_free() 2. modify the ssp_init() and ssp_exit() to use the interface Signed-off-by: eric miao Signed-off-by: Russell King commit d8e0db1111b51558456466f66c9115d71b68e8b9 Author: eric miao Date: Mon Dec 10 17:54:36 2007 +0800 [ARM] pxa: add ssp devices and clk support for pxa25x/pxa27x/pxa3xx Signed-off-by: eric miao Signed-off-by: Russell King commit d2b82dded8c45daeaad332459222034a3fabd227 Author: eric miao Date: Mon Dec 10 17:51:29 2007 +0800 [ARM] pxa: define SSP platform devices for pxa2xx/pxa3xx Signed-off-by: eric miao Signed-off-by: Russell King commit 49db76eb5fd7d75babb4f3a5f30e86d1f8e82543 Author: Philipp Zabel Date: Thu Nov 22 17:57:30 2007 +0100 [ARM] 4663/1: Only putc uncompressor output into FFUART if it was enabled by the bootloader Also, use existing register and bit definitions instead of numbers. Signed-off-by: Philipp Zabel Acked-by: Nicolas Pitre Signed-off-by: Russell King commit 6bc54e69921a64e8f813de658aef645c960a2904 Author: Russell King Date: Mon Nov 12 22:49:58 2007 +0000 [ARM] pxa/sa1100: replace wakeup support Replace wakeup support using the alarm via the SA1100 RTC driver on SA1100 and PXA platforms. This allows RTC alarm wakeup to be enabled via sysfs using the conventional attributes. Acked-by: Alessandro Zummo Signed-off-by: Russell King commit 4ae7806f8b4bf9a1e74c82f3bd4e91d59bd3d697 Author: Russell King Date: Mon Nov 12 22:48:12 2007 +0000 [ARM] pxa: Don't wind OSCR backwards over suspend/resume OSCR is supposed to monotonically increment; however restoring it to a time prior to OSMR0 may result in it being wound backwards. Instead, if OSMR0 is within the minimum expiry time, wind OSMR0 forwards. Signed-off-by: Russell King commit a88264c24c44924a549f3d596b86d611b7ee9909 Author: Russell King Date: Mon Nov 12 22:45:16 2007 +0000 [ARM] pxa: remove periodic mode emulation support Apparantly, the generic time subsystem can accurately emulate periodic mode via the one-shot support code, so we don't need our own periodic emulation code anymore. Just ensure that we build support for one shot into the generic time subsystem. Signed-off-by: Russell King commit 3777f7748a5d10222a55ce88f753a19b16c17032 Author: Russell King Date: Thu Nov 8 11:22:48 2007 +0000 [ARM] pxa: mainstone: update backlight to use the backlight infrastructure Linux has framebuffer backlight support infrastructure which should be used to expose backlight attributes. Mainstone should use it. Signed-off-by: Russell King commit 03f5b2cee6cabd0400b9f89956c373a0b5d3802a Author: Russell King Date: Thu Nov 8 11:17:19 2007 +0000 [ARM] pxa: avoid always registering MMC, I2C, IrDA and framebuffer devices Only register the MMC, framebuffer, I2C and FICP devices when the platform supplies the necessary platform data structures for the devices. Signed-off-by: Russell King commit 8f86dda3ed8f05748f2351ae967926227a91ca2a Author: Herbert Valerio Riedel Date: Sun Dec 16 17:42:31 2007 +0100 [ARM] Orion: implement power-off method for QNAP TS-109/209 Since the PIC is attached to UART1, it doesn't need a kernel device driver of its own; but powering off is something that the kernel should do, so this patch forcefully configures the UART1 for 19200 baud and sends the character that tells the PIC to cut the power. Signed-off-by: Herbert Valerio Riedel Cc: Byron Bradley Acked-by: Nicolas Pitre commit 3faf2ee870c26f6a809af3f32368f96c357ed91b Author: Byron Bradley Date: Sat Dec 15 20:05:49 2007 +0000 [ARM] Orion: add support for QNAP TS-109/TS-209 This patch adds support for the Orion/MV88F5182 based QNAP TS-109/TS-209 NAS device. The driver for the S-35390A RTC chip on this board has been submitted to LKML separately. Signed-off-by: Byron Bradley Tested-by: Oyvind Repvik Tested-by: Tim Ellis Tested-by: Herbert Valerio Riedel Acked-by: Tzachi Perelstein commit 144aa3db1e8faa34bb33c61131494ac879a6d978 Author: Herbert Valerio Riedel Date: Mon Nov 12 09:51:36 2007 +0200 [ARM] Orion: I2C support The Orion I2C controller is the same one used in the Discovery family (MV643XX). This patch include the common platform_device stuff according to the existing i2c_mv64xxx.c conventions. Signed-off-by: Herbert Valerio Riedel Signed-off-by: Tzachi Perelstein commit 2f0a8df40ff008822e5570b3323c56622cd92c95 Author: Jean Delvare Date: Thu Nov 22 16:58:08 2007 +0100 [I2C] i2c-mv64xxx: Don't set i2c_adapter.retries I2C adapter drivers are supposed to handle retries on nack by themselves if they do, so there's no point in setting .retries if they don't. As this retry mechanism is going away (at least in its current form), clean this up now so that we don't get build failures later. Signed-off-by: Jean Delvare Acked-by: Mark A. Greer commit a0832798c05241f15e793805b6024919c07b8292 Author: Tzachi Perelstein Date: Mon Nov 12 19:38:51 2007 +0200 [I2C] Split mv643xx I2C platform support The motivation for this change is to allow other chips, like the Marvell Orion ARM SoC family, to use the existing i2c-mv64xxx driver. Signed-off-by: Tzachi Perelstein Acked-by: Nicolas Pitre Acked-by: Dale Farnsworth Acked-by: Mark A. Greer Acked-by: Jean Delvare commit 60ce1c20068ec2c138cdf9e5cbe583cc60883c62 Author: Martin Michlmayr Date: Wed Nov 14 08:58:30 2007 +0100 [ARM] Orion: enable CONFIG_RTC_DRV_M41T80 for D-Link DNS-323 The D-Link DNS-323 uses a M41T80 RTC chip, so enable this driver in the Orion defconfig. Signed-off-by: Martin Michlmayr Cc: Herbert Valerio Riedel Acked-by: Nicolas Pitre Acked-by: Russell King commit eb3cef84adec0fdba1a2531bcefe438a838a57dd Author: Tzachi Perelstein Date: Tue Nov 6 11:18:46 2007 +0200 [ARM] Orion defconfig Basic selections for Orion machines Signed-off-by: Tzachi Perelstein Signed-off-by: Nicolas Pitre Acked-by: Russell King commit 555a36561be191eb01658a5229aa11b4e4a8a7f0 Author: Herbert Valerio Riedel Date: Mon Nov 12 09:05:55 2007 +0100 [ARM] Orion: add support for Orion/MV88F5181 based D-Link DNS-323 With this patch USB, SATA (via sata_mv), Ethernet, RTC, LEDs and NOR Flash work. Signed-off-by: Herbert Valerio Riedel Acked-by: Tzachi Perelstein Acked-by: Russell King commit c9e3de941a1694aeab60a10bd39eb710c975010d Author: Herbert Valerio Riedel Date: Sun Nov 11 12:05:11 2007 +0100 [ARM] Orion: MV88F5181 support bits add MV88F5181 support bits required by D-link DNS-323 patch Signed-off-by: Herbert Valerio Riedel Acked-by: Tzachi Perelstein Acked-by: Russell King commit 1e78045306e9a402b096eef95864ddf313d402d8 Author: Ronen Shitrit Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: Buffalo/Revogear Kurobox Pro support Only serial, NOR, NAND, PCI and Ethernet is activated at the moment. Signed-off-by: Ronen Shitrit Reviewed-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit 817eb2109d28fcac8f4fd84a9ef3a761de4f8b50 Author: Ronen Shitrit Date: Wed Oct 17 14:51:34 2007 -0400 [ARM] OrionNAS RD board support serial, NOR, PCI and Ethernet is activated at the moment. Signed-off-by: Ronen Shitrit Reviewed-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit e448b12cdacd4b26747480250df843b734896ae5 Author: Tzachi Perelstein Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: support for Marvell Orion-2 (88F5281) Development Board Signed-off-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit e07c9d85726e57914608a4e66a5dbb35863cd8fb Author: Tzachi Perelstein Date: Wed Oct 31 12:42:41 2007 +0200 [ARM] Orion: common platform setup for Gigabit Ethernet port The Orion Ethernet port is the same port used in the Discovery family (MV643XX). This patch include the common platform_device stuff according to the existing mv643xx_eth conventions. Signed-off-by: Tzachi Perelstein Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit ca26f7d3ed3c841e561613a9ea2f44ca899e27de Author: Tzachi Perelstein Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: platform device registration for UART, USB and NAND Signed-off-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit 51cbff1d6f1946f97b847f9a144737eca20ede84 Author: Tzachi Perelstein Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: system timer support Signed-off-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit f00666140cb84cd80276c9a874198874890d5733 Author: Tzachi Perelstein Date: Thu Nov 15 10:57:48 2007 +0200 [ARM] Orion edge GPIO IRQ support This patch adds support for Orion edge sensitive GPIO IRQs. Signed-off-by: Tzachi Perelstein Signed-off-by: Nicolas Pitre CC: Thomas Gleixner commit 3085de6a82821e3d227e8fae7403dc7a5dc27932 Author: Tzachi Perelstein Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: IRQ support Signed-off-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit b11e9e020c8c6cdd7e7cc6d5178cce2ad0ac0784 Author: Herbert Valerio Riedel Date: Thu Nov 29 15:19:56 2007 +0100 [ARM] Orion: provide GPIO method for enabling hardware assisted blinking This is a pre-requisite for implementing proper hardware accelerated GPIO LED flashing, and since we want proper locking, it's sensible to provide the orion specific orion_gpio_set_blink() implementation within mach-orion/gpio.c. The functions orion_gpio_set_blink() and gpio_set_value() implicitly turn off each others state. Signed-off-by: Herbert Valerio Riedel Acked-by: Tzachi Perelstein Acked-by: Nicolas Pitre Acked-by: Russell King commit 01af72e4e36fba66cd7cfc2a628efee866c346d1 Author: Tzachi Perelstein Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: GPIO support Signed-off-by: Tzachi Perelstein Signed-off-by: Nicolas Pitre Acked-by: David Brownell commit c67de5b3c0bb48ac56f14928e11f1f7d76add26f Author: Tzachi Perelstein Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: programable address map support The Orion has fully programable address map. There's a separate address map for each of the device _master_ interfaces, e.g. CPU, PCI, PCIE, USB, Gigabit Ethernet, DMA/XOR engines, etc. Signed-off-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek commit 038ee0832ee1b1e2bd2be4599cd535ea9aaaf658 Author: Tzachi Perelstein Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: PCI support This patch adds support for PCI and PCI-E controllers in the Orion, Orion-NAS and Orion2. Signed-off-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit 585cf17561d3174a745bec49c422c1a621c95fc4 Author: Tzachi Perelstein Date: Tue Oct 23 15:14:41 2007 -0400 [ARM] basic support for the Marvell Orion SoC family The Marvell Orion is a family of ARM SoCs with a DDR/DDR2 memory controller, 10/100/1000 ethernet MAC, and USB 2.0 interfaces, and, depending on the specific model, PCI-E interface, PCI-X interface, SATA controllers, crypto unit, SPI interface, SDIO interface, device bus, NAND controller, DMA engine and/or XOR engine. This contains the basic structure and architecture register definitions. Signed-off-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit d910a0aa21c9c6e824744d0139bbe6a9ae676e2d Author: Tzachi Perelstein Date: Tue Nov 6 10:35:40 2007 +0200 [ARM] Feroceon: support old cores with ARM926 ID This enables the usage of some old Feroceon cores for which the CPU ID is equal to the ARM926 ID. Relevant for Feroceon-1850 and old Feroceon-2850. Signed-off-by: Tzachi Perelstein Signed-off-by: Nicolas Pitre Acked-by: Russell King commit 3ebb5a2b44b02bddd5fbf0f29d71f1df6146c2c3 Author: Nicolas Pitre Date: Wed Oct 31 15:31:48 2007 -0400 [ARM] add Feroceon support to compressed/head.S The cache replacement policy on the Feroceon core doesn't guarantee that reading through a linear chunk of memory flushes the entire cache. This is however what the default method for ARMv5TE cores does. Although the Feroceon is an ARMv5TE core, it implements the same cache handling instructions as the ARMv5TEJ cores, and must use it for proper cache flush. Signed-off-by: Nicolas Pitre Acked-by: Russell King commit 15754bf98ff564e8bb5296c7f5e67bc59b5700aa Author: Nicolas Pitre Date: Wed Oct 31 15:15:29 2007 -0400 [ARM] add ARMv5TEJ aware cache flush method to compressed/head.S The default ARMv4 method consisting of reading through some memory area isn't compatible with the cache replacement policy of some ARMv5TEJ compatible cache implementations. It is also a bit wasteful when a dedicated instruction can do the needed work optimally. It is hard to tell if all ARMv5TEJ cores will support the used CP15 instruction, but at least all those implementations Linux currently knows about (ARM926 and ARM1026) do support it. Tested on an OMAP1610 H2 target. Signed-off-by: Nicolas Pitre Tested-by: George G. Davis Acked-by: Russell King commit e50d64097b6e63278789ee3a4394d127bd6e4254 Author: Assaf Hoffman Date: Tue Oct 23 15:14:41 2007 -0400 [ARM] Marvell Feroceon CPU core support The Feroceon is a family of independent ARMv5TE compliant CPU core implementations, supporting a variable depth pipeline and out-of-order execution. The Feroceon is configurable with VFP support, and the later models in the series are superscalar with up to two instructions per clock cycle. This patch adds the initial low-level cache/TLB handling for this core. Signed-off-by: Assaf Hoffman Reviewed-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit 86640cae60147b0cd2705145de8067e24db70a8b Author: Andrew Victor Date: Thu Jan 24 15:16:41 2008 +0100 [ARM] 4765/1: [AT91] AT91CAP9A-DK board support Add support for the Atmel AT91CAP9A-DK Evaluation Kit board. Signed-off-by: Stelian Pop Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 2b3b3516b6eeea1464e205b2dde9ebc9b7dd2ec8 Author: Andrew Victor Date: Thu Jan 24 15:10:39 2008 +0100 [ARM] 4764/1: [AT91] AT91CAP9 core support Add support for Atmel's AT91CAP9 Customizable Microcontroller family. Signed-off-by: Stelian Pop Signed-off-by: Andrew Victor Signed-off-by: Russell King commit da7a42d60ba214937ddb35152f336a4e4baa49a6 Author: Christian Glindkamp Date: Thu Jan 3 12:15:23 2008 +0100 [ARM] 4738/1: at91sam9261: Remove udc pullup enabling in board initialisation Currently the udc pullup is enabled by default on boot. If the device is connected to a host at this time, the host starts the negotiation before the udc/gadget driver is ready to handle it. Signed-off-by: Christian Glindkamp Acked-by: David Brownell Acked-by: Andrew Victor Signed-off-by: Russell King commit 1b41bdf68a72c1fd506ee3dbfbf954fd2eaef75c Author: Andrew Victor Date: Wed Jan 23 09:32:17 2008 +0100 [ARM] 4761/1: [AT91] Board-support for NEW_LEDs Add NEW_LEDs support for the following boards: - Cogent CSB337 - Atmel AT91RM9200-DK - Atmel AT91RM9200-EK - Atmel AT91SAM9263-EK Mostly based on patch from David Brownell. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 2743f0c1dcca54d6c80b0de1273b3f4e90051a85 Author: Andrew Victor Date: Wed Jan 23 09:29:46 2008 +0100 [ARM] 4760/1: [AT91] SPI CS0 errata on AT91RM9200 Due to errata regarding the handling of SPI CS0 on the AT91RM9200, the atmel_spi driver drives CS0 from the SPI controller and not as a GPIO pin. We therefore need to configure CS0 for use by the controller Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 6d2a8401d27e3eb8b71d09dd67e0e7d0085b5e29 Author: Andrew Victor Date: Wed Jan 23 09:28:27 2008 +0100 [ARM] 4759/1: [AT91] Buttons on CSB300 Support for the 3 GPIO-connected buttons on the CSB300 board. Based on wakeup testing code from David Brownell. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit a04ff1af9723607f5901b79c559357e37cee6823 Author: Andrew Victor Date: Wed Jan 23 09:27:06 2008 +0100 [ARM] 4758/1: [AT91] LEDs Move the LED initialization code out of the various *_devices.c files, and into leds.c. Also add support for NEW_LEDs. Patch from David Brownell. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit c8f385a631ef1f49d67a3798ca40dec36ccdf07d Author: Andrew Victor Date: Wed Jan 23 09:25:15 2008 +0100 [ARM] 4757/1: [AT91] UART initialization Modify the UART initialization to allow the board-initialization code to specify which pins are connected, and which pins should therefore be initialized. The current at91_init_serial() will continue to work as-is, but is marked as "deprecated" and will be removed once the board-specific files has been updated to use the new interface. As in the AVR32 code, we assume that the TX and RX pins will always be initialized. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit b7b272a8826a2332f689853792eb8c42477fec85 Author: Andrew Victor Date: Wed Jan 23 09:23:09 2008 +0100 [ARM] 4756/1: [AT91] Makefile cleanup Cleanup the main AT91 makefile. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 228235584f0dc1ab7f33f53d6cea8ee8a4d7f0da Author: Andrew Victor Date: Wed Jan 23 09:21:02 2008 +0100 [ARM] 4755/1: [AT91] NAND update Map the complete memory region (SZ_256M) as is done on the other AT91 processors. The SMC_SMARTMEDIA bit should be set in the EBI controller to enable the hardware NAND logic. (Patch from Sascha Erlacher) Signed-off-by: Andrew Victor Signed-off-by: Russell King commit bfbc32663d4846039f88c0eccc1956587d89c042 Author: Andrew Victor Date: Wed Jan 23 09:18:06 2008 +0100 [ARM] 4754/1: [AT91] SSC library support Core support of the Atmel SSC library for all Atmel AT91 processors. Based on David Brownell's initial patch for the AT91RM9200. Signed-off-by: Andrew Victor Acked-by: David Brownell Signed-off-by: Russell King commit c6686ff9df086f9473663c2e61c1173c56788b2e Author: Andrew Victor Date: Wed Jan 23 09:13:53 2008 +0100 [ARM] 4753/1: [AT91] Use DMA_BIT_MASK Replace hard-coded DMA mask (0xffffffff) with DMA_BIT_MASK(32) as defined in dma-mapping.h. Set "dma_mask" field for the UART platform_devices. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 884f5a6a8dc8646d5904f166adf3c558be57e1ab Author: Andrew Victor Date: Wed Jan 23 09:11:13 2008 +0100 [ARM] 4752/1: [AT91] RTT, RTC and WDT peripherals on SAM9 Add platform_device and initialization for the RTT (Real Time Timer) and WDT (Watchdog) integrated in the Atmel AT91SAM9 processors. For SAM9263, register both RTT peripherals. [From: David Brownell ] Provide platform_resources for RTT peripherals [From: David Brownell ] Add support for RTC peripheral on AT91SAM9RL (same RTC peripherals as AT91RM9200) [From: David Brownell ] Signed-off-by: Andrew Victor Signed-off-by: Russell King commit e2920802351b3e01a3e70a26bb1bbb22f29da4cb Author: Andrew Victor Date: Tue Jan 22 11:43:26 2008 +0100 [ARM] 4751/1: [AT91] ISI peripheral on SAM9263 Add support for the Image Sensor Interface (ISI) peripheral integrated in the Atmel AT91SAM9263 processor. Patch from MaLiK Signed-off-by: Andrew Victor Signed-off-by: Russell King commit f06e656fb4f6f41ae9cba0f5d6948a6c7f6250ba Author: Andrew Victor Date: Tue Jan 22 11:37:32 2008 +0100 [ARM] 4750/1: [AT91] STN LCD displays on SAM9261 Add support for STN LCD displays on Atmel AT91SAM9261-based boards. Patch from Nicolas Ferre. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit a50d49dbb72aff90601fda90ea37a02a606d2d90 Author: David Brownell Date: Fri Dec 28 02:04:52 2007 +0100 [ARM] 4734/1: at91sam9263ek: include IRQ for Ethernet PHY On the at92sam9263ek board, tell the MACB driver the IRQ used by its PHY. This patch is taken from Andrew Victor's 2.6.23-at91 patchset; it matches board schematics. (But it's currently a NOP since the MACB driver doesn't yet use PHY irqs.) Signed-off-by: David Brownell Signed-off-by: Russell King commit 5248c657898c018bcd23ef77759fa1d6c690bdf4 Author: David Brownell Date: Mon Nov 12 17:59:10 2007 +0100 [ARM] 4646/1: AT91: configurable HZ, default to 128 This makes HZ configurable on AT91, following the model used on OMAP. It defaults to a power of two on AT91rm9200 chips, avoiding rounding errors which come from dividing a 32 KiHz clock to generate scheduler irqs; and uses 100 on AT91sam926x chips, using MCK/16 (multi-MHZ). Signed-off-by: David Brownell Acked-by: Remy Bhmer Acked-by: Andrew Victor Signed-off-by: Russell King commit 156864f806baa4e1aa6eabd28ac45ecc92b31315 Author: Marc Pignat Date: Mon Dec 3 12:58:24 2007 +0100 [ARM] 4688/1: at91: speed-up irq processing Save N instructions on every interrupt processing (where N is the number of interrupts processed in any one IRQ exception). Signed-off-by: Marc Pignat Acked-by: Andrew Victor Signed-off-by: Russell King commit 9ebbec27da6d7f4762b73985ac4929acf061d48b Author: Andrew Victor Date: Tue Nov 20 13:34:56 2007 +0100 [ARM] 4657/1: AT91: Header definition update Add definitions of registers / bits found on some AT91SAM9 processors Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 7cbed2b507efd1bb19a574b8db14d5aad5936d6d Author: Andrew Victor Date: Tue Nov 20 08:46:53 2007 +0100 [ARM] 4656/1: AT91: Tweak interrupt priorities Slight tweaking of the default interrupt priorities (AIC) for the integrated peripherals on the AT91RM9200, AT91SAM9260, AT91SAM9261 and AT91SAM9263 processors. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 87fee013a23ad02821699aef5b76891b42959182 Author: Guennadi Liakhovetski Date: Tue Nov 13 19:49:25 2007 +0100 [ARM] 4647/1: at91rm9200: Remove redundant machine-type verification and manipulation AT91RM9200 needlessly verifies machine-type numbers of supported / known platforms and overwrites it for unknown ones. Remove it. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Russell King commit 5170874816fc1eb2b0b865a70b6f520268227908 Author: Andrew Victor Date: Tue Nov 20 09:40:12 2007 +0100 [ARM] 4610/2: AT91: Support for STN LCD on SAM9261-EK board. Add STN LCD support on the Atmel AT91SAM9261-EK board. Uses a black and white screen from Hitachi: SP06Q002. Signed-off-by: Nicolas Ferre Signed-off-by: Andrew Victor Signed-off-by: Russell King commit b66545e7ae80b4b0eef3f7884ef9260455070be9 Author: Andrew Victor Date: Fri Nov 23 16:09:10 2007 +0100 [ARM] 4602/3: AT91: debugfs interface to view GPIO pin state This patch adds a debug interface (if CONFIG_DEBUG_FS is selected) to display the basic configuration and current state of the GPIO pins on the Atmel AT91 processors. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit b696b6b448d3ec5f882aa346ce544e00763e7b3d Author: Gordon Farquharson Date: Sat Jan 26 08:35:44 2008 +0100 [ARM] 4770/1: GLAN Tank: correct physmap_flash_data width field This patch is required, in conjunction with the patch submitted to linux-mtd [1], to access the flash memory device in the GLAN Tank. Without the patches, the boot log shows physmap platform flash device: 00080000 at f0000000 ... physmap-flash physmap-flash.0: map_probe failed whereas with the patches, the boot log shows physmap platform flash device: 00080000 at f0000000 Found: ST M29W400DB physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank number of JEDEC chips: 1 cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. ... cmdlinepart partition parsing not available Searching for RedBoot partition table in physmap-flash.0 at offset 0x70000 No RedBoot partition table detected in physmap-flash.0 The change made by this patch is required because the ST M29W400DB flash memory chip in the GLAN Tank is used in 16 bit bus mode (~BYTE pin is high when the board is powered on). [1] http://lists.infradead.org/pipermail/linux-mtd/2008-January/020291.html Signed-off-by: Gordon Farquharson Signed-off-by: Russell King commit 1d7d4f54b1337bf64605dc9cb3c540f67843be39 Author: Lucas Woods Date: Wed Nov 21 14:51:51 2007 -0800 [ARM] remove duplicate includes Signed-off-by: Lucas Woods Acked-by: Lennert Buytenhek Signed-off-by: Andrew Morton Signed-off-by: Russell King commit ddf4e42c6a109392851d8843e2699bffd3c476bf Author: Sascha Hauer Date: Tue Jul 24 18:37:01 2007 +0200 [ARM] CONFIG_DEBUG_STACK_USAGE In early 2.6 days stack utilization instrumentation was made configurable. Seems that arm misses the DEBUG_STACK_USAGE option. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 70b6f2b4af709bded5220bcd8f3b4e255de20411 Author: Nicolas Pitre Date: Tue Dec 4 14:33:33 2007 +0100 [ARM] 4689/1: small comment wrap fix Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 7b544c99e0328937932022da3cbdd38cf3f072ec Author: George G. Davis Date: Sat Dec 1 05:49:41 2007 +0100 [ARM] 4687/1: Trivial arch/arm/kernel/entry-common.S comment fix Make the comment match the code Signed-off-by: George G. Davis Signed-off-by: Russell King commit d2936b1976a9c70d1cce4700c51f26d4b9495e9d Author: Pavel Roskin Date: Sun Nov 25 02:12:39 2007 +0100 [ARM] 4666/1: ixp4xx: fix sparse warnings in include/asm-arm/arch-ixp4xx/io.h Don't lose __iomem in casts. Use __force to cast __iomem addresses to integers. Use __force to cast u32 to __le32 and vice versa. Signed-off-by: Pavel Roskin Signed-off-by: Russell King commit e173dbf68869dd1fe64c16b8d6ae2fbe6a3b2f89 Author: Robert P. J. Day Date: Wed Nov 21 14:51:49 2007 -0800 [ARM] remove reference to non-existent MTD_OBSOLETE_CHIPS The CONFIG variable MTD_OBSOLETE_CHIPS was deleted in commit ba7cc09c9c9e29a57045dc5bbf843ac1cfad3283. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Russell King commit c5f333831fe2ff1656f954aabdb3eb8c276169cc Author: Alan Cox Date: Mon Nov 19 15:12:22 2007 +0000 [SERIAL] 21285: Report baud rate back via termios Currently reports back the requested rate not the result of the divides but thats an easy fix for someone with h/w Signed-off-by: Alan Cox Signed-off-by: Russell King commit 2a7057e306b198e1e0d7db8615d8e9c69b880913 Author: Jeff Garzik Date: Fri Oct 26 05:40:22 2007 -0400 [ARM] Remove pointless casts from void pointers, mostly in and around irq handlers. Signed-off-by: Jeff Garzik Signed-off-by: Russell King commit e8f2af17757b54db7f307b75e088489c480eb889 Author: Jeff Garzik Date: Fri Oct 26 05:40:25 2007 -0400 [ARM] Misc minor interrupt handler cleanups mach-integrator/pci_v3.c: no need to reference 'irq' arg, its constant mach-omap1/pm.c: remove extra whitespace arch/arm/mach-sa1100/ssp.c: remove braces around single C stmt arch/arm/plat-omap/mcbsp.c: - remove pointless casts from void* - make longer lines more readable Signed-off-by: Jeff Garzik Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit f1a6de9c7efc8e3fb535f1e61848f671f90b5cd5 Author: Jan Altenberg Date: Tue Oct 2 13:26:43 2007 -0700 [ARM] Remove at91_lcdc.h include/asm-arm/arch-at91/at91_lcdc.h (which is still present in latest git) has been superseeded by include/video/atmel_lcdc.h, so let's remove it. Signed-off-by: Jan Altenberg Cc: Andrew Victor Cc: Nicolas Ferre Signed-off-by: Andrew Morton Signed-off-by: Russell King commit df1a29032060680d258689448dca37bb003c4c2c Author: Alejandro Martinez Ruiz Date: Wed Oct 17 12:14:25 2007 +0200 [ARM] ARRAY_SIZE() cleanup Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Russell King commit 2fd2b1242810fb4d2ba36548fecc1f005c36770c Author: Russell King Date: Sat Jan 26 14:47:48 2008 +0000 [ARM] Update mach-types Signed-off-by: Russell King commit b5872db4a2ebe7dbc7a5e4013ae8ee37f3de3b97 Author: Catalin Marinas Date: Thu Jan 10 19:16:17 2008 +0100 [ARM] 4584/2: ARMv7: Add Advanced SIMD (NEON) extension support This patch enables the use of the Advanced SIMD (NEON) extension on ARMv7. The NEON technology is a 64/128-bit hybrid SIMD architecture for accelerating the performance of multimedia and signal processing applications. The extension shares the registers with the VFP unit and enabling/disabling and saving/restoring follow the same rules. In addition, there are instructions that do not have the appropriate CP number encoded, the checks being made in the call_fpe function. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 25ebee020bd34d1f4c5678538204f0b10bf9f6d5 Author: Catalin Marinas Date: Tue Sep 25 15:22:24 2007 +0100 [ARM] 4583/1: ARMv7: Add VFPv3 support This patch adds the support for VFPv3 (the kernel currently supports VFPv2). The main difference is 32 double registers (compared to 16). Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit c98929c07a01c9ec2e1e5253456acc7168da8b66 Author: Catalin Marinas Date: Thu Nov 22 18:32:01 2007 +0100 [ARM] 4582/2: Add support for the common VFP subarchitecture This patch allows the VFP support code to run correctly on CPUs compatible with the common VFP subarchitecture specification (Appendix B in the ARM ARM v7-A and v7-R edition). It implements support for VFP subarchitecture 2 while being backwards compatible with subarchitecture 1. On VFP subarchitecture 1, the arithmetic exceptions are asynchronous (or imprecise as described in the old ARM ARM) unless the FPSCR.IXE bit is 1. The exceptional instructions can be read from FPINST and FPINST2 registers. With VFP subarchitecture 2, the arithmetic exceptions can also be synchronous and marked by the FPEXC.DEX bit (the FPEXC.EX bit is cleared). CPUs implementing the synchronous arithmetic exceptions don't have the FPINST and FPINST2 registers and accessing them would trigger and undefined exception. Note that FPEXC.EX bit has an additional meaning on subarchitecture 1 - if it isn't set, there is no additional information in FPINST and FPINST2 that needs to be saved at context switch or when lazy-loading the VFP state of a different thread. The patch also removes the clearing of the cumulative exception flags in FPSCR when additional exceptions were raised. It is up to the user application to clear these bits. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit d142b6e77d394a4fcc0a42381b03852bd9c4e263 Author: Russell King Date: Mon Nov 12 21:55:12 2007 +0000 [ARM] sa1100: add clock source support Add generic clock source support for SA11x0 platforms. Signed-off-by: Russell King commit bfe645adf1a79b873b528556523abb46f281a5dc Author: Arve Hjønnevåg Date: Mon Nov 26 04:12:29 2007 -0800 [ARM] msm: dma support for MSM7X00A Signed-off-by: Brian Swetland commit 9e73c84c89b7c91ad5d6a141c58efbbe139f6b6c Author: Brian Swetland Date: Mon Nov 26 04:12:13 2007 -0800 [ARM] msm: board file for MACH_HALIBUT (QCT MSM7200A) Add support for the Qualcomm MSM7200A eval board. Common devices are defined in common.c, to avoid excessive cut'n'pasting them into other board files. Signed-off-by: Brian Swetland commit 3e4ea3728a38b224d8b35ff8a9281407f603aa20 Author: Arve Hjønnevåg Date: Mon Nov 26 04:11:58 2007 -0800 [ARM] msm: irq and timer support for ARCH_MSM7X00A - Vectored Interrupt Controller support - Timer support using the GPT and DGT timers Signed-off-by: Brian Swetland commit 3042102a28501510a409fe86962f20369e325cf2 Author: Brian Swetland Date: Mon Nov 26 04:11:43 2007 -0800 [ARM] msm: core platform support for ARCH_MSM7X00A - core header files for arch-msm - Kconfig and Makefiles to enable ARCH_MSM7X00A builds - MSM7X00A specific arch_idle - peripheral iomap and irq number definitions Signed-off-by: Brian Swetland commit 20118ff97823822bf4d52ccb528ce2b5042c3057 Author: Andrew Victor Date: Mon Oct 15 14:27:41 2007 +0100 [ARM] 4603/1: KS8695: debugfs interface to view pin state This patch adds a debug interface (if CONFIG_DEBUG_FS is selected) to display the basic configuration and current state of the GPIO pins on the Kendin/Micrel KS8695 processor. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 7d77ce8f67358c6b7708726f8fa230cd58d75b2c Author: Andrew Victor Date: Mon Oct 15 13:09:19 2007 +0100 [ARM] 4601/1: KS8695: PCI support This patch adds support for the PCI Host controller integrated in the Kendin/Micrel KS8695 processor. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit bd7b8858631bf335ce6e8b4a985b7f951041b572 Author: Martin Michlmayr Date: Thu Dec 27 14:09:07 2007 +0100 [ARM] 4732/1: GLAN Tank: register rtc-rs5c372 i2c device Use the new i2c framework to load rtc-rs5c372 for the GLAN Tank. Tested-by: Gordon Farquharson Signed-off-by: Martin Michlmayr Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit ecdc902bf87e57e47efb6cab3999d64bfe3b2dfd Author: Dan Williams Date: Thu Dec 13 00:20:05 2007 +0100 [ARM] 4708/1: iop: update defconfigs for 2.6.24 * iop13xx, iop33x, iop32x: re-enable the IOP_ADMA driver by default * iop32x: enable RS5C372 and RTC_CLASS support Signed-off-by: Dan Williams Signed-off-by: Russell King commit 6331acd78f7916db16ec20b50d7838bd4944cd27 Author: Herbert Valerio Riedel Date: Mon Nov 26 18:50:42 2007 +0100 [ARM] 4671/1: ep93xx: remove obsolete gpio_line_* operations With the new GPIO methods in place the old gpio_line_* methods are redundant, so this patch finally removes the old legacy gpio_line_* wrappers. Signed-off-by: Herbert Valerio Riedel Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 3c9a071d77e007464952a2d41b6686d98eb3f0b8 Author: Herbert Valerio Riedel Date: Mon Nov 26 18:49:08 2007 +0100 [ARM] 4670/1: ep93xx: implement IRQT_BOTHEDGE gpio irq sense type Having a both-edge sensitive irq trigger type is required for the generic gpio-keys input driver; alas the ep93xx does not support both-edge gpio triggers in hardware, so this patch implements them by switching edge polarity on each triggered interrupt. This is the same approach as taken by the Orion SoC both-edge gpio irq support implementation. Signed-off-by: Herbert Valerio Riedel Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 7ca722533979d47563e75a40c86c405153818b83 Author: Herbert Valerio Riedel Date: Mon Nov 26 18:45:59 2007 +0100 [ARM] 4669/1: ep93xx: simplify GPIO code and cleanups This patch renumbers the (virtual) GPIO line numbering to have all irq-capable gpio lines <= EP93XX_GPIO_LINE_MAX_IRQ by swapping the port f range with the port c range; This simplifies code such as #define IRQ_EP93XX_GPIO(x) (64 + (((x) + (((x) >> 2) & 8)) & 0x1f)) or if (line >= 0 && line < 16) { /* Port A/B */ } else if (line >= 40 && line < 48) { /* Port F */ } considerably; in addition to the renumbering this patch also introduces macro constants EP93XX_GPIO_LINE_MAX_IRQ and EP93XX_GPIO_LINE_MAX, and replaces most magic numbers by those and invocations of gpio_to_irq()/irq_to_gpio(). Signed-off-by: Herbert Valerio Riedel Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 4e9f9fd5148004b983b29e15de66918e71da56c0 Author: Herbert Valerio Riedel Date: Mon Nov 26 18:41:02 2007 +0100 [ARM] 4668/1: ep93xx: implement new GPIO API Implement new GPIO API for ep93xx platform as defined in Documentation/gpio.txt and provide transitional __deprecated wrappers for the previous gpio_line_* functions. Signed-off-by: Herbert Valerio Riedel Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 9d40d2e3955185b69c264583d080eb3defcb05a0 Author: Martin Schwidefsky Date: Sat Jan 26 14:11:31 2008 +0100 [S390] replace lock_cpu_hotplug with get_online_cpus Git commit 86ef5c9a8edd78e6bf92879f32329d89b2d55b5a forgot a few lock_cpu_hotplug/unlock_cpu_hotplug pairs in arch/s390/kernel/smp.c Signed-off-by: Martin Schwidefsky commit 361f494d4e62ee5f7a971bf34945deeb69392159 Author: Peter Tiedemann Date: Sat Jan 26 14:11:30 2008 +0100 [S390] usage of s390dbf: shrink number of debug areas to use. Signed-off-by: Peter Tiedemann commit 5c81cdbeff72e7fc2eb62ee5dc26197e54f9a06c Author: Jan Engelhardt Date: Sat Jan 26 14:11:29 2008 +0100 [S390] constify function pointer tables. Signed-off-by: Jan Engelhardt Signed-off-by: Martin Schwidefsky commit 894cdde26b538c77b9943bc72f0570abf6e58e37 Author: Hisashi Hifumi Date: Sat Jan 26 14:11:28 2008 +0100 [S390] do local_irq_restore while spinning in spin_lock_irqsave. In s390's spin_lock_irqsave, interrupts remain disabled while spinning. In other architectures like x86 and powerpc, interrupts are re-enabled while spinning if IRQ is not masked before spin_lock_irqsave is called. The following patch re-enables interrupts through local_irq_restore while spinning for a lock acquisition. This can improve system response. [heiko.carstens@de.ibm.com: removed saving of pc] Signed-off-by: Hisashi Hifumi Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit dab5209cd878c146d9f6923f061d1c2725ff210f Author: Carsten Otte Date: Sat Jan 26 14:11:27 2008 +0100 [S390] add smp_call_function_mask This patch adds the s390 variant for smp_call_function_mask(). The implementation is pretty straight forward using the wrapper __smp_call_function_map() which already takes a cpumask_t argument. Signed-off-by: Carsten Otte Signed-off-by: Martin Schwidefsky commit 7dc1da9ffae5a344f7115d019e2be069d3e1bb8d Author: Stefan Haberland Date: Sat Jan 26 14:11:26 2008 +0100 [S390] dasd: fix loop in request expiration handling Add time to the 'expires' value to avoid a loop caused by the cqr termination function Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 028fed8233b669e03def295a4e632b1b933720f9 Author: Martin Schwidefsky Date: Sat Jan 26 14:11:25 2008 +0100 [S390] Unused field / extern declaration in processor.h Remove extern declaration of non-existent last_task_used_math and remove unused field error_code from the thread_struct. Signed-off-by: Martin Schwidefsky commit 53360fb19672e9ca94d769694a18f46f6e0612a9 Author: WANG Cong Date: Sat Jan 26 14:11:24 2008 +0100 [S390] Remove TOPDIR from Makefile This patch removes TOPDIR from arch/s390/kernel/Makefile. Cc: Sam Ravnborg Signed-off-by: WANG Cong Signed-off-by: Martin Schwidefsky commit 8e09f21574ea3028d5629e5de759e0b196c690c5 Author: Stefan Weinhuber Date: Sat Jan 26 14:11:23 2008 +0100 [S390] dasd: add hyper PAV support to DASD device driver, part 1 Parallel access volumes (PAV) is a storage server feature, that allows to start multiple channel programs on the same DASD in parallel. It defines alias devices which can be used as alternative paths to the same disk. With the old base PAV support we only needed rudimentary functionality in the DASD device driver. As the mapping between base and alias devices was static, we just had to export an identifier (uid) and could leave the combining of devices to external layers like a device mapper multipath. Now hyper PAV removes the requirement to dedicate alias devices to specific base devices. Instead each alias devices can be combined with multiple base device on a per request basis. This requires full support by the DASD device driver as now each channel program itself has to identify the target base device. The changes to the dasd device driver and the ECKD discipline are: - Separate subchannel device representation (dasd_device) from block device representation (dasd_block). Only base devices are block devices. - Gather information about base and alias devices and possible combinations. - For each request decide which dasd_device should be used (base or alias) and build specific channel program. - Support summary unit checks, which allow the storage server to upgrade / downgrade between base and hyper PAV at runtime (support is mandatory). Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 0ac30be461084f30ad6e22c6b91347e880ed41aa Author: Roland McGrath Date: Sat Jan 26 14:11:22 2008 +0100 [S390] single-step cleanup Signed-off-by: Roland McGrath Signed-off-by: Martin Schwidefsky commit ea29ee16e6ea908c830e70516d440828fd9129a8 Author: Martin Schwidefsky Date: Sat Jan 26 14:11:21 2008 +0100 [S390] Move NOTES and BUG_TABLE. Move the NOTES and BUG_TABLE section in the linker script to the read-only sections right after the text section. Signed-off-by: Martin Schwidefsky commit 5d67d164e6e2e7310cf4b682c418d70d59295eaf Author: Joe Perches Date: Sat Jan 26 14:11:20 2008 +0100 [S390] drivers/s390/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Martin Schwidefsky commit 5800266a7811afeba205e771dcad79023331011b Author: Joe Perches Date: Sat Jan 26 14:11:19 2008 +0100 [S390] include/asm-s390/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Martin Schwidefsky commit c2e3bbac72d5a954bf60c5fabeb7c82ec310035e Author: Joe Perches Date: Sat Jan 26 14:11:18 2008 +0100 [S390] arch/s390/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Martin Schwidefsky commit 48657d223d403af676696d313b421368f5e2208a Author: Michael Holzheu Date: Sat Jan 26 14:11:17 2008 +0100 [S390] Use diag308 subcodes 3 and 6 for reboot and dump when possible. This patch fixes a problem with the following scenario: 1. Linux booted from DASD "A" 2. Reboot from DASD "B" using "/sys/firmware/reipl/ccw/device" 3. Reboot DASD "B" Without this patch in step 3 on newer s390 systems under LPAR instead of DASD "B", DASD "A" will be booted. The reason is that in step 2 we use CCW reipl and in step 3 we use DIAG308 (subcode 3) reipl. DIAG308 does not notice the CCW reipl and still thinks that it has to reboot DASD "A". Before applying this fix, ensure to have MCF RJ9967101E or z9 GA3 base driver installed. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit a2fd64d6aaf498756f700eb1d07818efee046733 Author: Christian Borntraeger Date: Sat Jan 26 14:11:16 2008 +0100 [S390] vmemmap: allocate struct pages before 1:1 mapping We have seen an oops in an OOM situation, where show_mem tried to access the struct page of a dcss segment. The vmemmap code has already created the 1:1 mapping but failed allocating the struct pages. In the OOM case, show_mem now walks the memory. It uses pfn_valid to detect if it may access the struct page. In the case described above, the mapping was established and pfn_valid returned true. As the struct pages were not allocated, the kernel oopsed. We have to ensure that we have created the struct pages, before we add a mapping pointing to the pages. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit d09293aee9fd0f9f291fa3a0e4ca5012f514d083 Author: Michael Holzheu Date: Sat Jan 26 14:11:15 2008 +0100 [S390] Initialize sclp_ipl_info The sclp ipl information has not been initialized. Therefore the ipl loadparm and the "has_dump" flag have not been set correctly. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 1cb6bb4bbdfd7b6bbdd148c4a34c02066339806d Author: Heiko Carstens Date: Sat Jan 26 14:11:14 2008 +0100 [S390] Allocate and free cpu lowcores and stacks when needed/possible. No need to preallocate the per cpu lowcores and stacks. Savings are 28-32k per offline cpu. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c11ca97ee9d2ed593ab7b5523def7787b46f398f Author: Denis Cheng Date: Sat Jan 26 14:11:13 2008 +0100 [S390] use LIST_HEAD instead of LIST_HEAD_INIT single list_head variable initialized with LIST_HEAD_INIT could almost always can be replaced with LIST_HEAD declaration, this shrinks the code and looks better. Signed-off-by: Denis Cheng Signed-off-by: Martin Schwidefsky commit c654749777e8624187b53fbb94cea91a7bf74347 Author: Michael Holzheu Date: Sat Jan 26 14:11:12 2008 +0100 [S390] Load disabled wait psw instead of stopping cpu on halt. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 99ca4e582d4a4088969681efff97be44d98421a1 Author: Michael Holzheu Date: Sat Jan 26 14:11:11 2008 +0100 [S390] kernel: Shutdown Actions Interface In case of a kernel panic it is currently possible to specify that a dump should be created, the system should be rebooted or stopped. Virtual sysfs files under the directory /sys/firmware/ are used for that configuration. In addition to that, there are kernel parameters 'vmhalt', 'vmpoff' and 'vmpanic', which can be used to specify z/VM commands, which are automatically executed in case of halt, power off or a kernel panic. This patch combines both functionalities and allows to specify the z/VM CP commands also via sysfs attributes. In addition to that, it enhances the existing handling of shutdown triggers (e.g. halt or panic) and associated shutdown actions (e.g. dump or reipl) and makes it more flexible. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit ceb3dfbae1d3faacaedfc64c913fd18cd3624f72 Author: Joe Perches Date: Sat Jan 26 14:11:10 2008 +0100 [S390] drivers/s390: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Martin Schwidefsky commit cfe7381cea542248766808e7de9a9e7bceecce1a Author: Joe Perches Date: Sat Jan 26 14:11:09 2008 +0100 [S390] arch/s390: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Martin Schwidefsky commit de3e0da1270bccb046885fbf1baa9140721de7e0 Author: Stefan Haberland Date: Sat Jan 26 14:11:08 2008 +0100 [S390] dasd: fix return value of dasd_generic_probe() Using the return value of ccw_device_set_online as return value for dasd_generic_probe() causes the DASD to fail setting online Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 3f5615e012b4593943bbc2a6c3ce150bb33e1966 Author: Jan Glauber Date: Sat Jan 26 14:11:07 2008 +0100 [S390] crypto: move s390 Kconfig options. Move s390 crypto Kconfig options to drivers/crypto/Kconfig to have all hardware crypto devices in one place. This also makes messing up the kernel source tree easier for some people. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 81ef16e763bb899053e06f6050603a305456a085 Author: Heiko Carstens Date: Sat Jan 26 14:11:06 2008 +0100 [S390] Remove appldata include from sysctl_check.c Forgot to remove this when removing the appldata binary sysctls. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 48483b3290988952a593c6e66ca354c19f1a4350 Author: Heiko Carstens Date: Sat Jan 26 14:11:05 2008 +0100 [S390] Get rid of additional_cpus kernel parameter. It caused only a lot of confusion. From now on cpu hotplug of up to NR_CPUS will work by default. If somebody wants to limit that then the possible_cpus parameter can be used. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 519580fc179be6d06a40edd918747bd5f0e1b899 Author: Heiko Carstens Date: Sat Jan 26 14:11:04 2008 +0100 [S390] Use new style spinlock initializer in __RWSEM_INITIALIZER. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 3b4beb31759765efdda9f9431aebfedf828bbfe0 Author: Heiko Carstens Date: Sat Jan 26 14:11:03 2008 +0100 [S390] Remove owner_pc member from raw_spinlock_t. Used to contain the address of the holder of the lock. But since the spinlock code is not inlined anymore all locks contain the same address anyway. And since in addtition nobody complained about that for ages its obviously unused. So remove it. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9f4b0ba81f158df459fa2cfc98ab1475c090f29c Author: Heiko Carstens Date: Sat Jan 26 14:11:02 2008 +0100 [S390] Get rid of HOLES_IN_ZONE requirement. Align everything to MAX_ORDER so we can get rid of the extra checks. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5c699714d01ac358c58be9943234081b36b69cdd Author: Heiko Carstens Date: Sat Jan 26 14:11:01 2008 +0100 [S390] Print kernel version in dump_stack() and show_regs(). Also print PREEMPT and/or SMP if the kernel was configured that way. Makes s390 look a bit more like other architectures. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5fd9c6e214547a32d3da6ee4284c79004d667bc8 Author: Christian Borntraeger Date: Sat Jan 26 14:11:00 2008 +0100 [S390] Change vmalloc defintions Currently the vmalloc area starts at a dynamic address depending on the memory size. There was also an 8MB security hole after the physical memory to catch out-of-bounds accesses. We can simplify the code by putting the vmalloc area explicitely at the top of the kernel mapping and setting the vmalloc size to a fixed value of 128MB/128GB for 31bit/64bit systems. Part of the vmalloc area will be used for the vmem_map. This leaves an area of 96MB/1GB for normal vmalloc allocations. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 8ffd74a0924e4e04f6455eb2d2187a9564678d01 Author: Martin Schwidefsky Date: Sat Jan 26 14:10:59 2008 +0100 [S390] Avoid warnings in tlblush.h Signed-off-by: Martin Schwidefsky commit 6f457e1a149eb39ee58d51913e8023fc27c52806 Author: Martin Schwidefsky Date: Sat Jan 26 14:10:58 2008 +0100 [S390] Fix tlb flushing with idte. The clear-by-asce operation of the idte instruction gets an asce (address-space-control-element) as argument to specify which TLBs need to get flushed. The current code passes a plain pointer to the start of the pgd without the additional bits which would make the pointer an asce. The current machines don't mind the difference but a future model might want to use the designation type control bits in the asce as a filter for the TLBs to flush. Signed-off-by: Martin Schwidefsky commit 4b28a8fe78bd593cdc4454cf28af71ca9556914d Author: Heiko Carstens Date: Sat Jan 26 14:10:57 2008 +0100 [S390] sclp: convert channel path configure code to use sync interface. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 08d07968277cd898c88bf12b7720d89c02c4f139 Author: Heiko Carstens Date: Sat Jan 26 14:10:56 2008 +0100 [S390] Standby cpu activation/deactivation. Add a new interface so that cpus can be put into standby state and configured state. Only offline cpus can be put into standby state or configured state. For that the new percpu sysfs attribute "configure" must be used. To put a cpu in standby state a "0" must be written to the attribute. In order to switch it into configured state a "1" must be written to the attribute. Only cpus in configured state can be brought online. In addition this patch introduces a static mapping of physical to logical cpus. As a result only the sysfs directories of present cpus will be created. To scan for new cpus the new sysfs attribute "rescan" must be used. Writing to /sys/devices/system/cpu/rescan will trigger a rescan of cpus and will create directories for new cpus. On IPL only configured cpus will be used. And on reboot/shutdown all cpus will remain in their current state (configured/standby). Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c05ffc4f2b208da8ba7d3a9b5ab886c76f8939b5 Author: Michael Ernst Date: Sat Jan 26 14:10:55 2008 +0100 [S390] sclp: sysfs interface for SCLP cpi Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky commit dfa77f611ff295598e218aa0eb6efa73a5cf26d0 Author: Ursula Braun Date: Sat Jan 26 14:10:54 2008 +0100 [S390] qdio: set QDIO_ACTIVATE_TIMEOUT to 5s Current definition of QDIO_ACTIVATE_TIMEOUT results in value 0. Thus it may cause endless wait in function qdio_activate(). Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 8d08be928eb9e90f1456d34aa0712fa9038674e0 Author: Sebastian Ott Date: Sat Jan 26 14:10:53 2008 +0100 [S390] qdio: Remove double checked value. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 90ab133603d066e850fc9ed297b6eb52f888dd25 Author: Peter Oberparleiter Date: Sat Jan 26 14:10:52 2008 +0100 [S390] cio: introduce timed recovery procedure Add a timed recovery procedure to reactivate ccw devices in cases where HW/VM events are not sufficient to allow for proper recovery of reappearing channel paths. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 808e48882316dd4a325cd1cc382516945edad77d Author: Michael Ernst Date: Sat Jan 26 14:10:51 2008 +0100 [S390] cio: memory leak in cio processing Allocated kernel memory for locks is not freed in case of subchannel found to be invalid. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky commit 1a908c735aed44c8bbed303371202e416813b271 Author: Cornelia Huck Date: Sat Jan 26 14:10:50 2008 +0100 [S390] cio: Fix ungroup vs. machine check race in ccwgroup. There are two ways for a ccwgroup device to be unregistered: Via the ungroup attribute, or when on of the slave devices is killed by a machine check. As we have to unregister the ccwgroup device via a callback, we'll now have to check whether it hasn't been already unregistered because of a machine check. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 46258ab5e42eed5cbe20a83b732d6538c49ea2fe Author: Cornelia Huck Date: Sat Jan 26 14:10:49 2008 +0100 [S390] cio: Delete timer in ccw_device_verify_done(). Make sure pending timers are always deleted, even if we don't go through ccw_device_done(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit e82a1567e4b22eb035da2499d20ddd573c9acf75 Author: Peter Oberparleiter Date: Sat Jan 26 14:10:48 2008 +0100 [S390] cio: reduce cpu utilization during device scan Minimize calls to cpu intensive function get_subchannel_by_schid() by introducing function for_each_subchannel_staged() which temporarily caches the information about registered subchannels in a bitmap. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 4beee64685e116b01c47655daf6d88df87e053c8 Author: Cornelia Huck Date: Sat Jan 26 14:10:47 2008 +0100 [S390] cio: Set driver->owner on css, ccw and ccwgroup busses. Set the owner field in the embedded struct device_driver to the value provided in the {css,ccw,ccwgroup}_driver. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit db6a64238a927777e6e7b251927313f186455b1c Author: Cornelia Huck Date: Sat Jan 26 14:10:46 2008 +0100 [S390] cio: Use dev_{g,s}et_drvdata(). Also define helpers sch_{g,s}et_cdev() to make the intention more clear. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit b279a4f56d5476a0b9b0a97397f7a7bbe00b9b2f Author: Cornelia Huck Date: Sat Jan 26 14:10:45 2008 +0100 [S390] cio: I/O subchannel specific fields. Some fields may be !0 only for I/O subchannels. Add some checks where required. Also adapt cio_enable_subchannel() to make the caller specify the intparm, which makes it more generic. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 4e8e56c6713398f417317d449f50c08bf2756c66 Author: Peter Oberparleiter Date: Sat Jan 26 14:10:44 2008 +0100 [S390] cio: Extend adapter interrupt interface. From: Cornelia Huck Change the adapter interrupt interface in order to allow multiple adapter interrupt handlers to be registered. Indicators are now allocated by cio instead of the device driver. The qdio parts have been Acked-by: Ursula Braun Signed-off-by: Peter Oberparleiter Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit cd6b4f27b9bb2a6a5ec82b96b87c85421257be6c Author: Cornelia Huck Date: Sat Jan 26 14:10:43 2008 +0100 [S390] cio: Introduce subchannel->private. Introduce a private pointer in struct subchannel to store per-subchannel type data (cannot use dev->priv since this is already used for something else). Create a new header io_sch.h for I/O subchannel specific structures and instructions. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit bc698bcf8897363732226dc9ecba044771679996 Author: Cornelia Huck Date: Sat Jan 26 14:10:42 2008 +0100 [S390] cio: Cleanup debug feature usage. Cleanup cio_debug.h. Also make CIO_DEBUG add the "cio:" prefix to the printk string so that it isn't needed for the debug feature. Fix outdated comments for cio_debug_init() and clean it up. Enlarge cio_crw to the same size as cio_msg so we may actually find some relevant information there. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 25b7bb5838ab81b68a9de72df577103d8b4aba3c Author: Cornelia Huck Date: Sat Jan 26 14:10:41 2008 +0100 [S390] cio: Add css_driver_{register,unregister}. Add wrapper functions for driver_register and driver_unregister so that css drivers don't need to muck with struct device_driver directly. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 98c13c283a4e8b7f844f1f470abd7c756248fcc4 Author: Cornelia Huck Date: Sat Jan 26 14:10:40 2008 +0100 [S390] cio: Reset sch->driver. sch->driver needs to be reset to NULL on failed probe and after remove. We also need to check for sch->driver on shutdown. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 602b20f2bf335d0d5fce11cb2ade22aa74e7ba25 Author: Cornelia Huck Date: Sat Jan 26 14:10:39 2008 +0100 [S390] cio: css_driver: Use consistent parameters. Make all callbacks in css_driver take a struct subchannel (and not a struct device). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 084325d80418adf4d75b10a9ceff1348f2e09163 Author: Cornelia Huck Date: Sat Jan 26 14:10:38 2008 +0100 [S390] cio: Use helpers instead of container_of(). - Introduce to_cssdriver. - Use to_xxx instead of container_of where possible. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 14ff56bbb3422cc465a12e81f5e1b5f06168aeda Author: Sebastian Ott Date: Sat Jan 26 14:10:37 2008 +0100 [S390] cio: Dump ccw device information in case of timeout. Information about a ccw device will be dumped in case of a ccw timeout. This can be enabled with the kernel parameter ccw_timeout_log. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 661ca0da3e1fa60c9e56f995fd83772ffa9ffe90 Author: Sebastian Ott Date: Sat Jan 26 14:10:36 2008 +0100 [S390] Cleanup in Documentation/kernel-parameters.txt. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 9b73e76f3cf63379dcf45fcd4f112f5812418d0a Merge: 50d9a12... 23c3e29... Author: Linus Torvalds Date: Fri Jan 25 17:19:08 2008 -0800 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: (200 commits) [SCSI] usbstorage: use last_sector_bug flag universally [SCSI] libsas: abstract STP task status into a function [SCSI] ultrastor: clean up inline asm warnings [SCSI] aic7xxx: fix firmware build [SCSI] aacraid: fib context lock for management ioctls [SCSI] ch: remove forward declarations [SCSI] ch: fix device minor number management bug [SCSI] ch: handle class_device_create failure properly [SCSI] NCR5380: fix section mismatch [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices [SCSI] IB/iSER: add logical unit reset support [SCSI] don't use __GFP_DMA for sense buffers if not required [SCSI] use dynamically allocated sense buffer [SCSI] scsi.h: add macro for enclosure bit of inquiry data [SCSI] sd: add fix for devices with last sector access problems [SCSI] fix pcmcia compile problem [SCSI] aacraid: add Voodoo Lite class of cards. [SCSI] aacraid: add new driver features flags [SCSI] qla2xxx: Update version number to 8.02.00-k7. [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command. ... commit b1aa5301b9f88a4891061650c591fb8fe1c1d1da Author: Stephen Smalley Date: Fri Jan 25 13:03:42 2008 -0500 selinux: fix labeling of /proc/net inodes The proc net rewrite had a side effect on selinux, leading it to mislabel the /proc/net inodes, thereby leading to incorrect denials. Fix security_genfs_sid to ignore extra leading / characters in the path supplied by selinux_proc_get_sid since we now get "//net/..." rather than "/net/...". Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 50d9a126240f9961cfdd063336bbeb91f77a7dce Merge: 29bd17a... 946fef4... Author: Linus Torvalds Date: Fri Jan 25 17:15:23 2008 -0800 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] hifn795x: Disallow built-in hifn795x when HW_RANDOM is m commit 29bd17af7d8ffc16bb5eb286947495c166ea826e Merge: 2ba14a0... 2fe5c1d... Author: Linus Torvalds Date: Fri Jan 25 17:11:13 2008 -0800 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: (31 commits) ocfs2: clean up bh null checks ocfs2: document access rules for blocked_lock_list configfs: file.c fix possible recursive locking configfs: dir.c fix possible recursive locking configfs: Remove EXPERIMENTAL ocfs2: bump version number ocfs2/dlm: Clear joining_node on hearbeat node down ocfs2: convert byte order of constant instead of variable ocfs2: Update default cluster timeouts ocfs2: printf fixes ocfs2: Use generic_file_llseek ocfs2: Safer read_inline_data() ocfs2: Silence false lockdep warnings [PATCH 2/2] ocfs2: cluster aware flock() [PATCH 1/2] ocfs2: add flock lock type ocfs2: Local alloc window size changeable via mount option ocfs2: Support commit= mount option ocfs2: Add missing permission checks [PATCH 2/2] ocfs2: Implement group add for online resize [PATCH 1/2] ocfs2: Add group extend for online resize ... commit 2ba14a017a4ba8d2266316f481d4ad7400073d18 Merge: 99f1c97... a984f58... Author: Linus Torvalds Date: Fri Jan 25 17:08:28 2008 -0800 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: (67 commits) fix drivers/ata/sata_fsl.c double-decl [libata] Prefer SCSI_SENSE_BUFFERSIZE to sizeof() pata_legacy: Merge winbond support ata_generic: Cenatek support pata_winbond: error return pata_serverworks: Fix cable types and cosmetics pata_mpc52xx: remove un-needed assignment libata: fix off-by-one in error categorization ahci: factor out AHCI enabling and enable AHCI before reading CAP ata_piix: implement SIDPR SCR access ata_piix: convert to prepare - activate initialization libata: factor out ata_pci_activate_sff_host() from ata_pci_one() [libata] Prefer SCSI_SENSE_BUFFERSIZE to sizeof() pata_legacy: resychronize with upstream changes and resubmit [libata] pata_legacy: typo fix [libata] pata_winbond: update for new ->data_xfer hook pata_pcmcia: convert to new data_xfer prototype libata annotations and fixes libata: use dev_driver_string() instead of "libata" in libata-sff.c ata_piix: kill unused constants and flags ... commit 2fe5c1d7eb88830b09c863a4b5b3279dc120f3af Author: Mark Fasheh Date: Wed Jan 23 18:35:31 2008 -0800 ocfs2: clean up bh null checks If we know a buffer_head is non-null, then brelse() is unnecessary and put_bh() can be used instead. Also, an explicit check for NULL is unnecessary when using brelse(). This patch only covers buffer_head_io.c and resize.c, which have recently added code which exhibits this problem. Signed-off-by: Mark Fasheh commit 7ec373cf33533af6c50828a62f6b305c2d7fa931 Author: Mark Fasheh Date: Wed Jan 23 16:54:48 2008 -0800 ocfs2: document access rules for blocked_lock_list ocfs2_super->blocked_lock_list and ocfs2_super->blocked_lock_count have some usage restrictions which aren't immediately obvious to anyone reading the code. It's a good idea to document this so that we avoid making costly mistakes in the future. Signed-off-by: Mark Fasheh commit 116ba5d5ea1a5789a8c14b1087014007cada363b Author: Joonwoo Park Date: Wed Dec 26 12:09:57 2007 +0900 configfs: file.c fix possible recursive locking configfs_register_subsystem() with default_groups triggers recursive locking. it seems that mutex_lock_nested is needed. ============================================= [ INFO: possible recursive locking detected ] 2.6.24-rc6 #145 --------------------------------------------- swapper/1 is trying to acquire lock: (&sb->s_type->i_mutex_key#3){--..}, at: [] configfs_add_file+0x2e/0x70 but task is already holding lock: (&sb->s_type->i_mutex_key#3){--..}, at: [] configfs_register_subsystem+0x55/0x130 other info that might help us debug this: 1 lock held by swapper/1: #0: (&sb->s_type->i_mutex_key#3){--..}, at: [] configfs_register_subsystem+0x55/0x130 stack backtrace: Pid: 1, comm: swapper Not tainted 2.6.24-rc6 #145 [] show_trace_log_lvl+0x1a/0x30 [] show_trace+0x12/0x20 [] dump_stack+0x6e/0x80 [] __lock_acquire+0xe62/0x1120 [] lock_acquire+0x82/0xa0 [] mutex_lock_nested+0x98/0x2e0 [] configfs_add_file+0x2e/0x70 [] configfs_create_file+0x2c/0x40 [] configfs_attach_item+0x139/0x220 [] configfs_attach_group+0x14/0x140 [] configfs_attach_group+0xc9/0x140 [] configfs_register_subsystem+0xc6/0x130 [] init_netconsole+0x2b6/0x300 [] kernel_init+0x142/0x320 [] kernel_thread_helper+0x7/0x14 ======================= Signed-off-by: Joonwoo Park Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit ba611edfe406be745be95c332990c8e908c026c3 Author: Joonwoo Park Date: Wed Dec 26 12:09:57 2007 +0900 configfs: dir.c fix possible recursive locking configfs_register_subsystem() with default_groups triggers recursive locking. it seems that mutex_lock_nested is needed. ============================================= [ INFO: possible recursive locking detected ] 2.6.24-rc6 #141 --------------------------------------------- swapper/1 is trying to acquire lock: (&sb->s_type->i_mutex_key#3){--..}, at: [] configfs_attach_group+0x4f/0x190 but task is already holding lock: (&sb->s_type->i_mutex_key#3){--..}, at: [] configfs_register_subsystem+0x55/0x130 other info that might help us debug this: 1 lock held by swapper/1: #0: (&sb->s_type->i_mutex_key#3){--..}, at: [] configfs_register_subsystem+0x55/0x130 stack backtrace: Pid: 1, comm: swapper Not tainted 2.6.24-rc6 #141 [] show_trace_log_lvl+0x1a/0x30 [] show_trace+0x12/0x20 [] dump_stack+0x6e/0x80 [] __lock_acquire+0xe62/0x1120 [] lock_acquire+0x82/0xa0 [] mutex_lock_nested+0x98/0x2e0 [] configfs_attach_group+0x4f/0x190 [] configfs_register_subsystem+0xc6/0x130 [] init_netconsole+0x2b6/0x300 [] kernel_init+0x142/0x320 [] kernel_thread_helper+0x7/0x14 ======================= Signed-off-by: Joonwoo Park Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 02ac0499c0e3c62f2e2bf61a13870b36ea103564 Author: Joel Becker Date: Mon Dec 31 13:56:47 2007 -0800 configfs: Remove EXPERIMENTAL configfs has been alive and kicking for a while now. It underpins some non-EXPERIMENTAL subsystems, such as OCFS2's cluster stack. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 0e5ae032030387bf0926aa980f2105646ead2b47 Author: Mark Fasheh Date: Tue Nov 6 15:52:58 2007 -0800 ocfs2: bump version number Bump the printed version to 1.5.0. This helps us quickly identify which version of Ocfs2 a bug filer is running. Signed-off-by: Mark Fasheh commit 2d4b1cbb44f5557727c35895a83f82d023573fa9 Author: Tao Ma Date: Thu Jan 10 15:20:55 2008 +0800 ocfs2/dlm: Clear joining_node on hearbeat node down Currently the process of dlm join contains 2 steps: query join and assert join. After query join, the joined node will set its joining_node. So if the joining node happens to panic before the 2nd step, the joined node will fail to clear its joining_node flag because that node isn't in the domain map. It at least cause 2 problems. 1. All the new join request will fail. So no new node can mount the volume. 2. The joined node can't umount the volume since during the umount process it has to wait for the joining_node to be unknown. So the umount will be hanged. The solution is to clear the joining_node before we check the domain map. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 4092d49f705aa19750c39758fa1be767e162c48d Author: Marcin Slusarz Date: Tue Dec 25 15:52:59 2007 +0100 ocfs2: convert byte order of constant instead of variable Convert byte order of constant instead of variable it will be done at compile time vs run time. Remove unused le32_and_cpu. Signed-off-by: Marcin Slusarz Signed-off-by: Mark Fasheh commit 17104683d262fc6ab58488c4a3f0415012acc636 Author: Sunil Mushran Date: Tue Nov 6 16:10:23 2007 -0800 ocfs2: Update default cluster timeouts Lots of people are having trouble with the default timeouts, which are too low. These new values are derived from an informal survey taken on ocfs2-users, as well as data from bug reports. This should reduce the amount of cluster disconnects and subsequent fencing seen during normal workloads. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 634bf74d1e8a8d06727505ea4eb73e780d7aa246 Author: Jan Kara Date: Wed Dec 19 15:25:42 2007 +0100 ocfs2: printf fixes Explicitely convert loff_t to long long in printf. Just for sure... Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 32c3c0e2e515197ad240f5104116254975e6bbce Author: Jan Kara Date: Wed Dec 19 15:24:52 2007 +0100 ocfs2: Use generic_file_llseek We should use generic_file_llseek() and not default_llseek() so that s_maxbytes gets properly checked when seeking. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit d2849fb294d92d6eee0a811c688f1ecb39d26800 Author: Jan Kara Date: Wed Dec 19 15:24:09 2007 +0100 ocfs2: Safer read_inline_data() In ocfs2_read_inline_data() we should store file size in loff_t. Although the file size should fit in 32 bits we cannot be sure in case filesystem is corrupted. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 5fa0613ea58a80f69852b242337121bd39dc798e Author: Jan Kara Date: Fri Jan 11 00:11:45 2008 +0100 ocfs2: Silence false lockdep warnings Create separate lockdep lock classes for system file's i_mutexes. They are used to guard allocations and similar things and thus rank differently than i_mutex of a regular file or directory. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 53fc622b9e829c8e632e45ef8c14f054388759c1 Author: Mark Fasheh Date: Thu Dec 20 16:49:04 2007 -0800 [PATCH 2/2] ocfs2: cluster aware flock() Hook up ocfs2_flock(), using the new flock lock type in dlmglue.c. A new mount option, "localflocks" is added so that users can revert to old functionality as need be. Signed-off-by: Mark Fasheh commit cf8e06f1a860d8680d6bb4ac8ec7d7724988e46f Author: Mark Fasheh Date: Thu Dec 20 16:43:10 2007 -0800 [PATCH 1/2] ocfs2: add flock lock type This adds a new dlmglue lock type which is intended to back flock() requests. Since these locks are driven from userspace, usage rules are much more liberal than the typical Ocfs2 internal cluster lock. As a result, we can't make use of most dlmglue features - lock caching and lock level optimizations in particular. Additionally, userspace is free to deadlock itself, so we have to deal with that in the same way as the rest of the kernel - by allowing a signal to abort a lock request. In order to keep ocfs2_cluster_lock() complexity down, ocfs2_file_lock() does it's own dlm coordination. We still use the same helper functions though, so duplicated code is kept to a minimum. Signed-off-by: Mark Fasheh commit 2fbe8d1ebe004425b4f7b8bba345623d2280be82 Author: Sunil Mushran Date: Thu Dec 20 14:58:11 2007 -0800 ocfs2: Local alloc window size changeable via mount option Local alloc is a performance optimization in ocfs2 in which a node takes a window of bits from the global bitmap and then uses that for all small local allocations. This window size is fixed to 8MB currently. This patch allows users to specify the window size in MB including disabling it by passing in 0. If the number specified is too large, the fs will use the default value of 8MB. mount -o localalloc=X /dev/sdX /mntpoint Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit d147b3d630edef1d34de6ea819787a1ac1b8603b Author: Mark Fasheh Date: Wed Nov 7 14:40:36 2007 -0800 ocfs2: Support commit= mount option Mostly taken from ext3. This allows the user to set the jbd commit interval, in seconds. The default of 5 seconds stays the same, but now users can easily increase the commit interval. Typically, this would be increased in order to benefit performance at the expense of data-safety. Signed-off-by: Mark Fasheh commit 0957f00796157564281ea6ff2cea7ef4f897775a Author: Mark Fasheh Date: Tue Dec 18 18:58:18 2007 -0800 ocfs2: Add missing permission checks Check that an online resize is being driven by a user with permission to change system resource limits. Signed-off-by: Mark Fasheh commit 7909f2bf835376a20d6dbf853eb459a27566eba2 Author: Tao Ma Date: Tue Dec 18 15:47:25 2007 +0800 [PATCH 2/2] ocfs2: Implement group add for online resize This patch adds the ability for a userspace program to request that a properly formatted cluster group be added to the main allocation bitmap for an Ocfs2 file system. The request is made via an ioctl, OCFS2_IOC_GROUP_ADD. On a high level, this is similar to ext3, but we use a different ioctl as the structure which has to be passed through is different. During an online resize, tunefs.ocfs2 will format any new cluster groups which must be added to complete the resize, and call OCFS2_IOC_GROUP_ADD on each one. Kernel verifies that the core cluster group information is valid and then does the work of linking it into the global allocation bitmap. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit d659072f736837e56b6433d58e5315ad1d4d5ccf Author: Tao Ma Date: Tue Dec 18 15:47:03 2007 +0800 [PATCH 1/2] ocfs2: Add group extend for online resize This patch adds the ability for a userspace program to request an extend of last cluster group on an Ocfs2 file system. The request is made via ioctl, OCFS2_IOC_GROUP_EXTEND. This is derived from EXT3_IOC_GROUP_EXTEND, but is obviously Ocfs2 specific. tunefs.ocfs2 would call this for an online-resize operation if the last cluster group isn't full. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 23c3e290fb9ce38cabc2822b47583fc8702411bf Author: Hans de Goede Date: Sun Jan 20 11:27:29 2008 +0100 [SCSI] usbstorage: use last_sector_bug flag universally This patch sets the last_sector_bug flag to 1 for all USB disks. This is needed to makes the cardreader on various HP multifunction printers work. Since the performance impact is negible we set this flag for all USB disks to avoid an unusual_devs.h nightmare. Signed-off-by: Hans de Goede Acked-by: Matthew Dharm Signed-off-by: James Bottomley commit 7f68fc28219be3b44ef4132f95c6506ff3e806b5 Author: Tao Ma Date: Tue Dec 18 15:46:37 2007 +0800 ocfs2: Reserve ioctl range We need to reserve at least two ioctls for online-resize. Reserve a small range of ioctls for Ocfs2 use in Documentation/ioctl-number.txt. This should give us enough room for future growth. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit e9d578a8f279d5e7d1e903f436aefc76ba330b43 Author: Tao Ma Date: Tue Dec 18 15:46:10 2007 +0800 ocfs2: Initalize bitmap_cpg of ocfs2_super to be the maximum. This value is initialized from global_bitmap->id2.i_chain.cl_cpg. If there is only 1 group, it will be equal to the total clusters in the volume. So as for online resize, it should change for all the nodes in the cluster. It isn't easy and there is no corresponding lock for it. bitmap_cpg is only used in 2 areas: 1. Check whether the suballoc is too large for us to allocate from the global bitmap, so it is little used. And now the suballoc size is 2048, it rarely meet this situation and the check is almost useless. 2. Calculate which group a cluster belongs to. We use it during truncate to figure out which cluster group an extent belongs too. But we should be OK if we increase it though as the cluster group calculated shouldn't change and we only ever have a small bitmap_cpg on file systems with a single cluster group. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 946fef4e14ebc2f14ab05f54789843621fe87f60 Author: Herbert Xu Date: Sat Jan 26 09:48:44 2008 +1100 [CRYPTO] hifn795x: Disallow built-in hifn795x when HW_RANDOM is m Currently it is possible to select HW_RANDOM as a module and have hifn795x built-in. This causes a build problem because hifn795x will then call hwrng_register which isn't built-in. This patch introduces a new config option to control the hifn795x RNG which lets us avoid this problem. Signed-off-by: Herbert Xu commit 1252c434e39dc60ca9e8ed682f3e04930e2c08de Author: Mark Fasheh Date: Tue Oct 30 12:09:03 2007 -0700 ocfs2: Documentation update Remove 'readpages' from the list in ocfs2.txt. Instead of having two identical lists, I just removed the list in the OCFS2 section of fs/Kconfig and added a pointer to Documentation/filesystems/ocfs2.txt. Signed-off-by: Mark Fasheh commit 628a24f5bdf31b795d596eaed71670579b96a9aa Author: Mark Fasheh Date: Tue Oct 30 12:08:32 2007 -0700 ocfs2: Readpages support Add ->readpages support to Ocfs2. This is rather trivial - all it required is a small update to ocfs2_get_block (for mapping full extents via b_size) and an ocfs2_readpages() function which partially mirrors ocfs2_readpage(). Signed-off-by: Mark Fasheh commit d69a3ad6a0e47b2aa9b2b2ddfd385752132a4d34 Author: Joel Becker Date: Fri Oct 5 14:31:44 2007 -0700 dlm: Split lock mode and flag constants into a sharable header. This allows others to use the DLM constants without being tied to the function API of fs/dlm. Signed-off-by: Joel Becker Signed-off-by: Steven Whitehouse Signed-off-by: David Teigland Signed-off-by: Mark Fasheh commit e63aecb651ba73dffc62f9608ee1b7ae2a0ffd4b Author: Mark Fasheh Date: Thu Oct 18 15:30:42 2007 -0700 ocfs2: Rename ocfs2_meta_[un]lock Call this the "inode_lock" now, since it covers both data and meta data. This patch makes no functional changes. Signed-off-by: Mark Fasheh commit c934a92d05b549dd2f25db72c5fc3cb9dcf1b611 Author: Mark Fasheh Date: Thu Oct 18 15:23:46 2007 -0700 ocfs2: Remove data locks The meta lock now covers both meta data and data, so this just removes the now-redundant data lock. Combining locks saves us a round of lock mastery per inode and one less lock to ping between nodes during read/write. We don't lose much - since meta locks were always held before a data lock (and at the same level) ordered writeout mode (the default) ensured that flushing for the meta data lock also pushed out data anyways. Signed-off-by: Mark Fasheh commit f1f540688eae66c274ff1c1133b5d9c687b28f58 Author: Mark Fasheh Date: Thu Oct 18 15:13:59 2007 -0700 ocfs2: Add data downconvert worker to inode lock In order to extend inode lock coverage to inode data, we use the same data downconvert worker with only a small modification to only do work for regular files. Signed-off-by: Mark Fasheh commit 34d024f84345807bf44163fac84e921513dde323 Author: Mark Fasheh Date: Mon Sep 24 15:56:19 2007 -0700 ocfs2: Remove mount/unmount votes The node maps that are set/unset by these votes are no longer relevant, thus we can remove the mount and umount votes. Since those are the last two remaining votes, we can also remove the entire vote infrastructure. The vote thread has been renamed to the downconvert thread, and the small amount of functionality related to managing it has been moved into fs/ocfs2/dlmglue.c. All references to votes have been removed or updated. Signed-off-by: Mark Fasheh commit 99f1c97dbdb30e958edfd1ced0ae43df62504e07 Merge: b31fde6... 8176d29... Author: Linus Torvalds Date: Fri Jan 25 14:41:24 2008 -0800 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: (81 commits) RDMA/cxgb3: Fix the T3A workaround checks IB/ipath: Remove unnecessary cast IPoIB: Constify seq_operations function pointer tables RDMA/cxgb3: Mark QP as privileged based on user capabilities RDMA/cxgb3: Fix page shift calculation in build_phys_page_list() RDMA/cxgb3: Flush the receive queue when closing IB/ipath: Trivial simplification of ipath_make_ud_req() IB/mthca: Update latest "native Arbel" firmware revision IPoIB: Remove redundant check of netif_queue_stopped() in xmit handler IB/ipath: Add mappings from HW register to PortInfo port physical state IB/ipath: Changes to support PIO bandwidth check on IBA7220 IB/ipath: Minor cleanup of unused fields and chip-specific errors IB/ipath: New sysfs entries to control 7220 features IB/ipath: Add new chip-specific functions to older chips, consistent init IB/ipath: Remove unused MDIO interface code IB/ehca: Prevent RDMA-related connection failures on some eHCA2 hardware IB/ehca: Add "port connection autodetect mode" IB/ehca: Define array to store SMI/GSI QPs IB/ehca: Remove CQ-QP-link before destroying QP in error path of create_qp() IB/iser: Add change_queue_depth method ... commit 6f7b056ea9c6fa978c79ca626eff43549df94dbb Author: Mark Fasheh Date: Mon Sep 24 15:09:41 2007 -0700 ocfs2: Remove fs dependency on ocfs2_heartbeat module Now that the dlm exposes domain information to us, we don't need generic node up / node down callbacks. And since the DLM is only telling us when a node goes down unexpectedly, we no longer need to optimize away node down callbacks via the umount map. Signed-off-by: Mark Fasheh commit 6561168cb442be8d2769dce663870b6a28573e16 Author: Mark Fasheh Date: Fri Sep 7 11:11:10 2007 -0700 ocfs2_dlm: Call node eviction callbacks from heartbeat handler With this, a dlm client can take advantage of the group protocol in the dlm to get full notification whenever a node within the dlm domain leaves unexpectedly. Signed-off-by: Mark Fasheh commit 8176d297c73a06e6076c9c31f6404047567f6324 Author: Steve Wise Date: Thu Jan 24 16:30:16 2008 -0600 RDMA/cxgb3: Fix the T3A workaround checks Correctly work around T3A issues by checking "hwtype != T3A" instead of "hwtype == T3B". This will be needed for new hardware types. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit f7fca1e8a8eeb6660396327b48995e3d9a7b6dc2 Author: Jan Engelhardt Date: Tue Jan 22 20:45:30 2008 +0100 IB/ipath: Remove unnecessary cast Signed-off-by: Jan Engelhardt Signed-off-by: Roland Dreier commit 1cf18d5aab5144866cb5221250905623b03a32a9 Author: Jan Engelhardt Date: Tue Jan 22 20:45:30 2008 +0100 IPoIB: Constify seq_operations function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Roland Dreier commit c6b5b5047417c1becb5e48e748e3acb3801079a1 Author: Steve Wise Date: Mon Jan 21 14:42:13 2008 -0600 RDMA/cxgb3: Mark QP as privileged based on user capabilities This is needed to support zero-stag properly. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit d08ca26ceec4dfbcfdbada4ad728db742ccaecd1 Author: Steve Wise Date: Mon Jan 21 14:42:11 2008 -0600 RDMA/cxgb3: Fix page shift calculation in build_phys_page_list() The existing logic incorrectly maps this buffer list: 0: addr 0x10001000, size 0x1000 1: addr 0x10002000, size 0x1000 To this bogus page list: 0: 0x10000000 1: 0x10002000 The shift calculation must also take into account the address of the first entry masked by the page_mask as well as the last address+size rounded up to the next page size. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 856b5925047d73a85557203d124d62c5eea1fbd3 Author: Steve Wise Date: Mon Jan 21 14:42:09 2008 -0600 RDMA/cxgb3: Flush the receive queue when closing - for kernel mode cqs, call event notification handler when flushing. - flush QP when moving from RTS -> CLOSING. - fix logic to identify a kernel mode qp. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 4e1e93a4189a98cfb0e24865f7f44470ae5f805e Author: Ralph Campbell Date: Fri Jan 25 14:17:44 2008 -0800 IB/ipath: Trivial simplification of ipath_make_ud_req() Move the increment of s_hdrwords into the existing if block that tests if we're doing a send with immediate, to save one test of the opcode. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 950529e5c6efda8a6d3090a8fef9b904c833397a Author: Roland Dreier Date: Fri Jan 25 14:17:44 2008 -0800 IB/mthca: Update latest "native Arbel" firmware revision Signed-off-by: Roland Dreier commit 48fe5e594c979177b7f20affd027be56e8ea2767 Author: Krishna Kumar Date: Thu Nov 15 10:35:37 2007 +0530 IPoIB: Remove redundant check of netif_queue_stopped() in xmit handler qdisc_run() now tests for queue_stopped() before calling __qdisc_run(), and the same check is done in every iteration of __qdisc_run(), so another check is not required in the driver xmit. This means that ipoib_start_xmit() no longer needs to test netif_queue_stopped(); the test was added to fix earlier kernels, where the networking stack did not guarantee that the xmit method of an LLTX driver would not be called after the queue was stopped, but current kernels do provide this guarantee. To validate, I put a debug in the TX_BUSY path which never hit with 64 threads running overnight exercising this code a few 100 million times. Signed-off-by: Krishna Kumar Signed-off-by: Roland Dreier commit 3d68ea32611095c7e09409ac1b2a56da22fd5eb7 Author: Ralph Campbell Date: Thu Jan 10 00:50:41 2008 -0800 IB/ipath: Add mappings from HW register to PortInfo port physical state Add new mappings from port physical state (a HW register value) to the IB SubnGet(PortInfo) port physical state. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6ac50727bda29e961385e4c40318dadbb5730193 Author: Dave Olson Date: Thu Aug 9 03:11:38 2007 -0700 IB/ipath: Changes to support PIO bandwidth check on IBA7220 The IBA7220 uses a count-based triggering mechanism, and therefore can't use the same bandwidth verification mechanism as older chips. To support the 7220, allow enabling and disabling armlaunch errors on application request. Minor robustness improvements as well. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit ddb70c83a5ce439271f1699e52a97785a8b45b81 Author: Dave Olson Date: Tue Jan 8 01:51:46 2008 -0800 IB/ipath: Minor cleanup of unused fields and chip-specific errors Clean up some unused header fields, minor related cleanup. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 359193ef433061515fe24d57e5bd5a1318d71bc3 Author: Michael Albaugh Date: Tue Jan 8 00:37:34 2008 -0800 IB/ipath: New sysfs entries to control 7220 features IBA7220 includes many more configurable IB settings. Getting/setting these is now grouped into a pair of chip specific functions accessed via function pointers. Provide sysfs access to these settings. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit c4bce8032ef4368063c84d665b19804878d63e7c Author: Dave Olson Date: Tue Jan 8 02:36:46 2008 -0800 IB/ipath: Add new chip-specific functions to older chips, consistent init This adds the new (sometimes empty) chip-specific functions to the older chips, and makes the initialization and related functions consistent across all 3 chips. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 7387273307139ebf8d7f7fb3bb79d1ca48bd71d6 Author: Dave Olson Date: Tue Jan 8 23:16:17 2008 -0800 IB/ipath: Remove unused MDIO interface code This code has been unused for some time, but still had leftovers from when it was used. Signed-off-by: Dave Olson commit 2ec8e662416cc9a171cdfe3d75e1ff00ba757859 Author: Joachim Fenkes Date: Thu Jan 17 15:07:24 2008 +0100 IB/ehca: Prevent RDMA-related connection failures on some eHCA2 hardware Some HW revisions of eHCA2 may cause an RC connection to break if they received RDMA Reads over that connection before. This can be prevented by assuring that, after the first RDMA Read, the QP receives a new RDMA Read every few million link packets. Include code into the driver that inserts an empty (size 0) RDMA Read into the message stream every now and then if the consumer doesn't post them frequently enough. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit bbdd267ef2796e96b461b8447b2026ce06e6ec4b Author: Hoang-Nam Nguyen Date: Thu Jan 17 15:05:45 2008 +0100 IB/ehca: Add "port connection autodetect mode" This patch enhances ehca with a capability to "autodetect" the ports being connected physically. In order to utilize that function the module option nr_ports must be set to -1 (default is 2 - two ports). This feature is experimental and will made the default later. More detail: If the user connects only one port to the switch, current code requires 1) port one to be connected and 2) module option nr_ports=1 to be given. If autodetect is enabled, ehca will not wait at creation of the GSI QP for the respective port to become active. Since firmware does not accept modify_qp() while the port is down at initialization, we need to cache all calls to modify_qp() for the SMI/GSI QP and just return a good return code. When a port is activated and we get a PORT_ACTIVE event, we replay the cached modify-qp() parms and re-trigger any posted recv WRs. Only then do we forward the PORT_ACTIVE event to registered clients. The result of this autodetect patch is that all ports will be accessible by the users. Depending on their respective cabling only those ports that are connected properly will become operable. If a user tries to modify a regular QP of a non-connected port, modify_qp() will fail. Furthermore, ibv_devinfo should show the port state accordingly. Note that this patch primarily improves the loading behaviour of ehca. If the cable is removed while the driver is operating and plugged in again, firmware will handle that properly by sending an appropriate async event. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit b8b50e353b85bc3c791dd2b99370ac300ebcd186 Author: Hoang-Nam Nguyen Date: Thu Jan 17 15:04:32 2008 +0100 IB/ehca: Define array to store SMI/GSI QPs Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 0c86e280fe8a08d4ae30b77e46a1e7da28d756c9 Author: Hoang-Nam Nguyen Date: Thu Jan 17 15:03:55 2008 +0100 IB/ehca: Remove CQ-QP-link before destroying QP in error path of create_qp() Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 6410627eb9804e541b83d220c8e914ce64475b31 Author: Erez Zilber Date: Thu Jan 17 11:53:17 2008 +0200 IB/iser: Add change_queue_depth method Add a .change_queue_depth handler to the scsi_host_template in the iSER driver. iscsi_change_queue_depth was added to iscsi_tcp in order to solve the problem of queue depth which was too high for some targets. It is also applicable for iSER. Signed-off-by: Erez Zilber Signed-off-by: Roland Dreier commit a4ef1451dfba92f51934e8331f634497b9ed3393 Author: Erez Zilber Date: Thu Jan 17 11:51:58 2008 +0200 IB/iser: Print information about unhandled RDMA CM events Some RDMA CM events are not supported or not handled in iSER. This patch adds some info (printk) for the user about them. Signed-off-by: Erez Zilber Signed-off-by: Roland Dreier commit a3cd7d9070be417a21905c997ee32d756d999b38 Author: Olaf Kirch Date: Wed Jan 16 18:37:16 2008 +0100 IB/fmr_pool: ib_fmr_pool_flush() should flush all dirty FMRs When a FMR is released via ib_fmr_pool_unmap(), the FMR usually ends up on the free_list rather than the dirty_list (because we allow a certain number of remappings before actually requiring a flush). However, ib_fmr_batch_release() only looks at dirty_list when flushing out old mappings. This means that when ib_fmr_pool_flush() is used to force a flush of the FMR pool, some dirty FMRs that have not reached their maximum remap count will not actually be flushed. Fix this by flushing all FMRs that have been used at least once in ib_fmr_batch_release(). Signed-off-by: Olaf Kirch Signed-off-by: Roland Dreier commit a656eb758fc6e6a42659ecf5ba34a5c5a2aeec17 Author: Olaf Kirch Date: Wed Jan 16 18:36:27 2008 +0100 IB/fmr_pool: Flush serial numbers can get out of sync Normally, the serial numbers for flush requests and flushes executed for an FMR pool should be in sync. However, if the FMR pool flushes dirty FMRs because the dirty_watermark was reached, we wake up the cleanup thread and let it do its stuff. As a side effect, the cleanup thread increments pool->flush_ser, which leaves it one higher than pool->req_ser. The next time the user calls ib_flush_fmr_pool(), the cleanup thread will be woken up, but ib_flush_fmr_pool() won't wait for the flush to complete because flush_ser is already past req_ser. This means the FMRs that the user expects to be flushed may not have all been flushed when the function returns. Fix this by telling the cleanup thread to do work exclusively by incrementing req_ser, and by moving the comparison of dirty_len and dirty_watermark into ib_fmr_pool_unmap(). Signed-off-by: Olaf Kirch commit 2fe7e6f7c9f55eac24c5b3cdf56af29ab9b0ca81 Author: Roland Dreier Date: Fri Jan 25 14:15:42 2008 -0800 IB/umad: Simplify and fix locking In addition to being overly complex, the locking in user_mad.c is broken: there were multiple reports of deadlocks and lockdep warnings. In particular it seems that a single thread may end up trying to take the same rwsem for reading more than once, which is explicitly forbidden in the comments in . To solve this, we change the locking to use plain mutexes instead of rwsems. There is one mutex per open file, which protects the contents of the struct ib_umad_file, including the array of agents and list of queued packets; and there is one mutex per struct ib_umad_port, which protects the contents, including the list of open files. We never hold the file mutex across calls to functions like ib_unregister_mad_agent(), which can call back into other ib_umad code to queue a packet, and we always hold the port mutex as long as we need to make sure that a device is not hot-unplugged from under us. This even makes things nicer for users of the -rt patch, since we remove calls to downgrade_write() (which is not implemented in -rt). Signed-off-by: Roland Dreier commit cf9542aa923982428fbf6a6f815c32ae2c3da8c7 Author: Roland Dreier Date: Fri Jan 25 14:15:42 2008 -0800 IB/ipath: Fix some sparse warnings about shadowed symbols There are a few places in the ipath driver where a variable is re-declared within a block where it is already in scope. Most of these extra declarations can simply be removed, since the variable from the outer scope is used in a way so that it does not need to keep its variable across the block with the re-declaration. Signed-off-by: Roland Dreier commit 1d6e658e8e3247fcf0fa90c40fdfebf2e85a610e Author: Roland Dreier Date: Fri Jan 25 14:15:42 2008 -0800 RDMA/cxgb3: Endianness annotation for irs field t3_rdma_init_wr.irs is a big-endian field, so declare it as __be32. This fixes one sparse warning. Signed-off-by: Roland Dreier commit 1a7d2dce4169ed42310926a5675fffd0986caa26 Author: Anton Blanchard Date: Mon Oct 15 00:49:07 2007 -0500 IB/ehca: Use round_jiffies() for EQ polling timer Use round_jiffies() to align ehca's 1-second timer with other timers and potentially save power by sleeping cores for longer. Signed-off-by: Anton Blanchard Acked-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 5851bb893e5bb87150817c180ccddcf4e78db1b6 Author: Sean Hefty Date: Fri Jan 4 10:47:12 2008 -0800 RDMA/cma: Override default responder_resources with user value By default, the responder_resources parameter is set to that received in a connection request. The passive side may override this value when accepting the connection. Use the value provided by the passive side when transitioning the QP to RTR state, rather than the value given in the connect request. Without this change, the RTR transition may fail if the passive side supports fewer responder_resources than that in the request. For code consistency and to protect against QP destruction, restructure overriding initiator_depth to match how responder_resources is set. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 1f813ca830f51ed404195750bdba86c41a8050ba Author: Dave Olson Date: Sun Jan 6 21:12:38 2008 -0800 IB/ipath: Drop support for the original QHT7040 board The original QHT7040 had significant performance issues so there was an additional check in the driver for a newer serial number. Support for the small quantities of that board shipped has been dropped, so this patch removes the special checks to simplify the code. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 7da0498e7f0eb022107811b9d41697298329f6b4 Author: Arthur Jones Date: Sun Jan 6 21:12:38 2008 -0800 IB/ipath: Add ipath_read_ireg() abstraction Different chips have different width interrupt status registers, so add a flag and accessor function to decide which width register read to use. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 4ea61b548bc93fb87cec6f52059851076e2ff54d Author: Ralph Campbell Date: Sun Jan 6 21:12:38 2008 -0800 IB/ipath: Add flag and handling for chips with swapped register bug The 6110 had a bug that caused some registers to be swapped; it was fixed for the 7220 (and didn't affect the 6120 because it had fewer registers). This adds a flag and related code to handle that, and includes some minor cleanups in the same area. Signed-off-by: Ralph Campbell commit 60948a415859cb859e24f0dfe739069d66577466 Author: Ralph Campbell Date: Sun Jan 6 21:02:34 2008 -0800 IB/ipath: Port config has on-chip effects for 7220 The number of configured ports for the 7220 changes the number of eager TIDs available per port, for all but port 0 (kernel port) which remains constant, so add a field to give port0 count separate from the portdata structure. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit a18e26ae442001de62f6b84a923e8613347dc35f Author: Ralph Campbell Date: Sun Jan 6 21:02:34 2008 -0800 IB/ipath: Allow more flexible user register alignments User registers have different alignments on different chips (4KB on older, 64KB on 7220). Allow mapping the user registers on kernels with page sizes up to 64K. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9e2ef36b5a83b3c8ec1153382559dff410cc4341 Author: Dave Olson Date: Sun Jan 6 21:02:34 2008 -0800 IB/ipath: Clean up some comments Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 3029fcc3d44530601f19fd8f551ac195d3a918d7 Author: Ralph Campbell Date: Sun Jan 6 21:02:34 2008 -0800 IB/ipath: Export hardware counters more consistently Various hardware counters are exported via the ipath file system (since it is binary data). The old file format was very dependent on the HW offsets for these registers. Newer HCA chips can have different counters at different offsets. This patch adds a level of indirection to make the file format consistent across HCAs. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6c719cae0b91f577738dfb4007baee28f03e48a5 Author: Ralph Campbell Date: Sun Jan 6 21:02:33 2008 -0800 IB/ipath: MAD performance sampling registers support Add support for QLogic HCAs which have hardware performance sampling registers for PortSamplesControl and PortSamplesResult MADs. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 7aa54bd730df1468c90ae84b56ade7f322b44de7 Author: David Dillow Date: Mon Jan 7 18:23:41 2008 -0500 IB/srp: Add identifying information to log messages When you have multiple targets, it gets really confusing when you try to track down who did a reset when there is no identifying information in the log message, especially when the same extension ID is mapped through two different local IB ports. So, add an identifier that can be used to track back to which local IB port/remote target pair is the one having problems. Signed-off-by: David Dillow Acked-by: Pete Wyckoff Signed-off-by: Roland Dreier commit 586a693448676de5174e752426ced69ec79ab174 Author: Pradeep Satyanarayana Date: Fri Dec 21 13:08:23 2007 -0800 IPoIB/CM: Enable SRQ support on HCAs that support fewer than 16 SG entries Some HCAs (such as ehca2) support SRQ, but only support fewer than 16 SG entries for SRQs. Currently IPoIB/CM implicitly assumes all HCAs will support 16 SG entries for SRQs (to handle a 64K MTU with 4K pages). This patch removes that restriction by limiting the maximum MTU in connected mode to what the maximum number of SRQ SG entries allows. This patch addresses Signed-off-by: Pradeep Satyanarayana Signed-off-by: Roland Dreier commit fff09a8e6e726f0752254e1f46f7224e3bebb302 Author: David Dillow Date: Wed Dec 19 17:09:15 2007 -0500 IB/srp: Enable SG list chaining By default, the SCSI mid-layer seems to send down 512KB requests (sg_tablesize = 256), with some requests occasionally combined. By allowing the mid-layer to chain requests, we can easily grow to 1024KB or larger -- I've tested 4096KB I/O requests with no problems. I looked through the DMA paths on the hardware drivers to ensure they could take advantage of the SG chaining, and it seems that every one except ipath uses the system's DMA routines, which have been converted to handle chaining. ipath looks like it should be OK, but I have no way to test it. Signed-off-by: David Dillow [ Tested on ipath. - Roland ] Signed-off-by: Roland Dreier commit 8cba2077325b361dedf058c7dfc6c33691422497 Author: David Dillow Date: Wed Dec 19 17:08:43 2007 -0500 IB/srp: Respect target credit limit The current SRP initiator will send requests even if it has no credits available. The results of sending extra requests are vendor specific, but on some devices, overrunning credits will cost 85% of peak performance -- e.g. 100 MB/s vs 720 MB/s. Other devices may just drop the requests. This patch will tell the SCSI midlayer to queue requests if there are fewer than two credits remaining, and will not issue a task management request if there are no credits remaining. The mid-layer will retry the queued command once an outstanding command completes. The patch also removes the unlikely() in __srp_get_tx_iu(), as it is not at all unlikely to hit this limit under heavy load. Signed-off-by: David Dillow Signed-off-by: Roland Dreier commit a9e527e3f9f4510e9f3450ca3bc51bc3ef2854fd Author: Rolf Manderscheid Date: Mon Dec 10 13:38:41 2007 -0700 IPoIB: improve IPv4/IPv6 to IB mcast mapping functions An IPoIB subnet on an IB fabric that spans multiple IB subnets can't use link-local scope in multicast GIDs. The existing routines that map IP/IPv6 multicast addresses into IB link-level addresses hard-code the scope to link-local, and they also leave the partition key field uninitialised. This patch adds a parameter (the link-level broadcast address) to the mapping routines, allowing them to initialise both the scope and the P_Key appropriately, and fixes up the call sites. The next step will be to add a way to configure the scope for an IPoIB interface. Signed-off-by: Rolf Manderscheid Signed-off-by: Roland Dreier commit 755807a296f77ca7c31dc000afdfe1e5172bbf72 Author: Dave Olson Date: Thu Dec 6 00:28:02 2007 -0800 IB/ipath: Changes for fields moving from devdata to portdata This patch moves some arrays that were defined per-device to be variables defined in the per context data structure, thus avoiding extra kzalloc() calls. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit d8274869d742c3d8082e1428de47e54d12104928 Author: Dave Olson Date: Fri Dec 21 01:50:59 2007 -0800 IB/ipath: Generalize some xxx_SHIFT macros In preparation for upcoming chips that have different values for INFINIPATH_R_PORTENABLE_SHIFT, INFINIPATH_R_INTRAVAIL_SHIFT, INFINIPATH_R_TAILUPD_SHIFT, and portcfg_shift, remove the shared #defines and use device-specific variables instead. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit c59a80aca0bfc491d90534ed5606d5493eca24a3 Author: Ralph Campbell Date: Thu Dec 20 02:43:23 2007 -0800 IB/ipath: kreceive uses portdata rather than devdata kreceive is now portdata * instead of devdata * and other kreceive related cleanups.... Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit d65708f3a766116662ff9bac81088d52a49901f4 Author: Ralph Campbell Date: Fri Dec 21 16:47:04 2007 -0800 IB/ipath: Cleanup ipath_get_egrbuf() Remove an unused parameter and fix up the comment. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit cc65edcf0c174eff4367cfbc594a2f33c0d477fa Author: Ralph Campbell Date: Fri Dec 14 19:22:34 2007 -0800 IB/ipath: Fix RNR NAK handling This patch fixes a couple of minor problems with RNR NAK handling: - The insertion sort was causing extra delay when inserting ahead vs. behind an existing entry on the list. - A resend of a first packet of a message which is still not ready, needs another RNR NAK (i.e., it was suppressed when it shouldn't). - Also, the resend tasklet doesn't need to be woken up unless the ACK/NAK actually indicates progress has been made. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit e57d62a14775c9d37195debe837431c75168ef69 Author: Hoang-Nam Nguyen Date: Thu Dec 20 15:06:33 2007 +0100 IB/ehca: Forward event client-reregister-required to registered clients This patch allows ehca to forward event client-reregister-required to registered clients. One such event is generated by a switch eg. after its reboot. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit b3226184af6c13c9d5d38f13f0ef8e03f718bbf7 Author: Roland Dreier Date: Fri Jan 25 14:15:34 2008 -0800 IB/mlx4: Micro-optimize mlx4_ib_poll_one() Rather than byte-swapping cqe->g_mlpath_rqpn each time we extract a field from it, byte-swap it once into a temporary variable. This results in smaller, better code -- eg, on 32-bit x86: add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-5 (-5) function old new delta mlx4_ib_poll_cq 1188 1183 -5 Signed-off-by: Roland Dreier commit e57895d38991036f9ccf193b70fc5ebd5f6e6dc9 Author: Adrian Bunk Date: Tue Jan 1 15:47:10 2008 +0200 IB/mthca: Remove MSI support as scheduled Remove MSI support from the mthca driver, as scheduled. There is no reason to use MSI instead of MSI-X, since MSI-X performs better. No one has spoken up since MSI support was deprecated in commit f6be6fbe ("IB/mthca: Schedule MSI support for removal"), so apparently the MSI support is unused. Signed-off-by: Adrian Bunk Signed-off-by: Roland Dreier commit 38dc732f47948b9f91ae846806159a16aab1015f Author: Oliver Pinter Date: Fri Jan 25 14:15:32 2008 -0800 IB/iser: Typo fix (s/destory/destroy/) Signed-off-by: Oliver Pinter Signed-off-by: Roland Dreier commit bd5d7a8585bb196a03655b25d2ec6395a491cd01 Author: Erez Zilber Date: Fri Jan 25 14:15:32 2008 -0800 IB/iser: update URLs of iSER docs Signed-off-by: Erez Zilber commit 88314e4dda1e158aabce76429ef4d017b48f8b92 Author: Sean Hefty Date: Wed Nov 14 00:29:50 2007 -0800 RDMA/cma: add support for rdma_migrate_id() This is based on user feedback from Doug Ledford at RedHat: Events that occur on an rdma_cm_id are reported to userspace through an event channel. Connection request events are reported on the event channel associated with the listen. When the connection is accepted, a new rdma_cm_id is created and automatically uses the listen event channel. This is suboptimal where the user only wants listen events on that channel. Additionally, it may be desirable to have events related to connection establishment use a different event channel than those related to already established connections. Allow the user to migrate an rdma_cm_id between event channels. All pending events associated with the rdma_cm_id are moved to the new event channel. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 45d9478da106c749203056f56e94d0e370dfac87 Author: Vladimir Sokolovsky Date: Fri Dec 7 20:32:03 2007 -0800 RDMA/cma: Reenable device removal on passive side Enable conn_id remove on the passive side after connection establishment. This corrects an issue where the IB driver can't be unloaded after running applications over RDS. The 'dev_remove' counter does not reach 0 for established connections on the passive side. This problem is limited to device removal, and only occurs on the passive side if there are established connections. Signed-off-by: Vladimir Sokolovsky Reviewed-by: Sean Hefty Signed-off-by: Roland Dreier commit b61d92d8ae6aa13b17d1c31e69d123879cec2ee2 Author: Sean Hefty Date: Fri Nov 30 17:30:18 2007 -0800 IB/mad: Fix incorrect access to items on local_list In cancel_mads(), MADs are moved from the wait_list and local_list to a cancel_list for processing. However, the structures on these two lists are not the same. The wait_list references struct ib_mad_send_wr_private, but local_list references struct ib_mad_local_private. Cancel_mads() treats all items moved to the cancel_list as struct ib_mad_send_wr_private. This leads to a system crash when requests are moved from the local_list to the cancel_list. Fix this by leaving local_list alone. All requests on the local_list have completed are just awaiting processing by a queued worker thread. Bug (crash) reported by Dotan Barak . Problem with local_list access reported by Robert Reynolds . Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 9af57b7a2702f2cdf6ae499612e90b0f84bcb393 Author: Sean Hefty Date: Mon Jul 16 21:49:35 2007 -0700 IB/cm: Add basic performance counters Add performance/debug counters to track sent/received messages, retries, and duplicates. Counters are tracked per CM message type, per port. The counters are always enabled, so intrusive state tracking is not done. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 4fc8cd4919428f9b86f0b65e2f3245a1c186737f Author: Sean Hefty Date: Tue Nov 27 00:11:04 2007 -0800 IB/mad: Report number of times a mad was retried To allow ULPs to tune timeout values and capture retry statistics, report the number of times that a mad send operation was retried. For RMPP mads, report the total number of times that the any portion (send window) of the send operation was retried. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 547af76521b3fd4b9ec5c9a9975a17eadb95e6f6 Author: Sean Hefty Date: Mon Oct 22 21:52:54 2007 -0700 IB/multicast: Report errors on multicast groups if P_key changes P_key changes can invalidate multicast groups. Report errors on all multicast groups affected by a pkey change. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 94545e8c51fbf01d1c1cda7e6d017598d41e840a Author: Joe Perches Date: Mon Dec 17 11:30:36 2007 -0800 IB: Spelling fixes in comments Signed-off-by: Joe Perches Signed-off-by: Roland Dreier commit 5920869f1ec263fee4255ec71d333c118406a419 Author: Jack Morgenstein Date: Mon Dec 10 05:25:23 2007 +0200 mlx4_core: Fix max_eqs masking in QUERY_DEV_CAP log_max_eqs is a 4-bit field, not a 3-bit field in the response to the QUERY_DEV_CAP FW command, so we should mask with 0xf instead of 0x7 when reading it. Found by Yossi Leybovitch of Mellanox. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 3c8450860ba9d6279dbc969633eacf99161860d9 Author: Nick Piggin Date: Thu Dec 13 15:58:57 2007 -0800 IB/ipath: Convert from .nopage to .fault Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit a2f76cd69f4913079cad10670f8520ffe07f4067 Author: Ralph Campbell Date: Fri Nov 2 17:40:36 2007 -0700 IB/ipath: Add the work completion error code to the QP error debug output Add the work completion error code to the QP error debug output. This makes it easier to determine the cause of the error. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 2f01a7001131bbf3ce1e39252bf72aea2da034df Author: Arthur Jones Date: Wed Oct 17 18:18:29 2007 -0700 IB/ipath: Better comment for rmb() in ipath_intr() An internal code review found the comment here lacking -- update it with more specifics of how and why the rmb() is there. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 6276980138292056aab162f7eb98afe5243b2976 Author: Ralph Campbell Date: Mon Nov 26 23:44:15 2007 -0800 IB/ipath: Fix comments for ipath_create_srq() During a code review, someone noticed the comments didn't match the code. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 733d12813bd36ed7c727686ac1164f92f87a14a2 Author: Ralph Campbell Date: Thu Nov 8 19:53:01 2007 -0800 IB/ipath: Fix error returned from ib_resize_cq if new size smaller than # entries The gen2_basic tests check for the errno value when a CQ is resized smaller than the number of outstanding completions queue on the CQ. This patch changes ib_ipath to return EINVAL which is what ib_mthca returns and what gen2_basic expects. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit e342c119172f87f2d812bccfd0283f62e1bc1c2a Author: John Gregor Date: Wed Sep 5 01:57:14 2007 -0700 IB/ipath: Fix sendctrl locking Code review pointed out that the locking around uses of ipath_sendctrl and kr_sendctrl were, in several places, incorrect and/or inconsistent. Signed-off-by: John Gregor Signed-off-by: Roland Dreier commit 9ab4295d1d9ab10a249aea002060685f935a528c Author: Ralph Campbell Date: Fri Oct 12 20:48:06 2007 -0700 IB/ipath: Remove dead code for user process waiting for send buffer At one point in time there was code to allow a user process to wait for a send buffer if none were available. This feature was never used and most of the code was removed. This removes some missed unused code. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 457fe7b8a6822907cbe65897dc81b83d9df5bcbf Author: Steve Wise Date: Mon Nov 26 11:28:46 2007 -0600 RDMA/cxgb3: Support version 5.0 firmware The 5.0 firmware now supports translating sgls in recv work requests, so remove the host driver logic currently doing the translation. Note: this change requires 5.0 firmware. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 7f049f2f4259e4a5c213720df1ce0c2ca095641a Author: Steve Wise Date: Mon Nov 26 11:28:44 2007 -0600 RDMA/cxgb3: Hold rtnl_lock() around ethtool get_drvinfo call Currently the call into cxgb3 to get the driver info is not serialized. The iw_cxgb3 module needs to hold the rtnl_lock around the ethtool ops call like dev_ioctl() does. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 908cf9a565348b5a6d765d120cb189a568ea4883 Author: Joe Perches Date: Mon Nov 19 17:48:11 2007 -0800 drivers/infiniband: Add missing "space" Add missing spaces in the middle of format strings. Signed-off-by: Joe Perches Signed-off-by: Roland Dreier commit 2c45688faed1b19583c388694025e39001b68c8d Author: Matthias Kaehlcke Date: Thu Nov 15 15:23:25 2007 -0800 IB/ipath: Convert ipath_eep_sem semaphore to a mutex Signed-off-by: Matthias Kaehlcke Acked-by: Michael Albaugh Tested-by: Arthur Jones Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit 727792da2bc22e2ce125faef84aeca3b3e2f4a90 Author: Steve Welch Date: Tue Oct 23 15:06:10 2007 -0700 IB/mad: Enable loopback of DR SMP responses from userspace The local loopback of an outgoing DR SMP response is limited to those that originate at the driver specific SMA implementation during the driver specific process_mad() function. This patch enables a returning DR SMP originating in userspace (or elsewhere) to be delivered to the local managment stack. In this specific case the driver process_mad() function does not consume or process the MAD, so a reponse mad has not be created and the original MAD must manually be copied to the MAD buffer that is to be handed off to the local agent. Signed-off-by: Steve Welch Acked-by: Hal Rosenstock Signed-off-by: Roland Dreier commit f9b403532235520ec248c024f621efcaf6ba7b93 Author: Ralph Campbell Date: Tue Oct 23 15:07:41 2007 -0700 IB/ipath: Enable loopback of DR SMP responses from userspace This patch is in response to reviewing a patch to the core MAD processing which fixes loopback of directed route packets to/from user level MAD agents. This change enables the core code to work for ib_ipath by fixing the return code from the ipath process_mad method. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 3828ff457a694f97f88f6978bea428199df0a690 Author: Ralph Campbell Date: Tue Oct 23 15:04:15 2007 -0700 IB/mad: Remove redundant NULL pointer check in ib_mad_recv_done_handler() In ib_mad_recv_done_handler(), the response pointer is checked for NULL after allocating it. It is then checked again in the local process_mad() path but there is no possibility of it changing in between. Signed-off-by: Ralph Campbell Acked-by: Hal Rosenstock Signed-off-by: Roland Dreier commit 8d8293cfb38b042835eeded7c1d90f75ca243e87 Author: Steve Wise Date: Mon Oct 29 11:34:05 2007 -0500 RDMA/iwcm: Set initiator depth and responder resources to device max values Set the initiator depth and responder resources to the device max values for new connect request events in the iWARP connection manager. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit e193e3326c521eea6a0221e945627ae5e3274910 Author: Dave Olson Date: Wed Oct 10 05:10:35 2007 -0700 IB/ipath: Improve interrupt handler cache footprint Improve interrupt handler cache footprint by noinline'ing error functions that are rarely called. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 68e995a295720439ad2bf8677114cdf9d262d905 Author: Pradeep Satyanarayana Date: Fri Jan 25 14:15:24 2008 -0800 IPoIB/cm: Add connected mode support for devices without SRQs Some IB adapters (notably IBM's eHCA) do not implement SRQs (shared receive queues). The current IPoIB connected mode support only works on devices that support SRQs. Fix this by adding support for using the receive queue of each connected mode receive QP. The disadvantage of this compared to using an SRQ is that it means a full queue of receives must be posted for each remote connected mode peer, which means that total memory usage is potentially much higher than when using SRQs. To manage this, add a new module parameter "max_nonsrq_conn_qp" that limits the number of connections allowed per interface. The rest of the changes are fairly straightforward: we use a table of struct ipoib_cm_rx to hold all the active connections, and put the table index of the connection in the high bits of receive WR IDs. This is needed because we cannot rely on the struct ib_wc.qp field for non-SRQ receive completions. Most of the rest of the changes just test whether or not an SRQ is available, and post receives or find received packets in the right place depending on the answer. Cleaning up dead connections actually becomes simpler, because we do not have to do the "last WQE reached" dance that is required to destroy QPs attached to an SRQ. We just move the QP to the error state and wait for all pending receives to be flushed. Signed-off-by: Pradeep Satyanarayana [ Completely rewritten and split up, based on Pradeep's work. Several bugs fixed and no doubt several bugs introduced. - Roland ] Signed-off-by: Roland Dreier commit efcd99717f76c6d19dd81203c60fe198480de522 Author: Roland Dreier Date: Fri Jan 25 14:15:24 2008 -0800 IPoIB/cm: Factor out ipoib_cm_free_rx_reap_list() Factor out the code for going through the rx_reap list of struct ipoib_cm_rx and freeing each one. This consolidates the code duplicated between ipoib_cm_dev_stop() and ipoib_cm_rx_reap() and reduces the risk of error when adding additional accounting. Signed-off-by: Roland Dreier commit 7b3687df66cab4ecd6efb42cfa0c7de60cc4e3b9 Author: Roland Dreier Date: Fri Jan 25 14:15:24 2008 -0800 IPoIB/cm: Factor out ipoib_cm_create_srq() Factor out the code to create an SRQ and allocate the receive ring in ipoib_cm_dev_init() into a new function ipoib_cm_create_srq(). This will make the code neater when support for devices that don't implement SRQs is added. Signed-off-by: Roland Dreier commit 1efb61444ca3a598dfafb7a6c573c5d5d42d3432 Author: Roland Dreier Date: Fri Jan 25 14:15:24 2008 -0800 IPoIB/cm: Factor out ipoib_cm_free_rx_ring() Factor out the code to unmap/free skbs and free the receive ring in ipoib_cm_dev_cleanup() into a new function ipoib_cm_free_rx_ring(). This function will be called from a couple of other places when support for devices that don't implement SRQs is added. Signed-off-by: Roland Dreier commit 2337f80941ac22f747ce6fd2c7a79e91d911a3ce Author: Roland Dreier Date: Tue Oct 23 19:57:54 2007 -0700 IPoIB: Trivial formatting cleanups Fix whitespace blunders, convert "foo* bar" to "foo *bar", etc. Signed-off-by: Roland Dreier commit 657c2f2cbccbac88689ac5174fc13dd3f9aece34 Author: Roland Dreier Date: Fri Jan 25 14:15:21 2008 -0800 IB/ipath: Fix crash on unload introduced by sysfs changes Commit 23b9c1ab ("Infiniband: make ipath driver use default driver groups.") introduced a bug in the ipath driver where ipath_device_create_group() fell through into the error path, even on success, which meant that the sysfs groups it created would always get removed right away. This made ipath_device_remove_group() hit the BUG_ON() in sysfs_remove_group() when it tried to remove those groups a second time. Correct the return path so that the groups stick around until they are supposed to be cleaned up. Signed-off-by: Roland Dreier commit b31fde6db2b76a9f7f59bf016652b46cff43f8da Merge: f31c338... a999337... Author: Linus Torvalds Date: Fri Jan 25 13:59:51 2008 -0800 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: (509 commits) V4L/DVB (7078): radio: fix sf16fmi section mismatch V4L/DVB (7077): bt878: remove handcrafted PCI subsystem ID check V4L/DVB (7075): Make a local function static V4L/DVB (7074): DiB7000P: correct tuning problem for 7MHz channel V4L/DVB (7073): DiB7070: Reception quality improved V4L/DVB (7072): sets the MT2060 IF1 frequency according to EEPROM V4L/DVB (7071): DiB0700: Start streaming the right way V4L/DVB (7070): Fix some tuning problems V4L/DVB (7069): Support for myTV.t V4L/DVB (7068): Add support for WinTV Nova-T-CE driver V4L/DVB (7067): fix autoserach in the Hauppauge NOVA-T 500 V4L/DVB (7066): ASUS My Cinema U3000 Mini DVBT Tuner V4L/DVB (7065): Artec T14BR patches V4L/DVB (7063): xc5000: Fix OOPS caused by missing firmware V4L/DVB (7062): radio-si570x: Some fixes and new USB ID addition V4L/DVB (7061): radio-si470x: Some cleanups V4L/DVB (7060): em28xx: remove has_tuner V4L/DVB (7059): cx88: Ensure the tuner is reset correctly V4L/DVB (7058): IR corrections for the Pinnacle 800i V4L/DVB (7056): tuner: suppress obsolete tuner i2c address warning for XC5000 tuners ... commit f31c338675872875e24f124af0689131b0c72600 Merge: 0008bf5... 61a368c... Author: Linus Torvalds Date: Fri Jan 25 13:57:26 2008 -0800 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: (67 commits) ide: remove redundant DMA blacklist check from __ide_dma_on() ide: cleanup ide_set_dma() ide: remove redundant ->ide_dma_on call from set_using_dma() sc1200: move DMA timings to timing tables ide: add IDE_HFLAG_ABUSE_SET_DMA_MODE host flag sis5513: factor out UDMA programming code pdc202xx_new: move PIO programming code to pdcnew_set_pio_mode() ide: make 'extra' field in struct ide_port_info u8 ide: kill duplicate code in ide_dump_{ata,atapi}_status() ide-disk: use ide_get_lba_addr() ide: printk fix ide: add ide_tf_read() helper ide: fix registers loading order in ide_dump_ata_status() ide-disk: use do_rw_taskfile() (take 2) ide-disk: add ide_tf_set_cmd() helper ide-disk: extend timeout for PIO-in commands ide: remove 'handler' field from ide_task_t (take 2) ide: use ->data_phase to set ->handler in do_rw_taskfile() ide: convert do_rw_taskfile() to use ->data_phase ide: merge flagged_taskfile() into do_rw_taskfile() ... commit 0008bf54408d4c0637c24d34642f1038c299be95 Merge: 2d94dfc... 6d08259... Author: Linus Torvalds Date: Fri Jan 25 13:42:32 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched: (96 commits) sched: keep total / count stats in addition to the max for sched, futex: detach sched.h and futex.h sched: fix: don't take a mutex from interrupt context sched: print backtrace of running tasks too printk: use ktime_get() softlockup: fix signedness sched: latencytop support sched: fix goto retry in pick_next_task_rt() timers: don't #error on higher HZ values sched: monitor clock underflows in /proc/sched_debug sched: fix rq->clock warps on frequency changes sched: fix, always create kernel threads with normal priority debug: clean up kernel/profile.c sched: remove the !PREEMPT_BKL code sched: make PREEMPT_BKL the default debug: track and print last unloaded module in the oops trace debug: show being-loaded/being-unloaded indicator for modules sched: rt-watchdog: fix .rlim_max = RLIM_INFINITY sched: rt-group: reduce rescheduling hrtimer: unlock hrtimer_wakeup ... commit 61a368c216897aa3bbee35b3f2e6db76ec73fad0 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:19 2008 +0100 ide: remove redundant DMA blacklist check from __ide_dma_on() ->ide_dma_on method is called only after successful ide_dma_check() call (ide_dma_check()->ide_tune_dma() checks DMA blacklist) or if drive->using_dma has been previously enabled for a given device (->ide_dma_on is the only place which sets drive->using_dma to '1'). There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7b905994ce0bd332afc5ebc30ce9afa60d23c6e2 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:19 2008 +0100 ide: cleanup ide_set_dma() * ->dma_off_quietly is always called before ide_set_dma() so the call can be moved inside ide_set_dma(). * ide_dma_check() doesn't touch hardware so ->dma_off_quietly call for 'rc == -1' case is redundant, remove it. * '0' and '-1' are the only values returned by ide_dma_check() so remove dead code for other cases. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 23b1bd459c9e8a925381960f0b69ac85468c3af1 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:19 2008 +0100 ide: remove redundant ->ide_dma_on call from set_using_dma() ide_set_dma() calls ->ide_dma_on method itself and returns zero only if ->ide_dma_on call succeeded. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4eed504d140319d6c1c7e0a5b7a9bf41dabf7cea Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:18 2008 +0100 sc1200: move DMA timings to timing tables Based on pata_sc1200.c. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4db90a145292327b95b03f6dcd3352327235cc36 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:18 2008 +0100 ide: add IDE_HFLAG_ABUSE_SET_DMA_MODE host flag * Add IDE_HFLAG_ABUSE_SET_DMA_MODE host flag and use it to decide what to do with transfer modes < XFER_PIO_0 in ide_set_xfer_rate(). * Set IDE_HFLAG_ABUSE_SET_DMA_MODE in host drivers that need it (aec62xx, amd74xx, cs5520, cs5535, hpt34x, hpt366, pdc202xx_old, serverworks, tc86c001 and via82cxxx) and cleanup ->set_dma_mode methods in host drivers that don't (IDE core code guarantees that ->set_dma_mode will be called only for modes which are present in SWDMA/MWDMA/UDMA masks). While at it: * Add IDE_HFLAGS_HPT34X/HPT3XX/PDC202XX/SVWKS define in hpt34x/hpt366/pdc202xx_old/serverworks host driver. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 428c6440ef933a3d9df5adfeb2cbb3ea7ebb6a68 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:18 2008 +0100 sis5513: factor out UDMA programming code * Factor out UDMA programming code from sis_set_dma_mode() to per chipset family helpers: sis_{ata33,ata133}_program_udma_timings(). * Add sis_program_udma_timings() helper. * Remove unneeded casts to 'unsigned long'. * Minor cleanups. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ad4ba7dcef285c92a6856e0dd9feb780c1a79b87 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:18 2008 +0100 pdc202xx_new: move PIO programming code to pdcnew_set_pio_mode() * Move PIO programming code from pdcnew_set_mode() to pdcnew_set_pio_mode(). * Rename pdcnew_set_mode() to pdcnew_set_dma_mode(). There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3071a9d00b8684899d93f368e670c4de0293df29 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:17 2008 +0100 ide: make 'extra' field in struct ide_port_info u8 The maximum value used currently for 'extra' field in struct ide_port_info is 240. Make 'extra' u8 so it packs nicely together with enablebits[] and 'chipset' fields (ide_pci_enablebit_t is 3 bytes and hwif_chipset_t is 1 byte). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e62925dd26ef9594b8e4b9380b3211f6dae4ab96 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:17 2008 +0100 ide: kill duplicate code in ide_dump_{ata,atapi}_status() * Move the common code from ide_dump_{ata,atapi}_status() to ide_dump_status(). * ide_dump_{ata,atapi}_status() -> ide_dump_{ata,atapi}_error(). There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a501633c7d44087e806597d3a213d735346edd51 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:17 2008 +0100 ide-disk: use ide_get_lba_addr() * Export ide_get_lba_addr(). * Convert idedisk_{read_native,set}_max_address() to use ide_get_lba_addr(). * Remove incorrect comment from idedisk_read_native_max_address() (noticed by Sergei). There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1c904fcfbb0d8eef92ef42b1da378b4714143e46 Author: Andrew Morton Date: Fri Jan 25 22:17:17 2008 +0100 ide: printk fix power4: drivers/ide/ide-lib.c: In function `ide_dump_sector': drivers/ide/ide-lib.c:516: warning: long long unsigned int format, u64 arg (arg 2) We don't know what type is used to implement u64 hence it must always be cast when printed. Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit c2b57cdc1d2976444d451a2a2e43e11b61ed0638 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:17 2008 +0100 ide: add ide_tf_read() helper * Factor out code reading taskfile registers from ide_end_drive_cmd() to the new ide_tf_read() helper. * Add IDE_TFLAG_IN_* taskfile flags to indicate the need to load particular IDE taskfile register in ide_tf_read(). * Update ide_end_drive_cmd() to set respective IDE_TFLAG_IN_* taksfile flags. * Add ide_get_lba_addr() for getting LBA sector address from taskfile struct. * Factor out code getting sector address from ide_dump_ata_status() to the new ide_dump_sector() function. * Convert ide_dump_sector() to use ide_tf_read() and ide_get_lba_addr(). * Remove no longer needed ide_read_24(). The only change in functionality caused by this patch is that ide_dump_ata_status() no longer prints "high"/"low" parts of LBA48 sector address (of course LBA48 sector address is still printed). Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d32444771b154c3ec37ebf6439004653560c2411 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:17 2008 +0100 ide: fix registers loading order in ide_dump_ata_status() Fix registers loading order in ide_dump_ata_status()/ide_read_24(). Load registers in this order: * IDE_SECTOR_REG * IDE_LCYL_REG * IDE_HCYL_REG * IDE_SELECT_REG It shouldn't affect anything (just a usual paranoia to separate changes which change the way in which hardware is accessed from code cleanups). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f6e29e35cc0f9facf2eb0b0454f9b09021b5aa6f Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:16 2008 +0100 ide-disk: use do_rw_taskfile() (take 2) * Add IDE_TFLAG_DMA_PIO_FALLBACK taskfile flag to indicate the need to skip loading taskfile registers in do_rw_taskfile(). * Export do_rw_taskfile(). * Convert __ide_do_rw_disk() to use do_rw_taskfile(). * Unexport ide_tf_load(). * Unexport {pre_task_out,task_in}_intr() and make it static. * Remove incorrect comment about do_rw_taskfile() from . There should be no functionality changes caused by this patch. v2: * Add missing blk_fs_request() check to task_dma_ok() (for VDMA). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ba76ae3883ad9faa32a6b35271c6a407d6c96ca9 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:16 2008 +0100 ide-disk: add ide_tf_set_cmd() helper * Add ide_tf_set_cmd() helper for selecting/setting command and data phase (note: DMA data phases are there for completness, they are not required ATM). * Set IDE_TFLAG_WRITE taskfile flag for write requests in __ide_do_rw_disk(). * Convert __ide_do_rw_disk() to use the new ide_tf_set_cmd() helper. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c52ea915d7fdc96819964b32eb124b5ccd22b9af Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:16 2008 +0100 ide-disk: extend timeout for PIO-in commands s/WAIT_CMD/WAIT_WORSTCASE/ to make the timeout the same as in do_rw_taskfile() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 57d7366b78b74a9eef873e8212c03d8c2033a764 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:16 2008 +0100 ide: remove 'handler' field from ide_task_t (take 2) * Add IDE_TFLAG_CUSTOM_HANDLER taskfile flag and use it for internal requests which require custom handlers. Check the flag in do_rw_taskfile() and set handler accordingly. * Cleanup ide_init_{specify,restore,setmult}_cmd() and rename it to ide_tf_set_{specify,restore,setmult}_cmd(). * Make {set_geometry,recal,set_multmode}_intr() static. * Remove no longer needed 'handler' field from ide_task_t. v2: * 'handler' in do_rw_taskfile() must be set to NULL initially. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1192e528e064ebb9a578219731d2b0f78ca3c1ec Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:16 2008 +0100 ide: use ->data_phase to set ->handler in do_rw_taskfile() * Use ->data_phase to set ->handler in do_rw_taskfile() instead of setting ->handler in callers of ide_raw_taskfile()/do_rw_taskfile(). * Unexport task_no_data_intr() and make it static. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 10d90157c83d4b6743c9063c36f9e7f27aa254b6 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:16 2008 +0100 ide: convert do_rw_taskfile() to use ->data_phase * Use task->data_phase in do_rw_taskfile() to decide what to do. * task->prehandler is only used by TASKFILE[_MULTI]_OUT so just use pre_task_out_intr() directly and remove no longer needed 'prehandler' field from ide_task_t. * Remove no longer needed ide_pre_handler_t type. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1edee60e9d994f2b9a79b1333be39790683541fe Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:15 2008 +0100 ide: merge flagged_taskfile() into do_rw_taskfile() Based on the earlier work by Tejun Heo. task->data_phase == TASKFILE_MULTI_{IN,OUT} vs drive->mult_count == 0 check is needed also for ide_taskfile_ioctl() requests that don't have IDE_TFLAG_FLAGGED taskfile flag set. Cc: Tejun Heo Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a7bbd20b50fb12b3a604c396b3d8a3449a43edcc Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:15 2008 +0100 ide-disk: guarantee 400ns delay after writing command register Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit cf77249ee1a37aab37f39ea1dde9a53c23693655 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:15 2008 +0100 ide-disk: fix __ide_do_rw_disk() to use ->OUTBSYNC Fix __ide_do_rw_disk() to use ->OUTBSYNC instead of ->OUTB (needed for pmac and scc_pata host drivers). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7c0e26661dd104aaeb1391063cc986ddc0ac4aa4 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:14 2008 +0100 sc1200: remove pointless hwif lookup loop Save PCI regs values for both IDE ports in one buffer, in order to eliminate a needless and ugly loop across all hwifs, searching for our PCI device. Partially based on the previous patch by Jeff Garzik. Cc: Jeff Garzik Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 866e2ec9ce525de0e7c10d02ead8d85af27adffd Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:14 2008 +0100 ide: remove 'tf_in_flags' field from ide_task_t * Add IDE_TFLAG_IN_DATA taskfile flag to indicate the need of reading IDE_DATA_REG in ide_end_drive_cmd(). Set the new flag in ide_taskfile_ioctl() if ->in_flags.b.data is set. * Add IDE_TFLAG_FLAGGED_SET_IN_FLAGS taskfile flag to indicate the need of modifying ->in_flags in ide_taskfile_ioctl(). Set the new flag in flagged_taskfile() and move the code modifying ->tf_in_flags to ide_taskfile_ioctl(). While at it remove the bogus comment: ->tf_in_flags (except .b.data) have no effect on selection of registers to read. * Remove no longer needed 'tf_in_flags' field from ide_task_t. As the result we finally have the internals of HDIO_DRIVE_TASKFILE ioctl separated from the core IDE code. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ac026ff254b32915bb14ba97a23b4019d137f181 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:14 2008 +0100 ide: remove 'command_type' field from ide_task_t * Add 'data_buf' and 'nsect' variables in ide_taskfile_ioctl() to cache data buffer pointer and number of sectors to transfer (this allows us to have only one ide_diag_taskfile() call). * Add IDE_TFLAG_WRITE taskfile flag and use it to check whether the REQ_RW request flag should be set. * Move ->command_type handling from ide_diag_taskfile() to ide_taskfile_ioctl() and use ->req_cmd instead of ->command_type. * Add 'nsect' parameter to ide_raw_taskfile(). * Merge ide_diag_taskfile() into ide_raw_taskfile(). * Initialize ->data_phase explicitly in idedisk_prepare_flush(), ide_start_power_step() and ide_disk_special(). * Remove no longer needed 'command_type' field from ide_task_t. * Add #ifndef/#endif __KERNEL__ to around no longer used by kernel IDE_DRIVE_TASK_* and TASKFILE_* defines. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7299a3918442dc9a5abb71b9f65b1dd17637c8c0 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:14 2008 +0100 ide: remove hwif->intrproc Given that: * hpt366.c::hpt3xx_intrproc() is the only user of hwif->intrproc * hpt366.c::hpt3xx_quirkproc() sets drive->quirk_list to 1 for quirky drives which is a value unique to hpt366 host driver we can remove hwif->intproc and just check for drive->quirk_list == 1 in ide_do_request(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f919790f8c929ab1b392ad1a0c2e1b53337b5071 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:13 2008 +0100 ide: remove SELECT_INTERRUPT() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit cd3dbc99da337f2130f3cb2691fbb65c8bf22337 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:13 2008 +0100 ide: remove QUIRK_LIST() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2fc573881957337c4ea1c84b92d2f27d076cad57 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:13 2008 +0100 ide: add ide_pktcmd_tf_load() helper Add ide_pktcmd_tf_load() helper and convert ATAPI device drivers to use it. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 932aead6d21b631b2058255981824008a6eae32e Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:13 2008 +0100 ide-{floppy,tape,scsi}: fix register loading order when issuing packet command Load IDE_BCOUNTL_REG before IDE_BCOUNTH_REG when issuing packet command. It shouldn't affect anything (just a usual paranoia to separate changes which change the way in which hardware is accessed from code cleanups). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3a6a3549afe7dfe212b6384106bec957bb393f3a Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:13 2008 +0100 ide-cd: fix register loading order in cdrom_start_packet_command() Load IDE_CONTROL_REG before other registers in cdrom_start_packet_command(). It shouldn't affect anything (just a usual paranoia to separate changes which change the way in which hardware is accessed from code cleanups). While at it move misplaced FIXME comment in the right place. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8e7657ae0f56c14882e53ffdae8055c2b1624de1 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:12 2008 +0100 ide: remove atapi_ireason_t (take 3) Remove atapi_ireason_t. While at it: * replace 'HWIF(drive)' by 'drive->hwif' (or just 'hwif' where possible) v2: * v1 had CD and IO bits reversed in many places. * Use CD and IO defines from . v3: * Fix incorrect "(ireason & IO) == test_bit()". (Noticed by Sergei) Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 790d1239898d4f893112280decd344d90f43ee96 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:12 2008 +0100 ide: remove ata_nsector_t, ata_data_t and atapi_bcount_t Remove ata_nsector_t, ata_data_t (unused) and atapi_bcount_t. While at it: * replace 'HWIF(drive)' by 'hwif' Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e5f9f5a89a01abc2b9c09747452aeb9218d6bffd Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:12 2008 +0100 ide: remove atapi_feature_t Remove atapi_feature_t. While at it: * replace 'HWIF(drive)' by 'hwif' Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0e38a66a1e69821ab57a06d5a7b11f0df9275bf4 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:12 2008 +0100 ide: remove atapi_error_t (take 2) Remove atapi_error_t. While at it: * replace 'HWIF(drive)' by 'drive->hwif' v2: * Add {ILI,EOM,LFS}_ERR defines to . Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 22c525b976778cce5bb6f8fdcc70046168c54b1a Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:11 2008 +0100 ide: remove ata_status_t and atapi_status_t Remove ata_status_t (unused) and atapi_status_t. While at it: * replace 'HWIF(drive)' by 'drive->hwif' (or just 'hwif' where possible) Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6a2144146aa2e0eb60e48ba73ac0e1c51346edf6 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:11 2008 +0100 ide: CPU endianness doesn't matter for special_t special_t is used only internally by the IDE subsystem (it isn't related to hardware registers and isn't exported to the user-space). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 918337a85366ad0f1c4c08ebe45e4fb1e3a3c15f Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:11 2008 +0100 ide-floppy: remove dead code Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 29ed2a5f8c4380959f18e9cbaff13bc61e09889c Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:11 2008 +0100 ide: remove REQ_TYPE_ATA_TASK Based on the earlier work by Tejun Heo. All users are gone so we can finally remove it. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 14b89ef9814614f18a1fcae51e601e7e16a82ef7 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:11 2008 +0100 ide: switch ide_task_ioctl() to use REQ_TYPE_ATA_TASKFILE requests Based on the earlier work by Tejun Heo. There should be no functionality changes caused by this patch. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 813a0eb233ee67d7166241a8b389b6a76f2247f9 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:10 2008 +0100 ide: switch idedisk_prepare_flush() to use REQ_TYPE_ATA_TASKFILE requests Based on the earlier work by Tejun Heo. There should be no functionality changes caused by this patch. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 1f2564b8b56b305ab9acf5d387abca950180dff6 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:10 2008 +0100 ide: extend timeout for REQ_TYPE_ATA_{CMD,TASK} requests Extend timeout for REQ_TYPE_ATA_{CMD,TASK} requests from WAIT_CMD (10sec) to WAIT_WORSTCASE (30sec, already used for REQ_TYPE_ATA_TASKFILE). Signed-off-by: Bartlomiej Zolnierkiewicz commit a3bbb9d882dc94fe3a1361596ab9ce55d84059ea Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:10 2008 +0100 ide: remove unnecessary writes to HOB taskfile registers * Set taskfile flags for REQ_TYPE_ATA_TASKFILE requests before adding the request to the queue. * Cleanup execute_drive_cmd(). * Remove unnecessary writes to HOB taskfile registers when using LBA48 disk for the following cases: - Power Management requests (WIN_FLUSH_CACHE[_EXT], WIN_STANDBYNOW1, WIN_IDLEIMMEDIATE commands) - special commands (WIN_SPECIFY, WIN_RESTORE, WIN_SETMULT) - Host Protected Area support (WIN_READ_NATIVE_MAX, WIN_SET_MAX) - /proc/ide/ SMART support (WIN_SMART with SMART_ENABLE, SMART_READ_VALUES and SMART_READ_THRESHOLDS subcommands) - write cache enabling/disabling in ide-disk (WIN_SETFEATURES with SETFEATURES_{EN,DIS}_WCACHE) - write cache flushing in ide-disk (WIN_FLUSH_CACHE[_EXT]) - acoustic management in ide-disk (WIN_SETFEATURES with SETFEATURES_{EN,DIS}_AAM) - door (un)locking in ide-disk (WIN_DOORLOCK, WIN_DOORUNLOCK) - /proc/ide/hd?/identify support (WIN_IDENTIFY) - ACPI _GTF taskfiles Signed-off-by: Bartlomiej Zolnierkiewicz commit 868e672ac8db650dde695a5707a6caf5a757e7d9 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:10 2008 +0100 ide: use IDE_TFLAG_LBA48 for REQ_TYPE_ATA_TASKFILE requests * Use IDE_TFLAG_LBA48 for REQ_TYPE_ATA_TASKFILE requests in ide_end_drive_cmd() to decide whether we need to read HOB taskfile registers. * Update execute_drive_cmd() accordingly. This is a preparation for the next patch which removes unnecessary writes to HOB taskfile registers for some ATA commands. Signed-off-by: Bartlomiej Zolnierkiewicz commit 807e35d695690011faa1ce3ad67dfc23c1e39bdc Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:10 2008 +0100 ide: use ide_tf_load() in execute_drive_cmd() * Add IDE_TFLAG_OUT_DEVICE taskfile flag to indicate the need of writing the Device register and handle it in ide_tf_load(). Update ide_tf_load() and {do_rw,flagged}_taskfile() users accordingly. * Use struct ide_taskfile and ide_tf_load() in execute_drive_cmd(). * Make the debugging code dump all taskfile registers for both REQ_ATA_TYPE_{CMD,TASK} requests and move it to ide_tf_load() so it also covers REQ_ATA_TYPE_TASKFILE requests. There should be no functionality changes caused by this patch (unless DEBUG is defined). Signed-off-by: Bartlomiej Zolnierkiewicz commit 54688aa372cbc83c4361bfb9236f9bfe02168e19 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:09 2008 +0100 ide: remove ide_cmd() helper * Remove ide_cmd() helper. * Clear nIEN and call SELECT_MASK() before writing taskfile registers. Signed-off-by: Bartlomiej Zolnierkiewicz commit 21d535c91362a1a3bbb299b2e7214c1a6971ef95 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:09 2008 +0100 ide: execute_drive_cmd() cleanup * Rename 'args' variable in 'if (rq->cmd_type == REQ_TYPE_ATA_TASKFILE)' block to 'task'. * execute_drive_cmd() is used only for REQ_TYPE_ATA_{CMD,TASK,TASKFILE} so we can move the common code out from 'if (rq->cmd_type == REQ_TYPE_ATA_CMD)' and 'if (rq->cmd_type == REQ_TYPE_ATA_TASK)' blocks. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6dd87233bccc6416dac3b78ac912fd017918efe6 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:09 2008 +0100 ide: fix registers loading order for IDE_NSECTOR_REG in execute_drive_cmd() Move loading of IDE_NSECTOR_REG from ide_cmd() to execute_drive_cmd() (load the IDE_NSECTOR_REG just after IDE_FEATURE_REG). This also allows us to drop 'nsect' argument from ide_cmd() and simplify execute_drive_cmd() code for REQ_TYPE_ATA_CMD case a bit. It shouldn't affect anything (just a usual paranoia to separate changes which change the way in which hardware is accessed from code cleanups). Signed-off-by: Bartlomiej Zolnierkiewicz commit 46f26c362d5109459f04f99e93fc0413d88516c8 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:09 2008 +0100 ide: fix registers loading order for WIN_SMART in execute_drive_cmd() Fix registers loading order for REQ_TYPE_ATA_CMD request with WIN_SMART command in execute_drive_cmd() (load IDE_FEATURE_REG and IDE_SECTOR_REG before loading IDE_LCYL_REG and IDE_HCYL_REG). It shouldn't affect anything (just a usual paranoia to separate changes which change the way in which hardware is accessed from code cleanups). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d3bb03438c58b2a00f07a59175d4156a9952d825 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:08 2008 +0100 ide-tape: remove dead USE_IOTRACE code Signed-off-by: Bartlomiej Zolnierkiewicz commit 4ee06b7e677da4c75f2fcc5fd850543852d18bf2 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:08 2008 +0100 ide: remove stale ide.h "configuration options" Remove stale ide.h "configuration options": * INITIAL_MULT_COUNT - always defined to 0 * SUPPORT_SLOW_DATA_PORTS - unused * OK_TO_RESET_CONTROLLER - always defined to 1 * DISABLE_IRQ_NOSYNC - always defined to 0 Leave SUPPORT_VLB_SYNC (defined to 0 for CRIS and FRV, otherwise to 1) for now but disallow overriding it by . There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f1ca6d37f991347b87d86430db42e2ab139d1b1d Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:08 2008 +0100 ide: remove CONFIG_IDEPCI_SHARE_IRQ config option We can safely remove CONFIG_IDEPCI_SHARE_IRQ and always support PCI IRQ sharing. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7b5da4be3718c6b4cd771fb82e3e481b04790f0e Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:08 2008 +0100 ide: remove IRQF_DISABLED from IRQ flags for IDE IRQ handler IRQF_DISABLED is not needed because the first thing that ide_intr() (IDE IRQ handler) does is calling spin_lock_irqsave() which disables local IRQs (IRQ unmasking is later handled by drive->unmask). kernel/irq/handle.c: irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action) ... if (!(action->flags & IRQF_DISABLED)) local_irq_enable_in_hardirq(); do { ret = action->handler(irq, action->dev_id); if (ret == IRQ_HANDLED) status |= action->flags; retval |= ret; action = action->next; } while (action); ... drivers/ide/ide-io.c: irqreturn_t ide_intr (int irq, void *dev_id) ... spin_lock_irqsave(&ide_lock, flags); ... spin_unlock(&ide_lock); ... if (drive->unmask) local_irq_enable_in_hardirq(); ... Signed-off-by: Bartlomiej Zolnierkiewicz commit d26805fd025abe1ab8785b23a7942cfb6ceffd75 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:07 2008 +0100 ide-pmac: fix pmac_ide_init_hwif_ports() * pmac_ide_init_hwif_ports() can be called by ide_init_hwif_ports() (through ppc_ide_md.ide_init_hwif hook) for non IDE PMAC interfaces. If this is the case the hw->io_ports[] should be already setup by ide_init_hwif_ports()->ide_std_init_ports() so remove redundant code from pmac_ide_init_hwif_ports(). As side-effect this change fixes ctl_addr == 0 special handling in ide_init_hwif_ports(). * Fix misleading comment while at it. Cc: Benjamin Herrenschmidt Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 74095a91ed02f6727b62d4416be00a041f2d7436 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:07 2008 +0100 ide: use do_rw_taskfile() in flagged_taskfile() Based on the earlier work by Tejun Heo. * Move setting IDE_TFLAG_LBA48 taskfile flag from do_rw_taskfile() function to the callers. * Add IDE_TFLAG_FLAGGED taskfile flag for flagged taskfiles coming from ide_taskfile_ioctl(). Check it instead of ->tf_out_flags.all. * Add IDE_TFLAG_OUT_DATA taskfile flag to indicate the need to load IDE data register in ide_tf_load(). * Add IDE_TFLAG_OUT_* taskfile flags to indicate the need to load particular IDE taskfile registers in ide_tf_load(). * Update do_rw_taskfile() and ide_tf_load() users to set respective IDE_TFLAG_OUT_* taksfile flags. * Add task_dma_ok() helper. * Use IDE_TFLAG_FLAGGED taskfile flag to select HIHI mask in ide_tf_load(). * Use do_rw_taskfile() in flagged_taskfile(). * Remove no longer needed 'tf_out_flags' field from ide_task_t. There should be no functionality changes caused by this patch. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 9a3c49be5c5f7388eefb712be9a383904140532e Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:07 2008 +0100 ide: add ide_no_data_taskfile() helper * Add ide_no_data_taskfile() helper and convert ide_raw_taskfile() w/ NO DATA protocol users to use it instead. * Set ->data_phase explicitly in ide_no_data_taskfile() (TASKFILE_NO_DATA is defined as 0x0000). * Unexport task_no_data_intr(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9e42237f26cf517a3f682505f03a3a8d89b3b35d Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:07 2008 +0100 ide: add ide_tf_load() helper Based on the earlier work by Tejun Heo. * Add 'tf_flags' field (for taskfile flags) to ide_task_t. * Add IDE_TFLAG_LBA48 taskfile flag for LBA48 taskfiles. * Add IDE_TFLAG_NO_SELECT_MASK taskfile flag for __ide_do_rw_disk() which doesn't use SELECT_MASK() (looks like a bug but it requires some more investigation). * Split off ide_tf_load() helper from do_rw_taskfile(). * Convert __ide_do_rw_disk() to use ide_tf_load(). There should be no functionality changes caused by this patch. Cc: Tejun Heo Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2bd06b23e2a099abbf550202f62cd433e01f83e7 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:06 2008 +0100 ide-disk: use struct ide_taskfile in __ide_do_rw_disk() Based on the earlier work by Tejun Heo. There should be no functionality changes caused by this patch. Cc: Tejun Heo Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d00e42dd26bbda6a39aead6a47c59221e03a08f8 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:06 2008 +0100 ide-disk: fix taskfile registers loading order in __ide_do_rw_disk() Load IDE_SECTOR_REG after IDE_FEATURE_REG and IDE_NSECTOR_REG when using CHS. This patch is basically a preparation for the next one which converts __ide_do_rw_disk() to use struct ide_taskfile. It shouldn't affect anything (just a usual paranoia to separate changes which change the way in which hardware is accessed from code cleanups). Signed-off-by: Bartlomiej Zolnierkiewicz commit 7a3b7512d0d7e78353e99f4538eb6d3354019d92 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:06 2008 +0100 ide-disk: merge LBA28 and LBA48 Host Protected Area support code (take 2) * Merge idedisk_{read_native,set}_max_address_ext() into idedisk_{read_native,set}_max_address(). v2: * Remove LBA48 code leftover from idedisk_read_native_max_address() ('high' variable initialization). (Noticed by Sergei). There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 650d841d9e053a618dd8ce753422f91b493cf2f6 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:06 2008 +0100 ide: add struct ide_taskfile (take 2) * Don't set write-only ide_task_t.hobRegister[6] and ide_task_t.hobRegister[7] in idedisk_set_max_address_ext(). * Add struct ide_taskfile and use it in ide_task_t instead of tfRegister[] and hobRegister[]. * Remove no longer needed IDE_CONTROL_OFFSET_HOB define. * Add #ifndef/#endif __KERNEL__ around definitions of {task,hob}_struct_t. While at it: * Use ATA_LBA define for LBA bit (0x40) as suggested by Tejun Heo. v2: * Add missing newlines. (Noticed by Sergei) * Use ~ATA_LBA instead of 0xBF. (Noticed by Sergei) * Use unnamed unions for error/feature and status/command. (Suggested by Sergei). There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit cd2a2d969761c26542095c01324201ca0b3ee896 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:06 2008 +0100 ide: remove task_ioreg_t typedef (take 2) Remove task_ioreg_t typedef from the kernel code (but leave it in for #ifndef/#endif __KERNEL__ case). While at it also move sata_ioreg_t typedef under #ifndef/#endif __KERNEL__. v2: Remove name of the second parameter from ide_execute_command() declaration. (Noticed by Sergei). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1c029fd658baa2442e8e51dc9c819301cad95777 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:05 2008 +0100 ide: remove ->dma_master field from ide_hwif_t (take 5) * Convert cmd64x, hpt366 and pdc202xx_old host drivers to use pci_resource_start(hwif->pci_dev, 4) instead of hwif->dma_master. * Remove no longer needed ->dma_master field from ide_hwif_t. v2: * Use the more readable 'hwif->dma_base - (hwif->channel * 8)' instead of pci_resource_start(hwif->pci_dev, 4). v3: * Use hwif->extra_base in hpt366/pdc20xx_old + some cosmetic fixups over v2 (suggested by Sergei). v4: * Correct offsets in hpt3xxn_set_clock(). v5: * Use hwif->extra_base in hpt366 for _real_ this time. (Noticed by Sergei) Acked-by: Sergei Shtylyov Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 866664d79f6a920af07e6503f64366f4c5b2d41f Author: Sergei Shtylyov Date: Fri Jan 25 22:17:05 2008 +0100 hpt366: merge set_dma_mode() methods Group the array of pointers to the timing tables with the timing register masks which allows us to merge HPT36x/HPT37x set_dma_mode() methods into one. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a488f34e0dc7180f35fe48a60596fc82fe69d3ef Author: Sergei Shtylyov Date: Fri Jan 25 22:17:05 2008 +0100 hpt366: kill set_dma_mode() method wrapper There's no reason to keep the set_dma_mode() method wrapper for two different chip families, so get rid of it... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ceb1b2c583a9503e3ae68c4e7c652637971e3768 Author: Sergei Shtylyov Date: Fri Jan 25 22:17:04 2008 +0100 hpt366: change timing register masks Since PIO autotuning is now done always, there's no need anymore to program the taskfile timings also on DMA modes, so change the IDE timing register masks accordingly, "inverting the polarity" of the masks while at it... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b5e1a4e2869af5ffaa102535ad63d184d86e66ec Author: Aristeu Rozanski Date: Fri Jan 25 22:17:04 2008 +0100 ide-io: set REQ_FAILED when drive is dead Currently it's possible to ide-cd to set an incorrect blocksize by reading garbage if the drive is dead: ide_cd_probe() -> cdrom_read_toc() -> cdrom_read_capacity() -> cdrom_queue_packet_command() -> ide_do_drive_cmd() -> ide_do_request() -> start_request() on start_request(): /* bail early if we've exceeded max_failures */ if (drive->max_failures && (drive->failures > drive->max_failures)) { goto kill_rq; } (...) kill_rq: ide_kill_rq(drive, rq); return ide_stopped; ide_kill_rq() and the next calls won't set REQ_FAILED on rq->cmd_flags and thus cdrom_queue_packet_command() won't return an error. then: stat = cdrom_queue_packet_command(drive, &req); if (stat == 0) { *capacity = 1 + be32_to_cpu(capbuf.lba); *sectors_per_frame = be32_to_cpu(capbuf.blocklen) >> SECTOR_BITS; } cdrom_read_capacity() ends believing capbuf is valid but in fact it's just uninitialized data. back to cdrom_read_toc(): /* Try to get the total cdrom capacity and sector size. */ stat = cdrom_read_capacity(drive, &toc->capacity, §ors_per_frame, sense); if (stat) toc->capacity = 0x1fffff; set_capacity(info->disk, toc->capacity * sectors_per_frame); /* Save a private copy of te TOC capacity for error handling */ drive->probed_capacity = toc->capacity * sectors_per_frame; blk_queue_hardsect_size(drive->queue, sectors_per_frame << SECTOR_BITS); that will set drive->queue->hardsect_size to be the random value. hardsect_size is used to calculate inode->i_blkbits. later on, on a read path: void create_empty_buffers(struct page *page, unsigned long blocksize, unsigned long b_state) { struct buffer_head *bh, *head, *tail; head = alloc_page_buffers(page, blocksize, 1); bh = head; do { bh->b_state |= b_state; tail = bh; bh = bh->b_this_page; } while (bh); tail->b_this_page = head; alloc_page_buffers() will return NULL if blocksize > 4096. blocksize is calculed based on inode->i_blkbits. that will trigger a null dereference on create_empty_buffers(). Signed-off-by: Aristeu Rozanski Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit a999337b49fcdd2c4a475e97e4b8337ebdfa4abf Author: Randy Dunlap Date: Wed Jan 23 02:39:39 2008 -0300 V4L/DVB (7078): radio: fix sf16fmi section mismatch isapnp_fmi_probe() is only called by fmi_init(), which is __init, so isapnp_fmi_probe() can also be __init. media/radio/radio-sf16fmi.c: WARNING: vmlinux.o(.text+0x994e19): Section mismatch: reference to .init.data: (between 'isapnp_fmi_probe' and 'vidioc_s_tuner') WARNING: vmlinux.o(.text+0x994e22): Section mismatch: reference to .init.data: (between 'isapnp_fmi_probe' and 'vidioc_s_tuner') WARNING: vmlinux.o(.text+0x994e3a): Section mismatch: reference to .init.data:id_table (between 'isapnp_fmi_probe' and 'vidioc_s_tuner') Signed-off-by: Randy Dunlap Acked-by: Sam Ravnborg Signed-off-by: Mauro Carvalho Chehab commit 386900781205d203c1141d3e2dae759f1b531193 Author: Akinobu Mita Date: Mon Jan 21 12:15:19 2008 -0300 V4L/DVB (7077): bt878: remove handcrafted PCI subsystem ID check This patch moves the subsystem ID and subsystem vendor ID check from probing function to the PCI generic function by describing subsystem IDs in pci_device_id table. This enables to add new PCI IDs to a device driver pci_ids table at runtime by new_id file in sysfs pci driver tree. Signed-off-by: Akinobu Mita Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 4a2b108379743405bc488eaef6a75080aa1bbba4 Author: Patrick Boettcher Date: Fri Jan 25 07:32:58 2008 -0300 V4L/DVB (7075): Make a local function static Make a local function static Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 904a82e3e27b57a2518f7575c0cab9b6aaddc422 Author: Patrick Boettcher Date: Fri Jan 25 07:31:58 2008 -0300 V4L/DVB (7074): DiB7000P: correct tuning problem for 7MHz channel Tuning problem for 7Mhz channels fixes Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 3cb2c39ded029b8572cf7625b8042e9984d63c2c Author: Patrick Boettcher Date: Fri Jan 25 07:25:20 2008 -0300 V4L/DVB (7073): DiB7070: Reception quality improved Removing two bugs to improve sensitivity for DiB7070 and Dib7000P with MT2266. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit c52344fdc49665a4eeef24236750b49637d6982f Author: Olivier DANET Date: Fri Jan 25 06:50:07 2008 -0300 V4L/DVB (7072): sets the MT2060 IF1 frequency according to EEPROM Here is a patch for Hauppage Nova-T-Stick and Nova-T-500 users. It sets the MT2060 IF1 frequency according to the calibration values stored in the EEPROM. It is supposed to enhance the signal quality, but, hey, there is no guarantee. Feedbacks would be much appreciated, to know whether it deserves being applied. Signed-off-by: Olivier DANET Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit a162abb06bda3f38750a208e85e27f419798aa79 Author: Patrick Boettcher Date: Fri Jan 25 06:37:57 2008 -0300 V4L/DVB (7071): DiB0700: Start streaming the right way There was a mistake in the way how to start the streaming in the dib0700. This patch fixes that. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 853ea132c75ff2c4e3c3aaf61bf3ef5779774dbc Author: Soeren Moch Date: Fri Jan 25 06:27:06 2008 -0300 V4L/DVB (7070): Fix some tuning problems The attached patch solves all my vdr tuning problems on a dib7000p nova-t stick as far as I could check within the last weekend. It disables streaming while tuning, like that the number of faulty TS packets is reduced. Signed-off-by: Soeren Moch Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 13b83b5d516abe2610ae7812267d7d322050bf68 Author: Darren Salt Date: Fri Jan 25 06:20:02 2008 -0300 V4L/DVB (7069): Support for myTV.t Here's a roll-up which provides support for both this and the myTV.t. Signed-off-by: Darren Salt Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit c7637b1a31bb0470e1247f1923a323c90927ac37 Author: Tim Taubert Date: Fri Jan 25 06:16:36 2008 -0300 V4L/DVB (7068): Add support for WinTV Nova-T-CE driver Add support for WinTV Nova-T-CE driver Signed-off-by: Tim Taubert Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 3a0311c6c539bd022a65d298355471aacbd7a618 Author: Jose Alberto Reguero Date: Fri Jan 25 06:05:16 2008 -0300 V4L/DVB (7067): fix autoserach in the Hauppauge NOVA-T 500 This patch fix autoserach in the Hauppauge NOVA-T 500. Signed-off-by: Jose Alberto Reguero Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 132c3188433bcb149ee764be1ca9a69f6d719dfe Author: Daniel Gimpelevich Date: Fri Jan 25 06:02:42 2008 -0300 V4L/DVB (7066): ASUS My Cinema U3000 Mini DVBT Tuner Adding support for ASUS My Cinema U3000 Mini DVBT Tuner Signed-off-by: Daniel Gimpelevich Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 7999a8161d06326f3c4cb797fcf0de8b2eb08253 Author: Yousef Lamlum Date: Fri Jan 25 05:51:48 2008 -0300 V4L/DVB (7065): Artec T14BR patches Added Artec T14BR support Signed-off-by: Yousef Lamlum Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 5ea60531c1c6164788ea7d6efecdf575adc543ff Author: Steven Toth Date: Thu Jan 24 22:29:46 2008 -0300 V4L/DVB (7063): xc5000: Fix OOPS caused by missing firmware xc5000: Fix OOPS caused by missing firmware. Signed-off-by: Chaogui Zhang Acked-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 2fb8840663cf0e476549104a2c09caa0fb3b4bc9 Author: Tobias Lorenz Date: Fri Jan 25 05:14:57 2008 -0300 V4L/DVB (7062): radio-si570x: Some fixes and new USB ID addition - avoid poss. locking when doing copy_to_user which may sleep - RDS is automatically activated on read now - code cleaned of unnecessary rds_commands - USB Vendor/Product ID for ADS/Tech FM Radio Receiver verified (thanks to Guillaume RAMOUSSE) Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 8bf5e5ca394441e56f68300dc4e7b26b79ddfe0b Author: Tobias Lorenz Date: Fri Jan 25 04:19:48 2008 -0300 V4L/DVB (7061): radio-si470x: Some cleanups - code reordered to avoid function prototypes - switch/case defaults are now more user-friendly - unified comment style - applied all checkpatch.pl v1.12 suggestions except the warning about the too long lines with bit comments - renamed FMRADIO to RADIO to cut line length (checkpatch.pl) Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit ed086314f4e41eb90a9107c7fb2737230686f668 Author: Mauro Carvalho Chehab Date: Thu Jan 24 06:59:20 2008 -0300 V4L/DVB (7060): em28xx: remove has_tuner has_tuner flag doesn't make much sense, since tuner_type=TUNER_ABSENT means the same thing. Having two ways to say that a tuner is not present is not nice, since it may lead to bad setups. In fact, with the previous code, if a device were using has_tuner=0, but the user forces a tuner, with modprobe option tuner=type, the modprobe option won't work. Also, tveeprom returns TUNER_ABSENT, when tuner is unknown or absent. So, with the previous logic, in this case, the driver should set has_tuner=0, or has_tuner=1 otherwise. Instead of adding several additional tests and setups, better just to remove .has_tuner. Signed-off-by: Mauro Carvalho Chehab commit 72e04f720f23cfa8d4400d832784f3a424379227 Author: Steven Toth Date: Tue Jan 22 01:03:10 2008 -0300 V4L/DVB (7059): cx88: Ensure the tuner is reset correctly Previous patches assume the tuner was on a different gpio. This patch corrects this. Signed-off-by: Steven Toth Signed-off-by: Chaogui Zhang Signed-off-by: Mauro Carvalho Chehab commit 9121106a7f149f9702ed7c2ac0d86e9feb54ede8 Author: Steven Toth Date: Tue Jan 22 01:00:33 2008 -0300 V4L/DVB (7058): IR corrections for the Pinnacle 800i IR corrections for the Pinnacle 800i Signed-off-by: Steven Toth Signed-off-by: Chaogui Zhang Signed-off-by: Mauro Carvalho Chehab commit 1641002bf56c1da265f2c49ea1c29baba997e63b Author: Michael Krufky Date: Mon Jan 21 12:01:34 2008 -0300 V4L/DVB (7056): tuner: suppress obsolete tuner i2c address warning for XC5000 tuners We already know that the XC5000 tuner can only be located at i2c address 0x61, 0x62, 0x63 or 0x64 We shouldn't display this warning if the XC5000 tuner is present. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0f2ce9834246519e483e89dbc7225fe1fcbd30a8 Author: Michael Krufky Date: Mon Jan 21 10:55:37 2008 -0300 V4L/DVB (7055): make tuner names consistent with standard cases Change TDA9887 to tda9887. TDA8290 shall reflect the actual hardware present in its name, ie: tda8295+18271 tda8290+8275a Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8cb9329309cfc6c922f46bfe05ed6f40d5b1cb56 Author: Luca Olivetti Date: Sun Jan 20 17:56:43 2008 -0300 V4L/DVB (7054): ansonic branded dvb-t usb stick support in the af9005 driver Marcos Melero (marcosmelero at gmail.com) reported he could make his dvb-t usb stick work with the af9005 driver by changing the device ids (10b9:6000). The stick is branded "Ansonic" (one of the brands of a spanish chain of supermarkets) with no other identification of the model. Since neither Marcos nor me know the OEM for the stick, in the attached patch I used Ansonic for the ids/description. Signed-off-by: Luca Olivetti Signed-off-by: Mauro Carvalho Chehab commit ed73683f06475531fb39e7ae9afe3011e4c5f8c1 Author: Michael Krufky Date: Sat Jan 19 17:41:04 2008 -0300 V4L/DVB (7052): tda18271: when tuning digital, the analog demod must be tri-stated Call analog_ops.standby during tda18271_set_params, to put the tda8295 in tri-state when tuning digital channels. Otherwise the tda8295 will interfere with the signal coming from the tda18271 into the digital demodulator. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3473e342d79be938497a31caedd3c4e8d562485f Author: Mauro Carvalho Chehab Date: Mon Jan 7 10:45:47 2008 -0300 V4L/DVB (7051): Cleans up error handling on or51xxx_attach state is already NULL. Reviewed-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 4e8a23ea3c1333561f8d0f5daee53feee3e85b8a Author: Michael Krufky Date: Thu Jan 17 14:54:53 2008 -0300 V4L/DVB (7047): fix broken build when CONFIG_USB_SI470X is set Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4917019d190d9809287308c4866cbc47d6c1000b Author: Steven Toth Date: Tue Jan 15 21:57:14 2008 -0300 V4L/DVB (7046): Finalise support for the Pinnacle HD 8000i Correctly set the atatch structures, enable IR, configure the xc5000 tuner includes. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 73c993a8294077ae1b724286da8ac323c25d90db Author: Steven Toth Date: Sat Jan 5 17:08:05 2008 -0300 V4L/DVB (7045): xc5000: Small amount of cleanup and commenting xc5000: Small amount of cleanup and commenting, just for clarification. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 8c70017f5793e68ea48085a65008d713c9a85dde Author: Steven Toth Date: Sat Jan 5 16:55:45 2008 -0300 V4L/DVB (7044): XC5000: Fix support for HVR1500Q broken by patch 1 From Zhang: This patch fixes support for the HVR1500Q which was broken when the xc5000 analog patch was added. Patch committed as-is, cleanups to follows .... Steve Signed-off-by: Chaogui Zhang Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 60464da8b1ed8d7c19563f58cadb0ca990448a36 Author: Steven Toth Date: Sat Jan 5 16:53:01 2008 -0300 V4L/DVB (7043): New card supported(partially): Pinnacle 800i From Zhang: This patch continues the support for the Pinnacle HD 800i. Patch committed as-is, cleanups to follow ... Steve Signed-off-by: Chaogui Zhang Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 27c685a4b09b5e391023d769cddb97e4fcb3b9e1 Author: Steven Toth Date: Sat Jan 5 16:50:14 2008 -0300 V4L/DVB (7042): xc5000: Tuner analog support From Zhang: This an updated patch that adds analog support for the xc5000 tuner driver. it was tested on a Pinnacle PCTV HD 800i card (patches to follow). Patch commited as-is, cleanup to follow ... Steve. Signed-off-by: Chaogui Zhang Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit dfc1c08aab447d49230dacb390d3f2263584d28f Author: Steven Toth Date: Tue Jan 15 21:35:22 2008 -0300 V4L/DVB (7041): s5h1409: Bug fix for parallel support Parallel support was not working with the s5h1409 and the Pinnacle HD800i. This patch fixes the demodulator driver and ensures that all existing s5h1409 based products configure the demodulator correctly. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 387d447776484b6e1d08973337aa4c834ea7c6bc Author: Mauro Carvalho Chehab Date: Tue Jan 15 11:25:10 2008 -0300 V4L/DVB (7039): Reorder headers The backports weren't tested, but compile fine. Signed-off-by: Mauro Carvalho Chehab commit 78656acdcf4852547a29e929a1b7a98d5ac65f17 Author: Tobias Lorenz Date: Mon Jan 14 21:55:27 2008 -0300 V4L/DVB (7038): USB radio driver for Silicon Labs Si470x FM Radio Receivers this patch adds a new driver for the Silicon Labs Si470x FM Radio Receiver. It should also work for the identical ADS/Tech FM Radio Receiver (formerly Instant FM Music) as soon as I find out the USB Vendor and Product ID. The driver is inspired by several other USB and radio drivers, but mainly from the D-Link DSB-R100 USB radio (dsbr100.c). The USB stick currently has an Si4701 FM RDS radio receiver. But the other Si470x devices are pin and register compatible, so that in the future the driver can easily be patched to support these too. Therefore I named the driver radio-si470x and the configuration option usb-si470x. The driver itself just provides the control function over the radio. For getting audio back, the device support the USB audio class, which is implemented in the already existing driver. I tested the driver in the last days, until it now satisfies all my functionality and robustness requirements. The application I used for testing was kradio. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 438468359e1db16a7d1925fc4f2519a044bbf7dd Author: Zoltan Devai Date: Mon Jan 14 13:24:38 2008 -0300 V4L/DVB (7037): Fix build breakage of the bttv driver, when advanced debugging is not enabled Signed-off-by: Zoltan Devai Signed-off-by: Mauro Carvalho Chehab commit f37fdf3ff744bffc35a8f1b9d7d655d8d88a0404 Author: Julia Lawall Date: Tue Jan 1 18:08:10 2008 -0300 V4L/DVB (7036): radio: Use video_device_release rather than kfree The file drivers/media/video/videodev.c defines both video_device_alloc and video_device_release. These are essentially just kzmalloc and kfree, respectively, but it seems better to use video_device_release, as done in the other media files, rather than kfree, in case the implementation some day changes. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @@ type T,T1,T2; identifier E; statement S; expression x1,x2,x3; int ret; @@ T E; ... * E = video_device_alloc(...); if (E == NULL) S ... when != video_device_release(...,(T1)E,...) when != if (E != NULL) { ... video_device_release(...,(T1)E,...); ...} when != x1 = (T1)E when != E = x3; when any if (...) { ... when != video_device_release(...,(T2)E,...) when != if (E != NULL) { ... video_device_release(...,(T2)E,...); ...} when != x2 = (T2)E ( * return; | * return ret; ) } // Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit a2a9b1eceb50993ef9e126dffc2f678fd6602158 Author: Julia Lawall Date: Fri Jan 11 22:03:42 2008 -0300 V4L/DVB (7035): drivers/media/common: Add missing video_device_release Video_device_alloc returns the result of a kzalloc. In this case, the value is stored in a local variable which is not copied elsewhere before the point of the error return (video_register_device does not save its first argument anywhere if it returns a negative value). Thus, a video_device_release it needed before the error return. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @@ type T,T1,T2; identifier E; statement S; expression x1,x2,x3; int ret; @@ T E; ... * E = video_device_alloc(...); if (E == NULL) S ... when != video_device_release(...,(T1)E,...) when != if (E != NULL) { ... video_device_release(...,(T1)E,...); ...} when != x1 = (T1)E when != E = x3; when any if (...) { ... when != video_device_release(...,(T2)E,...) when != if (E != NULL) { ... video_device_release(...,(T2)E,...); ...} when != x2 = (T2)E ( * return; | * return ret; ) } // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton CC: Oliver Endriss CC: Michael Hunold Signed-off-by: Mauro Carvalho Chehab commit bc835d80d9cd912cfa8beb6ad4549cd8160d3601 Author: Michael Krufky Date: Mon Jan 14 11:10:54 2008 -0300 V4L/DVB (7032): tda18271: tda18271_cal_on_startup should be declared static This module option variable is only handled within the file tda18271-fe.c - Declare this variable as static. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 99beeee9e927bf0c8d62e462a2fda86fa2c1450b Author: Michael Krufky Date: Sun Jan 13 20:02:52 2008 -0300 V4L/DVB (7030): Kconfig: add missing selections for VIDEO_PVRUSB2 VIDEO_PVRUSB2 must select: VIDEO_SAA711X, VIDEO_CX25840, VIDEO_MSP3400, and VIDEO_WM8775 Signed-off-by: Michael Krufky Acked-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 0f96251e7bfb2b2798f35e70efaa54bae65bfb9c Author: Michael Krufky Date: Sun Jan 13 22:01:07 2008 -0300 V4L/DVB (7029): tda18271: provide a choice whether to perform rf cal on init or on first tune If module option "cal" is set to 1, the ~22 sec rf tracking filter calibration sequence will be invoked on startup. Otherwise, the calibration will take place during the first tune. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 839c6c96d05894815b7af0dff22b710ce5a4373a Author: Michael Krufky Date: Sun Jan 13 18:29:44 2008 -0300 V4L/DVB (7028): tda18271: test RF_CAL_OK to see if we need additional RF calibration Test RF_CAL_OK to see if we need to perform the RF tracking filter calibration after returning from standby. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 518d87399baee908b0353bc0ef7d41c3c46295ec Author: Michael Krufky Date: Sun Jan 13 17:01:01 2008 -0300 V4L/DVB (7027): tda18271: put the device in standby mode during sleep() Add function, tda18271_set_standby_mode. During sleep, enter standby mode with slave tuner output enabled, loop through on and xtal oscillator on. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6bfa6657246013bf999fecda0874105441f6ecb5 Author: Michael Krufky Date: Mon Jan 7 00:51:48 2008 -0300 V4L/DVB (7026): tda18271: report when the RF tracking filter calibration has completed Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6200bbaa5bd8b6751931364dfa4aa1cdd5efa686 Author: Thierry MERLE Date: Thu Jan 10 18:20:34 2008 -0300 V4L/DVB (7024): usbvision: YUV to RGB conversion fixes All YUV to RGB conversions in usbvision were reverted (conversion to BGR but saying RGB to the application) Signed-off-by: Thierry MERLE Acked-by: Dwaine Garden Signed-off-by: Mauro Carvalho Chehab commit 1f8d30083abc17897b897787c39d446eb9d99fe0 Author: Mauro Carvalho Chehab Date: Sun Jan 13 19:40:30 2008 -0300 V4L/DVB (7023): Fix a regresion left by changeset 7e65d6e8f6df Changeset 7e65d6e8f6df removed a very bad hack on mmap(). However, the fixes weren't considering usermap and overlay memory models. This were breaking direct reading from /dev/video?, used mostly by mpeg aware drivers. Thanks to Steven Toth for reporting the issue and bissecting it. Signed-off-by: Mauro Carvalho Chehab commit dfd8c04ec14b88bc2849e62d6ff9e36f31352b60 Author: Mauro Carvalho Chehab Date: Sun Jan 13 19:36:11 2008 -0300 V4L/DVB (7022): Fix timestamp presentation on vivi driver Due to date overflow, vivi were not working fine anymore. Signed-off-by: Mauro Carvalho Chehab commit c8793b035df7b18997d1cf34254064dac166f009 Author: Mauro Carvalho Chehab Date: Sun Jan 13 15:42:17 2008 -0300 V4L/DVB (7021): Move all board specific configuration to em28xx-cards.c This cleanup moves the board-specific configurations to em28xx-cards.c. Signed-off-by: Mauro Carvalho Chehab commit 15b9becc68793209a2afd6c580bf71a71fee90a6 Author: Mauro Carvalho Chehab Date: Sun Jan 13 12:02:20 2008 -0300 V4L/DVB (7020): Add USB ID for a newer variant of Hauppauge WinTV USB2 Thanks to Jeroen Janssen Signed-off-by: Mauro Carvalho Chehab commit ec16dae5453eafd1586f35c4ec1ef854e5a808e0 Author: Jaime Velasco Juan Date: Sat Jan 12 06:48:14 2008 -0300 V4L/DVB (7019): V4L: add support for Syntek DC1125 webcams This driver supports cameras with USB ID 174f:a311 or 05e1:0501, and the ov965x sensors. These devices are found in some Asus laptops and probably somewhere else. It is based on the stk11xx driver written by Nicolas Vivien Signed-off-by: Jaime Velasco Juan Signed-off-by: Mauro Carvalho Chehab commit b6667e5fb8c478e65768fdb18fa6576ac1634068 Author: Hermann Pitton Date: Sat Jan 12 14:43:48 2008 -0300 V4L/DVB (7017): saa7134: add MSI TV@nywhere Plus with the older tda8275 tuner Thanks go to Mark Schultz for the initial contribution and to Dean Hilkewich for testing it again. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit a28cb828ef9ba6669be738dd9affbaba65cc07fb Author: Hermann Pitton Date: Sat Jan 12 14:31:03 2008 -0300 V4L/DVB (7016): saa7134: remove the Avermedia Super 007 from eeprom detection saa7134: remove the Avermedia Super 007 from eeprom detection The card made it into the Philips' Tigers eeprom detection and falls through. Since it has attracted already others to follow, which are wrongly identified as TIGER_S then, move it to the usual analog initialization. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit 4513fc696e273d64ea32f2366748aed810316ecc Author: Steven Toth Date: Sat Jan 12 11:36:36 2008 -0300 V4L/DVB (7014): cx23885: dprintk macro cleanup Added missing do { } while (0) Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit d685a483b8c92e3d0580b6c28e2ed531391c8c46 Author: Brett T. Warden Date: Thu Jan 10 04:33:31 2008 -0300 V4L/DVB (7013): bw-qcam: add module parameter 'force_init' to skip polite auto-detection prior to direct initialization Setting force_init=1 bypasses the friendly auto-detection by polling the status register, and instead attempts to initialize the qcam directly. Not friendly to other parallel devices, but much more reliable than the auto-detection. Signed-off-by: Brett T. Warden Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit a19602f26a24c32e491108b49790b106a6351f24 Author: Steven Toth Date: Thu Jan 10 11:43:18 2008 -0300 V4L/DVB (7011): cx23885: Cleanup of compiler defines and warnings Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 21a78091921915cd1afd0edb2940dd726edefe9b Author: Steven Toth Date: Thu Jan 10 04:38:59 2008 -0300 V4L/DVB (7010): cx23885: Small cleanup cx23885: Small cleanup Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit e47f30b140333525ea682ec672641b470da1e599 Author: Steven Toth Date: Thu Jan 10 04:25:59 2008 -0300 V4L/DVB (7009): cx23885: Video and VBI related files cx23885: Video and VBI related files. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit a57ed8a1f7381aa7e1bec6c55d5f119706f2982d Author: Steven Toth Date: Thu Jan 10 03:43:11 2008 -0300 V4L/DVB (7008): s5h1409: Ensure the silicon is initialized during attach If not it impacts on analog tuner quality. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 7b8880140ff6aec6a5bec7929b03ce0b96a7c79a Author: Steven Toth Date: Thu Jan 10 03:40:49 2008 -0300 V4L/DVB (7007): cx23885: Add basic video support for the HVR1800 This enabled basic preview NTSC and PAL support for the HVR1800. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit c771261330c90b7c77f686a1aa0fb4f756e07b5f Author: Steven Toth Date: Thu Jan 10 02:24:27 2008 -0300 V4L/DVB (7006): cx23885: Track the board clock frequency and allow overrides The cx23885/6/8 all have different clock rates, this patch allows the core to compensate, and developers to allow vendor specific overrides. This patches will be used by future analog video and encoder patches. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 69ad6e56bade948793957a295b3bf1376cffdf65 Author: Steven Toth Date: Thu Jan 10 02:16:41 2008 -0300 V4L/DVB (7005): cx23885: SRAM reallocation prior to analog video implementation We need to clear space large enough for the video and encoder fifos. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 5206d6ec36e2c66090c3c02c95b8d70c356a9ad3 Author: Steven Toth Date: Thu Jan 10 02:09:27 2008 -0300 V4L/DVB (7004): cx23885: Ensure HVR1800 TDA8295A is reset fully on module load Failure to do this means that a full system reboot is required if the part hangs. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 0ac5881aefc2dab8b3535c2e44fee6628acaf787 Author: Steven Toth Date: Thu Jan 10 02:06:35 2008 -0300 V4L/DVB (7003): cx23885: Add support for device revision detection Each version of the cx23885/7/8 silicon has different build revs. We'll use this internal revision to work around bugs and known issues in the video and encoder related patches. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit f234081bc564c69eb0e2cd4e957ad1cbae4a6144 Author: Steven Toth Date: Thu Jan 10 01:22:39 2008 -0300 V4L/DVB (7002): cx25840: Add basic CX23885 AVCore support The cx23885/7/8 PCIe bridge has an internal AVCore modelled on the cx2584x family. Many of the registers positions are identical but some moved. The register values are also different because the different bridges run at different clock rates. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit d05051c82e0e8ff748e9c9a06a061bda3ad656e5 Author: Mauro Carvalho Chehab Date: Thu Jan 10 07:33:03 2008 -0300 V4L/DVB (6997): Replace a very dirty hack on videobuf for a clean wait_event In order to videobuf_iolock to work, mmap_mapper should be called first. Otherwise, an OOPS is generated. On some cases, .mmap file handler used to took some time to be called. On those situations, mmap_mmapper() were called after iolock. This patch properly waits for mmap_mapper to be called, otherwise generating an error. Signed-off-by: Mauro Carvalho Chehab commit c6243d9c3de82e46467c88898db45ca14b6843a0 Author: Thierry MERLE Date: Wed Jan 9 17:34:53 2008 -0300 V4L/DVB (6995): ubvision: add adjust_X_Offset/adjust_Y_Offset parms Add adjust_X_Offset/adjust_Y_Offset module parameters to allow users to tune X and Y picture offsets for their almost-working tuners without repetitive recompilation. Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit eeec4b3853a8af0cd2b42af24b9e8fd0e0ef1f8a Author: Thierry MERLE Date: Wed Jan 9 17:33:53 2008 -0300 V4L/DVB (6994): usbvision: add Pinnacle Studio PCTV USB (NTSC) FM V3 Add the "Pinnacle Studio PCTV USB (NTSC) FM" device. This is the third occurrence of the same device designation... Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit e9ca1c79f2868d26c3e74ff3f20d5fa7d30724c5 Author: Mauro Carvalho Chehab Date: Wed Jan 9 21:35:56 2008 -0300 V4L/DVB (6993): Fix CARDLIST.saa7134 Signed-off-by: Mauro Carvalho Chehab commit 6d8ea8621f49a1cc486de4bf893db9743d0577bf Author: hermann pitton Date: Mon Jan 7 22:36:09 2008 -0300 V4L/DVB (6992): saa7134: remove Beholder devices without eeprom from auto detection As in the past, we should not allow to auto detect like this, since all saa7130 and saa7134 cards without eeprom will be detected as such Beholder cards then. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit 006ed1ecf2c62659e5dd902350a7eb209b8a5257 Author: Michael Krufky Date: Wed Jan 9 10:44:27 2008 -0300 V4L/DVB (6989): tda18271: clean up chip id logic in tda829x_release This test is easier to read. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit cf04d29c4868a783b3e994e4a19f78ce22ba2d93 Author: Michael Krufky Date: Wed Jan 9 00:34:30 2008 -0300 V4L/DVB (6988): tda18271: give calibration debug a separate debug mask We don't usually want to see the calibration debug messages, but sometimes it is useful. Assign it to a separate debug mask. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c353f42f752d9b47661ff83b947986f6de948b61 Author: Michael Krufky Date: Tue Jan 8 10:38:10 2008 -0300 V4L/DVB (6987): tda18271: add support for fm radio Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a4f263b587573f47cc6bc7ad85e5f650169d48f6 Author: Michael Krufky Date: Sun Jan 6 15:52:56 2008 -0300 V4L/DVB (6986): tda18271: share state between analog and digital tuner instances Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b3d98135aa6e462d7e3f42a86d12483a9003a4da Author: Mauro Carvalho Chehab Date: Mon Jan 7 09:30:31 2008 -0300 V4L/DVB (6981): Fix bugzillas 9686 and 9691 IR were not working for Winfast XP 2000 TV. Gabor Nyekhelyi wrote a hack some time ago: http://marc.info/?l=linux-video&m=116362609323281&w=2 This patch fixes CodingStyle and commits the hack. I suspect that the proper solution would be to find the proper mask_keydown for this IR. Anyway, better to have this patch as a workaround. Thanks to Stafan Talpalaru for pointing the issue. CC: Gabor Nyekhelyi CC: Stafan Talpalaru Signed-off-by: Mauro Carvalho Chehab commit 8d316bf54b2a1965f9460d0ad9d80850d2c7afb3 Author: Michael Krufky Date: Sun Jan 6 15:31:35 2008 -0300 V4L/DVB (6979): tda18271: use a mutex to protect state in critical sections Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ccbac9bb174db457181f5f58fecf9cbc3020ea1d Author: Michael Krufky Date: Sun Jan 6 00:55:21 2008 -0300 V4L/DVB (6978): tda18271: store frequency and bandwidth after successful tune Store last tuned frequency & bandwidth after successful tune. Clean up tune functions -- remove pointer to tune function in state structure, instead call tune function based on priv->id. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 09f83c4fc06b02597ad4458c2a6675b0872f0b5c Author: Michael Krufky Date: Sat Jan 5 20:00:09 2008 -0300 V4L/DVB (6977): tda18271: clean up calibration initialization procedures Always initialize registers during attach. Perform IR Calibration during init if needed. Perform RF Calibration during init if needed for C2, only. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 98512f7b36ec412ea0461e9aab8f16c882df055d Author: Andrew Morton Date: Mon Jan 7 05:24:51 2008 -0300 V4L/DVB (6976): drivers/media/radio/radio-sf16fmr2.c: fix error handling video_register_device() returns -EFOO on errr, not -1. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=9699 Reported-By: Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 1434bc0cbb842ed71eada244ac46185e3b17e4e2 Author: Mauro Carvalho Chehab Date: Mon Jan 7 05:20:04 2008 -0300 V4L/DVB (6975): Add missing entry for Beholder BeholdTV 407 Acked-by: Andrey J. Melnikov Signed-off-by: Mauro Carvalho Chehab commit 616f8878bc5b5b2276f1941643d9ca7c88690305 Author: Mauro Carvalho Chehab Date: Mon Jan 7 05:18:36 2008 -0300 V4L/DVB (6974): Fix codingStyle Signed-off-by: Mauro Carvalho Chehab commit e8018c9e78b0ff4bb0290e46f4045fb4ea589ae8 Author: Andrey J. Melnikoff (TEMHOTA) Date: Mon Jan 7 05:17:39 2008 -0300 V4L/DVB (6973): Add Beholder TV 401/405/407/409/505/507/609/M6 support This patch updates cardlist for Beholder TV tuners: old models (with GPIO ir) 401, 403, 405, 407, 409, 505, 507 and add support for 607, 609, M6 cards with new i2c-ir. Signed-off-by: Igor Kuznetsov Signed-off-by: Andrey J. Melnikov Signed-off-by: Mauro Carvalho Chehab commit 3f4dfe2acf4ffed48395e69166531d8925eb106a Author: Mauro Carvalho Chehab Date: Sun Jan 6 09:54:17 2008 -0300 V4L/DVB (6970): Request snd-usb-audio for devices with Audio Class support Before this patch, only Vendor Class audio support were loaded. This means that older em28xx devices won't have digital audio support loaded. This patch changes the logic to auto load eighter snd-usb-audio, for devices with USB Audio Class or em28xx-alsa, for devices with USB Vendor Class. Signed-off-by: Mauro Carvalho Chehab commit a4950134d46f0b83745f05ea37987785a3905eba Author: Mauro Carvalho Chehab Date: Sun Jan 6 09:45:44 2008 -0300 V4L/DVB (6969): Avoid causing regressions for non-HVR950 boards Only HVR950 has analog_gpio configured. It makes no sense to set gpio to 0 for other boards. Better to add a test, while this var is not set for all xc3028 devices. Signed-off-by: Mauro Carvalho Chehab commit 11fcd4703004fc8c9030ba45dda8ad74a431d235 Author: Michael Krufky Date: Thu Oct 25 02:01:10 2007 -0300 V4L/DVB (6967): pvrusb2: add support for Hauppauge WinTV PVR-USB2 Model 75xxx Create a device description and enable autodetection for Hauppauge WinTV PVR-USB2 Model 75xxx Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit d2c932a1f7aca16727ce6670c5eccb0a4e2b47a5 Author: Michael Krufky Date: Sat Jan 5 15:42:54 2008 -0300 V4L/DVB (6965): tda18271: fix analog tuning regression caused by earlier changeset An earlier patch, "tda18271: fail table lookups if frequency is out of range" broke analog support on certain hardware. This patch fixes that problem, by allowing the RF_CAL byte to be set to the maximum value, in cases of the frequency being out of range. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0e1fab90a8a76e09b669d3159ec910eab7ee97d6 Author: Michael Krufky Date: Thu Jan 3 01:40:47 2008 -0300 V4L/DVB (6964): tda18271: document debug level and configuration parameters Document debug level module options and tda18271_config attach-time parameters. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2ba65d517b91ebb30f4f2a88f1e1beeabd8d8ee6 Author: Michael Krufky Date: Thu Jan 3 01:17:45 2008 -0300 V4L/DVB (6963): tda18271: store IF frequency in a u16 instead of u32 Store IF Frequency in a u16 instead of a u32. Multiply by 1000 before use. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f21e0d7f0513e743b14df3197fdeeb9a9b7edbb2 Author: Michael Krufky Date: Wed Jan 2 03:01:54 2008 -0300 V4L/DVB (6962): tda18271: allow device-specific configuration of IF frequency and std bits Allow drivers to pass device-specific configuration parameters during attach. If these parameters are omitted, default values will be used. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 59067f7ed491ec95e6e9033e35e1ae726cff3cee Author: Michael Krufky Date: Wed Jan 2 01:58:26 2008 -0300 V4L/DVB (6961): tda18271: move common code to tda18271-common.c Move some common code to a new file to make this easier to look at. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 255b5113b4ed683898a24e381155c081f03411f7 Author: Michael Krufky Date: Tue Jan 1 22:52:09 2008 -0300 V4L/DVB (6960): tda18271: add support for NXP TDA18271HD/C2 Tested successfully with QAM256 digital cable. Analog television is limping, needs more work. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dec9ccceef9bfd5f3cccc79e90b09f6c31ed3279 Author: Michael Krufky Date: Wed Jan 2 01:35:46 2008 -0300 V4L/DVB (6959): tda18271: add MODULE_VERSION version 0.1 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 95af8a26cba55222d6a1beda7970431b4fbbbdd6 Author: Michael Krufky Date: Tue Jan 1 18:31:34 2008 -0300 V4L/DVB (6958): tda18271: clean up function tda18271_set_analog_params make set_analog_params function look consistent with set_params function Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 33f25b42753f464c5927e8b828352333780c14bd Author: Michael Krufky Date: Sat Dec 29 21:46:01 2007 -0300 V4L/DVB (6957): tda18271: fail table lookups if frequency is out of range Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0be4375410f1ecc917f3c0caf8f98908d357c93f Author: Mauro Carvalho Chehab Date: Sat Jan 5 17:22:01 2008 -0300 V4L/DVB (6956): Add Radio support for em28xx Signed-off-by: Mauro Carvalho Chehab commit 3abee53e4402b6ae39e1e610f9ef94eb74097138 Author: Mauro Carvalho Chehab Date: Sat Jan 5 17:01:41 2008 -0300 V4L/DVB (6955): Properly implement 12MHz I2S support Signed-off-by: Mauro Carvalho Chehab commit 0f6dac18ccc6fb0c95f3e0269e60239661c9b4c5 Author: Mauro Carvalho Chehab Date: Sat Jan 5 16:47:16 2008 -0300 V4L/DVB (6954): There isn't a MTS radio firmware Try to load non-MTS firmware instead. Signed-off-by: Mauro Carvalho Chehab commit e545d6e2760b51163da141caffd288572c2db08d Author: Mauro Carvalho Chehab Date: Sat Jan 5 16:37:04 2008 -0300 V4L/DVB (6953): Fix radio set frequency logic Signed-off-by: Mauro Carvalho Chehab commit d7448a8d9d06ca2ca4fd1f17404450ecba8bea3a Author: Mauro Carvalho Chehab Date: Sat Jan 5 09:59:03 2008 -0300 V4L/DVB (6952): Add code for autoloading em28xx-alsa, if needed Older em28xx devices does implement standard Audio Class. However, on newer devices, this were replaced by a Vendor Class. This patch autodetects that an em28xx lacks Audio Class and auto-loads em28xx-alsa, for the devices that implements only a Vendor Class. For devices with Audio Class, snd-usb-audio module will provide an ALSA interface. This patch uses the request_module_async function as defined on cx88-mpeg.c, originally wrote by Markus Rechberger. Signed-off-by: Mauro Carvalho Chehab commit 6d79468dd8537530f4150e76ed9b4b63f80571c6 Author: Mauro Carvalho Chehab Date: Sat Jan 5 09:57:31 2008 -0300 V4L/DVB (6951): Integrates em28xx-audio.c into em28xx kernel module Also fixes the remaining CodingStyle issues that Lindent didn't fix. Signed-off-by: Mauro Carvalho Chehab commit 1a6f11e0e8db9e76ef34bc6731d5291e4df1ba37 Author: Mauro Carvalho Chehab Date: Sat Jan 5 09:56:24 2008 -0300 V4L/DVB (6950): Lindent em28xx-audio.c Signed-off-by: Mauro Carvalho Chehab commit a52932b405f23082f78ff12f4dd3e1741fcaab6f Author: Markus Rechberger Date: Sat Jan 5 09:55:47 2008 -0300 V4L/DVB (6949): Adds em28xx-audio module em28xx-audio module exports em28xx Vendor Class audio as an -alsa driver. This module were written based on usbaudio driver by Markus Rechberger. Recently, he acked to allow us to merge it on kernel: http://lists-archives.org/video4linux/20408-supporting-prolink-pixelview-405-dvd-maker.html Thanks to Markus Rechberger Signed-off-by: Mauro Carvalho Chehab commit 74f38a82376fb1b289d0957429ba45349f0cad62 Author: Mauro Carvalho Chehab Date: Sat Jan 5 09:54:58 2008 -0300 V4L/DVB (6948): HVR950 requires additional settings for audio to properly work Thanks to Markus Rechberger for retriving those commands. Also, MTS firmware is required for audio to work on HVR950. Signed-off-by: Mauro Carvalho Chehab commit 539c96d0fd86bfdcfac75c88b74aa5798439293d Author: Mauro Carvalho Chehab Date: Sat Jan 5 09:53:54 2008 -0300 V4L/DVB (6947): Improve audio setup handling It is possible to select audio inputs via em28xx or via ac97 functions. This patch allows configuring a board to use either one way. It also do some cleanups at audio setup configurations. Signed-off-by: Mauro Carvalho Chehab commit 6596a4f6032f13f1bef47550fcf1d4134cd978a4 Author: Mauro Carvalho Chehab Date: Tue Jan 1 14:43:02 2008 -0300 V4L/DVB (6944): Fix in-kernel ivtv compilation Due to tuner-xc2028.h, some extra directories should be added at .h search. Signed-off-by: Mauro Carvalho Chehab commit a594dcba943a2edc484ed83f694c27306bf5e28e Author: Mauro Carvalho Chehab Date: Mon Dec 31 02:29:46 2007 -0300 V4L/DVB (6938): Add a tool for extracting xc3028 version 2.7 firmware This tool allows the extraction of xc3028 v2.7 firmware from HVR 12x0 file. Signed-off-by: Mauro Carvalho Chehab commit 29a7b4cb44336a8ef85cb1d283dc6efd4cf0fa12 Author: Michael Krufky Date: Thu Dec 27 22:22:16 2007 -0300 V4L/DVB (6936): cx23885: update model matrix for Hauppauge HVR1500 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b00fff0be5655614bb18a4b1d6e33b27c56c6f7e Author: Michael Krufky Date: Thu Dec 27 22:19:31 2007 -0300 V4L/DVB (6935): cx23885: add missing subsystem IDs for Hauppauge HVR1500 Retail Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 68370cf94e2511aeda3b7cb8490692570a8c9dab Author: Michael Krufky Date: Thu Dec 27 22:02:38 2007 -0300 V4L/DVB (6934): cx23885: update model matrix for Hauppauge HVR1250 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6a0a962cbc2c52fad556692eabda563a01c9966c Author: Michael Krufky Date: Thu Dec 27 21:47:50 2007 -0300 V4L/DVB (6933): cx23885: update model matrix for Hauppauge HVR1800 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6ccb8cfbb94cc82144a92a6a28a754d9772b3aa8 Author: Michael Krufky Date: Thu Dec 27 21:46:34 2007 -0300 V4L/DVB (6932): cx23885: add missing subsystem ID for Hauppauge HVR1800 Retail Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 71bc9bd96b342cd29bbeaa4c83b8d37759ff22d7 Author: Steven Toth Date: Thu Dec 27 14:33:30 2007 -0300 V4L/DVB (6930): xc5000: Removed erroneous defines Basic cleanup. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit b92bf0f6a94b73a1b8bd0023b1fa642d13b01a76 Author: Michael Krufky Date: Tue Dec 25 18:54:22 2007 -0300 V4L/DVB (6928): tda18271: break calculation functions out of tda18271_tune Break out the following new functions from tda18271_tune: tda18271_calc_bp_filter tda18271_calc_km tda18271_calc_rf_band tda18271_calc_gain_taper tda18271_calc_ir_measure tda18271_calc_rf_cal Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 182519f4c99f73f376323580dda494d986b4760b Author: Michael Krufky Date: Tue Dec 25 15:10:11 2007 -0300 V4L/DVB (6927): tda18271: improve printk macros Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2f27dfc98cc0a183be9e3c2fc0da0450b85e5fde Author: Michael Krufky Date: Tue Dec 25 00:39:37 2007 -0300 V4L/DVB (6926): tda18271: consolidate table lookup functions Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d37142102a2adaa3391a384ea6a780afb5804789 Author: Michael Krufky Date: Mon Dec 24 14:38:41 2007 -0300 V4L/DVB (6925): tda18271: move state structures to tda18271-priv.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7686b574a1507ecf5fd7c419b43f26222668aa4d Author: Michael Krufky Date: Mon Dec 24 21:03:52 2007 -0300 V4L/DVB (6924): tda18271: fix whitespace in tda18271_ir_measure Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 926bf3ca937461123b98ff2ba8c3409f5b4c05b5 Author: Michael Krufky Date: Mon Dec 24 14:14:03 2007 -0300 V4L/DVB (6923): tda18271: remove extraneous debug We don't need to do a dbg_info during tda18271_attach anymore, since the tda18271_get_id function will call dbg_info with the same information and more. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8574ac690eab730a3ff735177af1d52e45e36c8b Author: Michael Krufky Date: Mon Dec 24 15:49:33 2007 -0300 V4L/DVB (6921): include/media/v4l2-i2c-drv.h must #include Fix the following compiler error: v4l2-i2c-drv.h:72: error: implicit declaration of function 'v4l2_i2c_attach' Also, prevent multiple inclusions of v4l2-i2c-drv.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 67d52e29032dd2f21d4080331f47a21205f337f6 Author: Michael Krufky Date: Mon Dec 24 16:05:39 2007 -0300 V4L/DVB (6920): tuner: fix backwards logic in check for set_config tuner-core was checking if analog_ops->set_config is set. If set, it would complain that it isn't. Fix this backwards logic to the proper behavior. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit de7234bb05a8498c5092385d3f1dd9e73cd332d0 Author: Michael Krufky Date: Wed Dec 26 13:04:08 2007 -0300 V4L/DVB (6919): Kconfig: VIDEO_CX23885 must select DVB_TUNER_XC5000 if !DVB_FE_CUSTOMIZE Everybody forgets to add the Kconfig stuff after they add new card support :-/ Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3e509c76047781525c38fde1e0fa244470c7663c Author: Hans Verkuil Date: Mon Dec 24 10:41:47 2007 -0300 V4L/DVB (6917): ivtv: small textual update Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d998cc6a6d8e7da19ecadded55e373a84b1b4463 Author: Jean Delvare Date: Sat Dec 22 18:28:22 2007 -0300 V4L/DVB (6915): ivtv: drop an incorrect comment Signed-off-by: Jean Delvare Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9134be0376e7527afa4f2574253ff02ca80d5b47 Author: Mauro Carvalho Chehab Date: Thu Dec 27 22:28:31 2007 -0300 V4L/DVB (6914): Fix a few issues at the bttv conversion bttv driver is working as previously. An additional gain of about 1,5Kb were obtained with the driver conversion to vidioc_ioctl2: text data bss dec hex filename 89208 40244 57556 187008 2da80 old/bttv.ko 88960 38740 57556 185256 2d3a8 new/bttv.ko (measured on a x86_64) Signed-off-by: Mauro Carvalho Chehab commit 04a94d3ca25030d7c1fa27f3db3b90eb5a7985b0 Author: Mauro Carvalho Chehab Date: Thu Dec 27 22:23:34 2007 -0300 V4L/DVB (6913): Preserve the previous order to make easier to check the conversion Signed-off-by: Mauro Carvalho Chehab commit e5ae3db461f2de1f4fb455bc73c059c0b97b1230 Author: Mauro Carvalho Chehab Date: Thu Dec 27 22:22:59 2007 -0300 V4L/DVB (6912): Replace vidioc_ to bttv_ Since there are a few vidioc_ functions that were exported, rename those functions to bttv_ in order to avoid poluting namespace. The other functions were also renamed, to standardize inside the driver. Signed-off-by: Mauro Carvalho Chehab commit 402aa76aa5e57801b4db5ccf8c7beea9f580bb1b Author: Douglas Schilling Landgraf Date: Thu Dec 27 22:20:58 2007 -0300 V4L/DVB (6911): Converted bttv to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 4041f1a58774249f5f26163e68b844521ece1fb4 Author: Michael Krufky Date: Mon Dec 24 04:52:08 2007 -0300 V4L/DVB (6909): cx23885: fix bad use count caused by tda18271 being probed by tda8290 Don't allow the tda8290 module to probe and attach the tuner module, causing incorrect use counts when using dvb_attach. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c90762799c42df203fc2c9c1a2ac39f154f8faca Author: Michael Krufky Date: Mon Dec 24 04:36:14 2007 -0300 V4L/DVB (6908): tda8290: add the option not to probe for tuners passed into tda829x_config Prevent the tda8290 module from probing for tuners during tda829x_attach, by passing: .probe_tuner = TDA829X_DONT_PROBE, ...in struct tda829x_config Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fe0bf6d783d8057bd3dd0dd69613a390d6986c47 Author: Michael Krufky Date: Mon Dec 24 05:05:05 2007 -0300 V4L/DVB (6907): tda18271: create separate calc_pll functions Consolidate duplicated code by creating functions: tda18271_calc_main_pll tda18271_calc_cal_pll Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f0bd504fb91c8929bfbacbad759a8e3fe572589f Author: Michael Krufky Date: Mon Dec 24 04:35:21 2007 -0300 V4L/DVB (6906): tda18271: rename tda18271_calc_* functions to tda18271_lookup_* Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 49e7aaf0ff14a270f3c481ab200dcf361c4155a5 Author: Michael Krufky Date: Mon Dec 24 04:15:20 2007 -0300 V4L/DVB (6905): tda18271: check ID register during attach Identify the silicon during attach, return NULL if unsupported device. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7e946c8a4242e3ed944cececddd3f2294299ed65 Author: Michael Krufky Date: Mon Dec 24 03:47:30 2007 -0300 V4L/DVB (6904): tda18271: divider byte 1, bit 7 is always 0 Bit 7 of both Main Divider byte 1 and Cal Divider byte 1 is always zero. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 994fc28b6cd087cf6ef8d3ebd4eeef97c8194e4e Author: Matthias Schwarzott Date: Mon Dec 24 07:12:55 2007 -0300 V4L/DVB (6903): mt312: CodingStyle fix Fixes all occurences of assignment in if checkpatch marks them as ERROR. Signed-off-by: Matthias Schwarzott Reviewed-by: Andreas Oberritter Signed-off-by: Mauro Carvalho Chehab commit 478f42292df86a618afbe3c22d11cf08c036d413 Author: Michael Krufky Date: Sat Dec 22 17:56:25 2007 -0300 V4L/DVB (6901): Kconfig: VIDEO_CX23885 selects TUNER_TDA8290 and DVB_TDA18271 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3ba71d2194500d1a9fef1b8491b9e0c168e7d46e Author: Michael Krufky Date: Fri Dec 7 01:40:36 2007 -0300 V4L/DVB (6900): cx23885: enable EZ-QAM mode for Hauppauge WinTV HVR-1800 Add module option 'alt_tuner' disabled by default. When set to one, the dvb_frontend of HVR1800 will consist of: s5h1409 demod + tda18271 tuner When set zero (default), the dvb_frontend of HVR1800 will consist of: s5h1409 demod + mt2131 tuner If the tda18271 is used in digital mode, you will not be able to tune an analog channel at the same time. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4cd8a7bd65a29c5b7833de177622cb2534d5e868 Author: Michael Krufky Date: Sat Dec 22 16:59:08 2007 -0300 V4L/DVB (6899): Kconfig: VIDEO_CX23885 must select TUNER_XC2028 if !DVB_FE_CUSTOMIZE Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 07b4a835d42d6d59e84cbafdc8b7090f97d7b67a Author: Michael Krufky Date: Tue Dec 18 01:09:11 2007 -0300 V4L/DVB (6898): cx23885: add support for Hauppauge WinTV HVR-1500 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ef207feddf826f099562b239543c447e68991b84 Author: Chris Pascoe Date: Sun Dec 2 09:30:55 2007 -0300 V4L/DVB (6897): xc2028: ignore HAS_IF during specific S-Code type searches If we are selecting the S-Code firmware to load by name, then we must mask off the HAS_IF bit during the search. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 0e614cd1a5a09b36a3b6d0fff8a08a97800d3cce Author: Hans Verkuil Date: Fri Dec 21 21:33:36 2007 -0300 V4L/DVB (6896): ivtv: add XC2028 support for Club3D cards Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3f51451b516eeb19d3c1ea311ee8845fc80b5135 Author: Michael Krufky Date: Fri Dec 21 16:20:23 2007 -0300 V4L/DVB (6894): xc5000: fix build warning Fix the following build warning: xc5000.c:560: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' On many architectrues size_t is unsigned long, and may not be printed with %d. Use %Zu instead. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7972f9880c8c812332a56da7cfa4523d01ea310b Author: Michael Krufky Date: Fri Dec 21 16:12:09 2007 -0300 V4L/DVB (6893): tuner-xc2028: fix xc2028_attach function xc2028_attach was returning an integer when disabled from the build, where it should instead be returning NULL. Declare xc2028_attach as type dvb_frontend * instead of void *. The prototype declaration must be marked as extern in the header. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fb6d8e2c7fe1667d8ce057e333b18deb91191be5 Author: Michael Krufky Date: Fri Dec 21 16:00:45 2007 -0300 V4L/DVB (6892): xc5000: fix build when DVB_TUNER_XC5000 is disabled Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 26501a703d9eca3b42d793d2e2553c33744097b9 Author: Michael Krufky Date: Fri Dec 21 14:28:46 2007 -0300 V4L/DVB (6890): tda18271: fix typo in RF tracking filter calibration We want to set bits 1 & 2 on easy programming byte 4, not extended byte 4. Thanks to David Wong for pointing this out. Signed-off-by: Michael Krufky Cc: David Wong Signed-off-by: Mauro Carvalho Chehab commit 2800b439e090aa06194dbbfb939cd259b74c42a3 Author: Steven Toth Date: Thu Dec 20 01:20:38 2007 -0300 V4L/DVB (6888): Add Hauppauge tuner type 150 defintion Add Hauppauge tuner type 150 defintion. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6df9366857335c6406659ce31554b103a00c3b96 Author: Steven Toth Date: Thu Dec 20 01:17:15 2007 -0300 V4L/DVB (6887): Avoid 'unknown model' message for the HVR1500-Q Avoid 'unknown model' message for the HVR1500-Q Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit e12671cf0c3c8460dfa3ab945023803612827fb7 Author: Steven Toth Date: Thu Dec 20 01:14:43 2007 -0300 V4L/DVB (6886): xc5000: Cleanups of types, result codes etc This translates much of the xceive coding style, adds some result codes and generally cleans up whitespace and function arguments. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit d1987d55a1eda774dfbab240a432607c17241d07 Author: Steven Toth Date: Tue Dec 18 01:57:06 2007 -0300 V4L/DVB (6885): Add support for the Hauppauge HVR1500Q The express card ATSC/QAM tuner. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit aacb9d31ee65c0685745ca4dfc7cdd24f8b7d92b Author: Steven Toth Date: Tue Dec 18 01:55:51 2007 -0300 V4L/DVB (6884): Add support for the Xceive xc5000 silicon tuner This is an all formats tuner, QAM, ATSC, DVB-T and others. Only ATSC and QAM have been tested. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 2426a27e4d25cf932ce73aa84a085ee94b4189a8 Author: Michael Krufky Date: Fri Dec 21 11:34:45 2007 -0300 V4L/DVB (6882): dvb_frontend: release analog demod in dvb_frontend_detach Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bc3e5c7fc20d3c09667067878fb7a55dd9fc041d Author: Michael Krufky Date: Fri Dec 21 11:18:32 2007 -0300 V4L/DVB (6881): include struct analog_demod_ops directly inside struct dvb_frontend Rather than using a pointer, include struct analog_demod_ops directly inside struct dvb_frontend. This will allow us to use dvb_attach in the future, along with removing the need to check the ops structure before having to check the pointer to the method being called. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9ad89f0104314786138d580ab2c1119e7e470f56 Author: Michael Krufky Date: Fri Dec 21 03:00:59 2007 -0300 V4L/DVB (6880): kill tuner-driver.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 807ffe8df23e1977d4e702697a08047f346eb974 Author: Michael Krufky Date: Fri Dec 21 02:55:43 2007 -0300 V4L/DVB (6879): move struct analog_tuner_ops into dvb_frontend.h struct analog_tuner_ops no longer has any dependencies specific to v4l2, so we can move this into dvb_frontend.h with the rest of the tuning structures. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b624aa86cd92b32d66653609e4896f54c0d6111d Author: Michael Krufky Date: Thu Dec 20 23:19:14 2007 -0300 V4L/DVB (6878): tuner: remove extraneous variable declaration tuner_count is already declared as "extern unsigned const int" in -- Remove it from tuner-driver.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d536c9df41f5e47a37e22b46ea98451ce8134e55 Author: Michael Krufky Date: Tue Dec 18 10:42:33 2007 -0300 V4L/DVB (6875): tuner-xc2028: ATSC requires 1.75 MHz tuning offset In my testing yesterday, I was using a scan file tailored specifically for a unique test situation -- As it turns out, this scan file was bad, and I will use the one included inside dvb-apps for testing for now on. I've tested with other ATSC tuners just to confirm, using: us-ATSC-center-frequencies-8VSB Anyhow, as it turns out, the tuner-xc2028 *does* require a tuning offset for ATSC. Even though the linux-dvb api passes in center frequencies from userspace, apparantly the xceive firmware is already factoring in the tuning offset to center. In order to make the device function using the same scan files / channels.conf configurations as other atsc devices, we must offset by 1.75 MHz. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0b6a3342a645208feaab76332f1eee33e1688bd5 Author: Matthias Schwarzott Date: Fri Dec 21 08:58:09 2007 -0300 V4L/DVB (6874): removes duplicated KERN_DEBUG flags from dprintk calls in mt312.c do { \ if (debug) printk(KERN_DEBUG "mt312: " args); \ } while (0) So no caller need to specify KERN_DEBUG. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 89f6475857b89e956a8bcfef64944409ce4173b4 Author: Matthias Schwarzott Date: Fri Dec 21 08:56:44 2007 -0300 V4L/DVB (6873): Fixes issues listed by checkpatch Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 6fb377f85cb8c2c1580ce8b134c887a7b53c7aa9 Author: Hans Verkuil Date: Tue Dec 18 19:40:44 2007 -0300 V4L/DVB (6869): cs5345: new i2c driver Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0b394def21e7d3bd02aeee5570473582ce7984ec Author: Hans Verkuil Date: Tue Dec 18 19:27:31 2007 -0300 V4L/DVB (6868): i2c-id.h: add I2C_DRIVERID_CS5345 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9fad368b6dff95b8b009a6b8eed42a549a05b263 Author: Hans Verkuil Date: Wed Dec 12 10:23:52 2007 -0300 V4L/DVB (6867): saa7127: CodingStyle cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d52c7385ec8d4d2081b0db47e309723ce3eae816 Author: Hans Verkuil Date: Wed Dec 12 08:25:18 2007 -0300 V4L/DVB (6866): msp3400: CodingStyle cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 35df38c015866b3c28bfb1914b14eba92086cdd1 Author: Hans Verkuil Date: Wed Dec 12 07:40:54 2007 -0300 V4L/DVB (6865): vp27smpx: CodingStyle cleanup Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 79f998a71b9bca5a16b0b8c30e5c0c849705a5ec Author: Hans Verkuil Date: Wed Dec 12 07:34:15 2007 -0300 V4L/DVB (6864): upd64031a: CodingStyle cleanup Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8c9fc8de546134d021de58c7ade6f025c9d1da1c Author: Hans Verkuil Date: Wed Dec 12 07:30:02 2007 -0300 V4L/DVB (6863): upd64083: CodingStyle cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f69d419a0bdf4cd2551200b6777a226fea527d1a Author: Hans Verkuil Date: Wed Dec 12 07:24:27 2007 -0300 V4L/DVB (6862): ivtv: really remove i2c legacy support from drivers that no longer need it For some reason the include header wasn't changed from v4l2-i2c-drv-legacy.h to v4l2-i2c-drv.h in the previous patch. This is now corrected. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ea48c13ad0e5626b827bd7076c22df1a352e3983 Author: Hans Verkuil Date: Wed Dec 12 07:04:58 2007 -0300 V4L/DVB (6861): cx2341x: command argument should be u32 instead of int Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f19a73d620c5412e2413b778f4dad21febdd6115 Author: Hans Verkuil Date: Wed Dec 12 06:50:20 2007 -0300 V4L/DVB (6860): tveeprom: CodingStyle cleanup Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5412c8204f8c4f733acef511979fe1a738b74767 Author: Hans Verkuil Date: Wed Dec 12 06:21:58 2007 -0300 V4L/DVB (6859): tveeprom: add support for Hauppauge models 74xxx Thanks to Steve Toth from Hauppauge with providing me with the information needed to add support for these models. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3ac510e6097368695ddff20918ab5822823b548e Author: Mauro Carvalho Chehab Date: Tue Dec 18 00:30:52 2007 -0300 V4L/DVB (6858): Fix offset for ATSC ATSC works with offset=0 Signed-off-by: Mauro Carvalho Chehab commit 5e3c5967da48b54e5d4ee528b51b565e2f7a3178 Author: Chris Pascoe Date: Sat Dec 15 03:31:09 2007 -0300 V4L/DVB (6857): cx23885: correctly join I2C writes and reads from same address When an I2C message specifies a write then a read from the same I2C address, we need to tell the chip to not release the bus between the message parts. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit bc514710889ebb975be9e84ca9c04f698225b656 Author: Chris Pascoe Date: Sat Dec 15 03:24:00 2007 -0300 V4L/DVB (6856): zl10353: improve tuning parameters and update register map Some more I2C traces and a experimentation with register values on both the ZL10353 and MT352 mean that I can now guess at what more of the ZL10353 registers do. Guess at the registers' names (based on the equivalent names in MT352) and update set_parameters/get_parameters with the new knowledge. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 3dfefc50ff45744ffb97ce0bf9c213a3fb6d5d3d Author: Chris Pascoe Date: Sun Dec 2 10:07:06 2007 -0300 V4L/DVB (6855): xc2028: select DTV78 firmware if tuning 7MHz VHF / 8MHz UHF It seems that the DTV78 firmware is intended for use in locations where VHF channels have 7MHz bandwidth and UHF channels have 8MHz bandwidth. If we switch to DTV78 firmware when we detect this condition, we can avoid firmware reloads when switching between VHF and UHF transponders. Place the state for this in the control structure so that card drivers can hint to us to use DTV78 firmware from the first tuning attempt. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 897b842296f1285a6b58e9170f7017022e2e2603 Author: Chris Pascoe Date: Sun Dec 2 09:39:18 2007 -0300 V4L/DVB (6854): xc2028: be more specific about when applying offset for 7MHz channels We have been inserting a mystery 500kHz offset for tuning 7MHz channels, however some experimentation reveals it is only needed under certain conditions with specific firmware combinations. Document these and only apply the offset when we know it is required. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 9ca01e780f8966a7a94f88ef5c54f340e117abea Author: Chris Pascoe Date: Sun Dec 2 06:54:17 2007 -0300 V4L/DVB (6853): xc2028: check HAS_IF flag against table When searching for the right S-Code table to load, check the HAS_IF flag against the firmware we are checking instead of against the the "type" requested. We already ignore the scode type requested if the caller passed an int_freq; this makes the search by frequency consistent with that behaviour. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit ad35ce9e3e03b1515c8581bababb0e64d05cf1ad Author: Chris Pascoe Date: Sun Dec 2 06:36:42 2007 -0300 V4L/DVB (6852): xc2028: s-code offset should not modify internal control structure Don't modify the control structure that was provided at attach when applying an offset to the S-Code, otherwise it will be incorrect on subsequent tunes. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit e026268870b5f05a3f74b37816d96ed3b19a9e33 Author: Chris Pascoe Date: Sun Dec 2 06:30:50 2007 -0300 V4L/DVB (6851): xc2028: include int_freq in firmware version display Add "int_freq" to the debugging output when selecting firmware and the HAS_IF flag when dumping firmware during load. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit aec2aef267203d9ac06ce3508682c0aa81a069dc Author: Aurelien Jarno Date: Mon Dec 17 13:49:17 2007 -0300 V4L/DVB (em28xx): Add support for Pinnacle Dazzle DVC 100 The patch below adds the "Pinnacle Dazzle DVC 100" to the list of cards supported by the em28xx driver. As the configuration is the same as the DVC 90 one, it simply adds a new USB ID to the list of devices supported by the DVC 90 configuration. Signed-off-by: Aurelien Jarno Signed-off-by: Mauro Carvalho Chehab commit 9e7e85ebaeba22979209268423f5aae8a352df4c Author: Akinobu Mita Date: Mon Dec 17 14:26:29 2007 -0300 V4L/DVB (6848): bttv: check pci_register_driver() error Check pci_register_driver() error in module_init. Signed-off-by: Akinobu Mita Signed-off-by: Mauro Carvalho Chehab commit 71021d2601c54eee6df3afaf79aed430b17e1366 Author: Michael Krufky Date: Mon Dec 17 09:49:33 2007 -0300 V4L/DVB (6846): tda9887: initialize mode to T_STANDBY at startup Ensure that the audio is muted at attach-time Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dabe61565e3b02bc4a841f317896536068f94e63 Author: Michael Krufky Date: Mon Dec 17 01:21:08 2007 -0300 V4L/DVB (6845): tuner: remove unneeded #includes from tuner-driver.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f7f427e4cc6078e23078dcd7f321676e0b0f544c Author: Michael Krufky Date: Sun Dec 16 22:02:26 2007 -0300 V4L/DVB (6844): tuner: remove struct tuner from tuner-driver.h struct tuner holds state for tuner-core, only -- move it into tuner-core.c Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 790ba18ec7a5f15c854f52835b0e6f39de2369dd Author: Michael Krufky Date: Sun Dec 16 21:20:21 2007 -0300 V4L/DVB (6843): tda9887: use printk macros from tuner-i2c.h replace tda9887_info and tda9887_dbg printk macros with tuner_info and tuner_dbg, defined in tuner-i2c.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8ca4083b50752d588f8b8b1e5e5776fb17d00304 Author: Michael Krufky Date: Sun Dec 16 20:11:46 2007 -0300 V4L/DVB (6842): tda9887: remove dependency on struct tuner Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 91c9d4a16710b047781248a38e7000ce9de324af Author: Michael Krufky Date: Sun Dec 16 20:05:00 2007 -0300 V4L/DVB (6841): tda9887: maintain private state independent of struct tuner Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 710401b837f8849dc9c28385eb5298746b811305 Author: Michael Krufky Date: Sun Dec 16 19:53:32 2007 -0300 V4L/DVB (6840): tuner: convert tda9887 to use TUNER_SET_CONFIG Use TUNER_SET_CONFIG to set configuration in tda9887's private state structure, rather than storing tda9887-specific configuration within struct tuner. Update handling of TUNER_SET_CONFIG by tuner-core, to call &t->fe.ops.analog_demod_ops rather than &t->fe.ops.tuner_ops analog_demod_ops.set_config passes the request to tuner_ops.set_config, so this does not break other drivers. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f1c9a281005f714fdc57c830a23f2b6bd6e2b714 Author: Michael Krufky Date: Sun Dec 16 19:27:23 2007 -0300 V4L/DVB (6839): tuner: add set_config to struct analog_tuner_ops Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit daae58956bebeab6631ba078669970a27bdfbdbe Author: Michael Krufky Date: Sun Dec 16 19:14:31 2007 -0300 V4L/DVB (6838): tda9887: remove references to struct tuner from printk macros Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 35e420357bd835d43c76d3ab5e35694be0b56f95 Author: Michael Krufky Date: Mon Dec 17 10:54:06 2007 -0300 V4L/DVB (6837): Convert cx88_input.audioroute to a bitfield Prevent us from wasting some extra bytes of memory Thanks to Trent Piepho, for pointing this out. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d8f69971d8d6c137e42928492f8d469078113db9 Author: Mauro Carvalho Chehab Date: Mon Dec 17 10:35:59 2007 -0300 V4L/DVB (6836): Fix CodingStyle troubles caused by the previous cx88 commits Signed-off-by: Mauro Carvalho Chehab commit 36e05a44756efe562ad1f49ada9bd6a598242828 Author: Frej Drejhammar Date: Mon Nov 5 17:57:11 2007 -0300 V4L/DVB (6834): cx88-video: Enable selection of the WM8775 for cx88 cards The auto selection of pertinent helper chips (VIDEO_HELPER_CHIPS_AUTO) should select the wm8775 driver, which is used by at least one Conexant 2388x based card (Hauppauge HVR-1300), if VIDEO_CX88 is selected. Signed-off-by: Frej Drejhammar Signed-off-by: Ricardo Cerqueira Signed-off-by: Mauro Carvalho Chehab commit 66e6fbdf99420efe58685feda0ac1b73b33400e0 Author: Ricardo Cerqueira Date: Tue Oct 16 20:52:08 2007 -0300 V4L/DVB (6833): Don't limit cx88 audio routing to blackbird boards All cx2388 boards need the line-in audio to be routed from an external ADC (refered to as "ADC mode" in the spec sheet), since the chip is uncapable of dealing with baseband audio directly. So... this patch enables normal mode when using the tuner (TV or Radio), and enables ADC mode with any other source. It'll probably only work with boards that have supported ADCs (such as the Wolfson wm9775) Signed-off-by: Ricardo Cerqueira Signed-off-by: Mauro Carvalho Chehab commit 6a0bc9a0162d10c551bb916a1a21bfede4db3203 Author: Michael Krufky Date: Sat Oct 13 20:42:45 2007 -0300 V4L/DVB (6832): cx88-blackbird: don't mute audio when stopping the codec We should not mute the audio input when we stop the codec, because it will interfere with the live uncompressed stream. Signed-off-by: Michael Krufky Reviewed-by: Jelle Foks Signed-off-by: Mauro Carvalho Chehab commit 7b27d45bb50498c86aa87e7ef174b2a0f5b6f361 Author: Ricardo Cerqueira Date: Sun Sep 30 13:02:49 2007 -0300 V4L/DVB (6831): Audio routes fix for blackbird boards with the wm8775 ADC Fix lack of audio on the MPEG-2 stream of wm8775 based blackbirds. The wm8775 module initializes the audio input at "route 2", which doesn't hold true for all boards. The HVR-1300, for example, uses route 1 for tuner audio, and route 2 for baseband. So we must route the audio to the proper input depending on what video input is being used. Signed-off-by: Ricardo Cerqueira Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4423a9a3395ef652d80d848161444b417f1f78c0 Author: Jelle Foks Date: Mon May 21 14:48:58 2007 -0300 V4L/DVB (6830): cx88-blackbird: remove unnecessary encoder unmute Remove the unnecessary BLACKBIRD_UNMUTE calls to the mpeg encoder in cx88-blackbird.c The encoder is never muted, hence unmuting should then only be necessary once after hardware initialization. I tested this from warm boots and cold boots (with long power down time to ensure the sram in the chip is emptied), and found that after the firmware upload the encoder is apparently not muted, making the unmutes unnecessary. Signed-off-by: Jelle Foks Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e21a5c68deab7cd300e8502488f844f77e0f26d0 Author: Jelle Foks Date: Mon May 21 14:46:06 2007 -0300 V4L/DVB (6829): cx88-blackbird: remove unnecessary msleep()'s Remove the unnecessary msleep()'s in cx88-blackbird.c Signed-off-by: Jelle Foks Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f9e54e0c84da869ad9bc372fb4eab26d558dbfc2 Author: Jelle Foks Date: Mon May 21 14:36:01 2007 -0300 V4L/DVB (6828): cx88-blackbird: audio improvements This patch should fix the 'muted audio' and 'raspy audio' problem for mpeg2 streams out of cx88-blackbird devices. Especially mythtv users would find that the audio would often sound bad (aliased, or 'raspy'), mainly related to channel changes, many (all?) other users would find that there was no audio at all in the mpeg data from the encoder chip, unless the audio was manually unmuted. The patch includes the following modifications: Don't actually start the mpeg2 encoder until the device is read from by the application. Wait until the audio is stable for at least 400ms before starting the mpeg encoder. Mute/Unmute the audio when starting/stopping the mpeg encoder. Stop the mpeg encoder when changing parameters and when changing tuner frequency. Add a variable 'mpeg_active' to struct cx8802_dev to allow tracking of whether or not the mpeg2 encoder is active. Load the firmware on cx88-blackbird driver load. Signed-off-by: Jelle Foks Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4bfae52b69360a966f41ba3308e57a6df41ff8e1 Author: Mauro Carvalho Chehab Date: Sun Dec 16 09:24:30 2007 -0300 V4L/DVB (6827): Auto-selects D2633 for ATSC ATSC standard-specific firmware is D2633 on both v2.5 and v2.7. Better to auto-select this firmware, overriding ctrl.d2633. Signed-off-by: Mauro Carvalho Chehab commit 6b7daa88f23bb23f61977063e3f8ea9598e65e32 Author: Michael Krufky Date: Thu Dec 13 10:11:49 2007 -0300 V4L/DVB (6822): s5h1409: use VSB IF frequency ( 44 / 5.38 MHz ) unless otherwise specified use VSB IF frequency ( 44 / 5.38 MHz ) if qam_if is invalid or unspecified Acked-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2b03238a79295aff30afc3d9a82afa617fd33971 Author: Michael Krufky Date: Thu Dec 13 10:04:10 2007 -0300 V4L/DVB (6821): s5h1409: fix IF frequency configuration On the s5h1409 demod, the IF frequency for VSB is limited to 44 / 5.38 MHz. Hardcode VSB IF frequency within the driver to 44 / 5.38 MHz. QAM IF frequency remains configurable via attach-time configuration. Acked-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 18ff605a18b29ab1b52d31f96e2ecbaf7a042a3e Author: Andrew Morton Date: Wed Dec 12 21:43:57 2007 -0300 V4L/DVB (6818): git-dvb: drivers/media/dvb/frontends/zl10353.c: avoid 64-bit divide Signed-off-by: Andrew Morton Acked-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 6594ad829a98d5a9fe720d8d182a4e50fc81953a Author: Mauro Carvalho Chehab Date: Thu Dec 13 16:15:41 2007 -0300 V4L/DVB (6817): Cleanup kernel thread and provide overrun detection The previous code were a little bit messy. Cleans it up. Signed-off-by: Mauro Carvalho Chehab commit 55862ac9b2e656c35ab1e25d9b162e5bda81281f Author: Mauro Carvalho Chehab Date: Thu Dec 13 16:13:37 2007 -0300 V4L/DVB (6816): Add proper locking for buffer filling Avoids de-alocating buffers before finishing to fill a buffer Signed-off-by: Mauro Carvalho Chehab commit 6c2f990105acd360e83b95b41c60ed8bf25e67fe Author: Mauro Carvalho Chehab Date: Thu Dec 13 13:30:14 2007 -0300 V4L/DVB (6815): Fix vivi internal debug messages Signed-off-by: Mauro Carvalho Chehab commit 1fe934ddfc8e6e5663c0308ae216219be87b8d4f Author: Daniel Walker Date: Wed Dec 12 18:37:54 2007 -0300 V4L/DVB (6812): media: video: usbvision: remove ctrlUrbLock The ctrlUrbLock has all it's users commented out, and so it's unused. This patch removes it. Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 544e6175330c86ad87abeeb1b048f56bafd96c31 Author: Andrew Morton Date: Wed Dec 12 18:25:23 2007 -0300 V4L/DVB (6811): media-video-usbvision-add-mutex_unlock-to-error-paths-fix Signed-off-by: Andrew Morton Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 0991112c1c4625323df8a582de1b2f8609922248 Author: Daniel Walker Date: Wed Dec 12 18:22:48 2007 -0300 V4L/DVB (6810): media: video: usbvision: add mutex_unlock() to error paths There are a few error paths which don't unlock the usbvision->lock. So I've added mutex_unlock() calls to fix those paths. Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 7cd355e7c0c02e499784c77e88720f7cc8f98473 Author: Andrew Morton Date: Wed Dec 12 19:55:49 2007 -0300 V4L/DVB (6809): git-dvb: drivers/media/video/et61x251/et61x251_core.c: fix warnings drivers/media/video/et61x251/et61x251_core.c:390: warning: 'et61x251_i2c_read' defined but not used drivers/media/video/et61x251/et61x251_core.c:397: warning: 'et61x251_i2c_write' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 39b43b1a61f3c4b540b024843e592b14533aa961 Author: Andrew Morton Date: Wed Dec 12 19:27:57 2007 -0300 V4L/DVB (6808): git-dvb: fix build in drivers/media/dvb/frontends/tda18271.h Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 8996b3f3cfa9d21ba9ed31a116d5066e38827878 Author: Mauro Carvalho Chehab Date: Thu Dec 13 06:36:22 2007 -0300 V4L/DVB (6807): fix debug enable The changes at vivi_template make debug option to not work properly. Signed-off-by: Mauro Carvalho Chehab commit 784c668b24dede8acd7044b490a538b5b6cd6b20 Author: Mauro Carvalho Chehab Date: Thu Dec 13 06:35:26 2007 -0300 V4L/DVB (6806): Allow emulating changes of video std by vivi Signed-off-by: Mauro Carvalho Chehab commit 63736784f73e7c38b2bad5ed3ed783dc102ba01e Author: Mauro Carvalho Chehab Date: Thu Dec 13 06:34:12 2007 -0300 V4L/DVB (6805): video std is a bitmask. Better to print in hexa Signed-off-by: Mauro Carvalho Chehab commit 225ba900886f6d2d3447dd5bfdb95217f0619755 Author: Mauro Carvalho Chehab Date: Wed Dec 12 21:46:26 2007 -0300 V4L/DVB (6804): __videobuf_read_start is static Thanks to Jean Delvare for pointing this. Signed-off-by: Mauro Carvalho Chehab commit e435f95ce6468f0240f050e14c9eac93e2fe7e71 Author: Michael Krufky Date: Sun Dec 9 22:23:30 2007 -0300 V4L/DVB (6801): tda18271: pass i2c gate configuration into tda18271_attach() If we pass TDA18271_GATE_DIGITAL into tda18271_attach(), it will always try to use the digital demodulator's i2c gate. If we pass TDA18271_GATE_ANALOG into tda18271_attach(), it will always try to use the analog demodulator's i2c gate. If we pass TDA18271_GATE_AUTO into tda18271_attach(), it will try to use the analog demodulator's i2c gate when tuning in analog mode, and it will try to use the digital demodulator's i2c gate when tuning in digital mode. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7206abbc2d19b6846b879fb266672b40da9961cb Author: Michael Krufky Date: Sun Dec 9 22:13:01 2007 -0300 V4L/DVB (6800): tda18271: use an enum rather than an integer to store analog / digital state Use an enum rather than an integer #define to store analog / digital state. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f6e90a66cde270cd6cc7aa1f4f0650930aa7f6bc Author: Mauro Carvalho Chehab Date: Tue Dec 11 15:01:57 2007 -0300 V4L/DVB (6795): Add EXPORT_SYMBOL_GPL to the saa7134 video control routines Those newer functions are used by saa7134-empress. Adds export for them: +EXPORT_SYMBOL_GPL(saa7134_g_ctrl); +EXPORT_SYMBOL_GPL(saa7134_s_ctrl); +EXPORT_SYMBOL_GPL(saa7134_queryctrl); Signed-off-by: Mauro Carvalho Chehab commit 2c10e8a8985e41addbbbe54b403418c27462f854 Author: Mauro Carvalho Chehab Date: Tue Dec 11 12:56:23 2007 -0300 V4L/DVB (6793): Convert saa7134-empress to video_ioctl2 saa7134 were converted to video_ioctl2, but saa7134_empress weren't. This broke saa7134-empress, since it were dependent of saa7134_common_ioctl. With the conversion, the module had a size decrease of 436 bytes on x86_64: text data bss dec hex filename 5196 4912 4 10112 2780 old/saa7134-empress.ko 4760 4912 4 9676 25cc new/saa7134-empress.ko Signed-off-by: Mauro Carvalho Chehab commit a9622391acbcdb124b55eb674dc5196eb55dc105 Author: Mauro Carvalho Chehab Date: Tue Dec 11 12:05:06 2007 -0300 V4L/DVB (6792): Fix VBI support VBI were broken, since there weren't any function handlers for it. This patch fixes it, by removing the vbi_template, using, instead video_template. This also saves some space at the data segment. Signed-off-by: Mauro Carvalho Chehab commit bfb12e38a8f828bb6394fd4f18010bad86832623 Author: Mauro Carvalho Chehab Date: Tue Dec 11 11:51:53 2007 -0300 V4L/DVB (6791): Rename all vidioc_ to saa7134_ Some functions are used also by saa7134-empress, and need to be exported. To avoid namespace confusion, rename all of them to saa7134_ Signed-off-by: Mauro Carvalho Chehab commit bd2b19a78cb215b67d8d016ea6607f04e48fa523 Author: Michael Krufky Date: Mon Dec 10 16:08:25 2007 -0300 V4L/DVB (6789): tuner: use char *name instead of 128 byte fixed array for demod info Don't waste 128 bytes of memory for a name that might not actually need it. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2dcf84b36c23a2c34207ab650071f9ee33d3c4a2 Author: Michael Krufky Date: Mon Dec 10 11:12:59 2007 -0300 V4L/DVB (6788): tda8290: fix codingstyle, open brace following struct on the same line Fix codingstyle issue discovered after using new checkpatch.pl ERROR: open brace '{' following struct go on the same line 396: FILE: linux/drivers/media/video/tda8290.h:24: +struct tda829x_config +{ Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 864a6b813ab6cb69f3552553899ae443329ecfa9 Author: Michael Krufky Date: Sun Dec 9 17:21:54 2007 -0300 V4L/DVB (6787): tuner: bug-fix: default mode was set to bogus value Fix type inconsistency in t->mode value, causing the following: tuner' 1-0043: freq set: unknown mode: 0x0004! (only visible with tuner debug enabled) Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a55db8cd7f8a107f3abcb4c803b1873b2be63663 Author: Michael Krufky Date: Sun Dec 9 13:52:51 2007 -0300 V4L/DVB (6786): tuner: add struct analog_demod_info to struct analog_tuner_ops Store the analog demodulator name in fe.ops.analog_demod_ops.info.name Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ab1660503ac3af7febfcf987648509b484d4feda Author: Michael Krufky Date: Sun Dec 9 02:26:48 2007 -0300 V4L/DVB (6785): tda8290: remove dependency on struct tuner - remove dependency of tda8290 module on struct tuner - move tuner_foo printk macros from tuner-driver.h into tuner-core.c - clean up #includes of tuner-i2c.h / tuner-driver.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fa746aee336fedfe25e6945e5967399966948420 Author: Michael Krufky Date: Sun Dec 9 05:16:10 2007 -0300 V4L/DVB (6784): tda8290: prevent possible memory leak Always call tda829x_release if tda829x_attach fails for a reason other than failure to allocate memory for private structure. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c7919d520f4c9a064ae14bc4dd170c4c12ead2af Author: Michael Krufky Date: Sat Dec 8 17:06:30 2007 -0300 V4L/DVB (6783): tuner: combine set_tv_freq and set_radio_freq into a single set_params method We can tell whether we are tuning television or radio by testing for struct analog_parameters *params->mode == V4L2_TUNER_RADIO There is no longer any need for separate set_tv_freq and set_radio_freq functions in the analog tuner demodulator modules. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6881647cce09931f3d787ab83b5250436427ceb9 Author: Michael Krufky Date: Sat Dec 8 16:25:41 2007 -0300 V4L/DVB (6782): tda8290: access frontend structure directly, where possible Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 14d5deba2737c59444e805c10764d58a3d73e9b2 Author: Richard Knutsson Date: Sat Dec 8 10:35:06 2007 -0300 V4L/DVB (6776): ivtv: Some general fixes Fix "warning: Using plain integer as NULL pointer". Convert 'x < y ? x : y' to use min() instead. Signed-off-by: Richard Knutsson Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d130fa8a05ee5f39c786df02dd75d1eebb12633b Author: Mike Isely Date: Sat Dec 8 17:20:06 2007 -0300 V4L/DVB (6773): pvrusb2: rework device descriptor layout The pvrusb2 driver tries to keep all device specific attributes in a single data structure in one source file. This change further cleans up how that table is set up. We now try to group everything together for each specific device, and the number of symbols exported from this module has now been reduced to a single global. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 066bba2d1ccdac2005a64f4c87f8b542744ed94c Author: Mike Isely Date: Sat Dec 8 17:17:44 2007 -0300 V4L/DVB (6772): pvrusb2: Remove obsolete (and misleading) comment Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 577e4023df8e6111bf7c63d182acc967af060054 Author: Mike Isely Date: Sat Dec 8 17:17:09 2007 -0300 V4L/DVB (6771): pvrusb2: Remove old obsolete CONFIG flags for pvrusb2 driver Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 5edfded4811175283c745c9309c9315b721cf674 Author: Mike Isely Date: Sat Dec 8 17:15:55 2007 -0300 V4L/DVB (6770): pvrusb2: Device CONFIG flags for OnAir device support Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 4542783c3733de9a21099cd0c42e1a2392c68a88 Author: Mike Isely Date: Sat Dec 8 17:11:13 2007 -0300 V4L/DVB (6769): pvrusb2: Implement experimental support for OnAir Creator and USB2 devices Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 787f5abb9519fd420c4681a560aabc449632a6c2 Author: Mike Isely Date: Sat Dec 8 17:08:32 2007 -0300 V4L/DVB (6768): pvrusb2: Mark Gotview hardware as having a cx2584x part Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 2a2bfbff3d867c62a49f43266ca993c9c2c2ff28 Author: Hans Verkuil Date: Sat Dec 8 07:43:14 2007 -0300 V4L/DVB (6766): ivtv: remove i2c legacy support from drivers that no longer need it Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d9009201207c4bdce9b95a0bd903b3f087e8eda1 Author: Hans Verkuil Date: Fri Dec 7 21:01:15 2007 -0300 V4L/DVB (6765): ivtv: convert to bus-based i2c API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9d1a16a4fc39bd908d85e0b7ce167048200d2d2b Author: Hans Verkuil Date: Fri Dec 7 20:48:29 2007 -0300 V4L/DVB (6764): ivtv: select VIDEO_IR in Kconfig Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e08323f099b5aba28610a856fa7d21d0d86fd4f0 Author: Hans Verkuil Date: Fri Dec 7 20:40:16 2007 -0300 V4L/DVB (6763): ivtv: add AVerMedia EZMaker PCI Deluxe support Add support for the AVerMedia EZMaker PCI Deluxe and update the ivtv cardlist. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0170a48274acbed20b3b8d1f4a6cecd08ae5015e Author: Hans Verkuil Date: Fri Dec 7 20:31:17 2007 -0300 V4L/DVB (6762): ivtv: update version number to 1.2 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e2c77314c9444c994087c96eb370b333d57657a7 Author: Mauro Carvalho Chehab Date: Mon Dec 10 10:53:20 2007 -0300 V4L/DVB (6759): CodingStyle fixes Signed-off-by: Mauro Carvalho Chehab commit 543323bcf49422c76cf13755ec4a90564065bb60 Author: Mauro Carvalho Chehab Date: Mon Dec 10 09:33:52 2007 -0300 V4L/DVB (6758): Miscelaneous cleanups Manually fixed all pertinent checkpatch.pl errors inside the source code. Also removed some unused code at the driver and a few minor cleanups. Signed-off-by: Mauro Carvalho Chehab commit 025341d4f0caa58f0e5eddbffd11d44e37cff974 Author: Mauro Carvalho Chehab Date: Mon Dec 10 04:43:38 2007 -0300 V4L/DVB (6755): Avoid troubles when using multiple devices mv_count is a counter used to move the vertical bars. Before this patch, it where a static var. This works fine for just one device. However, when using multiple devices, every device would increment it. This patch moves it to its correct place: struct vivi_dev. So, now, each device has its own data. Signed-off-by: Mauro Carvalho Chehab commit 55712ff7e06b721fbeebd36499bad4a11b7d8327 Author: Mauro Carvalho Chehab Date: Mon Dec 10 04:38:11 2007 -0300 V4L/DVB (6754): Allow vivi to open multiple video devices Now, it is possible to open multiple vivi devices, by using n_devs parameter. This makes vivi driver closer to a real one. Signed-off-by: Mauro Carvalho Chehab commit f905c442e5b19f75fe4e8ce96f2acffa565f2392 Author: Mauro Carvalho Chehab Date: Mon Dec 10 04:07:03 2007 -0300 V4L/DVB (6753): Fix vivi to support non-zero minor node There were a trouble at vivi driver when using non-zero inodes. This where due to not properly preserving the minor inode after calling video_register. Since this driver is a reference for newer drivers, and it is possible to have more than one video device inside the machine, this patch makes vivi to dynamically allocate video_device struct. Thanks to Gregor Jasny for pointing the issue. Also, this patch removes a very anoying (but useless) message of not having a proper release call. CC: Gregor Jasny Signed-off-by: Mauro Carvalho Chehab commit d2761f227162f610d35b9d68564f5c64774be581 Author: Albert Graham Date: Sun Dec 9 09:44:38 2007 -0300 V4L/DVB (6752): saa7134: Enable remote control support for Avermedia M102 This patch enabled the IR remote control for the Avermedia M102 (card=110), which appears to be the same IR as the already supported device on the Avermedia AVerTV GO 007 FM (card=57) model, the code is two one liners which enable the IR for this device (subsystem: 1461:f31e) Signed-off-by: Albert Graham Signed-off-by: Mauro Carvalho Chehab commit d172b8bdab3812a6ad710e4cc78ceea3e8a40cd5 Author: Andrew Morton Date: Fri Dec 7 21:14:43 2007 -0300 V4L/DVB (6749): v4l-nopage-fix dont just copy-and-paste stuff. (compile-tested this time) Signed-off-by: Andrew Morton Cc: Nick Piggin Signed-off-by: Mauro Carvalho Chehab commit 105354a0f0410d4715f38e67d5790dead5dafdad Author: Nick Piggin Date: Fri Dec 7 17:57:38 2007 -0300 V4L/DVB (6748): Subject: v4l: nopage Convert v4l from nopage to fault. Remove redundant vma range checks. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 14e3c152a14cb96b5f584d3885d2aedf1a1353fc Author: Michael Krufky Date: Fri Dec 7 00:33:08 2007 -0300 V4L/DVB (6745): tda18271: remove tuning offset for atsc/qam The tuning request coming in from userspace is already center adjusted, so we should not adjust to center (+1.75mhz) within the driver. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4a56eb3f535f92b0585aa01dba05b3f17a547df0 Author: Hans Verkuil Date: Sun Dec 2 07:03:45 2007 -0300 V4L/DVB (6743): cx25840: fix endianness inconsistency cx25840_read4 reads a little-endian 32-bit value whereas cx25840_write4 writes the 32-bit value as big-endian. Convert write4 to use little-endian as well (that's the correct endianness). Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6b1e56763b50f169d8446c43df6adb70f69552db Author: Hans Verkuil Date: Sun Dec 2 06:56:00 2007 -0300 V4L/DVB (6742): ivtv: fix incorrect debug message Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 737bd410e70c3daa02f203dec24351951e89d82f Author: Hans Verkuil Date: Thu Nov 1 13:38:12 2007 -0300 V4L/DVB (6741): cx2341x: codingstyle cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 574dec611f1578b52dd37df5c95f855a28652e42 Author: Hans Verkuil Date: Thu Nov 1 07:58:17 2007 -0300 V4L/DVB (6740): tlv320aic23b: codingstyle cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4c05de9c971b70a61d81cd2f1c78db85e2632d1c Author: Hans Verkuil Date: Thu Nov 1 07:54:57 2007 -0300 V4L/DVB (6739): cs53l32a: codingstyle cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 099b8e7361512ebfef2dd51f2e81126cc93c22e9 Author: Hans Verkuil Date: Thu Nov 1 07:45:54 2007 -0300 V4L/DVB (6738): wm8739: codingstyle cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 842441d42de8f22d8f530b19da984df81fed8f7e Author: Hans Verkuil Date: Thu Nov 1 07:35:41 2007 -0300 V4L/DVB (6737): wm8775: codingstyle cleanup Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8c85454a5963747fca7d0699e2450f676314c176 Author: Mauro Carvalho Chehab Date: Fri Dec 7 17:34:48 2007 -0300 V4L/DVB (6736): Fix some errors at the video_ioctl2 conversion Signed-off-by: Mauro Carvalho Chehab commit 90bdc14533fa37b86ada57fcf60c634106ddbb3f Author: Mauro Carvalho Chehab Date: Fri Dec 7 17:23:38 2007 -0300 V4L/DVB (6735): Reorder functions to make easier to compare with the previous code After this patch, the order of the functions will be the same as before the patch converting the driver to user video_ioctl2. This makes easier to diff between the previous version and the newer one. Signed-off-by: Mauro Carvalho Chehab commit 8f61ae2f4ff698c7cd83b1f17b1ca2ecfc7f0696 Author: Douglas Schilling Landgraf Date: Fri Dec 7 17:09:53 2007 -0300 V4L/DVB (6734): Converted saa7134-video to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 863c86dd7e014e645207fd16f4e06bc223567984 Author: Oliver Neukum Date: Mon Dec 3 06:48:43 2007 -0300 V4L/DVB (6732): dsbr100 violates DMA coherency rules Signed-off-by: Oliver Neukum Signed-off-by: Mauro Carvalho Chehab commit e1ba33df0cbc6a7ab339dc093f37825775b9caca Author: Richard Knutsson Date: Sun Dec 2 14:47:01 2007 -0300 V4L/DVB (6731): ivtv: Remove a invalid shadow-variable Remove the shadowing 'struct v4l2_chip_ident *chip', since it already exists and makes the if-statement useless. Signed-off-by: Richard Knutsson Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5d2bf930a2f4586a3e19318ed821a34193c4b7cd Author: Michael Krufky Date: Sun Dec 2 17:37:38 2007 -0300 V4L/DVB (6728): tda18271: fix register dump format Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b5f3e1e153b60f7bc338cdd6eefacd59c2dfb375 Author: Michael Krufky Date: Sun Dec 2 16:36:05 2007 -0300 V4L/DVB (6727): tda18271: convert table lookup loops to functions Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit aaeccba68a60eedee5fe90f9e1478367b1f97345 Author: Michael Krufky Date: Sun Dec 2 11:03:57 2007 -0300 V4L/DVB (6726): tda18271: set image rejection validity Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 293da0ec468addf891856e9ffee88af2fd00e25a Author: Michael Krufky Date: Sun Dec 2 02:45:04 2007 -0300 V4L/DVB (6725): tda18271: improve debug flexibility converted debug module option to an or-able setting. 1 = info 2 = table map values 4 = register dumps Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1457263e9df6911384c474532a49d1b25bc9d248 Author: Michael Krufky Date: Sun Dec 2 02:32:49 2007 -0300 V4L/DVB (6724): tda18271: remove duplicated code Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit efce841093589bfef571a07e18e5446def9e04b4 Author: Michael Krufky Date: Sat Dec 1 17:40:16 2007 -0300 V4L/DVB (6723): tda18271: only force init once during attach Once the image rejection calibration procedure has been successful, we should not initialize the tuner registers again. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2b057e8dc6cc8318956fef92b77a4e86985e84d9 Author: Ian Armstrong Date: Tue Nov 13 19:15:25 2007 -0300 V4L/DVB (6719): ivtv: ivtv-yuv clean-up + source cropping bug-fix ivtv-yuv code clean up & reformat. Includes minor changes to some debug lines. Also fixes a bug found during the reformatting, which would cause the incorrect amount of yuv data to be sent to the card if source cropping coordinates were used. Apart from the bug-fix, there should be no functional difference to the previous version. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 368f080b6870e65d43c346e085e8f81ade5d3e07 Author: Ian Armstrong Date: Mon Nov 5 14:30:03 2007 -0300 V4L/DVB (6718): ivtv: ivtv yuv format description correction The driver was incorrectly reporting that it supported YUV 4:2:2 output, when it is actually YUV 4:2:0. Though I believe the hardware can be pushed to 4:2:2, we don't currently support that. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 77aded6ba51f01335840ce8e18b413067810b68e Author: Ian Armstrong Date: Mon Nov 5 14:27:09 2007 -0300 V4L/DVB (6717): ivtv: Initial merge of video48 yuv handling into the IVTV_IOC_DMA_FRAME framework Previously, all yuv data written to /dev/video48 had only basic support with no double buffering to avoid display tearing. With this patch, yuv frames written to video48 are now handled by the existing IVTV_IOC_DMA_FRAME framework. As such, the frames are hardware buffered to avoid tearing, and honour scaling mode & field order options. Unlike the proprietary IVTV_IOC_DMA_FRAME ioctl, all parameters are controlled by the V4L2 API. Due to mpeg & yuv output restrictions being different, their V4L2 output controls have been separated. To control the yuv output, the V4L2 calls must be done via video48. If the ivtvfb module is loaded, there will be one side effect to this merge. The yuv output window will be constrained to the visible framebuffer area. In the event that a virtual framebuffer size is being used, the limit to the output size will be the virtual dimensions, but only the portion that falls within the currently visible area of the framebuffer will be shown. Like the IVTV_IOC_DMA_FRAME ioctl, the supplied frames must be padded to 720 pixels wide. However the height must only be padded up the nearest multiple of 32. This would mean an image of 102 lines must be padded to 128. As long as the true source image size is given, the padding will not be visible in the final output. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3b5c1c8e71eb8fe2297a5884db59108e3c8b44c5 Author: Ian Armstrong Date: Mon Oct 22 14:24:26 2007 -0300 V4L/DVB (6716): ivtv: yuv interlace mode change Interlace mode selection code moved into the frame setup phase, so it's now run before the frame is loaded into a hardware buffer. Given that it can affect how a new frame is displayed, it was a bit stupid running it after the frame was already visible. A few stray interlace related variables which were linked to individual frames have now been moved into the yuv_frame_info struct. This means that all variables linked to a specific frame are in the same place & not scattered. Minor code reformatting in areas touched by the above changes. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 406c8b0ff0891ace87440bcb298a91c1927f9ae5 Author: Ian Armstrong Date: Sun Oct 21 08:33:59 2007 -0300 V4L/DVB (6715): ivtv: Remove unnecessary register update To reduce the number of display register accesses, the yuv code keeps track of the current video settings. Should there be a change in any single parameter, it will update the associated display registers to ensure everything is displayed correctly. The existing check also looks at the field order for the video. This is not required, since field reversal does not require any display register changes. This patch removes the field order from the check. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 166983cdfbb2779bec98de89927669ed4c9ff8f2 Author: Ian Armstrong Date: Sun Oct 21 08:09:10 2007 -0300 V4L/DVB (6714): ivtv: yuv frame parameter fix Inadvertently missed a line when converting code to new hardware buffering method. In some circumstances, this would lead to a frame being displayed using parameters belonging to another frame. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a3e5f5e2dfb50bebca24329e5377d804c6e3eb1b Author: Ian Armstrong Date: Sat Oct 20 14:52:55 2007 -0300 V4L/DVB (6713): ivtv: ivtv_yuv_prep_frame breakup and yuv hardware buffer changes ivtv_yuv_prep_frame is split in smaller code blocks. Modified yuv buffer handling on the PVR350 itself. We now cycle through all 8 hardware buffers. With this patch in place, driver behaviour should remain unchanged from the existing release. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c240ad00af78228726e6301ad6ffc54d3adce2a0 Author: Ian Armstrong Date: Tue Oct 16 03:21:46 2007 -0300 V4L/DVB (6712): ivtv: ivtv yuv stream handling change Currently the yuv output stream buffer is divided into blocks whose size depend on the broadcast standard selected during the driver init phase. However, the standard can be changed after the init phase. This effectively breaks the yuv output stream handler, since it relies on the different yuv planes being block aligned. This patch changes the setup, so that the block size is always the same. The decoder dma function has been modified to cope with the fact that the second yuv plane may no longer be block aligned. The start of the yuv frame must still be at the beginning of a block, so the stream write function has also been modified to ensure this is always true. Also, the stream write function will now initiate a yuv dma transfer as soon as a full frame is ready. It will not wait until the current write request has completed, or the stream buffer becomes full. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9de982d3117a3f83e4e7b14016a1df25b4a693d6 Author: Mike Isely Date: Mon Dec 3 02:10:04 2007 -0300 V4L/DVB (6710): pvrusb2: Recognize ATSC video standard bit values Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 3d290bdb283c9dc897c5fd160fe3d07ead426c45 Author: Mike Isely Date: Mon Dec 3 01:47:12 2007 -0300 V4L/DVB (6709): pvrusb2: minor rework for default video standard handling pvrusb2: When a per-device-type default video standard is declared, handle it in such a way that it can be correctly and unambiguously reported in the system log. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 4ca7f7092815cad5cb3a9377dce211202fe4b328 Author: Mike Isely Date: Mon Dec 3 01:45:26 2007 -0300 V4L/DVB (6708): pvrusb2: Expand comment in device attributes description Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e802c14b91e3fddd50652270756124a69e550113 Author: Mike Isely Date: Mon Dec 3 01:44:43 2007 -0300 V4L/DVB (6707): pvrusb2: Remove use of volatile in pipeline control state machine pvrusb2: Eliminate use of volatile in pipeline control state variables. These were all cases of paranoia; upon further review the overall mechanism employed here should not require use of volatile. This had originally been done out of paranoia, and I have since been convinced that the paranoia is not required. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 26e33048aad0486c98155b1406037f02fe70cb1b Author: Mike Isely Date: Mon Dec 3 01:43:23 2007 -0300 V4L/DVB (6706): pvrusb2: Remove use of volatile in command sequencer pvrusb2: Remove use of volatile for command sequencer; these variables are set by interrupt-context code and we check their state in such a manner that there should be no race conditions. This had originally been done out of paranoia, and I have since been convinced that the paranoia is not required. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 6a540254966f8a01de0f7c78a27db17458c2d8f5 Author: Mike Isely Date: Sun Dec 2 23:51:34 2007 -0300 V4L/DVB (6705): pvrusb2: Implement default standard selection based on device type This adds a default video standard setting to the pvr2_device_desc structure for describing device types. With this change it is possible to set a reasonable default standard based on device type. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ea2562d94fade3d6ee9b22ed5addbbdba697d22a Author: Roel Kluin <12o3l@tiscali.nl> Date: Sun Dec 2 23:04:57 2007 -0300 V4L/DVB (6703): pvrusb2: Change division to bit-or for tveeprom standards Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 482cb9a75ba5df68f4bcbe806c838eaf28af34c0 Author: Michael Krufky Date: Tue Nov 27 16:58:33 2007 -0300 V4L/DVB (6702): pvrusb2: fix typo in comments Firmware file name(s) for 24xxx devices Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9e2e3aeb2d2c8bf64b04e1f5747f1d9842df43de Author: Mike Isely Date: Mon Nov 26 02:14:23 2007 -0300 V4L/DVB (6701): pvrusb2: Enable support for "GOTVIEW USB2.0 DVD2" hardware This changeset allows the pvrusb2 driver to operate a new device type ("GOTVIEW USB2.0 DVD2"). Changes amount to defining a new routing scheme for the device and adding appropriate table entries into pvrusb2-devattr.c. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 65bd80fe18b6abb63776746646321b41b44d70a7 Author: Mike Isely Date: Mon Nov 26 02:11:38 2007 -0300 V4L/DVB (6700): pvrusb2: Soften the crashed encoder warning message The pvrusb2 driver has been successfully recovering from a crashed encoder now for over 2 years. I think it's time to reduce the perceived severity of the warning message. While I'd still very much like to stop these crashes, the recovery logic is solid enough that the problem is effectively benign. No point in panicing the users over it. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 056d1a899201f02777a35a32f8e6c9a2aac63f63 Author: Mike Isely Date: Mon Nov 26 02:09:42 2007 -0300 V4L/DVB (6699): pvrusb2: Use of virtual IR chip is a device-specific attribute For Hauppauge 24xxx devices, the IR receiver is a custom piece of logic that is very specific to the device. The pvrusb2 driver can virtualize this to make it look like a more normal IR receiver found in other Hauppauge devices. The decision of whether or not to enable this virtualization however is a device-specific attribute, thus this changeset. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit f5174af201f2e22c101bb02d06343e4bc5f056de Author: Mike Isely Date: Mon Nov 26 02:07:26 2007 -0300 V4L/DVB (6698): pvrusb2: Implement signal routing schemes The exact routing of video and audio signals within a device is a device-specific attribute. Hauppauge devices do it one way; other types of device may route things differently. Unfortunately it is rather impractical to define chip-specific routing at the device attribute level, so instead what happens here is that "schemes" are defined. Each chip level interface implements its part of a given scheme and the scheme as a whole is made into a device specific attribute controlled via a table entry in pvrusb2-devattr.c. The only scheme defined here is for Hauppauge devices, but clearly this opens the door for other possibilities to follow. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit aaf7884db395332ae8474f3ea5bcdd39c0a941ea Author: Mike Isely Date: Mon Nov 26 02:04:11 2007 -0300 V4L/DVB (6697): pvrusb2: Existence of Hauppauge ROM is a device-specific attribute Arrange so that the pvrusb2 driver can optionally work without a Hauppauge ROM being present - which is fairly important for devices that happen to not come from Hauppauge. The expected existence of a Hauppauge ROM is now a device attribute. The tuner type is now also a device attribute, which is consulted if there is no ROM. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 56dcbfa0d5a46f137df5047ae8f3aab30f59954e Author: Mike Isely Date: Mon Nov 26 02:00:51 2007 -0300 V4L/DVB (6696): pvrusb2: Miscellaneous tweaks for controlling tuner type and video standard Correctly mark when a tuner type is set. Report more faithfully information about known supported device video standards. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 78a47101ac0ac75019a740d62c70ccb16ff7c7c1 Author: Mike Isely Date: Mon Nov 26 01:58:20 2007 -0300 V4L/DVB (6695): pvrusb2: Implement functions to pass descriptive hardware info Implement additional pvrusb2 device info table entries for a device identifier and a device description. Export this information via the driver's internal API. Make this information available via the sysfs driver interface. Also propagate this information into the v4l2 capability structure. An app can now retrieve and report a descriptive string about the particular type of hardware device it is operating. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit f66fbd71f24f5f0264bb8526cfb91ea5c6219f50 Author: Mike Isely Date: Mon Nov 26 01:55:07 2007 -0300 V4L/DVB (6694): pvrusb2: Remove obsolete global hardware type enumeration Device-specific driver behavior is now defined by generic device characteristics rather than by specific device model information. With this change, the hardware type field can go away, thus this change. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit f8bcec6d1814862e299e2a32ff9dbb0be0ff6ceb Author: Mike Isely Date: Mon Nov 26 02:30:20 2007 -0300 V4L/DVB (6693): pvrusb2: Add pvrusb2-devattr.o to driver build Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 989eb154eafad00c3b5039a3eca03e108dac1df8 Author: Mike Isely Date: Mon Nov 26 01:53:12 2007 -0300 V4L/DVB (6692): pvrusb2: Centralize device specific attributes into a single place The pvrusb2 driver currently supports two variants of the Hauppauge PVR USB2. However there are other hardware types potentially supportable, but the driver at the moment is not structured to make it easy to describe these minor variations. This changeset is the first set of changes to make such additional device support possible. Device attributes are held in several tables all contained within pvrusb2-devattr.c; all other device-specific driver behavior now derives from these tables. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 681c739944018d80dbcf7f19997eba97676c7116 Author: Mike Isely Date: Mon Nov 26 01:48:52 2007 -0300 V4L/DVB (6691): pvrusb2: Rework pipeline state control This is a new implementation for video pipeline control within the pvrusb2 driver. Actual start/stop of the pipeline is moved to the driver's kernel thread. Pipeline stages are controlled autonomously based on surrounding pipeline or application control state. Kernel thread management is also cleaned up and moved into the internal control structure of the driver, solving a set up / tear down race along the way. Better failure recovery is implemented with this new control strategy. Also with this change comes better control of the cx23416 encoder, building on additional information learned about the peculiarities of controlling this part (this information was the original trigger for this rework). With this change, overall encoder stability should be considerably improved. Yes, this is a large change for this driver, but due to the nature of the feature being worked on, the changes are fairly pervasive and would be difficult to break into smaller pieces with any semblence of step-wise stability. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 493977f016f2ff52fdca38d031c7211b4da658fd Author: Brandon Philips Date: Fri Nov 30 22:37:28 2007 -0300 V4L/DVB (6688): V4L: fix copy and paste error in dprintk for videobuf-vmalloc.c Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit cc76466b310f61e71ac10778781fdbdb97d333fd Author: Hermann Pitton Date: Wed Nov 28 21:54:35 2007 -0300 V4L/DVB (6687): saa7134: add mute support for radio/analog-in on MD9717 and MD7134 Currently the saa7134 chips only have mute support for the TV input. Cards with mute from external audio muxes are already fine on the other inputs and some recent tuners mute at least the radio on exit. But these mostly hybrid tuners are not fully backward compatible, since they must power down and mute regardless. For some included above, the MD7134 knows several, to switch on mute/automute to the TV input is functional and backward compatible for the applications, except that the tuners with tda9887 always mute on exit. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit 102df6a785bd5ff22b0ca745f3107ab9780fc30b Author: Michel Lespinasse Date: Mon Nov 26 18:57:10 2007 -0300 V4L/DVB (6685): ir-keymaps.c: extra keys on winfast Y04G0033 remote This change adds support for 4 extra keys on the remote currently being shipped by leadtek with their "WinFast TV2000 XP/Expert" and "WinFast PVR2000" cards. The remote P/N seems to be Y04G0033 and you can see a picture of it here: http://lespinasse.org/y04g0033.jpg The extra keys are at the bottom and are labeled MCE +VOL, -VOL, +CH, -CH. I chose to map them to the F21-F24 keycodes, following the precedent of ir_codes_gotview7135[], so as to differentiate these 'MCE' keys from the other +VOL, -VOL, +CH, -CH 'arrow' keys higher up on the remote. Signed-off-by: Michel Lespinasse Signed-off-by: Mauro Carvalho Chehab commit 5c15648a42016eebb9870dc3af44e94bca4f3604 Author: Mauro Carvalho Chehab Date: Sun Dec 2 00:02:18 2007 -0300 V4L/DVB (6683): Fix DVB compatibility DVB-S is not supported. Also, there are some QAM6 firmwares for xc3028, but it is reported that this doesn't work fine. Thanks to Manu Abraham, Michael Krufky and Patrick Boettcher for their insights. Signed-off-by: Mauro Carvalho Chehab commit 54465b082cc86921aa7d7b638d75803e6d919f25 Author: Michael Krufky Date: Fri Nov 23 18:14:53 2007 -0300 V4L/DVB (6681): tda18271: rename 'debug' to 'tda18271_debug' Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6ca04de36b05aaf2f8122d0e566940969c6df801 Author: Michael Krufky Date: Fri Nov 23 16:52:15 2007 -0300 V4L/DVB (6680): tda18271: move tda18271_map tables to a separate source file Move tda18271_map tables to a separate source file, to improve code readability and ease maintenance. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 63c254805e38bad4c64b5f5b0e135a2a357fa0bf Author: Michael Krufky Date: Fri Nov 23 15:08:11 2007 -0300 V4L/DVB (6679): tda8290: force tuner init after attach Force tuner init after attach, then sleep until use. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 22ee1250bd41534552c61be13994fd12d1ee1318 Author: Michael Krufky Date: Thu Nov 22 17:13:00 2007 -0300 V4L/DVB (6678): tda18271: define init callback Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 63806eeb61dcdf30fdbf488babff98aea2ca3f08 Author: Mauro Carvalho Chehab Date: Sun Nov 25 19:29:22 2007 -0300 V4L/DVB (6677): Fix xc2028 driver for non OFDM A previous patch implemented support for non-OFDM digital TV. However, the previous bandwidth ofdm parameter were left at the code by mistake. Thanks to Michael Krufky and Patrick Boettcher for noticing this mistake. Signed-off-by: Mauro Carvalho Chehab commit 66c2d53db28276fe49b49745230b7ac8d8fd5f47 Author: Mauro Carvalho Chehab Date: Sun Nov 25 19:26:36 2007 -0300 V4L/DVB (6676): Improve s-code support s-code tables are related to IF frequency used for video demodulation. The s-codes for analog are automatically loaded, according with video standard. However, for digital, they will depend on the IF of the demoduler chip. IF of the demoduler. Before this patch, only a few IF's where possible to use. This patch allows selecting any IF defined at firmware file. Signed-off-by: Mauro Carvalho Chehab commit b542dfdc9f6e6eaf3cc2ede27dbaf50425f8b4b5 Author: Mauro Carvalho Chehab Date: Sat Nov 24 11:07:12 2007 -0300 V4L/DVB (6675): Allow selecting the proper SCode table for DTV Signed-off-by: Mauro Carvalho Chehab commit d04aa54a27f7bc6f051e55c47abbc0a1db1718bc Author: Mauro Carvalho Chehab Date: Sat Nov 24 10:47:03 2007 -0300 V4L/DVB (6674): Add support for other DTV types Signed-off-by: Mauro Carvalho Chehab commit d74cb25e427e2ef979107cbed67d39eba53a6b0f Author: Mauro Carvalho Chehab Date: Sat Nov 24 10:20:15 2007 -0300 V4L/DVB (6672): Add support for radio Signed-off-by: Mauro Carvalho Chehab commit 00deff1a076dc1cf6743813657623626720bf0f5 Author: Mauro Carvalho Chehab Date: Sat Nov 24 10:13:42 2007 -0300 V4L/DVB (6671): Avoids checking digital/analog at check_firmware Since check_firmware is called via analog or digital set freq routines, move type selection to those routines. This avoids having several if's at the code, and simplifies the source code. A sideback effect is that implementing radio and other dvb types will become simpler. Signed-off-by: Mauro Carvalho Chehab commit f36224d3992a7734349cdd6289ff73c3d007ce09 Author: Maxim Levitsky Date: Tue Oct 23 00:58:59 2007 -0300 V4L/DVB (6670): V4L: saa7134: tvaudio cleanups move some tv-audio initialization code out of tvaudio thread, and call it on resume too. Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit 5c01203fd289214ae3062dab4039fcbab4b2b84f Author: Maxim Levitsky Date: Sun Nov 4 18:21:25 2007 -0300 V4L/DVB (6669): Add few missing bits of code to saa7134_resume First the saa7134_initdev waits between saa7134_hwinit1 and saa7134_hwinit2 , thus it is probably wise to do the same in saa7134_resume some hardware probably needs this. Call saa7134_irq_video_signalchange in .resume like in saa7134_resume to make saa7134_resume mirror perfectly the saa7134_initdev although this call isn't strictly necessary in the saa7134_initdev, but it won't harm anyway. Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit 3203cb86d22c63504f8368151029bf9dad014ddb Author: Maxim Levitsky Date: Sun Nov 4 19:34:23 2007 -0300 V4L/DVB (6668): Fix theoretical races between IRQ handler and .suspend/resume *dev->insuspend = 1 should be set before synchronize_irq *ACK interrupts after synchronize_irq, to make sure there aren't pending interrupts. *Add barrier before we restart interrupts so the handler will 100% see the dev->insuspend Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit 0d65cd4f2bfe70872e4218d9d35d37a7000d6739 Author: Maxim Levitsky Date: Sun Nov 4 17:59:28 2007 -0300 V4L/DVB (6667): Fix access to configuration space while in D3 pci_save_state should be called before pci_set_power_state and pci_restore_state after pci_set_power_state Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit 91821ff3f958c16bf84d02258dd79da792c66ca8 Author: Hans Verkuil Date: Sun Dec 2 09:35:33 2007 -0300 V4L/DVB (6665b): add ivtv to MAINTAINERS Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4c5efc1778387de98d5348666e7bc4396c9a5404 Author: Adrian Bunk Date: Sun Nov 25 19:04:47 2007 -0300 V4L/DVB (6665a): finish the VID_HARDWARE_* removal This patch removes a few remainders of the VID_HARDWARE_* removal. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab 643d01fb38b6f376cced035549f4e193018776e7 commit c23f5949c0eeec328c872f29c8f4c233e73c3c4d Author: Mauro Carvalho Chehab Date: Fri Nov 23 14:22:14 2007 -0300 V4L/DVB (6665): Fix CodingStyle thanks to checkpatch.pl Signed-off-by: Mauro Carvalho Chehab commit 5a9dfc34fcee89ca399cf201a0904675e87c9576 Author: Mauro Carvalho Chehab Date: Fri Nov 23 14:20:24 2007 -0300 V4L/DVB (6664): Add missing USB ID's at CARDLIST.em28xx Signed-off-by: Mauro Carvalho Chehab commit cca83798119c92a3086af9e8a0419360c63aeadd Author: Mauro Carvalho Chehab Date: Thu Nov 22 11:47:18 2007 -0300 V4L/DVB (6662): Fix standard selection for PAL Not all 8MHz firmware are marked with F8MHz. Signed-off-by: Mauro Carvalho Chehab commit 2800ae9cd669db0fc9993cbefae02f181343c295 Author: Mauro Carvalho Chehab Date: Thu Nov 22 12:48:04 2007 -0300 V4L/DVB (6661): Remove firmware reload hack for analog On some cases, xc2028/xc3028 wents into "turn off" mode. It seems that this happens when very weak signals are tuned. To solve this, specific standard reaload were done previously. Christopher patches changed this behavior to a complete firmware reload. This patch removes the hack. A much cleaner solution for this trouble is just to sent a xc2028/3028 software reset. Signed-off-by: Mauro Carvalho Chehab commit 71a2ee37e8851f430d72daea0722908512d57f79 Author: Mauro Carvalho Chehab Date: Thu Nov 22 12:19:37 2007 -0300 V4L/DVB (6660): Allow fully configuring xc3028 during xc2028_attach xc3028 can be used on some DTV only designs (for example, DVB-S boards). Before this patch, a DTV only board would need to call set_tuner_config callback. This patch allows to optionally pass a xc3028_ctrl parameter, via xc3028_config struct, fully initializing the driver for DTV. Signed-off-by: Mauro Carvalho Chehab commit 5add9a6f3c90680f89b4694e81025d2aed9559af Author: Mauro Carvalho Chehab Date: Thu Nov 22 12:08:53 2007 -0300 V4L/DVB (6659): Convert MTS to bitfield Xc2028.3028 has two type of firmwares: audio-standard specific ones and baseband MTS firmwares. MTS firmwares provide stereo decoding for 6 MHz BTSC/EIAJ and for monoaural audio decoding on 8 MHz firmwares. It seems that the option to use MTS or a standard-specific audio decoding depends on the way xc2028/3028 is connected. Instead of wasting 32 (or 64 bits) to signalize if the driver needs to use MTS firmware, this patch converts it to a bitfield that can be shared with other proprieties of xc2028/3028. Signed-off-by: Mauro Carvalho Chehab commit a5e9fe149afb0fdf0de4729f1b0d203d4ac14906 Author: Mauro Carvalho Chehab Date: Fri Nov 23 11:36:18 2007 -0300 V4L/DVB (6658): Sets a default std, if not specified Some drivers call set_frequency before selecting the video standard. Before this patch, an invalid standard ID could be assumed. Signed-off-by: Mauro Carvalho Chehab commit c71d4bc512dda42069c70219bd00315a91550367 Author: Mauro Carvalho Chehab Date: Thu Nov 22 11:47:18 2007 -0300 V4L/DVB (6657): Fix standard selection for PAL/M, PAL/N, PAL/Nc and NTSC Those standards use 6 MHz firmware. Signed-off-by: Mauro Carvalho Chehab commit a1dcd9de648c8cf21abaeca7f77885665eed4117 Author: Chris Pascoe Date: Tue Nov 20 08:17:54 2007 -0300 V4L/DVB (6656): zl10353: store frequencies in 0.1kHz to eliminate rounding errors Whilst reanalysing my formulas I realised it was no longer possible to get the right values for a 36.1667MHz IF due to rounding problems. Storing frequencies in units of 0.1kHz makes it possible to calculate these again correctly. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 702a67624e4bc9c7056418b576af928940b7dbb9 Author: Chris Pascoe Date: Tue Nov 20 03:34:11 2007 -0300 V4L/DVB (6655): Add support for MT352-based DViCO FusionHDTV DVB-T NANO devices There are at least three variants of the DViCO FusionHDTV DVB-T NANO that share the same USB device ID. The first (ZL10353 w/ firmware in ROM) is already supported; the latter two both require firmware and have either an MT352 or ZL10353 demodulator, and have a different IR receiver from the first. This introduces a new identify_state that can tell the difference between a "warm" device which is running the embedded firmware, and a "cold" device that needs us to upload firmware to it before it will work. We patch the uploaded device ID (like we do for other bluebird devices) to make it easy to identify the particular device variant when it reattaches. NB: These devices use a different firmware file from previous bluebird devices. You need a new firmware file to make this work. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit c6e62a3a398d62e8ae366ac1465911db0ac7fc0b Author: Chris Pascoe Date: Tue Nov 20 02:49:41 2007 -0300 V4L/DVB (6654): mt352: support oversampled IF input Rework the input frequency calculation so that it produces the right values when the ADC oversamples the IF input. This means MT352 devices can now process a near-zero IF (according to the, specs 4.57MHz is supported with the default crystal). Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 5ccaf905015c83a9b28e8496b4504b9b8dc25a80 Author: Chris Pascoe Date: Tue Nov 20 01:53:31 2007 -0300 V4L/DVB (6653): Add support for the DViCO FusionHDTV NANO2 w/ZL10353 and firmware Add support for the DViCO FusionHDTV DVB-T NANO with zl10353 demodulator and firmware in ROM on the device. Again, this is based on the great work of Mike Krufky with my modifications to use the in-tree XC2028 driver. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 1ad0b796a3fa3d1c1a7d16be7c70b626da2940a9 Author: Chris Pascoe Date: Mon Nov 19 23:43:13 2007 -0300 V4L/DVB (6652): xc2028: try non-8MHZ init1 firmware When loading init1 firmware, there may not be an 8MHz specific version. Load the non-8MHz version if it exists. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 11a9eff9b66b1cf860faa84084328d798d18834c Author: Chris Pascoe Date: Mon Nov 19 23:18:36 2007 -0300 V4L/DVB (6651): xc2028: mask off type correctly when searching for standard-specific types When searching for standard-specific analog firmware, only certain type bits are valid, much like for DTV. Mask them off when finding the firmware to load. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 47bd5bc6486a5288aa3002533c24c8e9e564f9ac Author: Chris Pascoe Date: Mon Nov 19 23:11:37 2007 -0300 V4L/DVB (6650): xc2028: base firmwares should have std0 When loading BASE firmware, we must use std = 0. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit aeb012bbf460171b75ba17dc064a543f7256521f Author: Chris Pascoe Date: Mon Nov 19 21:57:10 2007 -0300 V4L/DVB (6649): Add support for the DViCO FusionHDTV Dual Digital 4 Add support for DViCO's Dual Digital 4 with xc3028 tuner, zl10353 DVB-T demodulator and a new-style I2C IR remote control receiver. This would not have been possible without the work of and advice from Mike Krufky, who originally got the Dual Digital 4 and second-gen DVB-T NANO devices working with the out-of-tree XC3028 driver. I converted it to use the in-tree XC3028 driver (after making it suitable for our use), and added the IR remote control support based on his advice. NB: a firmware package is required to use this device. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 45819c381fc4fb342dc091f30eef4b56193e34d5 Author: Chris Pascoe Date: Mon Nov 19 11:41:20 2007 -0300 V4L/DVB (6648): xc2028: add sleep hook Add sleep method to enable putting the tuner into standby mode. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 8bf799a6217f6336fb95f37bf1b130003404bd7b Author: Chris Pascoe Date: Mon Nov 19 11:35:45 2007 -0300 V4L/DVB (6647): xc2028: retry firmware load if tuner does not respond In practice, the tuner occasionally fails to respond correctly after a firmware load. Retry the firmware load if the firmware/hardware version we read back from the tuner after programming does not match what we expect. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit e0f0b37a3e624440b1b0e8a5978b367895226e75 Author: Chris Pascoe Date: Mon Nov 19 11:22:03 2007 -0300 V4L/DVB (6646): xc2028: rework firmware (re)loading process Define a list of valid "firmware types" for each combination of BASE, DTV and SCODEs. By masking the appropriate firmware bits off we can just use one "type" for the firmware searching and also flag when we are looking for a BASE, DTV or SCODE type firmware. This makes it much easier to track if we need to change device modes or flash an individual firmware part. Add a structure to remember what firmware properties we have. This contains the currently loaded/wanted base firmware (type), video std (id), video std requested (std_req), scode file and number in use. Incorporate said structure into the tuner private data. When checking whether the current firmware needs to be reloaded, first figure out exactly what "type" of firmware we want (base, std and scode), and then proceed to load the appropriate matching base, std-specific and scode records iff there are any changes required. This removes guesswork from the process because we no longer need to individually code a check for every tuning parameter's interactions. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 59a636e50f339f91880b3a1e395829c43cc6541a Author: Chris Pascoe Date: Mon Nov 19 10:23:17 2007 -0300 V4L/DVB (6645): xc2028: allow selection of D2633 firmware Add a bit to select D2633 DTV firmware to struct xc2028_ctrl, so that it can be enabled via .set_config. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit d7b22c5cfef28d21051331622f9595993a083cc4 Author: Chris Pascoe Date: Mon Nov 19 10:12:45 2007 -0300 V4L/DVB (6644): xc2028: use correct offset into scode firmware When validating and loading SCODE firmware we need to take into account the two-byte size header before each entry. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit b1535293dc816f01b0934718c370f9533c7d635e Author: Chris Pascoe Date: Mon Nov 19 10:04:06 2007 -0300 V4L/DVB (6643): xc2028: use best match instead of first partial match during firmware selection Rather than picking the first video standard firmware that supports any of the standards that the user has requested, try to select one that supports as many of them as possible. This improves the likelihood that the firmware we select will support the user's desired TV standard. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 0a196b6fa9b42a2bb49733b37565aaaa97ffb07f Author: Chris Pascoe Date: Mon Nov 19 09:29:59 2007 -0300 V4L/DVB (6642): xc2028: don't duplicate max_len in priv There is no need to duplicate the max_len field from the ctrl structure in the private data. If we use it directly from priv->ctrl, we can memcpy the structure (apart from strings) to reduce maintenance as it grows. Enforce a minimum max_len length of 8 data bytes (+ 1 address byte) as seems to be required by the tuner. Also, use kstrdup instead of open coding the string duplication. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit a44f1c43dfa98e2eb763968890157bfaf9001add Author: Chris Pascoe Date: Mon Nov 19 06:35:26 2007 -0300 V4L/DVB (6641): xc2028: correct tuner offset for 7MHz DTV 7MHz bandwidth DVB-T needs an adjusted offset at the PLL to ensure the IF output is correctly centered. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit ddf1c5f1d78c1ce30a7e6b2447670fc0e103bb62 Author: Chris Pascoe Date: Mon Nov 19 06:33:16 2007 -0300 V4L/DVB (6640): xc2028: correctly select 8MHz firmware We were using priv->bandwidth to select the base firmware to load, not the requested bandwidth value, oops. Also, 7MHz Digital TV needs 8MHz base firmware loaded. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 2ce4b3aa7c3c199466ae9f5ed32ea177912c8c3a Author: Chris Pascoe Date: Mon Nov 19 06:20:17 2007 -0300 V4L/DVB (6639): xc2028: correct divisor length The frequency divisor should only be four bytes long. Also, display the frequency and divisor correctly in the debug output. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 06fd82dc7bdc6045bf8d6c1438d2a33ffb1cf337 Author: Chris Pascoe Date: Mon Nov 19 06:06:08 2007 -0300 V4L/DVB (6638): xc2028: firmware loading cleanup Hold the private lock over set_config and set priv->firm_size to 0 after a failed firmware load to prevent firmware accidentally being freed on us. Clean up the firmware load/error messages somewhat and rename priv->version to priv->firm_version to make it clear which "version" it is. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit b32f9fb962d593e3c5a61092a79434714f405ef5 Author: Chris Pascoe Date: Mon Nov 19 04:53:50 2007 -0300 V4L/DVB (6637): xc2028: add missing break Add break to stop us from following the default failure path even upon success. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit aa501be989f5df58c4732d5eb1989e5ca6479d90 Author: Chris Pascoe Date: Mon Nov 19 04:45:38 2007 -0300 V4L/DVB (6636): xc2028: protect device list Protect refcount changes and modifications to xc2028_list with a mutex. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 91240dd92474d4124f80b00e6200052b275a99a1 Author: Chris Pascoe Date: Mon Nov 19 04:38:53 2007 -0300 V4L/DVB (6635): xc2028: v4l2_std_id needs to be long long to display completely Cast v4l2_std_id variables to unsigned long long so they will printk properly. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 3157ecef3bce47df74427d6656fa8592bfe8d2d7 Author: Chris Pascoe Date: Mon Nov 19 04:34:29 2007 -0300 V4L/DVB (6634): xc2028: error messages missing whitespace Fix some missing spaces in errors that may be emitted during attach failure. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 7d58d1117ec02f5fe22ddd03ca08fe2a8c777ea2 Author: Chris Pascoe Date: Mon Nov 19 04:31:58 2007 -0300 V4L/DVB (6633): xc2028: make register reads atomic Issuing register reads as a separate address write and data read transactions means that other I2C activity could occur in between and state could get out of sync. Issue both the write and read in a single transaction so that the i2c layer can prevent other users accessing the bus until we are complete. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit e155d908f72cc429b538c101ee8ffcd10a44b69b Author: Chris Pascoe Date: Mon Nov 19 04:16:47 2007 -0300 V4L/DVB (6632): xc2028: fix inverted logic in audio standard check strcasecmp returns 0 on match, not true. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 47cc5b78102b4e9993ea1c054b4f077cf7aac7db Author: Chris Pascoe Date: Mon Nov 19 04:14:23 2007 -0300 V4L/DVB (6631): xc2028: eliminate i2c macro side-effects The I2C macros have side effects and send_seq could cause a return from a function with a mutex held. Change them to behave like real functions. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 794604c3efb511b74fb664af72c5dd7046e91075 Author: Chris Pascoe Date: Mon Nov 19 03:55:45 2007 -0300 V4L/DVB (6630): zl10353: calculate input frequency register instead of using hardcoded value Now we know the zl10353's correct ADC clock, we can calculate the input frequency registers correctly instead of just blindly setting them. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 58d834ea89664b41e6e21ed2d8dc5680d0dd76b6 Author: Chris Pascoe Date: Mon Nov 19 03:32:06 2007 -0300 V4L/DVB (6628): zl10353: Improve support for boards without a tuner on secondary i2c Issue FSM_GO instead of TUNER_GO if there is no tuner attached to the secondary i2c bus. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit a644e4a3e95f8ca6eca019c92d8dfde101150687 Author: Chris Pascoe Date: Mon Nov 19 03:05:09 2007 -0300 V4L/DVB (6627): CXUSB: handle write then read from different address The path to perform a read immediately after a write was not checking that the address being read from was the same as the one that was written. Handling this case correctly should mean that we now can handle more than two i2c messages at a time. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 272479d7ab067344d118e7633b624bf98f8896f3 Author: Chris Pascoe Date: Mon Nov 19 03:01:22 2007 -0300 V4L/DVB (6626): CXUSB: support only-read i2c requests Any i2c read request that was not immediately preceded by a write request was incorrectly taking the write path. Add the capability to handle individual read requests. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 13e001dfe3aeb9e7b05445af76e5b47235e81285 Author: Chris Pascoe Date: Mon Nov 19 02:48:27 2007 -0300 V4L/DVB (6625): CXUSB: i2c transfer failure notification The i2c master_xfer routine should return a negative result if not all transfers completed successfully. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit b17f109df1cd9fe1009501d59e466701106590d7 Author: Chris Pascoe Date: Mon Nov 19 02:42:44 2007 -0300 V4L/DVB (6624): CXUSB: return control message transfer result to caller Callers to cxusb_ctrl_msg currently do not receive any indication that their transfer failed. Return the true return code from dvb_usb_generic_{rw,write}. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 166fb6b4721f9dd8eca3755517671154aa1eaaba Author: Adrian Bunk Date: Wed Nov 21 19:55:52 2007 -0300 V4L/DVB (6623): remove saa7134-oss The saa7134-oss is deprecated for quite some time, it's the only remaining OSS user outside of sound/oss/, and considering how few and what kind of soundcards are left supported by OSS I hardly see any use cases left. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 255c1887ccca6cde4a2eac231623b925bf621540 Author: Michael Krufky Date: Thu Nov 22 14:40:25 2007 -0300 V4L/DVB (6622): tda827x: prevent possible NULL pointer dereference in tda827xa_lna_gain If tda827x_config hasn't been defined, exit the function. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3b0c453aa78be253b4414cd337c9975f91e2c894 Author: Michael Krufky Date: Sun Nov 18 14:15:42 2007 -0300 V4L/DVB (6621): tda827x: fix NULL pointer dereference during tda827x_probe_version Fix the following oops: [ 750.807586] CPU: 1 [ 750.807587] EIP: 0060:[] Tainted: P VLI [ 750.807589] EFLAGS: 00010296 (2.6.22-14-generic #1) [ 750.807599] EIP is at tda827x_probe_version+0xc3/0x130 [tda827x] [ 750.807603] eax: 00000000 ebx: f5a45a00 ecx: 00000000 edx: 00000001 [ 750.807607] esi: f9de05ac edi: e9b897e0 ebp: ed8015ac esp: ed735f58 [ 750.807611] ds: 007b es: 007b fs: 00d8 gs: 0000 ss: 0068 [ 750.807615] Process kdvb-fe-1 (pid: 10662, ti=ed734000 task=d3b76530 task.ti=ed734000) [ 750.807618] Stack: f9e23972 00000038 ed735fd0 00010060 41ae0001 ed735f73 88b89608 e9b89608 [ 750.807629] e9b89608 ed801400 f9dde338 e9b89608 f9b2a46b 000000ae 00000a18 d3b76640 [ 750.807639] fffffffc f9b2bad6 00000003 f4433e68 e962b8c0 f4433e64 00000292 ed735fd0 [ 750.807649] Call Trace: [ 750.807653] [] tda10046_init+0x2d2/0x6c0 [tda1004x] [ 750.807700] [] tda827x_initial_init+0x8/0x20 [tda827x] [ 750.807713] [] dvb_frontend_init+0x2b/0x60 [dvb_core] [ 750.807745] [] dvb_frontend_thread+0x66/0x2f0 [dvb_core] [ 750.807780] [complete+64/96] complete+0x40/0x60 [ 750.807805] [] dvb_frontend_thread+0x0/0x2f0 [dvb_core] [ 750.807822] [kthread+66/112] kthread+0x42/0x70 [ 750.807828] [kthread+0/112] kthread+0x0/0x70 [ 750.807841] [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10 [ 750.807869] ======================= [ 750.807872] Code: 8b 74 24 20 8b 7c 24 24 83 c4 28 c3 8b 0d 00 0c de f9 85 c9 75 42 be e0 04 de f9 81 c7 0c 01 00 00 b9 33 00 00 00 f3 a5 8b 43 08 40 14 50 e3 dd f9 8b 5c 24 1c 31 c0 8b 74 24 20 8b 7c 24 24 [ 750.807925] EIP: [] tda827x_probe_version+0xc3/0x130 [tda827x] SS:ESP 0068:ed735f58 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5efab70958186d2bd63ab27b9465fce202352143 Author: Michael Krufky Date: Thu Nov 22 14:15:34 2007 -0300 V4L/DVB (6620): kconfig: VIDEO_SAA7134 must select VIDEO_TVEEPROM The ability to read Hauppauge eeprom's was recently added to saa7134, so we must build the tveeprom module. Thanks to Matthias Schwarzott for pointing this out. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 122d15888a8aa95fb6ca32eb1307c3e3337f1a38 Author: Aidan Thornton Date: Tue Nov 20 15:25:08 2007 -0300 V4L/DVB (6619): Use MTS firmware for the HVR-900 The HVR-900 requires the MTS version of the xc3028 firmware in order to get any sound. The below patch selects this firmware variant on HVR-900 cards, as well as splitting the HVR-950 into its own entry (since I don't know if it uses the MTS variant and it will have to be split off eventually anyway). Signed-off-by: Aidan Thornton Signed-off-by: Mauro Carvalho Chehab commit 11645cc370c1af0f6bc9ef7440d452def9580790 Author: Joe Perches Date: Mon Nov 19 22:48:15 2007 -0300 V4L/DVB (6618): drivers/media/dvb: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Mauro Carvalho Chehab commit ac9bb7f5167d53207893a783a2f722cd6e6ed78f Author: Joe Perches Date: Tue Nov 20 09:00:35 2007 -0300 V4L/DVB (6617): drivers/media/video: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Mauro Carvalho Chehab commit 13d97010ed0850fd7803563a2b9d92a56bb4aa35 Author: Joe Perches Date: Mon Nov 19 22:48:16 2007 -0300 V4L/DVB (6616): drivers/media/radio: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Mauro Carvalho Chehab commit ef8c1888b32132ae48553a8ce00d5858ec3e9b51 Author: Mauro Carvalho Chehab Date: Fri Nov 16 16:28:21 2007 -0300 V4L/DVB (6614): Fix driver for i386 architectures Signed-off-by: Mauro Carvalho Chehab commit 2d4c0ac60dbcdee83da5bdebc661c2c145938d8a Author: Mauro Carvalho Chehab Date: Fri Nov 16 09:43:19 2007 -0300 V4L/DVB (6613): Fix: add a missing continue statement Signed-off-by: Mauro Carvalho Chehab commit 5403bbae9bfebe1f2df3a022c83e54f70906cefe Author: Michel Ludwig Date: Fri Nov 16 07:49:49 2007 -0300 V4L/DVB (6612): Allow RESET_CLK callback and avoids unneeded loading TM5600/TM6000 needs clock reset during firmware load. This patch adds the capability of caling a callback method for this. Also, avoids uneeded firmware loads. Signed-off-by: Michel Ludwig Signed-off-by: Mauro Carvalho Chehab commit a37b4c9bc87a74ed5003c385eae264fc0acf6b35 Author: Michel Ludwig Date: Fri Nov 16 07:46:14 2007 -0300 V4L/DVB (6611): Change xc2028_attach method to make easier for DVB Removes uneeded parameters and adds an structure for passing the parameters This patch is co-authored by Mauro Carvalho Chehab. Signed-off-by: Michel Ludwig Signed-off-by: Mauro Carvalho Chehab commit 2fc580ffeb551066f769934e3a4717d721d0a559 Author: Michel Ludwig Date: Fri Nov 16 07:19:35 2007 -0300 V4L/DVB (6610): Fix a wrong typecast Signed-off-by: Michel Ludwig Signed-off-by: Mauro Carvalho Chehab commit 993efa7133985597eb48fb486c661010ab08b525 Author: Michael Krufky Date: Thu Nov 15 10:34:33 2007 -0300 V4L/DVB (6607): saa7134: add support for reading Hauppauge eeprom Increased size of dev->eedata from 128 to 256, since the Hauppauge data begins at byte 128. This has been tested on boards with smaller eeproms, and caused no problems. Added comments to distinguish between the various versions of the HVR1110. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ddf12227c3f8413d09c54f85e6642f79312f1430 Author: Michael Krufky Date: Thu Nov 15 10:01:11 2007 -0300 V4L/DVB (6606): saa7134: add autodetection support for alternate subids of Hauppauge HVR1110 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a82200fb59e7d12a1365199d9fe350bbf74255e4 Author: Mauro Carvalho Chehab Date: Thu Nov 15 11:58:00 2007 -0300 V4L/DVB (6605): Add a modprobe option to manually select audio standard While there's no public API to define audio standard, adds a hack option for select them. This is needed only for NICAM and A2 firmwares, since AM, BTSC and EAIJ are already properly handled, on firmware version 2.7. Signed-off-by: Mauro Carvalho Chehab commit d6964aa8d4a418d69da1652121940fabc6b5d591 Author: Brandon Philips Date: Tue Nov 6 20:23:08 2007 -0300 V4L/DVB (6603): V4L: videobuf: convert streaming and reading to bitfields Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 0fc0686e64d21a6abded96af2b1a895dfa8b2530 Author: Brandon Philips Date: Tue Nov 6 20:02:36 2007 -0300 V4L/DVB (6600): V4L: videobuf: don't chew up namespace STATE_.*, convert to VIDEOBUF_ s/STATE_NEEDS_INIT/VIDEOBUF_NEEDS_INIT/g s/STATE_PREPARED/VIDEOBUF_PREPARED/g s/STATE_QUEUED/VIDEOBUF_QUEUED/g s/STATE_ACTIVE/VIDEOBUF_ACTIVE/g s/STATE_DONE/VIDEOBUF_DONE/g s/STATE_ERROR/VIDEOBUF_ERROR/g s/STATE_IDLE/VIDEOBUF_IDLE/g Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 1414becf15da1701b0c45e9c82b1f120cb676a36 Author: Mauro Carvalho Chehab Date: Thu Nov 15 10:45:19 2007 -0300 V4L/DVB (6598): Fix standard name Signed-off-by: Mauro Carvalho Chehab commit 83fb340b3184875a63564ea174350b1d1b081874 Author: Mauro Carvalho Chehab Date: Thu Nov 15 09:44:30 2007 -0300 V4L/DVB (6595): Corrects printk lines Make the driver less verbose by default. It adds a debug parameter to make the driver more verbose. Also, error messages were using KERN_ERR level, instead of KERN_INFO. A few printk messages were reviewed to make them more clear. Signed-off-by: Mauro Carvalho Chehab commit 98883cdcb5884bd0f7a89ac36b7170404127b3ea Author: Mauro Carvalho Chehab Date: Thu Nov 15 09:35:44 2007 -0300 V4L/DVB (6594): Add tuner_err macro Some tuners, like xc3028, need to print error messages. Instead of declaring local macros, create a tuner global macro for printing tuner errors. To preserve CodingStyle on all tuner_macros, a few CodingStyle violations were fixed at the other macros: - lines with more than 80 columns - two statements at the same line The patch also removes the CodingStyle violation of having emacs declarations inside de source code (CodingStyle chapter 18). Signed-off-by: Mauro Carvalho Chehab commit f380e1d2c9a1ff82a89ec68850ce53094359000e Author: Mauro Carvalho Chehab Date: Thu Nov 15 08:43:53 2007 -0300 V4L/DVB (6593): Fix scode table loading Xceive 2028/3028 has a concept of scode/dcode. Scode is a table of 16 values (each with 12 bytes i2c sequence). Dcode is the entry of Scode table that should be used, given a certain frequency. The idea is that, depending on what frequency is selected, and according with a country-based (or standard-based?) table, the Xceive should be "hacked" to fine-tune that specific frequency. By default, Scode=0 is used, for undefined frequencies. Also, Scode=0 seems to be the most used value. This patch adds the capability of selecting a scode. However, extra work will be needed to allow auto-selecting the proper scode, for a given set of frequencies. I'm not sure what would be the proper way for implementing the dcode selection. Signed-off-by: Mauro Carvalho Chehab commit 43efe70253dd13b2d22ee51bb474ece25b3b41b1 Author: Mauro Carvalho Chehab Date: Wed Nov 14 19:30:28 2007 -0300 V4L/DVB (6592): Add the capability to work with more complete firmwares Firmware version 2.7 has other firmware types. This patch adds the capability for the driver to work with those newer types. Signed-off-by: Mauro Carvalho Chehab commit ddef2dcc4ead7a9412533202a42c40648e620f43 Author: Luca Risolia Date: Mon Nov 12 11:42:54 2007 -0300 V4L/DVB (6591): Adds support for MT9V111 on sn9c102 Adds a new image sensor to the sn9c102 driver. Signed-off-by: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit 542794be2caf46b5fe95cbb7cd878d884597647e Author: Olivier DANET Date: Mon Nov 12 10:48:51 2007 -0300 V4L/DVB (6590): Adding support for VHF with MT2266-devices MT2266 : - support for VHF - Minor enhancements Signed-off-by: Olivier DANET Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 67053a409af94ac3d67e0ef0651c42c8c10f5394 Author: dominik Date: Sat Nov 10 19:23:31 2007 -0300 V4L/DVB (6589): Gigabyte u7000 usb dvb-t support Signed-off-by: dominik Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 48e6a0173162690533951cd72b3edaa2e1605716 Author: Jaroslav Barton Date: Sat Nov 10 19:17:45 2007 -0300 V4L/DVB (6588): Leadtek Winfast DTV Dongle remote control Add remote controller support for Leadtek Winfast DTV Dongle based on DiB7700P, MT2060 and using last drivers (6040:6a79c243aecc), firmware dvb-usb-dib0700-03-pre1.fw Signed-off-by: Jaroslav Barton Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 7d497f8afa80128bb99a425a6d7a766a863128a5 Author: Mauro Carvalho Chehab Date: Sun Nov 11 14:15:34 2007 -0300 V4L/DVB (6587): Cleanup at tv norm selection With the conversion to the vidio_ioctl2, tvnorms array is not required anymore. Also, removed some code from V4L1 time (VIDEO_MODE_foo), specied at the non-used video_decoder.h. Signed-off-by: Mauro Carvalho Chehab commit cb77d010221e66c63f4a71546fed73be9b12b9a3 Author: Mauro Carvalho Chehab Date: Sun Nov 11 13:23:54 2007 -0300 V4L/DVB (6586): Remove some dead code and make drive fully V4L2 compatible There were some vestiges of an old V4L1 I2C driver that were called by em28xx. This patch removes this dead code, and replaces videodev.h to videodev2.h Now, this driver doesn't require V4L1 anymore. Signed-off-by: Mauro Carvalho Chehab commit 195a4ef627e110cd468a69fdb973548e6914577a Author: Mauro Carvalho Chehab Date: Sun Nov 11 13:17:17 2007 -0300 V4L/DVB (6585): Convert em28xx to video_ioctl2 Uses the newer ioctl handler at videodev. This patch also cleans up some bad logic at the driver and do CodingStyle and other cleanups at the resulting driver. Also, since VIDIOCMBUF were not working, the V4L1 compat code were removed. The compat code will eventually be re-inserted, if we find a clean way for implementing compatibility with the old API. Signed-off-by: Mauro Carvalho Chehab commit 9e31ced888d1ca49ec5be51ef295e3ce994366c4 Author: Mauro Carvalho Chehab Date: Sun Nov 11 01:13:49 2007 -0300 V4L/DVB (6584): Fix read() method Backport read() fixes from Markus Rechberger. Signed-off-by: Mauro Carvalho Chehab commit a225452ef80a7bd894fd2dfd01a4973d444152f4 Author: Mauro Carvalho Chehab Date: Sun Nov 11 01:08:26 2007 -0300 V4L/DVB (6583): Fix em28xx read stream locking On some situations, closing an streaming application and re-opening were returning -EBUSY. Uses the same locking schema also present on cx88. Signed-off-by: Mauro Carvalho Chehab commit a3a048cea301baba5d451991074a85dc20a8f228 Author: Mauro Carvalho Chehab Date: Sat Nov 10 22:21:01 2007 -0300 V4L/DVB (6582): Fix em28xx to allow multiple open Allows shared access support for em28xx. Just one userspace application is allowed to get stream. The other(s) application(s) can change V4L2 controls, set video standards, etc. This patch were splited from Markus Rechberger's tree and backported to 2.6.17 by Pádraig Brady. The original patch were ported to the latest em28xx version and had CodingStyle corrected to solve the issues pointed by scripts/checkpatch.pl. Thanks to Pádraig Brady for pointing this. Signed-off-by: Mauro Carvalho Chehab commit 2c94a674e059e89252d58da655efa4e798be4d48 Author: Sakari Ailus Date: Tue Oct 30 05:52:52 2007 -0300 V4L/DVB (6580): Set slave's master before master's attach call. V4L: Int if: Set slave's master before attach, remove master argument The master also now gets its own pointer from slave's structure. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 53133afbeeb177487a907fdc2edf18f857497641 Author: Adrian Bunk Date: Mon Nov 5 14:07:06 2007 -0300 V4L/DVB (6578): dvb-usb: make some debug vars static This patch makes some needlessly global debug variables static. opera1.h became so small that I removed it. Signed-off-by: Adrian Bunk Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f760d618ab385e1c4060f1bfebc335971a5b79f4 Author: Adrian Bunk Date: Mon Nov 5 14:07:26 2007 -0300 V4L/DVB (6577): et61x251/: make 5 functions static This patch makes the following needlessly global functions in et61x251_core.c static: - et61x251_read_reg() - et61x251_i2c_try_read() - et61x251_i2c_try_write() - et61x251_i2c_read() - et61x251_i2c_write() Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit a2fbaa519befdb3db2485116518f3af55be604e6 Author: Adrian Bunk Date: Mon Nov 5 14:07:22 2007 -0300 V4L/DVB (6576): cx88-mpeg.c: make 4 functions static This patch makes the following needlessly global functions static: - cx8802_init_common() - cx8802_fini_common() - cx8802_suspend_common() - cx8802_resume_common() Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 39e75cfedf5b40116136894241ca1182089f3637 Author: Adrian Bunk Date: Mon Nov 5 14:07:20 2007 -0300 V4L/DVB (6575): cx23885/: cleanups This patch contains the following cleanups: - make the following needlessly global code static: - cx23885-core.c: struct cx23885_sram_channels[] - cx23885-core.c: struct cx23887_sram_channels[] - cx23885-core.c: cx23885_wakeup() - cx23885-core.c: cx23885_sram_channel_setup() - cx23885-core.c: cx23885_sram_channel_dump() - cx23885-core.c: cx23885_risc_disasm() - cx23885-core.c: cx23885_shutdown() - cx23885-core.c: cx23885_reset() - cx23885-core.c: cx23885_dev_unregister() - cx23885-core.c: cx23885_risc_databuffer() - cx23885-core.c: cx23885_risc_stopper() - #if 0 the following unused functions: - cx23885-core.c: cx23885_risc_buffer() - cx23885-core.c: cx23885_cancel_buffers() - remove the following unused EXPORT_SYMBOL's: - cx23885-cards.c: cx23885_boards - cx23885-i2c.c: cx23885_call_i2c_clients Signed-off-by: Adrian Bunk Reviewed-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 9695a49839353bdaff79fe27399be2eb72585223 Author: Adrian Bunk Date: Mon Nov 5 14:07:18 2007 -0300 V4L/DVB (6574): common/ir-functions.c: make a function static ir_rc5_decode() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 6fce7fcd6d062f7acb423c5d6a190f2977454640 Author: Adrian Bunk Date: Mon Nov 5 14:06:52 2007 -0300 V4L/DVB (6573): unexport flexcop_reset_block_300 This patch removes the unused EXPORT_SYMBOL(flexcop_reset_block_300). Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 5e7361a143e94f85cd5f885782592fa835a3d001 Author: Adrian Bunk Date: Mon Nov 5 14:06:47 2007 -0300 V4L/DVB (6572): dvb-usb/vp702x.c: cleanups This patch contains the following cleanups: - make the needlessly global vp702x_usb_out_op() static - #if 0 the unused vp702x_power_ctrl() Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit ad1ce84047a39aec735ef0d5efe29b845bea3262 Author: Adrian Bunk Date: Mon Nov 5 14:06:41 2007 -0300 V4L/DVB (6571): dvb-usb/gp8psk.c: #if 0 gp8psk_bcm4500_reload() This patch #if 0's the unused gp8psk_bcm4500_reload() Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 67b24c78839067729b660116ba394568cd136130 Author: Adrian Bunk Date: Mon Nov 5 14:06:38 2007 -0300 V4L/DVB (6570): core/dvb_ringbuffer.c: remove unused exports This patch removes the following unused EXPORT_SYMBOL's: - dvb_ringbuffer_flush - dvb_ringbuffer_pkt_write - dvb_ringbuffer_pkt_read - dvb_ringbuffer_pkt_dispose - dvb_ringbuffer_pkt_next Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit b00ef4b8d8c29bfb5f6f92ee60bc04b604f36ef2 Author: Adrian Bunk Date: Mon Nov 5 14:06:31 2007 -0300 V4L/DVB (6569): bt8xx/dst.c: make code static This patch makes the following needlessly global code static: - dst_gpio_outb() - dst_gpio_inb() - rdc_8820_reset() - dst_pio_enable() - dst_command() - struct tuner_list[] Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit c80296d755df29167deafa53e612644a95b40c6e Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Nov 6 10:25:16 2007 -0300 V4L/DVB (6564): Move check before lock Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Andrew Morton CC: Antti Palosaari CC: Carl Lundqvist CC: Aapo Tahkola Signed-off-by: Mauro Carvalho Chehab commit bbe1e0ba527a18e1ddda2eabb9da369e5bcf556e Author: Michael Krufky Date: Mon Nov 5 09:54:42 2007 -0300 V4L/DVB (6563): tda8290: optimize for loop in tda829x_probe function Thanks to Trent Piepho for pointing this out. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 98ae127cae56b99f2282d73399e0e1ca7dc13bc9 Author: Mauro Carvalho Chehab Date: Mon Nov 5 09:30:39 2007 -0300 V4L/DVB (6562): Make HVR900 to use also tveeprom Hauppauge firmwares can be decoded using tveeprom. This patch adds HVR-900 as a tveeprom client. It also adds xc3028 tuner entry to tveeprom. Signed-off-by: Mauro Carvalho Chehab commit 80b522085a2c870ba0c0bdf2415cc925d7c86ca5 Author: Mauro Carvalho Chehab Date: Mon Nov 5 09:07:13 2007 -0300 V4L/DVB (6561): Fix xc2028 get register functions and calls The status registers require a dword for setting register. Fix it on all occurrences, and at xc3028_get_reg. Also, improves the hardware/firmware detection printk. Signed-off-by: Mauro Carvalho Chehab commit f8b6030ccca06bf0d45d9b0908caac9b624a9beb Author: Mauro Carvalho Chehab Date: Mon Nov 5 08:42:55 2007 -0300 V4L/DVB (6560): Fix a bug when setting tuner type Tuner-type were correctly filled only by the hint function. Signed-off-by: Mauro Carvalho Chehab commit b873e1a3ccf9e04d2de85db0d510ec4b793fe569 Author: Mauro Carvalho Chehab Date: Mon Nov 5 08:41:50 2007 -0300 V4L/DVB (6559): Fix a buffer overflow at xc2028_get_reg Signed-off-by: Mauro Carvalho Chehab commit e7a2bc8a756e5c0adc6804dd7702442a06174b74 Author: Hans Verkuil Date: Thu Nov 1 06:19:39 2007 -0300 V4L/DVB (6557): tea5767: remove unnecessary warning Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9dd659de9fbd1687c6175053c6453db5b932f152 Author: Hans Verkuil Date: Sun Nov 4 11:03:36 2007 -0300 V4L/DVB (6556): tuner: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 92de1f16d15a30831d1685949aeb76c99032ef23 Author: Hans Verkuil Date: Sun Nov 4 10:53:09 2007 -0300 V4L/DVB (6555): tuner: reorder functions to prepare for i2c conversion Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 159ffe77cd9b1cd7c80c416b5635bdad7e3d7d55 Author: Hans Verkuil Date: Sun Nov 4 10:42:42 2007 -0300 V4L/DVB (6553): tuner: replace default_mode_mask The default_mode_mask global is replaced by a list of tuner structs. The tuner driver now walks that list to see which radio and/or tv tuner devices are registered to a given i2c adapter. The default_mode_mask global had to go since this is no longer supported with the new bus-based I2C API. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a818e1c8f7fcb42866a8630c508caddaa8edb331 Author: Michael Krufky Date: Sun Nov 4 11:03:22 2007 -0300 V4L/DVB (6551): tda8290: rule out tda988x before detecting tda8290/tda8295 To ensure prevention of detecting a tda9885/6/7 as a tda8290 or tda8295, we will rule out the tda988x before testing the tda8290 / tda8295 id registers. We read 8 bytes from the chip. If they are all equal, then it is not a tda829x, or some other error has occurred. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1f3a4e328549cb85aa032c4ee5dfda7886754154 Author: Michael Krufky Date: Sun Nov 4 10:51:28 2007 -0300 V4L/DVB (6550): tda8290: return -ENODEV on probe failures Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 232fcefb55e67cf38176a1e5c188a04694445f11 Author: Mauro Carvalho Chehab Date: Fri Jan 25 11:01:41 2008 -0200 V4L/DVB(6548b) Fix compilation for em28xx From: Mauro Carvalho Chehab In file included from drivers/media/video/em28xx/em28xx-i2c.c:31: drivers/media/video/tuner-xc2028.h:10:26: error: dvb_frontend.h: No such file or directory In file included from drivers/media/video/em28xx/em28xx-i2c.c:31: drivers/media/video/tuner-xc2028.h:32: warning: 'struct dvb_frontend' declared inside parameter list drivers/media/video/tuner-xc2028.h:32: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Mauro Carvalho Chehab commit e3e97fe61f25aa36b96afe2f16a915dd966c70b0 Author: Mauro Carvalho Chehab Date: Fri Jan 25 11:01:40 2008 -0200 V4L/DVB(6548a) Fix compilation for TDA8290 From: Mauro Carvalho Chehab drivers/media/video/tda8290.c:27:21: error: tda827x.h: No such file or directory drivers/media/video/tda8290.c:28:22: error: tda18271.h: No such file or directory drivers/media/video/tda8290.c:52: error: field 'cfg' has incomplete type drivers/media/video/tda8290.c: In function 'tda829x_find_tuner': drivers/media/video/tda8290.c:590: error: implicit declaration of function 'tda18271_attach' drivers/media/video/tda8290.c:598: error: implicit declaration of function 'tda827x_attach' Signed-off-by: Mauro Carvalho Chehab commit d2ba055d3b7ca7694af38a735f00850363ee9417 Author: Mauro Carvalho Chehab Date: Sun Nov 4 08:32:42 2007 -0300 V4L/DVB (6546): Add comments for the hint methods Signed-off-by: Mauro Carvalho Chehab commit fad7b958e753e18ff443786360f7846da50a3085 Author: Sascha Sommer Date: Sun Nov 4 08:06:48 2007 -0300 V4L/DVB (6545): em28xx: autodetect Cinergy 200 USB and VGear PocketTV Adds autodetection support for the Cinergy200 USB and the VGear PocketTV. Whenever a usb device with generic empia em2800 usb ids is detected the device gets scanned for connected i2c devices. If the device list matches an em2800 device in the device list the model id gets changed accordingly. Signed-off-by: Sascha Sommer Signed-off-by: Mauro Carvalho Chehab commit f1f32849d65ab1eacfedbabb624876ac06c1af9f Author: Michael Krufky Date: Sat Nov 3 22:14:54 2007 -0300 V4L/DVB (6543): tda8290: enable probing of tda8295 Prevent the tda8295 from falsely being detected as a tda9887 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9b15c0251ba9d20dd88a69b2c607a2f2e5f0133a Author: Mauro Carvalho Chehab Date: Sat Nov 3 22:04:33 2007 -0300 V4L/DVB (6541): Add V-Gear PocketTV to Cardlist.em28xx Signed-off-by: Mauro Carvalho Chehab commit 4362559d826b369df41fc74df4c5db6061962dce Author: Sascha Sommer Date: Sat Nov 3 15:05:07 2007 -0300 V4L/DVB (6539): em28xx: add support for vgear pockettv attached patch adds support for the vgear pockettv. It seems to require a write to another register for audio to work. I checked my old cinergydrv and we did the same register write there. I therefore enabled it for all em2800 based devices. Signed-off-by: Sascha Sommer Signed-off-by: Mauro Carvalho Chehab commit 5a80415bcabf2b59e8c34db6e743c54582cfd3c2 Author: Sascha Sommer Date: Sat Nov 3 21:22:38 2007 -0300 V4L/DVB (6538): em28xx: fix locking to allow accesses from 2 different threads at the same time The attached patch modifies the em28xx driver so that there can be ioctls from multiple different threads. This is necessary for capture apps like MPlayer that use different threads for capturing and channel tuning. Now the locking is only done for the ioctls that change properties of the device or access the i2c bus. It also removes some locks that look unnecessary: In em28xx_init_dev: the videodevice is not registered yet so nothing can access the hardware meanwhile, the device struct is not assigned to the interface yet so no race with disconnect is possible In em28xx_release_resources: it gets only called when dev->lock is already held Signed-off-by: Sascha Sommer Signed-off-by: Mauro Carvalho Chehab commit ea4fd5679b258d8ae85124a47b587a53ba6409de Author: Mauro Carvalho Chehab Date: Sat Nov 3 21:21:57 2007 -0300 V4L/DVB (6537): Add entry for Pixelview Prolink PlayTV USB 2.0 Signed-off-by: Mauro Carvalho Chehab commit 03910cc39035d27f4c85c8ad2a236cc5c9456127 Author: Mauro Carvalho Chehab Date: Sat Nov 3 21:20:59 2007 -0300 V4L/DVB (6536): Add a hint for boards without unique USB ID This patch adds a function to allow trying to detect boards that shares the generic IDs. The current detection method is based at eeprom checksum. Signed-off-by: Mauro Carvalho Chehab commit 3dbd85ba36ff74af87550e76f5765a768b108409 Author: Mauro Carvalho Chehab Date: Sat Nov 3 08:07:07 2007 -0300 V4L/DVB (6535): Fix: Adds the generic PCI IDs for em28xx Signed-off-by: Mauro Carvalho Chehab commit 7d070e26a868bd72f0d32189e0f3ceba47d2db82 Author: Mauro Carvalho Chehab Date: Thu Nov 1 21:52:58 2007 -0300 V4L/DVB (6519): Fix HVR900/HVR950 entry - Television is now default; - Add HVR950 name at the entry. Signed-off-by: Mauro Carvalho Chehab commit ab0b9fc67c2370e813ccd5d83bca8db320e67eeb Author: Mauro Carvalho Chehab Date: Thu Nov 1 17:47:42 2007 -0300 V4L/DVB (6517): CodingStyle fixup Used scripts/Lindent + manual check + scripts/checkpatch.pl Signed-off-by: Mauro Carvalho Chehab commit 352fae1dffe2d0d04949e579d03667377a176cff Author: Mauro Carvalho Chehab Date: Thu Nov 1 16:56:26 2007 -0300 V4L/DVB (6516): Allow faster loading by using 64 bytes block by em28xx i2c write Signed-off-by: Mauro Carvalho Chehab commit 8ae1fe2a0935afa878b8a506633fea45a8b00293 Author: Trent Piepho Date: Thu Nov 1 01:16:05 2007 -0300 V4L/DVB (6508): ttpci: Rework Kconfig menus and Makefile The ttpci Kconfig file has bugs that cause it to fail in certain Kconfig situations. The basic problem is that it selects certain drivers, but does not depend on the dependencies of those drivers. See http://article.gmane.org/gmane.comp.video.video4linux/35072 Using the Kconfig file also has some annoyances. For instance one can't turn off AV7110 support unless you go down several options and first turn off budget-patch support. Normally user selectable drivers are not forced on like this. The "AV7110 cards with Budget Patch" option is disabled if "Budget cards" isn't on. Normally a driver appears nested under a driver it depends on, but since drivers that don't depend on "Budget cards" are between the two options, the config programs can't display the tree correctly. The Makefile has an issue too. Some modules, ttpci-eeprom and budget-core, appear in the Makefile under several different config symbols. If more than one of these symbols is on, they will get added the to list of objects multiple times. The normal convention is to have a config symbol just the common object(s) and have the users of the that object either depend on or select that config symbol. This patch fixes all these issues. ttpci-eepom is under a new config symbol, and so is the budget-core module. The four different budget card types appear as sub-drivers under a main "SAA7146 DVB cards" option. Turning on budget-patch doesn't force AV7110. Drivers using SAA7146_VV have the necessary VIDEO_DEV dependency, so that it isn't possible to select SAA7146_VV without V4L being on. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 00405f8f11d3064c4af6fe826d8287863a453e7f Author: Trent Piepho Date: Thu Nov 1 01:16:04 2007 -0300 V4L/DVB (6507): bttv: whitespace cleanup Someone wasn't using the v4l-dvb commit scripts and so didn't run the automatic whitespace cleaner on their code. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 58a44040b4937c7d16b79a1b3048992eeac9853b Author: Marco Schluessler Date: Wed Oct 31 01:20:42 2007 -0300 V4L/DVB (6497): saa7146/budget*/dvb-ttpci: Remove V4L1 code Remove V4L1 code. Signed-off-by: Marco Schluessler Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit c5d857d5d3a7cfe355d93916fc094035c85147f7 Author: Marco Schluessler Date: Wed Oct 31 00:44:22 2007 -0300 V4L/DVB (6496): saa7146_vv.h: remove wrong include remove wrong include Signed-off-by: Marco Schluessler Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 241020d19ee9da29171d989ff876c657e4b938b5 Author: Michael Krufky Date: Tue Oct 30 09:46:10 2007 -0300 V4L/DVB (6492): tuner: improve tuner_foo printk macros consistency Alter the tuner_foo printk macros to indicate which module is generating the message. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4942744f93884cb462400c66258c0013bea65dcf Author: Michael Krufky Date: Tue Oct 30 09:44:12 2007 -0300 V4L/DVB (6491): tuner: prevent repeated "type set" message unless debug is enabled The tuner sub-module will usually log its type during its _attach() function, then tuner-core reports which type was attached when control is returned. In most cases, we expect to see the same message reported from both locations. We only need to see this second message if debug is enabled. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7a06f3f2aab797a12f28cf0f4504ec4e346e97f9 Author: Hans Verkuil Date: Tue Oct 30 06:00:05 2007 -0300 V4L/DVB (6490): Remove EXPERIMENTAL from several i2c drivers Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fdef464a7fdcc0f5905d380b2065fec7715bc95d Author: Hans Verkuil Date: Tue Oct 30 05:55:58 2007 -0300 V4L/DVB (6489): ivtv: add support for AVerMedia PVR-150 Plus Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e2a1774d9c8b866db65853fd1a17e5f472dd5cf2 Author: Hans Verkuil Date: Tue Oct 30 05:50:03 2007 -0300 V4L/DVB (6488): ivtv: add ASUS Falcon2 support Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 05e997197e459a03df577ba49c34c1820957ee4a Author: Hans Verkuil Date: Tue Oct 30 05:41:54 2007 -0300 V4L/DVB (6487): i2c-id: add M52790 driver ID Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 761dacd25d9e9be2358df21a0f086bbb4cf1c789 Author: Hans Verkuil Date: Tue Oct 30 05:41:25 2007 -0300 V4L/DVB (6486): m52790: add new Mitsubishi A/V switch i2c driver This driver is used by the ASUS Falcon2 cx23416-based cards. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4be2f47054fb12a5868838770595e8d3a02e60f2 Author: Douglas Schilling Landgraf Date: Mon Oct 29 00:44:55 2007 -0300 V4L/DVB (6483): ivtv-streams: make file_operations const Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit bdd36658fe7cce3b7dbb6ffb72ad0c9500d57e7a Author: Douglas Schilling Landgraf Date: Mon Oct 29 00:37:07 2007 -0300 V4L/DVB (6482): zr364: make file_operations const zr364: make file_operations const Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit c7ac61c4693da113fd067ccfa4246df1e8a5c75e Author: Douglas Schilling Landgraf Date: Sun Oct 28 23:41:19 2007 -0300 V4L/DVB (6481): radio-gemtek: make file_operations const make file_operations const Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 073ad9a00c653ac4a1668c324dd132c9996473f1 Author: Randy Dunlap Date: Mon Oct 29 15:19:45 2007 -0300 V4L/DVB (6480): bttv: uses input functions, should depend on INPUT Several media drivers use input_(*) functions so they need to depend on the INPUT config symbol. drivers/built-in.o: In function `bttv_input_fini': linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:346: undefined reference to `input_unregister_device' drivers/built-in.o: In function `bttv_input_init': linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:204: undefined reference to `input_allocate_device' linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:335: undefined reference to `input_free_device' linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:321: undefined reference to `input_register_device' linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:335: undefined reference to `input_free_device' Signed-off-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 983d214e08010c7b3c1997dc9cab7fa0984446f0 Author: Mauro Carvalho Chehab Date: Mon Oct 29 23:44:18 2007 -0300 V4L/DVB (6477): Properly fill MODULE_AUTHOR Most of the driver were written by Mauro Carvalho Chehab. DTV parts were added by Michel Ludwig. Reviewed-by: Michel Ludwig Signed-off-by: Mauro Carvalho Chehab commit 6c362c8e58da972728a3666a0a00b9c2f1574e1f Author: Mauro Carvalho Chehab Date: Mon Oct 29 23:36:12 2007 -0300 V4L/DVB (6476): Add support for analog tv on HVR-950 This patch adds USB ID for HVR-950. It also adds the callback for handling firmware loading. Thanks to Markus Reichberger for the reset commands. Signed-off-by: Mauro Carvalho Chehab commit 1808a698a87366f9d82945270355c2139df0a16d Author: Mauro Carvalho Chehab Date: Mon Oct 29 17:38:59 2007 -0300 V4L/DVB (6475): Fix some troubles at list handling - priv->count were wrong. Should be incremented since the first usage; - forgot to use list_del() to remove the driver; - Release memory if an error occurs during _attach Thanks to Aidan Thornton for pointing this. Signed-off-by: Mauro Carvalho Chehab commit 882876bf9780fac570184b719a76140a1b1e4178 Author: Mauro Carvalho Chehab Date: Mon Oct 29 11:33:18 2007 -0300 V4L/DVB (6474): Add support for tuner-xc2028 Signed-off-by: Mauro Carvalho Chehab commit 48aa336a842ad3bd4f031f14fb6d06b0274c38f9 Author: Mauro Carvalho Chehab Date: Mon Oct 29 11:33:18 2007 -0300 V4L/DVB (6473): Prevents double tuner registering Signed-off-by: Mauro Carvalho Chehab commit 690c544cf849e627d3f40a71633d0caf5c33eafe Author: Mauro Carvalho Chehab Date: Mon Oct 29 11:33:18 2007 -0300 V4L/DVB (6472): Re-inserts xc2028 attach code, fixing its parameters I2C bus redesign changed i2c parameters. This patch re-adds tuner xc2028 attach function, replacing the parameters to the newer syntax. Signed-off-by: Mauro Carvalho Chehab commit 1cba97d71dca1a3c22b4d7f97893249817036215 Author: Hans Verkuil Date: Fri Sep 14 05:13:54 2007 -0300 V4L/DVB (6471): tuner: i2c_client cannot be part of the tuner struct The bus-based I2C subsystem allocates the i2c_client struct. So if in order to be able to convert the tuner to the bus-based I2C API the embedded i2c_client struct must be removed from the tuner struct and replaced with a pointer. Signed-off-by: Hans Verkuil Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1a156045ab06b2cce8cf46e7bf53da26ab33b084 Author: Mauro Carvalho Chehab Date: Mon Oct 29 11:33:18 2007 -0300 V4L/DVB (6470): Avoid breaking compilation The next patchset series will change i2c structs inside tuner. This patch avoids breaking bissect, by commenting the still unused tuner xc2028. Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Mauro Carvalho Chehab commit 0b5f4a12e628893624b478523fb4e2708c605710 Author: Michael Krufky Date: Sat Oct 27 13:09:16 2007 -0300 V4L/DVB (6469): tuner: remove TUNER_PHILIPS_TDA8295 TUNER_PHILIPS_TDA8290 will autodetect a TDA8290 or a TDA8295, so we don't need this separate entry anymore. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8c125f2ceb3ec1ba01e96fffd8558ef163b40fe8 Author: Michael Krufky Date: Sat Oct 27 02:00:57 2007 -0300 V4L/DVB (6468): tda8290: auto-detect tda8290 or tda8295 Consolidate tda8290_attach() and tda8295_attach() into a single function, tda829x_attach(), which will detect chip combinations tda8290 or tda8295 with tda8275, tda8275a or tda18271. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 393bf5573269979aa3fb55d1bdd0db4fcb288f99 Author: Hans Verkuil Date: Tue Sep 18 03:22:32 2007 -0300 V4L/DVB (6467): v4l2-common: minor cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a2e521e85c04af3511af3ea8971efb4ef8bde533 Author: Hans Verkuil Date: Mon Sep 17 05:13:45 2007 -0300 V4L/DVB (6466): v4l2-i2c-drv: first call remove, then detach client The remove driver function expects that the client is still attached to the driver, so do the detach after calling remove(). Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 188f3457c21ac7869005021b56b4578293c644bb Author: Hans Verkuil Date: Sun Sep 16 10:47:15 2007 -0300 V4L/DVB (6465): Use correct error codes when chip is not recognized If the chip isn't recognized, then the correct errors should be returned. The v4l2_i2c_attach() utility function will return 0 for all errors except -ENOMEM to provide proper compatibility support for the old I2C probing function. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6235168db8ed96c587e566be0dd72a77ca212693 Author: Hans Verkuil Date: Fri Sep 14 05:03:17 2007 -0300 V4L/DVB (6464): tlv320aic23b: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2b14e0314631bac6388c4501f3103ab5af22c0f0 Author: Hans Verkuil Date: Fri Sep 14 04:58:31 2007 -0300 V4L/DVB (6463): upd64031a: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 266669776c12b92bab6e0bba4b3124ae920df194 Author: Hans Verkuil Date: Fri Sep 14 04:58:06 2007 -0300 V4L/DVB (6462): upd64083: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 08e140544029192a123cc2cbf28edeb5d5462ad2 Author: Hans Verkuil Date: Fri Sep 14 04:50:44 2007 -0300 V4L/DVB (6461): tvaudio: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 88307eb3c69c80a705072e68463d8f72005fc027 Author: Hans Verkuil Date: Fri Sep 14 04:49:16 2007 -0300 V4L/DVB (6460): v4l2-i2c-drv: add legacy_probe function pointer Some devices do complicated tests whether the device can be probed or not. Add a legacy_probe function pointer to support that. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1a39275a3f2fc6fbdb876f5121d67d4b13310c5b Author: Hans Verkuil Date: Thu Sep 13 11:44:47 2007 -0300 V4L/DVB (6459): cx25840: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e8e6b99184aa8cf72c5a28bf2a64f6d81473b1ca Author: Hans Verkuil Date: Thu Sep 13 11:30:38 2007 -0300 V4L/DVB (6458): cs53l23a: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 79518dafd59a812bb390f201c6f18a8f875fcffb Author: Hans Verkuil Date: Thu Sep 13 11:28:59 2007 -0300 V4L/DVB (6457): msp3400: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 77566dd724f118b332b5dbf62eedc869f1263f22 Author: Hans Verkuil Date: Thu Sep 13 11:21:51 2007 -0300 V4L/DVB (6456): saa7127: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fbaa3d0db482ae55fc054b9446c1ecf699754054 Author: Hans Verkuil Date: Thu Sep 13 11:19:39 2007 -0300 V4L/DVB (6455): saa7115: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 45eea27624d4dacd36c2167f75e2510ee5d4ab26 Author: Hans Verkuil Date: Thu Sep 13 11:11:44 2007 -0300 V4L/DVB (6454): vp27smpx: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 49457cc2792a63512112434534ecfdd3d4c66e93 Author: Hans Verkuil Date: Thu Sep 13 11:10:07 2007 -0300 V4L/DVB (6453): wm8739: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d9a53aa9024e507df01f257494956e906a92c864 Author: Hans Verkuil Date: Thu Sep 13 11:08:25 2007 -0300 V4L/DVB (6452): wm8775: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8ffbc6559493c64d6194c92d856196fdaeb8a5fb Author: Hans Verkuil Date: Wed Sep 12 08:32:50 2007 -0300 V4L/DVB (6451): v4l2: add support for bus-based I2C drivers Two new headers were added: one for I2C drivers that are only used by V4L2 drivers converted to the new bus-based I2C API, and one that can be used by both converted and unconverted drivers (at the expense of some additional overhead). To support the legacy I2C API a helper function was added to v4l2-common.c. These headers take care of all the 'boilerplate' code that all V4L2 I2C drivers have in common and will automatically support the bus-based I2C API introduced in kernel 2.6.22. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5ef4730d1bfe5be71ce54d927c510ad5da968854 Author: Michael Krufky Date: Sat Oct 27 02:17:19 2007 -0300 V4L/DVB (6450): tda9887: add missing module license This module was always GPL, and will remain GPL Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7d11c53c5d909d866dee0ce5db2d6ca1c422edca Author: Michael Krufky Date: Wed Oct 24 09:55:54 2007 -0300 V4L/DVB (6449): tda18271: clean up i2c_gate handling Call analog_demod_ops->i2c_gate_ctrl when in analog tuning mode, and frontend_ops.i2c_gate_ctrl when in digital tuning mode. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a72dd305f99f6c6e4eff01478ae53fc80ce98fb1 Author: Michael Krufky Date: Wed Oct 24 09:30:17 2007 -0300 V4L/DVB (6448): tda8290: fill i2c_gate_ctrl callback Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2be1b48fd27a3b6878db034288ed571b03df3a5c Author: Michael Krufky Date: Wed Oct 24 09:23:17 2007 -0300 V4L/DVB (6447): tuner: add i2c_gate_ctrl function to struct analog_tuner_ops In some designs, the tuner silicon may be on an i2c bus behind an i2c gate, controlled by the analog demodulator. We already have a method to control such i2c gates when they are controlled by the digital demodulator, but in some hybrid designs, there may be an i2c gate controlled by each demodulator. For example, when in analog tuning mode, one would access the tuner by opening the i2c gate controlled by the analog demodulator, while when in digital tuning mode, one would access the tuner by opening the i2c gate controlled by the digital demodulator. We must add this callback function to analog_tuner_ops in order to handle such configurations. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6f998742f09a7116f1232cebc87a814e3aca639a Author: Michael Krufky Date: Wed Oct 24 01:00:24 2007 -0300 V4L/DVB (6446): tda18271: clean up debug macros Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4524c1aba5449d3519d1545f8106811eb73fc72c Author: Michael Krufky Date: Mon Oct 22 18:15:39 2007 -0300 V4L/DVB (6445): tuner-core: improve comments inside function fe_release() Explain who is responsible for freeing analog_demod_priv Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit af3b0f3f01d299c46837a408e1b9510b8c304e43 Author: Michael Krufky Date: Mon Oct 22 18:03:29 2007 -0300 V4L/DVB (6444): tuner-core: remove excessive parenthesis Convert all instances of "if ((ops) && (ops->foo))" to "if (ops && ops->foo)" Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 31c9584c0b071dfa7a75db6e21cc727f728f97b0 Author: Michael Krufky Date: Sun Oct 21 20:48:48 2007 -0300 V4L/DVB (6443): make tda9887 build selectable via Kconfig Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5c82f4497b46e9c3877618bc36661a4abbf9c646 Author: Michael Krufky Date: Mon Oct 22 01:10:39 2007 -0300 V4L/DVB (6442): move std if setting from tda8290 to tda827x Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1b29cedab9e69a6e4c9bba5f1981437b62be7bea Author: Michael Krufky Date: Mon Oct 22 01:44:03 2007 -0300 V4L/DVB (6441): tuner: clean up ops checking in tuner_status function Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4e9154b8a77d0f0f8f06857162823905612a50d7 Author: Michael Krufky Date: Sun Oct 21 19:39:50 2007 -0300 V4L/DVB (6440): tuner: convert analog tuner demod sub-modules to dvb_frontend interface Convert tda9887 and tda8290/5 to dvb_frontend interface Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 482b498d7a1eb0e445657fb55d2bc6d4871c0ef5 Author: Michael Krufky Date: Mon Oct 22 00:12:16 2007 -0300 V4L/DVB (6439): dvb_frontend: codingstyle cleanups thanks to checkpatch.pl Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 16f291684c50497cc92e83f01d354fae187d1f18 Author: Michael Krufky Date: Sun Oct 21 15:22:25 2007 -0300 V4L/DVB (6438): tuner: move analog_demod_priv into struct dvb_frontend Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e2be32ac8017d1bcb293f8c11c046ff654991385 Author: Michael Krufky Date: Sun Oct 21 14:35:21 2007 -0300 V4L/DVB (6437): tuner: clear analog_demod_ops on release Clear analog_demod_ops on release. Fix test for analog_demod_ops after tuner attach. Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1dde7a4fa2b197d298c3f1b97a7f78fd1c3a1bda Author: Michael Krufky Date: Sun Oct 21 13:40:56 2007 -0300 V4L/DVB (6436): tuner: move analog_tuner_ops into dvb_frontend_ops Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5bea1cd3871351d70cc7624af138f8aa68b7be77 Author: Michael Krufky Date: Mon Oct 22 09:56:38 2007 -0300 V4L/DVB (6435): tda8290: add support for NXP TDA18271 tuner and TDA8295 analog demod Add basic support for NXP TDA8295 analog demod and TDA18271 tuner silicon. TDA8295 + TDA8275a not yet tested. TDA8290 + TDA18271 not yet supported. Digital mode of TDA18271 not yet tested & needs more work. Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ce1f8bdb0cbe9c5f57cf0256ef75fce06152547f Author: Michael Krufky Date: Mon Oct 22 00:28:50 2007 -0300 V4L/DVB (6434): tda827x: fix GPL export on attach function EXPORT_SYMBOL should have been EXPORT_SYMBOL_GPL Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 746d9732dbd5b95c3ba36230e2814fa2c391a311 Author: Michael Krufky Date: Sat Aug 25 19:08:45 2007 -0300 V4L/DVB (6433): Move all tda8275/8275a tuning code from tda8290 module into tda827x module Add analog tuning support to tda827x dvb_frontend tuner module. Convert tda8290 module back to native tuner interface. The tda8290 analog demodulator will be handled the same way as tda9887. The tuner.ko module (tuner-core) will pass commands to tda8290 via the tuner_operations interface. tda8290 will communicate with tda827x via the dvb_frontend interface, while passing a pointer to a private data structure. Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit de3fe21ba2fdc0733ad4e555b95121baeba7fcd5 Author: Mauro Carvalho Chehab Date: Wed Oct 24 09:22:08 2007 -0300 V4L/DVB (6431): Improve firmware format Signed-off-by: Mauro Carvalho Chehab commit 215b95baf969c6f895969f0a4ae0479954fba7cd Author: Mauro Carvalho Chehab Date: Tue Oct 23 15:24:06 2007 -0300 V4L/DVB (6430): Convert tuner-xc2028 driver to the newer hybrid approach This changeset converts tuner-xc2028 to the newer hybrid approach. It also prevents creating twice the xc3028 private struct by both DVB and V4L parts. Signed-off-by: Mauro Carvalho Chehab commit 3b20532c791399182bd04f0fcc70b60a95637fa5 Author: Mauro Carvalho Chehab Date: Thu Sep 27 18:27:03 2007 -0300 V4L/DVB (6429): Avoid having two tuner commands happening at the same time Signed-off-by: Mauro Carvalho Chehab commit ff7326d4f09aee7fc0416d3b3d6f7106d0961f1f Author: Michel Ludwig Date: Fri Jul 27 08:24:39 2007 -0300 V4L/DVB (6428): Make the naming of the DTV firmware files more consistent Signed-off-by: Michel Ludwig Signed-off-by: Mauro Carvalho Chehab commit d4e7668104f7f17fa093121bf13e9728b88da57d Author: Mauro Carvalho Chehab Date: Wed Jul 18 23:14:25 2007 -0300 V4L/DVB (6427): Some cleanups at tuner-xc2028 driver Signed-off-by: Mauro Carvalho Chehab commit 2e4160ca8046e3c35277bed62b2c180427d57dd7 Author: Mauro Carvalho Chehab Date: Wed Jul 18 13:33:23 2007 -0300 V4L/DVB (6426): Some fixes on tuner-xc2028 Signed-off-by: Mauro Carvalho Chehab commit 701672eb7387390bff43f0c979026dd317836626 Author: Michel Ludwig Date: Wed Jul 18 10:29:10 2007 -0300 V4L/DVB (6425): Add experimental DVB frontend tuner interface to xc2028/3028 Signed-off-by: Michel Ludwig Signed-off-by: Mauro Carvalho Chehab commit c2622e5f8ec0c53794fa33488477f07250c3e452 Author: Michel Ludwig Date: Wed Jul 18 10:26:38 2007 -0300 V4L/DVB (6424): Improve tuner-xc2028 script Signed-off-by: Michel Ludwig Signed-off-by: Mauro Carvalho Chehab commit 6cb45879dca84c667996d65a12880db6705a2b0e Author: Mauro Carvalho Chehab Date: Tue Oct 2 11:57:03 2007 -0300 V4L/DVB (6423): Add tuner-xc2028 driver Add support for Xceive XC2028/XC3028 tuner driver Signed-off-by: Mauro Carvalho Chehab commit 12466577853b0d057f4416f4c7020e544f3a4209 Author: Mauro Carvalho Chehab Date: Wed Oct 24 11:08:20 2007 -0300 V4L/DVB (6422): Add the pending entries for xc2028/3028 based boards Also replaces all occurrences of TUNER_XCEIVE_XC3028 to TUNER_XC2028. Some work is still may be required to make sure that non-tm6000 drivers will be capable of using tuner-xc2028. Signed-off-by: Mauro Carvalho Chehab commit 07533b6a8097c6fdb17fb154725757b64238a8d9 Author: Mauro Carvalho Chehab Date: Fri Aug 25 16:53:11 2006 -0300 V4L/DVB (6421): Make Kconfig reflect the changes at audio helper modules Signed-off-by: Mauro Carvalho Chehab commit 5eba35714e0dfa5618b438cfe46037f22133badc Author: Mauro Carvalho Chehab Date: Fri Aug 25 16:53:10 2006 -0300 V4L/DVB (6420): V4L2 conversion for tda9875 from V4L1 API Signed-off-by: Mauro Carvalho Chehab commit 7a00d45cf017172c74d15bad0f9f14720efd69dd Author: Mauro Carvalho Chehab Date: Fri Aug 25 16:53:09 2006 -0300 V4L/DVB (6419): V4L2 port of tda7432 from V4L1 api Signed-off-by: Mauro Carvalho Chehab commit dc3d75da05c3ff2dd6510c32a11deacced49d1a1 Author: Mauro Carvalho Chehab Date: Fri Aug 25 16:53:08 2006 -0300 V4L/DVB (6418): Converted tvaudio from V4L1 to V4L2 V4L1 ioctls were replaced to V4L2 were applicable. The older ones already implemented were removed. Signed-off-by: Mauro Carvalho Chehab commit 155c6ab9ed255745758b6aa0f266e4d40aa32a21 Author: Nickolay V. Shmyrev Date: Fri Aug 25 16:53:07 2006 -0300 V4L/DVB (6417): Report detected sound carrier into rxsubchans Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit 4b9b936f278163614543d66f8e8c93d5484dd148 Author: Nickolay V. Shmyrev Date: Fri Aug 25 16:53:04 2006 -0300 V4L/DVB (6416): Split hooks on volume and audio mode and rework their handling Also convert audio_mode_gpio functions from audio_hook Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit 40c6e683a238c561db00c4fdfead43cb3b19d75f Author: Nickolay V. Shmyrev Date: Fri Oct 26 17:21:30 2007 -0300 V4L/DVB (6415): Restructurize volume hook and drop unused mute hook Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit de5bec6bb57e88db7efa49c6f7de0794ae67d06a Author: Nickolay V. Shmyrev Date: Fri Oct 26 17:15:19 2007 -0300 V4L/DVB (6414): Remove bass, treble and balance from audio hook since they are unused Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit 5b261016f04eb5df1e1e652794f1f4d7dd072566 Author: Nickolay V. Shmyrev Date: Fri Aug 25 16:53:02 2006 -0300 V4L/DVB (6413): Forward VIDIOCGAUDIO and VIDIOCSAUDIO through v4l1-compat Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit c2806d03c090a1bf9c8c94bbecb92242b57469f3 Author: Mauro Carvalho Chehab Date: Fri Oct 26 16:54:54 2007 -0300 V4L/DVB (6412): Audio hooks moved to another file Signed-off-by: Mauro Carvalho Chehab commit c96dd0710685a0932c16ecc351621af3fe0cb2c7 Author: Mauro Carvalho Chehab Date: Fri Oct 26 16:51:47 2007 -0300 V4L/DVB (6411): remove V4L1 from being compiled when V4L2 only is selected Signed-off-by: Mauro Carvalho Chehab commit e84619b17440ccca4e4db7583d126c4189b987e5 Author: Nickolay V. Shmyrev Date: Fri Oct 26 11:01:08 2007 -0300 V4L/DVB (6410): Partial conversion from V4L1 to V4L2 This is part of the old V4L1->V4L2 bttv patch, ported to current tree by Mauro Carvalho Chehab Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit 302f61ad5db0e6a4c265e1f6454c102e2283a926 Author: Nickolay V. Shmyrev Date: Fri Oct 26 10:53:21 2007 -0300 V4L/DVB (6409): Cleanup: removed i2c_vidiocschan This is part of the old V4L1->V4L2 bttv patch, ported to current tree by Mauro Carvalho Chehab Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit 012cf21975e8ccc2d57859413b336087f7f98763 Author: Nickolay V. Shmyrev Date: Fri Aug 25 16:52:54 2006 -0300 V4L/DVB (6408): Cleanup: Removed obsoleted code from bttv-cards This is part of the old V4L1->V4L2 bttv patch, ported to current tree by Mauro Carvalho Chehab Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit e92adc2c39aaaa0129b7b97584784a8ba9da9ec4 Author: Steven Toth Date: Thu Sep 20 01:44:27 2007 -0300 V4L/DVB (6404): cx23885: i2c 16bit reg/val read/write fix Fix i2c reads and writes of 16bit register address / values Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 289d4d2f0746715ada41e0945116eb3d62d5f35c Author: Matthias Kaehlcke Date: Wed Oct 24 17:31:15 2007 -0300 V4L/DVB (6400): usbvision: Convert the usbvision->lock semaphore to the mutex API Convert the usbvision->lock semaphore to the mutex API Signed-off-by: Matthias Kaehlcke Reviewed-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit b02044d81fc028d4fef1c65f9b179a0aec091f0b Author: Adrian Bunk Date: Wed Oct 24 13:23:14 2007 -0300 V4L/DVB (6399): saa7134/: make 2 functions static saa7134_buffer_requeue() and set_tvnorm() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 55c88610fe974c95a62e495305a7386aaac3df39 Author: Mauro Carvalho Chehab Date: Fri Oct 19 06:59:33 2007 -0300 V4L/DVB (6386): Add support for radio on CX88_BOARD_MSI_TVANYWHERE_MASTER This board has some special tea5767 configuration. Basically, radio XTAL uses a different frequency than the other supported radios. It uses a 13 MHz XTAL. This patch adds the proper radio gpio and tea5767 configurations for the board. Also, with PAL/BG, the board requires some special init for tda9887: port1=0 port2=0 qss=1 Thanks to Serge Kolotylo and MIDImaster for their help on identifying the proper needs for this driver. Signed-off-by: Mauro Carvalho Chehab commit 0e1165e8d05ef4a530001ea4ac5ff0df78129dd2 Author: Mauro Carvalho Chehab Date: Thu Oct 18 20:10:07 2007 -0300 V4L/DVB (6385): Adds the capability of configuring tea5767 support tea5767 has several possible configurations. Before the patch, the driver were assuming the more common configuration. However, some newer cards, like MSI @nyware Master requires other configurations, like de-activating a gpio port and changing chip Xtal. This patch adds the capability of altering device configuration at runtime. This may also be used later to activate some features like auto-mute when signal is weak. Signed-off-by: Mauro Carvalho Chehab commit 7f1711234e6a21c153e892758d9d82c333ab37ac Author: Mauro Carvalho Chehab Date: Thu Oct 18 19:56:47 2007 -0300 V4L/DVB (6384): Replace TDA9887_SET_CONFIG by TUNER_SET_CONFIG Currently, the only tuner-specific device that allows special configurations is tda9887. However, tea5767 also may require some special configurations (for example, to specify a different Xtal freq). This patch replaces TDA9887_SET_CONFIG by a more generic internal ioctl (TUNER_SET_CONFIG). The newer one allows specifying what tuner is appliable to a configuration set, and allows an arbitrary configuration struct. Signed-off-by: Mauro Carvalho Chehab commit b47a166ed0baaaa30112532bad41b21e7c5e4d31 Author: Jan Engelhardt Date: Tue Jan 22 20:48:10 2008 +0100 [WATCHDOG] constify function pointer tables "static struct file_operations" should be "static const struct file_operations". Signed-off-by: Jan Engelhardt Signed-off-by: Wim Van Sebroeck commit 6f702fce387e16e16d7930b5c9927d5e71d36ece Author: Atsushi Nemoto Date: Mon Nov 12 01:32:17 2007 +0900 [WATCHDOG] TXx9 watchdog driver This is a driver for watchdog timer built into TXx9 MIPS SoCs. Signed-off-by: Atsushi Nemoto Cc: Ralf Baechle Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit c6cb13aead3a3cf5bd3e2cfa945602d5cd7825cd Author: Wim Van Sebroeck Date: Wed Dec 26 20:32:51 2007 +0000 [WATCHDOG] misc_register patch Make sure that we first do a register_reboot_notifier before we do a misc_register. A misc_register opens the interface to userspace and it's best to do this as the last action. Signed-off-by: Wim Van Sebroeck commit 01c785dcb4e9fd6c4c370fd9915fc10585ed64bd Author: Alan Cox Date: Wed Jan 9 21:36:01 2008 -0800 [WATCHDOG] wdt: fix locking The audit of _p usage shows various drivers assume inb_p is somehow atomic. Of course it isn't and the delay can be split from the I/O cycle causing a timing violation on chips that matter (eg this one) With the proposed use of udelay() for some _p delays this will cease to be a mostly theoretical bug (as the delay stall is unsplittable) and wants fixing. Lots of other drivers need fixing this way too. Signed-off-by: Alan Cox Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 2d94dfc8c38edf63e91e48fd55c3a8822b6a9ced Merge: b47711b... 5c5e32c... Author: Linus Torvalds Date: Fri Jan 25 12:20:32 2008 -0800 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: mount options: fix jfs JFS: simplify types to get rid of sparse warning JFS: FIx one more plain integer as NULL pointer warning JFS: Remove defconfig ptr comparison to 0 JFS: use DIV_ROUND_UP where appropriate Remove unnecessary kmalloc casts in the jfs filesystem JFS is missing a memory barrier JFS: Make sure special inode data is written after journal is flushed JFS: clear PAGECACHE_TAG_DIRTY for no-write pages commit 6d082592b62689fb91578d0338d04a9f50991990 Author: Arjan van de Ven Date: Fri Jan 25 21:08:35 2008 +0100 sched: keep total / count stats in addition to the max for Right now, the linux kernel (with scheduler statistics enabled) keeps track of the maximum time a process is waiting to be scheduled. While the maximum is a very useful metric, tracking average and total is equally useful (at least for latencytop) to figure out the accumulated effect of scheduler delays. The accumulated effect is important to judge the performance impact of scheduler tuning/behavior. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 286100a6cf1c1f692e5f81d14b364ff12b7662f5 Author: Alexey Dobriyan Date: Fri Jan 25 21:08:34 2008 +0100 sched, futex: detach sched.h and futex.h Signed-off-by: Alexey Dobriyan Signed-off-by: Ingo Molnar commit 5973e5b954848c63855a357ad4ff39882e3904f7 Author: Peter Zijlstra Date: Fri Jan 25 21:08:34 2008 +0100 sched: fix: don't take a mutex from interrupt context print_cfs_stats is callable from interrupt context (sysrq), hence it should not take mutexes. Change it to use RCU since the task group data is RCU freed anyway. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 5fb5e6de55860a99c2d8fe7e0c8222d5c53d8464 Author: Nick Piggin Date: Fri Jan 25 21:08:34 2008 +0100 sched: print backtrace of running tasks too The attached patch is something really simple that can sometimes help in getting more info out of a hung system. Signed-off-by: Ingo Molnar commit 19ef9309273d26cb005cb23e6a370353dca91099 Author: Ingo Molnar Date: Fri Jan 25 21:08:34 2008 +0100 printk: use ktime_get() printk timestamps: use ktime_get(). Some platforms have a functioning clocksource function only after they are done with early bootup, so delay this until out of SYSTEM_BOOTING state. it's also inherently safe now, as any bugs in this area will be caught by the printk recursion checks. Signed-off-by: Ingo Molnar commit 90739081ef8d5495d50abba9c5d333be9acd872a Author: Ingo Molnar Date: Fri Jan 25 21:08:34 2008 +0100 softlockup: fix signedness fix softlockup tunables signedness. mark tunables read-mostly. Signed-off-by: Ingo Molnar commit 9745512ce79de686df354dc70a8d1a74d801892d Author: Arjan van de Ven Date: Fri Jan 25 21:08:34 2008 +0100 sched: latencytop support LatencyTOP kernel infrastructure; it measures latencies in the scheduler and tracks it system wide and per process. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 326587b840785c60f5dc18557235a23bafefd620 Author: Dmitry Adamushko Date: Fri Jan 25 21:08:34 2008 +0100 sched: fix goto retry in pick_next_task_rt() looking at it one more time: (1) it looks to me that there is no need to call sched_rt_ratio_exceeded() from pick_next_rt_entity() - [ for CONFIG_FAIR_GROUP_SCHED ] queues with rt_rq->rt_throttled are not within this 'tree-like hierarchy' (or whatever we should call it :-) - there is also no need to re-check 'rt_rq->rt_time > ratio' at this point as 'rt_rq->rt_time' couldn't have been increased since the last call to update_curr_rt() (which obviously calls sched_rt_ratio_esceeded()) well, it might be that 'ratio' for this rt_rq has been re-configured (and the period over which this rt_rq was active has not yet been finished)... but I don't think we should really take this into account. (2) now pick_next_rt_entity() must never return NULL, so let's change pick_next_task_rt() accordingly. Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit e118adef232e637a8f091c1ded2fbf44fcf3ecc8 Author: Pavel Machek Date: Fri Jan 25 21:08:34 2008 +0100 timers: don't #error on higher HZ values For some crazy reason (trying to work around hw problem in i810) I wanted to use HZ around 4000. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit cc203d2422004498909c4886d1b94a2e388d973e Author: Guillaume Chazarain Date: Fri Jan 25 21:08:34 2008 +0100 sched: monitor clock underflows in /proc/sched_debug We monitor clock overflows, let's also monitor clock underflows. Signed-off-by: Guillaume Chazarain Signed-off-by: Ingo Molnar commit 782daeee3d596282bfee4cd9e976c86be0e194a8 Author: Guillaume Chazarain Date: Fri Jan 25 21:08:33 2008 +0100 sched: fix rq->clock warps on frequency changes sched: fix rq->clock warps on frequency changes Fix 2bacec8c318ca0418c0ee9ac662ee44207765dd4 (sched: touch softlockup watchdog after idling) that reintroduced warps on frequency changes. touch_softlockup_watchdog() calls __update_rq_clock that checks rq->clock for warps, so call it after adjusting rq->clock. Signed-off-by: Guillaume Chazarain Signed-off-by: Ingo Molnar commit 4f05b98d54b140ed3c5851d5d5156e9918c6305d Author: Michal Schmidt Date: Fri Jan 25 21:08:33 2008 +0100 sched: fix, always create kernel threads with normal priority Ensure that the kernel threads are created with the usual nice level and affinity even if kthreadd's properties were changed from the default by root. Signed-off-by: Michal Schmidt Signed-off-by: Ingo Molnar commit 1ad82fd547c716f96e544b477e0bdbfa2d647529 Author: Paolo Ciarrocchi Date: Fri Jan 25 21:08:33 2008 +0100 debug: clean up kernel/profile.c Before: total: 25 errors, 13 warnings, 602 lines checked After: total: 0 errors, 2 warnings, 601 lines checked No code changed: kernel/profile.o: text data bss dec hex filename 3048 236 24 3308 cec profile.o.before 3048 236 24 3308 cec profile.o.after md5: 2501d64748a4d350dffb11203e2a5182 profile.o.before.asm 2501d64748a4d350dffb11203e2a5182 profile.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 6478d8800b75253b2a934ddcb734e13ade023ad0 Author: Ingo Molnar Date: Fri Jan 25 21:08:33 2008 +0100 sched: remove the !PREEMPT_BKL code remove the !PREEMPT_BKL code. this removes 160 lines of legacy code. Signed-off-by: Ingo Molnar commit 58b8a73ab8becfcaea84abc2a06038281efa4c8a Author: Ingo Molnar Date: Fri Jan 25 21:08:33 2008 +0100 sched: make PREEMPT_BKL the default make PREEMPT_BKL the default. precursor to removal of the !PREEMPT_BKL code. Signed-off-by: Ingo Molnar commit e14af7eeb47ea96c52741c5e5fa010d33daf6973 Author: Arjan van de Ven Date: Fri Jan 25 21:08:33 2008 +0100 debug: track and print last unloaded module in the oops trace Based on a suggestion from Andi: In various cases, the unload of a module may leave some bad state around that causes a kernel crash AFTER a module is unloaded; and it's then hard to find which module caused that. This patch tracks the last unloaded module, and prints this as part of the module list in the oops trace. Right now, only the last 1 module is tracked; I expect that this is enough for the vast majority of cases where this information matters; if it turns out that tracking more is important, we can always extend it to that. [ mingo@elte.hu: build fix ] Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 21aa9280b9f4e9e68d3fa8990df6c9d7fd71f994 Author: Arjan van de Ven Date: Fri Jan 25 21:08:33 2008 +0100 debug: show being-loaded/being-unloaded indicator for modules It's rather common that an oops/WARN_ON/BUG happens during the load or unload of a module. Unfortunatly, it's not always easy to see directly which module is being loaded/unloaded from the oops itself. Worse, it's not even always possible to ask the bug reporter, since there are so many components (udev etc) that auto-load modules that there's a good chance that even the reporter doesn't know which module this is. This patch extends the existing "show if it's tainting" print code, which is used as part of printing the modules in the oops/BUG/WARN_ON to include a "+" for "being loaded" and a "-" for "being unloaded". As a result this extension, the "taint_flags()" function gets renamed to "module_flags()" (and takes a module struct as argument, not a taint flags int). Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 5a52dd50091b6a6e710a1293db741028f8cc5aac Author: Peter Zijlstra Date: Fri Jan 25 21:08:32 2008 +0100 sched: rt-watchdog: fix .rlim_max = RLIM_INFINITY Remove the curious logic to set it_sched_expires in the future. It useless because rt.timeout wouldn't be incremented anyway. Explicity check for RLIM_INFINITY as a test programm that had a 1s soft limit and a inf hard limit would SIGKILL at 1s. This is because RLIM_INFINITY+d-1 is d-2. Signed-off-by: Peter Zijlsta CC: Michal Schmidt Signed-off-by: Ingo Molnar commit 1020387f5f3b52929b387103cf976321981f8e26 Author: Peter Zijlstra Date: Fri Jan 25 21:08:32 2008 +0100 sched: rt-group: reduce rescheduling Only reschedule if the new group has a higher prio task. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 37bb6cb4097e29ffee970065b74499cbf10603a3 Author: Peter Zijlstra Date: Fri Jan 25 21:08:32 2008 +0100 hrtimer: unlock hrtimer_wakeup hrtimer_wakeup creates a base->lock rq->lock lock dependancy. Avoid this by switching to HRTIMER_CB_IRQSAFE_NO_SOFTIRQ which doesn't hold base->lock. This fully untangles hrtimer locks from the scheduler locks, and allows hrtimer usage in the scheduler proper. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit d3d74453c34f8fd87674a8cf5b8a327c68f22e99 Author: Peter Zijlstra Date: Fri Jan 25 21:08:31 2008 +0100 hrtimer: fixup the HRTIMER_CB_IRQSAFE_NO_SOFTIRQ fallback Currently all highres=off timers are run from softirq context, but HRTIMER_CB_IRQSAFE_NO_SOFTIRQ timers expect to run from irq context. Fix this up by splitting it similar to the highres=on case. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 2d44ae4d7135b9aee26439b3523b43473381bc5f Author: Peter Zijlstra Date: Fri Jan 25 21:08:31 2008 +0100 hrtimer: clean up cpu->base locking tricks In order to more easily allow for the scheduler to use timers, clean up the locking a bit. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 48d5e258216f1c7713633439beb98a38c7290649 Author: Peter Zijlstra Date: Fri Jan 25 21:08:31 2008 +0100 sched: rt throttling vs no_hz We need to teach no_hz about the rt throttling because its tick driven. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 614ee1f61f667b02165c1ae0c1357048dc6d94a0 Author: Mike Galbraith Date: Fri Jan 25 21:08:30 2008 +0100 sched: pull_rt_task() cleanup "goto out" is an odd way to spell "skip". Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 6f505b16425a51270058e4a93441fe64de3dd435 Author: Peter Zijlstra Date: Fri Jan 25 21:08:30 2008 +0100 sched: rt group scheduling Extend group scheduling to also cover the realtime classes. It uses the time limiting introduced by the previous patch to allow multiple realtime groups. The hard time limit is required to keep behaviour deterministic. The algorithms used make the realtime scheduler O(tg), linear scaling wrt the number of task groups. This is the worst case behaviour I can't seem to get out of, the avg. case of the algorithms can be improved, I focused on correctness and worst case. [ akpm@linux-foundation.org: move side-effects out of BUG_ON(). ] Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit fa85ae2418e6843953107cd6a06f645752829bc0 Author: Peter Zijlstra Date: Fri Jan 25 21:08:29 2008 +0100 sched: rt time limit Very simple time limit on the realtime scheduling classes. Allow the rq's realtime class to consume sched_rt_ratio of every sched_rt_period slice. If the class exceeds this quota the fair class will preempt the realtime class. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 8f4d37ec073c17e2d4aa8851df5837d798606d6f Author: Peter Zijlstra Date: Fri Jan 25 21:08:29 2008 +0100 sched: high-res preemption tick Use HR-timers (when available) to deliver an accurate preemption tick. The regular scheduler tick that runs at 1/HZ can be too coarse when nice level are used. The fairness system will still keep the cpu utilisation 'fair' by then delaying the task that got an excessive amount of CPU time but try to minimize this by delivering preemption points spot-on. The average frequency of this extra interrupt is sched_latency / nr_latency. Which need not be higher than 1/HZ, its just that the distribution within the sched_latency period is important. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 02b67cc3ba36bdba351d6c3a00593f4ec550d9d3 Author: Herbert Xu Date: Fri Jan 25 21:08:28 2008 +0100 sched: do not do cond_resched() when CONFIG_PREEMPT Why do we even have cond_resched when real preemption is on? It seems to be a waste of space and time. remove cond_resched with CONFIG_PREEMPT on. Signed-off-by: Ingo Molnar commit 03319ec8b06849051747a17aa2a0f9aba9277980 Author: Ingo Molnar Date: Fri Jan 25 21:08:28 2008 +0100 sched: documentation, whitespace fixes whitespace fixes. Signed-off-by: Ingo Molnar commit 78f2c7db6068fd6ef75b8c120f04a388848eacb5 Author: Peter Zijlstra Date: Fri Jan 25 21:08:27 2008 +0100 sched: SCHED_FIFO/SCHED_RR watchdog timer Introduce a new rlimit that allows the user to set a runtime timeout on real-time tasks their slice. Once this limit is exceeded the task will receive SIGXCPU. So it measures runtime since the last sleep. Input and ideas by Thomas Gleixner and Lennart Poettering. Signed-off-by: Peter Zijlstra CC: Lennart Poettering CC: Michael Kerrisk CC: Ulrich Drepper Signed-off-by: Ingo Molnar commit fa717060f1ab7eb6570f2fb49136f838fc9195a9 Author: Peter Zijlstra Date: Fri Jan 25 21:08:27 2008 +0100 sched: sched_rt_entity Move the task_struct members specific to rt scheduling together. A future optimization could be to put sched_entity and sched_rt_entity into a union. Signed-off-by: Peter Zijlstra CC: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit 8eb703e4f33488bf75829564d51d427e17f7cd4c Author: Pavel Emelyanov Date: Fri Jan 25 21:08:26 2008 +0100 uids: merge multiple error paths in alloc_uid() into one There are already 4 error paths in alloc_uid() that do incremental rollbacks. I think it's time to merge them. This costs us 8 lines of code :) Maybe it would be better to merge this patch with the previous one, but I remember that some time ago I sent a similar patch (fixing the error path and cleaning it), but I was told to make two patches in such cases. Signed-off-by: Pavel Emelyanov Acked-by: Dhaval Giani Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit dc938520d2bf343b239795cfa24e4f44649358dc Author: Gregory Haskins Date: Fri Jan 25 21:08:26 2008 +0100 sched: dynamically update the root-domain span/online maps The baseline code statically builds the span maps when the domain is formed. Previous attempts at dynamically updating the maps caused a suspend-to-ram regression, which should now be fixed. Signed-off-by: Gregory Haskins CC: Gautham R Shenoy Signed-off-by: Ingo Molnar commit f85d6c7168887e6659f4d00fa5f34fa23dbde1bb Author: Paul E. McKenney Date: Fri Jan 25 21:08:25 2008 +0100 Preempt-RCU: update RCU Documentation. This patch updates the RCU documentation to reflect preemptible RCU as well as recent publications. Signed-off-by: Paul E. McKenney Signed-off-by: Gautham R Shenoy Reviewed-by: Steven Rostedt Signed-off-by: Ingo Molnar commit eaf649e9fe6685f4c5a392cd0e16df5fd6660b7c Author: Paul E. McKenney Date: Fri Jan 25 21:08:25 2008 +0100 Preempt-RCU: CPU Hotplug handling This patch allows preemptible RCU to tolerate CPU-hotplug operations. It accomplishes this by maintaining a local copy of a map of online CPUs, which it accesses under its own lock. Signed-off-by: Gautham R Shenoy Signed-off-by: Paul E. McKenney Reviewed-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e260be673a15b6125068270e0216a3bfbfc12f87 Author: Paul E. McKenney Date: Fri Jan 25 21:08:24 2008 +0100 Preempt-RCU: implementation This patch implements a new version of RCU which allows its read-side critical sections to be preempted. It uses a set of counter pairs to keep track of the read-side critical sections and flips them when all tasks exit read-side critical section. The details of this implementation can be found in this paper - http://www.rdrop.com/users/paulmck/RCU/OLSrtRCU.2006.08.11a.pdf and the article- http://lwn.net/Articles/253651/ This patch was developed as a part of the -rt kernel development and meant to provide better latencies when read-side critical sections of RCU don't disable preemption. As a consequence of keeping track of RCU readers, the readers have a slight overhead (optimizations in the paper). This implementation co-exists with the "classic" RCU implementations and can be switched to at compiler. Also includes RCU tracing summarized in debugfs. [ akpm@linux-foundation.org: build fixes on non-preempt architectures ] Signed-off-by: Gautham R Shenoy Signed-off-by: Dipankar Sarma Signed-off-by: Paul E. McKenney Reviewed-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e0ecfa7917cafe72f4a75f87e8bb5d8d51dc534f Author: Paul E. McKenney Date: Fri Jan 25 21:08:24 2008 +0100 Preempt-RCU: fix rcu_barrier for preemptive environment. Fix rcu_barrier() to work properly in preemptive kernel environment. Also, the ordering of callback must be preserved while moving callbacks to another CPU during CPU hotplug. Signed-off-by: Gautham R Shenoy Signed-off-by: Dipankar Sarma Signed-off-by: Paul E. McKenney Reviewed-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 01c1c660f4b8086cad7a62345fd04290f3d82c8f Author: Paul E. McKenney Date: Fri Jan 25 21:08:24 2008 +0100 Preempt-RCU: reorganize RCU code into rcuclassic.c and rcupdate.c This patch re-organizes the RCU code to enable multiple implementations of RCU. Users of RCU continues to include rcupdate.h and the RCU interfaces remain the same. This is in preparation for subsequently merging the preemptible RCU implementation. Signed-off-by: Gautham R Shenoy Signed-off-by: Dipankar Sarma Signed-off-by: Paul E. McKenney Reviewed-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c2d727aa2ff17a1c8e5ed1e5e231bb8579b27e82 Author: Dipankar Sarma Date: Fri Jan 25 21:08:23 2008 +0100 Preempt-RCU: Use softirq instead of tasklets for This patch makes RCU use softirq instead of tasklets. It also adds a memory barrier after raising the softirq inorder to ensure that the cpu sees the most recently updated value of rcu->cur while processing callbacks. The discussion of the related theoretical race pointed out by James Huang can be found here --> http://lkml.org/lkml/2007/11/20/603 Signed-off-by: Gautham R Shenoy Signed-off-by: Steven Rostedt Signed-off-by: Dipankar Sarma Reviewed-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c49443c538c1bbf50eda27e4a3711e9fc15176b0 Author: Gregory Haskins Date: Fri Jan 25 21:08:23 2008 +0100 sched: remove some old cpuset logic We had support for overlapping cpuset based rto logic in early prototypes that is no longer used, so remove it. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit cdc8eb984ce47a7c90a049f45229f7b0d59ba781 Author: Gregory Haskins Date: Fri Jan 25 21:08:23 2008 +0100 sched: RT-balance, only adjust overload state when changing The overload set/clears were originally idempotent when this logic was first implemented. But that is no longer true due to the addition of the atomic counter and this logic was never updated to work properly with that change. So only adjust the overload state if it is actually changing to avoid getting out of sync. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit cb46984504048db946cd551c261df4e70d59a8ea Author: Steven Rostedt Date: Fri Jan 25 21:08:22 2008 +0100 sched: RT-balance, add new methods to sched_class Dmitry Adamushko found that the current implementation of the RT balancing code left out changes to the sched_setscheduler and rt_mutex_setprio. This patch addresses this issue by adding methods to the schedule classes to handle being switched out of (switched_from) and being switched into (switched_to) a sched_class. Also a method for changing of priorities is also added (prio_changed). This patch also removes some duplicate logic between rt_mutex_setprio and sched_setscheduler. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 9a897c5a6701bcb6f099f7ca20194999102729fd Author: Steven Rostedt Date: Fri Jan 25 21:08:22 2008 +0100 sched: RT-balance, replace hooks with pre/post schedule and wakeup methods To make the main sched.c code more agnostic to the schedule classes. Instead of having specific hooks in the schedule code for the RT class balancing. They are replaced with a pre_schedule, post_schedule and task_wake_up methods. These methods may be used by any of the classes but currently, only the sched_rt class implements them. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 4bf0b77158d581c952af237aec79d0604b78fe27 Author: Peter Zijlstra Date: Fri Jan 25 21:08:21 2008 +0100 sched: remove do_div() from __sched_slice() Yanmin Zhang noticed a nice optimization: p = l * nr / nl, nl = l/g -> p = g * nr which eliminates a do_div() from __sched_period(). Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 5d2f5a616d65e3c08acde3195694c4ab8afbc1b7 Author: Dmitry Adamushko Date: Fri Jan 25 21:08:21 2008 +0100 sched: get rid of 'new_cpu' in try_to_wake_up() Clean-up try_to_wake_up(). Get rid of the 'new_cpu' variable in try_to_wake_up() [ that's, one #ifdef section less ]. Also remove a few redundant blank lines. Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit 9ec3b77e11b9398ab40b492c4fde7d8aac04a718 Author: Dmitry Adamushko Date: Fri Jan 25 21:08:21 2008 +0100 sched: no need for 'affine wakeup' balancing No need to do a check for 'affine wakeup and passive balancing possibilities' in select_task_rq_fair() when task_cpu(p) == this_cpu. I guess, this part got missed upon introduction of per-sched_class select_task_rq() in try_to_wake_up(). Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit 32525d022ad52a5c14e80e130260431e16e294b6 Author: Ingo Molnar Date: Fri Jan 25 21:08:20 2008 +0100 sched: whitespace cleanups in topology.h whitespace cleanups in topology.h. Signed-off-by: Ingo Molnar commit 52d853431e8d9dc17ba94792123a3fe2bc039831 Author: Ingo Molnar Date: Fri Jan 25 21:08:20 2008 +0100 sched: reactivate fork balancing reactivate fork balancing. Signed-off-by: Ingo Molnar commit b913176917399e92e6f741672038c73d7ce93be5 Author: Ingo Molnar Date: Fri Jan 25 21:08:19 2008 +0100 sched: add credits for RT balancing improvements add credits for RT balancing improvements. Signed-off-by: Ingo Molnar commit 0eab9146571dfa9b50ea952ec2ab27d591f26b63 Author: Ingo Molnar Date: Fri Jan 25 21:08:19 2008 +0100 sched: style cleanup, #2 style cleanup of various changes that were done recently. no code changed: text data bss dec hex filename 26399 2578 48 29025 7161 sched.o.before 26399 2578 48 29025 7161 sched.o.after Signed-off-by: Ingo Molnar commit d7876a08db50895ed9808ede4a259cccf65eba47 Author: Ingo Molnar Date: Fri Jan 25 21:08:19 2008 +0100 sched: remove unused JIFFIES_TO_NS() macro remove unused JIFFIES_TO_NS() macro. Signed-off-by: Ingo Molnar commit bdd7c81b4973e72b670eff6b5725bab189b723d6 Author: Ingo Molnar Date: Fri Jan 25 21:08:18 2008 +0100 sched: fix sched_rt.c:join/leave_domain fix build bug in sched_rt.c:join/leave_domain and make them only be included on SMP builds. Signed-off-by: Ingo Molnar commit 637f50851b57a32f7ec67c50fc16f1601ab1a87a Author: Gregory Haskins Date: Fri Jan 25 21:08:18 2008 +0100 sched: only balance our RT tasks within our domain We move the rt-overload data as the first global to per-domain reclassification. This limits the scope of overload related cache-line bouncing to stay with a specified partition instead of affecting all cpus in the system. Finally, we limit the scope of find_lowest_cpu searches to the domain instead of the entire system. Note that we would always respect domain boundaries even without this patch, but we first would scan potentially all cpus before whittling the list down. Now we can avoid looking at RQs that are out of scope, again reducing cache-line hits. Note: In some cases, task->cpus_allowed will effectively reduce our search to within our domain. However, I believe there are cases where the cpus_allowed mask may be all ones and therefore we err on the side of caution. If it can be optimized later, so be it. Signed-off-by: Gregory Haskins CC: Christoph Lameter Signed-off-by: Ingo Molnar commit 57d885fea0da0e9541d7730a9e1dcf734981a173 Author: Gregory Haskins Date: Fri Jan 25 21:08:18 2008 +0100 sched: add sched-domain roots We add the notion of a root-domain which will be used later to rescope global variables to per-domain variables. Each exclusive cpuset essentially defines an island domain by fully partitioning the member cpus from any other cpuset. However, we currently still maintain some policy/state as global variables which transcend all cpusets. Consider, for instance, rt-overload state. Whenever a new exclusive cpuset is created, we also create a new root-domain object and move each cpu member to the root-domain's span. By default the system creates a single root-domain with all cpus as members (mimicking the global state we have today). We add some plumbing for storing class specific data in our root-domain. Whenever a RQ is switching root-domains (because of repartitioning) we give each sched_class the opportunity to remove any state from its old domain and add state to the new one. This logic doesn't have any clients yet but it will later in the series. Signed-off-by: Gregory Haskins CC: Christoph Lameter CC: Paul Jackson CC: Simon Derr Signed-off-by: Ingo Molnar commit 7f51f298204ec0528422cd9b23feac12612c5665 Author: Ingo Molnar Date: Fri Jan 25 21:08:17 2008 +0100 sched: clean up schedule_balance_rt() clean up schedule_balance_rt(). Signed-off-by: Ingo Molnar commit 80bf3171dcdf0f5d236e2e48afe2a95c7ce23879 Author: Ingo Molnar Date: Fri Jan 25 21:08:17 2008 +0100 sched: clean up pull_rt_task() clean up pull_rt_task(). Signed-off-by: Ingo Molnar commit 00597c3ed78e424bdafff123565c078d8b6088cf Author: Ingo Molnar Date: Fri Jan 25 21:08:16 2008 +0100 sched: remove leftover debugging remove leftover debugging. Signed-off-by: Ingo Molnar commit 6e1938d3ad58c940ec4119d387dd92a787cb238c Author: Ingo Molnar Date: Fri Jan 25 21:08:16 2008 +0100 sched: remove rt_overload() remove rt_overload() - it's an unnecessary indirection. Signed-off-by: Ingo Molnar commit 84de4274893691aa8c471a1f7336d51e555d23a0 Author: Ingo Molnar Date: Fri Jan 25 21:08:15 2008 +0100 sched: clean up kernel/sched_rt.c clean up whitespace damage and missing comments in kernel/sched_rt.c. Signed-off-by: Ingo Molnar commit deeeccd41bd94a9db133d7b923f9a7479a47305d Author: Ingo Molnar Date: Fri Jan 25 21:08:15 2008 +0100 sched: clean up overlong line in kernel/sched_debug.c clean up overlong line in kernel/sched_debug.c. Signed-off-by: Ingo Molnar commit 4df64c0bfb7e0e260d10ebc005f7d0ba1308eed7 Author: Ingo Molnar Date: Fri Jan 25 21:08:15 2008 +0100 sched: clean up find_lock_lowest_rq() clean up find_lock_lowest_rq(). Signed-off-by: Ingo Molnar commit 79064fbf75796c4c6a53e40729dbe52f789a91fd Author: Ingo Molnar Date: Fri Jan 25 21:08:14 2008 +0100 sched: clean up pick_next_highest_task_rt() clean up pick_next_highest_task_rt(). Signed-off-by: Ingo Molnar commit 0d1311a536a0face6267e7346223f2e68b002018 Author: Steven Rostedt Date: Fri Jan 25 21:08:14 2008 +0100 sched: RT-balance on new task rt-balance when creating new tasks. Signed-off-by: Ingo Molnar commit 610bf05645a7ac6ea104a474e328eeaaea148870 Author: Steven Rostedt Date: Fri Jan 25 21:08:13 2008 +0100 sched: RT-balance, optimize cpu search This patch removes several cpumask operations by keeping track of the first of the CPUS that is of the lowest priority. When the search for the lowest priority runqueue is completed, all the bits up to the first CPU with the lowest priority runqueue is cleared. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 06f90dbd7610d51549004ea9c2ada337831eb292 Author: Gregory Haskins Date: Fri Jan 25 21:08:13 2008 +0100 sched: RT-balance, optimize We can cheaply track the number of bits set in the cpumask for the lowest priority CPUs. Therefore, compute the mask's weight and use it to skip the optimal domain search logic when there is only one CPU available. Signed-off-by: Gregory Haskins Signed-off-by: Ingo Molnar commit 17b3279b48835eb522d842eae16f541da3729c8a Author: Gregory Haskins Date: Fri Jan 25 21:08:13 2008 +0100 sched: break out early if RT task cannot be migrated We don't need to bother searching if the task cannot be migrated Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e1f47d891c0f00769d6d40ac5740f943e998d089 Author: Steven Rostedt Date: Fri Jan 25 21:08:12 2008 +0100 sched: RT-balance, avoid overloading This patch changes the searching for a run queue by a waking RT task to try to pick another runqueue if the currently running task is an RT task. The reason is that RT tasks behave different than normal tasks. Preempting a normal task to run a RT task to keep its cache hot is fine, because the preempted non-RT task may wait on that same runqueue to run again unless the migration thread comes along and pulls it off. RT tasks behave differently. If one is preempted, it makes an active effort to continue to run. So by having a high priority task preempt a lower priority RT task, that lower RT task will then quickly try to run on another runqueue. This will cause that lower RT task to replace its nice hot cache (and TLB) with a completely cold one. This is for the hope that the new high priority RT task will keep its cache hot. Remeber that this high priority RT task was just woken up. So it may likely have been sleeping for several milliseconds, and will end up with a cold cache anyway. RT tasks run till they voluntarily stop, or are preempted by a higher priority task. This means that it is unlikely that the woken RT task will have a hot cache to wake up to. So pushing off a lower RT task is just killing its cache for no good reason. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit a22d7fc187ed996b66d8439db27b2303f79a8e7b Author: Gregory Haskins Date: Fri Jan 25 21:08:12 2008 +0100 sched: wake-balance fixes We have logic to detect whether the system has migratable tasks, but we are not using it when deciding whether to push tasks away. So we add support for considering this new information. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 6e1254d2c41215da27025add8900ed187bca121d Author: Gregory Haskins Date: Fri Jan 25 21:08:11 2008 +0100 sched: optimize RT affinity The current code base assumes a relatively flat CPU/core topology and will route RT tasks to any CPU fairly equally. In the real world, there are various toplogies and affinities that govern where a task is best suited to run with the smallest amount of overhead. NUMA and multi-core CPUs are prime examples of topologies that can impact cache performance. Fortunately, linux is already structured to represent these topologies via the sched_domains interface. So we change our RT router to consult a combination of topology and affinity policy to best place tasks during migration. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 318e0893ce3f524ca045f9fd9dfd567c0a6f9446 Author: Gregory Haskins Date: Fri Jan 25 21:08:10 2008 +0100 sched: pre-route RT tasks on wakeup In the original patch series that Steven Rostedt and I worked on together, we both took different approaches to low-priority wakeup path. I utilized "pre-routing" (push the task away to a less important RQ before activating) approach, while Steve utilized a "post-routing" approach. The advantage of my approach is that you avoid the overhead of a wasted activate/deactivate cycle and peripherally related burdens. The advantage of Steve's method is that it neatly solves an issue preventing a "pull" optimization from being deployed. In the end, we ended up deploying Steve's idea. But it later dawned on me that we could get the best of both worlds by deploying both ideas together, albeit slightly modified. The idea is simple: Use a "light-weight" lookup for pre-routing, since we only need to approximate a good home for the task. And we also retain the post-routing push logic to clean up any inaccuracies caused by a condition of "priority mistargeting" caused by the lightweight lookup. Most of the time, the pre-routing should work and yield lower overhead. In the cases where it doesnt, the post-router will bat cleanup. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 2de0b4639f4b1b6bfe31f795e5855f041f177170 Author: Gregory Haskins Date: Fri Jan 25 21:08:10 2008 +0100 sched: RT balancing: include current CPU It doesn't hurt if we allow the current CPU to be included in the search. We will just simply skip it later if the current CPU turns out to be the lowest. We will use this later in the series Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 07b4032c9e505e2a1fbe7703aff64a153c3249be Author: Gregory Haskins Date: Fri Jan 25 21:08:10 2008 +0100 sched: break out search for RT tasks Isolate the search logic into a function so that it can be used later in places other than find_locked_lowest_rq(). Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e7693a362ec84bb5b6fd441d8a8b4b9d568a7a0c Author: Gregory Haskins Date: Fri Jan 25 21:08:09 2008 +0100 sched: de-SCHED_OTHER-ize the RT path The current wake-up code path tries to determine if it can optimize the wake-up to "this_cpu" by computing load calculations. The problem is that these calculations are only relevant to SCHED_OTHER tasks where load is king. For RT tasks, priority is king. So the load calculation is completely wasted bandwidth. Therefore, we create a new sched_class interface to help with pre-wakeup routing decisions and move the load calculation as a function of CFS task's class. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 697f0a487f294e634a342764472b79375bb3158a Author: Gregory Haskins Date: Fri Jan 25 21:08:09 2008 +0100 sched: clean up this_rq use in kernel/sched_rt.c "this_rq" is normally used to denote the RQ on the current cpu (i.e. "cpu_rq(this_cpu)"). So clean up the usage of this_rq to be more consistent with the rest of the code. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 73fe6aae84400e2b475e2a1dc4e8592cd3ed6e69 Author: Gregory Haskins Date: Fri Jan 25 21:08:07 2008 +0100 sched: add RT-balance cpu-weight Some RT tasks (particularly kthreads) are bound to one specific CPU. It is fairly common for two or more bound tasks to get queued up at the same time. Consider, for instance, softirq_timer and softirq_sched. A timer goes off in an ISR which schedules softirq_thread to run at RT50. Then the timer handler determines that it's time to smp-rebalance the system so it schedules softirq_sched to run. So we are in a situation where we have two RT50 tasks queued, and the system will go into rt-overload condition to request other CPUs for help. This causes two problems in the current code: 1) If a high-priority bound task and a low-priority unbounded task queue up behind the running task, we will fail to ever relocate the unbounded task because we terminate the search on the first unmovable task. 2) We spend precious futile cycles in the fast-path trying to pull overloaded tasks over. It is therefore optimial to strive to avoid the overhead all together if we can cheaply detect the condition before overload even occurs. This patch tries to achieve this optimization by utilizing the hamming weight of the task->cpus_allowed mask. A weight of 1 indicates that the task cannot be migrated. We will then utilize this information to skip non-migratable tasks and to eliminate uncessary rebalance attempts. We introduce a per-rq variable to count the number of migratable tasks that are currently running. We only go into overload if we have more than one rt task, AND at least one of them is migratable. In addition, we introduce a per-task variable to cache the cpus_allowed weight, since the hamming calculation is probably relatively expensive. We only update the cached value when the mask is updated which should be relatively infrequent, especially compared to scheduling frequency in the fast path. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c7a1e46aa9782a947cf2ed506245d43396dbf991 Author: Steven Rostedt Date: Fri Jan 25 21:08:07 2008 +0100 sched: disable standard balancer for RT tasks Since we now take an active approach to load balancing, we don't need to balance RT tasks via the normal task balancer. In fact, this code was found to pull RT tasks away from CPUS that the active movement performed, resulting in large latencies. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 4642dafdf93dc7d66ee33437b93a5e6b8cea20d2 Author: Steven Rostedt Date: Fri Jan 25 21:08:07 2008 +0100 sched: push RT tasks from overloaded CPUs This patch adds pushing of overloaded RT tasks from a runqueue that is having tasks (most likely RT tasks) added to the run queue. TODO: We don't cover the case of waking of new RT tasks (yet). Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit f65eda4f789168ba5ff3fa75546c29efeed19f58 Author: Steven Rostedt Date: Fri Jan 25 21:08:07 2008 +0100 sched: pull RT tasks from overloaded runqueues This patch adds the algorithm to pull tasks from RT overloaded runqueues. When a pull RT is initiated, all overloaded runqueues are examined for a RT task that is higher in prio than the highest prio task queued on the target runqueue. If another runqueue holds a RT task that is of higher prio than the highest prio task on the target runqueue is found it is pulled to the target runqueue. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 4fd29176b7cd24909f8ceba2105cb3ae2857b90c Author: Steven Rostedt Date: Fri Jan 25 21:08:06 2008 +0100 sched: add rt-overload tracking This patch adds an RT overload accounting system. When a runqueue has more than one RT task queued, it is marked as overloaded. That is that it is a candidate to have RT tasks pulled from it. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e8fa136262e1121288bb93befe2295928ffd240d Author: Steven Rostedt Date: Fri Jan 25 21:08:05 2008 +0100 sched: add RT task pushing This patch adds an algorithm to push extra RT tasks off a run queue to other CPU runqueues. When more than one RT task is added to a run queue, this algorithm takes an assertive approach to push the RT tasks that are not running onto other run queues that have lower priority. The way this works is that the highest RT task that is not running is looked at and we examine the runqueues on the CPUS for that tasks affinity mask. We find the runqueue with the lowest prio in the CPU affinity of the picked task, and if it is lower in prio than the picked task, we push the task onto that CPU runqueue. We continue pushing RT tasks off the current runqueue until we don't push any more. The algorithm stops when the next highest RT task can't preempt any other processes on other CPUS. TODO: The algorithm may stop when there are still RT tasks that can be migrated. Specifically, if the highest non running RT task CPU affinity is restricted to CPUs that are running higher priority tasks, there may be a lower priority task queued that has an affinity with a CPU that is running a lower priority task that it could be migrated to. This patch set does not address this issue. Note: checkpatch reveals two over 80 character instances. I'm not sure that breaking them up will help visually, so I left them as is. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 764a9d6fe4b52995c8aba277e3634385699354f4 Author: Steven Rostedt Date: Fri Jan 25 21:08:04 2008 +0100 sched: track highest prio task queued This patch adds accounting to each runqueue to keep track of the highest prio task queued on the run queue. We only care about RT tasks, so if the run queue does not contain any active RT tasks its priority will be considered MAX_RT_PRIO. This information will be used for later patches. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 63489e45e265f64c368882be1f01c42dec5d984c Author: Steven Rostedt Date: Fri Jan 25 21:08:03 2008 +0100 sched: count # of queued RT tasks This patch adds accounting to keep track of the number of RT tasks running on a runqueue. This information will be used in later patches. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 82a1fcb90287052aabfa235e7ffc693ea003fe69 Author: Ingo Molnar Date: Fri Jan 25 21:08:02 2008 +0100 softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks this patch extends the soft-lockup detector to automatically detect hung TASK_UNINTERRUPTIBLE tasks. Such hung tasks are printed the following way: ------------------> INFO: task prctl:3042 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message prctl D fd5e3793 0 3042 2997 f6050f38 00000046 00000001 fd5e3793 00000009 c06d8264 c06dae80 00000286 f6050f40 f6050f00 f7d34d90 f7d34fc8 c1e1be80 00000001 f6050000 00000000 f7e92d00 00000286 f6050f18 c0489d1a f6050f40 00006605 00000000 c0133a5b Call Trace: [] schedule_timeout+0x6d/0x8b [] schedule_timeout_uninterruptible+0x15/0x17 [] msleep+0x10/0x16 [] sys_prctl+0x30/0x1e2 [] sysenter_past_esp+0x5f/0xa5 ======================= 2 locks held by prctl/3042: #0: (&sb->s_type->i_mutex_key#5){--..}, at: [] do_fsync+0x38/0x7a #1: (jbd_handle){--..}, at: [] journal_start+0xc7/0xe9 <------------------ the current default timeout is 120 seconds. Such messages are printed up to 10 times per bootup. If the system has crashed already then the messages are not printed. if lockdep is enabled then all held locks are printed as well. this feature is a natural extension to the softlockup-detector (kernel locked up without scheduling) and to the NMI watchdog (kernel locked up with IRQs disabled). [ Gautham R Shenoy : CPU hotplug fixes. ] [ Andrew Morton : build warning fix. ] Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit d0d23b5432fe61229dd3641c5e94d4130bc4e61b Author: Ingo Molnar Date: Fri Jan 25 21:08:02 2008 +0100 cpu-hotplug: fix build on !CONFIG_SMP fix build on !CONFIG_SMP. Signed-off-by: Ingo Molnar commit 95402b3829010fe1e208f44e4a158ccade88969a Author: Gautham R Shenoy Date: Fri Jan 25 21:08:02 2008 +0100 cpu-hotplug: replace per-subsystem mutexes with get_online_cpus() This patch converts the known per-subsystem mutexes to get_online_cpus put_online_cpus. It also eliminates the CPU_LOCK_ACQUIRE and CPU_LOCK_RELEASE hotplug notification events. Signed-off-by: Gautham R Shenoy Signed-off-by: Ingo Molnar commit 86ef5c9a8edd78e6bf92879f32329d89b2d55b5a Author: Gautham R Shenoy Date: Fri Jan 25 21:08:02 2008 +0100 cpu-hotplug: replace lock_cpu_hotplug() with get_online_cpus() Replace all lock_cpu_hotplug/unlock_cpu_hotplug from the kernel and use get_online_cpus and put_online_cpus instead as it highlights the refcount semantics in these operations. The new API guarantees protection against the cpu-hotplug operation, but it doesn't guarantee serialized access to any of the local data structures. Hence the changes needs to be reviewed. In case of pseries_add_processor/pseries_remove_processor, use cpu_maps_update_begin()/cpu_maps_update_done() as we're modifying the cpu_present_map there. Signed-off-by: Gautham R Shenoy Signed-off-by: Ingo Molnar commit d221938c049f4845da13c8593132595a6b9222a8 Author: Gautham R Shenoy Date: Fri Jan 25 21:08:01 2008 +0100 cpu-hotplug: refcount based cpu hotplug This patch implements a Refcount + Waitqueue based model for cpu-hotplug. Now, a thread which wants to prevent cpu-hotplug, will bump up a global refcount and the thread which wants to perform a cpu-hotplug operation will block till the global refcount goes to zero. The readers, if any, during an ongoing cpu-hotplug operation are blocked until the cpu-hotplug operation is over. Signed-off-by: Gautham R Shenoy Signed-off-by: Paul Jackson [For !CONFIG_HOTPLUG_CPU ] Signed-off-by: Ingo Molnar commit 6b2d7700266b9402e12824e11e0099ae6a4a6a79 Author: Srivatsa Vaddagiri Date: Fri Jan 25 21:08:00 2008 +0100 sched: group scheduler, fix fairness of cpu bandwidth allocation for task groups The current load balancing scheme isn't good enough for precise group fairness. For example: on a 8-cpu system, I created 3 groups as under: a = 8 tasks (cpu.shares = 1024) b = 4 tasks (cpu.shares = 1024) c = 3 tasks (cpu.shares = 1024) a, b and c are task groups that have equal weight. We would expect each of the groups to receive 33.33% of cpu bandwidth under a fair scheduler. This is what I get with the latest scheduler git tree: Signed-off-by: Ingo Molnar -------------------------------------------------------------------------------- Col1 | Col2 | Col3 | Col4 ------|---------|-------|------------------------------------------------------- a | 277.676 | 57.8% | 54.1% 54.1% 54.1% 54.2% 56.7% 62.2% 62.8% 64.5% b | 116.108 | 24.2% | 47.4% 48.1% 48.7% 49.3% c | 86.326 | 18.0% | 47.5% 47.9% 48.5% -------------------------------------------------------------------------------- Explanation of o/p: Col1 -> Group name Col2 -> Cumulative execution time (in seconds) received by all tasks of that group in a 60sec window across 8 cpus Col3 -> CPU bandwidth received by the group in the 60sec window, expressed in percentage. Col3 data is derived as: Col3 = 100 * Col2 / (NR_CPUS * 60) Col4 -> CPU bandwidth received by each individual task of the group. Col4 = 100 * cpu_time_recd_by_task / 60 [I can share the test case that produces a similar o/p if reqd] The deviation from desired group fairness is as below: a = +24.47% b = -9.13% c = -15.33% which is quite high. After the patch below is applied, here are the results: -------------------------------------------------------------------------------- Col1 | Col2 | Col3 | Col4 ------|---------|-------|------------------------------------------------------- a | 163.112 | 34.0% | 33.2% 33.4% 33.5% 33.5% 33.7% 34.4% 34.8% 35.3% b | 156.220 | 32.5% | 63.3% 64.5% 66.1% 66.5% c | 160.653 | 33.5% | 85.8% 90.6% 91.4% -------------------------------------------------------------------------------- Deviation from desired group fairness is as below: a = +0.67% b = -0.83% c = +0.17% which is far better IMO. Most of other runs have yielded a deviation within +-2% at the most, which is good. Why do we see bad (group) fairness with current scheuler? ========================================================= Currently cpu's weight is just the summation of individual task weights. This can yield incorrect results. For ex: consider three groups as below on a 2-cpu system: CPU0 CPU1 --------------------------- A (10) B(5) C(5) --------------------------- Group A has 10 tasks, all on CPU0, Group B and C have 5 tasks each all of which are on CPU1. Each task has the same weight (NICE_0_LOAD = 1024). The current scheme would yield a cpu weight of 10240 (10*1024) for each cpu and the load balancer will think both CPUs are perfectly balanced and won't move around any tasks. This, however, would yield this bandwidth: A = 50% B = 25% C = 25% which is not the desired result. What's changing in the patch? ============================= - How cpu weights are calculated when CONFIF_FAIR_GROUP_SCHED is defined (see below) - API Change - Two tunables introduced in sysfs (under SCHED_DEBUG) to control the frequency at which the load balance monitor thread runs. The basic change made in this patch is how cpu weight (rq->load.weight) is calculated. Its now calculated as the summation of group weights on a cpu, rather than summation of task weights. Weight exerted by a group on a cpu is dependent on the shares allocated to it and also the number of tasks the group has on that cpu compared to the total number of (runnable) tasks the group has in the system. Let, W(K,i) = Weight of group K on cpu i T(K,i) = Task load present in group K's cfs_rq on cpu i T(K) = Total task load of group K across various cpus S(K) = Shares allocated to group K NRCPUS = Number of online cpus in the scheduler domain to which group K is assigned. Then, W(K,i) = S(K) * NRCPUS * T(K,i) / T(K) A load balance monitor thread is created at bootup, which periodically runs and adjusts group's weight on each cpu. To avoid its overhead, two min/max tunables are introduced (under SCHED_DEBUG) to control the rate at which it runs. Fixes from: Peter Zijlstra - don't start the load_balance_monitor when there is only a single cpu. - rename the kthread because its currently longer than TASK_COMM_LEN Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit a183561567b5446d3362b4839bd4f744f4b2af1e Author: Srivatsa Vaddagiri Date: Fri Jan 25 21:08:00 2008 +0100 sched: introduce a mutex and corresponding API to serialize access to doms_curarray doms_cur[] array represents various scheduling domains which are mutually exclusive. Currently cpusets code can modify this array (by calling partition_sched_domains()) as a result of user modifying sched_load_balance flag for various cpusets. This patch introduces a mutex and corresponding API (only when CONFIG_FAIR_GROUP_SCHED is defined) which allows a reader to safely read the doms_cur[] array w/o worrying abt concurrent modifications to the array. The fair group scheduler code (introduced in next patch of this series) makes use of this mutex to walk thr' doms_cur[] array while rebalancing shares of task groups across cpus. Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit 58e2d4ca581167c2a079f4ee02be2f0bc52e8729 Author: Srivatsa Vaddagiri Date: Fri Jan 25 21:08:00 2008 +0100 sched: group scheduling, change how cpu load is calculated This patch changes how the cpu load exerted by fair_sched_class tasks is calculated. Load exerted by fair_sched_class tasks on a cpu is now a summation of the group weights, rather than summation of task weights. Weight exerted by a group on a cpu is dependent on the shares allocated to it. This version of patch has a minor impact on code size, but should have no runtime/functional impact for !CONFIG_FAIR_GROUP_SCHED. Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit ec2c507fe8c8fa3c04fc6cb99a382a965c477379 Author: Srivatsa Vaddagiri Date: Fri Jan 25 21:07:59 2008 +0100 sched: group scheduling, minor fixes Minor bug fixes for the group scheduler: - Use a mutex to serialize add/remove of task groups and also when changing shares of a task group. Use the same mutex when printing cfs_rq debugging stats for various task groups. - Use list_for_each_entry_rcu in for_each_leaf_cfs_rq macro (when walking task group list) Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit 93f992ccc008dd4030381caeebb252e85e66684b Author: Srivatsa Vaddagiri Date: Fri Jan 25 21:07:59 2008 +0100 sched: group scheduling code cleanup Minor cleanups: - Fix coding style - remove obsolete comment Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit 86faf39d0fc04272b05fab1db6d683f3ac7199d1 Author: Ingo Molnar Date: Fri Jan 25 21:07:59 2008 +0100 sched: remove printk_clock references from ia64 remove remaining printk_clock references from ia64. Signed-off-by: Ingo Molnar commit b842271fbb9c8b5fd0e1c3e1895a3b67ba5bcc54 Author: Ingo Molnar Date: Fri Jan 25 21:07:59 2008 +0100 sched: remove printk_clock() printk_clock() is obsolete - it has been replaced with cpu_clock(). Signed-off-by: Ingo Molnar commit d713f519332e029d43eca8462629314eee1ded86 Author: Ingo Molnar Date: Fri Jan 25 21:07:58 2008 +0100 sched: fix CONFIG_PRINT_TIME's reliance on sched_clock() Stefano Brivio reported weird printk timestamp behavior during CPU frequency changes: http://bugzilla.kernel.org/show_bug.cgi?id=9475 fix CONFIG_PRINT_TIME's reliance on sched_clock() and use cpu_clock() instead. Reported-and-bisected-by: Stefano Brivio Signed-off-by: Ingo Molnar commit 32a76006683f7b28ae3cc491da37716e002f198e Author: Ingo Molnar Date: Fri Jan 25 21:07:58 2008 +0100 printk: make printk more robust by not allowing recursion make printk more robust by allowing recursion only if there's a crash going on. Also add recursion detection. I've tested it with an artificially injected printk recursion - instead of a lockup or spontaneous reboot or other crash, the output was a well controlled: [ 41.057335] SysRq : <2>BUG: recent printk recursion! [ 41.057335] loglevel0-8 reBoot Crashdump show-all-locks(D) tErm Full kIll saK showMem Nice powerOff showPc show-all-timers(Q) unRaw Sync showTasks Unmount shoW-blocked-tasks also do all this printk-debug logic with irqs disabled. Signed-off-by: Ingo Molnar Reviewed-by: Nick Piggin commit 366ca51f30de1cbb5b356c70b7bb22051c558e41 Author: James Bottomley Date: Fri Jan 18 10:47:01 2008 -0600 [SCSI] libsas: abstract STP task status into a function Break out the frame processor for STP tasks from aic94xx so they can be shared by other SAS HBA's Original patch from Jeff Garzik Signed-off-by: James Bottomley commit 1292500b159c00a8fece072b004f154e6fda9f48 Author: Frederik Deweerdt Date: Wed Jan 16 17:19:08 2008 +0100 [SCSI] ultrastor: clean up inline asm warnings To: linux-kernel@vger.kernel.org Cc: bunk@kernel.org Subject: [trivial patch] scsi/ultrastor: clean up inline asm warnings Hi, Compiling latest mainline with gcc 4.2.1 spews the following warnings: drivers/scsi/ultrastor.c: In function 'find_and_clear_bit_16': drivers/scsi/ultrastor.c:303: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:302: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c: At top level: drivers/scsi/ultrastor.c:1202: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:1202: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c: In function 'ultrastor_queuecommand': drivers/scsi/ultrastor.c:698: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:698: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:698: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:698: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:698: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:698: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:698: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:302: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:302: warning: matching constraint does not allow a register The following patch fixes it by using the '+' operator on the (*field) operand, marking it as read-write to gcc. I diffed the two resulting .s, and gcc produced the same code. This was tested with gcc 4.2.1 and gcc 3.4.3 Signed-off-by: Frederik Deweerdt Cc: Adrian Bunk Signed-off-by: James Bottomley commit b47711bfbcd4eb77ca61ef0162487b20e023ae55 Merge: 7556afa... 2e08c0c... Author: Linus Torvalds Date: Fri Jan 25 08:44:29 2008 -0800 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: make mls_compute_sid always polyinstantiate security/selinux: constify function pointer tables and fields security: add a secctx_to_secid() hook security: call security_file_permission from rw_verify_area security: remove security_sb_post_mountroot hook Security: remove security.h include from mm.h Security: remove security_file_mmap hook sparse-warnings (NULL as 0). Security: add get, set, and cloning of superblock security information security/selinux: Add missing "space" commit 7556afa0e0e436cad4f560ee83e5fbd5dac9359a Merge: e07dd2a... d6c49a7... Author: Linus Torvalds Date: Fri Jan 25 08:40:02 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: [AVR32] extint: Set initial irq type to low level [AVR32] extint: change set_irq_type() handling [AVR32] NMI debugging [AVR32] constify function pointer tables [AVR32] ATNGW100: Update defconfig [AVR32] ATSTK1002: Update defconfig [AVR32] Kconfig: Choose daughterboard instead of CPU [AVR32] Add support for ATSTK1003 and ATSTK1004 [AVR32] Clean up external DAC setup code [AVR32] ATSTK1000: Move gpio-leds setup to setup.c [AVR32] Add support for AT32AP7001 and AT32AP7002 [AVR32] Provide more CPU information in /proc/cpuinfo and dmesg [AVR32] Oprofile support [AVR32] Include instrumentation menu Disable VGA text console for AVR32 architecture [AVR32] Enable debugging only when needed ptrace: Call arch_ptrace_attach() when request=PTRACE_TRACEME [AVR32] Remove redundant try_to_freeze() call from do_signal() [AVR32] Drop GFP_COMP for DMA memory allocations commit e07dd2ad305f6b29b47d713600aa8b722ef2a9f7 Merge: eba0e31... 7bc5c41... Author: Linus Torvalds Date: Fri Jan 25 08:39:18 2008 -0800 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: (56 commits) [GFS2] Allow journal recovery on read-only mount [GFS2] Lockup on error [GFS2] Fix page_mkwrite truncation race path [GFS2] Fix typo [GFS2] Fix write alloc required shortcut calculation [GFS2] gfs2_alloc_required performance [GFS2] Remove unneeded i_spin [GFS2] Reduce inode size by moving i_alloc out of line [GFS2] Fix assert in log code [GFS2] Fix problems relating to execution of files on GFS2 [GFS2] Initialize extent_list earlier [GFS2] Allow page migration for writeback and ordered pages [GFS2] Remove unused variable [GFS2] Fix log block mapper [GFS2] Minor correction [GFS2] Eliminate the no longer needed sd_statfs_mutex [GFS2] Incremental patch to fix compiler warning [GFS2] Function meta_read optimization [GFS2] Only fetch the dinode once in block_map [GFS2] Reorganize function gfs2_glmutex_lock ... commit eba0e319c12fb098d66316a8eafbaaa9174a07c3 Merge: df8dc74... 15e7b44... Author: Linus Torvalds Date: Fri Jan 25 08:38:25 2008 -0800 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: (125 commits) [CRYPTO] twofish: Merge common glue code [CRYPTO] hifn_795x: Fixup container_of() usage [CRYPTO] cast6: inline bloat-- [CRYPTO] api: Set default CRYPTO_MINALIGN to unsigned long long [CRYPTO] tcrypt: Make xcbc available as a standalone test [CRYPTO] xcbc: Remove bogus hash/cipher test [CRYPTO] xcbc: Fix algorithm leak when block size check fails [CRYPTO] tcrypt: Zero axbuf in the right function [CRYPTO] padlock: Only reset the key once for each CBC and ECB operation [CRYPTO] api: Include sched.h for cond_resched in scatterwalk.h [CRYPTO] salsa20-asm: Remove unnecessary dependency on CRYPTO_SALSA20 [CRYPTO] tcrypt: Add select of AEAD [CRYPTO] salsa20: Add x86-64 assembly version [CRYPTO] salsa20_i586: Salsa20 stream cipher algorithm (i586 version) [CRYPTO] gcm: Introduce rfc4106 [CRYPTO] api: Show async type [CRYPTO] chainiv: Avoid lock spinning where possible [CRYPTO] seqiv: Add select AEAD in Kconfig [CRYPTO] scatterwalk: Handle zero nbytes in scatterwalk_map_and_copy [CRYPTO] null: Allow setkey on digest_null ... commit df8dc74e8a383eaf2d9b44b80a71ec6f0e52b42e Merge: 556a169... 4a3ad20... Author: Linus Torvalds Date: Fri Jan 25 08:34:42 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 This can be broken down into these major areas: - Documentation updates (language translations and fixes, as well as kobject and kset documenatation updates.) - major kset/kobject/ktype rework and fixes. This cleans up the kset and kobject and ktype relationship and architecture, making sense of things now, and good documenation and samples are provided for others to use. Also the attributes for kobjects are much easier to handle now. This cleaned up a LOT of code all through the kernel, making kobjects easier to use if you want to. - struct bus_type has been reworked to now handle the lifetime rules properly, as the kobject is properly dynamic. - struct driver has also been reworked, and now the lifetime issues are resolved. - the block subsystem has been converted to use struct device now, and not "raw" kobjects. This patch has been in the -mm tree for over a year now, and finally all the issues are worked out with it. Older distros now properly work with new kernels, and no userspace updates are needed at all. - nozomi driver is added. This has also been in -mm for a long time, and many people have asked for it to go in. It is now in good enough shape to do so. - lots of class_device conversions to use struct device instead. The tree is almost all cleaned up now, only SCSI and IB is the remaining code to fix up... * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: (196 commits) Driver core: coding style fixes Kobject: fix coding style issues in kobject c files Kobject: fix coding style issues in kobject.h Driver core: fix coding style issues in device.h spi: use class iteration api scsi: use class iteration api rtc: use class iteration api power supply : use class iteration api ieee1394: use class iteration api Driver Core: add class iteration api Driver core: Cleanup get_device_parent() in device_add() and device_move() UIO: constify function pointer tables Driver Core: constify the name passed to platform_device_register_simple driver core: fix build with SYSFS=n sysfs: make SYSFS_DEPRECATED depend on SYSFS Driver core: use LIST_HEAD instead of call to INIT_LIST_HEAD in __init kobject: add sample code for how to use ksets/ktypes/kobjects kobject: add sample code for how to use kobjects in a simple manner. kobject: update the kobject/kset documentation kobject: remove old, outdated documentation. ... commit 556a169dab38b5100df6f4a45b655dddd3db94c1 Author: Pekka Enberg Date: Fri Jan 25 08:20:51 2008 +0200 slab: fix bootstrap on memoryless node If the node we're booting on doesn't have memory, bootstrapping kmalloc() caches resorts to fallback_alloc() which requires ->nodelists set for all nodes. Fix that by calling set_up_list3s() for CACHE_CACHE in kmem_cache_init(). As kmem_getpages() is called with GFP_THISNODE set, this used to work before because of breakage in 2.6.22 and before with GFP_THISNODE returning pages from the wrong node if a node had no memory. So it may have worked accidentally and in an unsafe manner because the pages would have been associated with the wrong node which could trigger bug ons and locking troubles. Tested-by: Mel Gorman Tested-by: Olaf Hering Reviewed-by: Christoph Lameter Signed-off-by: Pekka Enberg [ With additional one-liner by Olaf Hering - Linus ] Signed-off-by: Linus Torvalds commit eb36f4fc019835cecf0788907f6cab774508087b Author: Karsten Keil Date: Fri Jan 25 11:55:28 2008 +0100 fix oops on rmmod capidrv Fix overwriting the stack with the version string (it is currently 10 bytes + zero) when unloading the capidrv module. Safeguard against overwriting it should the version string grow in the future. Should fix Kernel Bug Tracker Bug 9696. Signed-off-by: Gerd v. Egidy Acked-by: Karsten Keil Signed-off-by: Linus Torvalds commit 93a38fa2dd83fcaf65b2327fff65e364472388f9 Author: Vegard Nossum Date: Thu Jan 24 23:02:52 2008 +0100 [SCSI] aic7xxx: fix firmware build This patch adds the proper $(obj) and $(src) prefixes to dependency rules in aic7xxx makefile. Without this patch, there is a remote possibility that parallel make with a different output directory can fail. Also changed the deprecated EXTRA_CFLAGS construct to ccflags-y syntax. Fixed up patch to survive "make drivers/scsi/ -j" with BUILD_FIRMWARE enable. /Sam Signed-off-by: Vegard Nossum Signed-off-by: Sam Ravnborg Acked-by: Hannes Reinecke Signed-off-by: James Bottomley commit a119ee8ee3045bf559d4cf02d72b112f3de2a15b Author: Salyzyn, Mark Date: Thu Jan 24 07:40:10 2008 -0800 [SCSI] aacraid: fib context lock for management ioctls Alan noticed the lack of locking surrounding the driver's dealings with the fib context managed by the trio of ioctls that are used by the RAID management applications to retrieve Adapter Initiated FIBs. I merely expanded the fib lock to include the fib context. There have been no field reports of any issues generally because the applications are relatively static and do not come and go often enough to stress this area. I bloated this patch a little with some space junk. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 5aa22af3d089123df954693d1f911323307d41f7 Author: FUJITA Tomonori Date: Thu Jan 24 17:24:52 2008 +0900 [SCSI] ch: remove forward declarations This moves ch_template and changer_fops structs to the end of file and removes forward declarations. This also removes some trailing whitespace. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit da707c54c3424b4b50d4352c2103867284ba6724 Author: FUJITA Tomonori Date: Thu Jan 24 17:24:50 2008 +0900 [SCSI] ch: fix device minor number management bug ch_probe uses the total number of ch devices as minor. ch_probe: ch->minor = ch_devcount; ... ch_devcount++; Then ch_remove decreases ch_devcount: ch_remove: ch_devcount--; If you have two ch devices, sch0 and sch1, and remove sch0, ch_devcount is 1. Then if you add another ch device, ch_probe tries to create sch1. So you get a warning and fail to create sch1: Jan 24 16:01:05 nice kernel: sysfs: duplicate filename 'sch1' can not be created Jan 24 16:01:05 nice kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one() Jan 24 16:01:05 nice kernel: Pid: 2571, comm: iscsid Not tainted 2.6.24-rc7-ga3d2c2e8-dirty #1 Jan 24 16:01:05 nice kernel: Jan 24 16:01:05 nice kernel: Call Trace: Jan 24 16:01:05 nice kernel: [] sysfs_add_one+0x54/0xbd Jan 24 16:01:05 nice kernel: [] create_dir+0x4f/0x87 Jan 24 16:01:05 nice kernel: [] sysfs_create_dir+0x35/0x4a Jan 24 16:01:05 nice kernel: [] kobject_get+0x12/0x17 Jan 24 16:01:05 nice kernel: [] kobject_add+0xf3/0x1a6 Jan 24 16:01:05 nice kernel: [] class_device_add+0xaa/0x39d Jan 24 16:01:05 nice kernel: [] class_device_create+0xcb/0xfa Jan 24 16:01:05 nice kernel: [] printk+0x4e/0x56 Jan 24 16:01:05 nice kernel: [] sysfs_ilookup_test+0x0/0xf Jan 24 16:01:05 nice kernel: [] :ch:ch_probe+0xbe/0x61a (snip) This patch converts ch to use a standard minor number management way, idr like sg and bsg. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 366781c19635d861f43ff5e03388a3873ec912d9 Author: Steve French Date: Fri Jan 25 10:12:41 2008 +0000 [CIFS] DFS build fixes Also includes a few minor changes suggested by Christoph Signed-off-by: Steve French commit 7bc5c414fe6627ec518c82d154c796f0981f5b02 Author: Abhijith Das Date: Fri Jan 18 14:06:37 2008 -0600 [GFS2] Allow journal recovery on read-only mount This patch allows gfs2 to perform journal recovery even if it is mounted read-only. Strictly speaking, a read-only mount should not be writing to the filesystem, but we do this only to perform journal recovery. A read-only mount will fail if we don't recover the dirty journal. Also, when gfs2 is used as a root filesystem, it will be mounted read-only before being mounted read-write during the boot sequence. A failed read-only mount will panic the machine during bootup. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 1b8177ec1e779bcc3ed89419ff7c80dbc3dcc489 Author: Bob Peterson Date: Sat Jan 19 21:50:24 2008 -0600 [GFS2] Lockup on error I spotted this bug while I was digging around. Looks like it could cause a lockup in some rare error condition. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit b7fe2e391ee7b711d6dfd6a694d60c4f21113cbb Author: Steven Whitehouse Date: Thu Jan 17 15:12:03 2008 +0000 [GFS2] Fix page_mkwrite truncation race path There was a bug in the truncation/invalidation race path for ->page_mkwrite for gfs2. It ought to return 0 so that the effect is the same as if the page was truncated at any of the other points at which the page_lock is dropped. This will result in the restart of the whole page fault path. If it was due to a real truncation (as opposed to an invalidate because we let a glock go) then the ->fault path will pick that up when it gets called again. Signed-off-by: Steven Whitehouse commit 3e5cd0877e6d2f059dc36b8206cb7e93938151db Author: Bob Peterson Date: Wed Jan 16 08:45:39 2008 -0600 [GFS2] Fix typo This patch fixes a minor typo. Surprisingly, it still compiled. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 1af535727bbf68e1da7ac232de47315da4c66ade Author: Steven Whitehouse Date: Wed Jan 16 14:24:05 2008 +0000 [GFS2] Fix write alloc required shortcut calculation The comparison was being made against the wrong quantity. Signed-off-by: Steven Whitehouse commit 05220535196d413db434527a3edcba79b7187df8 Author: Bob Peterson Date: Fri Jan 11 13:44:50 2008 -0600 [GFS2] gfs2_alloc_required performance This is a small I/O performance enhancement to gfs2. (Actually, it is a rework of an earlier version I got wrong). The idea here is to check if the write extends past the last block in the file. If so, the function can save itself a lot of time and trouble because it knows an allocate will be required. Benchmarks like iozone should see better performance. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 598278bd4808ed81b0e6fa445458a7d549f72a32 Author: Bob Peterson Date: Fri Jan 11 13:31:12 2008 -0600 [GFS2] Remove unneeded i_spin This patch removes a vestigial variable "i_spin" from the gfs2_inode structure. This not only saves us memory (>300000 of these in memory for the oom test) it also saves us time because we don't have to spend time initializing it (i.e. slightly better performance). Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 6dbd822487d0a9f14432cb4680415b80656b63a2 Author: Steven Whitehouse Date: Thu Jan 10 15:18:55 2008 +0000 [GFS2] Reduce inode size by moving i_alloc out of line It is possible to reduce the size of GFS2 inodes by taking the i_alloc structure out of the gfs2_inode. This patch allocates the i_alloc structure whenever its needed, and frees it afterward. This decreases the amount of low memory we use at the expense of requiring a memory allocation for each page or partial page that we write. A quick test with postmark shows that the overhead is not measurable and I also note that OCFS2 use the same approach. In the future I'd like to solve the problem by shrinking down the size of the members of the i_alloc structure, but for now, this reduces the immediate problem of using too much low-memory on x86 and doesn't add too much overhead. Signed-off-by: Steven Whitehouse commit ac39aadd0440ae696e6dacaa8006ce1737b17008 Author: Steven Whitehouse Date: Thu Jan 10 14:49:43 2008 +0000 [GFS2] Fix assert in log code Although the values were all being calculated correctly, there was a race in the assert due to the way it was using atomic variables. This changes the value we assert on so that we get the same effect by testing a different variable. This prevents the assert triggering when it shouldn't. Signed-off-by: Steven Whitehouse commit 9656b2c14c6ee0806c90a6be41dec71117fc8f50 Author: Steven Whitehouse Date: Tue Jan 8 08:14:30 2008 +0000 [GFS2] Fix problems relating to execution of files on GFS2 This patch fixes a couple of problems which affected the execution of files on GFS2. The first is that there was a corner case where inodes were not always uptodate at the point at which permissions checks were being carried out, this was resulting in refusal of execute permission, but only on the first lookup, subsequent requests worked correctly. The second was a problem relating to incorrect updating of file sizes which was introduced with the write_begin/end code for GFS2 a little while back. Signed-off-by: Steven Whitehouse Cc: Abhijith Das commit 0811a127cb83ad2e0355e5e3e30164d7ef0f2d65 Author: Bob Peterson Date: Thu Jan 3 09:24:53 2008 -0600 [GFS2] Initialize extent_list earlier Here is a patch for the latest upstream GFS2 code: The journal extent map needs to be initialized sooner than it currently is. Otherwise failed mount attempts (e.g. not enough journals, etc.) may panic trying to access the uninitialized list. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit e5d9dc278c7f79c220e4506cc1ade2efa2ca73fd Author: Steven Whitehouse Date: Thu Jan 3 11:31:38 2008 +0000 [GFS2] Allow page migration for writeback and ordered pages To improve performance on NUMA, we use the VM's standard page migration for writeback and ordered pages. Probably we could also do the same for journaled data, but that would need a careful audit of the code, so will be the subject of a later patch. Signed-off-by: Steven Whitehouse commit 65a6290998f3d38b5c5e84423ae9e08bdd957095 Author: Steven Whitehouse Date: Wed Jan 2 10:16:56 2008 +0000 [GFS2] Remove unused variable The go_drop_th function is never called or referenced. Signed-off-by: Steven Whitehouse commit ff91cc9bb41b62bc4ea7d5ced396fabf97539df9 Author: Steven Whitehouse Date: Fri Dec 14 14:04:34 2007 +0000 [GFS2] Fix log block mapper A missing offset in the calculation. Signed-off-by: Steven Whitehouse commit fa3742fa8545df20e54aa0953a1873cca3a9bd92 Author: Bob Peterson Date: Wed Dec 12 17:52:13 2007 -0600 [GFS2] Minor correction This is a small correction to my previously posted patch1. It just changes a divide to a shift. It's faster and doesn't introduce odd dependencies on 32-bit compiles. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit c3f60b6e3a7667f78a63b15cf09655ecfca757fc Author: Bob Peterson Date: Wed Dec 12 11:44:41 2007 -0600 [GFS2] Eliminate the no longer needed sd_statfs_mutex This patch eliminates the unneeded sd_statfs_mutex mutex but preserves the ordering as discussed. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit b3513fca7e41965d85125c9770ce5f8fd4ff509a Author: Bob Peterson Date: Wed Dec 12 09:24:08 2007 -0600 [GFS2] Incremental patch to fix compiler warning Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 15c7cee7995a9013f1b2f31a15b70e1d2e8ae501 Author: Bob Peterson Date: Tue Dec 11 19:29:17 2007 -0600 [GFS2] Function meta_read optimization This patch optimizes function gfs2_meta_read. Basically, gfs2_meta_wait was being called regardless of whether a disk read was requested. This just pulls that wait into the if that triggers the read. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit b0d5fd307463405fe1f57494fbb37f810715ed6d Author: Bob Peterson Date: Tue Dec 11 19:16:09 2007 -0600 [GFS2] Only fetch the dinode once in block_map Function gfs2_block_map was often looking up the disk inode twice. This optimizes it so that only does it once. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 398bbe68321947f6763fbc259a01eb548ce19408 Author: Bob Peterson Date: Tue Dec 11 19:13:54 2007 -0600 [GFS2] Reorganize function gfs2_glmutex_lock This patch optimizes the function gfs2_glmutex_lock. The basic theory is: Why bother initializing a holder, setting up wait bits and then waiting on them, if you know the glock can be yours. So the holder stuff is placed inside the if checking if the glock is locked. This one needs careful scrutiny because changing anything to do with locking should strike terror into one's heart. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 5fdc2eeb5d1d3800367f471690b01fcd1fd5b963 Author: Bob Peterson Date: Tue Dec 11 19:00:16 2007 -0600 [GFS2] Run through full bitmaps quicker in gfs2_bitfit I eliminated the passing of an unused parameter into gfs2_bitfit called rgd. This also changes the gfs2_bitfit code that searches for free (or used) blocks. Before, the code was trying to check for bytes that indicated 4 blocks in the undesired state. The problem is, it was spending more time trying to do this than it actually was saving. This version only optimizes the case where we're looking for free blocks, and it checks a machine word at a time. So on 32-bit machines, it will check 32-bits (16 blocks) and on 64-bit machines, it will check 64-bits (32 blocks) at a time. The compiler optimizes that quite well and we save some time, especially when running through full bitmaps (like the bitmaps allocated for the journals). There's probably a more elegant or optimized way to do this, but I haven't thought of it yet. I'm open to suggestions. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 0d0868bde33273a200b33e54f4fad6099ad0c566 Author: Bob Peterson Date: Tue Dec 11 18:51:25 2007 -0600 [GFS2] Get rid of useless "found" variable in quota.c This just eliminates an unused variable from the quota code. Not likely to be a time saver. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit da6dd40d59fa9617ed697b90114e197036901632 Author: Bob Peterson Date: Tue Dec 11 18:49:21 2007 -0600 [GFS2] Journal extent mapping This patch saves a little time when gfs2 writes to the journals by keeping a mapping between logical and physical blocks on disk. That's better than constantly looking up indirect pointers in buffers, when the journals are several levels of indirection (which they typically are). Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit e9e1ef2b6ee401d7c1e1eb38052857b4b206d172 Author: Bob Peterson Date: Mon Dec 10 14:13:27 2007 -0600 [GFS2] Remove function gfs2_get_block This patch is just a cleanup. Function gfs2_get_block() just calls function gfs2_block_map reversing the last two parameters. By reversing the parameters, gfs2_block_map() may be called directly and function gfs2_get_block may be eliminated altogether. Since this function is done for every block operation, this streamlines the code and makes it a little bit more efficient. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 2066b58b0a038d7aedd24133677efb8856cac3a1 Author: David Teigland Date: Thu Dec 6 09:35:25 2007 -0600 [GFS2] use pid for plock owner for nfs clients The fl_owner is that of lockd when posix locks arrive from nfs clients, so it can't be used to distinguish between lock holders. Use fl_pid as owner instead; it's the pid of the process on the nfs client. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit dbee2199c37336e89060fbe9abdfd1ca8454372a Author: Steven Whitehouse Date: Fri Nov 30 08:17:15 2007 +0000 [GFS2] Remove unused variable Signed-off-by: Steven Whitehouse commit 292c8c14cace19c94c6abe25506310239daf949e Author: Abhijith Das Date: Thu Nov 29 14:13:54 2007 -0600 [GFS2] patch to check for recursive lock requests in gfs2_rename code path A certain scenario in the rename code path triggers a kernel BUG() because it accidentally does recursive locking The first lock is requested to unlink an already existing inode (replacing a file) and the second lock is requested when the destination directory needs to alloc some space. It is rare that these two events happen during the same rename call, and even more rare that these two instances try to lock the same rgrp. It is, however, possible. https://bugzilla.redhat.com/show_bug.cgi?id=404711 Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit c97bfe4351771675963e02f34d31e206fd2d7150 Author: Wendy Cheng Date: Thu Nov 29 17:56:51 2007 -0500 [GFS2] Remove lock methods for lock_nolock protocol GFS2 supports two modes of locking - lock_nolock for single node filesystem and lock_dlm for cluster mode locking. The gfs2 lock methods are removed from file operation table for lock_nolock protocol. This would allow VFS to handle posix lock and flock logics just like other in-tree filesystems without duplication. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit bcd405599faa16cf32a3d3f1ce6a1e12cb37fede Author: Fabio M. Di Nitto Date: Wed Nov 28 16:22:09 2007 +0100 [GFS2] Remove unrequired code Signed-off-by: Fabio M. Di Nitto Signed-off-by: Steven Whitehouse commit 6a69a23f7df18f39e4a084e10b62ff4a144b05a5 Author: Fabio Massimo Di Nitto Date: Tue Nov 27 06:16:42 2007 +0100 [GFS2] Fix build warnings Hi Steven, Steven Whitehouse wrote: > Hi, > > Now in the -nmw git tree. Thanks, > > Steve. > > On Wed, 2007-11-21 at 11:54 -0600, Ryan O'Hara wrote: this patch introduces a bunch of build warnings by leaving around struct inode *inode = &ip->i_inode; The patch in attachment cleans them up. Please apply. Signed-off-by: Fabio Massimo Di Nitto Signed-off-by: Steven Whitehouse commit 002ef1dc63ded14507c110d3cf83d0c3f51374ab Author: Ryan O'Hara Date: Wed Nov 21 11:54:54 2007 -0600 [GFS2] remove unnecessary permission checks Remove read/write permission() checks from xattr operations. VFS layer is already handling permission for xattrs via the xattr_permission() call, so there is no need for gfs2 to check permissions. Futhermore, using permission() for SELinux xattrs ops is incorrect. Signed-off-by: Ryan O'Hara Signed-off-by: Steven Whitehouse commit 1a2781cfa5ed8eb82bb311d684f268c1822dae69 Author: Fabio Massimo Di Nitto Date: Fri Nov 16 09:50:40 2007 +0000 [GFS2] Fix runtime issue with UP kernels The issue is indeed UP vs SMP and it is totally random. spin_is_locked() is a bad assertion because there is no correct answer on UP. on UP spin_is_locked() has to return either one value or another, always. This means that in my setup I am lucky enough to trigger the issue and your you are lucky enough not to. the patch in attachment removes the bogus calls to BUG_ON and according to David (in CC and thanks for the long explanation on the problem) we can rely upon things like lockdep to find problem that might be trying to catch. Signed-off-by: Fabio M. Di Nitto Cc: David S. Miller Signed-off-by: Steven Whitehouse commit 00c134756c5ad570a1ad3d6f93a67fc9c25a67ea Author: David Teigland Date: Thu Nov 15 09:01:13 2007 -0600 [GFS2] tidy up error message Print error with log_error() to be consistent with others. Signed-off-by: David Teigland Signed-off-by: Fabio M. Di Nitto Signed-off-by: Steven Whitehouse commit 0b7580c786a5feda6291fe68ead3a1b92b6b35b8 Author: Fabio Massimo Di Nitto Date: Thu Nov 15 13:48:52 2007 +0000 [GFS2] Check for installation of mount helpers for DLM mounts The patch is a fix to abort mount if the mount.gfs* and possible umount.* are missing from /sbin. While we do what we can to guarantee that they are installed properly in userland (CVS HEAD), we want to make sure that mount still aborts properly. The only sign of missing helpers is that lock_dlm will receive no mount options at all. According to David the problem does not exist for lock_nolock as the helpers are not required. The patch has been tested for both gfs and gfs2 and it works as expected. The lack of mount.gfs* will generate an error that is propagated to mount: oot@node1:~# mount -t gfs2 /dev/nbd2 /mnt/ mount: wrong fs type, bad option, bad superblock on /dev/nbd2, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so [ 3513.303346] GFS2: fsid=: Trying to join cluster "lock_dlm", "gutsy:gfs2" [ 3513.304546] DLM/GFS2/GFS ERROR: (u)mount helpers are not installed properly! [ 3513.306290] GFS2: fsid=: can't mount proto=lock_dlm, table=gutsy:gfs2, hostdata= You might want to notice that it will also avoid mount to hang or fail silently or with strange errors that will require the cluster to reboot/restart before you can actually mount the filesystem again. Signed-off-by: Fabio M. Di Nitto Signed-off-by: Steven Whitehouse commit e35b921185728850c5db3b5d5b356178f931a157 Author: Steven Whitehouse Date: Fri Nov 9 10:07:21 2007 +0000 [GFS2] Don't periodically update the jindex We only care about the content of the jindex in two cases, one is when we mount the fs and the other is when we need to recover another journal. In both cases we have to update the jindex anyway, so there is no point in updating it periodically between times, so this removes it to simplify gfs2_logd. Signed-off-by: Steven Whitehouse commit ec69b188837a347769e187997d040e84a683b38a Author: Steven Whitehouse Date: Fri Nov 9 10:01:41 2007 +0000 [GFS2] Move gfs2_logd into log.c This means that we can mark gfs2_ail1_empty static and prepares the way for further changes. Signed-off-by: Steven Whitehouse commit fd041f0b4045db8646b36d393cbb274db60649f5 Author: Steven Whitehouse Date: Thu Nov 8 14:55:03 2007 +0000 [GFS2] Use atomic_t for journal free blocks counter This patch changes the counter which keeps track of the free blocks in the journal to an atomic_t in preparation for the following patch which will update the log reservation code. Signed-off-by: Steven Whitehouse commit 2bcd610d2fdea608a8fdac32788fc35a32a2327c Author: Steven Whitehouse Date: Thu Nov 8 14:25:12 2007 +0000 [GFS2] Don't add glocks to the journal The only reason for adding glocks to the journal was to keep track of which locks required a log flush prior to release. We add a flag to the glock to allow this check to be made in a simpler way. This reduces the size of a glock (by 12 bytes on i386, 24 on x86_64) and means that we can avoid extra work during the journal flush. Signed-off-by: Steven Whitehouse commit 8cbc4342478311c2a85260a7ca54d96cb7f71f7b Author: David Teigland Date: Wed Nov 7 09:03:56 2007 -0600 [GFS2] check kthread_should_stop when waiting Use wait_event_interruptible() in the lock_dlm thread instead of an open coded equivalent, and include a kthread_should_stop() check in the wait test so we don't miss a kthread_stop(). Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit c7227e46423a57b4df27a2d75b5869bd3ae654d0 Author: Bob Peterson Date: Fri Nov 2 09:37:15 2007 -0500 [GFS2] Given device ID rather than s_id in "id" sysfs file This patch changes the /sys/fs/gfs2//id file to give the device id "major:minor" rather than the s_id. That enables gfs2_tool to match devices properly (by id, not name) when locating the tuning files. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit e589665eb97b297412fb16b4c1737a01a91db903 Author: Steven Whitehouse Date: Fri Nov 2 09:14:31 2007 +0000 [GFS2] Remove flags no longer required The HIF_MUTEX and HIF_PROMOTE flags were set on the glock holders depending upon which of the two waiters lists they were going to be queued upon. They were then tested when the holders were taken off the lists to ensure that the right type of holder was being dequeued. Since we are already using separate lists, there doesn't seem a lot of point having these flags as well, and since setting them and testing them is in the fast path for locking and unlocking glock, this patch removes them. Signed-off-by: Steven Whitehouse commit 3042a2ccd68d2b609d283219e51cba363aa35c1d Author: Steven Whitehouse Date: Fri Nov 2 08:39:34 2007 +0000 [GFS2] Reorder writeback for glock sync Previously we were doing (write data, wait for data, write metadata, wait for metadata). After this patch we so (write metadata, write data, wait for data, wait for metadata) which should be more efficient. Also I noticed that the drop_bh and xmote_bh functions were almost identical. In fact the only difference was a single test, and that test is such that in the drop_bh case, it would always evaluate to the correct result. As such we can use the xmote_bh functions in all the places where we were using the drop_bh function and remove the drop_bh functions. Signed-off-by: Steven Whitehouse commit 52d4c74b08bf859f698ddb4e8a43c0dc8d4a0685 Author: Steven Whitehouse Date: Thu Nov 1 09:34:14 2007 +0000 [GFS2] Add sync_page to metadata address space operations This set of address space operations was missing a sync_page operation. Signed-off-by: Steven Whitehouse commit c2932e03dbcfe7ea9052953dbd5f3157183c1e9b Author: Steven Whitehouse Date: Thu Nov 1 09:26:54 2007 +0000 [GFS2] Remove "reclaim limit" This call to reclaim glocks is not needed, and in particular we don't want it in the fast path for locking glocks. The limit was entirely arbitrary anyway and we can't expect users to adjust things like this, the remaining code will do the right thing on its own. Signed-off-by: Steven Whitehouse commit 60b0d0877986b8fa70148f06055422d2ed858e88 Author: Steven Whitehouse Date: Wed Oct 31 14:24:33 2007 +0000 [GFS2] Remove unused variables These haven't been used for some time, remove them. Signed-off-by: Steven Whitehouse commit 47e83b509127f5e83ae5d93afd5c7cb9241acc38 Author: Steven Whitehouse Date: Thu Oct 18 11:15:50 2007 +0100 [GFS2] Use correct include file in ops_address.c Something changed in the upstream kernel, and it needs this one-liner to allow ops_address.c to build. Signed-off-by: Steven Whitehouse commit c41d4f09f13671f98ba4b82fdc94420cdc09be08 Author: Steven Whitehouse Date: Wed Oct 17 14:05:41 2007 +0100 [GFS2] Don't hold page lock when starting transaction This is an addendum to the new AOPs work which moves the point at which we take the page lock so that we don't get it until the last possible moment. This resolves a conflict between starting transactions and the page lock. Signed-off-by: Steven Whitehouse commit b8e7cbb65bcc99630e123422c6829ce3c0fcdf14 Author: Steven Whitehouse Date: Wed Oct 17 09:04:24 2007 +0100 [GFS2] Add writepages for GFS2 jdata This patch resolves a lock ordering issue where we had been getting a transaction lock in the wrong order with respect to the page lock. By using writepages rather than just writepage, it is then possible to start a transaction before locking the page, and thus matching the locking order elsewhere in the code. Signed-off-by: Steven Whitehouse commit 9ff8ec32e58875022447af619bec6e5aee7c77e4 Author: Steven Whitehouse Date: Fri Sep 28 13:49:05 2007 +0100 [GFS2] Split gfs2_writepage into three cases This patch splits gfs2_writepage into separate functions for each of the three cases: writeback, ordered and journalled. As a result it becomes a lot easier to see what each one is doing. The common code is moved into gfs2_writepage_common. This fixes a performance bug where we were doing more work than strictly required in the ordered write case. Signed-off-by: Steven Whitehouse commit 5561093e2cac9f7d2a77e39cc689b8d2b7f9b2bc Author: Steven Whitehouse Date: Wed Oct 17 08:47:38 2007 +0100 [GFS2] Introduce gfs2_set_aops() Just like ext3 we now have three sets of address space operations to cover the cases of writeback, ordered and journalled data writes. This means that the individual operations can now become less complicated as we are able to remove some of the tests for file data mode from the code. Signed-off-by: Steven Whitehouse commit bf36a713169432643d4fc7eeb4e0ace96d791d26 Author: Steven Whitehouse Date: Wed Oct 17 08:35:19 2007 +0100 [GFS2] Add gfs2_is_writeback() This adds a function "gfs2_is_writeback()" along the lines of the existing "gfs2_is_jdata()" in order to clean up the code and make the various tests for the inode mode more obvious. It also fixes the PageChecked() logic where we were resetting the flag too early in the case of an error path. Signed-off-by: Steven Whitehouse commit e7e36f143565d14950055c893cfaf4400ad64d34 Author: Steven Whitehouse Date: Tue Oct 16 11:47:04 2007 +0100 [GFS2] Remove unused field in struct gfs2_inode Removes a field that is not used. Signed-off-by: Steven Whitehouse commit f91a0d3e24e4b0198be5fae20d45a35c40d1efce Author: Steven Whitehouse Date: Mon Oct 15 16:29:05 2007 +0100 [GFS2] Remove useless i_cache from inodes The i_cache was designed to keep references to the indirect blocks used during block mapping so that they didn't have to be looked up continually. The idea failed because there are too many places where the i_cache needs to be freed, and this has in the past been the cause of many bugs. In addition there was no performance benefit being gained since the disk blocks in question were cached anyway. So this patch removes it in order to simplify the code to prepare for other changes which would otherwise have had to add further support for this feature. Signed-off-by: Steven Whitehouse commit 3cc3f710ce0effe397b830826a1a081fa81f11c7 Author: Steven Whitehouse Date: Mon Oct 15 15:40:33 2007 +0100 [GFS2] Use ->page_mkwrite() for mmap() This cleans up the mmap() code path for GFS2 by implementing the page_mkwrite function for GFS2. We are thus able to use the generic filemap_fault function for our ->fault() implementation. This now means that shared writable mappings will be much more efficiently shared across the cluster if there is a reasonable proportion of read activity (the greater proportion, the better). As a side effect, it also reduces the size of the code, removes special cases from readpage and readpages, and makes the code path easier to follow. Signed-off-by: Steven Whitehouse commit 51ff87bdd9f21a5d3672517b75d25ab5842d94a8 Author: Steven Whitehouse Date: Mon Oct 15 14:42:35 2007 +0100 [GFS2] Clean up internal read function As requested by Christoph, this patch cleans up GFS2's internal read function so that it no longer uses the do_generic_mapping_read function. This function is obsolete and GFS2 is the last user of it. As a side effect the internal read code gets smaller and easier to read and gfs2_readpage is split into two. One function has the locking and the other function has the rest of the logic. Signed-off-by: Steven Whitehouse Cc: Christoph Hellwig commit cc7e79b168a552152299bd8a8254dc099aacc993 Author: Wendy Cheng Date: Fri Oct 5 00:27:58 2007 -0400 [GFS2] Handle multiple glock demote requests Fix a race condition where multiple glock demote requests are sent to a node back-to-back. This patch does a check inside handle_callback() to see whether a demote request is in progress. If true, it sets a flag to make sure run_queue() will loop again to handle the new request, instead of erronously setting gl_demote_state to a different state. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit d6c49a7a78fc841418bbd58bda504076f80ec51d Author: Haavard Skinnemoen Date: Thu Jan 24 16:56:53 2008 +0100 [AVR32] extint: Set initial irq type to low level David Brownell pointed out a mismatch in the avr32 extint code: > I noticed a small glitch that's not fixed by this patch: the > initial type is falling edge, but IRQ_TYPE_NONE is mapped to > IRQ_TYPE_LEVEL_LOW. Potentially surprising. Fix it by setting the initial type (and handler) to low level, matching the meaning of IRQ_TYPE_NONE. Signed-off-by: Haavard Skinnemoen commit e4f586f280bbfa05c68f99df2db981356ee30533 Author: David Brownell Date: Tue Dec 18 20:50:28 2007 -0800 [AVR32] extint: change set_irq_type() handling Update the AVR32 EIC code to use the new __set_irq_handler_unlocked() call, getting rid of one more instance of this widespread problem. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit e7ba176b47db2ed53f258a6b4fe9d9fc6fa437a9 Author: Haavard Skinnemoen Date: Wed Oct 10 14:58:29 2007 +0200 [AVR32] NMI debugging Change the NMI handler to use the die notifier chain to signal anyone who cares. Add a simple "nmi debugger" which hooks into this chain and that may dump registers, task state, etc. when it happens. Signed-off-by: Haavard Skinnemoen commit f6135d12db4bed3b992052020f1c50d749cd8dc6 Author: Jan Engelhardt Date: Tue Jan 22 20:41:37 2008 +0100 [AVR32] constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Haavard Skinnemoen commit 00625723428c23748668ca225e199a2c674c63f7 Author: Haavard Skinnemoen Date: Wed Jan 9 23:21:15 2008 +0100 [AVR32] ATNGW100: Update defconfig Signed-off-by: Haavard Skinnemoen commit f141035decdf8e3ce498991deee3984cb47426bf Author: Haavard Skinnemoen Date: Wed Jan 9 22:45:05 2008 +0100 [AVR32] ATSTK1002: Update defconfig Turn off a few useless options, enable a few useful ones and enable quite a few new drivers. Signed-off-by: Haavard Skinnemoen commit e8897bfef2b056a527df21b25b602c59dbbad67a Author: Haavard Skinnemoen Date: Thu Nov 29 11:15:15 2007 +0100 [AVR32] Kconfig: Choose daughterboard instead of CPU Remove the CPU selection menu and instead let it be selected by the board or daughterboard option. Add daughterboard selection for ATSTK1000 (this was previously determined based on CPU type.) Signed-off-by: Haavard Skinnemoen commit 78693e47a285dbfafabc85a42797660e4fe2967b Author: Haavard Skinnemoen Date: Mon Oct 29 17:03:26 2007 +0100 [AVR32] Add support for ATSTK1003 and ATSTK1004 ATSTK1003 and ATSTK1004 are CPU daughterboards for ATSTK1000 featuring the AT32AP7001 and AT32AP7002 CPUs, respectively. Signed-off-by: Haavard Skinnemoen commit 64d81052671bc2e66efd46251883f5e8e3043db9 Author: Haavard Skinnemoen Date: Mon Oct 29 16:24:09 2007 +0100 [AVR32] Clean up external DAC setup code Reduce the ridiculous amount of #ifdef clutter in atstk1002.c a bit by moving all the extdac stuff into its own function and providing an empty stub for the case when it isn't wanted. Signed-off-by: Haavard Skinnemoen commit f4c41b2689eec03bd4f8145a08903862673e002b Author: Haavard Skinnemoen Date: Mon Oct 29 16:02:51 2007 +0100 [AVR32] ATSTK1000: Move gpio-leds setup to setup.c There may be other boards than STK1002 that want to use the leds on STK1000. Move it to stk1000 common code to make it easier to reuse. Signed-off-by: Haavard Skinnemoen commit 438ff3f3cc33833206a48492e9d6674e4e82bed8 Author: Haavard Skinnemoen Date: Mon Oct 29 15:28:07 2007 +0100 [AVR32] Add support for AT32AP7001 and AT32AP7002 These are derivatives of the AT32AP7000 chip, which means that most of the code stays the same. Rename a few files, functions, definitions and config symbols to reflect that they apply to all AP700x chips, and exclude some platform devices from chips where they aren't present. Signed-off-by: Haavard Skinnemoen commit 281ef58ccf62eaa6c4e4b7e4c0a3ee6b52e84e5b Author: Haavard Skinnemoen Date: Fri Dec 7 10:21:02 2007 +0100 [AVR32] Provide more CPU information in /proc/cpuinfo and dmesg Add the following fields to /proc/cpuinfo: * chip type and revision (from the JTAG chip id) * cpu MHz (from clk_get_rate()) * features (from the CONFIG0 register) Also rename "cpu family" to "cpu arch" and "cpu type" to "cpu core" to remove some ambiguity. Show chip type and revision at bootup, and clarify that the other kinds of IDs that we're already printing are for the cpu core and architecture. Rename "AP7000" to "AP7" since that's the name of the core. Signed-off-by: Haavard Skinnemoen commit 2853ce5ecefe9d9ca119f33db0c23a3f075e35d9 Author: Haavard Skinnemoen Date: Wed Jan 4 17:26:23 2006 +0100 [AVR32] Oprofile support This adds the necessary architecture code to run oprofile on AVR32 using the performance counters documented by the AVR32 Architecture Manual. Signed-off-by: Haavard Skinnemoen Acked-by: Philippe Elie commit a7f5bf9b95ace39cd8b61e8c9ca1035966779ed1 Author: Haavard Skinnemoen Date: Wed Oct 31 15:22:34 2007 +0100 [AVR32] Include instrumentation menu Remove KPROBES option from Kconfig.debug and include kernel/Kconfig.instrumentation. Signed-off-by: Haavard Skinnemoen commit 9e4e980b027c892b02a73d6ea0d01c197b818a32 Author: Hans-Christian Egtvedt Date: Mon Dec 3 10:43:28 2007 +0100 Disable VGA text console for AVR32 architecture This patch disables the VGA text console for AVR32 architecture since it does not provide the vga.h include file. AVR32 users should use framebuffer console instead if they need a console on an attached display. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 13b54a50525a9685065684e1e11258d27dd27bdf Author: Haavard Skinnemoen Date: Tue Nov 27 13:50:45 2007 +0100 [AVR32] Enable debugging only when needed Keep track of processes being debugged (including the kernel itself) and turn the OCD system on and off as appropriate. Since enabling debugging turns off some optimizations in the CPU core, this fixes the issue that enabling KProbes support or simply running a program under gdbserver will reduce system performance significantly until the next reboot. The CPU performance will still be reduced for all processes while a process is being debugged, but this is a lot better than reducing the performance forever. Signed-off-by: Haavard Skinnemoen commit 6ea6dd93c9454cc9521134f907bc970d09f460e4 Author: Haavard Skinnemoen Date: Tue Nov 27 13:02:40 2007 +0100 ptrace: Call arch_ptrace_attach() when request=PTRACE_TRACEME arch_ptrace_attach() is a hook that allows the architecture to do book-keeping after a ptrace attach. This patch adds a call to this hook when handling a PTRACE_TRACEME request as well. Currently only one architecture, m32r, implements this hook. When called, it initializes a number of debug trap slots in the ptraced task's thread struct, and it looks to me like this is the right thing to do after a PTRACE_TRACEME request as well, not only after PTRACE_ATTACH. Please correct me if I'm wrong. I want to use this hook on AVR32 to turn the debugging hardware on when a process is actually being debugged and keep it off otherwise. To be able to do this, I need to intercept PTRACE_TRACEME and PTRACE_ATTACH, as well as PTRACE_DETACH and thread exit. The latter two can be handled by existing hooks. Signed-off-by: Haavard Skinnemoen commit 7f0f616bb093823b70855685cf085d39a8784818 Author: Haavard Skinnemoen Date: Wed Nov 28 14:51:44 2007 +0100 [AVR32] Remove redundant try_to_freeze() call from do_signal() get_signal_to_deliver() will call try_to_freeze(), so there's no point in do_signal() doing it as well. Signed-off-by: Haavard Skinnemoen commit 3611553ef985ef7c5863c8a94641738addd04cff Author: Haavard Skinnemoen Date: Thu Jul 5 17:08:09 2007 +0200 [AVR32] Drop GFP_COMP for DMA memory allocations dma_alloc_coherent wants to split pages after allocation in order to reduce the memory footprint. This does not work well with GFP_COMP pages, so drop this flag before allocation. This patch was forward-ported from BSP 2.0 Signed-off-by: Haavard Skinnemoen commit 4a3ad20ccd8f4d2a0535cf98fa83f7b561ba59a9 Author: Greg Kroah-Hartman Date: Thu Jan 24 22:50:12 2008 -0800 Driver core: coding style fixes Fix up a number of coding style issues in the drivers/base/ directory that have annoyed me over the years. checkpatch.pl is now very happy. Signed-off-by: Greg Kroah-Hartman commit e374a2bfebf359f846216336de91670be40499da Author: Greg Kroah-Hartman Date: Thu Jan 24 21:59:04 2008 -0800 Kobject: fix coding style issues in kobject c files Clean up the kobject.c and kobject_uevent.c files to follow the proper coding style rules. Signed-off-by: Greg Kroah-Hartman commit 79a6ee42fd81be9abc6bdab08f932875924b26a5 Author: Greg Kroah-Hartman Date: Thu Jan 24 21:27:06 2008 -0800 Kobject: fix coding style issues in kobject.h Finally clean up the odd spaces and other mess in kobject.h Signed-off-by: Greg Kroah-Hartman commit d462943afee8bff610258a82dba666e8ab72c9c8 Author: Greg Kroah-Hartman Date: Thu Jan 24 21:04:46 2008 -0800 Driver core: fix coding style issues in device.h Finally clean up the odd spaces and other mess in device.h Signed-off-by: Greg Kroah-Hartman commit 5ed2c832ed256b18d90c2462369c62fd79312e6c Author: Dave Young Date: Tue Jan 22 15:14:18 2008 +0800 spi: use class iteration api Convert to use the class iteration api. Signed-off-by: Dave Young Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9c7701088a61cc0cf8a6e1c68d1e74e3cc2ee0b7 Author: Dave Young Date: Tue Jan 22 14:01:34 2008 +0800 scsi: use class iteration api Convert to use the class iteration api. Signed-off-by: Dave Young Cc: James Bottomley Signed-off-by: Greg Kroah-Hartman commit 71da890509fec13d54329485bf5e4ac16b992bb6 Author: Dave Young Date: Tue Jan 22 14:00:34 2008 +0800 rtc: use class iteration api Convert to use the class iteration api. Signed-off-by: Dave Young Cc: Alessandro Zummo Signed-off-by: Greg Kroah-Hartman commit 443cad920a1c6894da3de917ce02a194cc6d80ea Author: Dave Young Date: Tue Jan 22 13:58:22 2008 +0800 power supply : use class iteration api Convert to use the class iteration api. Signed-off-by: Dave Young Cc: Anton Vorontsov Cc: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 73cf60232ef16e1f8a64defa97214a1722db1e6c Author: Dave Young Date: Tue Jan 22 13:56:32 2008 +0800 ieee1394: use class iteration api Convert to use the class iteration api. Signed-off-by: Dave Young Cc: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit fd04897bb20be29d60f7e426a053545aebeaa61a Author: Dave Young Date: Tue Jan 22 15:27:08 2008 +0800 Driver Core: add class iteration api Add the following class iteration functions for driver use: class_for_each_device class_find_device class_for_each_child class_find_child Signed-off-by: Dave Young Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 63b6971a0876b744e2fcf3c9df15d130501e1deb Author: Cornelia Huck Date: Mon Jan 21 16:09:44 2008 +0100 Driver core: Cleanup get_device_parent() in device_add() and device_move() Make setup_parent() void as get_device_parent() will always return either a valid kobject or NULL. Introduce cleanup_glue_dir() to drop reference grabbed on "glue" directory by get_device_parent(). Use it for cleanup in device_move() and device_add() on errors. This should fix the refcounting problem reported in http://marc.info/?l=linux-kernel&m=120052487909200&w=2 Signed-off-by: Cornelia Huck Cc: Dave Young Cc: Gabor Gombas Cc: Tejun Heo Cc: Al Viro Cc: Marcel Holtmann Cc: David Miller Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4f0146919be6bff47b5ea97252bcec0286e4dd19 Author: Jan Engelhardt Date: Tue Jan 22 20:50:54 2008 +0100 UIO: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Greg Kroah-Hartman commit ae72cddb2338bc36b991674a56a7bf70ae104d9e Author: Stephen Rothwell Date: Fri Jan 11 17:24:53 2008 +1100 Driver Core: constify the name passed to platform_device_register_simple This name is just passed to platform_device_alloc which has its parameter declared const. Signed-off-by: Stephen Rothwell Signed-off-by: Greg Kroah-Hartman commit 92b421416f8194aec87b1439487b5544e9ac8187 Author: Randy Dunlap Date: Mon Dec 31 10:05:43 2007 -0800 driver core: fix build with SYSFS=n When SYSFS=n and MODULES=y, build ends with: linux-2.6.24-rc6-mm1/drivers/base/module.c: In function 'module_add_driver': linux-2.6.24-rc6-mm1/drivers/base/module.c:49: error: 'module_kset' undeclared (first use in this function) make[3]: *** [drivers/base/module.o] Error 1 Below is one possible fix. Build-tested with all 4 config combinations of SYSFS & MODULES. Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 9148fe8767dc8612b2e66d11126744d6436cc94e Author: Randy Dunlap Date: Mon Dec 31 10:05:34 2007 -0800 sysfs: make SYSFS_DEPRECATED depend on SYSFS Make SYSFS_DEPRECATED depend on SYSFS since files that check CONFIG_SYSFS_DEPRECATED don't check for CONFIG_SYSFS first. Also don't prompt user about SYSFS_DEPRECATED if SYSFS=n. Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit db1118a460c7bfd20278955cbf56c0b283a9701f Author: Denis Cheng Date: Thu Dec 6 02:24:40 2007 +0800 Driver core: use LIST_HEAD instead of call to INIT_LIST_HEAD in __init LIST_HEAD has been widely used, so switch to this simpler method. Signed-off-by: Denis Cheng Signed-off-by: Greg Kroah-Hartman commit 44bfe16e1083d66f97a5289e359c52ee2c8b19a7 Author: Greg Kroah-Hartman Date: Tue Nov 27 11:28:26 2007 -0800 kobject: add sample code for how to use ksets/ktypes/kobjects This is a more complex example showing how to create a kset and a ktype and some default attributes for a group of kobjects. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 40efcb05f213180b7cc8fd8d963377305f236c28 Author: Greg Kroah-Hartman Date: Tue Nov 27 11:28:26 2007 -0800 kobject: add sample code for how to use kobjects in a simple manner. This is a simple kobject module, showing how to use kobj_attributes in basic and more complex ways. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 36d78d6c5b50ba945bbdee9bf1d8daac00154e02 Author: Greg Kroah-Hartman Date: Tue Nov 27 11:28:26 2007 -0800 kobject: update the kobject/kset documentation This provides a much-needed kobject and kset documentation update. Thanks to Kay Sievers, Alan Stern, Jonathan Corbet, Randy Dunlap, Jan Engelhardt, and others for reviewing and providing help with this document. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 5008743dc7f98dd1ad4f20f4d7ff0b479e78895d Author: Greg Kroah-Hartman Date: Tue Nov 27 11:28:26 2007 -0800 kobject: remove old, outdated documentation. As we are replacing the documentation, it's easier to do this in a two stage pass, delete the old file and add the new one. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit af5ca3f4ec5cc4432a42a73b050dd8898ce8fd00 Author: Kay Sievers Date: Thu Dec 20 02:09:39 2007 +0100 Driver core: change sysdev classes to use dynamic kobject names All kobjects require a dynamically allocated name now. We no longer need to keep track if the name is statically assigned, we can just unconditionally free() all kobject names on cleanup. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 528a4bf1d5ffed310d26fc1d82d45c02949f71cf Author: Greg Kroah-Hartman Date: Thu Dec 20 08:13:05 2007 -0800 Kobject: remove kobject_unregister() as no one uses it anymore There are no in-kernel users of kobject_unregister() so it should be removed. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 78a2d906b40fe530ea800c1e873bfe8f02326f1e Author: Greg Kroah-Hartman Date: Thu Dec 20 08:13:05 2007 -0800 Kobject: convert remaining kobject_unregister() to kobject_put() There is no need for kobject_unregister() anymore, thanks to Kay's kobject cleanup changes, so replace all instances of it with kobject_put(). Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 197b12d6796a3bca187f22a8978a33d51e2bcd79 Author: Greg Kroah-Hartman Date: Thu Dec 20 08:13:05 2007 -0800 Kobject: convert fs/* from kobject_unregister() to kobject_put() There is no need for kobject_unregister() anymore, thanks to Kay's kobject cleanup changes, so replace all instances of it with kobject_put(). Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c10997f6575f476ff38442fa18fd4a0d80345f9d Author: Greg Kroah-Hartman Date: Thu Dec 20 08:13:05 2007 -0800 Kobject: convert drivers/* from kobject_unregister() to kobject_put() There is no need for kobject_unregister() anymore, thanks to Kay's kobject cleanup changes, so replace all instances of it with kobject_put(). Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 38a382ae5dd4f4d04e3046816b0a41836094e538 Author: Greg Kroah-Hartman Date: Thu Dec 20 08:13:05 2007 -0800 Kobject: convert arch/* from kobject_unregister() to kobject_put() There is no need for kobject_unregister() anymore, thanks to Kay's kobject cleanup changes, so replace all instances of it with kobject_put(). Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7a6a41615bfb2f03ce797bc24104c50b42c935e5 Author: Greg Kroah-Hartman Date: Sat Dec 22 21:18:25 2007 -0800 Modules: remove unneeded release function Now that kobjects properly clean up their name structures, no matter if they have a release function or not, we can drop this empty module kobject release function too (it was needed prior to this because of the way we handled static kobject names, we based the fact that if a release function was present, then we could safely free the name string, now we are more smart about things and only free names we have previously set.) Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 0f4dafc0563c6c49e17fe14b3f5f356e4c4b8806 Author: Kay Sievers Date: Wed Dec 19 01:40:42 2007 +0100 Kobject: auto-cleanup on final unref We save the current state in the object itself, so we can do proper cleanup when the last reference is dropped. If the initial reference is dropped, the object will be removed from sysfs if needed, if an "add" event was sent, "remove" will be send, and the allocated resources are released. This allows us to clean up some driver core usage as well as allowing us to do other such changes to the rest of the kernel. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 12e339ac6e31a34fe42396aec8fb1c0b43caf61e Author: Greg Kroah-Hartman Date: Tue Apr 9 12:14:34 2002 -0700 Kset: remove kset_add function No one is calling this anymore, so just remove it and hard-code the one internal-use of it. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 6d06adfaf82d154023141ddc0c9de18b6a49090b Author: Greg Kroah-Hartman Date: Wed Dec 19 11:26:50 2007 -0800 Kobject: remove kobject_register() The function is no longer used by anyone in the kernel, and it prevents the proper sending of the kobject uevent after the needed files are set up by the caller. kobject_init_and_add() can be used in its place. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit f9cb074bff8e762ef24c44678a5a7d907f82fbeb Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: rename kobject_init_ng() to kobject_init() Now that the old kobject_init() function is gone, rename kobject_init_ng() to kobject_init() to clean up the namespace. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e1543ddf739b22a8c4218716ad50c26b3e147403 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: remove kobject_init() as no one uses it anymore The old kobject_init() function is on longer in use, so let us remove it from the public scope (kset mess in the kobject.c file still uses it, but that can be cleaned up later very simply.) Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b2d6db5878a0832659ed58476357eea2db915550 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: rename kobject_add_ng() to kobject_add() Now that the old kobject_add() function is gone, rename kobject_add_ng() to kobject_add() to clean up the namespace. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 9e7bbccd0290e720e0874443932869c55f63d5a8 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: remove kobject_add() as no one uses it anymore The old kobject_add() function is on longer in use, so let us remove it from the public scope (kset mess in the kobject.c file still uses it, but that can be cleaned up later very simply.) Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit ac3c8141f62f357169980ec21b7be6d29964a394 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert kernel/module.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 649316b25b148e57c8ef71748fc69fa6db276ad1 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert drivers/md/md.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Neil Brown Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit d5a379f77bc79c0a78b26f8c0159f55c8b11d68b Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert block/ll_rw_blk.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Jens Axboe Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 29e3dd0df1b9556170ce90484a9d1a2ff9104ea7 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert block/elevator.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Jens Axboe Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit edfaa7c36574f1bf09c65ad602412db9da5f96bf Author: Kay Sievers Date: Mon May 21 22:08:01 2007 +0200 Driver core: convert block from raw kobjects to core devices This moves the block devices to /sys/class/block. It will create a flat list of all block devices, with the disks and partitions in one directory. For compatibility /sys/block is created and contains symlinks to the disks. /sys/class/block |-- sda -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda |-- sda1 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1 |-- sda10 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10 |-- sda5 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5 |-- sda6 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6 |-- sda7 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7 |-- sda8 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8 |-- sda9 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9 `-- sr0 -> ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0 /sys/block/ |-- sda -> ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda `-- sr0 -> ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0 Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 09f82ea92822a7bbb7e816508abbda47ed54a77f Author: Alan Stern Date: Mon Nov 19 10:53:40 2007 -0500 Kobject: drop child->parent ref at unregistration This patch (as1015) reverts changes that were made to the driver core about four years ago. The intent back then was to avoid certain kinds of invalid memory accesses by leaving kernel objects allocated as long as any of their children were still allocated. The original and correct approach was to wait only as long as any children were still _registered_; that's what this patch reinstates. This fixes a problem in the SCSI core made visible by the class_device to regular device conversion: A reference loop (scsi_device holds reference to request_queue, which is the child of a gendisk, which is the child of the scsi_device) prevents the data structures from being released, even though they are deregistered okay. It's possible that this change will cause a few bugs to surface, things that have been hidden for several years. They can be fixed easily enough by having the child device take an explicit reference to the parent whenever needed. Signed-off-by: Alan Stern Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 97c146ef075dc40ae34407c03d3860fc3850b8e8 Author: Kay Sievers Date: Thu Nov 29 23:46:11 2007 +0100 sysfs: fix /sys/module/*/holders after sysfs logic change Sysfs symlinks now require fully registered kobjects as a target, otherwise the call to create a symlink will fail. Here we register the kobject before we request the symlink in the holders directory. Signed-off-by: Kay Sievers Cc: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit da231fd5d113ab6da5dab7a2d2c38d0a540f939c Author: Kay Sievers Date: Wed Nov 21 17:29:15 2007 +0100 Driver core: fix class glue dir cleanup logic We should remove the glue directory between the class and the bus device _after_ we sent out the 'remove' event for the device, otherwise the parent relationship is no longer valid, and composing the path with deleted sysfs entries will not work. Cc: Alan Stern Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit ef2c51746dc89c2326ce522f8fb8a57695780e75 Author: Alan Stern Date: Fri Nov 16 11:57:28 2007 -0500 Driver core: fix race in __device_release_driver This patch (as1013) was suggested by David Woodhouse; it fixes a race in the driver core. If a device is unregistered at the same time as its driver is unloaded, the driver's code pages may be unmapped while the remove method is still running. The calls to get_driver() and put_driver() were intended to prevent this, but they don't work if the driver's module count has already dropped to 0. Instead, the patch keeps the device on the driver's list until after the remove method has returned. This forces the necessary synchronization to occur. Signed-off-by: Alan Stern Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit c8e90d822bff3e0502d004facedb05859f98055f Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/base/bus to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7dc72b2842381684b864750af31a5fb168dec764 Author: Greg Kroah-Hartman Date: Wed Nov 28 23:49:41 2007 -0800 Driver core: clean up debugging messages The driver core debugging messages are a mess. This provides a unified message that makes them actually useful. The format for new kobject debug messages should be: driver/bus/class: 'OBJECT_NAME': FUNCTION_NAME: message.\n Note, the class code is not changed in this patch due to pending patches in my queue that this would conflict with. A later patch will clean them up. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e5dd12784617f0f1fae5f96a7fac1ec4c49fadbe Author: Greg Kroah-Hartman Date: Wed Nov 28 15:59:15 2007 -0800 Driver core: move the static kobject out of struct driver This patch removes the kobject, and a few other driver-core-only fields out of struct driver and into the driver core only. Now drivers can be safely create on the stack or statically (like they currently are.) Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c63469a3985a9771c18a916b8d42845d044ea0b1 Author: Greg Kroah-Hartman Date: Wed Nov 28 12:23:18 2007 -0800 Driver core: move the driver specific module code into the driver core The module driver specific code should belong in the driver core, not in the kernel/ directory. So move this code. This is done in preparation for some struct device_driver rework that should be confined to the driver core code only. This also lets us keep from exporting these functions, as no external code should ever be calling it. Thanks to Andrew Morton for the !CONFIG_MODULES fix. Signed-off-by: Greg Kroah-Hartman commit cbe9c595f1de2e2a98403be2c14bfbc2486e84c4 Author: Greg Kroah-Hartman Date: Wed Dec 19 15:54:39 2007 -0400 Driver: add driver_add_kobj for looney iseries_veth driver The iseries driver wants to hang kobjects off of its driver, so, to preserve backwards compatibility, we need to add a call to the driver core to allow future changes to work properly. Hopefully no one uses this function in the future and the iseries_veth driver authors come to their senses so I can remove this hack... Cc: Dave Larson Cc: Santiago Leon Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 23b9c1ab5baf368a32b7242bf110ef1f48700d04 Author: Greg Kroah-Hartman Date: Tue Dec 4 22:53:16 2007 -0800 Infiniband: make ipath driver use default driver groups. Make the ipath driver use the new driver functions so that it does not touch the sysfs portion of the driver structure. We also remove the redundant symlink from the device back to the driver, as it is already in the sysfs tree. Any userspace tools should be using the standard symlink, not some driver specific one. Cc: Roland Dreier Cc: Bryan O'Sullivan Cc: Arthur Jones Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 0478b83adb0269033221dc063d1185a224681ee8 Author: Cornelia Huck Date: Wed Dec 5 12:50:31 2007 +0100 zfcp: Use device_driver default attribute groups. CC: Swen Schillig Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 5b88feb134e0a7413cb9cb6ba677943615ca56cc Author: Cornelia Huck Date: Wed Dec 5 12:50:28 2007 +0100 netiucv: Use device_driver default attribute groups. CC: Ursula Braun Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 57c745340a60c51d2b9af3d4dcf7e0ede284855b Author: Cornelia Huck Date: Wed Dec 5 12:50:23 2007 +0100 driver core: Introduce default attribute groups. This is lot like default attributes for devices (and indeed, a lot of the code is lifted from there). Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 2b937303188807b498d1a3163f60305f0941538e Author: Greg Kroah-Hartman Date: Wed Nov 28 12:23:18 2007 -0800 PCI: remove foolish code from pci-driver.c The PCI bus should not be trying to declare its own attribute type. Especially as this code could never ever be called because the driver core overwrites the driver kobject type to be its own internal type. Delete all of this code as it was never being used and is not correct. Also update my copyright on the file while I'm touching things there. Signed-off-by: Greg Kroah-Hartman commit 03d43b19b9f56c1d18bc8f2f7890534fbe6a285d Author: Greg Kroah-Hartman Date: Wed Nov 28 12:23:18 2007 -0800 PCI: use proper call to driver_create_file Don't try to call the "raw" sysfs_create_file when we already have a helper function to do this kind of work for us. Signed-off-by: Greg Kroah-Hartman commit 2344c6de6b6f2a4b07e4416aac9522d23e00d7bc Author: Greg Kroah-Hartman Date: Wed Nov 28 12:23:18 2007 -0800 PCMCIA: use proper call to driver_create_file Don't try to call the "raw" sysfs_create_file when we already have a helper function to do this kind of work for us. Signed-off-by: Greg Kroah-Hartman commit 15147ffd57576fc00a23ad8a020ff46493a4f924 Author: Greg Kroah-Hartman Date: Wed Nov 28 12:23:18 2007 -0800 USB: use proper call to driver_create_file Don't try to call the "raw" sysfs_create_file when we already have a helper function to do this kind of work for us. Signed-off-by: Greg Kroah-Hartman commit c6f7e72a3f4641095ade9ded287d910c980c6148 Author: Greg Kroah-Hartman Date: Thu Nov 1 19:41:16 2007 -0700 driver core: remove fields from struct bus_type struct bus_type is static everywhere in the kernel. This moves the kobject in the structure out of it, and a bunch of other private only to the driver core fields are now moved to a private structure. This lets us dynamically create the backing kobject properly and gives us the chance to be able to document to users exactly how to use the struct bus_type as there are no fields they can improperly access. Thanks to Kay for the build fixes on this patch. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b249072ee6897fe4f8d461c7bb4b926223263c28 Author: Greg Kroah-Hartman Date: Thu Nov 1 19:41:16 2007 -0700 driver core: add way to get to bus device klist This allows an easier way to get to the device klist associated with a struct bus_type (you have three to choose from...) This will make it easier to move these fields to be dynamic in a future patch. The only user of this is the PCI core which horribly abuses this interface to rearrange the order of the pci devices. This should be done using the existing bus device walking functions, but that's left for future patches. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 0fed80f7a63abd7168907267af69ee31f6bcf301 Author: Greg Kroah-Hartman Date: Thu Nov 1 19:41:16 2007 -0700 driver core: add way to get to bus kset This allows an easier way to get to the kset associated with a struct bus_type (you have three to choose from...) This will make it easier to move these fields to be dynamic in a future patch. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit cc972e896b303f453f5893ecf8eca0d0e395ab64 Author: Greg Kroah-Hartman Date: Thu Nov 1 13:31:26 2007 -0700 driver core: remove owner field from struct bus_type This isn't used by anything in the driver core, and by no one in the 204 different usages of it in the kernel tree. Remove this field so no one gets any idea that it is needed to be used. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e32cc7366d88eeba12d22272a73dd83fb570ccb0 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert net/bridge/br_if.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Stephen Hemminger Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 1eada11c88251e0a30ce5690d2607bb4293b3564 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert mm/slub.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Christoph Lameter Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit cf15126b3d4511e06e5299781ab74922590900be Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert kernel/user.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e43b9192c59402685bd1f809068dd13aa5931570 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert kernel/params.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a5815ddf26aa8208d4ad79b4fba5e6bf7d5ba688 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert fs/char_dev.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 78be3d2f574bf8a9886550ad07b8124b194badb8 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert drivers/net/iseries_veth.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Kyle A. Lucke Cc: David Gibson Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 9990513c1ef040528c4e38163a073089d39c7903 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert drivers/base/core.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 60728d62e4d273776e9ef9704f9ff8e8a248a8a1 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert drivers/base/class.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 52840bd628707979b5bbcce3c506786d3a69dba0 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: the cris iop_fw_load.c code is broken This code is really really really broken. So much so that it's almost impossible to fix with a simple patch, so just comment out the offending registration with the kobject core, and mark the driver as broken. The problem is that the code is trying to register a "raw" struct device, which is not allowed. struct device is only for use within the driver model. This is being done to try to use the firmware layer which wants a struct device. To properly fix this, use something easy, like a platform device, which is a struct device and can be used for this kind of thing. Cc: Mikael Starvik Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 542eb75a27616bdde95c8d3764e0ab703579f8b5 Author: Greg Kroah-Hartman Date: Wed Dec 19 09:23:20 2007 -0800 Kobject: change arch/x86/kernel/cpu/mcheck/mce_amd_64.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Jacob Shin Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a521cf209c6e7042f85b2c5b16da3ffa8004fb7b Author: Greg Kroah-Hartman Date: Wed Dec 19 09:23:20 2007 -0800 Kobject: change arch/x86/kernel/cpu/mcheck/mce_amd_64.c to use kobject_create_and_add Make this kobject dynamic and convert it to not use kobject_register, which is going away. Cc: Jacob Shin Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 3830c62fef49f8bb1b2f353c7fb9469e3d038f5d Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/md/md.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Neil Brown Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c199790a8bc90c91b88ad1205dee2955401cff81 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change arch/ia64/kernel/topology.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Tony Luck Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 73f368cf679babef42e54f0fe19270040ac9d4d7 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/parisc/pdc_stable.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 8dde2a96c146cc0491beec41fe3bf0477a1f15aa Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/net/ibmveth.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Dave Larson Cc: Santiago Leon Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit d48b335256cd75fcb1a4abb3ce8136d8d9c931cc Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change arch/sh/kernel/cpu/sh4/sq.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 89c426066462263c90957c37af29765855516b83 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/block/pktcdvd.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Jens Axboe Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a77aa28a2db3d134dd387f0f05cd6b6717fb1d28 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/acpi/system.c to use kobject_create_and_add Stop using kobject_register for this static kobject, as it's overkill. This way is much simpler. Cc: Len Brown Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 5b3f355d8fef95901505e924818b3031092453c2 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change arch/x86/kernel/cpu/intel_cacheinfo.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Ashok Raj Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 61030bfb79148b12b661580c8e3c2adfe1d9fc9e Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/base/sys.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 64dbcac3a16d0d22045b2c80d7f208196575486a Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/pci/hotplug/pci_hotplug_core.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Kristen Carlson Accardi Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 94f57f33680922197581b127b3badde7ef658258 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/cpuidle/sysfs.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Shaohua Li Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b2ed215a3338b8b16187be8d136153054118a41e Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/edac to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Acked-by: Doug Thompson Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 038c5b3e412b0b751cb4b1507506bad3c7ffefae Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/cpufreq/cpufreq.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Dominik Brodowski Cc: Ashok Raj Cc: Jacob Shin Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit d6d292c451e0ffe715fff36dc3a1129868258fa3 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/firmware/efivars.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Matt Domsch Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit dd002e807486f9858147c073069a37ba625baad8 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/firmware/edd.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Matt Domsch Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 35be0681983752116a8161ad3b30e830963108a4 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/infiniband to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Roland Dreier Cc: Sean Hefty Cc: Hal Rosenstock Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 901195ed7f4b2f30dc5a36271887939c5d7bfb9f Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change GFS2 to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Steven Whitehouse Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 43b98c4a66760d18d4056beed4078a8dbad193cc Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change net/bridge to use kobject_create_and_add The kobject in the bridge code is only used for registering with sysfs, not for any lifespan rules. This patch changes it to be only a pointer and use the simpler api for this kind of thing. Cc: Stephen Hemminger Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 81e7c6a636c81d9eeaeaa732bfbace44535fab00 Author: Greg Kroah-Hartman Date: Tue Dec 4 22:41:54 2007 +0000 UIO: fix kobject usage The uio kobject code is "wierd". This patch should hopefully fix it up to be sane and not leak memory anymore. Cc: Kay Sievers Cc: Thomas Gleixner Cc: Benedikt Spranger Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 9f66fa2a4690a16da0dbaae2f44ddfc313802504 Author: Greg Kroah-Hartman Date: Wed Nov 28 23:49:41 2007 -0800 kobject: clean up debugging messages The kobject debugging messages are a mess. This provides a unified message that makes them actually useful. The format for new kobject debug messages should be: kobject: 'KOBJECT_NAME' (ADDRESS): FUNCTION_NAME: message.\n Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit cfb36fff45e3997b8044c81045fc4869ba5f281a Author: Greg Kroah-Hartman Date: Wed Nov 28 10:46:22 2007 -0800 kobject: grab the kset reference in kobject_add, not kobject_init kobject_init should not be grabing any references, but only initializing the object. This patch fixes this, and makes the lock hold-time shorter for when a kset is present in the kobject. The current kernel tree has been audited to verify that this change should be safe. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit d76e15fb20eeb7632ef38876a884fe3508b2c01d Author: Greg Kroah-Hartman Date: Tue Nov 27 11:28:26 2007 -0800 driver core: make /sys/power a kobject /sys/power should not be a kset, that's overkill. This patch renames it to power_kset and fixes up all usages of it in the tree. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 37b0c020343080241984d978981d6caf877b278a Author: Greg Kroah-Hartman Date: Mon Nov 26 22:11:55 2007 -0800 driver core: clean up device_shutdown device_shutdown does not need to be in a separate file. Move it into the driver core file where it belongs. This also moves us one more step closer to making devices_kset static, now only the crazy sysdevs are keeping that from happening... Signed-off-by: Greg Kroah-Hartman commit 822a89ed1ea0f7a2d8079307426fbeeac0370138 Author: Greg Kroah-Hartman Date: Tue Nov 20 13:56:21 2007 -0800 driver core: clean up shutdown.c shutdown.c had some stuff it did not need, including a duplicate extern in the power.h file. This cleans up all of that. Signed-off-by: Greg Kroah-Hartman commit c829a5b49858a83cc7bb5e1e730796575f5bb261 Author: Greg Kroah-Hartman Date: Wed Nov 7 13:56:19 2007 -0800 kobject: convert parisc/pdc_stable to use kobject_create Using a kset for this simple directory is an overkill. Cc: Kay Sievers Cc: Thibaut VARENE Cc: Matthew Wilcox Cc: Grant Grundler Cc: Kyle McMartin Signed-off-by: Greg Kroah-Hartman commit bc87d2fe7a1190f1c257af8a91fc490b1ee35954 Author: Greg Kroah-Hartman Date: Wed Nov 7 13:56:19 2007 -0800 kobject: convert efivars to use kobject_create Using a kset for this simple directory is an overkill. Cc: Kay Sievers Cc: Matt Domsch Cc: Matt Tolentino Signed-off-by: Greg Kroah-Hartman commit 6e90aa972dda8ef86155eefcdbdc8d34165b9f39 Author: Greg Kroah-Hartman Date: Tue Nov 6 15:08:08 2007 -0800 kobject: convert ecryptfs to use kobject_create Using a kset for this trivial directory is an overkill. Cc: Kay Sievers Cc: Mike Halcrow Cc: Phillip Hellewell Signed-off-by: Greg Kroah-Hartman commit f55842f2329f4b3a3a6bb98b005bca3cc851d38a Author: Greg Kroah-Hartman Date: Tue Nov 6 15:03:30 2007 -0800 kobject: clean up rpadlpar horrid sysfs abuse rpadlpar pci hotplug driver was doing some pretty bad stuff with the sysfs files. This cleans up the logic to be sane and gets rid of the gratuitous kset that is not needed for a simple directory like this. Note, this patch is not even build tested, let alone run-time tested. Someone with access to this hardware and can test would be greatly appreciated. Cc: Kay Sievers Cc: John Rose Cc: Badari Pulavarty Cc: Kamalesh Babulal Signed-off-by: Greg Kroah-Hartman commit 2fb9113b974c3c7c43e76647bd5077238e274e1c Author: Greg Kroah-Hartman Date: Tue Nov 6 15:03:30 2007 -0800 kobject: remove subsystem_(un)register functions These functions are no longer used and are the last remants of the old subsystem crap. So delete them for good. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 0ff21e46630abce11fdaaffabd72bbd4eed5ac2c Author: Greg Kroah-Hartman Date: Tue Nov 6 10:36:58 2007 -0800 kobject: convert kernel_kset to be a kobject kernel_kset does not need to be a kset, but a much simpler kobject now that we have kobj_attributes. We also rename kernel_kset to kernel_kobj to catch all users of this symbol with a build error instead of an easy-to-ignore build warning. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 5c03c7ab886859eb195440dbb6ccb8c30c4e84cc Author: Greg Kroah-Hartman Date: Fri Nov 2 16:19:59 2007 -0700 kset: remove decl_subsys macro This macro is no longer used. ksets should be created dynamically with a call to kset_create_and_add() not declared statically. Yes, there are 5 remaining static struct kset usages in the kernel tree, but they will be fixed up soon. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 830d3cfb16728e2496edc2985ad8f68025135e37 Author: Greg Kroah-Hartman Date: Tue Nov 6 10:36:58 2007 -0800 kset: convert block_subsys to use kset_create Dynamically create the kset instead of declaring it statically. We also rename block_subsys to block_kset to catch all users of this symbol with a build error instead of an easy-to-ignore build warning. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c60b71787982cefcf9fa09aa281fa8c4c685d557 Author: Greg Kroah-Hartman Date: Fri Nov 2 16:19:59 2007 -0700 kset: convert ocfs2 to use kset_create Dynamically create the kset instead of declaring it statically. Also use the new kobj_attribute which cleans up this file a _lot_. Cc: Kay Sievers Cc: Mark Fasheh Cc: Kurt Hackel Signed-off-by: Greg Kroah-Hartman commit f62ed9e33b3ccff54d66b08f82d11940bb9e269b Author: Greg Kroah-Hartman Date: Mon Nov 5 13:16:15 2007 -0800 firmware: change firmware_kset to firmware_kobj There is no firmware "subsystem" it's just a directory in /sys that other portions of the kernel want to hook into. So make it a kobject not a kset to help alivate anyone who tries to do some odd kset-like things with this. Cc: Kay Sievers Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 15f2f9b3a9db65aaf908fe7ee17bbe262ae3550f Author: Greg Kroah-Hartman Date: Fri Nov 2 16:19:59 2007 -0700 firmware: remove firmware_(un)register() These functions are no longer called or needed, so we can remove them. As I rewrote the whole firmware.c file, add my copyright. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 99e0d2fc6c60ca44f56203eeda9fc0e07b508f06 Author: Greg Kroah-Hartman Date: Fri Nov 2 16:19:59 2007 -0700 kobject: convert /sys/firmware/acpi/ to use kobject_create We don't need a kset here, a simple kobject will do just fine, so dynamically create the kobject and use it. Cc: Kay Sievers Cc: Len Brown Signed-off-by: Greg Kroah-Hartman commit 9651d350ab2c1b9ef1875be2a9def1c375e6503f Author: Greg Kroah-Hartman Date: Fri Nov 2 16:19:59 2007 -0700 kset: convert edd to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Matt Domsch Signed-off-by: Greg Kroah-Hartman commit 000f2a4d8cfc1e1cbc0aa98136015e7ae7719b46 Author: Kay Sievers Date: Fri Nov 2 13:47:53 2007 +0100 Driver Core: kill subsys_attribute and default sysfs ops Remove the no longer needed subsys_attributes, they are all converted to the more sensical kobj_attributes. There is no longer a magic fallback in sysfs attribute operations, all kobjects which create simple attributes need explicitely a ktype assigned, which tells the core what was intended here. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4443d07fcfab39c4d2d9d7711cff983f15b374fc Author: Greg Kroah-Hartman Date: Fri Nov 2 15:25:00 2007 -0700 kset: convert parisc/pdc_stable.c to use kset_create Dynamically create the kset instead of declaring it statically. This makes the kobject attributes now work properly that I broke in the previous patch. Cc: Kay Sievers Cc: Thibaut VARENE Cc: Matthew Wilcox Cc: Grant Grundler Cc: Kyle McMartin Signed-off-by: Greg Kroah-Hartman commit 7f548217860a7cf8a345d87792a07512450dfbff Author: Greg Kroah-Hartman Date: Fri Nov 2 15:25:00 2007 -0700 kobject: convert parisc/pdc_stable to kobj_attr interface This makes the code a bit simpler and and gets us one step closer to deleting the deprecated subsys_attr code. NOTE, this needs the next patch in the series in order to work properly. This will build, but the sysfs files will not properly operate. Cc: Kay Sievers Cc: Thibaut VARENE Cc: Matthew Wilcox Cc: Grant Grundler Cc: Kyle McMartin Signed-off-by: Greg Kroah-Hartman commit d91885bef25be2bab686bed082a5d82e358333b9 Author: Greg Kroah-Hartman Date: Fri Nov 2 17:17:00 2007 -0400 kset: convert s390 ipl.c to use kset_create Dynamically create the kset instead of declaring it statically. This makes the kobject attributes now work properly that I broke in the previous patch. Cc: Kay Sievers Cc: Michael Holzheu Cc: Heiko Carstens Cc: Volker Sameske Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 9b949165bd4a86c536cb92a9ce4367effbde9079 Author: Greg Kroah-Hartman Date: Fri Nov 2 17:17:00 2007 -0400 kobject: convert s390 ipl.c to kobj_attr interface This makes the code a bit simpler and and gets us one step closer to deleting the deprecated subsys_attr code. NOTE, this needs the next patch in the series in order to work properly. This will build, but the sysfs files will not properly operate. Thanks to Cornelia for the build fix on this patch. Cc: Kay Sievers Cc: Michael Holzheu Cc: Heiko Carstens Cc: Volker Sameske Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 79393fc46ede43451a500a132e5de9856f5a4c83 Author: Greg Kroah-Hartman Date: Fri Nov 2 13:20:40 2007 -0700 kobject: convert pseries/power.c to kobj_attr interface This makes the code a bit simpler and and gets us one step closer to deleting the deprecated subsys_attr code. Cc: Kay Sievers Cc: Manish Ahuja Signed-off-by: Greg Kroah-Hartman commit 851324c6ffdf94976b4a925d0684a4faa993b9ca Author: Greg Kroah-Hartman Date: Fri Nov 2 13:20:40 2007 -0700 kobject: convert arm/mach-omap1/pm.c to kobj_attr interface This makes the code a bit simpler and and gets us one step closer to deleting the deprecated subsys_attr code. Cc: Kay Sievers Cc: Cliff Brake Cc: Dirk Behme Signed-off-by: Greg Kroah-Hartman commit 66ac831e03879c3c7dae76f793e6094e407081d2 Author: Greg Kroah-Hartman Date: Fri Nov 2 13:20:40 2007 -0700 kset: convert efivars to use kset_create for the vars sub-subsystem. Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Matt Domsch Cc: Matt Tolentino Signed-off-by: Greg Kroah-Hartman commit 89a07e34b16d9dcdf0a9ada3ca0c9a506b490c8f Author: Greg Kroah-Hartman Date: Fri Nov 2 13:20:40 2007 -0700 kset: convert efivars to use kset_create for the efi subsystem. Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Matt Domsch Cc: Matt Tolentino Signed-off-by: Greg Kroah-Hartman commit 9e5f7f9abe18a4f134585a2de016974cbda80539 Author: Greg Kroah-Hartman Date: Fri Nov 2 13:20:40 2007 -0700 firmware: export firmware_kset so that people can use that instead of the braindead firmware_register interface Needed for future firmware subsystem cleanups. In the end, the firmware_register/unregister functions will be deleted entirely, but we need this symbol so that subsystems can migrate over. Cc: Kay Sievers Cc: Matt Domsch Cc: Matt Tolentino Signed-off-by: Greg Kroah-Hartman commit 334c6307543a2b8af730a422f466d5f9442b606a Author: Greg Kroah-Hartman Date: Fri Nov 2 13:20:40 2007 -0700 kobject: convert efivars to kobj_attr interface This cleans up a lot of code and gets rid of a unneeded macro, and gets us one step closer to deleting the deprecated subsys_attr code. Cc: Kay Sievers Cc: Matt Domsch Cc: Matt Tolentino Signed-off-by: Greg Kroah-Hartman commit 97fa5bb74c26fda93757b94ed248f5dabd4ad3d7 Author: Greg Kroah-Hartman Date: Wed Nov 7 13:56:19 2007 -0800 efivars: make new_var and del_var binary sysfs files These files should not be "normal" sysfs files as they really are binary ones. This patch makes them binary files and saves code in doing so. Cc: Kay Sievers Tested-by: Matt Domsch Cc: Matt Tolentino Signed-off-by: Greg Kroah-Hartman commit af6370ea9268443351d6e931c702dc8162a1c8a1 Author: Greg Kroah-Hartman Date: Fri Nov 2 13:20:40 2007 -0700 ecryptfs: remove version_str file from sysfs This file violates the one-value-per-file sysfs rule. If you all want it added back, please do something like a per-feature file to show what is present and what isn't. Cc: Kay Sievers Cc: Mike Halcrow Cc: Phillip Hellewell Signed-off-by: Greg Kroah-Hartman commit eb41d9465cdafee45e0cb30f3b7338646221908e Author: Kay Sievers Date: Fri Nov 2 13:47:53 2007 +0100 fix struct user_info export's sysfs interaction Clean up the use of ksets and kobjects. Kobjects are instances of objects (like struct user_info), ksets are collections of objects of a similar type (like the uids directory containing the user_info directories). So, use kobjects for the user_info directories, and a kset for the "uids" directory. On object cleanup, the final kobject_put() was missing. Cc: Dhaval Giani Cc: Srivatsa Vaddagiri Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 386f275f5d097758f867bc99ddeaeb7a03b6b190 Author: Kay Sievers Date: Fri Nov 2 13:47:53 2007 +0100 Driver Core: switch all dynamic ksets to kobj_sysfs_ops Switch all dynamically created ksets, that export simple attributes, to kobj_attribute from subsys_attribute. Struct subsys_attribute will be removed. Signed-off-by: Kay Sievers Cc: Mike Halcrow Cc: Phillip Hellewell Signed-off-by: Greg Kroah-Hartman commit 23b5212cc7422f475b82124334b64277b5b43013 Author: Kay Sievers Date: Fri Nov 2 13:47:53 2007 +0100 Driver Core: add kobj_attribute handling Add kobj_sysfs_ops to replace subsys_sysfs_ops. There is no need for special kset operations, we want to be able to use simple attribute operations at any kobject, not only ksets. The whole concept of any default sysfs attribute operations will go away with the upcoming removal of subsys_sysfs_ops. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 6dcec2511ff55b4abaca7ad3433011a7c04c2430 Author: Greg Kroah-Hartman Date: Thu Nov 1 13:31:26 2007 -0700 kset: convert struct bus_device->drivers to use kset_create Dynamically create the kset instead of declaring it statically. Having 3 static kobjects in one structure is not only foolish, but ripe for nasty race conditions if handled improperly. We also rename the field to catch any potential users of it (not that there should be outside of the driver core...) Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 3d8995963dfec66ef6270e729bf75903e9043f9d Author: Greg Kroah-Hartman Date: Thu Nov 1 13:31:26 2007 -0700 kset: convert struct bus_device->devices to use kset_create Dynamically create the kset instead of declaring it statically. Having 3 static kobjects in one structure is not only foolish, but ripe for nasty race conditions if handled improperly. We also rename the field to catch any potential users of it (not that there should be outside of the driver core...) Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 039a5dcd2fc45188a2d522df630db4f7ef903a0f Author: Greg Kroah-Hartman Date: Thu Nov 1 10:39:50 2007 -0700 kset: convert /sys/power to use kset_create Dynamically create the kset instead of declaring it statically. We also rename power_subsys to power_kset to catch all users of the variable and we properly export it so that people don't have to guess that it really is present in the system. The pseries code is wierd, why is it createing /sys/power if CONFIG_PM is disabled? Oh well, stupid big boxes ignoring config options... Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7405c1e15edfe43b137bfbc5882f1af34d6d414d Author: Greg Kroah-Hartman Date: Thu Nov 1 10:39:50 2007 -0700 kset: convert /sys/module to use kset_create Dynamically create the kset instead of declaring it statically. We also rename module_subsys to module_kset to catch all users of the variable. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 081248de0a0288a0ce4e1447a07ccf56aa4fae01 Author: Greg Kroah-Hartman Date: Thu Nov 1 09:29:06 2007 -0600 kset: move /sys/slab to /sys/kernel/slab /sys/kernel is where these things should go. Also updated the documentation and tool that used this directory. Cc: Kay Sievers Acked-by: Christoph Lameter Signed-off-by: Greg Kroah-Hartman commit 27c3a314d55b810f3b51902d1d815c714a7afbd2 Author: Greg Kroah-Hartman Date: Thu Nov 1 09:29:06 2007 -0600 kset: convert slub to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Christoph Lameter Signed-off-by: Greg Kroah-Hartman commit aade4041aa60a3ed335391ba308458e26f2dbc0a Author: Greg Kroah-Hartman Date: Thu Nov 1 09:29:06 2007 -0600 kset: convert /sys/devices/system to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 9b477705360c16198d7a4bd73d199f5a957585b0 Author: Greg Kroah-Hartman Date: Thu Nov 1 09:29:06 2007 -0600 kobject: convert s390 hypervisor to use kobject_create We don't need a kset here, a simple kobject will do just fine, so dynamically create the kobject and use it. Thanks to Cornelia for the build fix. Cc: Kay Sievers Cc: Michael Holzheu Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 2d72fc00a1fb055e6127ccd30cac3f0eafaa98d0 Author: Greg Kroah-Hartman Date: Thu Nov 1 09:29:06 2007 -0600 kobject: convert /sys/hypervisor to use kobject_create We don't need a kset here, a simple kobject will do just fine, so dynamically create the kobject and use it. We also rename hypervisor_subsys to hypervisor_kset to catch all users of the variable. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 881c6cfd7c5edfe6129006e2404654bfe5911050 Author: Greg Kroah-Hartman Date: Thu Nov 1 09:29:06 2007 -0600 kset: convert /sys/devices to use kset_create Dynamically create the kset instead of declaring it statically. We also rename devices_subsys to devices_kset to catch all users of the variable. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b0d78e5549b44b3d64bf8b3ffe95280025ed102e Author: Greg Kroah-Hartman Date: Mon Oct 29 23:22:26 2007 -0500 kset: convert drivers/base/firmware.c to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 443dbf9007854ef2892226615e23b60a35b89697 Author: Greg Kroah-Hartman Date: Mon Oct 29 23:22:26 2007 -0500 kset: convert drivers/base/class.c to use kset_create Dynamically create the kset instead of declaring it statically. The class_obj subsystem is not yet converted as it is more complex and should be going away soon with the removal of class_device from the kernel tree. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 59a548338ac6c9d7549c54278d0f724088585928 Author: Greg Kroah-Hartman Date: Mon Oct 29 23:22:26 2007 -0500 kset: convert drivers/base/bus.c to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit bd35b93d8049ab47b5bfaf6b10ba39badf21d1c3 Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kset: convert kernel_subsys to use kset_create Dynamically create the kset instead of declaring it statically. We also rename kernel_subsys to kernel_kset to catch all users of this symbol with a build error instead of an easy-to-ignore build warning. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e5e38a86c0bbe8475543f10f0a48393a45df5182 Author: Greg Kroah-Hartman Date: Mon Oct 29 23:22:26 2007 -0500 kset: remove decl_subsys_name The last user of this macro (pci hotplug core) is now switched over to using a dynamic kset, so this macro is no longer needed at all. Cc: Kay Sievers Cc: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 81ace5cd8fcb55e144f496af40d4275b03252456 Author: Greg Kroah-Hartman Date: Mon Oct 29 23:22:26 2007 -0500 kset: convert pci hotplug to use kset_create_and_add This also renames pci_hotplug_slots_subsys to pcis_hotplug_slots_kset catch all current users with a build error instead of a build warning which can easily be missed. Cc: Kay Sievers Cc: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit d405936b322220dc5cca9d2b58ef1911ae8efec9 Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kset: convert dlm to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Steven Whitehouse Signed-off-by: Greg Kroah-Hartman commit 136a27507fd09006973f11b17ca971d4c176a06a Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kset: convert gfs2 dlm to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Steven Whitehouse Signed-off-by: Greg Kroah-Hartman commit 9bec101a0c38d559a8c95b44d850cd09a7b4edef Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kset: convert gfs2 to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Steven Whitehouse Signed-off-by: Greg Kroah-Hartman commit 00d2666623368ffd39afc875ff8a2eead2a0436c Author: Greg Kroah-Hartman Date: Mon Oct 29 14:17:23 2007 -0600 kobject: convert main fs kobject to use kobject_create This also renames fs_subsys to fs_kobj to catch all current users with a build error instead of a build warning which can easily be missed. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 917e865df7eb020f20ffc2b4204f282a587df94f Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kset: convert ecryptfs to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Mike Halcrow Cc: Phillip Hellewell Signed-off-by: Greg Kroah-Hartman commit 3794491d0c4b6355c55b0379f003900e57666a97 Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kobject: convert configfs to use kobject_create We don't need a kset here, a simple kobject will do just fine, so dynamically create the kobject and use it. Cc: Kay Sievers Signed-off-by: Joel Becker Signed-off-by: Greg Kroah-Hartman commit 191e186bd0589e28496745275157323a6f7902ca Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kobject: convert debugfs to use kobject_create We don't need a kset here, a simple kobject will do just fine, so dynamically create the kobject and use it. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 69d8e1389551b107b1a8ec70c280cb7a56096666 Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kobject: convert securityfs to use kobject_create We don't need a kset here, a simple kobject will do just fine, so dynamically create the kobject and use it. Cc: Kay Sievers Acked-by: Chris Wright Signed-off-by: Greg Kroah-Hartman commit 5c89e17e9c2bc03ed16320967832b33b174e6234 Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kobject: convert fuse to use kobject_create We don't need a kset here, a simple kobject will do just fine, so dynamically create the kobject and use it. Cc: Kay Sievers Cc: Miklos Szeredi Signed-off-by: Greg Kroah-Hartman commit 43968d2f1648f4dc92437dc0363a3e88377445b3 Author: Greg Kroah-Hartman Date: Mon Nov 5 22:24:43 2007 -0800 kobject: get rid of kobject_kset_add_dir kobject_kset_add_dir is only called in one place so remove it and use kobject_create() instead. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4ff6abff832fbc6cb1d769f6106c841bc2b09f63 Author: Greg Kroah-Hartman Date: Mon Nov 5 22:24:43 2007 -0800 kobject: get rid of kobject_add_dir kobject_create_and_add is the same as kobject_add_dir, so drop kobject_add_dir. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 3f9e3ee9dc3605e5c593b5d708494571fb0d3970 Author: Greg Kroah-Hartman Date: Mon Nov 5 13:16:15 2007 -0800 kobject: add kobject_create_and_add function This lets users create dynamic kobjects much easier. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b727c702896f88d2ff6c3e03bd011d7c3dffe3e1 Author: Greg Kroah-Hartman Date: Thu Sep 27 14:48:53 2007 -0700 kset: add kset_create_and_add function Now ksets can be dynamically created on the fly, no static definitions are required. Thanks to Miklos for hints on how to make this work better for the callers. And thanks to Kay for finding some stupid bugs in my original version and pointing out that we need to handle the fact that kobject's can have a kset as a parent and to handle that properly in kobject_add(). Cc: Kay Sievers Cc: Miklos Szeredi Signed-off-by: Greg Kroah-Hartman commit 12d03da7c19366268bdbc9fb0cd08d719c0cc283 Author: Greg Kroah-Hartman Date: Tue Oct 16 10:11:44 2007 -0600 kobject: remove kobj_set_kset_s as no one is using it anymore What a confusing name for a macro... Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 3514faca19a6fdc209734431c509631ea92b094e Author: Greg Kroah-Hartman Date: Tue Oct 16 10:11:44 2007 -0600 kobject: remove struct kobj_type from struct kset We don't need a "default" ktype for a kset. We should set this explicitly every time for each kset. This change is needed so that we can make ksets dynamic, and cleans up one of the odd, undocumented assumption that the kset/kobject/ktype model has. This patch is based on a lot of help from Kay Sievers. Nasty bug in the block code was found by Dave Young Cc: Kay Sievers Cc: Dave Young Signed-off-by: Greg Kroah-Hartman commit c11c4154e7ff4cebfadad849b1e22689d759c3f4 Author: Greg Kroah-Hartman Date: Mon Dec 3 21:31:08 2007 -0800 kobject: add kobject_init_and_add function Also add a kobject_init_and_add function which bundles up what a lot of the current callers want to do all at once, and it properly handles the memory usages, unlike kobject_register(); Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 244f6cee9a928103132a722292bfa0eb84114b07 Author: Greg Kroah-Hartman Date: Mon Dec 3 21:31:08 2007 -0800 kobject: add kobject_add_ng function This is what the kobject_add function is going to become. Add this to the kernel and then we can convert the tree over to use it. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e86000d042d23904bbb609af2f8618a541cf129b Author: Greg Kroah-Hartman Date: Mon Dec 3 21:31:08 2007 -0800 kobject: add kobject_init_ng function This is what the kobject_init function is going to become. Add this to the kernel and then we can convert the tree over to use it. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 18041f4775688af073d9b3ab0ffc262c1847e60b Author: Greg Kroah-Hartman Date: Mon Dec 3 21:31:08 2007 -0800 kobject: make kobject_cleanup be static No one except the kobject core calls it so make the function static. Signed-off-by: Greg Kroah-Hartman commit 663a47430b361f863b515752a97166a7a4b92d35 Author: Greg Kroah-Hartman Date: Thu Nov 29 18:32:47 2007 -0500 kobject: fix up kobject_set_name to use kvasprintf Kay pointed out that kobject_set_name was being very stupid, doing two allocations for every call, when it should just be using the kernel function kvasprintf() instead. This change adds the internal kobject_set_name_vargs() function, which other follow-on patches will be using. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 15f2bbb28e96e20149548926e5b08551ba140b14 Author: Greg Kroah-Hartman Date: Mon Dec 3 21:16:20 2007 -0700 kobject: convert icom to use kref, not kobject The IBM icom serial driver is using a kobject only for reference counting, nothing else. So switch it to use a kref instead, which is all that is needed, and is much smaller. Cc: Anton Blanchard Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Ryan S. Arnold Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit f7eb12c626d4375faf03039261546bd19c1325fd Author: Greg Kroah-Hartman Date: Wed Nov 28 10:46:22 2007 -0800 kobject: convert hvcs to use kref, not kobject hvcs is using a kobject only for reference counting, nothing else. So switch it to use a kref instead, which is all that is needed, and is much smaller. Cc: Anton Blanchard Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Ryan S. Arnold Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 12b20ded6f980d9161b1c6b062560b65a7295e1c Author: Greg Kroah-Hartman Date: Wed Nov 28 10:46:22 2007 -0800 kobject: convert hvc_console to use kref, not kobject hvc_console is using a kobject only for reference counting, nothing else. So switch it to use a kref instead, which is all that is needed, and is much smaller. Cc: Anton Blanchard Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Ryan S. Arnold Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a045171f875cd61f690981a78ab98fbd137c938b Author: Greg Kroah-Hartman Date: Mon Dec 3 21:16:20 2007 -0700 kobject: convert ibmasm to use kref, not kobject The IBM asm driver is using a kobject only for reference counting, nothing else. So switch it to use a kref instead, which is all that is needed, and is much smaller. Cc: Max Asböck Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit d7b37889650bb316f5c4ad4b0569ba897120d70d Author: Jiri Slaby Date: Wed Nov 21 14:55:19 2007 -0800 sysfs: remove SPIN_LOCK_UNLOCKED SPIN_LOCK_UNLOCKED is deprecated, use DEFINE_SPINLOCK instead Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Cc: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 2f90a851800e88436873c8d27238cf219b9ef48e Author: Kay Sievers Date: Thu Nov 1 20:20:52 2007 +0100 sysfs: create optimal relative symlink targets Instead of walking from the source down to the root of sysfs, and back to the target, we stop at the first directory the source and the target share. This link: /devices/pci0000:00/0000:00:1d.7/usb1/1-0:1.0/ep_81 pointed to: ../../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81 now it just points to: usb_endpoint/usbdev1.1_ep81 Thanks to Denis Cheng for bringing this up, and sending the initial patch. CC: Denis Cheng Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7b8712e563df4fefc25d3107fa3fb3abb7331ff4 Author: Emil Medve Date: Tue Oct 30 14:37:14 2007 -0500 driver core: Make the dev_*() family of macros in device.h complete Removed duplicates defined elsewhere Signed-off-by: Emil Medve Signed-off-by: Greg Kroah-Hartman commit 30a468b1c1b9911ae515ff8972ee10c50cca3021 Author: Greg Kroah-Hartman Date: Mon Oct 15 15:01:24 2007 -0700 ecryptfs: clean up attribute mess It isn't that hard to add simple kset attributes, so don't go through all the gyrations of creating your own object type and show and store functions. Just use the functions that are already present. This makes things much simpler. Note, the version_str string violates the "one value per file" rule for sysfs. I suggest changing this now (individual files per type supported is one suggested way.) Cc: Michael A. Halcrow Cc: Michael C. Thompson Cc: Tyler Hicks Signed-off-by: Greg Kroah-Hartman commit 02ff82cac7ee7351d2649c4a3568f12e4e0fe534 Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 cosa: Convert from class_device to device for cosa sync driver struct class_device is going away, this converts the code to use struct device instead. Signed-off-by: Tony Jones Cc: Jan "Yenya" Kasprzak Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7dd817d083b6fc103b9ea4f2b4f4a1c6a09e29a0 Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 tifm: Convert from class_device to device for TI flash media Signed-off-by: Tony Jones Cc: Alex Dubov Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 6013c12be8313b3205b41912d965b03f3b06147d Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 pktcdvd: Convert from class_device to device for block/pktcdvd struct class_device is going away, this converts the code to use struct device instead. Signed-off-by: Tony Jones Cc: Peter Osterlund Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit aa2758261469374b598e2a6a2702e000a6ab2fbb Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 paride: Convert from class_device to device for block/paride struct class_device is going away, this converts the code to use struct device instead. Signed-off-by: Tony Jones Cc: Tim Waugh Cc: Jens Axboe Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a98894ab02bc9a3e2dc8cccab55d7ed200d3b05f Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 mtd: Convert from class_device to device for MTD/mtdchar struct class_device is going away, this converts the code to use struct device instead. Signed-off-by: Tony Jones Cc: David Woodhouse Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 0c55445f201841bfd6c658c47df8311b6722f002 Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 MCP_UCB1200: Convert from class_device to device struct class_device is going away, this converts the code to use struct device instead. Signed-off-by: Tony Jones Cc: Russell King Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 68db2bc98cc1594a1cc487755aff4340fd4f1611 Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 adb: Convert from class_device to device struct class_device is going away, this converts the code to use struct device instead. Signed-off-by: Tony Jones Cc: Joshua Thompson Cc: Benjamin Herrenschmidt Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit d78b03683a6f96645d265abdd5c556547dc76d70 Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 ISDN: Convert from class_device to device for ISDN capi Signed-off-by: Tony Jones Cc: Kay Sievers Acked-by: Karsten Keil Signed-off-by: Greg Kroah-Hartman commit dbc1272ed4a9ce45ecc50e7ea7d52e7413eb1a4f Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 IDE: Convert from class_device to device for ide-tape Signed-off-by: Tony Jones Cc: Gadi Oxman Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 891f78ea833edd4a1e524e15bfe297a7a84d81a0 Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 DMA: Convert from class_device to device for DMA engine Signed-off-by: Tony Jones Signed-off-by: Dan Williams Cc: Shannon Nelson Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 62ca8792560e5bd7dc09f54ed3523a7864f416c7 Author: Kay Sievers Date: Tue Sep 25 02:03:03 2007 +0200 coda: convert struct class_device to struct device Signed-off-by: Kay Sievers Cc: Tony Jones Cc: Jan Harkes Signed-off-by: Greg Kroah-Hartman commit 7ea7ed01ff741918532978b30f6f226ed6f78476 Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 aoechr: Convert from class_device to device Signed-off-by: Tony Jones Cc: Jens Axboe Cc: Sam Hopkins Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 41ca28ab2abd76dc203e2c3a7cd609607cb927c3 Author: Evgeniy Polyakov Date: Mon Dec 10 23:03:43 2007 +0300 kref: add kref_set() This adds kref_set() to the kref api for future use by people who really know what they are doing with krefs... From: Evgeniy Polyakov Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 775b64d2b6ca37697de925f70799c710aab5849a Author: Rafael J. Wysocki Date: Sat Jan 12 20:40:46 2008 +0100 PM: Acquire device locks on suspend This patch reorganizes the way suspend and resume notifications are sent to drivers. The major changes are that now the PM core acquires every device semaphore before calling the methods, and calls to device_add() during suspends will fail, while calls to device_del() during suspends will block. It also provides a way to safely remove a suspended device with the help of the PM core, by using the device_pm_schedule_removal() callback introduced specifically for this purpose, and updates two drivers (msr and cpuid) that need to use it. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 7a83d456a86d559a6347115d206d23774bc152d9 Author: Greg Kroah-Hartman Date: Wed Oct 24 21:52:56 2007 -0700 kobject: remove incorrect comment in kobject_rename As pointed out by Kay. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b1c7192df1b089ed654c76fbf14d7f7dbf4b9616 Author: Robert P. J. Day Date: Wed Nov 7 04:09:46 2007 -0500 Documentation: Replace obsolete "driverfs" with "sysfs". Signed-off-by: Robert P. J. Day commit 20fd1e3bea554620d489f3542496639c1babe0b3 Author: Frank Seidel Date: Fri Nov 9 14:49:23 2007 +0100 nozomi driver This is a driver to control the cardbus wireless data card that works on 3g networks. Greg Kroah-Hartman did the initial driver cleanup. Thanks to Arnaud Patard for help with bugfixing. Thanks to Alan Cox for a lot of tty fixes. Thanks to Satyam Sharma for fixing buildbreakage. Thanks to Frank Seidel for a lot of bugfixes and rewriting to make it a sane Linux driver Thanks to Jiri Slaby for a lot bugfixes, cleanups and rewrites that make it much more readable. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Frank Seidel Signed-off-by: Jiri Slaby commit 9fd5b1c906a9b4b0efb24cb2b4d20c678ff26122 Author: Jean Delvare Date: Tue Jan 8 18:11:24 2008 +0100 sysfs: Fix a copy-n-paste typo in comment Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 463e526083fdaa284eaea45b53bb917ed3c72900 Author: Zhang Le Date: Tue Jan 8 00:59:16 2008 +0800 Chinese: add translation of Codingstyle Signed-off-by: Zhang Le Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 22033d38bca82a4a511450562086c69f5dc457ee Author: Li Yang Date: Wed Oct 24 01:04:21 2007 +0800 Chinese: add translation of sparse.txt Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit c642ecf874028c9f41d18d59a9d663c2a954cc45 Author: Bryan Wu Date: Wed Oct 24 01:00:23 2007 +0800 Chinese: add translation of volatile-considered-harmful.txt Signed-off-by: Bryan Wu Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 6941ee8896bfc462c3e3ad113c769a57ecbf3b2a Author: TripleX Chung Date: Wed Oct 24 00:57:24 2007 +0800 Chinese: add translation of stable_kernel_rules.txt Signed-off-by: TripleX Chung Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit d1a1d45142ed3969b3cc3964f81e4249f9e49fbf Author: Dave Young Date: Wed Oct 24 01:14:29 2007 +0800 Chinese: add translation of oops-tracing.txt Signed-off-by: Dave Young Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 09792200e465db0861dee25bdecfc55278907ed3 Author: Li Yang Date: Wed Oct 24 00:51:11 2007 +0800 Chinese: add translation of SubmittingDrivers Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 12428e7626378dec7968cd4f5df9aab2ee58e735 Author: TripleX Chung Date: Wed Oct 24 00:46:43 2007 +0800 Chinese: add translation of SubmittingPatches Signed-off-by: TripleX Chung Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 5dae82cc186da487cf33d7f5648a9ab3e02eaee4 Author: Li Yang Date: Tue Oct 23 21:58:51 2007 +0800 Chinese: Change man-pages maintainer address in HOWOTO The email address of the man-pages maintainer has changed. Cc: Michael Kerrisk Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 24277db3894941026662743e400e77c68c4a9e92 Author: Li Yang Date: Wed Jul 25 02:43:32 2007 +0800 Chinese: rephrase English introduction in HOWTO Rephrase the introduction as suggested by Jesper Juhl. Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 6b2cb91efce215c3c34b1b79b15f30e860761a3e Author: Li Yang Date: Wed Jul 25 02:03:06 2007 +0800 Chinese: Add the known_regression URI to the HOWTO Update translation for commit be3884943674f8ee7656b1d8b71c087ec900c836. Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 6d5ae0deb1641bf615eafd8fef64218e10cb2fd0 Author: Igor Mammedov Date: Fri Jan 25 03:28:31 2008 +0000 [CIFS] DFS support: provide shrinkable mounts Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit 2e08c0c1c3977a5ddc88887dd3af1b26c433e9d0 Author: Eamon Walsh Date: Thu Jan 24 15:30:52 2008 -0500 selinux: make mls_compute_sid always polyinstantiate This patch removes the requirement that the new and related object types differ in order to polyinstantiate by MLS level. This allows MLS polyinstantiation to occur in the absence of explicit type_member rules or when the type has not changed. Potential users of this support include pam_namespace.so (directory polyinstantiation) and the SELinux X support (property polyinstantiation). Signed-off-by: Eamon Walsh Acked-by: Stephen Smalley Signed-off-by: James Morris commit 1996a10948e50e546dc2b64276723c0b64d3173b Author: Jan Engelhardt Date: Wed Jan 23 00:02:58 2008 +0100 security/selinux: constify function pointer tables and fields Constify function pointer tables and fields. Signed-off-by: Jan Engelhardt Signed-off-by: James Morris commit 63cb34492351078479b2d4bae6a881806a396286 Author: David Howells Date: Tue Jan 15 23:47:35 2008 +0000 security: add a secctx_to_secid() hook Add a secctx_to_secid() LSM hook to go along with the existing secid_to_secctx() LSM hook. This patch also includes the SELinux implementation for this hook. Signed-off-by: Paul Moore Acked-by: Stephen Smalley Signed-off-by: James Morris commit c43e259cc756ece387faae849af0058b56d78466 Author: James Morris Date: Sat Jan 12 22:05:48 2008 +1100 security: call security_file_permission from rw_verify_area All instances of rw_verify_area() are followed by a call to security_file_permission(), so just call the latter from the former. Acked-by: Eric Paris Signed-off-by: James Morris commit bced95283e9434611cbad8f2ff903cd396eaea72 Author: H. Peter Anvin Date: Sat Dec 29 16:20:25 2007 -0800 security: remove security_sb_post_mountroot hook The security_sb_post_mountroot() hook is long-since obsolete, and is fundamentally broken: it is never invoked if someone uses initramfs. This is particularly damaging, because the existence of this hook has been used as motivation for not using initramfs. Stephen Smalley confirmed on 2007-07-19 that this hook was originally used by SELinux but can now be safely removed: http://marc.info/?l=linux-kernel&m=118485683612916&w=2 Cc: Stephen Smalley Cc: James Morris Cc: Eric Paris Cc: Chris Wright Signed-off-by: H. Peter Anvin Signed-off-by: James Morris commit 42d7896ebc5f7268b1fe6bbd20f2282e20ae7895 Author: James Morris Date: Wed Dec 26 15:12:37 2007 +1100 Security: remove security.h include from mm.h Remove security.h include from mm.h, as it is only needed for a single extern declaration, and pulls in all kinds of crud. Fine-by-me: David Chinner Acked-by: Eric Paris Signed-off-by: James Morris commit 88c3f7a8f2c86be264d326cf6f49a3e8c30d13a6 Author: Richard Knutsson Date: Sat Dec 8 12:02:48 2007 +0100 Security: remove security_file_mmap hook sparse-warnings (NULL as 0). Fixing: CHECK mm/mmap.c mm/mmap.c:1623:29: warning: Using plain integer as NULL pointer mm/mmap.c:1623:29: warning: Using plain integer as NULL pointer mm/mmap.c:1944:29: warning: Using plain integer as NULL pointer Signed-off-by: Richard Knutsson Signed-off-by: James Morris commit c9180a57a9ab2d5525faf8815a332364ee9e89b7 Author: Eric Paris Date: Fri Nov 30 13:00:35 2007 -0500 Security: add get, set, and cloning of superblock security information Adds security_get_sb_mnt_opts, security_set_sb_mnt_opts, and security_clont_sb_mnt_opts to the LSM and to SELinux. This will allow filesystems to directly own and control all of their mount options if they so choose. This interface deals only with option identifiers and strings so it should generic enough for any LSM which may come in the future. Filesystems which pass text mount data around in the kernel (almost all of them) need not currently make use of this interface when dealing with SELinux since it will still parse those strings as it always has. I assume future LSM's would do the same. NFS is the primary FS which does not use text mount data and thus must make use of this interface. An LSM would need to implement these functions only if they had mount time options, such as selinux has context= or fscontext=. If the LSM has no mount time options they could simply not implement and let the dummy ops take care of things. An LSM other than SELinux would need to define new option numbers in security.h and any FS which decides to own there own security options would need to be patched to use this new interface for every possible LSM. This is because it was stated to me very clearly that LSM's should not attempt to understand FS mount data and the burdon to understand security should be in the FS which owns the options. Signed-off-by: Eric Paris Acked-by: Stephen D. Smalley Signed-off-by: James Morris commit 19c5fc198c369bb00f3ed9716ef40648865d8d94 Author: Joe Perches Date: Mon Nov 19 17:53:44 2007 -0800 security/selinux: Add missing "space" Add missing space. Signed-off-by: Joe Perches Signed-off-by: James Morris commit 5c5e32ceeb6b64496a1842d5d99e4ac8d20166c4 Author: Miklos Szeredi Date: Thu Jan 24 16:13:21 2008 -0600 mount options: fix jfs Add iocharset= and errors= options to /proc/mounts for jfs filesystems. Signed-off-by: Miklos Szeredi Signed-off-by: Dave Kleikamp commit a3d2c2e8f5e01e185013d8f944c0a26fdc558ad8 Author: FUJITA Tomonori Date: Wed Jan 23 23:34:35 2008 +0900 [SCSI] ch: handle class_device_create failure properly When class_device_create fails, ch_probe needs to fail too. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit a43cf0f3511585493e3c948f7ec62f659486d0b3 Author: Randy Dunlap Date: Tue Jan 22 21:39:33 2008 -0800 [SCSI] NCR5380: fix section mismatch Many release() methods that are not __exit or __devexit call this __devexit function, so remove its "__devexit" attribute. scsi/g_NCR5380.c: WARNING: vmlinux.o(.text+0xadaf8c): Section mismatch: reference to .exit.text:NCR5380_exit (between 'generic_NCR5380_release_resources' and 'generic_NCR5380_biosparam') WARNING: vmlinux.o(.text+0xadd18c): Section mismatch: reference to .exit.text:NCR5380_exit (between 'generic_NCR5380_release_resources' and 'generic_NCR5380_biosparam') scsi/pas16.c, seagate.c: WARNING: vmlinux.o(.text+0xb29e91): Section mismatch: reference to .exit.text:NCR5380_exit (between 'pas16_release' and 'seagate_st0x_info') t128.c: WARNING: vmlinux.o(.text+0xb2a774): Section mismatch: reference to .exit.text:NCR5380_exit (between 't128_release' and 't128_biosparam') dtc.c, sym2/sym_fw.c: WARNING: vmlinux.o(.text+0xb2f215): Section mismatch: reference to .exit.text:NCR5380_exit (between 'dtc_release' and 'sym_fw1_patch') Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 53474c042c0e1be39557474c945ad4a8e653ad46 Author: Tony Battersby Date: Tue Jan 22 15:25:49 2008 -0500 [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices The patch "[SCSI] sg: use idr to replace static arrays" in 2.6.24-rc1 causes a bogus line to appear in /proc/scsi/sg/devices containing "-1 -1 -1 -1 -1 -1 -1 -1 -1" when there are no SCSI devices in the system. In 2.6.23, /proc/scsi/sg/devices is empty when there are no SCSI devices in the system. A similar problem exists with /proc/scsi/sg/device_strs. The following patch restores the behavior of 2.6.23. Signed-off-by: Tony Battersby Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 90c18f3c280f80e0bfbab7c1fc4b282842ccb853 Author: Erez Zilber Date: Tue Jan 22 12:06:25 2008 +0200 [SCSI] IB/iSER: add logical unit reset support eh_device_reset_handler was already added to scsi_host_template in iscsi_tcp, and is now added also for iscsi_iser. Signed-off-by: Erez Zilber Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5b7f16804ad90e7f7a10c05b6a2e782598d9745a Author: James Bottomley Date: Sun Jan 20 09:28:24 2008 -0600 [SCSI] don't use __GFP_DMA for sense buffers if not required Only hosts which actually have ISA DMA requirements need sense buffers coming out of ZONE_DMA, so only use the __GFP_DMA flag for that case to avoid allocating this scarce resource if it's not necessary. [tomo: fixed slab leak in failure case] Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit de25deb18016f66dcdede165d07654559bb332bc Author: FUJITA Tomonori Date: Wed Jan 16 13:32:17 2008 +0900 [SCSI] use dynamically allocated sense buffer This removes static array sense_buffer in scsi_cmnd and uses dynamically allocated sense_buffer (with GFP_DMA). The reason for doing this is that some architectures need cacheline aligned buffer for DMA: http://lkml.org/lkml/2007/11/19/2 The problems are that scsi_eh_prep_cmnd puts scsi_cmnd::sense_buffer to sglist and some LLDs directly DMA to scsi_cmnd::sense_buffer. It's necessary to DMA to scsi_cmnd::sense_buffer safely. This patch solves these issues. __scsi_get_command allocates sense_buffer via kmem_cache_alloc and attaches it to a scsi_cmnd so everything just work as before. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit b30c2fc1113edfb2371427c10503ff942b0a0370 Author: James Bottomley Date: Sun Jan 20 09:09:40 2008 -0600 [SCSI] scsi.h: add macro for enclosure bit of inquiry data The macro tells us whether the device is (or contains) an enclosure device. Signed-off-by: James Bottomley commit a0899d4df534d2bcf671b0f647b809842309a9ae Author: Hans de Goede Date: Sun Jan 20 11:12:26 2008 +0100 [SCSI] sd: add fix for devices with last sector access problems This patch adds a new scsi_device flag (last_sector_bug) for devices which contain a bug where the device crashes when the last sector is read in a larger then 1 sector read. This is for example the case with sdcards in the HP PSC1350 printer cardreader and in the HP PSC1610 printer cardreader. Signed-off-by: Hans de Goede Signed-off-by: James Bottomley commit b523381e325366cc54a2548df418c2a427b2f2ee Author: James Bottomley Date: Fri Jan 18 17:47:56 2008 -0600 [SCSI] fix pcmcia compile problem This patch commit 8ae732a91df051aba6820068a47b631a06599d84 Author: Tejun Heo Date: Fri Dec 7 22:36:23 2007 +0900 [SCSI] make pcmcia directory use obj-y|m instead of subdir-y|m Moved the scsi Makefile into conformance, but also caused the pcmcia subdirectory to get built in for the first time, leading to duplicate symbols in an allyesconfig build. Since evidently no-one relies on these being built in, fix this by ensuring they can only be built as modules. Acked-by: Tejun Heo Signed-off-by: James Bottomley commit cb1042f285c2168bd8cf10aca0e24802e682252b Author: Salyzyn, Mark Date: Thu Jan 17 09:25:07 2008 -0800 [SCSI] aacraid: add Voodoo Lite class of cards. The cards being added are supported in a limited sense already through family matching, but we needed to add some functionality to the driver to expose selectively the physical drives. These Physical drives are specifically marked to not be part of any array and thus are declared JBODs (Just a Bunch Of Drives) for generic SCSI access. We report that this is the second patch in a set of two, but merely depends on the stand-alone functionality of the first patch which adds in that case the ability to report a driver feature flag via sysfs. We leverage that functionality by reporting that this driver now supports this new JBOD feature for the controller so that the array management applications may react accordingly and guide the user as they manage the controller. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 2ca39c48ea0d2fd265479d0b62f2ac8878900360 Author: Salyzyn, Mark Date: Thu Jan 17 09:24:56 2008 -0800 [SCSI] aacraid: add new driver features flags Feature enhancement, adding a 'flags' entry that will reside in the host controller's tree, with a newline separated list of arbitrary ascii named features that indicate whether the combination of driver and controller has support for said feature. Breaking from the one-line output typical of sysfs entries, newline was added to tailor for grep, or simple gets line by line string match within an application. I added one for a compiler time check for existence of debug print output, one for an optional manifest defined enhanced status reporting in the logs, and one for runtime reporting whether the controller and driver supports arrays larger than 2TB. Adaptec's storage management software uses the last flag to determine whether to make available the creation of arrays larger than 2TB, otherwise a warning is posted. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 0c27f5bd00aba65a2a3313859ebce1c77c90000e Author: Andrew Vasquez Date: Thu Jan 17 09:02:20 2008 -0800 [SCSI] qla2xxx: Update version number to 8.02.00-k7. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c48339decceec8e011498b0fc4c7c7d8b2ea06c1 Author: Seokmann Ju Date: Thu Jan 17 09:02:19 2008 -0800 [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command. There is a case where 54xx HBA loads MID firmware as it use 24xx firmware. In this case, the driver should issue MBC_MID_INITIALIZE FIRMWARE even though the HBA doesn't support NPIV. This patch make changes in the driver so that could behave accordingly. Signed-off-by: Seokmann Ju Signed-off-by: James Bottomley commit fc44765f5a232d451fa58a04606b254ac257b429 Author: Andrew Vasquez Date: Thu Jan 17 09:02:18 2008 -0800 [SCSI] qla2xxx: Correct late-memset() of EFT buffer. Original code would clear the buffer after the firmware had already been initialized to use the buffer, thus potentially and inadvertantly clearing data previously DMA'd by the firmware. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit df613b96077cee826b14089ae6e75eeabf71faa3 Author: Andrew Vasquez Date: Thu Jan 17 09:02:17 2008 -0800 [SCSI] qla2xxx: Add Fibre Channel Event (FCE) tracing support. FCE support enables the firmware to record FC extended link services and basic link services frames which have been transmitted and received by the ISP. This allows for a limited view of the FC traffic through the ISP without using a FC analyzer. This can be useful in situations where a physical connection to the FC bus is not possible. The driver exports this information in two ways -- first, via a debugfs node exported for all supported ISPs under: /qla2xxx/qla2xxx_/fce where a read of the 'fce' file will provide a snapshot of the firmware's FCE buffer; and finally, the FCE buffer will be extracted during a firmware-dump scenario. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 00b6bd25166e2a4bad23c614c10c55993bb2489e Author: Andrew Vasquez Date: Thu Jan 17 09:02:16 2008 -0800 [SCSI] qla2xxx: Trace-Control naming cleanups. In preparation for FCE (Fibre Channel Event) tracing support. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit a824ebb37c1a1c5fd8e19b47bf5c14cb7b419b48 Author: Adrian Bunk Date: Thu Jan 17 09:02:15 2008 -0800 [SCSI] qla2xxx: Code cleanups. - make the following needlessly global code static: - qla_attr.c: qla24xx_vport_delete() - qla_attr.c: qla24xx_vport_disable() - qla_mid.c: qla24xx_allocate_vp_id() - qla_mid.c: qla24xx_find_vhost_by_name() - qla_mid.c: qla2x00_do_dpc_vp() - qla_os.c: struct qla2x00_driver_template - qla_os.c: qla2x00_stop_timer() - qla_os.c: qla2x00_mem_alloc() - qla_os.c: qla2x00_mem_free() - qla_sup.c: qla2x00_lock_nvram_access() - qla_sup.c: qla2x00_unlock_nvram_access() - qla_sup.c: qla2x00_get_nvram_word() - qla_sup.c: qla2x00_write_nvram_word() - #if 0 the following unused global functions: - qla_mbx.c: qla2x00_system_error() - qla_os.c: remove some unneeded function prototypes - removed unused functions: - qla_dbg.c: qla2x00_dump_pkt() - qla_mbx.c: qla2x00_get_serdes_params() - qla_mbx.c: qla2x00_get_idma_speed() - qla_mbx.c: qla24xx_get_vp_database() - qla_mbx.c: qla24xx_get_vp_entry() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Small modifications and Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 50db6b134c31351a03cec9d2a7f9e61f63a5ce9f Author: Seokmann Ju Date: Thu Jan 17 09:02:14 2008 -0800 [SCSI] qla2xxx: Add a filter to compare port_name against the physical on vport creation. During vport creation, there was a possibility to get create a vport with same port_name as pport. A new filter has added to compare given port_name with the port_name of the pport. Signed-Off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 0b05a1f0d68bf4714c37aa7843c31df1866b017a Author: Marcus Barrow Date: Thu Jan 17 09:02:13 2008 -0800 [SCSI] qla2xxx: Use completion routines. Instead of abusing the semaphore interfaces for mailbox command completions. Additional cleanups and Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit a4722cf24d7a0dfa0874d49f61b053a6459761bf Author: Andrew Vasquez Date: Thu Jan 17 09:02:12 2008 -0800 [SCSI] qla2xxx: Don't schedule the DPC routine to perform an issue-lip request. As the driver depends on the DPC routine to handle bottom-half loop resynchronization in order to recover from the issue-lip request. The issue_lip call is sleeping context capable, so just issue the reset function there. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit da7429f9ab5ba939cec37d07ef7f6a630fe48421 Author: Andrew Vasquez Date: Thu Jan 17 09:02:11 2008 -0800 [SCSI] qla2xxx: Restrict MSI/MSI-X enablement on select ISP2432-type HBAs. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6f13fd57cd84c06cea6c4b6d61517a4350820a9f Author: Andrew Vasquez Date: Thu Jan 17 09:02:10 2008 -0800 [SCSI] qla2xxx: Wait for FLASH write-protection to complete after a write. Some flash parts have a slow enable write-protection (WP) operation whereby subsequent FLASH accesses would fail if the WP operation had not completed. Software now polls the SPI's status-register for WP completion. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 3776541d8a46347a4924353a192c6ce4a3d04e2e Author: Andrew Vasquez Date: Thu Jan 17 09:02:09 2008 -0800 [SCSI] qla2xxx: Fix for 32-bit platforms with 64-bit resources. The driver stores the contents of PCI resources into unsigned long's before ioremapping. This breaks on 32-bit platforms which support 64-bit MMIO resources. Correct code by removing the temporary variables used during MMIO PIO mapping and using resource_size_t where applicable. Also correct a small typo in a printk() where the wrong region number was displayed. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 43ef058010c79a967195539bbcdeee8c5b24219d Author: Andrew Vasquez Date: Thu Jan 17 09:02:08 2008 -0800 [SCSI] qla2xxx: Retrieve additional HBA port statistics from recent ISPs. HBAs supporting these additional counters include ISP24xx and ISP25xx type boards. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 4733fcb1fe4d64402a8bd18cec766e8b8ad25eee Author: Andrew Vasquez Date: Thu Jan 17 09:02:07 2008 -0800 [SCSI] qla2xxx: Consolidate duplicate sense-data handling codes. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit fd66c1b4e491a2a17d7a420fa38fd04b0e8d36c1 Author: Kai Makisara Date: Thu Jan 17 22:45:22 2008 +0200 [SCSI] st: convert to unlocked_ioctl Convert st to unlocked_ioctl. The necessary locking was already in place. Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit 8ce3eca4dc8161e030a055bde94cde28476e0894 Author: Salyzyn, Mark Date: Wed Jan 16 07:39:06 2008 -0800 [SCSI] aacraid: remove pigs in space I was amazed at how much embedded space was present in the aacraid driver source files. Just selected five files from the set to clean up for now and the attached patch swelled to 73K in size! - Removed trailing space or tabs - Removed spaces embedded within tabs - Replaced leading 8 spaces with tabs - Removed spaces before ) - Removed ClusterCommand as it was unused (noticed it as one triggered by above) - Replaced scsi_status comparison with 0x02, to compare against SAM_STATUS_CHECK_CONDITION. - Replaced a long series of spaces with tabs - Replaced some simple if...defined() with ifdef/ifndef Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit d07e03610ca1f4be373f32ad5b25ac00dbdb867d Author: FUJITA Tomonori Date: Tue Jan 15 13:18:00 2008 +0900 [SCSI] sg: handle class_device_create failure properly Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit a24484f281dda11e4fc0041a51907d3564da3d7f Author: FUJITA Tomonori Date: Tue Jan 15 13:17:47 2008 +0900 [SCSI] sg: set class_data after success If cdev_add fails in sg_add, sg_remove crashes since class_data is bogus. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit d814c5173c671cf2c88d4e07db01b13312467ecd Author: Salyzyn, Mark Date: Mon Jan 14 11:04:40 2008 -0800 [SCSI] dpt_i2o: use constant instead of bare value 0x02 becomes SAM_STAT_CHECK_CONDITION Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit f7fea185d2998dc4c902ec47834ab6db28fe0029 Author: Mathieu Segaud Date: Mon Jan 14 15:43:18 2008 +0100 [SCSI] ch: Convert to use unlocked_ioctl As of now, compat_ioctl already runs without the BKL, whereas ioctl runs with the BKL. This patch first converts changer_fops to use a .unlocked_ioctl member. It applies the same locking rationale than ch_ioctl_compat() uses to ch_ioctl(). Signed-off-by: Mathieu Segaud Reviewed-by: Matthew Wilcox Signed-off-by: James Bottomley commit eaa3e22e8d32bf7a6176f04efad90f4a5aa67f58 Author: Andi Kleen Date: Sun Jan 13 17:41:43 2008 +0100 [SCSI] sg: Only print SCSI data direction warning once for a command When I use cdparanoia my logs get spammed a lot by printk: 464 messages suppressed. sg_write: data in/out 30576/30576 bytes for SCSI command 0xbe--guessing data in; program cdparanoia not setting count and/or reply_len properly printk: 1078 messages suppressed. and many more of those. With this patch the message is only printed once for a command in a row. v1->v2: Prevent rate limit messages too (pointed out by jejb) Signed-off-by: Andi Kleen Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit d496f94d22d1491ffb25f4000e85f7a4ecf7f2c4 Author: Alan Cox Date: Wed Nov 7 23:58:10 2007 +0000 [SCSI] aacraid: fix security weakness Actually there are several but one is trivially fixed 1. FSACTL_GET_NEXT_ADAPTER_FIB ioctl does not lock dev->fib_list but needs to 2. Ditto for FSACTL_CLOSE_GET_ADAPTER_FIB 3. It is possible to construct an attack via the SRB ioctls where the user obtains assorted elevated privileges. Various approaches are possible, the trivial ones being things like writing to the raw media via scsi commands and the swap image of other executing programs with higher privileges. So the ioctls should be CAP_SYS_RAWIO - at least all the FIB manipulating ones. This is a bandaid fix for #3 but probably the ioctls should grow their own capable checks. The other two bugs need someone competent in that driver to fix them. Signed-off-by: Alan Cox Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 3ace426f9575dd112252d72baaee4554fcb2e450 Author: Salyzyn, Mark Date: Mon Jan 14 07:25:33 2008 -0800 [SCSI] aacraid: replace ' Signed-off-by: James Bottomley commit b80ca4f7ee36c26d300c5a8f429e73372d153379 Author: FUJITA Tomonori Date: Sun Jan 13 15:46:13 2008 +0900 [SCSI] replace sizeof sense_buffer with SCSI_SENSE_BUFFERSIZE This replaces sizeof sense_buffer with SCSI_SENSE_BUFFERSIZE in several LLDs. It's a preparation for the future changes to remove sense_buffer array in scsi_cmnd structure. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 94aa5e5f6251ca0e1d77e083f8c2f9f40ee548c5 Author: FUJITA Tomonori Date: Sun Jan 13 15:46:12 2008 +0900 [SCSI] aic7xxx_old, eata_pio, ips, libsas: don't zero out sense_buffer in queuecommand LLDs don't need to zero out scsi_cmnd::sense_buffer in queuecommand since scsi-ml does. This is a preparation of the future changes to allocate the sense_buffer only when necessary. Many LLDs zero out the sense_buffer before touching it on the error case. This patch lets them alone for now because new APIs for them would be added later on. Signed-off-by: FUJITA Tomonori Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 382db811a8cc1427efabdc959cd1aeef8685ffa6 Author: Randy Dunlap Date: Thu Jan 10 14:33:16 2008 -0800 [SCSI] megaraid: fix section mismatch Change megaraid_pci_driver_g variable name so that it matches the modpost whitelist that allows pointers to init text/data. WARNING: vmlinux.o(.data+0x1a8e30): Section mismatch: reference to .init.text:megaraid_probe_one (between 'megaraid_pci_driver_g' and 'class_device_attr_megaraid_mbox_app_hndl') Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit cc75e8ab6f262a3ea60e8d8268f48da5365f2823 Author: FUJITA Tomonori Date: Sun Jan 13 02:20:18 2008 +0900 [SCSI] libsas: fix sense_buffer overrun Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 3bc8070fb75b33151791fb54ca36ae5abcc8b8df Author: Salyzyn, Mark Date: Fri Jan 11 13:46:24 2008 -0800 [SCSI] aacraid: SMC vendor identification Due to an internal limit associated with the AdapterTypeText field, SMC required a product ID that overloaded the combined vendor and product ID. A decision was made to ship the SMC products without a vendor string dropping the defacto space that used to delineate vendor and product to boot. To correct this, we needed to adjust the code in the driver to parse out the vendor and product strings for the adapter. We match of 'AOC' in the AdapterTypeText, if so we set the vendor to SMC and place the entire AdapterTypeText into the product field. This only affects the cosmetic presentation of the Adapter vendor and product in the logs and in sysfs. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 0995ad382df77b438d0c1e4f93ff349aa2eb9caf Author: Salyzyn, Mark Date: Fri Jan 11 11:56:07 2008 -0800 [SCSI] aacraid: respond to enclosure service events Added support to respond to enclosure service events (controller AIFs) to add, online or offline physical targets reported to sg. Also added online and offlining of arrays. Removed an automatic variable definition in a sub block that hid an earlier definition, determined to be inert as the sub-block use did not interfere. Bumped the driver versioning to stamp the addition of this feature. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit d9aa3af09cdc5d3ae0e67bed4107bcf7e25b9f31 Author: Krzysztof Helt Date: Fri Jan 11 21:50:46 2008 +0100 [SCSI] sym53c8xx: fixes two bugs related to chip reset This patch fixes two bugs pointed by James Bottomley: 1. the if (!sym_data->io_reset). That variable is only ever filled by a stack based completion. If we find it non empty it means this code has been entered twice and we have a severe problem, so that should just become a BUG_ON(sym_data->io_reset). 2. sym_data->io_reset should be set to NULL before the routine is exited otherwise the PCI recovery code could end up completing what will be a bogus pointer into the stack. Big thanks to James Bottomley for help with the patch. Signed-off-by: Krzysztof Helt Signed-off-by: James Bottomley commit 3a0086a80ab7c2f1adb0e9b2a6fc82632979cec5 Author: Salyzyn, Mark Date: Fri Jan 11 11:46:44 2008 -0800 [SCSI] aacraid: add call to flush_kernel_dcache_page Some architectures require a call to flush_kernel_dcache_page for processor spoofed DMA operations. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 984621b4379cccbd0330e10622021a3cfe464ad5 Author: Prakash, Sathya Date: Fri Jan 11 14:42:17 2008 +0530 [SCSI] mpt fusion: Fix for module unload problem in flash less controller environment This patch fixes the module unload problem in flash less 1030 controller environment where firmware download boot functionality is invoked. The problem is due to the firmware download is being done in the reverse order, which this patch solves by insureing the download occurs to the last controller being reset. signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit 32cfe344b002b4d6fe6852a006a9ef3c9ccdb545 Author: James Smart Date: Fri Jan 11 01:53:33 2008 -0500 [SCSI] lpfc 8.2.4 : Update lpfc driver version to 8.2.4 Update lpfc driver version to 8.2.4 Signed-off-by: James Smart Signed-off-by: James Bottomley commit fa4066b672821d24cb7180b8d0434b01a7043172 Author: James Smart Date: Fri Jan 11 01:53:27 2008 -0500 [SCSI] lpfc 8.2.4 : Rework misplaced reference taking on node structure Rework misplaced reference taking on node structure Signed-off-by: James Smart Signed-off-by: James Bottomley commit c95d6c6c2b0a303a113fd468efce7430d5b20eac Author: James Smart Date: Fri Jan 11 01:53:23 2008 -0500 [SCSI] lpfc 8.2.4 : Enhance debugfs use Enhance debugfs to dump HBA SLIM as well as Host SLIM Signed-off-by: James Smart Signed-off-by: James Bottomley commit 9c2face68782d5b7a322df6aade0512b47d29f10 Author: James Smart Date: Fri Jan 11 01:53:18 2008 -0500 [SCSI] lpfc 8.2.4 : Fix Unsolicited Data items Fix Drivers Unsolicited CT command handling - we did not handle multiframe sequences well. Fix error due to delay in replenishing buffers for unsolicited data. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 83108bd3826310def1e49330558467406c46b970 Author: James Smart Date: Fri Jan 11 01:53:09 2008 -0500 [SCSI] lpfc 8.2.4 : Add additional sysfs and module parameters Made link speed and link topology modifiable via sysfs Make scatter gather Segment Count into a module parameter. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 8a4df120b0712a12134d0d9435ccaec1c12b07a7 Author: Tomohiro Kusumi Date: Fri Jan 11 01:53:00 2008 -0500 [SCSI] lpfc 8.2.4 : Make lpfc legacy I/O port free This is a patch written by Tomohiro Kusumi and submitted to linux-scsi: http://marc.info/?l=linux-scsi&m=118673720712152&w=2 The original patch comment: This patch makes Emulex lpfc driver legacy I/O port free. It has already been acked quite long time ago. So I resubmit the patch. http://lkml.org/lkml/2006/11/22/28 Current lpfc driver is already using pci_select_bars() and pci_enable_device_bars() when the PCI bus has been reset. So I think this patch should also be acked. Signed-off-by: Tomohiro Kusumi Signed-off-by: James Smart Signed-off-by: James Bottomley commit 0937282036d9ae798e02c9c69a8b2ef044048855 Author: James Smart Date: Fri Jan 11 01:52:54 2008 -0500 [SCSI] lpfc 8.2.4 : Miscellaneous Fixes Miscellaneous Fixes: - Fix a couple of sparse complaints - Reset the FCP recovery flag when the node is not a FCP2 device. - Speed up offline prep delays - Fixed a memory leak in lpfc_mem_alloc failure path - Fixed external loopback test. - Fixed error code returned from the driver when HBA is over heated. - Correct Max NPIV vport to limits read from adapter - Add missing locks around fc_flag and FC_NEEDS_REG_VPI - Add missing hba ids for device identification - Added support for SET_VARIABLE and MBX_WRITE_WWN mailbox commands - Changed all temperature event messages from warning to error - Fix reporting of link speed when link is down - Added support for MBX_WRITE_WWN mailbox command - Change del_timer_sync() in ISR to del_timer() in interrupt handler - Correct instances of beXX_to_cpu() that should be cpu_to_beXX() - Perform target flush before releasing node references on module unload - Avoid bogus devloss_tmo messages when driver unloads - Fix panic when HBA generates ERATT interupt - Fix mbox race condition and a workaround on back-to-back mailbox commands - Force NPIV off for pt2pt mode between 2 NPorts - Stop worker thread before removing fc_host. - Fix up discovery timeout error case due to missing clear_la - Tighten mailbox polling code to speed up detection of fast completions - Only allow DUMP_MEMORY if adapter offline due to overtemp errors - Added extended error information to the log messages in chip init. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 13815c8344a238c204e4f4339b22dc4833c6df0f Author: James Smart Date: Fri Jan 11 01:52:48 2008 -0500 [SCSI] lpfc 8.2.4 : Add parameters to enable and disable heartbeat and hba resets Add parameters to enable and disable heartbeat and hba resets Signed-off-by: James Smart Signed-off-by: James Bottomley commit fa61a54e48efc8e5c7a6d4680ad8ceb74a5fca84 Author: James Smart Date: Fri Jan 11 01:52:42 2008 -0500 [SCSI] lpfc 8.2.4 : Correct abort handler logic Correct Abort handler logic. It was unconditionally waiting a minimum of 2 seconds rather than looking for abort completion. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 0ff10d46cf0a373c9c855a23cc9383ba4030d8d2 Author: James Smart Date: Fri Jan 11 01:52:36 2008 -0500 [SCSI] lpfc 8.2.4 : Miscellaneous Discovery/ELS Fixes Miscellaneous Discovery/ELS Fixes: - Delay free's of ELS requests if adapter reject conditions - Fix concurrent PLOGI vs ADISC state handling - Add retry mechanism for GFF_ID - Correct some illegal state transitions around RSCN timeouts - Fix missing return in FAN handling Signed-off-by: James Smart Signed-off-by: James Bottomley commit b18268fc631034882f5f3dd93daa248a3bfdd085 Author: Salyzyn, Mark Date: Tue Jan 8 14:07:57 2008 -0800 [SCSI] aacraid: improve queue balancing The adapter queue is divided up equally to all the arrays to prevent command starvation to any individual array. On the other hand, physical targets are only granted a queue depth of one each. The code prior to this patch used to deal with the incremental discovery of targets, but the driver knows how many arrays are present prior to the scan so this knowledge is used to generate a better estimate for the queue depth. Remove the capability of 'physical=0' from preventing access to the class of adapters that have the RAID/SCSI mode of operation since none of the physicals on the SCSI channel are candidates ever for an array. As always, the user can override this default queue depth policy by making the appropriate adjustments utilizing sysfs. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit b6ef70f33ca2a3084b4fea12414550724a9114dc Author: Salyzyn, Mark Date: Tue Jan 8 13:26:43 2008 -0800 [SCSI] aacraid: OS panic after Adapter panic (hardening). In experiments in the lab we managed to trigger an Adapter firmware panic (BlinkLED) coincidentally while several pass-through ioctl command from the management software were outstanding on a bug only present on a class of RAID Adapters that require a hardware reset rather than a commanded reset. The net result was an attempt to time out the management software command as if it came from the SCSI layer resulting in an OS panic. Adapters that use commanded reset, management commands are returned failed by the Adapter correctly. The adapter firmware panic that resulted in this condition was also resolved, and there were no adapters in the field with this specific firmware bug so we do not expect any field reports. This is a rare or unlikely corner condition, and no reports have ever been forwarded from the field. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 6dcd4a7fe5dfaace2763187d6941e700a8bc6f27 Author: Salyzyn, Mark Date: Tue Jan 8 13:08:04 2008 -0800 [SCSI] aacraid: fix multiple definition of automatic variable warning. The 'entry' automatic variable was defined at the top and within a block that uses it, removed the definition from the block that uses it. Some cosmetic changes were made while in the same file. This patch should be inert. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit a3940da5e6fe8b833eecdbca3fac9456b4204d6e Author: Salyzyn, Mark Date: Tue Jan 8 12:48:25 2008 -0800 [SCSI] aacraid: fix big endian issues Big endian systems issues discovered in the aacraid driver. Somewhat reverses a patch from November 7th of last year that removed swap operations because they formerly were being assigned to an u8 array when they should have been assigned to an le32 array. This patch is largely inert for any little endian processor architecture. It resolves a bug in delivering the BlinkLED AIF event to registered applications when the adapter or associated hardware was reset due to ill health. A rare corner case occurrence, also largely unnoticed by any as it was a new (untested!) feature. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 06a43d1725f59a0f5e043bd06081c44ae528098e Author: Salyzyn, Mark Date: Tue Jan 8 12:32:00 2008 -0800 [SCSI] aacraid: variable redefinition hides earlier warning The parameter 'info' is reused, renamed the second to sinfo to represent supplemental adapter info, to suppress compile warning message. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 17eaaceef52b1ce5ca061d49a1ff9ae56ccce1e1 Author: Salyzyn, Mark Date: Tue Jan 8 12:23:49 2008 -0800 [SCSI] aacraid: add sysfs report of RAID level Report the RAID level string for the SCSI device representing the array. Report is in /sys/class/scsi_device/#:#:#:#/device/level. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 95e852e1ef165560e85d3012127068c8f08b19a1 Author: Salyzyn, Mark Date: Tue Jan 8 12:01:07 2008 -0800 [SCSI] aacraid: add parameter to control FUA and SYNCHRONIZE_CACHE policy aacraid.cache parameter, Disable Queue Flush commands: bit 0 - Disable FUA in WRITE SCSI commands bit 1 - Disable SYNCHRONIZE_CACHE SCSI command bit 2 - Disable only if Battery not protecting adapter supplied Cache e.g.: aacraid.cache=7 will disable the FUA and SYNCHRONIZE_CACHE commands if the adapter has reported that it's cache is battery backed up. This parameter permits experimentation with tradeoffs between performance and caching policy. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 9b161a4d3e83518323ce13822e55de70c630aa65 Author: James Bottomley Date: Sat Jan 5 10:18:27 2008 -0600 [SCSI] scsi_transport_spi: convert to attribute groups This conversion makes full use of the is_visible() callback on attribute groups. Now, each device appears only with its capability flags in the transport class directory. Previously each device appeared with the capability of the host, so this is a functionality improvement. Converting to attribute groups allows us to sweep away most of the home grown #defines that were effectively doing the same thing. Signed-off-by: James Bottomley commit d4acd722b7bb5f48b9fc3848e8c2a845b100d84f Author: James Bottomley Date: Wed Oct 31 09:38:04 2007 -0500 [SCSI] sysfs: add filter function to groups This patch allows the various users of attribute_groups to selectively allow the appearance of group attributes. The primary consumer of this will be the transport classes in which we currently have elaborate attribute selection algorithms to do this same thing. Acked-by: Greg KH Signed-off-by: James Bottomley commit d52b3815a52456dcf1a45fbc344e23bb643b2bda Author: James Bottomley Date: Sat Jan 5 09:38:30 2008 -0600 [SCSI] add missing transport configure points for target and host While trying to convert the SPI transport class to attribute groups, I discovered that we don't actually have any transport configure points for either the target or the host. This patch adds these missing transport class triggers. The host one is simply done after the add, the target one tries to be more clever and add it after devices may have been placed on the target (so the device configure will have set up the target parameters). Signed-off-by: James Bottomley commit fd1109711d7f76126e7cef947999f139b198dc15 Author: James Bottomley Date: Wed Jan 2 18:48:47 2008 -0600 [SCSI] attribute_container: update to use the group interface This patch is the beginning of moving the attribute_containers to use attribute groups exclusively. The attr element is now deprecated and will eventually be removed (along with all the hand rolled code for doing exactly what attribute groups do) when all the consumers are converted to attribute groups. Acked-by: Greg Kroah-Hartman Signed-off-by: James Bottomley commit 11f24fbdf511cf588c3a18e3208ee02d85db0020 Author: James Bottomley Date: Wed Jan 2 18:44:05 2008 -0600 [SCSI] sysfs: fix the sysfs_add_file_to_group interfaces I can't see a reason why these shouldn't work on every group. However, they only seem to work on named groups. This patch allows the group functions to work on anonymous groups (those with NULL names). Acked-by: Tejun Heo Acked-by: Kay Sievers Acked-by: Greg Kroah-Hartman Signed-off-by: James Bottomley commit d0ad3bc97c06fba5d37b4ca03c03b7eeeda39c47 Author: James Bottomley Date: Tue Jan 22 13:43:48 2008 -0600 [SCSI] libata: fix corruption induced by relaxed DMA alignment in SCSI Hugh Dickens noticed that SMART commands issued from user space can end up corupting memory. The problem occurs if the buffer used to read data spans two pages. The reason is that the PIO sector routines in libata are expecting physically contiguous pages when they do sector operations, so the left overs on the second page go into the next physically adjacent page rather than the next page in the sg mapping. Fix this by enforcing strict 512 byte alignment on all buffers from userspace. Acked-by: Hugh Dickins Acked-by: Jeff Garzik Signed-off-by: James Bottomley commit a984f58dd97f22f5113700322fed311a0ee29947 Author: akpm@linux-foundation.org Date: Thu Jan 17 11:33:52 2008 -0800 fix drivers/ata/sata_fsl.c double-decl drivers/ata/sata_fsl.c: In function 'sata_fsl_fill_sg': drivers/ata/sata_fsl.c:337: error: redeclaration of 'si' with no linkage drivers/ata/sata_fsl.c:326: error: previous declaration of 'si' was here Reported-by: Olof Johansson Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 7ccd720da3857c21ea893448aaf73620cfe1d27e Author: James Bottomley Date: Thu Jan 17 11:56:24 2008 -0600 [libata] Prefer SCSI_SENSE_BUFFERSIZE to sizeof() Signed-off-by: Jeff Garzik commit b832548773b0cd98216534caa31b9ed7607c4e76 Author: Alan Cox Date: Sat Jan 19 15:47:23 2008 +0000 pata_legacy: Merge winbond support This puts winbond VLB in with the other ISA/VLB support and means we can lose pata_winbond.c. With all the VLB/ISA probe in one space (and out of the core libata) this makes legacy probing work sanely. Also switch to devm_ for resource handling on the ports post probe Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 5e8f757cb2e0f67bf43f71d5180a8bf0ab3484eb Author: Alan Cox Date: Sat Jan 19 16:07:58 2008 +0000 ata_generic: Cenatek support Not much to do here. It's an ata memory as disk. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 3e9b90265e9ab191c8f7e072fd0abf05824d2f1b Author: Alan Cox Date: Sat Jan 19 15:53:55 2008 +0000 pata_winbond: error return If no device is active return an error not zero. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 0f069788c32ea7af108c6032dfb0594cc718bde8 Author: Alan Cox Date: Sat Jan 19 15:52:56 2008 +0000 pata_serverworks: Fix cable types and cosmetics Minor tidying up. Only real change is to return UNK not 80 wire when we don't know the cable type. This didn't use to matter but with Tejun's reworking of cable detection it may. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 0eaea364edec4132fe42ef33fe87edb15f00507b Author: Alan Cox Date: Sat Jan 19 15:48:59 2008 +0000 pata_mpc52xx: remove un-needed assignment ata_irq is always assigned so does not need to be initialised to zero. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 75f9cafc2d24a1cf44d7c3f3e5b4f7a393afcf71 Author: Tejun Heo Date: Thu Jan 3 01:21:14 2008 +0900 libata: fix off-by-one in error categorization ATA_ECAT_DUBIOUS_BASE was too high by one and thus all DUBIOUS error categorizations were wrong. This passed test because only ATA_BUS and UNK_DEV were used during testing and the ones after them - ATA_BUS and an overflowed entry - behaved similarly. This patch fixes the problem by adding DUBIOUS_NONE category and use it as base. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b710a1f4b34438b624e9c6c2dc8bcf54b0b0ba27 Author: Tejun Heo Date: Sat Jan 5 23:11:57 2008 +0900 ahci: factor out AHCI enabling and enable AHCI before reading CAP Factor out AHCI enabling into ahci_enable_ahci() and enabling AHCI before reading CAP in ahci_save_initial_config() as the spec requires enabling AHCI mode before accessing any other registers. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c729072459446885c5c200137de1db32da5db4dc Author: Tejun Heo Date: Fri Jan 18 18:36:30 2008 +0900 ata_piix: implement SIDPR SCR access For ICH8, SCRs can be accessed using index and data register pair located at BAR 5. This patch implements support for it such that PHY status, errors and hardreset are available for those controllers. This is the only case where two devices on a PATA channel have access to SCRs and creates a unique problem of mapping two SCRs to one link. Note that this is different from PMP case in that they aren't quite separate links - e.g. softreset resets both devices. This problem is worked around by merging the SCR values. To upper layer, it looks like there is a single link with one set of SCRs but with two devices. This works well enough for PHY event, error reporting and hardreset. Supporting hardreset is important because in rare cases SATA devices fail to recover without it after PHY errors. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8b09f0da0f873698a7e8b329dfb7b10fd42d5cdf Author: Tejun Heo Date: Fri Jan 18 18:36:29 2008 +0900 ata_piix: convert to prepare - activate initialization ata_piix requires more configuration during initialization than most other SFF compliant controllers and one-go initialzation with ata_pci_one() is too rigid. This patch converts ata_piix to use two step prepare - activate initialization used by other more advanced controllers. This conversion brings the happy side effect of enabling PCI device before accessing PCI configuration registers. Other than that, there shouldn't be any behavior change. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4e6b79fa61091a0ed9b0af0f573cc257772cd88d Author: Tejun Heo Date: Fri Jan 18 18:36:28 2008 +0900 libata: factor out ata_pci_activate_sff_host() from ata_pci_one() Factor out ata_pci_activate_sff_host() from ata_pci_one(). This does about the same thing as ata_host_activate() but needs to be separate because SFF controllers use different and multiple IRQs in legacy mode. This will be used to make SFF LLD initialization more flexible. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit cadb7345d92628d46cccd3765cc15cb9cd6abccf Author: akpm@linux-foundation.org Date: Tue Jan 15 16:01:52 2008 -0800 [libata] Prefer SCSI_SENSE_BUFFERSIZE to sizeof() Cc: James Bottomley Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit defc9cd826e4a99f550504a744f9407b518828ae Author: Alan Cox Date: Thu Jan 10 14:33:10 2008 -0800 pata_legacy: resychronize with upstream changes and resubmit Update the legacy driver so it can handle VLB ports nicely, and has an internal structure for nailing new ISA/VLB forms in. Anyone got an ALI14xx and a spare day ;) Also adds an "all" parameter so you can load this driver after all the PCI ones in a boot time kernel and tell it to grab anything ST412 compatible even if it is an unknown PCI device. That allows libata to offer the same "just get me a disk somehow" fallback that old IDE did. Obsoletes pata_qdi. Signed-off-by: Alan Cox Cc: Tejun Heo Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit c294f1b32940d5bf853e006b9ccc72629c859749 Author: Andrew Morton Date: Tue Jan 15 15:42:37 2008 -0800 [libata] pata_legacy: typo fix Cc: Jeff Garzik Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 045eeb4f796bf50439cfbf4f165946b648a1a928 Author: Andrew Morton Date: Thu Jan 10 14:33:04 2008 -0800 [libata] pata_winbond: update for new ->data_xfer hook drivers/spi/Kconfig:156:warning: 'select' used by config symbol 'SPI_PXA2XX' refers to undefined symbol 'PXA_SSP' drivers/ata/pata_winbond.c: In function 'winbond_data_xfer': drivers/ata/pata_winbond.c:109: error: 'read' undeclared (first use in this function) drivers/ata/pata_winbond.c:109: error: (Each undeclared identifier is reported only once drivers/ata/pata_winbond.c:109: error: for each function it appears in.) drivers/ata/pata_winbond.c:123: warning: 'return' with a value, in function returning void drivers/ata/pata_winbond.c: At top level: drivers/ata/pata_winbond.c:162: warning: initialization from incompatible pointer type distcc[29718] ERROR: compile drivers/ata/pata_winbond.c on bix/8 failed make[1]: *** [drivers/ata/pata_winbond.o] Error 1 make: *** [drivers/ata/pata_winbond.o] Error 2 Cc: Jeff Garzik Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit f885521f0aa4a4f9d339cf32a4821a56f3f97426 Author: Tejun Heo Date: Wed Jan 2 20:12:47 2008 +0900 pata_pcmcia: convert to new data_xfer prototype While merging data_xfer prototype change, pata_pcmcia was left out. Convert it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4ca4e439640cd1d3659cbcf60e7a73c2ae0450b3 Author: Al Viro Date: Sun Dec 30 09:32:22 2007 +0000 libata annotations and fixes Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 35a10a80daa04b7316d6bac1b1402cc347c35b1e Author: Tejun Heo Date: Fri Jan 4 18:42:21 2008 +0900 libata: use dev_driver_string() instead of "libata" in libata-sff.c libata-sff code used DRV_NAME which is hardcoded to "libata" when requesting resources. Use dev_driver_string() such that low level driver names are used in resource listing. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 723159c58371b860cf6ef38affd19d16290e4898 Author: Tejun Heo Date: Fri Jan 4 18:42:20 2008 +0900 ata_piix: kill unused constants and flags Kill PIIX_FLAG_SCR, PIIX_PORT_ENABLED and PIIX_PORT_PRESENT. These are unused. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 442eacc362c2576aac8ebfd41b99252e28e0f49c Author: Jeff Garzik Date: Wed Dec 19 04:25:10 2007 -0500 libata: make ata_port_queue_task() an internal function ata_port_queue_task() served a single user: ata_pio_task() Rename to ata_pio_queue_task() and un-export it, as nobody outside of libata-core.c uses it. Signed-off-by: Jeff Garzik commit d7b174500e5750099537c7f0bc4873f06b6c1b9a Author: Alan Cox Date: Mon Nov 19 14:43:07 2007 +0000 pata_pcmcia: Minor cleanups and support for dual channel cards Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit c5038fc05d4aa4ae0671776199459690e4c973cb Author: Alan Cox Date: Thu Oct 25 14:21:16 2007 +0100 libata/pata_it821x: Improve handling of poorly compatible emulations Some it821x RAID firmwares return 0 for the err return off both devices. A similar issue occurs with the slave returning 0 not 1 if you plug a gigabyte sata ramdisk into a controller that fakes two SATA ports as master/slave on an SFF channel. The patch does the following - Allow the 'failed diagnostics' case on both master and slave - Move the HORKAGE_DIAGNOSTIC check after ->dev_config This second change also allows IT821x to fix up a problem where we report drive diagnostic failures when in fact the drive is fine but the microcontroller firmware doesn't appear to get it right. IT821x clears the flag again to avoid giving the user bogus warnings about their disk. The other IT821x change is a bit ugly, we slightly abuse the cable type hook to fiddle with the identify data for the devices. We could add a new hook for this but as we have only one offender and no more seeming likely it seems better to keep libata-core clean. Please let this sit in -mm briefly, just in case the relaxed checking breaks some other emulated interface. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit a5df2eabdae7cd7840d59cffe621b3658a3a70cb Author: Alan Cox Date: Mon Oct 15 20:44:11 2007 +0100 pata_pcmcia: Add support for dumb 8bit IDE emulations Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 0bcc65ad78ae517de16b2ca07a2891f49d44d156 Author: Tejun Heo Date: Wed Dec 5 16:43:12 2007 +0900 libata: make qc->nbytes include extra buffers qc->nbytes didn't use to include extra buffers setup by libata core layer and my be odd. This patch makes qc->nbytes include any extra buffers setup by libata core layer and guaranteed to be aligned on 4 byte boundary. This value is to be used to program the host controller. As this represents the actual length of buffer available to the controller and the controller must be able to deal with short transfers for ATAPI commands which can transfer variable length, this shouldn't break any controllers while making problems like rounding-down and controllers choking up on odd transfer bytes much less likely. The unmodified value is stored in new field qc->raw_nbytes. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ff2aeb1eb64c8a4770a6304f9addbae9f9828646 Author: Tejun Heo Date: Wed Dec 5 16:43:11 2007 +0900 libata: convert to chained sg libata used private sg iterator to handle padding sg. Now that sg can be chained, padding can be handled using standard sg ops. Convert to chained sg. * s/qc->__sg/qc->sg/ * s/qc->pad_sgent/qc->extra_sg[]/. Because chaining consumes one sg entry. There need to be two extra sg entries. The renaming is also for future addition of other extra sg entries. * Padding setup is moved into ata_sg_setup_extra() which is organized in a way that future addition of other extra sg entries is easy. * qc->orig_n_elem is unused and removed. * qc->n_elem now contains the number of sg entries that LLDs should map. qc->mapped_n_elem is added to carry the original number of mapped sgs for unmapping. * The last sg of the original sg list is used to chain to extra sg list. The original last sg is pointed to by qc->last_sg and the content is stored in qc->saved_last_sg. It's restored during ata_sg_clean(). * All sg walking code has been updated. Unnecessary assertions and checks for conditions the core layer already guarantees are removed. Signed-off-by: Tejun Heo Cc: Jens Axboe Signed-off-by: Jeff Garzik commit f92a26365a72333f418abe82700c6030d4a1a807 Author: Tejun Heo Date: Wed Dec 5 16:43:10 2007 +0900 libata: change ATA_QCFLAG_DMAMAP semantics ATA_QCFLAG_DMAMAP was a bit peculiar in that it got set during qc initialization and cleared if DMA mapping wasn't necessary. Make it more straight forward by making the following changes. * Don't set it during initialization. Set it after DMA is actually mapped. * Add BUG_ON() to guarantee that there is data to transfer if DMAMAP is set. This always holds for the current code. The BUG_ON() is for docummentation and sanity check. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 001102d7859be0e7f7b9f2d62b841f2c0f9c2640 Author: Tejun Heo Date: Wed Dec 5 16:43:09 2007 +0900 libata: kill non-sg DMA interface With atapi_request_sense() converted to use sg, there's no user of non-sg interface. Kill non-sg interface. * ATA_QCFLAG_SINGLE and ATA_QCFLAG_SG are removed. ATA_QCFLAG_DMAMAP is used instead. (this way no LLD change is necessary) * qc->buf_virt is removed. * ata_sg_init_one() and ata_sg_setup_one() are removed. Signed-off-by: Tejun Heo Cc: Rusty Russel Signed-off-by: Jeff Garzik commit 55dba3120fbcbea6800f9a18503d25f73212a347 Author: Tejun Heo Date: Wed Dec 5 16:43:07 2007 +0900 libata: update ->data_xfer hook for ATAPI Depending on how many bytes are transferred as a unit, PIO data transfer may consume more bytes than requested. Knowing how much data is consumed is necessary to determine how much is left for draining. This patch update ->data_xfer such that it returns the number of consumed bytes. While at it, it also makes the following changes. * s/adev/dev/ * use READ/WRITE constants for rw indication * misc clean ups Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ceb0c642624f634c5b4f46b0e22df19be87a2e53 Author: Tejun Heo Date: Wed Dec 5 16:43:06 2007 +0900 libata: add ATAPI_* cmd types and implement atapi_cmd_type() Add ATAPI command types - ATAPI_READ, WRITE, RW_BUF, READ_CD and MISC, and implement atapi_cmd_type() which takes SCSI opcode and returns to which class the opcode belongs. This will be used later to improve ATAPI handling. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0dc36888d4422140f9eaf50f24953ec109f750a3 Author: Tejun Heo Date: Tue Dec 18 16:34:43 2007 -0500 libata: rename ATA_PROT_ATAPI_* to ATAPI_PROT_* ATA_PROT_ATAPI_* are ugly and naming schemes between ATA_PROT_* and ATA_PROT_ATAPI_* are inconsistent causing confusion. Rename them to ATAPI_PROT_* and make them consistent with ATA counterpart. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 537b53c1692960b8b3b0324e886fbe48cb9e5c00 Author: Tejun Heo Date: Wed Dec 5 16:43:04 2007 +0900 cdrom: add more GPCMD_* constants Add GPCMD_* constants for READ_BUFFER, WRITE_12 and WRITE_BUFFER for completeness. These will be used libata. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0106372db6dc135f300035ce8e93cddd7283a26a Author: Albert Lee Date: Wed Dec 5 16:43:02 2007 +0900 libata: zero xfer length on ATAPI data xfer IRQ is HSM violation Treat zero xfer length as HSM violation. While at it, add unlikely()'s to ATAPI ireason and transfer length checks. tj: Formatted patch and added unlikely()'s. Signed-off-by: Albert Lee Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 93f8fecbe72bc3c121f3605dd198ff39ef358522 Author: Tejun Heo Date: Wed Dec 5 16:43:01 2007 +0900 libata: make atapi_request_sense() use sg atapi_request_sense() is now the only left user of ata_sg_init_one(). Convert it to use sg interface. Signed-off-by: Tejun Heo Cc: Rusty Russel Signed-off-by: Jeff Garzik commit 1973a023a616b40ba33fd0d38b1055c62c88e73d Author: Tejun Heo Date: Wed Dec 5 10:36:13 2007 +0900 libata: convert NCQ test in ata_qc_issue() to ata_is_ncq() I missed one while converting to ata_is_*() protocol test helpers. Convert it. Pointed out by Jeff Garzik. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 40f46f17819c2d199f99addc3278ff2eb11f3cd5 Author: Andrew Morton Date: Thu Dec 13 16:01:38 2007 -0800 pata_hpt37x: checkpatch fixes WARNING: line over 80 characters #70: FILE: drivers/ata/pata_hpt37x.c:850: + struct pci_dev *pdev_0 = pci_get_slot(pdev->bus, pdev->devfn - 1); ERROR: else should follow close brace '}' #78: FILE: drivers/ata/pata_hpt37x.c:858: + } + else total: 1 errors, 1 warnings, 100 lines checked Your 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: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit e6a73ab1c8e814ac7b0d69f44fde63299b639489 Author: Andrew Morton Date: Thu Dec 13 16:01:37 2007 -0800 drivers/ata/libata-eh.c: fix printk warning drivers/ata/libata-eh.c: In function `ata_port_pbar_desc': drivers/ata/libata-eh.c:215: warning: long long unsigned int format, long unsigned int arg (arg 4) Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit ce54d1616302117fa98513ae916bb3333e1c02ea Author: Tejun Heo Date: Tue Dec 18 16:33:07 2007 +0900 pata_amd: update mode selection for NV PATAs Cable detection on NV PATA hosts isn't implemented and the CBLID- cable isn't wired according to the sepc either, so both host-side and generic drive-side cable detections are broken. Till now, nv_cable_detect() relied on peeking BIOS and ACPI configurations to upgrade to 80C but this often results in misdetection of 40C cable as 80C. Also, the original implementation was broken in that by the time BIOS configuration is read it has already been cleared by programming PIO0 during reset. This patch reimplements NV mode selection such that... * BIOS configuration value is stored during driver attach and restored on detach. * Cable type is fixed to ATA_CBL_PATA_IGN and mode selection is soley done by nv_mode_filter() which peeks both BIOS and ACPI configurations and filter accordingly. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 021ee9a6da1cfc57f6a6c769c3c898bdd4753108 Author: Tejun Heo Date: Tue Dec 18 16:33:06 2007 +0900 libata: reimplement ata_acpi_cbl_80wire() using ata_acpi_gtm_xfermask() Reimplement ata_acpi_cbl_80wire() using ata_acpi_gtm_xfermask() and while at it relocate the function below ata_acpi_gtm_xfermask(). New ata_acpi_cbl_80wire() implementation takes @gtm, in both pata_via and pata_amd, use the initial GTM value. Both are trying to peek initial BIOS configuration, so using initial caching value makes sense. This fixes ACPI part of cable detection in pata_amd which previously always returned 0 because configuring PIO0 during reset clears DMA configuration. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit a0f79b929acaba10d4780acd2543eff20bf4b5b0 Author: Tejun Heo Date: Tue Dec 18 16:33:05 2007 +0900 libata: implement ata_timing_cycle2mode() and use it in libata-acpi and pata_acpi libata-acpi is using separate timing tables for transfer modes although libata-core has the complete ata_timing table. Implement ata_timing_cycle2mode() to look for matching mode given transfer type and cycle duration and use it in libata-acpi and pata_acpi to replace private timing tables. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 5df91a25df08d85700fef5fd59bb1873273e5ef5 Author: Tejun Heo Date: Tue Dec 18 16:33:04 2007 +0900 libata: fix ata_acpi_gtm_xfermask() ata_acpi_gtm_xfermask() as separated out from pacpi_discover_modes() has various bugs. Fix them. * The wrong comparison operator is used when finding for matching cycle resulting totally bogus result. * With the comparion operator fixed, boundary condtion handling is clumsy. * Setting of any DMA mask bit set all bits in PIO mask. * MWDMA and UDMA blocks are swapped. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 7c77fa4d51b1480bcec2e898c94d6912fe063c16 Author: Tejun Heo Date: Tue Dec 18 16:33:03 2007 +0900 libata: separate out ata_acpi_gtm_xfermask() from pacpi_discover_modes() Finding out matching transfer mode from ACPI GTM values is useful for other purposes too. Separate out the function and timing tables from pata_acpi::pacpi_discover_modes(). Other than checking shared-configuration bit after doing ata_acpi_gtm() in pacpi_discover_modes() which should be safe, this patch doesn't introduce any behavior change. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 9cde9ed151e170f2e2a530f7ec0032dfbe9f443b Author: Tejun Heo Date: Sat Nov 24 21:16:07 2007 +0900 ata_piix: separate controller IDs into separate enum Separate controller IDs into a separate enum as Jeff requested. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 46a671430dfa4ca59c7a69f01326e99edddb21bd Author: Tejun Heo Date: Tue Dec 4 13:33:30 2007 +0900 sata_promise: make pdc_atapi_pkt() use values from qc->tf Make pdc_atapi_pkt() use values from qc->tf instead of creating its own. This is to ease future ATAPI handling changes. Signed-off-by: Tejun Heo Cc: Mikael Pettersson Signed-off-by: Jeff Garzik commit c88f90c3779cd5e710f2acdf59ad2bd0380de98d Author: Tejun Heo Date: Tue Nov 27 19:43:48 2007 +0900 libata: add ATA_CBL_PATA_IGN ATA_CBL_PATA_UNK indicates that the cable type can't be determined from the host side and might be either 80c or 40c. libata applies drive or other generic limit in this case. However, there are controllers where both host and drive side detections are misimplemented and the driver has to rely solely on private method - peeking BIOS or ACPI configuration or using some other private mechanism. This patch adds ATA_CBL_PATA_IGN which tells libata to ignore the cable type completely and just let the LLD determine the transfer mode via host transfer mode masks and ->mode_filter(). Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 7dc951aefdc1dc20228691b04867fb6195864d67 Author: Tejun Heo Date: Tue Nov 27 19:43:42 2007 +0900 libata: xfer_mask is unsigned long not unsigned int Jeff says xfer_mask is unsigned long not unsigned int. Convert all xfermask fields and handling functions to deal with unsigned longs. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9d3501ab962b1506d93974faf8509251b4a85fbc Author: Tejun Heo Date: Tue Nov 27 19:43:41 2007 +0900 libata: kill ata_id_to_dma_mode() ata_id_to_dma_mode() isn't quite generic. The function is basically privately implemented ata_id_xfermask() combined with hardcoded mode printing and configuration which are specific to ata_generic. Kill the function and open code it in generic_set_mode() using generic xfermode handling functions. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 70cd071e4ecc06c985189665af75c108601fd5a3 Author: Tejun Heo Date: Tue Nov 27 19:43:40 2007 +0900 libata: clean up xfermode / PATA timing related stuff * s/ATA_BITS_(PIO|MWDMA|UDMA)/ATA_NR_\1_MODES/g * Consistently use 0xff to indicate invalid transfer mode (0x00 is valid for PIO_SLOW). * Make ata_xfer_mode2mask() return proper mode mask instead of just the highest bit. * Sort ata_timing table in increasing xfermode order and update ata_timing_find_mode() accordingly. This patch doesn't introduce any behavior change. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6357357cae7794dcb89cace758108dec612e7ed5 Author: Tejun Heo Date: Tue Nov 27 19:43:39 2007 +0900 libata: export xfermode / PATA timing related functions Export the following xfermode related functions. * ata_pack_xfermask() * ata_unpack_xfermask() * ata_xfer_mask2mode() * ata_xfer_mode2mask() * ata_xfer_mode2shift() * ata_mode_string() * ata_id_xfermask() * ata_timing_find_mode() These functions will be used later by LLD updates. While at it, change unsigned short @speed to u8 @xfer_mode in ata_timing_find_mode() for consistency. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f8ab6d8e15a9b978f79aee794c263014c2959dfc Author: Tejun Heo Date: Tue Nov 27 19:43:38 2007 +0900 ata_generic: unindent loop in generic_set_mode() Unindent loop body in generic_set_mode(). This is to ease future change. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e39eec13ff8c58520d77b5f977b1e0fa067fbd2c Author: Jeff Garzik Date: Sat Dec 1 18:05:39 2007 -0500 [libata] Build fix WRT ata_is_xxx() new API introduction Signed-off-by: Jeff Garzik commit 76326ac1ac1f524014ef36986fed97796b28ec6b Author: Tejun Heo Date: Tue Nov 27 19:28:59 2007 +0900 libata: implement fast speed down for unverified data transfer mode It's very likely that the configured data transfer mode is the wrong one if device fails data transfers right after initial data transfer mode configuration (including NCQ on/off and xfermode). libata EH needs to speed down fast before upper layers give up on probing. This patch implement fast speed down rules to handle such cases better. Error occured while data transfer hasn't been verified trigger fast back-to-back speed down actions until data transfer works. This change will make cable mis-detection and other initial configuration problems corrected before partition scanning code gives up. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 00115e0f5bc3bfdf3f3855ad89c8895f10458f92 Author: Tejun Heo Date: Tue Nov 27 19:28:58 2007 +0900 libata: implement ATA_DFLAG_DUBIOUS_XFER ATA_DFLAG_DUBIOUS_XFER is set whenever data transfer speed or method changes and gets cleared when data transfer command succeeds in the newly configured transfer mode. This will be used to improve speed down logic. Signed-off-by: Tejun Heo commit 663f99b86ac7d4c0eed8c239638da0ea8849288b Author: Tejun Heo Date: Tue Nov 27 19:28:57 2007 +0900 libata: adjust speed down rules Speed down rules were too conservative. Adjust them a bit. * More than 10 timeouts can't happen in 5 minutes as command timeout is 30secs. Lower the limit for rule #1 to 6. * 10 timeouts is too high for rule #3 too. Lower it to 6. * SATAPI can benefit from falling back to PIO too. Allow SATAPI devices to fall back to PIO. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3884f7b0a8382b89d8ca5da23bd98e3e15fc805b Author: Tejun Heo Date: Tue Nov 27 19:28:56 2007 +0900 libata: clean up EH speed down implementation Clean up EH speed down implementation. * is_io boolean variable is replaced eflags. is_io is ATA_EFLAG_IS_IO. * Error categories now have names. * Better comments. * Reorder 5min and 10min rules in ata_eh_speed_down_verdict() * Use local variable @link to cache @dev->link in ata_eh_speed_down() These changes are to improve readability and ease further changes. This patch doesn't introduce any behavior change. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6f1d1e3a03fd04a9d9c82fd3cf414020097bb142 Author: Tejun Heo Date: Tue Nov 27 19:28:55 2007 +0900 libata: move ata_set_mode() to libata-eh.c Move ata_set_mode() to libata-eh.c. ata_set_mode() is surely an EH action and will be more tightly coupled with the rest of error handling. Move it to libata-eh.c. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 02c05a27e884c9655dae5b1c8bc0cd89c060c43d Author: Tejun Heo Date: Tue Nov 27 19:28:54 2007 +0900 libata: factor out ata_eh_schedule_probe() Factor out ata_eh_schedule_probe() from ata_eh_handle_dev_fail() and ata_eh_recover(). This is to improve maintainability and make future changes easier. In the previous revision, ata_dev_enabled() test was accidentally dropped while factoring out. This problem was spotted by Bartlomiej. Signed-off-by: Tejun Heo Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 405e66b38797875e80669eaf72d313dbb76533c3 Author: Tejun Heo Date: Tue Nov 27 19:28:53 2007 +0900 libata: implement protocol tests Implement protocol tests - ata_is_atapi(), ata_is_nodata(), ata_is_pio(), ata_is_dma(), ata_is_ncq() and ata_is_data() and use them to replace is_atapi_taskfile() and hard coded protocol tests. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f20ded38aa54b92dd0af32578b8916d0aa2d9e05 Author: Tejun Heo Date: Tue Nov 27 19:28:52 2007 +0900 libata: rearrange ATA_DFLAG_* Area for DFLAGs which are cleared on INIT is full. Extend it by 8 bits. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 11b7becca9425aab50807503c8102b2db9e5ecf0 Author: Jeff Garzik Date: Fri Nov 23 21:12:14 2007 -0500 libata: checkpatch fixes Signed-off-by: Jeff Garzik commit 49f290903935612aadab3899a4aca884c1140348 Author: Tejun Heo Date: Mon Nov 19 16:03:44 2007 +0900 ahci: update PCS programming For intel ones, ahci unconditionally OR'd 0xf to PCS. This isn't correct for the following cases. * ich6/7m's which only implement P0 and P2 (0xf works fine tho) * ich8/9's which have six ports and needs 0x3f to enable all ports This patch updates PCS programming such that... * port_map determined by ahci_save_initial_config() is OR'd instead of 0xf * PCS is updated only if necessary (there are turned off enable bits) port_map is determined from PORTS_IMPL PCI register which is implemented as write or write-once register. If the register isn't programmed, ahci automatically generates it from number of ports, which is good enough for PCS programming. ICH6/7M are probably the only ones where non-contiguous enable bits are necessary && PORTS_IMPL isn't programmed properly but they're proven to work reliably with 0xf anyway. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 51dbd490614e6228e9b2b198bd4f5f76ef961059 Author: Alan Cox Date: Mon Nov 19 14:45:53 2007 +0000 pata_ninja32: Cardbus ATA initial support Lots of work needed to bring it up to scratch but it does work so you can now use the card. That makes it at least useful, especially as the other cardbus cards are usually INIC162x which aren't yet supported well. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 76548eda8c47e50260bc87196d40b26ce7a7bcd6 Author: Alan Cox Date: Mon Nov 19 14:34:56 2007 +0000 libata-sff: tf_load Jeff said he preferred that the SFF tf_load followed the spec and we documented that anyone who needed different overrode it, rather than it using the ->check_status methods. No driver relies on the current behaviour. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit b9f8ab2dafba2dc12dd94e5d2db31d5cf495775f Author: Alan Cox Date: Mon Nov 19 14:33:11 2007 +0000 libata: IORDY handling I believe this version meets all Sergei's objections Correct the logic for when we issue a set features for transfer mode - If the device has IORDY and the controller has IORDY - set the mode - If the device has IORDY and the controller does not - turn IORDY off - If neither has IORDY do nothing Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit bd3adca52bc43b72c75db3e4c7809d47923b154c Author: Shaohua Li Date: Fri Nov 2 09:32:38 2007 +0800 libata-acpi: add ACPI _PSx method ACPI spec (ver 3.0a, p289) requires IDE power on/off executes ACPI _PSx methods. As recently most PATA drivers use libata, this patch adds _PSx method support in libata. ACPI spec doesn't mention if SATA requires the same _PSx method. Signed-off-by: Shaohua Li Acked-by: Len Brown Signed-off-by: Jeff Garzik commit ae8d4ee7ff429136c8b482c3b38ed994c021d3fc Author: Alan Cox Date: Sun Nov 4 22:05:49 2007 -0500 libata: Disable ATA8-ACS proposed Trusted Computing features by default Historically word 48 in the identify data was used to mean 32bit I/O was supported for VLB IDE etc. ATA8 reassigns this word to the Trusted Computing Group, where it is used for TCG features. This means that an ATA8 TCG drive is going to trigger 32bit I/O on some systems which will be funny. Anyway we need to sort this out ready for ATA8 so: - Reorder the ata.h header a bit so the ata_version function occurs early in it - Make dword_io check the ATA version - Add an ATA8 version checking TCG presence test While we are at it the current drafts have a flaw where it may not be possible to disable TCG features at boot (and opt out of the trusted model) as TCG intends because it relies on presence of a different optional feature (DCS). Handle this in software by refusing the TCG commands if libata.allow_tpm is not set. (We must make it possible as some environments such as proprietary VDR devices will doubtless want to use it to lock up content) Finally as with CPRM print a warning so that the user knows they may not be able to full access and use the device. Signed-off-by: Alan Cox commit ffe188dd83e84119516688c822388c8f30a54877 Author: Peter Schwenke Date: Thu Jan 17 23:08:55 2008 +1000 ata_piix: Add Toshiba Satellite R20 and Tecra M6 to broken suspend list. Add Toshiba Satellite R20 and Tecra M6 to broken suspend list. Matt Piermarini reported and provided the M6 patch. This is from OSDL bug 7780. Signed-off-by: Peter Schwenke Cc: Matt Piermarini Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit ed2b91701d97047fa9970645e43d5e551e261adb Author: Steve French Date: Sun Jan 20 00:30:29 2008 +0000 [CIFS] Do not log path names in lookup errors Andi Kleen noticed that we were logging access denied errors (which is noisy in the dmesg log, and not needed to be logged) and that we were logging path names on that an other errors (e.g. EIO) which we should not be doing. CC: Andi Kleen Signed-off-by: Steve French commit 15e7b4452b72ae890f2fcb027b4c4fa63a1c9a7a Author: Sebastian Siewior Date: Mon Jan 14 17:07:57 2008 +1100 [CRYPTO] twofish: Merge common glue code There is almost no difference between 32 & 64 bit glue code. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 465ff3185e0cb76d46137335a4d21d0d9d3ac8a2 Author: James Bottomley Date: Tue Jan 1 10:00:10 2008 -0600 [SCSI] relax scsi dma alignment This patch relaxes the default SCSI DMA alignment from 512 bytes to 4 bytes. I remember from previous discussions that usb and firewire have sector size alignment requirements, so I upped their alignments in the respective slave allocs. The reason for doing this is so that we don't get such a huge amount of copy overhead in bio_copy_user() for udev. (basically all inquiries it issues can now be directly mapped). Acked-by: Alan Stern Signed-off-by: James Bottomley commit 11c3e689f1c3a73e3af7b0ea767b1b0626da8033 Author: James Bottomley Date: Mon Dec 31 16:37:00 2007 -0600 [SCSI] block: Introduce new blk_queue_update_dma_alignment interface The purpose of this is to allow stacked alignment settings, with the ultimate queue alignment being set to the largest alignment requirement in the stack. The reason for this is so that the SCSI mid-layer can relax the default alignment requirements (which are basically causing a lot of superfluous copying to go on in the SG_IO interface) while allowing transports, devices or HBAs to add stricter limits if they need them. Acked-by: Jens Axboe Signed-off-by: James Bottomley commit 166a72878f76e911f2d1ce4b2310d4403e94be11 Author: FUJITA Tomonori Date: Tue Jan 8 07:59:05 2008 +0900 [SCSI] fix scsi_setup_command_freelist failure path race Looks like that host_cmd_pool_mutex are necessary here. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 210ba1d1724f5c4ed87a2ab1a21ca861a915f734 Author: James Bottomley Date: Sat Jan 5 10:39:51 2008 -0600 [SCSI] sr: update to follow tray status correctly Based on an original patch from: David Martin When trying to get the drive status via ioctl CDROM_DRIVE_STATUS, with no disk it gives CDS_TRAY_OPEN even if the tray is closed. ioctl works as expected with ide-cd driver. Gentoo bug report: http://bugs.gentoo.org/show_bug.cgi?id=196879 Cc: Maarten Bressers Signed-off-by: James Bottomley commit 32e8ae36b8f80372015b88b63c4358a376c9af0f Author: James Bottomley Date: Sun Dec 30 12:37:31 2007 -0600 [SCSI] libsas: don't use made up error codes This is bad for two reasons: 1. If they're returned to outside applications, no-one knows what they mean. 2. Eventually they'll clash with the ever expanding standard error codes. The problem error code in question is ETASK. I've replaced this by ECOMM (communications error on send) a network error code that seems to most closely relay what ETASK meant. Acked-by: Darrick J. Wong Signed-off-by: James Bottomley commit 2d507a01dac338831266b44ccbb01c69e84606ed Author: James Bottomley Date: Sat Dec 29 10:59:53 2007 -0600 [SCSI] libsas, bsg: pass errors through correctly Currently in BSG, errors returned in req->errors aren't passed back to the calling programme (either via SG_IO or via read/write). Fix this, while preserving the SCSI convention of returning status in req->errors. Now update libsas to return errors correctly instead of to ignore them. Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 2d4b63e1505b317d4253cee3f2970792ec6d41cb Author: James Bottomley Date: Sat Dec 29 11:49:53 2007 -0600 [SCSI] libsas: don't treat underrun as an error on SMP tasks All SMP tasks sent through bsg generate messages like: sas: smp_execute_task: task to dev 500605b000001450 response: 0x0 status 0x81 Three times (because the task gets retried). Firstly, don't retry either overrun or underrun (the data buffer isn't going to change size) and secondly, just report the underrun but don't set an error for it. This is necessary so bsg can report back the residual. Signed-off-by: James Bottomley commit b98e66fa0b687149dc3b26179096dc542c7d5001 Author: James Bottomley Date: Fri Dec 28 16:35:17 2007 -0600 [SCSI] libsas: add host SMP processing This adds support for host side SMP processing, via a separate SMP interpreter file. Signed-off-by: James Bottomley commit 38b3167f75c9508156b974d19692c19b78292e2e Author: FUJITA Tomonori Date: Sun Dec 30 19:34:52 2007 +0900 [SCSI] mpt fusion: make mptsas_smp_handler update resid This patch fixes mptsas_smp_handler to update both din_resid or dout_resid on success. bsg can report back the residual. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit fdf234527a070f6fc89f3ec5ee4ae1b263e59939 Author: Christof Schmitt Date: Thu Dec 20 12:30:27 2007 +0100 [SCSI] zfcp: Hold queue lock when checking port/unit handle for task management cmd We need to hold the queue-lock when checking whether we still have a valid unit/port handle for the task management command, i.e whether we can issue this request for this unit/port. If the error recovery is about to close this unit/port, then it competes for the queue-lock. If the close request issued by the error recovery wins, then it is guaranteed that this unit/port has been blocked for other requests. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit ba1724202aafed4bbc4a239ac6fb433f454fddea Author: Christof Schmitt Date: Thu Dec 20 12:30:26 2007 +0100 [SCSI] zfcp: Hold queue lock when checking port/unit handle for FCP command We need to hold the queue-lock when checking whether we still have a valid unit/port handle for the FCP command, i.e whether we can issue this request for this unit/port. If the error recovery is about to close this unit/port, then it competes for the queue-lock. If the close request issued by the error recovery wins, then it is guaranteed that this unit/port has been blocked for other requests. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit 3f0ca62add34010241db682e63bb68ba765bf4a9 Author: Christof Schmitt Date: Thu Dec 20 12:30:25 2007 +0100 [SCSI] zfcp: Hold queue lock when checking port handle for ELS command We need to hold the queue-lock when checking whether we still have a valid port handle for the ELS command, i.e whether we can issue this request for this port. If the error recovery is about to close this port, then it competes for the queue-lock. If the close request issued by the error recovery wins, then it is guaranteed that this port has been blocked for other requests. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit 951f746fece2e24a26853b3872d16e9013b6fe0b Author: Christof Schmitt Date: Thu Dec 20 12:30:24 2007 +0100 [SCSI] zfcp: Hold queue lock when checking port/unit handle for abort command We need to hold the queue-lock when checking whether we still have a valid unit/port handle for the abort command, i.e whether we can issue this request for this unit/port. If the error recovery is about to close this unit/port, then it competes for the queue-lock. If the close request issued by the error recovery wins, then it is guaranteed that this unit/port has been blocked for other requests. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit 8627533c115c546649693d68fed6a74762c47d51 Author: Christof Schmitt Date: Thu Dec 20 12:30:23 2007 +0100 [SCSI] zfcp: Fix evaluation of port handles in abort handler According to the FSF spec, word 0 (bytes 0-3) has the handle specified with the abort command and word 1 (bytes 4-7) has the handle for the command to be aborted. Fix the if statements that try to compare those. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit d1ad09db2fd551d49d65ef040591cb9298e70fb6 Author: Heiko Carstens Date: Thu Dec 20 12:30:22 2007 +0100 [SCSI] zfcp: fix use after free bug. zfcp_erp_strategy_check_fsfreq() checks if it is safe to access the fsf_req associated with the erp_action that gets passed. To test if it is safe it accesses the fsf_req in order to get its index into the hash list. This is broken since the fsf_req might be freed already and the read index has no meaning. It could lead to memory corruption. Fix this by introducing a new zfcp_reqlist_find_safe() method which just checks if addresses are equal. This is slower, but only gets called in case of error recovery. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit bfd90dce248a49ced2b7419ecf78af9f7f37039e Author: Adrian Bunk Date: Tue Dec 11 23:23:31 2007 +0100 [SCSI] megaraid: add __devexit annotation megaraid_remove_one() can become __devexit. Signed-off-by: Adrian Bunk Acked-by: "Patro, Sumant" Signed-off-by: James Bottomley commit 3be38e7a351a88e0fcf1565661cc94d1992fcad9 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Nov 15 21:13:46 2007 +0100 [SCSI] atari_NCR5380, sun3_NCR5380: operator precedence fix SR_REQ is defined 0x20, but bitanding has no effect because '!' has a higher priority than '&' Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: James Bottomley commit 0033bb477e93f5f6ce9dae7a1f2aa5e5a8ebabd3 Author: Swen Schillig Date: Tue Dec 18 11:16:14 2007 +0100 [SCSI] zfcp: update MAINTAINERS we are planning a major rewrite of the zfcp driver, meaning that a lot of patches will hit the mailing-list in the near future. Since I can't support this additional work-load along with my other responsibilities we are shifting the maintainership to Christof Schmitt as the maintainer and Martin Peschke as the co-maintainer. Please support the two in providing us a new and more stable zfcp environment. Thanks Swen Signed-off-by: James Bottomley commit 103962380ec3d86e675fc735e3e2b2fc8decaae9 Author: Mike Christie Date: Thu Dec 13 12:43:43 2007 -0600 [SCSI] iscsi class: bump version Update version. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit df93ffcd748ce41e7b716c3056ae511939bb745e Author: Mike Christie Date: Thu Dec 13 12:43:42 2007 -0600 [SCSI] iscsi_tcp: fix setting of r2t If we negotiate for X r2ts we have to use only X r2ts. We cannot round up (we could send less though). It is ok to fail if it is not something the driver can handle, so this patch just does that. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 118365721768f29d74718a59895ed7bd3c10b68e Author: vignesh babu Date: Thu Dec 13 12:43:41 2007 -0600 [SCSI] libiscsi: use is_power_of_2 Replacing n & (n - 1) for power of 2 check by is_power_of_2(n) Signed-off-by: vignesh babu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 4545a88fc1ae2c0cd1da6e35f3adcbc56ff27b07 Author: Mike Christie Date: Thu Dec 13 12:43:40 2007 -0600 [SCSI] iscsi_tcp: hold lock during data rsp processing iscsi_data_rsp needs to hold the sesison lock when it calls iscsi_update_cmdsn. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 66bbe0ce11c7ebe20cd1d4b5d271b2e124e223c5 Author: Mike Christie Date: Thu Dec 13 12:43:39 2007 -0600 [SCSI] iscsi_tcp: enable sg chaining The previous patches converted iscsi_tcp to support sg chaining. This patch sets the proper flags and sets sg_table size to 4096. This allows fs io to be capped at max_sectors, but passthrough IO to be limited by some other part of the kernel. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 4cd49ea1330c946db00a28819b766062716aa857 Author: Mike Christie Date: Thu Dec 13 12:43:38 2007 -0600 [SCSI] libiscsi, iscsi class: set tmf to a safe default and export in sysfs Older tools will not be setting the tmf time outs since they did not exists, so set them to a safe default. And export abort and lu reset timeout values in sysfs. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 7a53dc52a5f218bf306b875bf0610e851d5a8268 Author: Mike Christie Date: Thu Dec 13 12:43:37 2007 -0600 [SCSI] iscsi_tcp: drop session when itt does not match any command A target should never send us a itt that does not match a running task. If it does we do not really know what is coming down after the header, unless we evaluate the hdr and do some guessing sometimes. However, even if we know what is coming we probably do not have buffers for it or we cannot respond (if it is a r2t for example), so just drop the session. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 03766a1d4e4520066d3ed2097bfdf6e606aba828 Author: Olaf Kirch Date: Thu Dec 13 12:43:36 2007 -0600 [SCSI] iscsi_tcp: stop leaking r2t_info's when the incoming R2T is bad iscsi_r2t_rsp checks the incoming R2T for sanity, and if it thinks it's fishy, it will drop it silently. In this case, we leaked an r2t_info object. If we do this often enough, we run into a BUG_ON some time later. Removed r2t wrappers and update patch by Mike Christie Signed-off-by: Olaf Kirch Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit a8ac6311cc21d78fa284cd43f56df2063f536bf1 Author: Olaf Kirch Date: Thu Dec 13 12:43:35 2007 -0600 [SCSI] iscsi: convert xmit path to iscsi chunks Convert xmit to iscsi chunks. from michaelc@cs.wisc.edu: Bug fixes, more digest integration, sg chaining conversion and other sg wrapper changes, coding style sync up, and removal of io fields, like pdu_sent, that are not needed. Signed-off-by: Olaf Kirch Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 1040c99d9fd9de2bf00efae6d91014f890575bdb Author: Mike Christie Date: Thu Dec 13 12:43:34 2007 -0600 [SCSI] libiscsi: Drop host lock in queuecommand The driver does not need the host lock in queuecommand so drop it. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit c1635cb786dbadd16fd6e6959dd3b41ae2f2831a Author: Mike Christie Date: Thu Dec 13 12:43:33 2007 -0600 [SCSI] libiscsi: clear conn->ctask when task is completed early If the current ctask is failed early, we legt the conn->ctask pointer pointing to a invalid task. When the xmit thread would send data for it, we would then oops. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 9000bcd649b26aef4c35d2941f8a65f05bbb9ee1 Author: Mike Christie Date: Thu Dec 13 12:43:32 2007 -0600 [SCSI] libiscsi: Do not fail commands immediately during logout If the target requests a logout, then we do not want to fail commands to scsi-ml right away. This patch just fails in pending commands for a requeue immediately, and then lets iscsid handle running commands like normal recovery. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit bca1088a8194f4fc850b65ea4f324c15d47d3cc3 Author: FUJITA Tomonori Date: Thu Dec 13 12:43:31 2007 -0600 [SCSI] iscsi_tcp: update the website URL Use open-iscsi.org instead of linux-iscsi.sf.net, which hasn't been updated for ages. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit f6d5180c78780d63b0577edeb3ce41eeb3e93eea Author: Mike Christie Date: Thu Dec 13 12:43:30 2007 -0600 [SCSI] libiscsi: fix nop handling During root boot and shutdown the target could send us nops. At this time iscsid cannot be running, so the target will drop the session and the boot or shutdown will hang. To handle this and allow us to better control when to check the network this patch moves the nop handling to the kernel. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 2697478903d0ad8bdbf868b1346ae4b891662bb1 Author: Mike Christie Date: Thu Dec 13 12:43:29 2007 -0600 [SCSI] libiscsi: fix shutdown We were using the device delete sysfs file to remove each device then logout. Now in 2.6.21 this will not work because the sysfs delete file returns immediately and does not wait for the device removal to complete. This causes a hang if a cache sync is needed during shutdown. Before .21, that approach had other problems, so this patch fixes the shutdown code so that we remove the target and unbind the session before logging out and shut down the session Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit bc436b278776d22eb10e7e75bf3e5257d14550a9 Author: Mike Christie Date: Thu Dec 13 12:43:28 2007 -0600 [SCSI] libiscsi: grab eh_mutex during host reset I thought we may not need the eh mutex during host reset, but that is wrong with the new shutdown code. When start_session_recovery sets the state to terminate then drops the session lock. The scsi eh thread could then grab the session lock see that we are terminating and then return failed to scsi-ml. scsi-ml's eh then owns the command and will do whatever it wants with it. But then the iscsi eh thread could grab the session lock and want to complete the scsi commands that we in the LLD, but it no longer owns them and kaboom. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit d8bf541e657824cb03effd726ac96e2f4dcf58a5 Author: Mike Christie Date: Thu Dec 13 12:43:27 2007 -0600 [SCSI] iscsi class: Use our own workq instead of common system one. There is just too much going on through the common workq and something like a scsi device removal through sysfs affects how long it will take to recover the transport, mark it as failed, or shut it down gracefully. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b3a7ea8d50f6028964b468d13a095dfb2508b2fb Author: Mike Christie Date: Thu Dec 13 12:43:26 2007 -0600 [SCSI] libiscsi: do not block session during logout There is not need to block the session during logout. Since we are going to fail the commands that were blocked just fail them immediately instead. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 6320377fd94316e58f75d0be6f6e7a644950a4ee Author: Olaf Kirch Date: Thu Dec 13 12:43:25 2007 -0600 [SCSI] libiscsi, iscsi_tcp: iscsi pool cleanup iscsi_pool_init simplified iscsi_pool_init currently has a lot of duplicate kfree() calls it does when some allocation fails. This patch simplifies the code a little by using iscsi_pool_free to tear down the pool in case of an error. iscsi_pool_init also returns a copy of the item array to the caller. Not all callers use this array, so we make it optional. Instead of allocating a second array and return that, allocate just one array, of twice the size. Update users of iscsi_pool_{init,free} This patch drops the (now useless) second argument to iscsi_pool_free, and updates all callers. It also removes the ctask->r2ts array, which was never used anyway. Since the items argument to iscsi_pool_init is now optional, we can pass NULL instead. Signed-off-by: Olaf Kirch Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 38ad03de3fd350e683213ddf898a7049534628a8 Author: Boaz Harrosh Date: Thu Dec 13 12:43:24 2007 -0600 [SCSI] libiscsi,iser: patch for AHS support - The default initialization of hdr_max is the minimum - sizeof(struct iscsi_cmd) - Once this patch goes into iser the default initialization at libiscsi can be removed. - This is not yet full support for AHSs at iser end. But it should be easy. Just allocate more space at iser_desc right after iscsi_hdr. Than at transmission time use ctask->hdr_len to retrieve the total size of all iscsi pdu headers. See previous patch at iscsi_tcp.[ch] Signed-off-by: Boaz Harrosh Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 004d6530f83bee43a55b51bb5960db96e7ae0ffa Author: Boaz Harrosh Date: Thu Dec 13 12:43:23 2007 -0600 [SCSI] iscsi_tcp, libiscsi: initial AHS Support at libiscsi generic code - currently code assumes a storage space of pdu header is allocated at llds ctask and is pointed to by iscsi_cmd_task->hdr. Here I add a hdr_max field pertaining to that storage, and an hdr_len that accumulates the current use of the pdu-header. - Add an iscsi_next_hdr() inline which returns the next free space to write new Header at. Also iscsi_next_hdr() is used to retrieve the address at which to write the header-digest. - Add iscsi_add_hdr(length). What the user do is calls iscsi_next_hdr() for address of the new header, than calls iscsi_add_hdr(length) with the size of the new header. iscsi_add_hdr() will check if space is available and update to the new size. length must be padded according to standard. - Add 2 padding inline helpers thanks to Olaf. Current patch does not use them but Following patches will. Also moved definition of ISCSI_PAD_LEN to iscsi_proto.h which had PAD_WORD_LEN that was never used anywhere. - Let iscsi_prep_scsi_cmd_pdu() signal an Error return since now it is possible that it will fail. - I was tired of yet again writing a "this is a digest" comment next to sizeof(__u32) so I defined a new ISCSI_DIGEST_SIZE. Now I don't need any comments. Changed all places that used sizeof(__u32) or "4" in connection to a digest. iscsi_tcp specific code - At struct iscsi_tcp_cmd_task allocate maximum space allowed in standard for all headers following the iscsi_cmd header. and mark it so in iscsi_tcp_session_create() - At iscsi_send_cmd_hdr() retrieve the correct headers size and write header digest at iscsi_next_hdr(). Signed-off-by: Boaz Harrosh Signed-off-by: Olaf Kirch Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 7207fea452cfdd2d4e2f4419e2c31f570edbade3 Author: Boaz Harrosh Date: Thu Dec 13 12:43:22 2007 -0600 [SCSI] iscsi: Prettify resid handling and some extra checks - Check to see that OVERFLOW is not negative indicating a bug. - Unify handling of UNDERFLOW and OVERFLOW to the same code. - Also handle BIDI_OVERFLOW. Signed-off-by: Boaz Harrosh Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit da32dd681f7a1a17073c42b375fc23cf73c92155 Author: Olaf Kirch Date: Thu Dec 13 12:43:21 2007 -0600 [SCSI] iscsi_tcp: rewrite recv path Rewrite recv path. Fixes: - data digest processing and error handling. - ahs support. Some fixups by Mike Christie Signed-off-by: Olaf Kirch Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 843c0a8a76078cf961b244b839683d0667313740 Author: Mike Christie Date: Thu Dec 13 12:43:20 2007 -0600 [SCSI] libiscsi, iscsi_tcp: add device support This patch adds logical unit reset support. This should work for ib_iser, but I have not finished testing that driver so it is not hooked in yet. This patch also temporarily reverts the iscsi_tcp r2t write out patch. That code is completely rewritten in this patchset. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 8ae732a91df051aba6820068a47b631a06599d84 Author: Tejun Heo Date: Fri Dec 7 22:36:23 2007 +0900 [SCSI] make pcmcia directory use obj-y|m instead of subdir-y|m subdir-y|m isn't supposed to contain modules or built-in components. Change subdir-$(CONFIG_PCMCIA) to obj-$(CONFIG_PCMCIA). Signed-off-by: Tejun Heo Acked-by: Sam Ravnborg Signed-off-by: James Bottomley commit b7d68ca3f055b90bb782bcfcf535f54cead7d7db Author: Denis Cheng Date: Thu Dec 13 16:14:27 2007 -0800 [SCSI] ipr: use LIST_HEAD instead of LIST_HEAD_INIT Signed-off-by: Denis Cheng Acked-by: Brian King Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 230e886e7bd663ff2e83cdeede12d7f09b9d3711 Author: Jeff Garzik Date: Thu Dec 13 16:14:12 2007 -0800 [SCSI] gdth: kill unneeded 'irq' argument Neither gdth_get_status() nor __gdth_interrupt() need their 'irq' argument, so remove it. [akpm@linux-foundation.org: coding style fixes] Signed-off-by: Jeff Garzik Acked-by: Boaz Harrosh Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 736f77deaf6b0bf51eaab1ea5d074adc11b8c7cd Author: Jeff Garzik Date: Thu Dec 13 16:14:13 2007 -0800 [SCSI] sym53c416: kill pointless irq handler loop and test - kill pointless irq handler loop to find base address, it is already passed to irq handler via Scsi_Host. - kill now-pointless !base test. Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit baa9aac6a15a1990e9d2d7a5648f53dfccc440ad Author: Jeff Garzik Date: Thu Dec 13 16:14:14 2007 -0800 [SCSI] NCR5380: minor irq handler cleanups * remove unnecessary cast * remove unnecessary use of 'irq' function arg Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit fc9b5118823e84b4ed0acddd99c1e453298e103d Author: Andrew Morton Date: Thu Dec 13 16:14:23 2007 -0800 [SCSI] sgiwd93: export sgiwd93_reset() mips allmodconfig: ERROR: "sgiwd93_reset" [drivers/scsi/wd33c93.ko] undefined! Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 94cf6ba11b068b8a8f68a1e88bffb6827e92124b Author: Salyzyn, Mark Date: Thu Dec 13 16:14:18 2007 -0800 [SCSI] aacraid: fix driver failure with Dell PowerEdge Expandable RAID Controller 3/Di As reported in http://bugzilla.kernel.org/show_bug.cgi?id=3D9133 it was discovered that the PERC line of controllers lacked a key 64 bit ScatterGather capable SCSI pass-through function. The adapters are still capable of 64 bit ScatterGather I/O commands, but these two can not be mixed. This problem was exacerbated by the introduction of the SCSI Generic access to the DASD physical devices. The fix for users before this patch is applied is aacraid.dacmode=3D0 on the kernel command line to disable 64 bit I/O. The enclosed patch introduces a new adapter quirk and tries to limp along by enabling pass-through in situations where memory is 32 bit addressable on 64 bit machines, or disable the pass-through functions altogether. I expect that the check for 32 bit addressable memory to be controversial in that it can be incorrect in non-Dell non-Intel systems that PERC would never be installed under, the alternative is to disable pass-through in all cases which could be reported as another regression. Pass-through is used for SCSI Generic access to the physical devices, or for the management applications to properly function. In systems where this patch has disabled pass-through because it is unsupportable in combination with I/O performance, the user can choose to enable pass-through by turning off dacmode (aacraid.dacmode=3D0) or limiting the discovered kernel memory (mem=3D4G) with an associated loss in runtime performance. If we chose instead to turn off 64 bit dacmode for the adapters with this quirk, then this would be reported as another regression. Signed-off-by: Mark Salyzyn Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 00f5970193e22c48f399a2430635d6416b51befe Author: HighPoint Linux Team Date: Thu Dec 13 16:14:26 2007 -0800 [SCSI] hptiop: add more adapter models and other fixes Most code changes were made to support adapters based on Marvell IOP, plus some other fixes. - add more PCI device IDs - support for adapters based on Marvell IOP - fix a result code translation error on big-endian systems - fix resource releasing bug when scsi_host_alloc() fail in hptiop_probe() - update scsi_cmnd.resid when finishing a request - correct some coding style issues [akpm@linux-foundation.org: type fixes] Signed-off-by: HighPoint Linux Team Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit a7ed0448e28ce6154390bf690b8b5c37853732dc Author: Randy Dunlap Date: Mon Oct 29 11:20:35 2007 -0700 [SCSI] aic94xx: fix section mismatches Fix section mismatch warning: WARNING: vmlinux.o(.init.text+0x23be6): Section mismatch: reference to .exit.text:asd_unmap_ha (between 'asd_pci_probe' and 'qla4xxx_module_init') + WARNING: vmlinux.o(.text+0x1ec8a8): Section mismatch: reference to .exit.text:as d_unmap_ioport (between 'asd_unmap_ha' and 'asd_remove_dev_attrs') WARNING: vmlinux.o(.text+0x1ec8b1): Section mismatch: reference to .exit.text:as d_unmap_memio (between 'asd_unmap_ha' and 'asd_remove_dev_attrs') Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 2551a13e61d3c3df6c2da6de5a3ece78e6d67111 Author: Jeff Garzik Date: Thu Dec 13 16:14:10 2007 -0800 [SCSI] ips: handle scsi_add_host() failure, and other err cleanups Signed-off-by: Jeff Garzik Acked-by: "Salyzyn, Mark" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 21e1a5f26c437591f67779a97e5cc95ebbb02e90 Author: Jeff Garzik Date: Thu Dec 13 16:14:09 2007 -0800 [SCSI] ips: PCI API cleanups * pass Scsi_Host to ips_remove_device() via pci_set_drvdata(), allowing us to eliminate the ips_ha[] search loop and call ips_release() directly. * call pci_{request,release}_regions() and eliminate individual request/release_[mem_]region() calls * call pci_disable_device(), paired with pci_enable_device() * s/0/NULL/ in a few places * check ioremap() return value Signed-off-by: Jeff Garzik Acked-by: "Salyzyn, Mark" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 2f277d6a719064f830211d0a0e104a37da2ac116 Author: Jeff Garzik Date: Thu Dec 13 16:14:08 2007 -0800 [SCSI] ips: trim trailing whitespace [akpm@linux-foundation.org: coding style fixes] Signed-off-by: Jeff Garzik Acked-by: "Salyzyn, Mark" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 8a694cc87a1f9640aac9a9a278a8673e35a5e507 Author: Jeff Garzik Date: Thu Dec 13 16:14:07 2007 -0800 [SCSI] ips: remove ips_ha members that duplicate struct pci_dev members Signed-off-by: Jeff Garzik Acked-by: "Salyzyn, Mark" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 864473bbbbcbe99e95a57ad496894768cd77a567 Author: Randy Dunlap Date: Mon Oct 29 11:20:40 2007 -0700 [SCSI] sym2: fix section mismatch warning Fix section mismatch warning: WARNING: vmlinux.o(.text+0x1ff3a2): Section mismatch: reference to .exit.text:sym2_remove (between 'sym2_io_error_detected' and 'sym_xpt_done') Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit a6ababd26aac6ef875df2055dcc147ccda2f8364 Author: Adrian Bunk Date: Mon Nov 5 18:07:33 2007 +0100 [SCSI] lpfc: minor cleanups This patch contains the following minor cleanups: - make the following needlessly global functions static: - lpfc_els.c: lpfc_register_new_vport() - lpfc_els.c: lpfc_issue_els_fdisc() - lpfc_els.c: lpfc_issue_fabric_iocb() - lpfc_els.c: lpfc_fabric_abort_vport() - lpfc_hbadisc.c: lpfc_dev_loss_tmo_handler() - lpfc_hbadisc.c: lpfc_mbx_cmpl_clear_la() - lpfc_hbadisc.c: lpfc_disc_flush_list() - lpfc_hbadisc.c: __lpfc_find_node() - lpfc_init.c: lpfc_hb_timeout() - lpfc_init.c: lpfc_block_mgmt_io() - lpfc_sli.c: __lpfc_sli_release_iocbq() - lpfc_sli.c: lpfc_sli_next_hbq_slot() - lpfc_sli.c: lpfc_sli_hbqbuf_init_hbqs() - lpfc_sli.c: lpfc_sli_hbqbuf_find() - lpfc_sli.c: __lpfc_sli_issue_iocb() - #if 0 the following unused global functions: - lpfc_els.c: lpfc_fabric_abort_flogi() - lpfc_hbadisc.c: lpfc_find_node() - lpfc_hbadisc.c: lpfc_findnode_rpi() - remove the unused exports Signed-off-by: Adrian Bunk Acked-by: James Smart Signed-off-by: James Bottomley commit 001aac257cf8adbe90cdcba6e07f8d12dfc8fa6b Author: James Bottomley Date: Sun Dec 2 19:10:40 2007 +0200 [SCSI] sd,sr: add early detection of medium not present The current scsi_test_unit_ready() is updated to return sense code information (in struct scsi_sense_hdr). The sd and sr drivers are changed to interpret the sense code return asc 0x3a as no media and adjust the device status accordingly. Signed-off-by: James Bottomley commit 4a03d90e35bc5273d27301fa669d4b2103196f94 Author: Rusty Russell Date: Mon Nov 19 11:28:48 2007 +1100 [SCSI] BUG_ON() impossible condition in sg list counting If blk_rq_map_sg wrote more than was allocated in the scatterlist, BUG_ON() is probably the right thing to do. [jejb: rejections fixed up] Signed-off-by: Rusty Russell Acked-by: Jens Axboe Signed-off-by: James Bottomley commit a8aae4d3427a5cf7c92b50125e35ea6cb9ba7394 Author: Randy Dunlap Date: Thu Nov 15 11:53:25 2007 +0200 [SCSI] tgt: fix build when dprintk is defined Fix scsi_tgt_lib build when dprintk is defined: Also fix accessors problem when dprintk is defined drivers/scsi/scsi_tgt_lib.c: In function 'scsi_tgt_cmd_destroy': drivers/scsi/scsi_tgt_lib.c:183: warning: format '%lu' expects type 'long unsigned int', but argument 6 has type 'unsigned int' drivers/scsi/scsi_tgt_lib.c: In function 'scsi_tgt_cmd_done': drivers/scsi/scsi_tgt_lib.c:330: warning: format '%lu' expects type 'long unsigned int', but argument 5 has type 'unsigned int' drivers/scsi/scsi_tgt_lib.c: In function 'scsi_tgt_transfer_response': drivers/scsi/scsi_tgt_lib.c:345: warning: format '%lu' expects type 'long unsigned int', but argument 5 has type 'unsigned int' drivers/scsi/scsi_tgt_lib.c: In function 'scsi_tgt_init_cmd': drivers/scsi/scsi_tgt_lib.c:368: warning: format '%lu' expects type 'long unsigned int', but argument 6 has type 'unsigned int' drivers/scsi/scsi_tgt_lib.c: In function 'scsi_tgt_kspace_exec': drivers/scsi/scsi_tgt_lib.c:499: warning: format '%lu' expects type 'long unsigned int', but argument 9 has type 'unsigned int' drivers/scsi/scsi_tgt_lib.c: In function 'scsi_tgt_kspace_it_nexus_rsp': drivers/scsi/scsi_tgt_lib.c:620: error: 'mid' undeclared (first use in this function) drivers/scsi/scsi_tgt_lib.c:620: error: (Each undeclared identifier is reported only once drivers/scsi/scsi_tgt_lib.c:620: error: for each function it appears in.) make[2]: *** [drivers/scsi/scsi_tgt_lib.o] Error 1 [tomo: > - dprintk("%d %d %llx\n", host_no, result, (unsigned long long) mid); > + dprintk("%d %d\n", host_no, result); 'mid' is a typo. I wanted to do: dprintk("%d %d %llx\n", host_no, result, (unsigned long long)itn_id); The rest looks ok. Thanks, ] Signed-off-by: Randy Dunlap Signed-off-by: Boaz Harrosh Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit f3307f7276067e2f8f29a20e3ebe52887e8f9f00 Author: Christoph Hellwig Date: Thu Nov 8 17:27:47 2007 +0000 [SCSI] aacraid: don't assign cpu_to_le32(int) to u8 On Wed, Nov 07, 2007 at 01:51:44PM -0500, Salyzyn, Mark wrote: > Christoph Hellwig [mailto:hch@infradead.org] sez: > > Did anyone run the driver through sparse to see if we have > > more issues like this? > > There are some warnings from sparse, none like this one. I will deal > with the warnings ... Actually there are a lot of endianess warnings, fortunately most of them harmless. The patch below fixes all of them up (including the ones in the patch I replied to), except for aac_init_adapter which is really odd and I don't know what to do. [jejb fixed up rejections and checkpatch issues] Signed-off-by: Christoph Hellwig Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit 3fb8931645e23785ee406444a782ba03c31d0e71 Author: Andrew Vasquez Date: Mon Nov 12 10:31:00 2007 -0800 [SCSI] qla2xxx: Update version number to 8.02.00-k6. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit f4a8dbc7f6ca8c0a7ec4f112320899b6b77d7e17 Author: Shyam Sundar Date: Mon Nov 12 10:30:59 2007 -0800 [SCSI] qla2xxx: Properly handle Vport state-change-notifications. Drivers do SCRs for each Vport. When something changes in the fabric, firmware generates one interrupt for each RSCN. Based on the current implementation, in each case, we make recursive calls to handle RSCN for physical and each subsequent virtual ports. The fix is to also take into consideration the vp_idx, which is set by the firmware to indicate the vport the RSCN was meant for. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit eb66dc60be5a72bc940458a5adfd400e4d810d49 Author: Andrew Vasquez Date: Mon Nov 12 10:30:58 2007 -0800 [SCSI] qla2xxx: Correct NPIV support for recent ISPs. Firmware will export to software the maximum number of vports supported for any given firmware version and ISP type. Use this information rather than the current hardcoding of limitations within the driver. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 06e23b7470ca7974b0ca8150c5415b55b5ea2a99 Author: Andrew Vasquez Date: Mon Nov 12 10:30:57 2007 -0800 [SCSI] qla2xxx: Don't explicitly read mbx registers while processing a system-error. Callers of qla2x00_async_event() already populate the mb[] array upon invocation, doing so via the appropriate mailbox register accessors. The stale codes removed are leftover-bits kept during the FWI2 transition. Though relatively benign, the extra-reads are not valid for FWI2 boards (ISP24xx and above) and peek into the incorrect regions of registers. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 860784c8a2b077157b6a51fb8749524d0363cc49 Author: Robert Jennings Date: Mon Nov 12 09:00:23 2007 -0600 [SCSI] ibmvscsi: requeue while CRQ closed CRQ send errors that return with H_CLOSED should return with SCSI_MLQUEUE_HOST_BUSY until firmware alerts the client of a CRQ transport event. The transport event will either reinitialize and requeue the requests or fail and return IO with DID_ERROR. To avoid failing the eh_* functions while re-attaching to the server adapter this will retry for a period of time while ibmvscsi_send_srp_event returns SCSI_MLQUEUE_HOST_BUSY. In ibmvscsi_eh_abort_handler() the loop includes the search of the event list. The lock on the hostdata is dropped while waiting to try again after failing ibmvscsi_send_srp_event. The event could have been purged if a login was in progress when the function was called. In ibmvscsi_eh_device_reset_handler() the loop includes the call to get_event_struct() because a failing call to ibmvscsi_send_srp_event() will have freed the event struct. Signed-off-by: Robert Jennings Signed-off-by: Brian King Signed-off-by: James Bottomley commit dc8875e1078961591af4fbf9556c44648bf28d11 Author: Randy Dunlap Date: Thu Nov 15 15:42:30 2007 -0800 [SCSI] docbook and kernel-doc updates - Change title to remove "Mid-Layer" since the doc is about all of the SCSI layers. - Use "SCSI" instead of "scsi" in docbook text. - Use "*/" to end kernel-doc notation blocks. - A few other minor typo fixes. Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit c93ff979a40e99f7229544cc8298c820b8eda17e Author: Randy Dunlap Date: Thu Nov 15 17:07:28 2007 -0800 [SCSI] kernel-doc: use correct function name Use correct function name in kernel-doc. Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 6af6632a1c1cac169fe7fbedb2f642b4ebb38323 Author: Randy Dunlap Date: Wed Nov 14 16:52:25 2007 -0800 [SCSI] boot options: correct option name and tell where to find docs for it Minor corrections and additions to 'scsi_logging_level', as pointed out by Chuck Ebbert. Also point out the IBM S390-tools 'scsi_logging_level' script. Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 25d7c363f2663fe399e623c9bd819258c9760bdc Author: Tony Battersby Date: Mon Nov 12 10:00:44 2007 -0500 [SCSI] move single_lun flag from scsi_device to scsi_target Some SCSI tape medium changers that need the BLIST_SINGLELUN flag have the medium changer at one LUN and the tape drive at a different LUN. The inquiry string of the tape drive may be different from that of the medium changer. In order for single_lun to be effective, every scsi_device under a given scsi_target must have it set. This means that there needs to be a blacklist entry for BOTH the medium changer AND the tape drive, which is impractical because some medium changers may be paired with a variety of different tape drive models. It makes more sense to put the single_lun flag in scsi_target instead of scsi_device, which causes every device at a given target ID to inherit the single_lun flag from one LUN. This makes it possible to blacklist just the medium changer and not the tape drive. Signed-off-by: Tony Battersby Signed-off-by: James Bottomley commit f28cd7cf8f696eafe42d1632b5a306fbf784d3cd Author: bo yang Date: Fri Nov 9 04:44:56 2007 -0500 [SCSI] megaraid_sas: Update version and changelog Update version and changelog Signed-off-by: Bo Yang Signed-off-by: James Bottomley commit ad84db2e2e1817bb8a29e7c9108eb66bf023d99f Author: bo yang Date: Fri Nov 9 04:40:16 2007 -0500 [SCSI] megaraid_sas: support for poll_mode_io (reduced interrupt) Added module parameter "poll_mode_io" to support for "polling" (reduced interrupt operation). In this mode, IO completion interrupts are delayed. At the end of initiating IOs, the driver schedules for cmd completion if there are pending cmds. A timer-based interrupt has also been added to prevent IO completion from being delayed indefinitely in the case that no new IOs are initiated. Some formatting issues in resume, suspend comment block also corrected Signed-off-by: Bo Yang Signed-off-by: James Bottomley commit 7343eb6570ae3b299e7b5185b139d8335ef60e9b Author: bo yang Date: Fri Nov 9 04:35:44 2007 -0500 [SCSI] megaraid_sas: call cmd completion from reset Driver will call cmd completion routine from Reset path without waiting for cmd completion from isr context. Signed-off-by: Bo Yang Signed-off-by: James Bottomley commit b10c36a57552f03582c0ab3ece04f3cce791922d Author: bo yang Date: Fri Nov 9 04:28:47 2007 -0500 [SCSI] megaraid_sas: use unsigned long for sense_buff ptr MegaRAID utilities expect sense_buff to be of type unsigned long. Signed-off-by: Bo Yang Signed-off-by: James Bottomley commit 14faea9f7fe1e8805629b50cf14a65a85fe4a4fd Author: bo yang Date: Fri Nov 9 04:14:00 2007 -0500 [SCSI] megaraid_sas: check max_sgl reported by FW for setting max_sectors_per_req 1. Setting the max_sectors_per_req based on max SGL supported by the FW. Prior versions calculated this value from controller info's max_sectors_1, max_sectors_2. For certain controllers/FW, this was resulting in a value greater than max SGL supported by the FW. Now we take the min of max sgl from FW and max_sectors calculation. 2. Increased MFI_POLL_TIMEOUT_SECS to 60 seconds from 10. FW may take a max of 60 seconds to respond to the INIT cmd. Signed-off-by: Bo Yang Signed-off-by: James Bottomley commit 31ea7088974c2405e19d72f17c2afb103ef19e02 Author: bo yang Date: Wed Nov 7 12:09:50 2007 -0500 [SCSI] megaraid_sas: add hibernation support Adding hibernation support. suspend, resume routine implemented. Signed-off-by: Bo Yang Signed-off-by: James Bottomley commit 1e6c38cec08f88b0df88a34e80f15492cace74e9 Author: Tony Battersby Date: Fri Nov 9 13:04:35 2007 -0500 [SCSI] 3w-9xxx: fix abysmal write performance on some motherboards The 3ware 9500S-8 SATA RAID controller exhibits terrible write performance when PCI memory-write-and-invalidate is disabled. This is easy to demonstrate by replacing pci_try_set_mwi() in the patch below with pci_clear_mwi(). My benchmarks show the following: MWI disabled: 15 MB/s write, 330 MB/s read MWI enabled: 240 MB/s write, 330 MB/s read Most motherboards will enable MWI without the driver having to set it explicitly, so most people probably wouldn't encounter this problem. For the few motherboards that don't enable it, this patch could give a 16x performance improvement for writing. This issue does not seem to affect the 9550SX controller, but the patch doesn't hurt it either. I haven't tested any of the other 3ware controllers. Signed-off-by: Tony Battersby Acked-by: adam radford Signed-off-by: James Bottomley commit 8ee24023ef43c77cdaea1add00e1e45cc4fc3261 Author: Darrick J. Wong Date: Mon Nov 5 11:52:14 2007 -0800 [SCSI] libsas: Fix various sparse complaints Annotate sas_queuecommand with locking details, and clean up a few more sparse warnings about static/non-static declarations. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 5929faf3334f4c69f3bb02be59d7c127e0cefa1f Author: Darrick J. Wong Date: Mon Nov 5 11:51:17 2007 -0800 [SCSI] libsas: Convert sas_proto users to sas_protocol sparse complains about the mixing of enums in libsas. Since the underlying numeric values of both enums are the same, combine them to get rid of the warning. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit e5a69e27cc193f98c9a5a9086e3bf85528170623 Author: Matthias Kaehlcke Date: Sat Oct 27 09:48:46 2007 +0200 [SCSI] megaraid_sas: Convert aen_mutex to the mutex API Signed-off-by: Matthias Kaehlcke Acked-by: Bo Yang Signed-off-by: James Bottomley commit 3ce7c6588637614b00072569679791a04898c790 Author: Boaz Harrosh Date: Sun Sep 9 21:13:42 2007 +0300 [SCSI] imm: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup - Not ready for sg-chaining Signed-off-by: Boaz Harrosh Acked-by: Randy Dunlap Tested-by: Randy Dunlap Signed-off-by: James Bottomley commit 57643c711c3759623e7ac651a4a418858cdaeae5 Author: Boaz Harrosh Date: Sun Sep 9 21:16:58 2007 +0300 [SCSI] ppa: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Acked-by: Randy Dunlap Tested-by: Randy Dunlap Signed-off-by: James Bottomley commit 74286a3c276bca449f934b2cd921f9bced996e04 Author: James Bottomley Date: Wed Nov 14 18:01:21 2007 -0600 [SCSI] DocBook scsi_midlayer.tmpl->scsi.tmpl Signed-off-by: James Bottomley commit eb44820c28bc9a042e1157b41c677018a8fdfc74 Author: Rob Landley Date: Sat Nov 3 13:30:39 2007 -0500 [SCSI] Add Documentation and integrate into docbook build Add Documentation/DocBook/scsi_midlayer.tmpl, add to Makefile, and update lots of kerneldoc comments in drivers/scsi/*. Updated with comments from Stefan Richter, Stephen M. Cameron, James Bottomley and Randy Dunlap. Signed-off-by: Rob Landley Signed-off-by: James Bottomley commit 3f48985823001c89c9bd5c5e57cc07530578dfcc Author: Christof Schmitt Date: Mon Nov 5 12:37:48 2007 +0100 [SCSI] zfcp: Reduce flood on hba trace Remove tracing for request with a "qualifier" field set in the response. The protocol status qualifier now contains measurement data for "good" commands, so this check would trace every response by default. The fix is to simply remove the "qual" tracing: The responses with an interesting status are also traced as "ferr" or "perr" and all responses can be traced as "norm" with a higher trace level. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 1de1b43b5f0bb536126e31f07ec833e01969ed1c Author: Christof Schmitt Date: Mon Nov 5 12:37:47 2007 +0100 [SCSI] zfcp: Fix deadlock when adding invalid LUN When adding an invalid LUN, there is a deadlock between the add via scsi_scan_target and the slave_destroy handler: The handler waits for the scan to complete, but for an invalid unit, scsi_scan_target directly calls the slave_destroy handler. Fix the deadlock by removing the wait in the slave_destroy handler, it was not necessary anyway. Signed-off-by: Christof Schmitt Signed-off-by: Martin Schwidefsky Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit e39c8877a41e8f70225baeeb74fade8fe3a80d8b Author: Christof Schmitt Date: Mon Nov 5 12:37:46 2007 +0100 [SCSI] zfcp: Remove SCSI devices when removing complete adapter The common I/O layer can call remove a handler to inform zfcp that a device disappeared. The handler zfcp_ccw_remove then removes all unit, port and the adapter data structures. Removing the units requires that the SCSI devices are removed first. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 18edcdbdb2911baa5aaeb0ed781e3424cbf98d64 Author: Christof Schmitt Date: Mon Nov 5 12:37:45 2007 +0100 [SCSI] zfcp: Specify waiting times in ERP in seconds It is not necessary to use jiffies or milliseconds to specify waiting times that last a couple of seconds. Signed-off-by: Christof Schmitt Signed-off-by: Martin Schwidefsky Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 345bfea5e424f086b654294eddcfa3f8ff92b47f Author: Christof Schmitt Date: Mon Nov 5 12:37:44 2007 +0100 [SCSI] zfcp: Use also port and adapter to identify unit in messages. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit a11b4743e58f53213acdd16e3a0004d035aa45f0 Author: Christof Schmitt Date: Mon Nov 5 12:37:43 2007 +0100 [SCSI] zfcp: Remove unnecessary eh_bus_reset_handler callback The callback function used by zfcp always returns success, which is an indication for the SCSI midlayer to stop error handling. Remove the bus_reset callback, since the same function will be called via the host_reset callback. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit f858317d894a22eb2c26edcd26c7060fc4f40a15 Author: Salyzyn, Mark Date: Tue Oct 30 15:50:49 2007 -0400 [SCSI] aacraid: forced reset override Some of our vendors have requested that our adapters ignore the hardware reset attempts during recovery and have enforced this with changes in Adapter Firmware. Some of our customers have requested the option to be able to reset the adapter under adverse adapter failure, we even had a few defects reported here considering it a regression that the Adapter could not be reset. This patch addresses this dichotomy. The user can force the adapter to be reset if it supports the IOP_RESET_ALWAYS command, in cases where the adapter has been programmed to ignore the reset, by setting the aacraid.check_reset parameter to a value of -1. The driver will not reset an Adapter that does not support the reset command(s). This patch also fixes and cleans up some of the logic associated with resetting the adapter. Signed-off-by: Mark Salyzyn Signed-off-by: James Signed-off-by: James Bottomley commit 9e0fe44ddb9ed037188ac711af1e981ac32d3c32 Author: Boaz Harrosh Date: Mon Nov 5 11:23:35 2007 +0200 [SCSI] NCR5380 family: convert to accessors & !use_sg cleanup - This patch depends on: NCR5380: Use scsi_eh API for REQUEST_SENSE invocation - convert to accessors and !use_sg cleanup - FIXME: Not sg-chain ready look for ++cmd->SCp.buffer Signed-off-by: Boaz Harrosh Signed-off-by: James Signed-off-by: James Bottomley commit 9a3dd65bafcfa3338cfb4b6b7e12ff59aca0ac28 Author: Boaz Harrosh Date: Mon Nov 5 11:21:40 2007 +0200 [SCSI] wd7000: proper fix for boards without sg support - code used to set sg_tablesize to zero for board revision less than 6. This is no longer supported, therefore I use sg_tablesize=1 and open code the sg handling for that case. - Get rid of use of SG_NONE which will be removed soon. Signed-off-by: Boaz Harrosh Signed-off-by: James Signed-off-by: James Bottomley commit fe7ed98fd49a28287aca8b0ba8da8fb9ca35a055 Author: Boaz Harrosh Date: Sun Sep 9 21:06:23 2007 +0300 [SCSI] atp870u: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup - Probably not ready for sg-chaining Signed-off-by: Boaz Harrosh Acked-by: Christoph Hellwig Cc: jameshsu Signed-off-by: James Bottomley commit c73961e563dde3239e2e5da08b25ab2832b2e840 Author: Boaz Harrosh Date: Fri Sep 7 06:50:20 2007 +0900 [SCSI] scsi_debug: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: Boaz Harrosh Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 48c23d3e377bb090bf49ea6c45d024b4c11439b0 Author: Boaz Harrosh Date: Wed Aug 22 19:10:45 2007 +0300 [SCSI] isd200: use one-element sg list in issuing commands - This patch should be commited before: usb: transport - convert to accessors and !use_sg code path removal - isd200_action() was still using direct liniar pointers in issuing commands to the USB transport level. This is no longer supported, use one-element scatterlist instead. - Adjustment of command's length in the case of scsi-to-ata translation is now restored before return to queuecommand, since other wise it can leak BIOs. - isd200_action() return Error on unknown requests. Used to print an error but still try to send garbage cdb. - convert few places to scsi data accessors. - Todo: This file will need to be changed when scsi_cmnd changes to scsi_data_buffer or any other solution. Signed-off-by: Boaz Harrosh Acked-by: Matthew Dharm Signed-off-by: James Bottomley commit 6d416e6173394defda5933e419e805b696681b7e Author: Boaz Harrosh Date: Mon Sep 10 18:01:08 2007 +0300 [SCSI] usb: transport - convert to accessors and !use_sg code path removal - This patch depends on: usb: transport.c use scsi_eh API in REQUEST_SENSE execution - Use scsi data accessors and remove of !use_sg code path. - New usb_stor_bulk_srb() for use by drivers [jejb: updated with corrective fix. had a bug in residual handling in the new usb_stor_bulk_srb() function. Found by Gabriel C. in -mm tree. Tested-by: Gabriel C ] Signed-off-by: Boaz Harrosh Acked-by: Matthew Dharm Signed-off-by: James Bottomley commit 4776e99ebb171d61c7e242db437358183f27b471 Author: Boaz Harrosh Date: Sun Sep 9 20:40:56 2007 +0300 [SCSI] usb: shuttle_usbat - convert to accessors and !use_sg code path removal - functions that received char* but where passed scatterlist* mostly were changed to receive void* - Use scsi data accessors and remove of !use_sg code path Signed-off-by: Boaz Harrosh Acked-by: Matthew Dharm Signed-off-by: James Bottomley commit 41c2497b188a641c542328d08a45cf3214d453bd Author: Boaz Harrosh Date: Sun Sep 9 20:47:26 2007 +0300 [SCSI] usb: freecom & sddr09 - convert to accessors and !use_sg cleanup - Use scsi data accessors and remove of !use_sg code path - This patch is dependent on cleanup patch to usb transport.c/h Signed-off-by: Boaz Harrosh Acked-by: Matthew Dharm Signed-off-by: James Bottomley commit dd829d2302c6b0f88542ca367229d676cb9ca212 Author: Boaz Harrosh Date: Sun Sep 9 20:22:23 2007 +0300 [SCSI] usb: protocol - convert to accessors and !use_sg code path removal - Use scsi data accessors and remove of !use_sg code path Signed-off-by: Boaz Harrosh Acked-by: Matthew Dharm Signed-off-by: James Bottomley commit caa1e8c32131201193fc4711f5b07a36d3d941df Author: Boaz Harrosh Date: Wed Oct 17 10:43:20 2007 +0200 [SCSI] seagate: Remove driver - Apparently no one wonts this driver, and no one is willing to fix it for future changes to SCSI. So remove it, and if someone wants it in the future He can revive it with the needed fixes. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 864a4675b239dcc3ae5b8adce15a370639b5ccab Author: Boaz Harrosh Date: Thu Jul 12 19:49:15 2007 +0300 [SCSI] psi240i: remove driver The psi240i driver is still written for cmnd->request_buffer as a char pointer to actual data. There was never any attempt to use the scatterlist option. - remove all source files (3) from drivers/scsi - Remove from Makefile and Kconfig Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 53d2a885032411b471b393d065c7b4693fbaafb4 Author: Boaz Harrosh Date: Sun Sep 9 21:14:41 2007 +0300 [SCSI] in2000: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit dfb104ff5d8215e09892aad3cd094ad6597b1cfe Author: Boaz Harrosh Date: Sun Sep 9 21:21:35 2007 +0300 [SCSI] qlogicpti: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit ee0ae927937ac8a30350cca1a7a75efafb13976e Author: Boaz Harrosh Date: Sun Sep 9 21:25:11 2007 +0300 [SCSI] wd33c93: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 8e31f1f4d94c8e7e09efab0166cb2ef2ceeec2ce Author: Boaz Harrosh Date: Sun Sep 9 21:12:24 2007 +0300 [SCSI] fd_mcs: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup - Not ready for sg-chaining Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit fc3fdfcc8bb0e069a2d172e745664fa2c1f1b0ca Author: Boaz Harrosh Date: Sun Sep 9 21:02:45 2007 +0300 [SCSI] aha1542: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit cc0455fac06f0539277d7b724dbc513284629069 Author: Boaz Harrosh Date: Sun Sep 9 20:59:32 2007 +0300 [SCSI] a3000: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit f2c1afa5ebc6cd3171539e686b48a2afe24694c0 Author: Boaz Harrosh Date: Sun Sep 9 20:57:05 2007 +0300 [SCSI] a2091: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 7410d849a47047f1299a505dd5fde68d0ed45eaa Author: Boaz Harrosh Date: Sun Sep 9 21:10:27 2007 +0300 [SCSI] eata_pio: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 040cd23242413a8bd2a49b6de1ee320ce392a46d Author: Boaz Harrosh Date: Thu Aug 16 13:01:05 2007 +0300 [SCSI] nsp_cs: convert to data accessors and !use_sg cleanup - use scsi data accessors - cleanup !use_sg code paths - TODO: use next_sg() for Jens's sglist branch. Look for 2 places with "SCp.buffer++" Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 73d2cb165af80f6a61458d808d80514d2665d7da Author: Boaz Harrosh Date: Thu Nov 1 18:54:44 2007 +0200 [SCSI] aha152x: Use scsi_eh API for REQUEST_SENSE invocation - Use new scsi_eh_prep/restor_cmnd() for synchronous REQUEST_SENSE invocation. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 75a9a4e1476db705dbbcbd2e3a16b265ef8ec3e9 Author: Mike Christie Date: Wed Oct 31 20:59:56 2007 -0500 [SCSI] add DID_REQUEUE string to scsi_show_result host table I was working on patches which add new transport error values, when I noticed that DID_REQUEUE was not in the hostbyte_table. I do not think there is any way to hit the code path where scsi_show_result is called and where you return DID_REQUEUE, because DID_REQUEUE causes scsi-ml to always requeue the command. However, for completeness and because I want to one day send a patch that tries to add new host bytes values, I am sending this patch. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 062af9c300cd4c703c78bcc109647a9629afea0d Author: James Smart Date: Sat Oct 27 13:38:20 2007 -0400 [SCSI] lpfc 8.2.3 : Change version number to 8.2.3 Change version number to 8.2.3 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 7af670510df343db55752a2210dcf4fc09f59fbb Author: James Smart Date: Sat Oct 27 13:38:11 2007 -0400 [SCSI] lpfc 8.2.3 : Temperature handling fix Temperature handling fix - return proper error code indicator for applications Signed-off-by: James Smart Signed-off-by: James Bottomley commit 76bb24efdc5de8eead0ccc07ec7e3b59a4ca0f15 Author: James Smart Date: Sat Oct 27 13:38:00 2007 -0400 [SCSI] lpfc 8.2.3 : Internal loopback fixes Internal loopback fixes: - Use HBQs rather than Q_RING_BUFF - Correct HBQs continuation entries - Update CT handler to SLI3 iocbs Signed-off-by: James Smart Signed-off-by: James Bottomley commit a8adb83208020c913f010cb4e26d09e25300db8e Author: James Smart Date: Sat Oct 27 13:37:53 2007 -0400 [SCSI] lpfc 8.2.3 : Miscellaneous Small Fixes - part 2 Miscellaneous Small Fixes - part 2 - Fix ndlp left in PLOGI state after link up - Fix cannot rcv unsol ELS frames after running HBA resets for a few minutes - Fix HBQ buffer_count implemention - Fix RPI leak - Fix crash while deleting vports while HBA is reset - Revert the FCP Fbits offset back to 7 - Fix panic when deleting vports - Remove unused code in switch statement outside of a case - Reject PLOGI from invalid PName or NName of 0 - Ignore PLOGI responses from WWPName or WWNName of 0 - Fix debugfs hbqinfo display for ppc - Added 8G to list of supported speeds for sysfs parameter - Defer ndlp cleanup to dev-loss timeout handler - Added support for WRITE_VPARMS mailbox command by applications Signed-off-by: James Smart Signed-off-by: James Bottomley commit 87af33fe5f78c27cf9e43c6e586dd6efd4be3e40 Author: James Smart Date: Sat Oct 27 13:37:43 2007 -0400 [SCSI] lpfc 8.2.3 : FC Discovery Fixes FC Discovery Fixes: - Fix up lpfc_drop_node() vs lpfc_nlp_not_used() usage - Clear ADISC flag when unregistering RPI and REMOVE ndlps if in recovery. - Fix usage of UNUSED list and ndlps - Fix PLOGI race conditions - Reset link if NameServer PLOGI errors occur - Synchronize GID_FT queries with PLOGI receptions Signed-off-by: James Smart Signed-off-by: James Bottomley commit 98c9ea5c026ee47efe2a0f595078dbf199d08f50 Author: James Smart Date: Sat Oct 27 13:37:33 2007 -0400 [SCSI] lpfc 8.2.3 : Miscellaneous Small Fixes - part 1 Miscellaneous Small Fixes - part 1 - Fix typo kmzlloc -> kzalloc - Fix discovery ndlp use after free panic - Fix link event causing flood of 0108 messages - Relieve some mbox congestion on link up with 100 vports - Fix broken vport parameters - Prevent lock recursion in logo_reglogin_issue - Split uses of error variable in lpfc_pci_probe_one into retval and error - Remove completion code related to dev_loss_tmo - Remove unused LPFC_MAX_HBQ #define - Don't compare pointers to 0 for sparse - Make 2 functions static for sparse - Fix default rpi cleanup code causing rogue ndlps to remain on the NPR list - Remove annoying ELS messages when driver is unloaded - Fix Cannot issue Register Fabric login problems on link up - Remove LPFC_EVT_DEV_LOSS_DELAY - Fix FC port swap test leads to device going offline - Fix vport CT flags to only be set when accepted - Add code to handle signals during vport_create - Fix too many retries in FC-AL mode - Pull lpfc_port_link_failure out of lpfc_linkdown_port Signed-off-by: James Smart Signed-off-by: James Bottomley commit 0b727fea7a700e223bf52fb1eaf4c3a27c4340db Author: James Smart Date: Sat Oct 27 13:37:25 2007 -0400 [SCSI] lpfc 8.2.3 : Remove flawed MBX_STOP_IOCB logic Remove flawed MBX_STOP_IOCB logic Signed-off-by: James Smart Signed-off-by: James Bottomley commit 7ee5d43e2ea25336a7638715420c75583bd2ed69 Author: James Smart Date: Sat Oct 27 13:37:17 2007 -0400 [SCSI] lpfc 8.2.3 : NPIV bug fixes NPIV bug fixes: - Remove vport params on physical hba when npiv is disabled - Implement new DA_ID CT command to remove vport information from the switch after delete. Some switches didn't clean this up unless the physical link dropped. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 57127f157298ea2dacbbc878a3c5d2a5daca772c Author: James Smart Date: Sat Oct 27 13:37:05 2007 -0400 [SCSI] lpfc 8.2.3 : Added support for ASICs that report temperature Added support for ASICs that report temperature. Temperature notices are reported as events and logged. Temperature can be read via sysfs. Signed-off-by: James Smart Signed-off-by: James Bottomley commit d1a357fcc8348d325d151f6fe0ea54e317652457 Author: Brian King Date: Thu Oct 25 16:06:34 2007 -0500 [SCSI] ibmvscsi: Set default command timeout Set the default command timeout for ibmvscsi disks to 60 seconds to ensure we don't prematurely timeout commands. This fixes a problem seen where the default 30 seconds was not long enough due to congestion on the server. Signed-off-by: Brian King Signed-off-by: James Bottomley commit f37a7238d379bc2befbcb08a03de03f4f446131c Author: Adrian Bunk Date: Wed Oct 24 18:26:22 2007 +0200 [SCSI] 53c7xx: fix removal fallout This patch does some additional cleanups after the 53c7xx removal. Signed-off-by: Adrian Bunk Acked-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit f10ab66fa564fd624b04fe207ccae206df85efbf Author: FUJITA Tomonori Date: Thu Oct 25 01:21:30 2007 +0900 [SCSI] tgt: convert to use the data buffer accessors - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 1237c98db2aa94b42dbb9fb1df062b7d3733dc83 Author: Gilbert Wu Date: Mon Oct 22 15:19:11 2007 -0700 [SCSI] aic94xx: update BIOS image from user space. 1. Create a file "update_bios" in sysfs to allow user to update bios from user space. 2. The BIOS image file can be downloaded from web site "http://www.adaptec.com/en-US/downloads/bios_fw/bios_fw_ver?productId=SAS-48300&dn=Adaptec+Serial+Attached+SCSI+48300" and copy the BIOS image into /lib/firmware folder. 3. The aic994xx will accept "update bios_file" and "verify bios_file" commands to perform update and verify BIOS image . For example: Type "echo "update asc483c01.ufi" > /sys/devices/.../update_bios" to update BIOS image from /lib/firmware/as483c01.ufi file into HBA's flash memory. Type "echo "verify asc483c01.ufi" > /sys/devices/.../update_bios" to verify BIOS image between /lib/firmware/asc48c01.ufi file and HBA's flash memory. 4. Type "cat /sys/devices/.../update_bios" to view the status or result of updating BIOS. Signed-off-by: Gilbert Wu Signed-off-by: James Bottomley commit 285e9670d91cdeb6b6693729950339cb45410fdc Author: Kay Sievers Date: Tue Aug 14 14:10:39 2007 +0200 [SCSI] sr,sd: send media state change modification events This will send for a card reader slot (remove/add media): UEVENT[1187091572.155884] change /devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/host7/target7:0:0/7:0:0:0 (scsi) UEVENT[1187091572.162314] remove /block/sdb/sdb1 (block) UEVENT[1187091572.172464] add /block/sdb/sdb1 (block) UEVENT[1187091572.175408] change /devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/host7/target7:0:0/7:0:0:0 (scsi) and for a DVD drive (add/eject media): UEVENT[1187091590.189159] change /devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0 (scsi) UEVENT[1187091590.957124] add /module/isofs (module) UEVENT[1187091604.468207] change /devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0 (scsi) Userspace gets events, even for unpartitioned media. This unifies the event handling for asynchronoous events (AN) and events caused by perodical polling the device from userspace. Signed-off-by: Kay Sievers [jejb: modified for new event API] Signed-off-by: James Bottomley commit e6ab15827eec0bc4444421f7ccf0223de321c708 Author: Igor Mammedov Date: Fri Jan 11 01:49:48 2008 +0000 [CIFS] DFS support patchset: Added mountdata Also cifs_fs_type was made not static for ussage in dfs code. Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit 967c9ec4ec6178bee42f4231c49a3d7f77627978 Author: Dave Kleikamp Date: Thu Jan 10 16:04:25 2008 -0600 JFS: simplify types to get rid of sparse warning jfs_metapage.c was using uints and unsigned ints inconsistently when regular ints suffice. Signed-off-by: Dave Kleikamp commit b966b54654598aebdac9c57f102d769b36d2f68f Author: Alexey Dobriyan Date: Tue Jan 8 21:36:34 2008 +1100 [CRYPTO] hifn_795x: Fixup container_of() usage Signed-off-by: Alexey Dobriyan Signed-off-by: Herbert Xu commit e6ccc727f30a02670f6a00df6d548942bc988f43 Author: Ilpo Järvinen Date: Tue Jan 8 17:20:31 2008 +1100 [CRYPTO] cast6: inline bloat-- Bloat-o-meter shows rather high readings for cast6... crypto/cast6.c: cast6_setkey | -1310 cast6_encrypt | -4567 cast6_decrypt | -4561 3 functions changed, 10438 bytes removed, diff: -10438 crypto/cast6.c: W | +659 Q | +308 QBAR | +316 3 functions changed, 1283 bytes added, diff: +1283 crypto/cast6.o: 6 functions changed, 1283 bytes added, 10438 bytes removed, diff: -9155 Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu commit 6eb7228421c01ba48a6a88a7a5b3e71cfb70d4a9 Author: Herbert Xu Date: Tue Jan 8 17:16:44 2008 +1100 [CRYPTO] api: Set default CRYPTO_MINALIGN to unsigned long long Thanks to David Miller for pointing out that the SLAB (or SLOB/SLUB) cache uses the alignment of unsigned long long if the architecture kmalloc/slab alignment macros are not defined. This patch changes the CRYPTO_MINALIGN so that it uses the same default value. Signed-off-by: Herbert Xu commit 38ed9ab23b8614c9c1553b2961ef2627f3088fd9 Author: Herbert Xu Date: Tue Jan 1 15:59:28 2008 +1100 [CRYPTO] tcrypt: Make xcbc available as a standalone test Currently the gcm(aes) tests have to be taken together with all other algorithms. This patch makes it available by itself at number 106. Signed-off-by: Herbert Xu commit 94765b9e4cba8e3c51c292338db16aa174894d30 Author: Herbert Xu Date: Tue Jan 1 15:49:17 2008 +1100 [CRYPTO] xcbc: Remove bogus hash/cipher test When setting the digest size xcbc tests to see if the underlying algorithm is a hash. This is silly because we don't allow it to be a hash and we've specifically requested for a cipher. This patch removes the bogus test. Signed-off-by: Herbert Xu commit 1b87887d6c232becba77835b29a424cf78442b7d Author: Herbert Xu Date: Tue Jan 1 15:44:50 2008 +1100 [CRYPTO] xcbc: Fix algorithm leak when block size check fails When the underlying algorithm has a block size other than 16 we abort without freeing it. In fact, we try to return the algorithm itself as an error! This patch plugs the leak and makes it return -EINVAL instead. Signed-off-by: Herbert Xu commit 2a999a3abb2d3885741b09b9d05280db7e757544 Author: Herbert Xu Date: Sun Dec 30 20:24:11 2007 +1100 [CRYPTO] tcrypt: Zero axbuf in the right function The axbuf buffer is used by test_aead and therefore should be zeroed there instead of in test_hash. Signed-off-by: Herbert Xu commit 866cd902e864e9d0e31299efa9d61fc9a9bec315 Author: Herbert Xu Date: Thu Dec 27 00:04:44 2007 +1100 [CRYPTO] padlock: Only reset the key once for each CBC and ECB operation Currently we reset the key for each segment fed to the xcrypt instructions. This patch optimises this for CBC and ECB so that we only do this once for each encrypt/decrypt operation. Signed-off-by: Herbert Xu commit 1c5dfe6a959b79215c0f73d793169a7d5755900e Author: Herbert Xu Date: Mon Dec 24 08:54:24 2007 +0800 [CRYPTO] api: Include sched.h for cond_resched in scatterwalk.h As Andrew Morton correctly points out, we need to explicitly include sched.h as we use the function cond_resched in crypto/scatterwalk.h. Signed-off-by: Herbert Xu commit 214dc54f6f1b71bcd895ef272c108c67ef046200 Author: Tan Swee Heng Date: Tue Dec 18 22:45:35 2007 +0800 [CRYPTO] salsa20-asm: Remove unnecessary dependency on CRYPTO_SALSA20 Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit d1cda4e39638e906f022c8ce56f566b617e1f77e Author: Sebastian Siewior Date: Tue Dec 18 00:08:27 2007 +0800 [CRYPTO] tcrypt: Add select of AEAD ERROR: "crypto_aead_setauthsize" [crypto/tcrypt.ko] undefined! ERROR: "crypto_alloc_aead" [crypto/tcrypt.ko] undefined! Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 9a7dafbba47384c330779c75a1546684efaa8c1a Author: Tan Swee Heng Date: Tue Dec 18 00:04:40 2007 +0800 [CRYPTO] salsa20: Add x86-64 assembly version This is the x86-64 version of the Salsa20 stream cipher algorithm. The original assembly code came from . It has been reformatted for clarity. Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit 974e4b752ee623854c5dc2bbfc7c7725029ce173 Author: Tan Swee Heng Date: Mon Dec 10 15:52:56 2007 +0800 [CRYPTO] salsa20_i586: Salsa20 stream cipher algorithm (i586 version) This patch contains the salsa20-i586 implementation. The original assembly code came from . I have reformatted it (added indents) so that it matches the other algorithms in arch/x86/crypto. Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit dadbc53d0bbde0e84c40b9f6bc5c50eb9eb7352a Author: Herbert Xu Date: Mon Dec 17 15:33:17 2007 +0800 [CRYPTO] gcm: Introduce rfc4106 This patch introduces the rfc4106 wrapper for GCM just as we have an rfc4309 wrapper for CCM. The purpose of the wrapper is to include part of the IV in the key so that it can be negotiated by IPsec. Signed-off-by: Herbert Xu commit 189ed66e95fb23666a62963b718dcbe62adbadde Author: Herbert Xu Date: Fri Dec 14 22:29:37 2007 +0800 [CRYPTO] api: Show async type This patch adds an async field to /proc/crypto for ablkcipher and aead algorithms. Signed-off-by: Herbert Xu commit e7cd2514ea506f06bd4f7b13a9b62afd60f9c73b Author: Herbert Xu Date: Fri Dec 14 22:28:14 2007 +0800 [CRYPTO] chainiv: Avoid lock spinning where possible This patch makes chainiv avoid spinning by postponing requests on lock contention if the user allows the use of asynchronous algorithms. If a synchronous algorithm is requested then we behave as before. This should improve IPsec performance on SMP when two CPUs attempt to transmit over the same SA. Currently one of them will spin doing nothing waiting for the other CPU to finish its encryption. This patch makes it postpone the request and get on with other work. If only one CPU is transmitting for a given SA, then we will process the request synchronously as before. Signed-off-by: Herbert Xu commit 4726204200327c04a77b819e2c653c063f1bc6ab Author: Herbert Xu Date: Fri Dec 14 10:19:27 2007 +0800 [CRYPTO] seqiv: Add select AEAD in Kconfig Now that seqiv supports AEAD algorithms it needs to select the AEAD option. Thanks to Erez Zadok for pointing out the problem. Signed-off-by: Herbert Xu commit 6e050778c5d08a97d5d98f7cb62bc503e872615c Author: Herbert Xu Date: Fri Dec 14 00:44:11 2007 +0800 [CRYPTO] scatterwalk: Handle zero nbytes in scatterwalk_map_and_copy It's better to return silently than crash and burn when someone feeds us a zero length. In particular the null digest algorithm when used as part of authenc will do that to us. Signed-off-by: Herbert Xu commit ce5bd4aca3c467936370846119b7f3daf9ccea78 Author: Herbert Xu Date: Fri Dec 14 00:28:40 2007 +0800 [CRYPTO] null: Allow setkey on digest_null We need to allow setkey on digest_null if it is to be used directly by authenc instead of through hmac. Signed-off-by: Herbert Xu commit 3631c650c495d61b1dabf32eb26b46873636e918 Author: Herbert Xu Date: Thu Dec 13 22:28:59 2007 +0800 [CRYPTO] null: Add null blkcipher algorithm This patch adds a null blkcipher algorithm called ecb(cipher_null) for backwards compatibility. Previously the null algorithm when used by IPsec copied the data byte by byte. This new algorithm optimises that to a straight memcpy which lets us better measure inherent overheads in our IPsec code. Signed-off-by: Herbert Xu commit 93cc74e078eed8735585e5687903727bcfbcc8b4 Author: Joy Latten Date: Wed Dec 12 20:24:22 2007 +0800 [CRYPTO] tcrypt: Add CCM vectors This patch adds 7 test vectors to tcrypt for CCM. The test vectors are from rfc 3610. There are about 10 more test vectors in RFC 3610 and 4 or 5 more in NIST. I can add these as time permits. I also needed to set authsize. CCM has a prerequisite of authsize. Signed-off-by: Joy Latten Signed-off-by: Herbert Xu commit 4a49b499dfa0c9e42be6d6fdd771f3434c776278 Author: Joy Latten Date: Wed Dec 12 20:25:13 2007 +0800 [CRYPTO] ccm: Added CCM mode This patch adds Counter with CBC-MAC (CCM) support. RFC 3610 and NIST Special Publication 800-38C were referenced. Signed-off-by: Joy Latten Signed-off-by: Herbert Xu commit d29ce988aeb459203c74f14747f4f77e1829ef78 Author: Herbert Xu Date: Wed Dec 12 19:24:27 2007 +0800 [CRYPTO] aead: Create default givcipher instances This patch makes crypto_alloc_aead always return algorithms that is capable of generating their own IVs through givencrypt and givdecrypt. All existing AEAD algorithms already do. New ones must either supply their own or specify a generic IV generator with the geniv field. Signed-off-by: Herbert Xu commit 14df4d80433b8413f901e80880c39e8759b8418f Author: Herbert Xu Date: Wed Dec 12 12:27:26 2007 +0800 [CRYPTO] seqiv: Add AEAD support This patch adds support for using seqiv with AEAD algorithms. This is useful for those AEAD algorithms that performs authentication before encryption because the IV generated by the underlying encryption algorithm won't be available for authentication. Signed-off-by: Herbert Xu commit 5b6d2d7fdf806f2b5a9352416f9e670911fc4748 Author: Herbert Xu Date: Wed Dec 12 19:23:36 2007 +0800 [CRYPTO] aead: Add aead_geniv_alloc/aead_geniv_free This patch creates the infrastructure to help the construction of IV generator templates that wrap around AEAD algorithms by adding an IV generator to them. This is useful for AEAD algorithms with no built-in IV generator or to replace their built-in generator. Signed-off-by: Herbert Xu commit aedb30dc49eeecd48558b601c47e0b3f9e42c602 Author: Herbert Xu Date: Wed Dec 12 19:27:25 2007 +0800 [CRYPTO] aead: Allow algorithms with no givcrypt support Some algorithms always require manual IV construction. For instance, the generic CCM algorithm requires the first byte of the IV to be manually constructed. Such algorithms are always used by other algorithms equipped with their own IV generators and do not need IV generation per se. Signed-off-by: Herbert Xu commit 3a282bd2e77966e7361fffbd5d1cea6eb0499b6c Author: Herbert Xu Date: Sat Dec 8 20:13:15 2007 +0800 [CRYPTO] aead: Add top-level givencrypt/givdecrypt calls This patch finally makes the givencrypt/givdecrypt operations available to users by adding crypto_aead_givencrypt and crypto_aead_givdecrypt. A suite of helpers to allocate and fill in the request is also available. Signed-off-by: Herbert Xu commit e56dd56418fcc024683d1638564a494d9e9aab85 Author: Herbert Xu Date: Mon Dec 10 16:20:24 2007 +0800 [CRYPTO] authenc: Add givencrypt operation This patch implements the givencrypt function for authenc. It simply calls the givencrypt operation on the underlying cipher instead of encrypt. Signed-off-by: Herbert Xu commit 743edf57272fd420348e148bf94f9e48ed6abb70 Author: Herbert Xu Date: Mon Dec 10 16:18:01 2007 +0800 [CRYPTO] aead: Add givcrypt operations This patch adds the underlying givcrypt operations for aead and associated support elements. The rationale is identical to that of the skcipher givcrypt operations, i.e., sometimes only the algorithm knows how the IV should be generated. A new request type aead_givcrypt_request is added which contains an embedded aead_request structure with two new elements to support this operation. The new elements are seq and giv. The seq field should contain a strictly increasing 64-bit integer which may be used by certain IV generators as an input value. The giv field will be used to store the generated IV. It does not need to obey the alignment requirements of the algorithm because it's not used during the operation. The existing iv field must still be available as it will be used to store intermediate IVs and the output IV if chaining is desired. Signed-off-by: Herbert Xu commit 03bf712fb4defc7831c727d1e32d0269f7f96de0 Author: Herbert Xu Date: Sat Dec 1 18:35:38 2007 +1100 [CRYPTO] skcipher: Add top-level givencrypt/givdecrypt calls This patch finally makes the givencrypt/givdecrypt operations available to users by adding crypto_skcipher_givencrypt and crypto_skcipher_givdecrypt. A suite of helpers to allocate and fill in the request is also available. Signed-off-by: Herbert Xu commit 0a270321dbf948963aeb0e8382fe17d2c2eb3771 Author: Herbert Xu Date: Fri Nov 30 21:38:37 2007 +1100 [CRYPTO] seqiv: Add Sequence Number IV Generator This generator generates an IV based on a sequence number by xoring it with a salt. This algorithm is mainly useful for CTR and similar modes. This patch also sets it as the default IV generator for ctr. Signed-off-by: Herbert Xu commit 45d44eb56ad197cfccb8f84b5df64abff8b7cb96 Author: Herbert Xu Date: Sun Dec 2 21:21:02 2007 +1100 [CRYPTO] skcipher: Remove crypto_spawn_ablkcipher Now that gcm and authenc have been converted to crypto_spawn_skcipher, this patch removes the obsolete crypto_spawn_ablkcipher function. Signed-off-by: Herbert Xu commit 1472e5ebaac14dafbc0f978b5e951f1e9ca0b251 Author: Herbert Xu Date: Fri Dec 7 19:26:11 2007 +0800 [CRYPTO] gcm: Use crypto_grab_skcipher This patch converts the gcm algorithm over to crypto_grab_skcipher which is a prerequisite for IV generation. Signed-off-by: Herbert Xu commit d00aa19b507b39ee9a680d0d2ac2ae483686453a Author: Herbert Xu Date: Fri Dec 7 20:31:10 2007 +0800 [CRYPTO] gcm: Allow block cipher parameter This patch adds the gcm_base template which takes a block cipher parameter instead of cipher. This allows the user to specify a specific CTR implementation. This also fixes a leak of the cipher algorithm that was previously looked up but never freed. Signed-off-by: Herbert Xu commit 9ffde35a8edd3486cd7c80af931c15cec99a1a0d Author: Herbert Xu Date: Mon Dec 17 20:12:49 2007 +0800 [CRYPTO] authenc: Use crypto_grab_skcipher This patch converts the authenc algorithm over to crypto_grab_skcipher which is a prerequisite for IV generation. This patch also changes authenc to set its ASYNC status depending on the ASYNC status of the underlying skcipher. Signed-off-by: Herbert Xu commit b9c55aa475599183d0eab6833ea23e70c52dd24b Author: Herbert Xu Date: Tue Dec 4 12:46:48 2007 +1100 [CRYPTO] skcipher: Create default givcipher instances This patch makes crypto_alloc_ablkcipher/crypto_grab_skcipher always return algorithms that are capable of generating their own IVs through givencrypt and givdecrypt. Each algorithm may specify its default IV generator through the geniv field. For algorithms that do not set the geniv field, the blkcipher layer will pick a default. Currently it's chainiv for synchronous algorithms and eseqiv for asynchronous algorithms. Note that if these wrappers do not work on an algorithm then that algorithm must specify its own geniv or it can't be used at all. Signed-off-by: Herbert Xu commit 806d183aa6cc565d0f6bd2fb7fc6bfb175cc4813 Author: Herbert Xu Date: Wed Dec 5 12:10:53 2007 +1100 [CRYPTO] eseqiv: Add Encrypted Sequence Number IV Generator This generator generates an IV based on a sequence number by xoring it with a salt and then encrypting it with the same key as used to encrypt the plain text. This algorithm requires that the block size be equal to the IV size. It is mainly useful for CBC. It has one noteworthy property that for IPsec the IV happens to lie just before the plain text so the IV generation simply increases the number of encrypted blocks by one. Therefore the cost of this generator is entirely dependent on the speed of the underlying cipher. Signed-off-by: Herbert Xu commit 15c67286685cddce207b646306e8819ec8268ede Author: Herbert Xu Date: Fri Nov 30 20:17:28 2007 +1100 [CRYPTO] skcipher: Added skcipher_givcrypt_complete This patch adds the helper skcipher_givcrypt_complete which should be called when an ablkcipher algorithm has completed a givcrypt request. Signed-off-by: Herbert Xu commit 7f47073911f0e4384d38a0827d28305a177c8816 Author: Herbert Xu Date: Tue Nov 27 23:17:23 2007 +0800 [CRYPTO] chainiv: Add chain IV generator The chain IV generator is the one we've been using in the IPsec stack. It simply starts out with a random IV, then uses the last block of each encrypted packet's cipher text as the IV for the next packet. It can only be used by synchronous ciphers since we have to make sure that we don't start the encryption of the next packet until the last one has completed. It does have the advantage of using very little CPU time since it doesn't have to generate anything at all. Signed-off-by: Herbert Xu commit ecfc43292f68566c144afca966b46b371c26d56c Author: Herbert Xu Date: Wed Dec 5 21:08:36 2007 +1100 [CRYPTO] skcipher: Add skcipher_geniv_alloc/skcipher_geniv_free This patch creates the infrastructure to help the construction of givcipher templates that wrap around existing blkcipher/ablkcipher algorithms by adding an IV generator to them. Signed-off-by: Herbert Xu commit 927eead52c958829ef62c8aa5da2751033a2cf98 Author: Herbert Xu Date: Tue Nov 27 21:15:31 2007 +0800 [CRYPTO] cryptd: Use geniv of the underlying algorithm If the underlying algorithm specifies a specific geniv algorithm then we should use it for the cryptd version as well. Signed-off-by: Herbert Xu commit 23508e11ab3bb405dca66bf4d77e488bf2b07b0c Author: Herbert Xu Date: Tue Nov 27 21:33:24 2007 +0800 [CRYPTO] skcipher: Added geniv field This patch introduces the geniv field which indicates the default IV generator for each algorithm. It should point to a string that is not freed as long as the algorithm is registered. Signed-off-by: Herbert Xu commit 61da88e2b800eed2b03834a73c46cc89ad48716d Author: Herbert Xu Date: Mon Dec 17 21:51:27 2007 +0800 [CRYPTO] skcipher: Add givcrypt operations and givcipher type Different block cipher modes have different requirements for intialisation vectors. For example, CBC can use a simple randomly generated IV while modes such as CTR must use an IV generation mechanisms that give a stronger guarantee on the lack of collisions. Furthermore, disk encryption modes have their own IV generation algorithms. Up until now IV generation has been left to the users of the symmetric key cipher API. This is inconvenient as the number of block cipher modes increase because the user needs to be aware of which mode is supposed to be paired with which IV generation algorithm. Therefore it makes sense to integrate the IV generation into the crypto API. This patch takes the first step in that direction by creating two new ablkcipher operations, givencrypt and givdecrypt that generates an IV before performing the actual encryption or decryption. The operations are currently not exposed to the user. That will be done once the underlying functionality has actually been implemented. It also creates the underlying givcipher type. Algorithms that directly generate IVs would use it instead of ablkcipher. All other algorithms (including all existing ones) would generate a givcipher algorithm upon registration. This givcipher algorithm will be constructed from the geniv string that's stored in every algorithm. That string will locate a template which is instantiated by the blkcipher/ablkcipher algorithm in question to give a givcipher algorithm. Signed-off-by: Herbert Xu commit 378f4f51f9fdd8df80ea875320e2bf1d7c6e6e77 Author: Herbert Xu Date: Mon Dec 17 20:07:31 2007 +0800 [CRYPTO] skcipher: Add crypto_grab_skcipher interface Note: From now on the collective of ablkcipher/blkcipher/givcipher will be known as skcipher, i.e., symmetric key cipher. The name blkcipher has always been much of a misnomer since it supports stream ciphers too. This patch adds the function crypto_grab_skcipher as a new way of getting an ablkcipher spawn. The problem is that previously we did this in two steps, first getting the algorithm and then calling crypto_init_spawn. This meant that each spawn user had to be aware of what type and mask to use for these two steps. This is difficult and also presents a problem when the type/mask changes as they're about to be for IV generators. The new interface does both steps together just like crypto_alloc_ablkcipher. As a side-effect this also allows us to be stronger on type enforcement for spawns. For now this is only done for ablkcipher but it's trivial to extend for other types. This patch also moves the type/mask logic for skcipher into the helpers crypto_skcipher_type and crypto_skcipher_mask. Finally this patch introduces the function crypto_require_sync to determine whether the user is specifically requesting a sync algorithm. Signed-off-by: Herbert Xu commit 84c911523020a2e39b307a2da26ee1886b7214fe Author: Herbert Xu Date: Mon Dec 17 21:42:08 2007 +0800 [CRYPTO] gcm: Add support for async ciphers This patch adds the necessary changes for GCM to be used with async ciphers. This would allow it to be used with hardware devices that support CTR. Signed-off-by: Herbert Xu commit 5311f248b7764ba8b59e6d477355f766e5609686 Author: Herbert Xu Date: Mon Dec 17 21:34:32 2007 +0800 [CRYPTO] ctr: Refactor into ctr and rfc3686 As discussed previously, this patch moves the basic CTR functionality into a chainable algorithm called ctr. The IPsec-specific variant of it is now placed on top with the name rfc3686. So ctr(aes) gives a chainable cipher with IV size 16 while the IPsec variant will be called rfc3686(ctr(aes)). This patch also adjusts gcm accordingly. Signed-off-by: Herbert Xu commit 653ebd9c8510a7d647ed23e66e1338f848ebdbab Author: Herbert Xu Date: Tue Nov 27 19:48:27 2007 +0800 [CRYPTO] blkcipher: Merge ablkcipher and blkcipher into one option/module With the impending addition of the givcipher type, both blkcipher and ablkcipher algorithms will use it to create givcipher objects. As such it no longer makes sense to split the system between ablkcipher and blkcipher. In particular, both ablkcipher.c and blkcipher.c would need to use the givcipher type which has to reside in ablkcipher.c since it shares much code with it. This patch merges the two Kconfig options as well as the modules into one. Signed-off-by: Herbert Xu commit 2589469d7bc69bdfad4e05d88a0d2748f92ef0f3 Author: Herbert Xu Date: Wed Dec 12 19:16:38 2007 +0800 [CRYPTO] gcm: Fix request context alignment This patch fixes the request context alignment so that it is actually aligned to the value required by the algorithm. Signed-off-by: Herbert Xu commit 68b6c7d6919be7c732fc6229c55e35d0166e9258 Author: Herbert Xu Date: Fri Dec 7 20:18:17 2007 +0800 [CRYPTO] api: Add crypto_attr_alg_name This patch adds a new helper crypto_attr_alg_name which is basically the first half of crypto_attr_alg. That is, it returns an algorithm name parameter as a string without looking it up. The caller can then look it up immediately or defer it until later. Signed-off-by: Herbert Xu commit 551a09a7a954f720067f207657bbbd26a3fe156a Author: Herbert Xu Date: Sat Dec 1 21:47:07 2007 +1100 [CRYPTO] api: Sanitise mask when allocating ablkcipher/hash When allocating ablkcipher/hash objects, we use a mask that's wider than the usual type mask. This patch sanitises the mask supplied by the user so we don't end up using a narrower mask which may lead to unintended results. Signed-off-by: Herbert Xu commit 5e553110f27ff77591ec7305c6216ad6949f7a95 Author: Borislav Petkov Date: Fri Dec 14 16:43:32 2007 +0800 [CRYPTO] authenc: Select HASH in Kconfig i get here: ---- LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map Building modules, stage 2. MODPOST 226 modules ERROR: "crypto_hash_type" [crypto/authenc.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 --- which fails because crypto_hash_type is declared in crypto/hash.c. You might wanna fix it like so: Signed-off-by: Borislav Petkov Signed-off-by: Herbert Xu commit f17922bc75d6261dd6e0e2d687ff43b96e91e04a Author: Adrian Bunk Date: Wed Dec 12 10:42:41 2007 +0800 [CRYPTO] geode: Add __dev{init,exit} annotations This patch adds __dev{init,exit} annotations. Signed-off-by: Adrian Bunk Signed-off-by: Herbert Xu commit 7c3d703fa81db42f9766325cebd6bfc1c5eac838 Author: Herbert Xu Date: Mon Dec 10 16:15:41 2007 +0800 [CRYPTO] authenc: Merge common hashing code This patch merges the common hashing code between encryption and decryption. Signed-off-by: Herbert Xu commit 12dc5e62b4f93f1d399fd81e35be3f9ea0027712 Author: Herbert Xu Date: Mon Dec 10 10:55:21 2007 +0800 [CRYPTO] authenc: Use RTA_OK to check length This patch changes setkey to use RTA_OK to check the validity of the setkey request. Signed-off-by: Herbert Xu commit c2c61f513db395ddd8d67690bf3301ebe1e8155a Author: Herbert Xu Date: Mon Dec 10 10:54:44 2007 +0800 [CRYPTO] authenc: Fix typo in ivsize The ivsize should be fetched from ablkcipher, not blkcipher. Signed-off-by: Herbert Xu commit 2d74d405fc5ea78b20a4a2efd24201db424e07b1 Author: Sebastian Siewior Date: Mon Dec 10 15:49:41 2007 +0800 [CRYPTO] s390-aes: Use correct encrypt/decrypt function in fallback crypto_blkcipher_decrypt is wrong because it does not care about the IV. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit fdc520aa693d462f4958339534a3b596f95795b7 Author: Sebastian Siewior Date: Mon Dec 10 15:48:17 2007 +0800 [CRYPTO] geode: Use correct encrypt/decrypt function in fallback crypto_blkcipher_decrypt is wrong because it does not care about the IV. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 5de8f1b562e87ae9d93a4e0897e54c18a5e82915 Author: Tan Swee Heng Date: Fri Dec 7 17:17:43 2007 +0800 [CRYPTO] tcrypt: Added salsa20 speed test This patch adds a simple speed test for salsa20. Usage: modprobe tcrypt mode=206 Signed-of-by: Tan Swee Heng Signed-off-by: Herbert Xu commit 0b77abb3b2d0c2eee1da79a3f3bd4312a0edb156 Author: Zoltan Sogor Date: Fri Dec 7 16:53:23 2007 +0800 [CRYPTO] lzo: Add LZO compression algorithm support Add LZO compression algorithm support Signed-off-by: Zoltan Sogor Signed-off-by: Herbert Xu commit 91755a921c4af51c355bcb74a98b717d5c1818b6 Author: Zoltan Sogor Date: Fri Dec 7 16:48:11 2007 +0800 [CRYPTO] tcrypt: Add common compression tester function Add common compression tester function Modify deflate test case to use the common compressor test function Signed-off-by: Zoltan Sogor Signed-off-by: Herbert Xu commit 8bff664cdf8797564fb6b59b7be028846fab8c27 Author: Tan Swee Heng Date: Fri Dec 7 16:41:29 2007 +0800 [CRYPTO] tcrypt: Salsa20 large test vector This is a large test vector for Salsa20 that crosses the 4096-bytes page boundary. Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit eb6f13eb9f812f5812ed5d14f241309da369dee6 Author: Tan Swee Heng Date: Fri Dec 7 16:38:45 2007 +0800 [CRYPTO] salsa20_generic: Fix multi-page processing This patch fixes the multi-page processing bug that affects large test vectors (the same bug that previously affected ctr.c). There is an optimization for the case walk.nbytes == nbytes. Also we now use crypto_xor() instead of adhoc XOR routines. Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit 7f6813786a6521380e1756ca5b4336bc63c5bf7d Author: Herbert Xu Date: Thu Dec 6 14:59:53 2007 +0800 [CRYPTO] gcm: Put abreq in private context instead of on stack The abreq structure is currently allocated on the stack. This is broken if the underlying algorithm is asynchronous. This patch changes it so that it's taken from the private context instead which has been enlarged accordingly. Signed-off-by: Herbert Xu commit b2ab4a57b018aafbba35bff088218f5cc3d2142e Author: Herbert Xu Date: Wed Dec 5 20:59:25 2007 +1100 [CRYPTO] scatterwalk: Restore custom sg chaining for now Unfortunately the generic chaining hasn't been ported to all architectures yet, and notably not s390. So this patch restores the chainging that we've been using previously which does work everywhere. Signed-off-by: Herbert Xu commit 42c271c6c538857cb13c5ead5184d264d745f675 Author: Herbert Xu Date: Fri Dec 7 18:52:49 2007 +0800 [CRYPTO] scatterwalk: Move scatterwalk.h to linux/crypto The scatterwalk infrastructure is used by algorithms so it needs to move out of crypto for future users that may live in drivers/crypto or asm/*/crypto. Signed-off-by: Herbert Xu commit fe70f5dfe1a7b5caab96531089dac3d8728c0ebd Author: Herbert Xu Date: Tue Dec 4 20:07:27 2007 +1100 [CRYPTO] aead: Return EBADMSG for ICV mismatch This patch changes gcm/authenc to return EBADMSG instead of EINVAL for ICV mismatches. This convention has already been adopted by IPsec. Signed-off-by: Herbert Xu commit 6160b289929c0b622e64aa36106d8e6e53fcd826 Author: Herbert Xu Date: Tue Dec 4 19:17:50 2007 +1100 [CRYPTO] gcm: Fix ICV handling The crypto_aead convention for ICVs is to include it directly in the output. If we decided to change this in future then we would make the ICV (if the algorithm has an explicit one) available in the request itself. For now no algorithm needs this so this patch changes gcm to conform to this convention. It also adjusts the tcrypt aead tests to take this into account. Signed-off-by: Herbert Xu commit 8df213d9b520a4b58b7a8f7f2200324d4e40363d Author: Herbert Xu Date: Sun Dec 2 14:55:47 2007 +1100 [CRYPTO] tcrypt: Make gcm available as a standalone test Currently the gcm(aes) tests have to be taken together with all other ciphers. This patch makes it available by itself at number 35. Signed-off-by: Herbert Xu commit 481f34ae752ac74c4cbd88a9954dd4ed10e84f81 Author: Herbert Xu Date: Tue Dec 4 20:04:21 2007 +1100 [CRYPTO] authenc: Fix hash verification The previous code incorrectly included the hash in the verification which also meant that we'd crash and burn when it comes to actually verifying the hash since we'd go past the end of the SG list. This patch fixes that by subtracting authsize from cryptlen at the start. Signed-off-by: Herbert Xu commit e236d4a89a2ffbc8aa18064161f4f159c4d89b4a Author: Herbert Xu Date: Thu Nov 22 23:11:53 2007 +0800 [CRYPTO] authenc: Move enckeylen into key itself Having enckeylen as a template parameter makes it a pain for hardware devices that implement ciphers with many key sizes since each one would have to be registered separately. Since the authenc algorithm is mainly used for legacy purposes where its key is going to be constructed out of two separate keys, we can in fact embed this value into the key itself. This patch does this by prepending an rtnetlink header to the key that contains the encryption key length. Signed-off-by: Herbert Xu commit 7ba683a6deba70251756aa5a021cdaa5c875a7a2 Author: Herbert Xu Date: Sun Dec 2 18:49:21 2007 +1100 [CRYPTO] aead: Make authsize a run-time parameter As it is authsize is an algorithm paramter which cannot be changed at run-time. This is inconvenient because hardware that implements such algorithms would have to register each authsize that they support separately. Since authsize is a property common to all AEAD algorithms, we can add a function setauthsize that sets it at run-time, just like setkey. This patch does exactly that and also changes authenc so that authsize is no longer a parameter of its template. Signed-off-by: Herbert Xu commit e29bc6ad0e84e3157e0f49130a15b278cb232c72 Author: Herbert Xu Date: Thu Nov 22 22:46:40 2007 +0800 [CRYPTO] authenc: Use or instead of max on alignment masks Since alignment masks are always one less than a power of two, we can use binary or to find their maximum. Signed-off-by: Herbert Xu commit 9aa6ad3e87af58b4fc87bd4beef1d4c6d9a4c5b7 Author: Kamalesh Babulal Date: Sat Dec 1 12:52:35 2007 +1100 [HWRNG] pasemi: Add missing wait argument to data_present drivers/char/hw_random/pasemi-rng.c: In function `pasemi_rng_data_present': drivers/char/hw_random/pasemi-rng.c:53: error: `wait' undeclared (first use in this function) drivers/char/hw_random/pasemi-rng.c:53: error: (Each undeclared identifier is reported only once drivers/char/hw_random/pasemi-rng.c:53: error: for each function it appears in.) drivers/char/hw_random/pasemi-rng.c: At top level: drivers/char/hw_random/pasemi-rng.c:93: warning: initialization from incompatible pointer type Signed-off-by: Kamalesh Babulal Signed-off-by: Andrew Morton Signed-off-by: Herbert Xu commit b0c3e75d857f3785a4b274e26b1c0b2327580dda Author: Sebastian Siewior Date: Sat Dec 1 12:47:37 2007 +1100 [CRYPTO] aes_s390: Add fallback driver Some CPUs support only 128 bit keys in HW. This patch adds SW fallback support for the other keys which may be required. The generic algorithm (and the block mode) must be availble in case of a fallback. Signed-off-by: Sebastian Siewior Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit a10e11946bb2d59516a5252b1b588e2963a13ebe Author: Denis Cheng Date: Fri Nov 30 16:59:30 2007 +1100 [CRYPTO] tcrypt: Use print_hex_dump from linux/kernel.h These utilities implemented in lib/hexdump.c are more handy, please use this. Signed-off-by: Denis Cheng Signed-off-by: Herbert Xu commit d2456c66236c15d6462f1ac751cdbd48a34e9704 Author: Sebastian Siewior Date: Fri Nov 30 16:36:57 2007 +1100 [CRYPTO] geode: do not copy the IV too often There is no reason to keep the IV in the private structre. Instead keep just a pointer to make the patch smaller :) This also remove a few memcpy()s Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 9617d6ef6278edd04070ae404c871f65a466c6d2 Author: Jan Glauber Date: Fri Nov 30 15:57:05 2007 +1100 [CRYPTO] tcrypt: AES CBC test vectors from NIST SP800-38A Add test vectors to tcrypt for AES in CBC mode for key sizes 192 and 256. The test vectors are copied from NIST SP800-38A. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit a773edb3ed0c3288f5ae76adc7d48c934ccfcf8c Author: Tan Swee Heng Date: Fri Nov 30 00:36:07 2007 +1100 [CRYPTO] tcrypt: AES CTR large test vector This patch adds a large AES CTR mode test vector. The test vector is 4100 bytes in size. It was generated using a C++ program that called Crypto++. Note that this patch increases considerably the size of "struct cipher_testvec" and hence the size of tcrypt.ko. Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit 6d1a69d53a34e6d906551d92e7639b739332b177 Author: Tan Swee Heng Date: Fri Nov 30 00:30:11 2007 +1100 [CRYPTO] tcrypt: Support for large test vectors Currently the number of entries in a cipher test vector template is limited by TVMEMSIZE/sizeof(struct cipher_testvec). This patch circumvents the problem by pointing cipher_tv to each entry in the template, rather than the template itself. Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit 0971eb0de9446b66bd45696338f54948314db379 Author: Herbert Xu Date: Fri Nov 30 00:23:53 2007 +1100 [CRYPTO] ctr: Fix multi-page processing When the data spans across a page boundary, CTR may incorrectly process a partial block in the middle because the blkcipher walking code may supply partial blocks in the middle as long as the total length of the supplied data is more than a block. CTR is supposed to return any unused partial block in that case to the walker. This patch fixes this by doing exactly that, returning partial blocks to the walker unless we received less than a block-worth of data to start with. This also allows us to optimise the bulk of the processing since we no longer have to worry about partial blocks until the very end. Thanks to Tan Swee Heng for fixes and actually testing this :) Signed-off-by: Herbert Xu commit 06e1a8f0505426a97292174a959560fd86ea0a3d Author: Sebastian Siewior Date: Fri Nov 30 00:15:11 2007 +1100 [CRYPTO] aes-asm: Merge common glue code 32 bit and 64 bit glue code is using (now) the same piece code. This patch unifies them. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 28db8e3e38e593d22e2c69942bb1ca7be2a35f05 Author: Mikko Herranen Date: Mon Nov 26 22:24:11 2007 +0800 [CRYPTO] gcm: New algorithm Add GCM/GMAC support to cryptoapi. GCM (Galois/Counter Mode) is an AEAD mode of operations for any block cipher with a block size of 16. The typical example is AES-GCM. Signed-off-by: Mikko Herranen Reviewed-by: Mika Kukkonen Signed-off-by: Herbert Xu commit e3a4ea4fd2e5f154ae9233f1ce30e7564e5cbcfc Author: Mikko Herranen Date: Mon Nov 26 22:12:07 2007 +0800 [CRYPTO] tcrypt: Add aead support Add AEAD support to tcrypt, needed by GCM. Signed-off-by: Mikko Herranen Reviewed-by: Mika Kukkonen Signed-off-by: Herbert Xu commit ff85a8082f0665fe6f79d50eb79bdccb98cabfa2 Author: Denys Vlasenko Date: Fri Nov 23 21:21:03 2007 +0800 [CRYPTO] camellia: Move more common code into camellia_setup_tail Analogously to camellia7 patch, move "absorb kw2 to other subkeys" and "absorb kw4 to other subkeys" code parts into camellia_setup_tail(). This further reduces source and object code size at the cost of two brances in key setup code. Signed-off-by: Denys Vlasenko Signed-off-by: Herbert Xu commit dedcf8b0647572ca00547efef58dfab6b8dddf83 Author: Denys Vlasenko Date: Fri Nov 23 21:14:24 2007 +0800 [CRYPTO] camellia: Move common code into camellia_setup_tail Move "key XOR is end of F-function" code part into camellia_setup_tail(), it is sufficiently similar between camellia_setup128 and camellia_setup256. Signed-off-by: Denys Vlasenko Signed-off-by: Herbert Xu commit acca79a664859e3ddaea87af86d4ccfb2e07cd65 Author: Denys Vlasenko Date: Fri Nov 23 21:10:03 2007 +0800 [CRYPTO] camellia: Merge encrypt/decrypt routines for all key lengths unifies encrypt/decrypt routines for different key lengths. This reduces module size by ~25%, with tiny (less than 1%) speed impact. Also collapses encrypt/decrypt into more readable (visually shorter) form using macros. Signed-off-by: Denys Vlasenko Signed-off-by: Herbert Xu commit 2ddae4a64491f790799e2adbfaec72a23dc2e7ef Author: Denys Vlasenko Date: Fri Nov 23 21:05:55 2007 +0800 [CRYPTO] camellia: Code shrink Remove unused macro params. Use (u8)(expr) instead of (expr) & 0xff, helps gcc to realize how to use simpler commands. Move CAMELLIA_FLS macro closer to encrypt/decrypt routines. Signed-off-by: Denys Vlasenko Signed-off-by: Herbert Xu commit 3f8214ea335e422702340d7e835921e78367f99d Author: Herbert Xu Date: Tue Nov 20 20:32:56 2007 +0800 [CRYPTO] ctr: Use crypto_inc and crypto_xor This patch replaces the custom inc/xor in CTR with the generic functions. Signed-off-by: Herbert Xu commit d0b9007a27206fe944d9db72e13dab157b8e118c Author: Herbert Xu Date: Tue Nov 20 17:49:49 2007 +0800 [CRYPTO] pcbc: Use crypto_xor This patch replaces the custom xor in CBC with the generic crypto_xor. It changes the operations for in-place encryption slightly to avoid calling crypto_xor with tmpbuf since it is not necessarily aligned. Signed-off-by: Herbert Xu commit 50b6544e1371bfe884f787107a8de0c2f8546e8f Author: Herbert Xu Date: Tue Nov 20 17:36:00 2007 +0800 [CRYPTO] cbc: Require block size to be a power of 2 All common block ciphers have a block size that's a power of 2. In fact, all of our block ciphers obey this rule. If we require this then CBC can be optimised to avoid an expensive divide on in-place decryption. I've also changed the saving of the first IV in the in-place decryption case to the last IV because that lets us use walk->iv (which is already aligned) for the xor operation where alignment is required. Signed-off-by: Herbert Xu commit 3c7f076da557eadb37240d70b0399ff9763fa2ae Author: Herbert Xu Date: Tue Nov 20 17:33:39 2007 +0800 [CRYPTO] cbc: Use crypto_xor This patch replaces the custom xor in CBC with the generic crypto_xor. Signed-off-by: Herbert Xu commit 7613636def82092a5c7b6322078a2af832410417 Author: Herbert Xu Date: Tue Nov 20 17:26:06 2007 +0800 [CRYPTO] api: Add crypto_inc and crypto_xor With the addition of more stream ciphers we need to curb the proliferation of ad-hoc xor functions. This patch creates a generic pair of functions, crypto_inc and crypto_xor which does big-endian increment and exclusive or, respectively. For optimum performance, they both use u32 operations so alignment must be as that of u32 even though the arguments are of type u8 *. Signed-off-by: Herbert Xu commit fcd06755936d2209b69650d2a7cc99cbcd3ccc67 Author: Patrick McHardy Date: Wed Nov 21 12:51:52 2007 +0800 [HIFN]: Add support for using the random number generator Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 37a8023ce59bfc1fa24067fd94aee7b286f4c01b Author: Patrick McHardy Date: Wed Nov 21 12:47:13 2007 +0800 [HIFN]: Improve PLL initialization The current PLL initalization has a number of deficiencies: - uses fixed multiplier of 8, which overclocks the chip when using a reference clock that operates at frequencies above 33MHz. According to a comment in the BSD source, this is true for the external clock on almost all every board. - writes to a reserved bit - doesn't follow the initialization procedure specified in chapter 6.11.1 of the HIFN hardware users guide - doesn't allow to use the PCI clock This patch adds a module parameter to specify the reference clock (pci or external) and its frequency and uses that to calculate the optimum multiplier to reach the maximal speed. By default it uses the external clock and assumes a speed of 66MHz, which effectively halfs the frequency currently used. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 984e976f5382ff09351ddd3b023937611396d739 Author: Patrick McHardy Date: Wed Nov 21 12:24:45 2007 +0800 [HWRNG]: move status polling loop to data_present callbacks Handle waiting for new random within the drivers themselves, this allows to use better suited timeouts for the individual rngs. Signed-off-by: Patrick McHardy Acked-by: Michael Buesch Signed-off-by: Herbert Xu commit 2407d60872dd2a95404c6048f775f3b64d438f4b Author: Tan Swee Heng Date: Fri Nov 23 19:45:00 2007 +0800 [CRYPTO] salsa20: Salsa20 stream cipher This patch implements the Salsa20 stream cipher using the blkcipher interface. The core cipher code comes from Daniel Bernstein's submission to eSTREAM: http://www.ecrypt.eu.org/stream/svn/viewcvs.cgi/ecrypt/trunk/submissions/salsa20/full/ref/ The test vectors comes from: http://www.ecrypt.eu.org/stream/svn/viewcvs.cgi/ecrypt/trunk/submissions/salsa20/full/ It has been tested successfully with "modprobe tcrypt mode=34" on an UML instance. Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit 332f8840f7095d294f9bb066b175a100bcde214c Author: Herbert Xu Date: Thu Nov 15 22:36:07 2007 +0800 [CRYPTO] ablkcipher: Add distinct ABLKCIPHER type Up until now we have ablkcipher algorithms have been identified as type BLKCIPHER with the ASYNC bit set. This is suboptimal because ablkcipher refers to two things. On the one hand it refers to the top-level ablkcipher interface with requests. On the other hand it refers to and algorithm type underneath. As it is you cannot request a synchronous block cipher algorithm with the ablkcipher interface on top. This is a problem because we want to be able to eventually phase out the blkcipher top-level interface. This patch fixes this by making ABLKCIPHER its own type, just as we have distinct types for HASH and DIGEST. The type it associated with the algorithm implementation only. Which top-level interface is used for synchronous block ciphers is then determined by the mask that's used. If it's a specific mask then the old blkcipher interface is given, otherwise we go with the new ablkcipher interface. Signed-off-by: Herbert Xu commit 86f578de5ba6ea11ead9284d9f036fee01ba5893 Author: Herbert Xu Date: Thu Nov 15 19:00:06 2007 +0800 [CRYPTO] doc: Update api-intro.txt This patch updates the list of transforms we support and clarifies that the Block Ciphers interface in fact supports all ciphers including stream ciphers. It also removes the obsolete Configuration Notes section and adds the linux-crypto mailing list as the primary bug reporting address. Finally it documents the fact that setkey should only be called from user context. Signed-off-by: Herbert Xu commit 468577abe37ff7b453a9ac613e0ea155349203ae Author: Herbert Xu Date: Thu Nov 15 12:08:45 2007 +0800 [CRYPTO] scatterwalk: Use generic scatterlist chaining This patch converts the crypto scatterwalk code to use the generic scatterlist chaining rather the version specific to crypto. Signed-off-by: Herbert Xu commit 102d49d3d0f0f471b338b6805001fc3ca7bf663b Author: Andrew Morton Date: Tue Nov 13 21:55:28 2007 +0800 [CRYPTO] hifn: Add missing includes alpha: drivers/crypto/hifn_795x.c: In function 'ablkcipher_walk_init': drivers/crypto/hifn_795x.c:1231: error: implicit declaration of function 'sg_init_table' drivers/crypto/hifn_795x.c:1243: error: implicit declaration of function 'sg_set_page' drivers/crypto/hifn_795x.c: In function 'ablkcipher_walk_exit': drivers/crypto/hifn_795x.c:1257: error: implicit declaration of function 'sg_page' drivers/crypto/hifn_795x.c:1257: warning: passing argument 1 of '__free_pages' makes pointer from integer without a cast drivers/crypto/hifn_795x.c: In function 'ablkcipher_add': drivers/crypto/hifn_795x.c:1278: warning: passing argument 1 of 'kmap_atomic' makes pointer from integer without a cast drivers/crypto/hifn_795x.c: In function 'ablkcipher_walk': drivers/crypto/hifn_795x.c:1336: warning: passing argument 1 of 'kmap_atomic' makes pointer from integer without a cast drivers/crypto/hifn_795x.c: In function 'hifn_setup_session': drivers/crypto/hifn_795x.c:1465: warning: assignment makes pointer from integer without a cast drivers/crypto/hifn_795x.c:1469: warning: assignment makes pointer from integer without a cast drivers/crypto/hifn_795x.c:1472: warning: assignment makes pointer from integer without a cast drivers/crypto/hifn_795x.c: In function 'ablkcipher_get': drivers/crypto/hifn_795x.c:1593: warning: passing argument 1 of 'kmap_atomic' makes pointer from integer without a cast {standard input}: Assembler messages: {standard input}:7: Warning: setting incorrect section attributes for .got drivers/crypto/hifn_795x.c: In function 'hifn_process_ready': drivers/crypto/hifn_795x.c:1653: warning: passing argument 1 of 'kmap_atomic' makes pointer from integer without a cast drivers/crypto/hifn_795x.c: In function 'hifn_probe': drivers/crypto/hifn_795x.c:2438: error: 'DMA_32BIT_MASK' undeclared (first use in this function) drivers/crypto/hifn_795x.c:2438: error: (Each undeclared identifier is reported only once drivers/crypto/hifn_795x.c:2438: error: for each function it appears in.) drivers/crypto/hifn_795x.c:2443: warning: format '%d' expects type 'int', but argument 4 has type 'long int' drivers/crypto/hifn_795x.c:2443: warning: format '%d' expects type 'int', but argument 4 has type 'long int' Signed-off-by: Andrew Morton Signed-off-by: Herbert Xu commit 2707b937f322ba6b437f3dd1de05b9bb9756d803 Author: Jan Glauber Date: Mon Nov 12 21:56:38 2007 +0800 [CRYPTO] hifn: Make Kconfig option depend on PCI The HIFN driver is currently selectable on s390 but wont compile. Since it looks like HIFN needs PCI make the Kconfig dependent on PCI, which is not available on s390. Signed-off-by: Jan Glauber Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit a1e6ef2f1e01f2aa9ed930e1089fc85dc745bf7a Author: Evgeniy Polyakov Date: Sat Nov 10 20:24:18 2007 +0800 [CRYPTO] hifn: Schedule callback invocation to tasklet. This patch forces HIFN driver to invoke crypto request callbacks from tasklet (softirq context) instead of hardirq context, since network stack expects it to be called from bottom halves. It is done by simply scheduling callback invocation via dedicated tasklet. Workqueue solution was dropped because of tooo slow rescheduling performance (7 times slower than tasklet, for mode details one can check this link: http://tservice.net.ru/~s0mbre/blog/devel/other/2007_11_09.html). Driver passed all AES and DES tests in tcryt.c module. Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit cd12fb906d2591e80da9edcbd4794b9b916d7489 Author: Jonathan Lynch Date: Sat Nov 10 20:08:25 2007 +0800 [CRYPTO] sha256-generic: Extend sha256_generic.c to support SHA-224 Resubmitting this patch which extends sha256_generic.c to support SHA-224 as described in FIPS 180-2 and RFC 3874. HMAC-SHA-224 as described in RFC4231 is then supported through the hmac interface. Patch includes test vectors for SHA-224 and HMAC-SHA-224. SHA-224 chould be chosen as a hash algorithm when 112 bits of security strength is required. Patch generated against the 2.6.24-rc1 kernel and tested against 2.6.24-rc1-git14 which includes fix for scatter gather implementation for HMAC. Signed-off-by: Jonathan Lynch Signed-off-by: Herbert Xu commit cd7c3bfe54270f41ac52be6b725a7194d99175b4 Author: Sebastian Siewior Date: Sat Nov 10 19:29:33 2007 +0800 [CRYPTO] geode: Add fallback for unsupported modes The Geode AES crypto engine supports only 128 bit long key. This patch adds fallback for other key sizes which are required by the AES standard. Signed-off-by: Sebastian Siewior Acked-by: Jordan Crouse Signed-off-by: Herbert Xu commit 5157dea8139cf0edc4834d528531e642c0d27e37 Author: Sebastian Siewior Date: Sat Nov 10 19:07:16 2007 +0800 [CRYPTO] aes-i586: Remove setkey The setkey() function can be shared with the generic algorithm. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit b345cee90a3ffec5eca6d6c1c59bd0d1feb453d4 Author: Sebastian Siewior Date: Thu Nov 8 21:27:05 2007 +0800 [CRYPTO] ctr: Remove default M NO other block mode is M by default. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 81190b321548bb0bf2d6e1f172695275b0fd1363 Author: Sebastian Siewior Date: Thu Nov 8 21:25:04 2007 +0800 [CRYPTO] aes-x86-64: Remove setkey The setkey() function can be shared with the generic algorithm. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 96e82e4551d38e0863b366a7b61185bc4a9946cc Author: Sebastian Siewior Date: Thu Nov 8 21:20:30 2007 +0800 [CRYPTO] aes-generic: Make key generation exportable This patch exports four tables and the set_key() routine. This ressources can be shared by other AES implementations (aes-x86_64 for instance). The decryption key has been turned around (deckey[0] is the first piece of the key instead of deckey[keylen+20]). The encrypt/decrypt functions are looking now identical (except they are using different tables and key). Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit be5fb270125729b7bca7879967f1dfadff0d9841 Author: Sebastian Siewior Date: Thu Nov 8 20:39:26 2007 +0800 [CRYPTO] aes-generic: Coding style cleanup Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 41fdab3dd385dde36caae60ed2df82aecb7a32f0 Author: Joy Latten Date: Wed Nov 7 22:59:47 2007 +0800 [CRYPTO] ctr: Add countersize This patch adds countersize to CTR mode. The template is now ctr(algo,noncesize,ivsize,countersize). For example, ctr(aes,4,8,4) indicates the counterblock will be composed of a salt/nonce that is 4 bytes, an iv that is 8 bytes and the counter is 4 bytes. When noncesize + ivsize < blocksize, CTR initializes the last block - ivsize - noncesize portion of the block to zero. Otherwise the counter block is composed of the IV (and nonce if necessary). If noncesize + ivsize == blocksize, then this indicates that user is passing in entire counterblock. Thus countersize indicates the amount of bytes in counterblock to use as the counter for incrementing. CTR will increment counter portion by 1, and begin encryption with that value. Note that CTR assumes the counter portion of the block that will be incremented is stored in big endian. Signed-off-by: Joy Latten Signed-off-by: Herbert Xu commit d3e7480572bf882dee5baa2891bccbfa3db0b1a1 Author: Denys Vlasenko Date: Tue Nov 6 22:15:19 2007 +0800 [CRYPTO] camellia: De-unrolling Move huge unrolled pieces of code (3 screenfuls) at the end of 128/256 key setup routines into common camellia_setup_tail(), convert it to loop there. Loop is still unrolled six times, so performance hit is very small, code size win is big. Signed-off-by: Denys Vlasenko Acked-by: Noriaki TAKAMIYA Signed-off-by: Herbert Xu commit 1ce73e8d6d95ceb860184c34fa1a91a82e51cbb3 Author: Denys Vlasenko Date: Tue Nov 6 22:13:40 2007 +0800 [CRYPTO] camellia: Code cleanup Optimize GETU32 to use 4-byte memcpy (modern gcc will convert such memcpy to single move instruction on i386). Original GETU32 did four byte fetches, and shifted/XORed those. Signed-off-by: Denys Vlasenko Acked-by: Noriaki TAKAMIYA Signed-off-by: Herbert Xu commit 3a5e5f8108fe440657e8041afd973d2fe72180bb Author: Denys Vlasenko Date: Tue Nov 6 22:05:36 2007 +0800 [CRYPTO] camellia: Code cleanup Rename some macros to shorter names: CAMELLIA_RR8 -> ROR8, making it easier to understand that it is just a right rotation, nothing camellia-specific in it. CAMELLIA_SUBKEY_L() -> SUBKEY_L() - just shorter. Move be32 <-> cpu conversions out of en/decrypt128/256 and into camellia_en/decrypt - no reason to have that code duplicated twice. Signed-off-by: Denys Vlasenko Acked-by: Noriaki TAKAMIYA Signed-off-by: Herbert Xu commit 1721a81256ed7f7bfdd1a721f3a6c9c85efeac53 Author: Denys Vlasenko Date: Tue Nov 6 22:01:20 2007 +0800 [CRYPTO] camellia: Code cleanup Move code blocks around so that related pieces are closer together: e.g. CAMELLIA_ROUNDSM macro does not need to be separated from the rest of the code by huge array of constants. Remove unused macros (COPY4WORD, SWAP4WORD, XOR4WORD[2]) Drop SUBL(), SUBR() macros which only obscure things. Same for CAMELLIA_SP1110() macro and KEY_TABLE_TYPE typedef. Remove useless comments: /* encryption */ -- well it's obvious enough already! void camellia_encrypt128(...) Combine swap with copying at the beginning/end of encrypt/decrypt. Signed-off-by: Denys Vlasenko Acked-by: Noriaki TAKAMIYA Signed-off-by: Herbert Xu commit e2b21b5002a2bf21ca73c7448309a7288a984ddf Author: Denys Vlasenko Date: Fri Oct 26 16:22:57 2007 +0800 [CRYPTO] twofish: Do not unroll big stuff in twofish key setup Currently twofish cipher key setup code has unrolled loops - approximately 70-100 instructions are repeated 40 times. As a result, twofish module is the biggest module in crypto/*. Unrolling produces x2.5 more code (+18k on i386), and speeds up key setup by 7%: unrolled: twofish_setkey/sec: 41128 loop: twofish_setkey/sec: 38148 CALC_K256: ~100 insns each CALC_K192: ~90 insns CALC_K: ~70 insns Attached patch removes this unrolling. $ size */twofish_common.o text data bss dec hex filename 37920 0 0 37920 9420 crypto.org/twofish_common.o 13209 0 0 13209 3399 crypto/twofish_common.o Run tested (modprobe tcrypt reports ok). Please apply. Signed-off-by: Denys Vlasenko Signed-off-by: Herbert Xu commit b7a30da61adc5f252ee97b2a4f3fc23c9d06a08a Author: Sebastian Siewior Date: Sun Oct 21 16:21:25 2007 +0800 [CRYPTO] geode: move defines into a headerfile This patch moves macros in geode-aes.c into geode-aes.h. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 1f4e4773761d0aa622411469b54d6570005a66b1 Author: Sebastian Siewior Date: Sun Oct 21 16:18:12 2007 +0800 [CRYPTO] geode: relax in busy loop and care about return value The code waits in a busy loop until the hardware finishes the encryption or decryption process. This wants a cpu_relax() :) The busy loop finishes either if the encryption is done or if the counter is zero. If the latter is true than the hardware failed. Since this should not happen, leave sith a BUG(). Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 2d506d4fa1df18aa9505820722f834426edc907f Author: Sebastian Siewior Date: Sun Oct 21 16:04:23 2007 +0800 [CRYPTO] geode: use consistent IV copy It is enough if the IV is copied before and after the while loop. With DM-Crypt is seems not be required to save the IV after encrytion because a new one is used in the request (dunno about other users). It is not save to load the IV within while loop and not save afterwards because we mill end up with the wrong IV if the request goes consists of more than one page. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 89e12654312dddbbdbf17b5adc95b22cb672f947 Author: Sebastian Siewior Date: Wed Oct 17 23:18:57 2007 +0800 [CRYPTO] aes: Move common defines into a header file This three defines are used in all AES related hardware. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit f1901f1fc710ec0fc482a7c98ee4552874139f39 Author: Sebastian Siewior Date: Mon Oct 15 22:09:47 2007 +0800 [CRYPTO] geode: remove alias alias isn't required because the module provides PCI ids. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit c3041f9c93e31159f4e321abea7c1549d271e6a7 Author: Evgeniy Polyakov Date: Thu Oct 11 19:58:16 2007 +0800 [CRYPTO] hifn_795x: Detect weak keys HIFN driver update to use DES weak key checks (exported in this patch). Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 16d004a2eda7be2c6a2de63eca2ad3c6b57307b3 Author: Evgeniy Polyakov Date: Thu Oct 11 19:48:58 2007 +0800 [CRYPTO] des: Create header file for common macros This patch creates include/crypto/des.h for common macros shared between DES implementations. Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit f7d0561ea1dadec5462846520b1f4fb304294fd5 Author: Evgeniy Polyakov Date: Fri Oct 26 21:31:14 2007 +0800 [CRYPTO] hifn_795x: HIFN 795x driver This is a driver for HIFN 795x crypto accelerator chips. It passed all tests for AES, DES and DES3_EDE except weak test for DES, since hardware can not determine weak keys. Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 23e353c8a681cc30d42fbd4f2c2be85c44fe209b Author: Joy Latten Date: Tue Oct 23 08:50:32 2007 +0800 [CRYPTO] ctr: Add CTR (Counter) block cipher mode This patch implements CTR mode for IPsec. It is based off of RFC 3686. Please note: 1. CTR turns a block cipher into a stream cipher. Encryption is done in blocks, however the last block may be a partial block. A "counter block" is encrypted, creating a keystream that is xor'ed with the plaintext. The counter portion of the counter block is incremented after each block of plaintext is encrypted. Decryption is performed in same manner. 2. The CTR counterblock is composed of, nonce + IV + counter The size of the counterblock is equivalent to the blocksize of the cipher. sizeof(nonce) + sizeof(IV) + sizeof(counter) = blocksize The CTR template requires the name of the cipher algorithm, the sizeof the nonce, and the sizeof the iv. ctr(cipher,sizeof_nonce,sizeof_iv) So for example, ctr(aes,4,8) specifies the counterblock will be composed of 4 bytes from a nonce, 8 bytes from the iv, and 4 bytes for counter since aes has a blocksize of 16 bytes. 3. The counter portion of the counter block is stored in big endian for conformance to rfc 3686. Signed-off-by: Joy Latten Signed-off-by: Herbert Xu commit 197c183f3526dc08aa52ca97ec66c268442d4b84 Author: Steve French Date: Thu Jan 10 17:10:23 2008 +0000 [CIFS] Forgot to add two new files from previous commit Thanks to Igor for noticing this. CC: Igor Mammedov Signed-off-by: Steve French commit 6103335de8afa5d780dcd512abe85c696af7b040 Author: Steve French Date: Wed Jan 9 16:21:36 2008 +0000 [CIFS] DNS name resolution helper upcall for cifs Adds additional option CIFS_DFS_UPCALL to fs/Kconfig for enabling DFS support. Resolved IP address is saved as a string in the key payload. Igor has a series of related patches that will follow which finish up CIFS DFS support Acked-by: Igor Mammedov Signed-off-by: Steve French commit f6d09982197c4163c70f6af0cf15bb78674105c0 Author: Steve French Date: Tue Jan 8 23:18:22 2008 +0000 [CIFS] fix checkpatch warnings in fs/cifs/inode.c Signed-off-by: Steve French commit da8a41d19233c2bdcc59447aedc808fcdaabf5b7 Author: Dave Kleikamp Date: Tue Nov 13 22:25:41 2007 -0600 JFS: FIx one more plain integer as NULL pointer warning Signed-off-by: Dave Kleikamp commit 09aaa749f637b19c308464c2b65a001e67c2a16c Author: Joe Perches Date: Tue Nov 13 22:16:08 2007 -0600 JFS: Remove defconfig ptr comparison to 0 Remove sparse warning: Using plain integer as NULL pointer Signed-off-by: Joe Perches Signed-off-by: Dave Kleikamp commit a7fe0ba7eee4f7c53077ff2bed2b581db17d00df Author: Shaun Zinck Date: Fri Aug 31 12:57:28 2007 -0500 JFS: use DIV_ROUND_UP where appropriate This replaces some macros and code, which do the same thing as DIV_ROUND_UP defined in kernel.h, to use the DIV_ROUND_UP macro. Signed-off-by: Shaun Zinck Signed-off-by: Dave Kleikamp commit 1eb3a711d6a1c8a4697a2e89d09048353b8aefd3 Author: Jack Stone Date: Tue Jul 31 09:36:53 2007 -0500 Remove unnecessary kmalloc casts in the jfs filesystem Signed-off-by: Jack Stone Signed-off-by: Dave Kleikamp commit 54af6233d1cb84cdfaa6ea44ea0db0bcf518baac Author: Nick Piggin Date: Mon Nov 26 14:58:10 2007 -0600 JFS is missing a memory barrier JFS is missing a memory barrier needed to close the critical section before clearing the lock bit. Use lock bitops for this. unlock_page() has a second barrier after clearing the lock, which is required because it checks whether the waitqueue is active without locks. Such a barrier is not required here because the waitqueue spinlock is always taken (something to think about if performance is an issue). Signed-off-by: Nick Piggin Signed-off-by: Dave Kleikamp commit 67e6682f18b3bf812a994ae027ff87174a297ae8 Author: Dave Kleikamp Date: Wed Oct 10 11:11:24 2007 -0500 JFS: Make sure special inode data is written after journal is flushed This patch makes sure that data that we tried to flush before the journal was completely written actually gets pushed to disk. To avoid duplicating code, moved common code to write_special_inodes(). Signed-off-by: Dave Kleikamp commit 29a424f28390752a4ca2349633aaacc6be494db5 Author: Dave Kleikamp Date: Thu Jan 3 13:09:33 2008 -0600 JFS: clear PAGECACHE_TAG_DIRTY for no-write pages When JFS decides to drop a dirty metapage, it simply clears the META_dirty bit and leave alone the PG_dirty and PAGECACHE_TAG_DIRTY bits. When such no-write page goes to metapage_writepage(), the `relic' PAGECACHE_TAG_DIRTY tag should be cleared, to prevent pdflush from repeatedly trying to sync them. This is done through set_page_writeback(), so call it should be called in all cases. If no I/O is initiated, end_page_writeback() should be called immediately. This is how __block_write_full_page() does things. Signed-off-by: Dave Kleikamp CC: Fengguang Wu commit 88e7d705c4bdb729f02173583628ccbf49dba945 Author: Steve French Date: Thu Jan 3 17:37:09 2008 +0000 [CIFS] hold ses sem on tcp session reconnect during mount Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 97837582bc1e191d2792af74c1f3762ed01243b9 Author: Steve French Date: Mon Dec 31 07:47:21 2007 +0000 [CIFS] Allow setting mode via cifs acl Requires cifsacl mount flag to be on and CIFS_EXPERIMENTAL enabled CC: Shirish Pargaonkar Signed-off-by: Steve French commit 28c5a02a11f70bb1fd8dd3b633206e2db3220308 Author: Jeff Layton Date: Mon Dec 31 04:56:21 2007 +0000 [CIFS] fix unicode string alignment in SPNEGO setup Unicode strings need to be word aligned, but the code that handles that is currently not taking the length of the SPNEGO blob into account. Fix it to do so. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit bb5a9a04d4cab4b13d63ac5cd3e1fb35f9583607 Author: Steve French Date: Mon Dec 31 04:21:29 2007 +0000 [CIFS] cifs_partialpagewrite() cleanup rc cannot be -EBADF now and condition is always true Signed-off-by: Vasily Averin Signed-off-by: Steve French commit 1a67570c76402b36695cd0725e28649ee8fe830d Author: Jeff Layton Date: Mon Dec 31 04:03:02 2007 +0000 [CIFS] use krb5 session key from first SMB session after a NegProt Currently, any new kerberos SMB session overwrites the server's session key. The session key should only be set by the first SMB session set up on the socket. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 1d9a8852c365fb7f8db0f8364210138985f457b8 Author: Jeff Layton Date: Mon Dec 31 01:37:11 2007 +0000 [CIFS] redo existing session setup if needed in cifs_mount When cifs_mount finds an existing SMB session that it can use for a new mount, it does not check to see whether that session is in need of being reconnected. An easy way to reproduce: 1) mount //server/share1 2) watch /proc/fs/cifs/DebugData for the share to go DISCONNECTED 3) mount //server/share2 with same creds as in step 1. The second mount will fail because CIFSTCon returned -EAGAIN. If you do an operation in share1 and then reattempt the mount it will work (since the session is reestablished). The following patch fixes this by having cifs_mount check the status of the session when it picks an existing session and calling cifs_setup_session on it again if it's in need of reconnection. Thanks to Wojciech Pilorz for the initial bug report. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 05b3de63da2abe804f5dbe0174298bf48949079f Author: Jeff Layton Date: Mon Dec 31 00:51:45 2007 +0000 [CIFS] Only dump SPNEGO key if CONFIG_CIFS_DEBUG2 is set The SPNEGO key data is not terribly interesting except in certain debugging situations. Only dump it to the ring buffer if needed. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit dae5dbdbd786798ad2249e54df1156d524da30aa Author: Steve French Date: Sun Dec 30 23:49:57 2007 +0000 [CIFS] fix SetEA failure to some Samba versions Thanks to Oleg Gvozdev for noticing the problem. CC: Andrew Morton Signed-off-by: Steve French commit 9c5e710bc1431f41ccdd0c294fa355aa0d45d2d7 Author: Mike Frysinger Date: Sat Nov 17 23:19:44 2007 +0800 MAINTIANERS: just use Mike gmail e-mail for contact and pawn the serial driver off onto Sonic Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 408dbc0da29913f99e56001db892eb653b47c13b Author: Bryan Wu Date: Sun Jan 27 18:38:12 2008 +0800 [Blackfin] arch: remove old I2C BF54x porting. Signed-off-by: Bryan Wu commit fc97551db9e4e9402ff2b5c94be8267b2e5f32f4 Author: Bernd Schmidt Date: Sun Jan 27 19:56:43 2008 +0800 [Blackfin] arch: Add the semtimedop syscall. Upstream uClibc doesn't compile without it. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit ee7883b7466e721a72edacbcba2fe9cf449d82b2 Author: Yi Li Date: Sun Jan 27 19:56:17 2008 +0800 [Blackfin] arch: fix bug kernel boot message: memory information is not reasonable Some of the information in kernel boot message is not reasonable. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3846 - use _rambase as the start of kernel image. kernel is in the region [_rambase, _ramstart] - count in pages in per-cpu-page list as available memory - reserved memory now include: [0 - 4K] for bad pointer catching, memory reserved for abnormaly 05000263, memory reserved by kernel itself. Signed-off-by: Yi Li Signed-off-by: Bryan Wu commit de8c43f2fca9bb06f3ee87b38a61d5d9966ce221 Author: Mike Frysinger Date: Thu Jan 24 17:14:04 2008 +0800 [Blackfin] arch: use common flash driver to setup partitions rather than the bf5xx-flash driver Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 96a5c6f9bef027e1187b2f168bb3e08ef21d0b6f Author: Michael Hennerich Date: Tue Jan 22 19:23:50 2008 +0800 [Blackfin] arch: Fix bug - kernel build with Debug option enabled fails to boot up writes to I/DMEM_CONTROL must be followed by SSYNC Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 03c5732855300f05aac718ca770c2bb05e1fd48b Author: Sonic Zhang Date: Tue Jan 22 18:45:10 2008 +0800 [Blackfin] arch: Fix bug Only RTC interrupt can wake up deeper sleep core. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 444ad82bc3eaa554be40d22dc248e58aeefd54d9 Author: Michael Hennerich Date: Tue Jan 22 18:38:02 2008 +0800 [Blackfin] arch: Add proper SW System Reset delay sequence Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit a628a8bcd8a6daea6096fe781fc36cae4ac1ed48 Author: Michael Hennerich Date: Tue Jan 22 17:29:16 2008 +0800 [Blackfin] arch: Update copyright date Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit a2c8cfef6abb33ee49d80c58391ebfc4f94221ef Author: Michael Hennerich Date: Tue Jan 22 17:20:10 2008 +0800 [Blackfin] arch: GPIO API cleanup and anomaly update - Add anomaly workaround for bfin_gpio_reset_spi0_ssel1 - Fix style - Update copyright - Remove BUG_ON checks for functions intended to be used only by arch support. GPIO users should only access using the generic GPIO API - Make all GPIO identifier unsigned int Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit acbcd2631975cf6f0be5cd294cbfd12226cd9958 Author: Michael Hennerich Date: Tue Jan 22 18:36:20 2008 +0800 [Blackfin] arch: Fix BUG gpio_direction_output API is not compatitable with GENERIC_GPIO API interface signef-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit b97b8a998397e8c64699559099fa9febffae2b4d Author: Bernd Schmidt Date: Sun Jan 27 18:39:16 2008 +0800 [Blackfin] arch: Initial checkin of the memory protection support. Enable it with CONFIG_MPU. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 2047e40d724d42928c0b5994a1568c1b738efdb7 Author: Michael Hennerich Date: Tue Jan 22 15:29:18 2008 +0800 [Blackfin] arch: set_bfin_dma_config shouldnt set SYNC or RESTART by default - add argument or option Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 4521ef42de8dbaa9bce3f60bbb5868564f752e98 Author: Michael Hennerich Date: Fri Jan 11 17:21:41 2008 +0800 [Blackfin] arch: Add some comments - fix semicolons Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 7a1a6d00618bce53ae88e501ff5d4b82522db926 Author: Bernd Schmidt Date: Fri Jan 11 16:58:44 2008 +0800 [Blackfin] arch: move all code related to CPLB handling into a new subdirectory under kernel/ Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit aee3a29240ad167ad7875d859506d8bb90431c70 Author: Robin Getz Date: Fri Jan 11 16:53:00 2008 +0800 [Blackfin] arch: print out list of modules if kernel is crashing and tell people if the kernel is tainted Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit e31639540d2b1474766e95c1a7b1b698468ba092 Author: Bryan Wu Date: Thu Jan 24 16:19:15 2008 +0800 [Blackfin] arch: enable generic GPIO based I2C driver in STAMP-BF533, EZKIT-BF533 and EZKIT-BF561 boards Signed-off-by: Bryan Wu commit 6b5eace2f15b53d5a6849078d22e78db77625929 Author: Robin Getz Date: Thu Jan 10 17:57:56 2008 +0800 [Blackfin] arch: Don't oops_in_progress if single step is comming from the kernel Don't oops_in_progress if single step is comming from the kernel, which happens if a single step occurs after a exception cause. This fixes up the remaining issues in the toolchain bug. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit a546b0ac5988348446e4fd5987df699b4c9b1f2a Author: Michael Hennerich Date: Mon Dec 24 20:19:51 2007 +0800 [Blackfin] arch: Fix BUG - kernel sometimes would stuck with KEYBOARD_GPIO on Make sure the SYSTEM reset completes before we issue the CORE reset Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 7cc1c4b2c44d7807f55da6a36f5b2e49977c67b7 Author: Mike Frysinger Date: Mon Dec 24 20:05:09 2007 +0800 [Blackfin] arch: update to latest anomaly sheets Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 79f1ec862ae2e693b85fd7c94654ba1779ff5863 Author: Joe Perches Date: Mon Dec 24 20:03:51 2007 +0800 [Blackfin] arch: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b39f4ce974114ce8960d8bfa063c1f61e29d67cf Author: Sonic Zhang Date: Wed Dec 26 12:00:10 2007 +0800 [Blackfin] arch: fix bug - kgdb causing kernel panic ignore soft bp except when single step except occurs. Narrow the condition to ignore soft bp. If soft bp occurs in the single step handler or the soft bp handler, return immediately. This could happen when gdb client set soft bps in kernel code that in the path of kgdb core code. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 76a7f4049277691b9b800a23dc09009374cdaa21 Author: Enrik Berkhan Date: Mon Dec 24 19:51:31 2007 +0800 [Blackfin] arch: fix bug when DMA operation related core B of BF561 - Before DMA'ing data to core B L1 memory, caches have to be flushed. - Before DMA'ing data from core B L1 memory, caches have to be invalidated. - Fix lock/unlock. Signed-off-by: Enrik Berkhan Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 37931db5bdce35d37a9bdf93082604620ba3341a Author: Sonic Zhang Date: Mon Dec 24 19:43:39 2007 +0800 [Blackfin] arch: Restore default DMA priority over core on bf54x. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 43f73fef07eb70be7d508b34eeddf5985e300bb1 Author: Mike Frysinger Date: Mon Dec 24 19:35:35 2007 +0800 [Blackfin] arch: pull in linux/etherdevice.h for random_ether_addr() used in bfin_get_ether_addr() Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7285846ff8d09879cacac5c6d40fc8e8443c7cf0 Author: Martin Strubel Date: Mon Dec 24 19:12:32 2007 +0800 [Blackfin] arch: disable bfin_get_ether_addr fucntion for boards when do not use MAC driver Signed-off-by: Martin Strubel Signed-off-by: Bryan Wu commit 8baf560b4c901fb554d15e056aaa7f34b2345be5 Author: Michael Hennerich Date: Mon Dec 24 18:51:34 2007 +0800 [Blackfin] arch: Enable both edge triggered GPIO IRQs on BF54x and use irq_to_gpio() Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 471b9a6c7304d5f59503d111e71e60a7e19fb9a0 Author: Martin Strubel Date: Sun Jan 27 19:54:20 2008 +0800 [Blackfin] arch: added Minotaur BSP Signed-off-by: Martin Strubel Signed-off-by: Bryan Wu commit 2463ef22bf8b6e22048bd26f940c014f7e1f0998 Author: Michael Hennerich Date: Sun Jan 27 16:49:48 2008 +0800 [Blackfin] arch: replace current blackfin specific pfbutton driver with kernel generic gpio key driver Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 6fce6a8d6940654b48d3d540627c7ee790a03b80 Author: Michael Hennerich Date: Mon Dec 24 16:56:12 2007 +0800 [Blackfin] arch: append IRQ Number to label string Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit fac3cf432ef9b6bfd64b35b95afe0b7e0079da74 Author: Michael Hennerich Date: Mon Dec 24 20:07:03 2007 +0800 [Blackfin] arch: Fix gpio label handling early serial init also utilizes the peripheral request api - however at this point bfin_gpio_init didn't allocate memory for the labels. So we always have two zombies (allocated pin functions without labels) This happens before the initcalls - We now allocate memory statically. Define MAX_RESOURCES individually for each cpu. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 1545a1111a02b5aafe6f141e133a6269c5741285 Author: Mike Frysinger Date: Mon Dec 24 16:54:48 2007 +0800 [Blackfin] arch: add support for BF523/BF524/BF526 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 54a1668ce53fe701f1d36651b591ced388e97275 Author: Mike Frysinger Date: Mon Dec 24 14:59:03 2007 +0800 [Blackfin] arch: scrub dead alive/idle LED code if it does get re-added, it needs to be in the boards directory, not common code ... or it needs a re-implementation Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 3ca32c1dc62dabe67d7e51f6e8568e3965f52236 Author: Bernd Schmidt Date: Mon Dec 24 12:40:29 2007 +0800 [Blackfin] arch: fix up coding style in uaccess.h Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit b8aab6f6dc57ca79661d291af522d2e85156519f Author: Cliff Cai Date: Mon Dec 24 12:33:20 2007 +0800 [Blackfin] arch: set default value of DEB_DMA_URGENT to YES to avoid DMA aborting caused by conflict between core and DMA Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu commit 7a5f819187ff827c131721dbba11ad9596ae5e30 Author: Javier Herrero Date: Sun Jan 27 19:53:08 2008 +0800 [Blackfin] arch: Added support for OpenCores Keyboard Controller to H8606 board Signed-off-by: Javier Herrero Signed-off-by: Bryan Wu commit 2935077e06494638a78a02f7b4cf304e4e70eaca Author: Bryan Wu Date: Mon Dec 24 12:20:19 2007 +0800 [Blackfin] arch: Fix if/def BUG - and define is multipoint NO Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 0e85e3020ebb9a1afdeaa516fe8b8f16087adac1 Author: Michael Hennerich Date: Mon Dec 24 11:57:47 2007 +0800 [Blackfin] arch: The BF527 EZkit connects UART1/PORTF Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit f31db2a8e824de67b3480c1502d70a9c902c7c1b Author: Bryan Wu Date: Thu Jan 24 16:14:35 2008 +0800 [Blackfin] arch: update defconfig of boards Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 50657afdd95a595a68d4ef420300638c0880db37 Author: Michael Hennerich Date: Mon Dec 24 00:16:01 2007 +0800 [Blackfin] arch: Trash bf54x-hcd driver - we use the musb driver Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 1089e228737019b9711a6a394eebe25bf46b22d9 Author: Michael Hennerich Date: Mon Dec 24 11:49:29 2007 +0800 [Blackfin] arch: Enable peripheral platform resources on the BF527 EZkit Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 971d5bc4e5c75bfc4466deaff09839cd6f918eca Author: Sonic Zhang Date: Sun Jan 27 16:32:31 2008 +0800 [Blackfin] arch: Fix bug to Enable bf548 to Re-program Clocks while Kernel boots. Reprogram DDR EBIU register properly for bf548. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit b03b08ba9c7235861adf4dde712dade0bb756fe0 Author: Robin Getz Date: Sun Dec 23 22:57:01 2007 +0800 [Blackfin] arch: Clean up dump_bfin_mem Clean up dump_bfin_mem so that it will display content from the kernel, as well as l1 instruction, when deferred HW errors happen, print out the last frame info if it makes sense. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 0d4a89bb3eb58f39831186fa6b1542893dbfdc9f Author: Michael Hennerich Date: Sun Jan 27 19:58:46 2008 +0800 [Blackfin] arch: add Hitachi TX09D70VM1CDA TFT LCD driver resource to Blackfin board Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit fb5f00492a748facc9f069c95621e05c148edf53 Author: Sonic Zhang Date: Sun Dec 23 23:02:13 2007 +0800 [Blackfin] arch: Fix bug to Enable kernel to build for bf548 with PM. On BF548-EZKIT, build kernel faills with power management, video and audio enabled. This patch fix this. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit c50e19f49830fb651b4b702ad2c3abcdf110b576 Author: Yi Li Date: Fri Dec 21 21:12:21 2007 +0800 [Blackfin] arch: fix bug - make memcpy return the dest addr. The memcpy() function returns the src pointer instead of the dst pointer. This patch fix this bug. Signed-off-by: Yi Li Signed-off-by: Bryan Wu commit a5bb85dfffd38714d83cf7798886462d7314b90a Author: Cliff Cai Date: Fri Dec 21 21:04:40 2007 +0800 [Blackfin] arch: fix bug SDIO driver fails to build for BF542/BF548 modified CMD_TIMEOUT and DAT_TIMEOUT to CMD_TIME_OUT and DAT_TIME_OUT Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu commit fb96c56de33def1484614c6a3d0fbef76595ce2f Author: Javier Herrero Date: Fri Dec 21 18:26:44 2007 +0800 [Blackfin] arch: Added support for 8250-class UARTs in HV Sistemas H8606 board, modification in 8250.c driver for correct compilation with Blackfin Signed-off-by: Javier Herrero Signed-off-by: Bryan Wu commit d5c4b5e3b2682a9aac07a43a8a79d3b692b22567 Author: Robin Getz Date: Fri Dec 21 17:49:53 2007 +0800 [Blackfin] arch: Let the pre-processor do the math to save a few cycles - no functional changes Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 6f3ed704b03b2f9997b604690ac43a3514105a6a Author: Robin Getz Date: Fri Dec 21 17:48:07 2007 +0800 [Blackfin] arch: do not use fixed numbers to describe offsets - no functional changes Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 0626d79686b4536eac1dc88e2cf52d927a5010c2 Author: Robin Getz Date: Fri Dec 21 17:46:33 2007 +0800 [Blackfin] arch: do not use hard coded addresses Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit d8f66c8c1ea8e948483ee4739ad91120f5f7de51 Author: Robin Getz Date: Mon Dec 24 15:27:56 2007 +0800 [Blackfin] arch: fix bug gdb testing on hardware has regression http://blackfin.uclinux.org/gf/project/toolchain/tracker/?action=TrackerItemEdit&tracker_item_id=3651 As Bernd predicted, this was only necessary because of other problems in the kenel - fixing those, and this is not necessary, so remove it. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 13fe24f37df20e580a5a364e67ec8cf3219d8f8c Author: Robin Getz Date: Sun Jan 27 15:38:56 2008 +0800 [Blackfin] arch: fix bug - trap_tests fails to recover on some tests. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3719 When the CPLBs get a miss, we do: - find a victim in the HW table - remove the victim - find the replacement in the software table - put it into the HW table. If we can't find a replacement in the software table, we accidently leave a duplicate in the HW table. This patch ensures that duplicate is marked as not valid. What we should do is find the replacement in the software table, before we find a victim in the HW table - but its too late in the release cycle to do that much restructuring of this code. Rather that duplicate code, connect Hardware Errors (irq5) into trap_c, so user space processes get killed properly. The rest of irq_panic() can be moved into traps.c (later) There is still a small corner case that causes problems when a pheriperal interrupt goes off a single cycle before a user space hardware error. This causes a kernel panic, rather than the user space process being killed. But, this checkin makes things work in 99.9% of the cases, and is a vast improvement from what is there today (which fails 100% of the time). Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit f53e86760e10abbe7ee98a5b3cb270fa6426fcdb Author: Robin Getz Date: Sun Jan 27 15:38:44 2008 +0800 [Blackfin] arch: Add a note describing what is going on - no functional changes Signed-off-by: Robin Getz Signed-off-by: Bryan Wu